Когда вы находитесь в эпицентре событий, иногда сложно понять, что на самом деле произошло. Находясь в пробке, вы не узнаете, что она произошла из-за ДТП, пока не доберетесь до двух подбитых летчиков, занявших три полосы. До этого момента у вас просто недостаточно информации, чтобы сделать выводы.
В индустрии информационной безопасности так часто происходит: тема сложная, нюансов много, а результат некоторых исследований можно реально оценить только через несколько лет.
На этой неделе три самые интересные новости о безопасности не имеют между собой ничего общего, кроме толстого слоя подтекстов. Если не заниматься темой постоянно, важность некоторых событий можно оценить неправильно или не увидеть какие-то важные детали.
Попробую по мере сил объяснить на примерах, хотя подтексты — штука такая: каждому видится что-то свое. Добро пожаловать в 11-й эпизод сериала Security Week им. Срыва Покровов. Традиционные правила: каждую неделю редакция новостного сайта Threatpost выбирает три наиболее значимые новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти тут.
Поиск коллизий для алгоритма SHA-1 серьезно подешевел
Новость. Предсказание Джесси Уокера трехлетней давности. Новое исследование, изменившее представления о безопасности алгоритма.
Те, кто продвинулся в освоении Linux чуть дальше автоматической установки Ubuntu, знают, что эта система мотивирует читать инструкции. В смысле первым делом я, конечно, пробую нагуглить доку, где просто указана последовательность команд, но в некоторых случаях у меня сначала ничего не заработает, а потом вообще все сломается.
Эта новость из той же серии: без хотя бы минимального погружения в матчасть в ней сложно разобраться. Несмотря на то что это, пожалуй, самая сложная тема за все время существования сериала, я попробую рассказать, в чем суть, простыми словами.
SHA-1 — алгоритм криптографического хеширования. Такому алгоритму можно дать на входе последовательность данных почти неограниченной длины, а на выходе получить 160 бит информации, которые позволяют идентифицировать исходный массив данных. Если, конечно, он у вас есть: восстановить информацию из хеша не получится, фарш невозможно провернуть назад.
Точнее, не должно получаться, даже если на входе, например, у вас пароль незадачливого пользователя типа «123456». К любому подобному алгоритму есть два требования: невозможность получить исходные данные, имея на руках только хеш, и невозможность подобрать такую пару наборов данных, чтобы их хеш совпадал.
Если быть точным, возможность сделать и то, и другое почти всегда имеется. Просто это должно быть связано с настолько большим объемом вычислений, что нечего даже и пытаться. Ну, то есть вы покупаете самый мощный суперкомпьютер, даете ему задачу сломать шифр. Через 240 лет он говорит, что ответ — 42, но вас к тому времени это уже никак не волнует.
Но есть нюанс. Во-первых, производительность компьютеров постоянно растет. Во-вторых, исследователи ищут обходные пути, позволяющие взломать криптографические системы. Для алгоритма хеширования найти коллизию гораздо проще, чем расшифровать исходные данные.
Между тем тот же SHA-1 используется в различных системах шифрования и авторизации, где его главная задача — убедиться, что данные у двух разных абонентов совпадают. Если можно найти два или больше массивов данных, у которых хеш будет одинаковый, причем сделать это дешево и быстро, — значит, алгоритм больше не надежен.
Если у вас в ближайшие пару лет накопится 75 тысяч долларов, то у вас есть все шансы ломануть алгоритм SHA-1: https://t.co/Z2qzi1NclE
— Kaspersky (@Kaspersky_ru) October 12, 2015
Пожалуй, на этом остановлюсь, потому что дальше начинается совсем уж суровый матан, который сути дела не меняет. Работа исследователей выглядит примерно так: придумываем алгоритм поиска коллизии, который позволяет найти таковую за чуть меньшее количество операций, чем простой перебор. Точнее, тут имеет смысл говорить про атаку «Дней рождения». Дней рождения, Карл!
Какие-то неправильные у меня простые слова.
Затем исследователи улучшают этот алгоритм, еще больше уменьшая количество операций. В результате ту самую атаку, требовавшую 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 тыс., то что может произойти еще через год?
В новой версии Google Chrome будут помечаться небезопасными SSL-сертификаты, использующие алгоритм SHA-1 http://t.co/bIe7x63a1E
— Linux.Org.Ru (@l_o_r) April 9, 2015
С другой стороны, все исследования уязвимости SHA-1 пока что имеют чисто научную ценность. Пытаться понять на практике, чем это грозит, — это все равно что из сообщения «12 апреля 1961 года над Казахстаном сгорело 250 тонн ракетного топлива» сделать вывод, что человек впервые полетел в космос, не зная об этом заранее. Поживем — увидим.
Fun fact: хеш вообще-то правильно называть digest или message digest. Получается, вы только что прослушали дайджест про дайджест. Рекурсия, уи-и-и-и!
Уязвимость в роутерах Netgear эксплуатируется на практике
В маршрутизаторах Netgear N300 обнаружили уязвимость. Ну да, еще одна дыра в роутерах, и как-то получается, что они все разные, но при этом на одно лицо. В одной из прошлых серий уже обсуждали пачку дыр в устройствах Belkin. У Netgear причем все как-то совсем обидно.
Открываем веб-интерфейс роутера. Вводим пароль, неправильный, так как роутер чужой и пароль мы не знаем. Нас отправляют на страничку, где пишут Access Denied. Но если попытаться открыть страничку с именем BRS_netgear_success.html, то… нас тоже никуда не пустят. А вот если попытаться сделать это несколько раз подряд, то — пустят.
Естественно, при этом желательно быть уже внутри локальной сети, что несколько усложняет задачу. Хотя если роутер, например, раздает Wi-Fi в кафе, то попасть внутрь — не проблема. А если владелец зачем-то включил доступ к веб-интерфейсу из Интернета, то вообще все просто.
Кстати, кто-нибудь может сказать, зачем в принципе нужен доступ к веб-интерфейсу снаружи? Именно к веб-интерфейсу роутера, а не к каким-нибудь штукам в локальной сети. Мне кажется, причин так делать вообще нет, а поводов НЕ делать, как видите, предостаточно.
Уязвимость в маршрутизаторах Netgear оказалась атакована. Не успели пропатчить, чего ждали — непонятно: https://t.co/oWwyAU0yXA
— Kaspersky (@Kaspersky_ru) October 9, 2015
В общем-то, тут все шло достаточно хорошо: вендора уведомили, через два месяца он сделал бета-версию прошивки. Еще бы чуть-чуть — и обошлось, но нет, оказалось, что уязвимость уже эксплуатируют, что называется, «в полях».
Швейцарская компания Compass Security обнаружила такой роутер с измененными настройками: в качестве DNS-сервера был прописан не адрес провайдера, как это обычно бывает, а не пойми что. Соответственно, через это «не пойми что» проходили все DNS-запросы. Исследование сервера атакующих показало, что он «обслуживает» больше 10 тыс. взломанных роутеров.
Netgear наконец-то разродилась патчем для атакованных роутеров. Обновлению подлежат восемь моделей: https://t.co/57UhYFX7iY
— Kaspersky (@Kaspersky_ru) October 15, 2015
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. Впрочем, «победителей» тут на самом деле нет, одни проигравшие.
В расчете учитывается именно доля обновленных устройств, то есть не только вендор должен выпустить патч, но и владелец — не полениться обновить. Чем старше устройство, тем хуже: в отдельном рейтинге по моделям смартфонов у не самых старых устройств двух-трехлетней давности совсем уж унылые показатели. Почему? Не обновляют. Но пользуются.
85% Android-устройств небезопасны, потому что операторы так и не научились вовремя обеспечивать аппараты патчами: https://t.co/maJ7KGiNBV
— Kaspersky (@Kaspersky_ru) October 16, 2015
В общем, в методике исследования есть немало вольных допущений, да и доказывает она то, что и так всем известно. По словам исследователей, одной из целей их работы является дополнительная мотивация производителей таки починить систему латания дыр в своих устройствах. А вот что на самом деле важно: на картинке выше мы видим пример экосистемы, которая в принципе не может быть на 100% безопасной.
Хотя Android со своей фрагментацией — это самый показательный пример, таких экосистем много. Можно говорить о том, что iOS безопаснее, но, как показывает первая история дайджеста про, эм, дайджест, не бывает абсолютно надежных систем, бывает мало водки ограничение по бюджету. А это такой очень важный момент при выборе стратегии защиты.
Что еще произошло:
Apple удалила из App Store приложения, устанавливавшие корневые сертификаты, что позволяло им перехватывать, отслеживать или модифицировать данные, передающиеся по защищенному соединению. Например, для блокировки рекламы или чего похуже. Я так понимаю, что и новые приложения с таким функционалом теперь загружать нельзя. А почему раньше было можно?
В Apple говорят, что вычистили из App Store вредоносные приложения, но какие именно — не говорят: https://t.co/oT90olHNkQ
— Kaspersky (@Kaspersky_ru) October 12, 2015
Европейское агентство по авиационной безопасности рассказало об уязвимости в системе ACARS, использующейся для передачи данных между самолетом и наземной станцией. В общем-то, изначально было ясно, что в системе без какой-либо верификации пакетов отправить поддельное сообщение несложно.
Найденные в адресно-отчетной системе авиационной связи (ACARS) уязвимости позволят хакать самолеты: https://t.co/3eAhVx7ROV
— Kaspersky (@Kaspersky_ru) October 13, 2015
Порулить самолетом не получится, но отправить сообщение, которое введет в заблуждение пилотов, можно. Об уязвимости ACARS исследователи говорили (документами в формате PDF) еще в 2013 году, но то были ИБ-специалисты, а тут непосредственно отвечающий за безопасность надзорный орган. А это хорошие новости.
Древности:
«Indicator-734»
Опасный резидентный вирус. Инфицирует .COM-файлы при их загрузке в память. Старое начало файла шифрует, причем в качестве ключа использует 10h байт BIOS’a. То есть правильно расшифровываться и нормально выполняться файлы будут только на компьютере с той же версией BIOS’а, на котором были заражены. Если же расшифровать старое начало файла не удалось, то вирус блокирует работу файла (выполняет int 20h), предварительно запустив свои счетчики. В зависимости от их состояния (примерно один раз в час) вирус рисует на экране красный крест, в центре которого расположена надпись: «VINDICATOR». Перехватывает int 1Ch, 21h.
Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страница 70.
Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.