Яким видам вразливих місць безпеки надає надання DNSSEC?


28

Я планував підписати свою DNS зону з DNSSEC. Моя зона, реєстратор та мій сервер DNS (BIND9) підтримують DNSSEC. Єдиний, хто не підтримує DNSSEC, - це мій вторинний постачальник серверів імен (а саме buddyns.com ).

На своєму веб-сайті вони заявляють про це стосовно DNSSEC:

BuddyNS не підтримує DNSSEC, оскільки він наражає на деякі вразливості, не підходящі до служби великого обсягу DNS.

Ну, я вважав, що використання DNSSEC наразі є якось сумнівно, оскільки більшість резолюторів не перевіряють, чи правильно підписані записи. Те, чого я не знав, - це те, що, згідно з їх заявою, - схоже, якщо це забезпечить певну вразливість безпеки.

Що це за "вразливі місця"?


8
знайти більш хитромудрого постачальника DNS - їхні виправдання є хибними.
Альнітак

Відповіді:


103

DNSSEC має певні ризики, але вони безпосередньо не пов'язані з відображенням або посиленням. Розширення розміру повідомлення EDNS0 в цьому випадку є червоною оселедець. Дозволь пояснити.

Будь-який обмін пакетами, який не залежить від попереднього підтвердження ідентичності, може зазнати зловживань з боку зловмисників DDoS, які можуть використовувати цей несанкціонований обмін пакетами як відбивач, а може бути також і як підсилювач. Наприклад, таким чином можна зловживати ICMP (протокол "ping"). Як і TCP SYN-пакет, який вимагає до 40 пакетів SYN-ACK, навіть якщо SYN був підроблений, щоб надходити від якоїсь жертви, яка не бажає цих пакетів SYN-ACK. І звичайно, всі служби UDP вразливі до цієї атаки, включаючи NTP, SSDP, uPNP, і, як зазначають інші відповіді тут, включаючи DNS.

Більшість приладів виявлення вторгнень, запобігання вторгнень та приладів для балансування навантаження - це вузькі місця, які не в змозі не відставати від "лінійної швидкості" руху. Також багато маршрутизатори не можуть працювати за лінійною швидкістю, а деякі комутатори. Ці вузькі місця, будучи найменшою штукою «на шляху» та меншою, ніж самі посилання, є фактичною ціллю DDOS-атак на основі перевантаженості. Якщо ви можете тримати чийсь брандмауер зайнятий атаковим трафіком, то хороший трафік не пройде, навіть якщо посилання не наповнені. І те, що уповільнює брандмауер, - це не загальна кількість біт в секунду (яку можна збільшити за допомогою великих повідомлень, і EDNS0 та DNSSEC), а загальна кількість пакетів в секунду.

