Этичный взлом
Немецкие исследователи Мартин Бек и Эрик Тевс только что "порадовали" мир открытием - шифрование беспроводных сетей по WPA далеко не так безопасно, как считалось ранее.
Автор: Антон Нехаенко
| Раздел: Статьи |
Дата: 11 ноября 2008 года
Немецкое образование имеет неплохую репутацию, особенно в технической части. Это же относится и к IT. У меня есть несколько знакомых (немцев и не совсем немцев), получавших в Германии различные компьютерные и сетевые специальности, и все они остались довольны проведенным в университетах временем. Случайных людей среди тамошних IT-студентов почти нет, и потому на факультетах царит слегка хулиганский дух “сломать, разобрать, понять”, так и подзуживающий делать открытия, некоторые из которых громом проносятся по всему миру.
Завтрашнее открытие PacSec 2008 обещает быть интересным
Так произошло и на прошлой неделе, когда в преддверии начала конференции PacSec (Токио, Япония) два немецких студента, Мартин Бек из Дрездена и Эрик Тевс из Дармштадта, объявили о взломе стандарта защиты беспроводных сетей WPA. Чтобы читатели лучше уяснили смысл этого события, поясню, что до этого момента WPA считался непробиваемым стандартом, намного превосходившим по уровню защиты давно и с легкостью взломанный WEP. WPA (WiFi Protected Access, защищенный доступ по WiFi) на самом деле является лишь маркетинговым названием, присвоенным ассоциацией WiFi Alliance методу шифрования TKIP (Temporal Key Integrity Protocol), представленному, кстати, шесть лет назад, 31 октября 2002 года.
У TKIP было несколько особенностей, делавших его на момент выпуска самой надежной защитой. В частности, был предусмотрен контроль последовательности, в рамках которого точка доступа отвергала все пакеты, поступавшие вне очереди. Это защищало от так называемой replay attack, при которой передача одних и тех же данных повторяется со злым умыслом и совсем не полезным “вложением”. Также TKIP отличался 64-битным контролем целостности пакетов MIC, имевшим кодовое название MICHAEL. TKIP, помимо всего прочего, подразумевал передачу каждого пакета с уникальным ключом шифрования.
И вот теперь все это великолепие пошло прахом. Поскольку TKIP создавался с учетом возможности программного апгрейда оборудования, ранее поддерживавшего только WEP, то шифр RC4 использовался и в нем, как и 4 байта для контроля целостности (ICV). Предложенный Беком и Тевсом в докладе метод атаки действует с учетом некоторых предположений, приводимых авторами: атакуемая сеть использует TKIP для шифрования трафика между ТД и клиентами, в сети для адресации используется IPv4 c заранее известным диапазоном адресов вроде 192.168.0.X, длинным интервалом между сменами ключа (3600 секунд в примере авторов метода), QoS активирован. Такие предположения не кажутся особенно фантастическими, в мире таких сетей - миллион.
Итак, злоумышленник “прослушивает” трафик до тех пор, пока не найдет в нем ARP-запрос или ответ (ARP-протокол используется для сопоставления IP- и MAC-адресов в сети), такие пакеты легко вычисляются по характерной длине. Большая часть содержимого такого пакета хакеру известна, кроме последнего байта адреса, 8 байт MICHAEL и 4 байт контрольной суммы ICV. MICHAEL и ICV вместе образуют последние 12 байт. После этого хакер использует методы, известные по взлому WEP (так называемый метод chopchop), чтобы расшифровать оставшиеся байты. В TKIP есть два способа борьбы с такими атаками:
1. Если клиент получает пакет с битым ICV, это считается ошибкой передачи данных, и пакет тихо “отменяется”. Если ICV в порядке, но не проходит верификация по MIC, то точка доступа получает соответствующее уведомление, так называемый MIC failure report frame. Если таких уведомлений приходит более двух в течение минуты, связь прерывается, а все ключи обновляются после 60-секундного перерыва.
2. Если пакет получен верно, то на канале, по которому он был получен, обновляется счетчик. Если входящий пакет получен с неверным порядковым номером, то есть вне очередности, такой пакет просто не принимается.
Тем не менее обходной путь был найден: хакеру просто нужно запустить атаку по другому каналу QoS, отличному от того, по которому прошел пакет. Если последний байт адреса в ходе атаки был угадан неверно, пакет просто “сбросится”, если же он был угадан верно, клиент пошлет уведомление MIC failure, но счетчик при этом не сработает. Хакеру нужно выжидать по крайней мере 60 секунд между отсылкой пакетов, чтобы не спровоцировать 1-й вариант защиты. 12 с небольшим минут - и в распоряжении атакующего значения MIC и ICV. Осталось угадать только IP-адреса точки и клиента.
Сайт немецких WiFi-фокусников уже предлагает к загрузке свежую версию утилиты
Далее открывается широкое поле для экспериментов. Можно перенаправлять трафик, используя поддельные ARP-ответы. Если файрволл клиента не контролирует исходящий трафик, можно попытаться установить двустороннее соединение с клиентом, получая “ответы” не напрямую, а перенаправляя их через Интернет. Все это шаловливым немецким специалистам удалось проделать в тестовой лаборатории, причем на аппаратных базах от разных производителей. Причем в данном эксперименте атака имела целью выявить ключи для направления “ТД - клиент”, тогда как в случае выявления MIC и ICV для обратного направления хакер сможет посылать неограниченное число пакетов с произвольным содержимым.
В качестве мер противодействия Бек и Тевс предлагают три варианта:
1. Установить интервал смены ключей 120 секунд и менее. За этот промежуток хакер успеет расшифровать лишь часть ICV;
2. Отключить отсылку уведомления MIC failure;
3. Отбросить TKIP и перейти на незыблемый (пока) AES-CCMP.
Впрочем, проблема, по словам авторов взлома, может решиться простым обновлением драйверов со стороны производителей конечных решений. Таким образом, если все вовремя установят апдейты (что само по себе, конечно, сомнительно), то последняя версия хакерской утилиты Бека и Тевса, уже включающая в себя новый метод, окажется практически бесполезной.
Впрочем, у желающих проверить на прочность соседские сети (а заодно и соответствующее управление МВД) еще осталось некоторое количество времени. Со своей же стороны могу только посоветовать согласовывать такие “эксперименты” с владельцами сетей заранее. И помните - неуязвимых стандартов не бывает, даже если они держались столь долгое (по меркам IT-индустрии) время.
Для справки - Бек и Тевс считают себя т.н. "этичными взломщиками" - они работают в целях поиска уязвимостей и способов их устранения. Интересно, какие открытия в это время делают менее этичные хакеры...