Ошибки разработчиков WEP-протокола
Стандартный 64-битный ключ шифрования легко взла мы ва ет ся лобовым перебором. Учитывая, что фактическая длина секретного ключа составляет всего лишь 40 бит, в среднем нам достаточно перебрать 240 /2 =549 755 813 888 комбинаций. При скорости перебора в сотню миллионов ключей в секунду (вполне умеренная скорость для современных процессоров) атака займет всего час – полтора. Злоумышленнику достаточно перехватить всего один зашифрованный пакет, а затем терзать его до тех пор, пока контрольная сумма расшифрованного пакета не совпадет с ICV. «Стучаться» на точку доступа при этом совершенно необязательно! (С учетом существования четырех секретных ключей продолжительность полного цикла перебора несколько возрастает, однако нестоль радикально).
Для предотвращения лобовой атаки производители беспроводного оборудования увеличили длину секретной части ключа до 104 бит, попутно породив проблему обратной совместимости. Добавьте сюда 24 бита вектора инициализации и вы получите так называемое 128-битное шифрование. Подобрать 104-битный ключ вслепую уже нереально (при прежней скорости перебора в среднем на это уйдет 281 70 013 338 405 097 811 часов или 3 215 754 947 306 518 веков, что значительно превышает не только оставшееся время существования Солнца, но и возраст Вселенной), однако хакерам удалось найти более короткий путь, сократив время взлома в миллиарды раз.
В августе 2001 года три криптоаналитика: Scott Fluhrer, Itsik Mantin и Adi Shamir опубликовали свою подрывную статью «Weaknesses in the Key Scheduling Algorithm of RC4» («Слабые места алгоритма распределения ключей RC4»), мгновенно сделавшую их знаменитыми. Впоследствии все атаки этого типа стали обозначаться аббревиатурой FMS – по первым буквам первооткрывателей: Fluhrer-Mantin-Shamir. Они обнаружили существование крупных классов слабых («weak») ключей, в которых крошечная часть битов ключа оказывает значительное влияние на зашифрованные данные. Поскольку в формировании эффективного ключа участвует вектор инициализации, генерируемый произвольным образом, в общий шифропоток неизбежно попадает некоторое количество слабых ключей. Собрав достаточный объем трафика, злоумышленник отбирает пакеты, зашифрованные слабыми ключами (такие пакеты называются «слабыми» или «интересными» – interesting). Каждый слабый пакет с 5% степенью вероятности восстанавливает один байт секретного ключа, поэтому общее количество пакетов, которые атакующему необходимо собрать для реализации атаки, в первую очередь зависит от степени его везучести. В среднем для взлома требуется порядка 6 миллионов зашифрованных пакетов. В зависимости от интенсивности трафика и пропускной способности канала, на это уходит от нескольких часов до нескольких дней, хотя в некоторых случаях атака заканчивается уже через несколько минут. И это при 104-битном ключе! Так работает AirSnort и многие другие хакерские утилиты, которые любой злоумышленник может свободно скачать из сети.
Если обмен данными между легальными клиентами и точкой доступа незначителен или практически отсутствует, злоумышленник может заставить жертву генерировать большое количество трафика, даже не зная секретного ключа. Достаточно просто перехватить «правильный» пакет и, не расшифровывая, ретранслировать его вновь. В частности, ARP-запрос вызовет неизбежный ARP-ответ. Отличить APR-запросы от всех остальных пакетов очень просто: frame.pkt_len == 68 (размер кадра) и wlan.da == FF:FF:
FF:FF:FF:FF (адрес назначения). Обычно для передачи запросов используется отдельная WLAN-карта (при этом расстояние между антеннами приемной и передающей карт должно составлять по меньшей мере 15 см, чтобы избежать взаимных наводок), хотя некоторые карты ухитряются перехватывать трафик и одновременно с этим бомбардировать жертву пакетами.
Хакеры из лаборатории H1kari of Dasb0den Labs усилили FMS-алгоритм, сократив количество необходимых пакетов с 6 миллионов до 500 тысяч, а в некоторых случаях 40/104 битный ключ взламывается всего с 3 тысячами пакетов, что позволяет атаковать даже домашние точки доступа, не напрягая их избыточным трафиком. Усиленный алгоритм атаки реализован в утилите dwepcrack, входящей в состав пакета BSD-airtools, а также в другом хакерском инструментарии (рис. 6).
Разработчики оборудования отреагировали вполне адекватным образом, изменив алгоритм генерации векторов инициализации так, чтобы слабые ключи уже не возникали. Теперь даже dwepcrack требовалось перехватить свыше 10 миллионов пакетов, но даже в этом случае успешная расшифровка ключа не гарантирована! Устройства, выпущенные после 2002-2003 гг., скорее всего уже защищены от FMS-атаки, а более древние модели решают эту проблему путем обновления прошивки (правда, не все производители выпустили такое обновление). Впрочем, даже сегодня, в середине 2005 года, в эксплуатации находится множество уязвимых устройств, особенно на периферии, куда уходят все нереализованные складские запасы. Тем не менее, ситуация такова, что хакерам пришлось искать новые пути для атаки. И они были найдены!
В августе 2004 года хакер по имени KoreK продемонстрировал исходный код нового криптоанализатора,
взламывающего даже «сильные» векторы инициализации. Для восстановления 40-битного ключа ему требовалось всего 200 тысяч пакетов с уникальными векторами инициализации,а для 104-битного – 500 тысяч. Количество пакетов с уникальными векторами инициализации в среднем составляет порядка 95% от общего количества зашифрованных пакетов, так что для восстановления ключа атакующему потребуется совсем немного времени. Данный алгоритм реализован в chopper, aircrack, WepLab и других хакерских утилитах, недостатка в которых испытывать не приходится.
В новом оборудовании, построенном по технологии WPA – Wi-Fi Protected Access (защищенный Wi-Fi доступ), защищенность беспроводных устройств вновь была усилена. На место WEP пришел TKIP (Temporal Key Integrity Protocol – протокол краткосрочной целостности ключей), генерирующий динамические ключи, сменяющие друг друга через пару минут. Для совместимости с существующим оборудованием TKIP использует тот же самый потоковый алгоритм шифрования, что и WEP – RC4, но в каждый зашифрованный пакет теперь укладывается специальный восьмибайтный код целостности сообщения, рассчитанный по алгоритму Michael, предотвращающий ретрансляцию подложных пакетов. Процедура аутентификации осуществляется по протоколу EAP (Extensible Authentication Protocol – расширенный протокол аутентификации), использующему либо RADIUS-сервер (Remote Authentication Dial-In User Service – служба дистанционной аутентификации пользователей по коммутируемым линиям), либо предустановленный общий ключ PSK (pre-shared key). В процессе аутентификации сервер генерирует парный мастер ключ (PMK – Pairwise Master Key) и передает его Клиенту. Несмотря на относительную новизну этой технологии, в комплект airckack уже входит специальный модуль WZCOOK, отображающий PMK-ключ. Для несанкционированного подключения к точке доступа, защищенной технологией WPA, этого оказалось вполне достаточно. Впрочем, атакующий модуль все еще недостаточно отлажен и потому в некоторых случаях он не срабатывает (см. рис. 7).
Стандарт IEEE 802.11i описывает более продвинутую систему безопасности, основанную на криптоалгоритме AES и известную под именем WPA2. Готовых утилит для ее взлома в открытом виде пока не наблюдается, так что с этой технологией можно чувствовать себя в безопасности, по крайней мере, какое-то время она продержится. Обладателям устаревшего оборудования настоятельно рекомендуется пробить VPN-тоннели, задействовать SSL-шифрование или подключить любые другие способы защиты, изначально ориентированные на небезопасные каналы передачи данных.
Существует только один способ проверить, насколько безопасно приобретаемое вами беспроводное устройство – это атаковать его! Каждый уважающий себя администратор должен отчетливо представлять, какой инструментарий находится на службе у хакеров, знать его сильные и слабые места. Бояться хакерских утилит не нужно! Ни один закон не запрещает «взламывать» свою собственность, принадлежащую вам по праву, поэтому никаких юридических проблем здесь не возникает, а под категорию «вредоносных» программ обсуждаемые утилиты не попадают. Как показывает практика, больше всех волнуется тот, кто не контролирует ситуацию, образно говоря, находясь в темноте с завязанными глазами. Когда-то боялись привидений, сейчас боятся хакеров, вирусов и червей. А все почему? Потому что не знают, как построить надежную защитную систему, как из всех WLAN-карт, разбросанных по витрине, выбрать ту, которая будет неподвластна взлому. Производители оборудования, как уже было показано выше, постоянно лукавят. Верить им нельзя, и приходится рассчитывать только на самих себя.