Існує багато міської легенди про те, як DNSSEC погіршує DDoS через більший розмір повідомлення DNSSEC, і хоча це має інтуїтивний сенс і "звучить добре", це просто помилково. Але якби до цієї легенди було багато правди, справжня відповідь все-таки лежатиме в іншому місці [[тому що DNSSEC завжди використовує EDNS0, але EDNS0 можна використовувати без DNSSEC], і багато нормальних відповідей, які не належать до DNSSEC, настільки ж великі, як і DNSSEC відповідь буде. Розглянемо записи TXT, які використовуються для представлення політик SPF або ключів DKIM. Або просто будь-який великий набір адрес або MX записів. Коротше кажучи, жодна атака не вимагає DNSSEC, і, отже, будь-яка спрямованість на DNSSEC як ризик DDoS є помилковою витратою енергії.

DNSSEC має ризики! Важко використовувати, а правильніше використовувати правильно. Часто він вимагає нового робочого потоку для зміни даних про зони, управління реєстратором, встановлення нових екземплярів сервера. Все це повинно бути протестовано та задокументовано, і щоразу, коли щось порушиться, пов'язане з DNS, технологію DNSSEC слід дослідити як можливу причину. І кінцевим результатом, якщо ви все зробите правильно, буде те, що, як підписувач зони, ваш власний онлайн-контент та системи будуть більш крихкими для ваших клієнтів. Як оператор сервера віддаленого кінця, результатом буде те, що вміст та системи всіх інших будуть для вас більш крихкими. Ці ризики часто бачать переваги від переваг, оскільки єдиною перевагою є захист даних DNS від зміни або заміни під час польоту. Цей напад настільки рідкісний, що не варто того всіх зусиль. Ми всі сподіваємось, що DNSSEC одного дня стане всюдисущим, завдяки новим програмам це дозволить. Але правда полягає в тому, що сьогодні DNSSEC - це ціна, без вигоди і з високими ризиками.

Отже, якщо ви не хочете використовувати DNSSEC, це ваша прерогатива, але не дозволяйте нікому заплутати вас у тому, що проблема DNSSEC полягає в його ролі як підсилювача DDoS. DNSSEC не грає необхідної ролі як підсилювач DDoS; Є й інші дешевші кращі способи використання DNS як підсилювача DDoS. Якщо ви не хочете використовувати DNSSEC, нехай це ще не було, оскільки ви ще не випили Kool Aid і хочете бути останньою особою (пізніше), а не першою (зараз).

Сервери вмісту DNS, які іноді називаються "сервера авторитетів", повинні не допускати зловживань як підсилювачі, що відображають DNS, оскільки DNS використовує UDP і тому, що UDP зловживає пакетами з підробленим джерелом. Спосіб убезпечити ваш сервер вмісту DNS від подібного роду зловживань - це не блокувати UDP, а також не примушувати TCP (використовуючи трюк TC = 1), а також не блокувати БУДЬ-який запит і не відмовлятися від DNSSEC. Жодне з цих речей вам не допоможе. Вам потрібно обмеження частоти відповідей DNS(DNS RRL), абсолютно безкоштовна технологія, яка зараз присутня на декількох серверах імен з відкритим кодом, включаючи BIND, Knot та NSD. Ви не можете виправити проблему з відображенням DNS за допомогою брандмауера, оскільки лише вміст із вмістом, такий як сам DNS-сервер (з додаванням RRL), знає достатньо про запит, щоб можна було точно вгадати, що таке атака, а що ні. Хочу ще раз наголосити: DNS RRL безкоштовний, і кожен сервер авторитетів повинен запускати його.

На завершення я хочу викрити свої упередження. Я написав більшу частину BIND8, я винайшов EDNS0 і спільно винайшов DNS RRL. Я працюю над DNS з 1988 року як 20-те щось, і зараз я буркнув 50-ти щось, маючи менше терпіння за напівфабрикати рішення нерозуміних проблем. Прийміть мої вибачення, якщо це повідомлення звучить занадто сильно, як "ей, діти, відійдіть від моєї галявини!"


7
Підтвердження того, що це Real Paul ™.
Андрій Б

1
@AndrewB, що не може бути Real Paul ™, в його пості є великі літери! ;-)
Альнітак

6
@kasperd див. "draft-ietf-dnsop-cookies", який зараз прогресує через IETF.
Альнітак

4
kasperd: [Сервер DNS, який обмежує швидкість, сам стане легшою ціллю для DDoS-атак.] Я знаю, що я ідіот, але я не той ідіот. dns rrl робить вас менш безпечним ні в якому разі. це не захист від усіх відомих атак, але це творець нових нових атак.
Пол Віксі

2
@kasperd встановлена ​​база завжди є проблемою - немає жодного рішення, яке б працювало навіть на сумісній встановленій базі, не кажучи вже про несумісних системах там. Хороша новина полягає в тому, що підтримка файлів cookie EDNS вже знаходиться в кодовій базі для BIND 9.11, а (AIUI) буде включено за замовчуванням.
Альнітак

7

Мені відомо про дві конкретні вразливості. Є віддзеркалення / посилення, про які згадував Хокан. І є можливість перерахування зон.

Відбиття / посилення

