Security Week 42: коллизии в SHA-1, практический взлом роутеров, Android/Безопасность/Грусть

Новости

Когда вы находитесь в эпицентре событий, иногда сложно понять, что на самом деле произошло. Находясь в пробке, вы не узнаете, что она произошла из-за ДТП, пока не доберетесь до двух подбитых летчиков, занявших три полосы. До этого момента у вас просто недостаточно информации, чтобы сделать выводы.

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

42 выпуск дайджеста о кибербезопасности

На этой неделе три самые интересные новости о безопасности не имеют между собой ничего общего, кроме толстого слоя подтекстов. Если не заниматься темой постоянно, важность некоторых событий можно оценить неправильно или не увидеть какие-то важные детали.

Попробую по мере сил объяснить на примерах, хотя подтексты — штука такая: каждому видится что-то свое. Добро пожаловать в 11-й эпизод сериала Security Week им. Срыва Покровов. Традиционные правила: каждую неделю редакция новостного сайта Threatpost выбирает три наиболее значимые новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти тут.

Поиск коллизий для алгоритма SHA-1 серьезно подешевел

Новость. Предсказание Джесси Уокера трехлетней давности. Новое исследование, изменившее представления о безопасности алгоритма.

Те, кто продвинулся в освоении Linux чуть дальше автоматической установки Ubuntu, знают, что эта система мотивирует читать инструкции. В смысле первым делом я, конечно, пробую нагуглить доку, где просто указана последовательность команд, но в некоторых случаях у меня сначала ничего не заработает, а потом вообще все сломается.

Эта новость из той же серии: без хотя бы минимального погружения в матчасть в ней сложно разобраться. Несмотря на то что это, пожалуй, самая сложная тема за все время существования сериала, я попробую рассказать, в чем суть, простыми словами.

Ну, как-то так попробую

Ну, как-то так попробую

SHA-1 — алгоритм криптографического хеширования. Такому алгоритму можно дать на входе последовательность данных почти неограниченной длины, а на выходе получить 160 бит информации, которые позволяют идентифицировать исходный массив данных. Если, конечно, он у вас есть: восстановить информацию из хеша не получится, фарш невозможно провернуть назад.

Точнее, не должно получаться, даже если на входе, например, у вас пароль незадачливого пользователя типа «123456». К любому подобному алгоритму есть два требования: невозможность получить исходные данные, имея на руках только хеш, и невозможность подобрать такую пару наборов данных, чтобы их хеш совпадал.

Если быть точным, возможность сделать и то, и другое почти всегда имеется. Просто это должно быть связано с настолько большим объемом вычислений, что нечего даже и пытаться. Ну, то есть вы покупаете самый мощный суперкомпьютер, даете ему задачу сломать шифр. Через 240 лет он говорит, что ответ — 42, но вас к тому времени это уже никак не волнует.

Но есть нюанс. Во-первых, производительность компьютеров постоянно растет. Во-вторых, исследователи ищут обходные пути, позволяющие взломать криптографические системы. Для алгоритма хеширования найти коллизию гораздо проще, чем расшифровать исходные данные.

Между тем тот же SHA-1 используется в различных системах шифрования и авторизации, где его главная задача — убедиться, что данные у двух разных абонентов совпадают. Если можно найти два или больше массивов данных, у которых хеш будет одинаковый, причем сделать это дешево и быстро, — значит, алгоритм больше не надежен.

Пожалуй, на этом остановлюсь, потому что дальше начинается совсем уж суровый матан, который сути дела не меняет. Работа исследователей выглядит примерно так: придумываем алгоритм поиска коллизии, который позволяет найти таковую за чуть меньшее количество операций, чем простой перебор. Точнее, тут имеет смысл говорить про атаку «Дней рождения». Дней рождения, Карл!

Какие-то неправильные у меня простые слова.

Затем исследователи улучшают этот алгоритм, еще больше уменьшая количество операций. В результате ту самую атаку, требовавшую 240 лет, становится возможно выполнить за 120 лет. Или за 12. Или за 2. Вот когда вместо двух с половиной веков требуется всего два месяца, можно начинать волноваться.

Так вот, три года назад специалист по криптографии Джесси Уокер из Intel предположил, что к 2015 году для нахождения коллизий алгоритма SHA-1 потребуется два в одиннадцатой степени серверо-лет (ну, если взять за основу такой сферический типовой сервер в вакууме).

К счастью, благодаря облачным сервисам, а конкретно Amazon EC2, можно вычислить более конкретный денежный эквивалент: около $700 тыс. — и вы получите теоретический способ, например подделать цифровую подпись за сравнительно короткое время.

Но это была оценка 2012 года. Получалось, что уже тогда алгоритм SHA-1 был не настолько надежен, как хотелось бы, только эксплуатировать эту ненадежность могли очень состоятельные организации, например разведка какой-нибудь небедной страны.

