Stuxnet, Flame и Duqu использовали GPL-код

Stuxnet, Flame и Duqu использовали GPL-код

Stuxnet, Flame и Duqu — три самые известные программы, предположительно созданные спецслужбами в качестве «кибеоружия» против других стран. Программа Stuxnet успешно вывела из строя 80% иранских центрифуг по обогащению урана, а шпионская программа Flame несколько лет скрытно работала на иранских компьютерах, установившись как обновление Windows.

На прошлой неделе предположения об американском заказе подтвердились: выяснилось, что президент Обама лично следил за внедрением вируса Stuxnet на иранские компьютеры. Насчёт Flame и Duqu прямых доказательств пока нет. Но вряд ли приходится сомневаться, что эти программы тоже созданы по заказу американцев.

Самое интересное, что во всех трёх программах использовалась библиотека LZO, которая распространяется строго под лицензией GNU GPL.

В программе Flame, кроме LZO, используются и другие проекты Open Source:

putty — лицензия MIT
libbz2 — лицензия типа BSD
zlib — своя лицензия
SQLite — общественное достояние
Lua — лицензия MIT

Как известно, GNU GPL требует распространения с двоичными файлами исходного кода программы или письменного обязательства его предоставить. Именно так и распространяется библиотека LZO. Условия GPL требуют также, что пользователи всех производных программ должны получать такие же права. То есть все производные программы, использующие код GPL, должны распространяться с открытыми исходными кодами или с обязательством их предоставить, сообщает habrahabr.ru.

Очевидно, Stuxnet, Flame и Duqu нарушат лицензию GPL, если авторы этих программ не предоставят свои исходные коды.

Проблема сейчас очень актуальна, потому что лучшие специалисты нескольких антивирусных компаний активно работают над реверс-инжинирингом Flame. Учитывая объём программы (20 мегабайт, сотни тысяч строк кода), это очень непростая задача. Что там говорить, если анализ Duqu продолжается не первый год и ещё далёк от завершения: специалистам «Лаборатории Касперского» только при помощи сообщества недавно удалось понять, на каком языке программирования написан фреймворк.

Венгерская компания CrySyS, которая первой обнаружила Flame, тоже до сих пор работает над анализом Duqu. Она опубликовала обращение к авторам программы Duqu выслать исходные коды на адрес duqusubmit@crysys.hu. Они обязаны сделать это по условиям лицензии, пусть даже анонимно.

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

Zombie ZIP: новый трюк с ZIP-архивами помогает обходить антивирусы

Исследователи обратили внимание на новую технику под названием Zombie ZIP, которая позволяет прятать вредоносную нагрузку в специально подготовленных ZIP-архивах так, чтобы большинство защитных решений её просто не распознают.

По данным автора метода Криса Азиза из Bombadil Systems, подход сработал против 50 из 51 антивирусного движка на VirusTotal.

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

Но на деле полезная нагрузка остаётся сжатой через DEFLATE, поэтому антивирус видит не подозрительный файл, а фактически «шум» из сжатых байтов. Из-за этого сигнатуры просто не срабатывают.

Самое любопытное, что для обычного пользователя такой архив тоже выглядит странно, но не опасно. Если попытаться открыть его через 7-Zip, WinRAR или unzip, можно получить ошибку, сообщение о неподдерживаемом методе или битые данные.

Это достигается, в частности, за счёт специально выставленного значения CRC, которое не совпадает с тем, что ожидают стандартные распаковщики. Но если у злоумышленника есть собственный загрузчик, который игнорирует ложный заголовок и распаковывает содержимое как DEFLATE, полезная нагрузка восстанавливается без проблем.

Крис Азиз уже выложил демонстрационный эксплойт на GitHub вместе с примерами архивов и описанием механики. А CERT/CC присвоил этой проблеме идентификатор CVE-2026-0866. Там же отмечают, что история отчасти напоминает старую уязвимость CVE-2004-0935: ещё больше двадцати лет назад уже выяснялось, что антивирусы могут слишком доверять поломанным ZIP-заголовкам.

RSS: Новости на портале Anti-Malware.ru