Відображення означає атаки, в яких запити з підробленим IP-кодом відправляються на сервер DNS. Основна жертва нападу є господарем, який ошукується. Сервер DNS несвідомо надсилає відповідь хосту, який ніколи його не просив.

Ампліфікація означає будь-яку атаку відображення, в якій відображена відповідь складається з більшої кількості байтів або більше пакетів, ніж вихідний запит. Перед DNSSEC + EDNS0 таким чином посилення дозволило б надіслати до 512 байт. За допомогою DNSSEC + EDNS0 можна надіслати 4096 байт, що зазвичай охоплює 3-4 пакети.

Можливі пом'якшення цих атак, але я не знаю, який би DNS-сервер здійснював їх.

Коли IP-адресу клієнта не підтверджено, DNS-сервер може надіслати усічену відповідь, щоб змусити клієнта перейти на TCP. Урізана відповідь може бути такою ж короткою, як запит (або коротший, якщо клієнт використовує EDNS0, а відповіді немає), що виключає посилення.

Будь-який IP-клієнт, який завершує рукостискання TCP та надсилає запит DNS на з'єднання, може бути тимчасово включений у білий список. Після отримання білого списку цей IP може надсилати UDP-запити та отримувати відповіді UDP до 512 байт (4096 байт, якщо використовується EDNS0). Якщо відповідь UDP викликає повідомлення про помилку ICMP, IP знову видаляється з білого списку.

Метод також може бути відмінений за допомогою чорного списку, що означає, що клієнтські IP-адреси мають змогу здійснювати запит по UDP за замовчуванням, але будь-яке повідомлення про помилку ICMP призводить до того, що IP-адреса буде переведена в чорний список, для виходу із чорного списку потрібний запит TCP.

Растрова карта, що охоплює всі відповідні адреси IPv4, може зберігатися в 444 МБ пам'яті. IPv6-адреси потрібно було б зберігати іншим чином.

Перерахування зон

Чи є перерахування зон вразливим у першу чергу, є предметом дискусії. Але якщо ви не хочете, щоб усі імена у вашій зоні були загальнодоступними, ви, ймовірно, вважаєте це вразливим. Перерахування зон можна здебільшого пом'якшити за допомогою записів NSEC3.

Проблема, яка все ще зберігається навіть при використанні NSEC3, полягає в тому, що зловмисник може знайти хеш кожної мітки, просто запитуючи випадкові імена. Після того, як зловмисник має всі хеші, на цих хешах може бути здійснена офлайн-груба атака.

Належний захист від перерахування зон вимагатиме від зловмисника виконати запит на авторитетному сервері для кожної здогадки. Однак у DNSSEC такої оборони не існує.


2
Перерахування зон не здається занепокоєнням постачальника послуг? (Швидше можлива турбота про "власника" зони, залежно від їх поглядів та уподобань.)
Håkan Lindqvist

@ HåkanLindqvist Правильно. Можливо, моє запитання було більш конкретним, ніж я цього хотів. Я вважав цю інформацію дуже цікавою.
Йоганн Бауер

Ідея білого списку клієнта, який випробував TCP, розглядався, але, очевидно, запатентований.
Альнітак

4

Те, що спадає на думку, насправді не є специфічним для DNSSEC, а саме про розширення EDNS0, на яке покладається DNSSEC.

EDNS0 дозволяє збільшити навантаження на UDP, а великі корисні навантаження UDP можуть призвести до гірших атак відбиття / посилення трафіку.


Я не знаю, який відсоток валідації резолюцій, але популярне програмне забезпечення для серверів імен за замовчуванням поставляється з валідацією, і ви легко знайдете деяких помітних постачальників послуг, які відкрито про них роблять перевірку, таких як Comcast та громадські рішення Google.

Виходячи з цього, я думаю, що відсоток валідації резолюцій, ймовірно, знаходиться в значно кращій формі, ніж відсоток підписаних зон.


Так, я думав, що яловичина теж може бути з EDNS. Надзвичайно дивно бачити кістку за допомогою DNSSEC замість цього.
Ендрю Б
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.