Три самых популярных новости этой недели так или иначе связаны с темой security intelligence — еще одного плохопереводимого, и относительно свежего термина в индустрии информационной безопасности. Под intelligence понимается сумма знаний, которая так или иначе помогает защитить пользователей и компании от киберугроз. Цитаты из книги Евгения Касперского, которые я привожу в конце каждого выпуска, отражают требования к знаниям на начало 90-х годов прошлого века: тогда один эксперт мог держать в голове все необходимое для защиты от киберугроз. Информацию о типичных методах заражения и распространения, методы определения типа угрозы и лечения. Хорошие были времена, но они давно прошли. Чтобы разбираться в угрозах современных, требуется огромный спектр знаний — от языка программирования Lua до диалектов китайского, от особенностей прошивок жестких дисков до теории шифрования данных.
Более того, не существует экспертизы универсальной и действенной для всех. Каждая компания имеет уникальный набор элементов IT-инфраструктуры, со своими уязвимыми местами и потенциальными точками проникновения. Естественно, нет единого, релевантного для всех рецепта защиты. Качественная корпоративная безопасность требует знаний о киберугрозах в целом, и о том, как они могут быть применены к конкретной ситуации. Если проще, нужно знать, в каком месте защиту будут ломать (или уже сломали!), и чем дальше, тем дороже будет оцениваться это знание. Наконец, угроз и типов атак стало так много, что проанализировать их все руками также становится сложнее. Нужно строить боевых человекоподобных роботов системы автоматизации и машинного обучения, которые возьмут на себя рутинные операции. Аналогом 120-страничного альманаха про вирусы 1992-го года сейчас являются петабайты данных, неалгоритмизируемый опыт и навыки экспертов, ну и то, что можно назвать искусственным интеллектом. Впрочем, проще говорить о теме экспертизы на примерах. Поехали.
Все выпуски доступны по тегу.
Unix-утилита Socat использовала уязвимую реализацию алгоритма Diffie-Hellman для создания защищенных соединений, подозревают ошибку или даже злой умысел разработчика
Новость.
Socat — это Unix-утилита с открытым исходным кодом, которая используется для передачи данных между двумя разными каналами. С ее помощью, например, можно анализировать сетевой трафик, перенаправляя его в файл или пробрасывать туннели между сетями. Так как утилита взаимодействует с сетью, она поддерживает в том числе и защищенную передачу данных, а значит реализует соответствующие алгоритмы установки соединения. В частности, уже не раз появлявшийся на страницах моего дайджеста алгоритм Diffie-Hellman, позволяющий безопасно обмениваться ключами и использующий для сложных расчетов какое-то базовое простое число большой длины (в данном случае — 1024 бита).
Ну, во-первых, ранее уже было доказано, что 1024-битные простые числа уже небезопасны в контексте этого алгоритма, хотя взлом чего-либо с использованием этой «уязвимости» пока что занимает много времени и стоит очень дорого. Во-вторых, новость заключается в том, что используемое число в socat оказалось не простым. В смысле, оно раскладывается на множители. Оценить последствия такой ошибки можно, почитав, например, это замечательное обсуждение на Stackexchange. Если коротко — взломать зашифрованный обмен данными при использовании ослабленного алогоритма Diffie-Hellman становится еще проще, хотя все равно речь идет о достаточно сложных и длительных вычислениях.
Так как утилита опенсорсная, проследить появление ошибки до конкретного автора не составило труда. Им оказался некий Zhiang Wang, на момент добавления уязвимого кода сотрудник Oracle, в общем-то не пытавшийся соблюсти анонимность. А был ли повод скрываться? Ну вообще внесение заведомой уязвимости в код программы можно трактовать как попытку подсадить бэкдор. В интервью Threatpost мэйнтейнер socat Герхард Ригер сообщил, что все же считает это ошибкой. Причин две. Во-первых, не было попытки замести следы, во-вторых, если бы кто-то хотел имплантировать бэкдор, то наверняка использовал бы менее топорный метод. С другой стороны, проверить (вычислениями), является ли простое число действительно простым достаточно сложно. Патч в самой библиотеке OpenSSL на прошлой неделе, кстати, решал похожую проблему — там для работы Diffie-Hellman использовались «ненадежные» простые числа, также делающие атаку теоретически возможной.
В общем, эту новость, как и предыдущие, можно трактовать как игру на опережение со стороны разработчиков ПО и исследователей алгоритмов шифрования: закрываются уязвимости, практическое использование которых маловероятно. Интересен такой аспект ситуации: речь идет о баге, который очень сложно обнаружить, если не знать, где именно копать. Возможно именно поэтому не самая опасная уязвимость в socat удостоилась такого внимания — новость стала самой популярной на Threatpost за неделю. Шифрование вообще резко поднимает планку экспертизы, необходимой для аудита безопасности. Проблема в том, что такие задачки повышенной сложности рано или поздно начнут появляться и в других сферах народного хозяйства. А пока все неплохо: баг закрыли, заменив базовое простое число на проверенное и надежное 2048-битное. Но потенциальная уязвимость в socat скрывалась в коде ровно год.
На VirusTotal появился сервис проверки микрокода
Новость.
Сервис VirusTotal позволяет просканировать подозрительный файл антивирусными движками разных производителей. Он довольно часто становится последним доводом в спорах об эффективности защитного ПО, а еще чаще результаты такого «детекта» интерпретируются вольно и не совсем корректно. Сервис, с 2012 года принадлежащий компании Google, также является полезным инструментом для исследователей в области безопасности, дает им дополнительные подсказки об активности вредоносных кампаний — например, информацию о том, когда и откуда был загружен какой-либо вредоносный элемент.
Новый сервис находится в стороне от стандартной модели работы VirusTotal. Он проводит анализ микрокода, включая прошивки BIOS компьютеров и ноутбуков, и выдает вердикт по ряду параметров. Среди них: анализ содержащихся в прошивке строк для определения целевых вендоров (для каких устройств предназначена прошивка), извлечение сертификатов, извлечение кода Portable Executable — то есть программ, например, хранящихся в BIOS, но предназначенных для запуска в Windows. Последние, теоретически, представляют особый интерес — именно так можно надежно спрятать в BIOS вредоносный код, запускать его на установленной системе для каких-то целей с повышенными правами, и переустанавливать в случае удаления.
Внимание к прошивкам привлекло обнародованное в прошлом году исследование «Лаборатории» о кампании The Equation. В том числе были обнаружены средства модификации прошивок жестких дисков, позволяющих восстановить несанкционированный доступ к атакованной системе даже в случае полного удаления данных. Само по себе такое открытие дало понять, что при достаточных инвестициях в разработку можно создать такую модель атаки, которую крайне сложно обнаружить и остановить. Вообще BIOS и прошивки отдельных компонентов в составе современных компьютеров большинству представляются в виде черной дыры, в которой происходит непонятно что. А происходить там может многое. Еще один пример, на сей раз именно про BIOS — это методы работы противоугонного комплекса Absolute Computrace.
В общем, анализировать нужно, и теперь VirusTotal предоставляет для этого инструменты, хотя и очень базовые. Но смысл тут заключается не только в качестве инструментов, но и в объеме информации для исследования. Чем чаще будут пользоваться такой функциональностью, тем больше разных BIOS и других прошивок будет собрано, тем проще будет проводить сравнительный анализ. Тем выше вероятность, что где-то будет найден новый бэкдор, и при этом не придется дизассемблировать каждую прошивку руками. Собственно, это хороший пример развития информационной безопасности, когда эксперты основывают свои исследования на основе большого объема предварительно собранных данных. Пример разбора прошивки — тут.
В Android закрыли уязвимость в драйверах WiFi
Новость. Security bulletin.
Февральский набор патчей для Android, доступный уже сейчас владельцам устройств Nexus и когда-нибудь — всем остальным, закрывает уязвимость в драйверах WiFi для модулей Broadcom. Потенциальный сценарий эксплуатации данной уязвимости выглядит кошмарно. Вы подключаетесь к публичной WiFi сети, в метро, в офисе или в гостинице. Злоумышленник, находящийся в той же сети, отправляет специально сформированный сетевой пакет на ваше устройство и получает полный доступ к смартфону. К счастью сценарий действительно теоретический — в Google утверждают, что реальных атак замечено не было.
Закрыта и другая уязвимость, в печально известном компоненте Mediaserver, в котором ранее нашли дыру Stagefright. Как я уже говорил ранее, если в софте находят много уязвимостей — это не обязательно квалифицирует софт или платформу как «небезопасную». При одном условии — если уязвимости закрываются. Экосистему Android изучают как можно более тщательно все — и white hat исследователи, и криминал. Внедрение ежемесячных апдейтов по безопасности в прошлом году стало позитивным изменением, но вопросы к фрагментации Android, недоступности патчей для большого количества устройств по-прежнему остаются. А значит стратегия защиты, например, мобильников в корпоративной сети, должна априори исходить из того, что многие устройства уязвимы, и такими останутся надолго.
Что еще произошло:
Oracle больше не будет разрабатывать плагин Java для браузеров. Ожидаемое решение, так как разработчики браузеров давно всеми силами пытаются к себе такие плагины не пускать. Пионером выступила Google, заблокировав интерфейс NPAPI по умолчанию, то есть фактически запретив работу таких плагинов как Java и Silverlight.
Нашли еще пачку уязвимостей в «умных» детских игрушках.
Анонимные хакеры украли 250 гигабайт данных у NASA. Или не украли: в самой NASA утверждают, что «утечка» была выложена на сайте компании в публичный доступ, и имела место не атака, а разнузданный пиар.
Древности:
«Ninja-1376»
Очень опасный резидентный вирус. Заражает .COM- и .EXE-файлы кроме COMMAND.COM и AIDSTEST.EXE. При заражении до и после вируса дописывает случайные блоки длиной до 255 байт. Периодически убивает файлы: записывает в их начало программу, которая при старте расшифровывает и выводит на экран текст: «Mutant Ninja Version 2.0 Copyright © 1990,91 Virus&Worm Software». В 1992 году по 13-м числам в 13.00 стирает FAT диска C:. Некорректно работает с int 24h. Содержит строки: «COMMAND.COM», «AIDSTEST.EXE», ".COM" и ".EXE". Перехватывает int 21h.
Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страница 77.
Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.
Автор: «Лаборатория Касперского»