19.02.2015

DNS resolver в стеках uIP и lwIP уязвим к атакам на отравление кеша

image

DNS resolver, реализованный в стеках uIP и lwIP с открытым исходным кодом, уязвим к атакам на отравление кеша. Брешь может использоваться для перенаправления трафика на вредоносные веб сайты

Автор: Pierluigi Paganini

DNS resolver, реализованный в стеках uIP и lwIP с открытым исходным кодом, уязвим к атакам на отравление кеша. Брешь может использоваться для перенаправления трафика на вредоносные веб сайты

Специалист по безопасности Аллен Хаусхолдер (Allen D. Householder) сообщил о серьезной уязвимости в DNS resolver в стеках uIP и lwIP. Согласно бюллетеню Vulnerability Note VU#210620 DNS resolver уязвим к атакам на отравление кеша.

Стек uIP – стек протоколов TCP/IP с открытым исходным кодом. uIP проектировался для использования в крошечных 8- и 16-битных микроконтроллерах. Из-за нетребовательности к потребляемым ресурсам стек может применяться в IoT- и встроенных устройствах (IoT - Internet of Things, интернет вещей).

Стек lwIP (lightweight IP) – еще один широко известный стек протоколов TCP/IP с открытым исходным кодом для встроенных устройств.

В бюллетене утверждается, что DNS resolver в стеках uIP и lwIP уязвим к атакам на отравление кеша из-за нерандомизированных транзакционных идентификаторов (TXID) и повторного использования исходного порта (source port reuse).

Выдержка из бюллетеня VU#800113: «Спецификация протокола DNS предусматривает 16-битное поле для транзакционного идентификатора. Если все сделано строго по спецификации и транзакционный идентификатор выбирается случайно с использованием хорошего генератора случайных чисел, злоумышленнику потребуется примерно 32768 попыток, чтобы угадать значение идентификатора. В некоторых случаях под транзакционный идентификатор используется поле меньшего размера и злоумышленнику требуется меньше попыток, чтобы угадать идентификатор. Более того, в некоторых случаях у рандомизаторов есть ошибки, найденные Амитом Клейном (Amit Klein) в 2007 году».

Уязвимость, закодированная как CVE-2014-4883, присутствует в DNS resolver в стеках uIP и lwIP версий 1.4.1 и ниже.

Рисунок 1: Архитектура стека

Используя уязвимость, злоумышленник может удаленно осуществить атаку на отравление кеша, использовать технику, когда сервер имен возвращает некорректный IP-адрес, и перенаправить трафик на вредоносный сайт.

Выдержка из бюллетеня: «Злоумышленник без аутентификации с возможностью удаленного выполнения атаки на отравление кеша, может спровоцировать клиентов сервера имен соединиться с некорректными и, возможно, вредоносными хостами. В итоге веб трафик, электронная почта и важные сетевые данные могут быть перенаправлены на системы, подконтрольные злоумышленнику».

В бюллетене представлено решение по исправлению проблемы:

  • Доступно обновление для lwIP. Если возможно, пользователи и разработчики, использующие стек, должны установить git-коммит b8d798158bce0068260302371afb2b4ab4d3678a или старше.
  • uIP в данный момент интегрирован в проект Contiki. Патча пока нет.

В таблице ниже приведен список производителей, в продуктах которых присутствовала уязвимость.

Производитель

Статус

Дата оповещения

Дата обновления

Contiki OS

Брешь присутствует

1 сентября 2014 года

27 октября 2014 года

lwIP

Брешь присутствует

14 августа 2014 года

21 октября 2014 года

Philips Electronics

Брешь присутствует

09 сентября 2014 года

21 октября 2014 года

Thingsquare

Информация отсутствует

11 сентября 2014 года

27 октября 2014 года