Flame: что известно на данный момент

    Вы уже слышали про Flame? Присаживайтесь поудобнее, сейчас мы предоставим вам все подробности.

    Вирусы Duqu и Stuxnet повысили градус кибервойны на Ближнем Востоке, однако недавно мы обнаружили, пожалуй, самое изощренное кибероружие на сегодняшний день. Червь Flame, созданный для кибершпионажа, попал в поле зрения экспертов «Лаборатории Касперского» при проведении исследования по запросу Международного союза электросвязи (МСЭ), обратившегося к нам за содействием в поиске неизвестной вредоносной программы, которая удаляла конфиденциальные данные с компьютеров, расположенных в странах Ближнего Востока. В процессе поиска этой программы, получившей название Wiper, мы обнаружили новый образец вредоносного ПО, который был назван Worm.Win32.Flame.

    image
    Семь стран, подвергшихся наибольшему количеству атак

    Хотя Flame имеет иной функционал, чем печально известные образцы кибероружия Duqu и Stuxnet, все эти вредоносные программы имеют много общего: географию атак, узкую целевую направленность в сочетании с использованием специфических уязвимостей в ПО. Это ставит Flame в один ряд с «кибернетическим супероружием», развертываемым на Ближнем Востоке неизвестными злоумышленниками. Без сомнения, Flame является одной из самых сложных киберугроз за всю историю их существования. Программа имеет большой размер и невероятно сложную структуру. Она заставляет переосмыслить такие понятия, как «кибервойна» и «кибершпионаж».

    Подробную информацию об этой изощренной угрозе читайте в посте на www.securelist.ru, а здесь мы приведем ключевое описание зловреда.

    ОПИСАНИЕ

    Что именно представляет собой Flame? Червь? Бэкдор? Каков его функционал?

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

    Исходная точка входа Flame неизвестна — мы подозреваем, что первоначальное заражение происходит путем целевых атак, однако найти исходный вектор атаки нам пока не удалось. Подозреваем, что используется уязвимость MS10-033, однако в данный момент подтвердить это мы не можем.

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

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

    Насколько сложен Flame?

    Прежде всего, Flame — это огромный пакет, состоящий из программных модулей, общий размер которых при полном развертывании составляет почти 20 МБ. Вследствие этого анализ данной вредоносной программы представляет огромную сложность. Причина столь большого размера Flame в том, что в него входит множество разных библиотек, в том числе для сжатия кода (zlib, libbz2, ppmd) и манипуляции базами данных (sqlite3), а также виртуальная машина Lua.

    Lua — это скриптовый язык, т.е. язык программирования, легко поддающийся расширению и интеграции с кодом, написанным на языке C. Для многих компонентов Flame логика верхнего уровня написана на Lua — при этом подпрограммы и библиотеки, непосредственно реализующие заражение, компилируются с C++.

    По сравнению с общим объемом кода часть, написанная на Lua, относительно невелика. По нашей оценке, объем разработки на Lua составляет более 3000 строк кода. Для среднего разработчика на создание и отладку такого объема кода требуется около месяца.

    image
    Рис. 1 — декомпилированный код Flame на языке LUA

    Кроме того, вредоносная программа использует для внутренних нужд локальные базы данных с вложенными SQL-запросами, применяет несколько методов шифрования, различные алгоритмы сжатия, создает скрипты с помощью Windows Management Instrumentation, использует пакетные скрипты и т.д.

    Запуск и отладка вредоносного ПО — нетривиальная задача, поскольку вредоносная программа представляет собой не обычный исполняемый файл, а несколько DLL-библиотек, загружаемых при запуске операционной системы.

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

    АНАЛИЗ

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

    Здесь же мы можем предложить вам метод быстрой «ручной» проверки вашей системы на наличие заражения Flame:

    1. Выполните поиск файла ~DEB93D.tmp. Его присутствие в системе означает, что компьютер заражен или был заражен Flame.
    2. Проверьте ключ реестра HKLM_SYSTEM\CurrentControlSet\Control\Lsa\ Authentication Packages. Если вы найдете в нем mssecmgr.ocx или authpack.ocx, значит, ваш компьютер заражен Flame.
    3. Проверьте наличие следующих папок. Если они есть — вы заражены.
    C:\Program Files\Common Files\Microsoft Shared\MSSecurityMgr
    C:\Program Files\Common Files\Microsoft Shared\MSAudio
    C:\Program Files\Common Files\Microsoft Shared\MSAuthCtrl
    C:\Program Files\Common Files\Microsoft Shared\MSAPackages
    C:\Program Files\Common Files\Microsoft Shared\MSSndMix

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

    Берегите себя! И следите за новостями…
    «Лаборатория Касперского» 143,17
    Ловим вирусы, исследуем угрозы, спасаем мир
    Поделиться публикацией
    Комментарии 84
    • –1
      А под маком живет червь? Как проверить?
      • +7
        Ответ кроется в названии зловреда Worm.Win32.Flame — соответственно, живет только под виндой.
        • –2
          Я правильно понимаю, что под 64-х битной виндой он не жизнеспособен?
          • +1
            Ну в 64 разрядных системах возможность запуска 32 битного кода есть, поэтому думаю, что работает на ура.
            • +2
              Скорее Win32 означает, что он использует 32ух битный WINAPI.
        • –4
          А автор червя, безусловно, — сам Башар Асад.
          • +2
            Ему-то зачем Иран атаковать?
            • –6
              Вообще-то это ирония.
              • +20
                Что за привычка сказать какую-то чушь, а потом отговариваться со словами «я пошутил», или «это ирония»?
                • –4
                  Уже плевать на карму, но нужно быть откровенным идиотом, чтобы поверить, что Башар Асад написал такого червя и натравил его на Ближний Восток, и не увидеть в моих словах иронию, да еще и обвинить в обратном. Видимо для таких как вы и работает западное СМИ и либерасты, которые помогают вам поверить, что он же уничтожает детей в своих деревнях.
                  • +4
                    В-нулевых, «Иро́ния (от др.-греч. εἰρωνεία — «притворство») — троп, в котором истинный смысл скрыт или противоречит (противопоставляется) смыслу явному». Я не понял, что у вас скрыто, или что чему противопоставляется?
                    Во-первых, почему именно президент Сирии?
                    Во-вторых, не стоит спорить со мной, а тем более уличать в каком-то незнании. У меня есть там знакомые, с которыми моя семья поддерживает контакт.
                    • 0
                      Суть, иронии в том, что президент Сирии — очередной «недемократичный тиран», на которого травят всех собак(+Flame), и по карте можно легко увидеть другие недостаточно «задемократизированные» страны.

                      И не удивительно, если новости о географии Flame не найдут широкой поддержки западных СМИ.
                      • +2
                        The virus appears to be capable of logging keyboard strokes, activating computer microphones and taking screen shots, the Post reported. Countries across the Middle East have reported being affected


                        Washington Post

                        The Russian Internet security firm Kaspersky Lab ZAO said the Flame virus has struck Iran the hardest, but has been detected in the Palestinian territories, Sudan, Syria, Lebanon, Saudi Arabia and Egypt.


                        TIME

                        But Flame appears to be part of the state-sponsored campaign that spied on and eventually set back Iran’s nuclear program in 2010


                        The New York Times

                        Не думайте, что в США поголовно поддерживают бзик силовиков, помешанных на поиске ядерного оружия в Иране, Северной Корее, Сирии, %COUNTRYNAME%.
                        • +1
                          Согласен, и это отлично.
                  • +2
                    Сирия, это страна которую будут бомбить следующией. Ирония в том, что вирус писал (сюрприз) не Башар Асад (читай Сирия). А писали его те страны, которые эту Cирию люто ненавидят. Интересно, кто бы это мог быть?

                    Непонимание иронии, указывает, мягко говоря, на интеллектуальный уровень собеседника.
                    • 0
                      >на интеллектуальный уровень собеседника
                      Или на различный набор культурных кодов в головах беседующих.
                      • +1
                        Именно. Но это скорее в порядке исключения.
                        PS. Всегда думал, как перевести cultural reference. Буду знать. Спасибо (:
              • 0
                Автор червя, безусловно, русский гениальный программист-иммигрант, которого отловили нужны люди, посадили в бункер и заставили писать вирус под угрозой жизни его и его семьи.
              • +3
                а что значит 189 атак?
                • +1
                  189 — количество обнаруженных нами уникальных зараженных машин.
                • +5
                  Хорошо бы дать линк на VirusTotal, например, где у каждого антивируса свое название, не у всех же Касперский. А то вот так встретишь и не узнаешь…
                  • +2
                    У меня дежавю.
                    • +25
                      Наличие каталога C:\Windows — означать весьма высокую вероятность зараженности вашего компьютера…
                      • +9
                        Обозначение устройств хранения как <буква>: — тоже признак вероятного заражения компьютера.
                        • 0
                          У объекта есть GUID?, высока вероятность заражения )
                      • +1
                        Ближнему востоку как никому другому пора переходить на ОС, в которых червей на много порядков меньше и уязвимости чинятся оперативнее.
                        • +19
                          Нееет! Тогда под никсы появится больше вирусов!
                          • –1
                            О даа, универсальный совет… Переходите на никсы там вирусов нет.
                            Ну ок, перешли. Что помешает соответствующим подразделениям пентагона или АНБ начать писать целевое ПО для никсов? Да ничего. Нет никаких гарантий, что под китайский Red Flag или как там его, уже не пишется вовсю шпионское по. К тому же, что помешает тому же АНБ стать (под чужим флагом) добросовестным участником разработки компонентов Линукса с целью добавления хорошо замаскированных бэкдоров в будущем.
                            Невзирая на открытость исходников, много есть желающих проанализировать сотни тысяч строк от завоевавших авторитет и доверие разработчиков, являющихся тайно сотрудниками АНБ?
                            • +8
                              «К тому же, что помешает тому же АНБ стать (под чужим флагом) добросовестным участником разработки компонентов Линукса с целью добавления хорошо замаскированных бэкдоров в будущем.»

                              Расскажите, пожалуйста, что такое «хорошо замаскированный бэкдор» в коде, который мало того что открыт, так еще и обфускация не применима. При этом заработать доверие легко, а потерять крайне сложно.

                              «Невзирая на открытость исходников, много есть желающих проанализировать сотни тысяч строк от завоевавших авторитет и доверие разработчиков, являющихся тайно сотрудниками АНБ?»

                              Сотни тысяч строк? Зачем? Достаточно проанализировать ключевые места, отвечающие за сетевое взаимодействие, например. А это на порядки меньший объем.

                              На случай, если Вы мне вспомните, историю про то, что «в ядре линукса были обнаружены закладки оставленные когда-то кем-то из АНБ», то я Вам отвечу, что кроме слов про это ничего больше не было. Даже указания на конкретные подозрительные куски кода.
                              • +1
                                Тем не менее, вектор вполне реальный: хорошо рассчитанную уязвимость можно спрятать в коде и с немалой вероятностью она проживёт нужное время.
                                • –1
                                  Я повторю, вопрос. Как? Я не знаю внутренний процесс стабилизации ядра линукс среди непосредственно команды разработчиков, это еще дополнительное время для изучения каждого изменения (коммита), но представим, что все изменения становятся доступны при объявлении очередной версии ядра стабильной.
                                  После выхода очередной стабильной версии ядра проходит от недели (gentoo) до месяцев (debian) до включения ее в состав стабильных веток дистрибутивов. Все это время каждое изменение (особенно в ключевых местах) в этой версии изучается квалифицированными людьми от независимых энтузиастов (grsecurity) до специалистов того же микрософта (Вы же не думаете, что они черти что станут ставить на свои сервера скайпа).
                                  И Вы реально верите, что под таким постоянным мониторингом, при невозможности обфускации (очевидно, никто в здравом уме не пропустит обфусцированный код в ядро) какую-либо гадость можно спрятать в коде? Расскажите способ, мне очень интересно.
                                  • +1
                                    Уязвимость может быть внесена как побочный эффект внешне совершенно невинного кода, или даже побочный эффект побочного эффекта. Но тем не менее, она будет внесена и ждать своего часа. Ваша надежда на каких-то квалифицированных людей и мифический мониторинг выглядит несколько наивной, учитывая дикое количество пропущенных нечаянных уязвимостей при всех контрмерах. О нарочной и тщательно скрытой уязвимости и говорить нечего.
                                    • –1
                                      «учитывая дикое количество пропущенных нечаянных уязвимостей при всех контрмерах. О нарочной и тщательно скрытой уязвимости и говорить нечего.»

                                      Мой ответ ниже и для Вас тоже.
                                      • +1
                                        Я не хочу в тысячный раз участвовать в дискуссии кто «безопаснее»: линукс или винда. Мы говорили о другом: о теоретической способности внести бэкдор или практическую уязвимость на будущее при помощи внешне совершенно безобидного кода. И это пройдет любой секюрити аудит. Открытость или закрытость исходников не играет тут никакой роли, ибо в исходниках попросту не будет ничего подозрительного.
                                        • +1
                                          «Мы говорили о другом: о теоретической способности внести бэкдор или практическую уязвимость на будущее при помощи внешне совершенно безобидного кода. И это пройдет любой секюрити аудит. „

                                          В таком случае мы говорим о разных вещах. Вы невнимательно читали меня с самого начала. В открытый, наблюдаемый мировым сообществом, исходный код существенно сложнее внедрить бэкдор по причинам, которые я описал в комментах рядом и что подтверждается уже упомянутой статистикой по уязвимостям. И убрать этот бэкдор в случае его обнаружения рядовому системному администратору намного проще.
                                          Но я ни в коей мере не говорю, что внедрение бэкдора в исходный код невозможно.
                                          Согласитесь, что теоретическая возможность отличается от реального исполнения на практике. В текущих реалиях заинтересованным лицам выгоднее пиарить закрытое ПО, в частности поддерживать слух “открытый исходный код не безопаснее закрытого», чем разрабатывать бэкдор, который можно будет замаскировать под полезный исходный код.
                                          • +1
                                            Нет, я читал внимательно. Вы называете опенсорс (либо сам код, либо процедуры его коммита и аудита) более безопасным в сравнении с проприетарным (тяжелее внедрить, легче обнаружить, большое число проверяльщиков и т.п.). Я же продолжаю утверждать, что внедрение уязвимостей, особенно целенаправленное внедрение, совершенно оротогонально открытости-закрытости исходников системы!

                                            Открытый исходник НЕ делает систему безопасной.
                                            Закрытый исходник НЕ делает систему уязвимой.
                                            Комментариев вроде «Здесь мой секретный бэкд00р» или строчек кода «if(src.domainName==»cia.gov") {...} не будет ни там, ни там.

                                            Если Кому Положено™ понадобится, они внедрят/используют уязвимость и в опенсорсе, и в закрытом сорсе, и даже в промышленном микроконтроллере (см. stuxnet).

                                            Заинтересованные лица просто не будут рассматривать это в качестве критерия. Вообще не будут. Ваши предпосылки ошибочны изначально. Например, закрытые исходники точно так же открываются для аудита безопасности. Майкрософт и другие делают это для любой серьезной конторы, т.е. преимущества опенсорсной платформы не так уж и велики. По поводу множества проверок, аргумент также спорен. Пусть «количество глаз» условно говоря снижает риск внедрения уязвимости, но количество коммитов и их открытость любому желающему этот риск соответственно повышают. А если не ограничиваться ядром и взять 100500 других проектов и дистрибутивов с абсолютно разными политиками коммитов и аудита, с ленивыми/забившими мэйнтейнерами, то станет ясно, что никакой слух не нужен. Эксперт, выбравший «безопасную» систему на основании проприетарности — идиот. Эксперт, выбравший систему на основании ее опенсорсности — такой же идиот.

                                            Реальность такова, что доказать отсутствие бэкдоров нельзя. Значит они есть. Не для вирусов-хакеров-червей в винде-социального фишинга, а для Крутых Ребят™, которые этой фигней ядерные центрифуги взрывают и реальные секреты воруют. Таким образом, безопасность системы гарантируется не лицензией на код, а ее физической изолированностью.
                                              • 0
                                                К сожалению альтернативу железа у нас пока что нет. По Вашему это значит, что стоит отказаться от защиты на уровне ОС?
                                                • 0
                                                  Молодой человек, остыньте. Реплика предназначалась не вам.
                                              • 0
                                                «Нет, я читал внимательно. Вы называете опенсорс (либо сам код, либо процедуры его коммита и аудита) более безопасным в сравнении с проприетарным (тяжелее внедрить, легче обнаружить, большое число проверяльщиков и т.п.). Я же продолжаю утверждать, что внедрение уязвимостей, особенно целенаправленное внедрение, совершенно оротогонально открытости-закрытости исходников системы!»

                                                Прекрасно. Мы хотя бы понимаем друг друг, хоть и не согласны.

                                                «Открытый исходник НЕ делает систему безопасной.
                                                Закрытый исходник НЕ делает систему уязвимой.
                                                Комментариев вроде «Здесь мой секретный бэкд00р» или строчек кода «if(src.domainName==»cia.gov») {...} не будет ни там, ни там."

                                                Пока к сожалению не увидел убедительных аргументов за эту точку зрения. В основном все аргументы сводятся к «А вот в линукс тоже бывают баги, давайте загуглим „баги в линукс!“

                                                »Если Кому Положено™ понадобится, они внедрят/используют уязвимость и в опенсорсе, и в закрытом сорсе, и даже в промышленном микроконтроллере (см. stuxnet)."

                                                Вас не смущает, что при этом «Кому Положено™», что у нас, что на западе, используют модификации ОС (модификация в основном заключается в проведении аудита собственными силам), основанные на ПО с открытым кодом?

                                                "
                                                Заинтересованные лица просто не будут рассматривать это в качестве критерия. Вообще не будут. Ваши предпосылки ошибочны изначально. "

                                                Будут. И рассматривают. См. комментарий выше. Никто не говорит, что открытость исходников единственный критерий выбора. Но один из основных точно. Потому что…

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

                                                … Майкрософт и другие это делают для любой серьезной конторы, только если макрософту это нужно. И только организационная часть этого процесса занимает несравнимое с опенсурсом количество времени. Не забывайте, пожалуйста, что изначально я все-таки говорю про ближний восток, т.е. государства “не дружественные» США.
                                                Именно поэтому в РФ их системы сертифицированы только для работы с конфиденциальной информацией и только на уровне ФСТЭК. ФСБ же и МинОбороны для работы с грифованной информацией разрешает только производные от линукса (МСВС, AstraLinux и т.д.). На 100%, не уверен, но по информации, которую мне удавалось найти в инете, за рубежом в большинстве случаев, ситуация похожа. И даже МС на свои сервера ставит linux.

                                                Пример из жизни. В районе 2007-2008 годах устраивался на работу в гос.контору, в которой не хватало ресурсов на переобучение персонала для работы в *nix, но которой соответствующие органы запрещали работы на несертифицированных ОС (чуть выше, чем конфиденциалка у ФСТЭК), так и сидела контора не несколько сотен человек на windows 2000. Вот Вам и раскрытие исходников для аудита микрософтом.

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

                                                Поясните, пожалуйста, как «количество коммитов и их открытость любому желающему этот риск соответственно повышают». Мне это кажется противоречащим здравому смыслу, так как не все коммиты доходят до конечного пользователя. Они проходят свой QA, по надежности пропорциональный доступности коммитов сообществу. При этом сообщество это независимо от одной страны или корпорации.

                                                «А если не ограничиваться ядром и взять 100500 других проектов и дистрибутивов с абсолютно разными политиками коммитов и аудита, с ленивыми/забившими мэйнтейнерами, то станет ясно, что никакой слух не нужен.»

                                                А не надо брать дистрибутивы и проекты с ленивыми и забившими мейнтейнерами. Я же не предлагаю брать Windows XP без сервис паков. Защищенная opensource система — та, в которой мертвые пакеты отсутствуют, патчи безопасности накладываются оперативно. Иначе теряется собственно смысл опенсурса.

                                                «Эксперт, выбравший «безопасную» систему на основании проприетарности — идиот. Эксперт, выбравший систему на основании ее опенсорсности — такой же идиот.
                                                »

                                                Вы снова пропустили слово «только». Естественно система на опенсурсе, к которой физический доступ все кто захочет менее защищена, чем closedsource, стоящий в отдельной комнате, без каких-либо средств коммуникации. Но я сейчас пытаюсь рассуждать о сравнении только операционных систем. А не полностью систем обработки информации. Поэтому сравнивать предлагаю ОС в одинаковых условиях использования.

                                                "
                                                Реальность такова, что доказать отсутствие бэкдоров нельзя. Значит они есть. Не для вирусов-хакеров-червей в винде-социального фишинга, а для Крутых Ребят™, которые этой фигней ядерные центрифуги взрывают и реальные секреты воруют."

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

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

                                                Лицензия на код != открытость\закрытость кода. Открытый код может быть под разными лицензиями, так же как и закрытый.

                                                И безопасность системы не гарантируется только физической изолированностью, так же как и открытостью\закрытостью кода. Это две составляющие (необходимые, но недостаточные) комплекса мер по обеспечению безопасности системы.
                                                Т.е. при физически изолированной системе мы уже оперируем совершенно другими критериями. Но, к сожалению, «иногда» связь с внешним миром необходима, поэтому обеспечить полную изолированность, так чтоб надежность непосредственно ОС не играла роли, мы не можем.
                                      • 0
                                        Господи, когда уже линуксоиды поймут, что открытость != безопасность, и что в Open Source продуктах уязвимости есть, причем — опасные и долгоживущие?
                                        Два самых интересных примера (особенно второй):
                                        www.opennet.ru/opennews/art.shtml?num=32872 — новость от 23.01.2012 — была обнаружена узявимость, позволяющая злоумышленнику выполнить произвольный код с правами root. Уязвимы все ядра с 2.6.39, релиз которого состоялся в мае 2011. Т.е. уязвимость просуществовала более полугода.
                                        www.xakep.ru/post/49195/default.asp — еще лучше. Найденная в ядре уязвимость компрометировала все системы, выпущенные за последние 8 лет.

                                        Это все — с первой страницы выдачи гугла по запросу «ядро linux уязвимость».
                                        Эксперты эти вещи проморгали, а ведь это вряд ли специальные закладки, просто ошибки.
                                        • 0
                                          И еще раз. Никто не говорит про полную неуязвимость. «Уязвимости есть» (opensource), «уязвимости есть, появляются регулярно по несколько раз в год новые и никто не гарантирует оперативное их прикрытие» (closedsource) — совершенно разные характеристики с точки зрения безопасности.
                                          Локальная возможность повышения привилегий — это не MS10-033 и другие подобные удаленно эксплуатируемые уязвимости, через которые можно запускать червей, о чем изначально разговор.
                                          А еще есть нюансы:
                                          1) Первая уязвимость сходу не работала с grsecurity, обязательной к установке на сервера и защищенные десктопы. Про вторую не скажу, лично не проверял.
                                          2) «Это все — с первой страницы выдачи гугла по запросу «ядро linux уязвимость».» — Это все серьезное (не возможность DoS), что было. Сравните с количество remote code execution уязвимостей в винде за хотя бы 2011 год? В linux+*BSD — 0, винда? И не надо повторять глупостей по поводу того, что винда более распространена. На серверах давно уже господствуют opensource ОСи и злоумышленникам и спецслужбам уж наверное интереснее подчинять себе сервера, маршрутизаторы и т.п., чем компьютеры конечных пользователей. Или Вы искренне полагаете, что *nix были выбраны на большинстве серверных платформ в мире только потому, что он дешевле?
                                          3) С каждым годом людей, следящих за кодом ядра становится все больше. Так что вероятность сделать ошибку и пропустить уязвимость как во второй новости — все меньше.
                                          • 0
                                            Почитал про вторую новость. Есть подозрение, что при правильно настроенной grsecutiry (полностью включенном PaX) она экплуатируема только теоретически.
                                          • 0
                                            Как этот мониторинг мешал пропускать в ядро (кстати, когда мы перешли от «компонентов Линукс» к «ядру Линукс», а?) уже найденные за эти годы уязвимости?
                                            • 0
                                              Мониторинг можно условно разделить на два типа:
                                              1) неторопливое и вдумчивое изучение всей массы исходников.
                                              2) изучение вносимых изменений

                                              По п.1 работает меньше людей, чем по п.2. Поэтому есть теоретическая вероятность, что не все уязвимости в «старом» исходном коде обнаружены.
                                              По п.2 работают практически все разработчики открытого ПО, так что внесение бэкдора на данном этапе ничтожно мала.
                                              Действенность мониторинга (извините, я снова повторяюсь, но Вы задаете вопрос, на который я уже отвечал) подтверждается сравнением количества и качества (локальная против удаленной) обнаруженных уязвимостей в открытом и закрытом ПО. Да и с точки зрения здравого смысла: согласитесь, всего с двумя вещами:
                                              1) найти уязвимость намного проще, имея доступ к исходному коду
                                              2) доступ к исходному коду виндовс есть у сильно меньше количества людей, чем у линукс

                                              P.S. Я не переходил от «компонентов Линукс» к «ядру Линукс». Ядро линукс — просто пример самого большого ПО с открытым исходным кодом. Вы можете мои сообщения из этой ветки экстраполировать на любое более-менее популярное ПО: apache\nginx vs IIS, MS Office vs (Open)LibreOffice, iptables vs «Брандмауэр windows» :-D и т.п.
                                      • +1
                                        Сразу вспомнил про OpenBSD FBI backdoor, но то была утка.
                                        А вот есть интересный пример cm.bell-labs.com/who/ken/trust.html
                                        • –1
                                          Интересная статья, спасибо.

                                          Теоретически все верно.
                                          Но.
                                          Во-1, никто не говорит про абсолютную невозможность затроянить открытый код. Речь идет про несопоставимую сложность этого дела для спецслужб в версиях софта, доходящего до конечных пользователей, при закрытых исходниках и открытых.
                                          Во-2, в 1987 году компьютеры вообще были малораспространены, а уж тем более unix системы. Поэтому описанное и могло представляться возможным.

                                          В наше время чтобы в массовых масштабах выполнялось описанное, надо, чтоб все бинарники компиляторов, используемые для сборки популярных дистрибутивов были затроянены. При этом первый залетевший дятел будет способен разрушить цивилизацию любая сборка незатрояненым компилятором прерывает цепочку. Я вот полгода назад собирал генту на серваке на основе слаквари 10 (выпуск 2004 года). То есть уже тогда в дистрибутив слаквари должен быть заложен троян. И это простой домашний сервак, который не предназначен для укрывания информации от ЦРУ и АНБ. Будь я человеком, обеспечивающим безопасность ядерных ученых ядерной державы, я бы нашел способ с около 100% гарантией защититься от описанного в статья по ссылке.

                                          И это мы совершенно не учитываем, что так же должно быть затрояннено всё оборудования для мониторинга трафика, контроля сетевой активности и т.д. Так как если вдруг всплывёт информация о подобном троянце, дырка будет прикрыта и все усилия для ее заложения будут насмарку.
                                      • +1
                                        В активных проектах код читается множеством людей, а код, отправляющийся в ядро так вообще проходит через несколько рук.

                                        Сложно тут просунуть нечто, что бы выглядело как нечто полезное, но на самом деле внутри несло бы деструктивный/шпионский функционал или полноценный бэкдор.

                                        Просунуть уязвимость — ещё может быть, но намеренное создание малозаметных уязвимостей тоже непростая задача.

                                        Анализировать сотни тысяч строк незачем. Достаточно следить за новым кодом.
                                      • 0
                                        А вот тут скорее всего правда. Ведь серверные сборки линукса, как никто другие постоянно подвергаются разным атакам.
                                        Но увы, это слишком трудно. Никто не будет столько систем переводить на другую платформу, при вопросительном выиграше.
                                        • +1
                                          Если уже Lua пихают в трояны, то видимо АНБ троянцы под Линукс будут поставляться вместе со своей копией wine)
                                          • 0
                                            wine не стабилен. Надежнее VirtualBox с образом из затрояненной Windows 7 Starter :-D
                                      • 0
                                        Антивирусы его отлавливают?
                                        • +5
                                          Наши продукты успешно детектируют и удаляют все возможные модификации главного модуля и дополнительных компонентов Flame.
                                        • +3
                                          А каким образом можно оценить общее количество зараженных компьютеров в стране по количеству обнаруженных вами? Хотя бы примерно? Ну, скажем два нолика дописать к пяти компьютерам в Египте, или пять, или умножить на 500?
                                          • 0
                                            >189 — количество обнаруженных нами уникальных зараженных машин.
                                            • +2
                                              это понятно, что если 189 обнаружили, то в стране зараженных больше либо равно 189 :-))
                                              Но может есть у касперского и более значащие оценки, например если известно, что касперский проверяет 1% компьютеров в стране, тогда, если 189 зараженных среди этого 1%, то можно умножить 189 на 100 и получим примерное количество зараженных компов во всей стране :-) Ну можно придумать кучу вариантов, чего гадать. Если есть оценки такие — скажите пожалуйста. Если нету — то какой смысл в оценках типа «189 в Иране, и 5 в Египте»?
                                            • 0
                                              Мы отвечаем только за те данные, которые готовы подсчитать и разгласить. По объективным причинам данные, запрашиваемые вами, в статье не даны. Так тому и быть, приносим свои извинения.
                                            • 0
                                              Хотел бы попросить лабораторию Касперского изучить на возможные программы такого рода, действующие в нашей стране.
                                              • +3
                                                а кому мы нужны то? Сам медведев сказал что сам в шоке что у нас все на нефти висит.
                                                «Мы голодранцы»
                                              • –12
                                                Странный какой то проект, несуразный, написан на нескольких языках, одна часть использует zlib, libbz2, накой большой что пользователь может заинтересоватся, что это такое тут аж 20 мегов занимает.

                                                Такое впечатление что разработчиков искали на freelance.ru в стиле
                                                «Библиотека по захвату звука», срок -2 месяца, цена-60 тыс. руб.
                                                • +12
                                                  Да, рядовые пользователи имеют свойство проверять количество длл и объем занимаемой оперативно памяти. Вон мама у меня сначала поставит программу, а потом пока отладчиком не проверить, process explorer-ом не изучит не запускает!
                                                  • –1
                                                    Вот это мама у вас!
                                                • +3
                                                  Сейчас весь ближний восток бросится скупать каспера
                                                  • +2
                                                    Вы не поверите, но на ближнем востоке, а точнее в Израиле, очень много новостей на эту тему.
                                                  • 0
                                                    Малварь, конечно, монстр, но использование сторонних библиотек и огромный размер увеличивают шансы демаскировки.

                                                    Один из авторов знает толк в названиях.
                                                    • 0
                                                      Вам же сказали, что это полный фарш весит 20 мегов. А бутстрап может быть микроскопическим, уже после получения контроля над системой, потихоньку подтягивающего нужный фукнкционал.
                                                    • +1
                                                      Ну что, кто-нибудь из нашел у себя эту зверушку? Я облазил у себя все — вроде чисто… Теперь сижу, пытаюсь себя убедить, что я не параноик.
                                                      • +5
                                                        Попробуйте выучить арабский и отрастить бороду
                                                        • +3
                                                          Достаточно думаю поставить иранскую кодовую страничку и создать на десктопе файл «NuclearProgress.doc»
                                                      • –2
                                                        98 машин в Израиль Палестина

                                                        Палестина это Израиль вместе с сектором газа. Сколько заражений есть только в Израиле? И есть ли вообще?
                                                        • –1
                                                          А что в нём такого интересного? Я понимаю, во времена чиха и бласта было интересно. А это — так, фигня.
                                                          • 0
                                                            Сложность и цели использования. Чих писали в другую эпоху.
                                                            • +2
                                                              Вы знаете, я вырос в ту эпоху, когда вирусы ценили за оригинальные идеи.
                                                          • –1
                                                            Слушал доклад Гостева вчера на PHD, было очень увлекательно. Но вот нагнетание «глобального заговора» и «межнациональных кибервойн» (в явном виде имевшее место на докладе) ИМХО перебор.
                                                            • –1
                                                              Причём тут конспирология? Кибер-подразделения есть в армиях всех развитых стран.
                                                              Очевидно, что они не тетрис там пишут.
                                                              Вирус — вполне очевидное оружие любой современной армии.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                              • –1
                                                                Уважаемые, а есть существует уже утилита для автоматической проверки с ведением логов желательно?
                                                                интересует проверка всех компов в сети.
                                                                • +1
                                                                  Гостев на Phdays говорил, что удалось получить батник-uninstaller, которые использовали «хозяева» для очистки контролируемой Касперскими копии зловреда. Так что в ближайшем будущем ждём появления тулзы от Касперского для очистки системы.
                                                                • 0
                                                                  Ахтунг, у Flame есть страничка на хабре.
                                                                  Ждём от него душещипательных историй о сложности жизни на иранских объектах под гнётом антивирусов.
                                                                  • +3
                                                                    Коллеги из Будапешта уже представили технический анализ червя www.crysys.hu/skywiper/skywiper.pdf
                                                                    • 0
                                                                      Чекер этой дряни

                                                                      #!/usr/bin/python
                                                                      
                                                                      import os
                                                                      import sys
                                                                      import _winreg
                                                                      
                                                                      windir = os.environ['WINDIR'];
                                                                      sysdir = windir + "\\system32\\"
                                                                      tmpdir = windir + "\\temp\\"
                                                                      catalog = []
                                                                      find = []
                                                                      reg = 0
                                                                      
                                                                      def isInfected():
                                                                      	checkRegKey()
                                                                      	checkCatalogs()
                                                                      	checkAllFiles()
                                                                      	
                                                                      def checkRegKey():
                                                                      	global reg
                                                                      	regkey = "SYSTEM\\CurrentControlSet\\Control\\Lsa\\"
                                                                      	value_name = "Authentication Packages"
                                                                      	key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regkey)
                                                                      	key_value = _winreg.QueryValueEx(key, value_name)[0]
                                                                      	regvalues = ["mssecmgr.ocx", "authpack.ocx"]
                                                                      	for regvalue in regvalues:
                                                                      		if regvalue in key_value: reg = 1
                                                                      	
                                                                      def checkCatalogs():
                                                                      	progfiles = os.environ['PROGRAMFILES'];
                                                                      	path = progfiles + "\\Common Files\\Microsoft Shared\\"
                                                                      	catalogs = ["MSSecurityMgr", "MSAudio", "MSAuthCtrl", "MSSndMix"]
                                                                      	for cname in catalogs:
                                                                      		cpath = path + cname;
                                                                      		exists = os.path.isdir(cpath)
                                                                      		if exists : catalog.append(cpath)
                                                                      
                                                                      def checkAllFiles():
                                                                      	global find
                                                                      	exists = os.path.isfile(windir + "\\Ef_trace.log")
                                                                      	if exists : find.append(fpath)
                                                                      	sysfiles = ["mssecmgr.ocx", "wavsup3.drv","~zff042.ocx","msdclr64.ocx","ccalc32.sys",
                                                                      				"msglu32.ocx","boot32drv.sys","nteps32.ocx","advnetcfg.ocx","soapr32.sys",
                                                                      				"Advpck.dat","ntaps.dat","Rpcnc.dat","svchost1ex.mof","Svchostevt.mof",
                                                                      				"frog.bat","netcfgi.ocx","authpack.ocx","~a29.tmp","rdcvlt32.exe","to961.tmp",
                                                                      				"authcfg.dat","Wpab32.bat","ctrllist.dat","winrt32.ocx","winrt32.dll",
                                                                      				"scsec32.exe","grb9m2.bat","winconf32.ocx","watchxb.sys","sdclt32.exe",
                                                                      				"scaud32.exe","pcldrvx.ocx","mssvc32.ocx","mssui.drv","modevga.com",
                                                                      				"indsvc32.ocx","comspol32.ocx","comspol32.dll","browse32.ocx"]
                                                                      	tmpfiles = ["~DEB93D.tmp","~8C5FF6C.tmp","~DF05AC8.tmp","~DFD85D3.tmp","~DFL*.tmp",
                                                                      				"~dra*.tmp","~fghz.tmp","~HLV*.tmp","~KWI988.tmp","~KWI989.tmp","~rei524.tmp",
                                                                      				"~rei525.tmp","~rf288.tmp","~rft374.tmp","~TFL848.tmp","~TFL849.tmp",
                                                                      				"~mso2a0.tmp","~mso2a1.tmp","~mso2a2.tmp","sstab*.dat"]
                                                                      	for sysfile in sysfiles:
                                                                      		spath = sysdir + sysfile
                                                                      		exists = os.path.isfile(spath)
                                                                      		if exists : find.append(spath)
                                                                      	for tmpfile in tmpfiles:
                                                                      		tpath = tmpdir + tmpfile
                                                                      		exists = os.path.isfile(tpath)
                                                                      		if exists : find.append(tpath)
                                                                      
                                                                      def printResults():	
                                                                      	if reg == 1 or len(find) > 0 or len(catalog) > 0 :
                                                                      		print "You are infected!"
                                                                      		if (reg):
                                                                      			print "Modified registry key found:"
                                                                      			print "  HKLM_SYSTEM\CurrentControlSet\Control\Lsa\ -> Authentication Packages"
                                                                      		if (len(find) > 0):
                                                                      			print "Malicious files found:"
                                                                      			for fpath in find:
                                                                      				print "  " + fpath
                                                                      		if (len(catalog) > 0):
                                                                      			print "Malicious catalogs found:"
                                                                      			for cpath in catalog:
                                                                      				print "  " + cpath
                                                                      	else :
                                                                      		print "You are not infected :)"
                                                                      		
                                                                      def printHelp():
                                                                      	print "\nflame detector 1.0 (http://www.ldelgado.es/?flamedetector)\n"
                                                                      	print "Usage: python flame_detector.py OPTIONS\n"
                                                                      	print "Options:"
                                                                      	print "--check      Checks if your system is infected by Flame/SkyWiper searching"
                                                                      	print "             for some special files, catalogs and registry keys"
                                                                      	
                                                                      if len(sys.argv) == 2:
                                                                      	param = sys.argv[1].lower()
                                                                      	if param == "--check": 
                                                                      		isInfected()
                                                                      		printResults()
                                                                      	else: printHelp()
                                                                      else: printHelp()
                                                                      
                                                                      
                                                                      • +3
                                                                        Я вот думаю — учить питон или нет? Почему всё чаще на нем пишут?

                                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                      Самое читаемое