Естественно, такие конторы не торопятся выпускать пресс-релизы о своих успехах на ниве борьбы с криптографией. Так что важнее понять, когда доступ к такому «инструменту» получат пусть и состоятельные, но киберпреступники.

грустная собачка

Недавно команда исследователей из университетов Голландии, Сингапура и Франции опубликовала доклад, в котором поделилась новыми идеями оптимизации алгоритма поиска коллизий. Благодаря им, если коротко, реальная атака может стоить «в ценах Amazon» всего $75 тыс. и займет примерно 49 дней.

Ну или дороже и побыстрее, кому как удобно. Известный эксперт в области криптографии Брюс Шнайер прокомментировал это таким образом: оценка 2012 года учитывала закон Мура, но не принимала во внимание усовершенствование алгоритма атаки и метода проведения атаки (например, использование графических процессоров для вычислений, которые выполняют задачу быстрее и дешевле). Надежно предсказать эффект такой оптимизации действительно невозможно.

А дальше задаем традиционный вопрос: на практике это новое исследование и новая оценка кому-то угрожают? Не так чтобы очень. А как вообще такие «уязвимости» могут эксплуатироваться? Есть пример для значительно менее стойкого алгоритма MD5: берем два разных файла (в данном случае использовались фотографии рок-звезд) и, последовательно модифицируя данные в одном из них, получаем в итоге одинаковый хеш для двух абсолютно разных изображений.

А если конкретнее? Кибершпионская кампания Flame использовала данный прием для подписи вредоносного файла валидным (на тот момент) сертификатом Microsoft. Точнее, подпись была поддельная, но хеши у поддельной подписи и реальной совпадали. По независимой оценке, такой трюк, даже с более слабым алгоритмом, мог обойтись в сумму от $200 тыс. до $2 млн. Дороговато!

А что с SHA-1? Алгоритм применяется с 1995 года, и, в общем-то, уже в 2005-м, 10 лет назад, было понятно, что это не самая надежная в мире технология. Но даже с новыми вводными данными до практической эксплуатации еще далеко, в то время как SHA-1 постепенно выводится из использования и заменяется более надежными алгоритмами хеширования.

До 2017 года разработчики основных браузеров планируют отказаться от использования SHA-1. Пожалуй, стоит поторопиться, ведь если за три года предположительная цена атаки упала с $2,77 млн до $100 тыс., то что может произойти еще через год?

С другой стороны, все исследования уязвимости SHA-1 пока что имеют чисто научную ценность. Пытаться понять на практике, чем это грозит, — это все равно что из сообщения «12 апреля 1961 года над Казахстаном сгорело 250 тонн ракетного топлива» сделать вывод, что человек впервые полетел в космос, не зная об этом заранее. Поживем — увидим.

Fun fact: хеш вообще-то правильно называть digest или message digest. Получается, вы только что прослушали дайджест про дайджест. Рекурсия, уи-и-и-и!

Уязвимость в роутерах Netgear эксплуатируется на практике

Новость. Описание уязвимости.

В маршрутизаторах Netgear N300 обнаружили уязвимость. Ну да, еще одна дыра в роутерах, и как-то получается, что они все разные, но при этом на одно лицо. В одной из прошлых серий уже обсуждали пачку дыр в устройствах Belkin. У Netgear причем все как-то совсем обидно.

Открываем веб-интерфейс роутера. Вводим пароль, неправильный, так как роутер чужой и пароль мы не знаем. Нас отправляют на страничку, где пишут Access Denied. Но если попытаться открыть страничку с именем BRS_netgear_success.html, то… нас тоже никуда не пустят. А вот если попытаться сделать это несколько раз подряд, то — пустят.

Netgear опростоволосился

Естественно, при этом желательно быть уже внутри локальной сети, что несколько усложняет задачу. Хотя если роутер, например, раздает Wi-Fi в кафе, то попасть внутрь — не проблема. А если владелец зачем-то включил доступ к веб-интерфейсу из Интернета, то вообще все просто.

Кстати, кто-нибудь может сказать, зачем в принципе нужен доступ к веб-интерфейсу снаружи? Именно к веб-интерфейсу роутера, а не к каким-нибудь штукам в локальной сети. Мне кажется, причин так делать вообще нет, а поводов НЕ делать, как видите, предостаточно.

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

Швейцарская компания Compass Security обнаружила такой роутер с измененными настройками: в качестве DNS-сервера был прописан не адрес провайдера, как это обычно бывает, а не пойми что. Соответственно, через это «не пойми что» проходили все DNS-запросы. Исследование сервера атакующих показало, что он «обслуживает» больше 10 тыс. взломанных роутеров.

Fun fact: компания Compass Security довольно долго не могла добиться никакого ответа от Netgear. Затем диалог таки случился, и им даже прислали бета-версию прошивки на проверку. Но тут (откуда ни возьмись) появилась компания Shellshock Labs и опубликовала свое исследование той же уязвимости, вообще ни с кем не договариваясь (что как бы не очень хорошо).

