Security Week 40: неуязвимость в WinRAR, баг-ветеран в Firefox, упс-апдейт Microsoft
Интересно, а что произойдет, когда все проблемы с информационной безопасностью будут решены? Наш новостной сайт Threatpost.ru переквалифицируется в дайджест фото котиков? А такое светлое будущее вообще наступит? Да, если считать, что IT-индустрия растет слишком быстро, и до сих пор лечит «детские» болезни, а когда вылечит — наступит благодать. Я верю, что когда-то в будущем подход к цифровой безопасности качественно изменится. Но не надо забывать, что интернет — это модель реального мира, в которой есть все — и гении-одиночки, собирающие в гараже новый Гугл, и крупные компании со своими интересами, и просто люди, и наконец, те, кто готов поживиться за их счет. Жизнь киберпреступникам можно значительно усложнить, но можно ли от них избавиться вовсе?
А навело меня на эти размышления неординарное событие: одна из самых посещаемых новостей за прошедшую неделю (про баг в Firefox) вообще не относится к безопасности. Ну, почти не относится. Тем не менее, интерес аудитории Threatpost к ней был максимальным (редакции определенно стоит попробовать котиков!). Вторая новость — про уязвимость, которой на самом деле как бы и нет. Третья — про апдейт Microsoft, который ничего не делал и пропал. Короче, на этой неделе ничего не произошло. Раз так, поговорим о том, какая есть разница между реальными угрозами и теоретическими. Традиционные правила: каждую неделю редакция новостного сайта Threatpost выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти тут.
(Псевдо)Уязвимость нулевого дня в самораспаковывающихся архивах WinRAR
Новость. Исследование. Реакция RARLAB.
Исследователь из Ирана Мохаммед Реза Эспаргхам обнаружил уязвимость в WinRAR, но не в самой программе, а в самораспаковывающихся архивах, которые с ее помощью можно создать. На первый взгляд все серьезно. Используя «фичу» архиватора можно сделать так, что, при попытке распаковать архив, будет выполняться произвольный html-код, который позволит загрузить из сети и выполнить все, что угодно. При этом само содержимое архива может быть безвредным. Уязвимая функция позволяет вывести текст на экран при распаковке, и, как выяснилось, принимает и обрабатывает HTML.
Создатели WinRAR не согласны, и, чтобы понять их позицию, достаточно упростить описание уязвимости до: «с пользователем может произойти что-то нехорошее, если он скачает из интернета и запустит какой-то мутный экзешник». Я же ничего не упустил? Фундаментальная и неисправимая уязвимость компьютеров: они выполняют ВЕСЬ код, который на них запускается. В качестве доказательства WinRAR приводит proof of concept еще одного «зиродея»: для самораспаковывающегося архива можно настроить запуск содержимого автоматически, не спрашивая пользователя. Фаталити!
А вот и котики!
По-своему правы обе стороны. Именно нестандартное использование стандартных инструментов может пробить серьезную дыру в защите. С помощью программы шифрования можно зашифровать данные для безопасности, а можно — для требования выкупа от жертв криптолокера. В общем, уровень опасности — грушевый с оттенками шартреза.
Но есть еще такой момент. WinRAR — действительно очень распространенная программа, и, в отличие от другого софта из «типового набора», не требует постоянных обновлений. Это, знаете ли, не браузер, где каждый месяц что-то новое. Работает себе и работает. Два года назад мы опубликовали исследование, в котором показали, как пользователи обновляют уязвимое ПО. Обновляют, скажем так, не очень оперативно: например, тогда требовалось 7 недель, чтобы на новую версию Java перешли хотя бы 30% пользователей. В исследование попала и критическая уязвимость WinRAR 3.71 и более ранних. Подробно исследовать ее распространенность мы не стали, так как никто ее особо не эксплуатировал, но данные по обновлению посмотрели и ужаснулись: через пять лет после обнаружения дыры уязвимая версия WinRAR стояла на десятках тысяч компьютеров, и никто даже не собирался ее обновлять. Ну да, а собственно, зачем? Тем более, что механизма автообновления у архиватора нет. Пока есть Ява, Флеш и браузеры, киберпреступникам лень тратить время на взлом таких программ. Что если привычные цели станет труднее ломать?
Невероятные приключения пустого обновления Windows
Новость. Обсуждение на форуме Microsoft с деталями.
30 сентября, без объявления войны, система обновлений Windows заговорила с пользователями на рыбьем языке.
Ну то есть, буквально. «Здравствуйте, это важное обновление из категории языковых пакетов, после установки которого вашему компьютеру потребуется пере#$^%@#$R@%@%@#$пыщь#@%#@%#^@^$@^жмя». Те немногочисленные пользователи, которые действительно смотрят, что им прилетает через Windows Update забили тревогу: появилась какая-то фигня, попробовала установиться, потерпела поражение, а потом моментально пропала! Позже обнаружилось, что аналогичная (ну, по крайней мере, похожая) незадача произошла еще и 20 августа.
Скриншот из обсуждения на сайте Microsoft.
Позже представитель компании подтвердил, что апдейт был тестовый и рассылался пользователям по ошибке. Можно, так сказать, расслабиться и успокоиться. А был ли повод для тревоги? На самом деле был: компрометация системы обновлений Windows может устроить такой апокалипсис в сети, что никакому Голливуду не снилось. Взять произвольный код, разослать миллионам пользователей и установить его без их ведома… К счастью, это маловероятно: шифрование, цифровые подписи. В одной из предыдущих серий я обсуждал частный пример маловероятного взлома WSUS, который хорошо показывает, что капитально, на мелкие кусочки, сломать эту систему почти невозможно.
Точнее, мы все очень надеемся, что это так.
В Firefox закрыли 14-летний жрущий память баг
Новость. Пост разработчика Adblock Plus, главной жертвы бага. Собственно, сам баг. Новость о действительно важных фиксах в релизе Firefox 41.
Коротко о главном: браузер Firefox ест много памяти. С релизом Firefox 41 он поумерил аппетиты, если у вас установлено расширение AdBlock Plus. Проблема в том, что расширение, блокирующее рекламу, и сам браузер некорректно взаимодействуют: отрабатывая метод скрытия рекламы с использованием стилей CSS, браузер резервировал большие объемы памяти, в некоторых случаях до 2 гигабайт.
Оригинальный баг был заведен 27 апреля 2001 года, обнаружен в пререлизной еще версии 0.9.3. Примерно тогда же были выпущены первая Mac OS X, Windows XP, самый первый плеер iPod, представлены интерфейсы SATA и USB 2.0. И главное, появился модемный протокол V.92, а Microsoft убила скрепку (на фото справа). Богатый на события был год!
В общем, баг хоть и неприятный, но безобидный. Подозреваю, что десять из четырнадцати лет разработчики Firefox и Adblock выясняли, на чьей стороне проблема. А действительно серьезные уязвимости в софте чинятся быстро. Да? Нет. В поисках древних багов я наткнулся на этот: в дистрибутивах Red Hat (и не только) при апгрейде или инсталляции не проверяется подлинность устанавливаемого софта, что теоретически позволяет получать контроль над системой, если она ставилась-обновлялась с зараженного зеркала. Баг открыт 30 января 1999 года! Там вообще речь шла не про зеркала, а про вредоносные дискеты. Закрыт (и то не все считают, что до конца) в августе 2014-го.
Ну ладно, окей, этот баг, как и описанная выше «уязвимость» в WinRAR SFX, не баг вовсе, а наблюдение из серии «если положить ноутбук в костер, то он сгорит». И его не то, чтобы чинили, а скорее пользовались возможностями баг-трекера, чтобы 15 лет вести неторопливую дискуссию о некоторых аспектах безопасности в (любых вариантах) Linux. Является ли этот баг доказательством провала в защите Linux? Нет конечно.
Позволю себе пойти еще дальше и предположить, что быстрое закрытие всех уязвимостей само по себе не повышает безопасность. Вот здесь, например, пишут, что в среднем разработчики софта тратят 100-120 дней на разработку патчей. Хотелось бы побыстрее, но означает ли это, что все непатченные дыры обязательно взламывают? Тоже нет. Типов атак, потенциальных уязвимостей так много, что попытка проанализировать сразу все даст в результате белый шум.
Когда-то давно сайте «Лаборатории» был индикатор угроз — с его помощью можно было оценить, как обстоят дела с безопасностью сразу для всех. Со временем он превратился в аналог "Часов судного дня", то есть производил впечатление, но объективную картину больше не отражал, и его убрали. Уровень опасности теперь для каждого человека и компании свой собственный — он зависит и от того, насколько легко вас взломать, и от ценности данных, которые можно получить, и от того, насколько серьезно вы подходите к защите этих данных.
Что еще произошло:
Новостей на самом деле много, хотя все довольно рутинные.
В библиотеке Stagefright в Android обнаружили еще одну уязвимость. Если предыдущая эксплуатировалась через MMS, то новая позволяет выполнить произвольный код после открытия подготовленной страницы в браузере. На сей раз проблема в обработке метаданных медиафайла (аудио или видео) библиотекой.
101 баг исправлен в Mac OS X с выходом новой версии El Capitan. Плюс в iOS 9.0.2 закрыли очередной способ обхода экрана блокировки, на сей раз с помощью Siri (Эй Siri, DROP TABLE).
В TrueCrypt очень долго искали закладки (подробнее я писал в итогах 2014 года), но так и не нашли, а нашли уязвимость, которая впрочем тоже не позволяет расшифровать зашифрованное. Вместо этого установленный TrueCrypt можно использовать для удаленного повышения привилегий. Исправлено в спин-оффе TrueCrypt под названием VeraCrypt.
Мобильники можно использовать для DDoS. В конкретном случае подозревают, что через рекламную сеть протащили баннер с JavaScript, который «стучался» на сайт жертвы. Интересно, что стоить такая атака может, буквально, три копейки. И хотя DDoS-защита ее отобьет, у сайтов без таковой теперь сильно больше шансов попасть под раздачу.
Древности:
«Bebe»
Нерезидентный опасный вирус. Заражает .COM-файлы текущего каталога. Увеличивает размер файла до кратного параграфу, копирует себя в конец файла и изменяет первые 14 байт (PUSH AX;…; JMP FAR Loc_Virus). Нерезидентен, но создает резидентную программу. Для этого копирует часть своего тела в таблицу векторов прерываний по адресу 0000:01CE и устанавливает на нее прерывание 1Ch (таймер). Через некоторое время на экране появляется сообщение:
VIRUS!
Skagi «bebe»>
После того, как с клавиатуры вводится «bebe», вирус отвечает «Fig Tebe!» По словарному запасу вируса можно вполне точно определить его происхождение. Содержит ошибку — не восстанавливает DTA. Это может привести к зависанию компьютера. Еще одна ошибка — не учитывает наличие конвейера у процессоров Intel 80x86 и модифицирует следующую за текущей выполняемую команду, в результате чего работает только на старых моделях IBM PC. Помимо перечисленного текста содержит строчку "*.COM".
Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страницa 60.
Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.