9 Ноября, 2008

Взлом WPA - очередная страшилка, или что-то серьезное?

Сергей Гордейчик
Недавно в новостях прошла серия публикаций о взломе WPA . Честно говоря, после недавних спекуляций на тему "страшных" уязвимостей TCP , заявления в духе "мы нашли серьёзную проблему, но никому о ней не расскажем" воспринимаются с большим недоверием. Но в этом случае, к чести авторов исследования Martin Beck и Erik Tews, о спекуляциях речь не идет. Доступно описание части уязвимости и атаки, а также PoC-код для ее проведения. В чем смысл уязвимости? Злоумышленник может обойти механизм противодействия повторным посылкам фрейма с помощью дополнительных каналов QoS и провести атаку типа chopchop . Несмотря на невысокую скорость атаки в случае WPA (возможность отправки только одного "неправильного" фрейма в минуту), этого достаточно, чтобы за приемлемое время "расшифровать" наиболее важные части фрейма, а именно - поля контроля целостности ICV и MIC. Зная их значение появляется возможность создавать собственные пакеты, которые корректно будут обрабатываться клиентом. Кроме этого, авторы обещают опубликовать информацию о возможном расшифровании трафика от точки доступа к клиенту. Эта информация станет доступной на конференции PanSec . Могу предположить, что атака заключается в том, что после восстановления ключа MIC инжектится большое количество фреймов, использую ARP или другой "шумящий", например - ipv6 broacast ping с последующим применением улучшенных вариантов восстановления ключа WEP (который все же присутствует в TKIP, хотя и меняется для каждого фрейма). Как происходит атака? 1. Атакующий перехватывает предсказуемый фрейм (например ARP) 2. Используя известные характеристики фрейма (MAC-адреса, служебные поля) восстанавливает часть ключевого потока (гаммы) RPGA 3. Посылает модифицированные пакеты (атака chopchop )- на дополнительные каналы QoS (которые, как правило не используются) раз в минуту с целью обхода механизмов противодействия повторной отправки кадров. В результате подбирает расшифрованные значения MIC и ICV. 4. Offline подбирает оставшиеся поля (IP-адреса). У него есть ICV, соответственно он может просто прогнать значения перебором и проверять целостность по ICV. 5. На основании значения MIC и открытого текста пакета получает ключ Michael ( который не является однонаправленным алгоритмом ). 6. После этого злоумышленник может использовать полученную гамму и ключ MIC для отправки пакетов к клиенту. Использование фрагментации на канальном уровне позволяет посылать достаточно большие пакеты, не ограниченные по длине полученной из ARP-пакета гаммой. Маленький FAQ Q. WPA взломан? A. Пока еще нет, но первые звоночки раздаются. Q. Злобные хакеры могут расшифровать весь WPA-трафик? A. Нет, только внедрять пакеты в направлении клиента беспроводных сетей. Возможно, удастся расшифровать часть трафика зашифрованном на одном ключе TKIP (интервал WPA rekey), однако после смены ключа атаку надо будет повторять. Q. Что нового в этой атаке? Я это проходил в детском саду! A. Использование QoS для обхода механизмов защиты от повторной передачи (antireplay). В стандартной ситуации после двух ошибок контроля целостности в минуту происходит инициализация криптографической части, что сводит атаку на нет. Все остальные части атаки известны достаточно давно. Q. Мой КПК и точка не поддерживает WPA2 (AES-CCMP), что делать? A. Установите на точке доступа короткий интервал смены ключей (WPA Rekey Interval). Авторы советуют менее 120 секунд, но я считаю это параноидальным случаем, 5-7 минут вполне приемлемо. См. инструкции к своей точке доступа. Q. Что почитать? A. Сылки выше, оригинал исследования, мою книжку :) Q. Что нужно, чтобы вступить ? A. Как обычно - скомпелировать .