Конечно, назвать компанию в честь бага в bash — это круто, но принцип «не навреди» никто не отменял. Зато из исследования «потрясателей шелла» становится понятно, откуда взялась уязвимость в веб-интерфейсе. В коде прошивки предусмотрена возможность войти в веб-интерфейс без пароля один раз, при первом запуске. Чтобы дальше это не работало, был предусмотрен флажок, про который просто забыли. Да, прошивку в итоге все же обновили.

85% Android-устройств небезопасны

Новость. Сайт исследователей, с рейтингом безопасности по вендорам.

Большеглазый лемур

Да вы что! Никогда такого не было, и вот опять! Между тем речь идет еще об одном научном исследовании, хотя, конечно, не таком забористом, как в истории про SHA-1. Исследователи из Кембриджского университета проделали интересную штуку. Собрали данные о 32 серьезных уязвимостях в Android, потом выбрали из них 13 наиболее серьезных и проверили сразу много телефонов разных производителей на наличие этой уязвимости.

Проверяли так: сделали приложение Device Analyzer, через которое открыто собирали различную анонимную телеметрию у участников эксперимента, включая такие параметры, как версия ОС и номер билда. Всего удалось собрать информацию более чем с 20 тыс. смартфонов.

Далее, сопоставив номер версии Android с информацией об уязвимостях, смогли примерно оценить масштаб беды. В результате получилась вот такая картинка:

Андроид устройства опять под угрозой

Усреднение показателей за все время исследования и дало ту самую цифру 85% — в среднем в любой момент времени именно такая доля устройств на Android подвержена одной из известных и потенциально опасных уязвимостей. Или не одной. Как обычно, ударение надо делать на «потенциально» — на примере Stagefright понятно, что даже на самую опасную уязвимость накладываются суровые ограничения по практической реализации.

Но на этом исследователи не остановились и сделали рейтинг «опасности» устройств по производителям, назвав его FUM Score. В нем учитывается и время реакции вендора на информацию о новой уязвимости — как быстро патч появляется в устройствах конкретного производителя.

Победителем стала — предсказуемо — серия смартфонов Nexus: в ней баги исправляются максимально быстро. На втором месте LG, на третьем — Motorola. Впрочем, «победителей» тут на самом деле нет, одни проигравшие.

В расчете учитывается именно доля обновленных устройств, то есть не только вендор должен выпустить патч, но и владелец — не полениться обновить. Чем старше устройство, тем хуже: в отдельном рейтинге по моделям смартфонов у не самых старых устройств двух-трехлетней давности совсем уж унылые показатели. Почему? Не обновляют. Но пользуются.

В общем, в методике исследования есть немало вольных допущений, да и доказывает она то, что и так всем известно. По словам исследователей, одной из целей их работы является дополнительная мотивация производителей таки починить систему латания дыр в своих устройствах. А вот что на самом деле важно: на картинке выше мы видим пример экосистемы, которая в принципе не может быть на 100% безопасной.

Хотя Android со своей фрагментацией — это самый показательный пример, таких экосистем много. Можно говорить о том, что iOS безопаснее, но, как показывает первая история дайджеста про, эм, дайджест, не бывает абсолютно надежных систем, бывает мало водки ограничение по бюджету. А это такой очень важный момент при выборе стратегии защиты.

Что еще произошло:

Apple удалила из App Store приложения, устанавливавшие корневые сертификаты, что позволяло им перехватывать, отслеживать или модифицировать данные, передающиеся по защищенному соединению. Например, для блокировки рекламы или чего похуже. Я так понимаю, что и новые приложения с таким функционалом теперь загружать нельзя. А почему раньше было можно?

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

Порулить самолетом не получится, но отправить сообщение, которое введет в заблуждение пилотов, можно. Об уязвимости ACARS исследователи говорили (документами в формате PDF) еще в 2013 году, но то были ИБ-специалисты, а тут непосредственно отвечающий за безопасность надзорный орган. А это хорошие новости.

Древности:

«Indicator-734»

Опасный резидентный вирус. Инфицирует .COM-файлы при их загрузке в память. Старое начало файла шифрует, причем в качестве ключа использует 10h байт BIOS’a. То есть правильно расшифровываться и нормально выполняться файлы будут только на компьютере с той же версией BIOS’а, на котором были заражены. Если же расшифровать старое начало файла не удалось, то вирус блокирует работу файла (выполняет int 20h), предварительно запустив свои счетчики. В зависимости от их состояния (примерно один раз в час) вирус рисует на экране красный крест, в центре которого расположена надпись: «VINDICATOR». Перехватывает int 1Ch, 21h.

"Компьютерные вирусы в MS-DOS", Евгений Касперский, 1992

Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страница 70.

Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.