четверг, 19 мая 2011 г.

Для самых маленьких. Точка входа


Продолжая переводить пост Марка Руссиновича, столкнулся с еще одним термином – Точка Входа. Заостряю Ваше внимание на терминологии. Если есть желание стать профессионалом в той или иной области, то надо начинать с грамотного и точного употребления терминологии – ну путайте, пожалуйста, терминологию со сленгом. Употребления сленга (профессионализмов – как принято говорить) не показывает, что человек профессионал в этой области, это быстрее показывает на то, что человек не владеет терминологией. Имейте это ввиду. Итак,

Точка входа — адрес в оперативной памяти, с которого начинается выполнение программы. Другими словами — адрес, по которому хранится первая команда программы. Однако не надо путать ее с «первыми командами» программы на языке высокого уровня. Например программа на C++ начинает выполнение с функции «main()», на самом деле, программа в памяти начинается далеко не с первой команды функции «main()».

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

Это все, что надо знать про точку входа, для чтения поста Марка Руссинович. Да прибудет с Вами сила!

воскресенье, 8 мая 2011 г.

Для самых маленьких. Реверс-инжиниринг


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

Часто, принимая экзамен, хочется для себя уяснить, а что же этот человек знает или он вообще хоть что-то знает, и спрашиваешь терминологию…

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

Итак, сегодня у нас на повестке дне вопросы, связанные с обратной инженерией. Интересно? Тогда – поехали:

Обра́тная разрабо́тка (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на него с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.

Вопрос плагиата оставляем за кадром. Как говорит одни из моих учителей: «Если ты скопировал и вставил, не читая, - это плагиат, а если прочитал, осмыслил, изложил своими словами – это уже уровень курсовой работы».

Суть реверс-инжиниринг в программировании – взять готовую программу и получить ее исходный код - так называемый листинг.

Задача классического программирования, того, которое мы проходим в школах, институтах – написать код, получить из него работающую программу. Для чего решать обратную задачу, ну тут уже у каждого свои цели: не в далеком прошлом обратный инжиниринг применяли для взлома лицензионных программ. Я же призываю использовать его исключительно в светлых целях.

Поехали дальше: надеюсь, все знают, какой путь проходит код прежде чем стать рабочей программой. В общих чертах такой: код на языке высокого уровня – код на языке низкого уровня - машинный код – готовая программа. Здесь меня можно поправлять и уточнять, но у нас другая цель. Понять что программа – набор команд на понятном данному процессору языке. Едем дальше: понятный процессору язык – ассемблер. То есть, имея на руках экземпляр рабочей программы можно добыть код этой программы на ассемблере. Как?


Дизассемблер
— транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

Что делать с листингом на ассемблере? – изучать, и понимать, что делает каждый программный модуль. Страшно? А кто говорил, что будет легко.




  • Автоматические
  • Интерактивные

Примером автоматических дизассемблеров может служить Sourcer. Такие дизассемблеры генерируют готовый листинг, который можно затем править в текстовом редакторе.

Пример интерактивного — IDA. Он позволяет изменять правила дизассемблирования и является весьма удобным инструментом для исследования программ.

Прозвучал термин «транслятор». В данном посте определим его просто: транслятор – программное средство, позволяющее переводить код программы, написанной на более высоком уровне, в код более низкого уровня. И так по цепочке, до машинного кода.

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

понедельник, 2 мая 2011 г.

Zero Day. К публикации


Продолжаю переводить блог Марка Руссиновича, посвященный Zero Day. На этот раз это будет The Road to Zero Day: Publisher to Publication. Рассказ о публикации романа.

Меня обнадежили в том плане, что, возможно, Zero Day опубликуют в 2009 году, но до марта не был закончен и подписан контракт с Thomas Dunne Books, а, если верить людям, то с момента подписания контракта до выхода книги проходит год. Мой редактор сказал, что книгу собираются публиковать в каталоге весны 2010 года. Я сделал еще одну переработку, на что потребовалось чуть больше времени, чем на предыдущую. Редактор так же посоветовал сделать несколько аннотаций на обложку. К счастью, почти сразу после этого разговора я встретился с Биллом Гейтцем и попросил его написать мне такую аннотацию. С Б.Гейтцем я встречаюсь регулярно с тех пор, как стал работать в Microsoft, и в разговорах мы часто затрагиваем тему информационной безопасности. Я уже рассказывал ему про книгу, поэтому он уже знал про нее. К моему великому изумлению, он согласился написать такую аннотацию. Каждая моя встреча с Биллом кажется немного сюрреалистичный, и, выходя из офиса тем днем, я думал, а было ли этот разговор в действительности. Практически сразу я отослал Биллу рукопись, и, спустя несколько недель, он прислал мне аннотацию, которую Вы все видите на главной страничке сайта.

Следующая рецензия пришла от Говарда Шмидта, сейчас координатора президента Обамы в вопросах информационной безопасности, с которым меня познакомил друг из Microsoft’а. Говард начал проявлять инициативу по созданию защитных систем в Microsoft в 2000 году, когда информационная безопасность стала одним из приоритетов Microsoft, прежде чем он ушел в администрацию Буша советником президента по информационной безопасности. Он бежал в консалтинговую компанию по информационной безопасности, базирующуюся в Лондоне, но оказался поблизости, и мы вместе пообедали. Zero Day отражал некоторые из серьезных его опасения по поводу информационной безопасности, и он согласился прочитать книгу. Через пару недель он прислал не только обещанную аннотацию, но и написал предисловие к книге, что оказалось неожиданным, но очень приятным бонусом. Но еще более неожиданным и головокружительным оказалось то, что вскоре после того, как он направил мне предисловие с аннотацией моей книги, я прочел новость, что он назначен в администрацию Обамы. Его полномочия впечатляли тогда, сейчас же он получил еще больше возможностей.

В декабре 2009 года мой редактор предложил мне лететь в Нью-Йорк на ланч с ним, Томасом Данном, и Анной, которая обещала приехать из Бостона. Возможность встретиться с Томом находилась в разряде тех вещей, которые я никак не мог пропустить, а Нью-Йорк в канун рождества – великолепен, поэтому я организовал семейную поездку. Я взял такси до ресторана, в котором через несколько часов должна была состояться важная беседа. Несмотря на то, что Том важная фигура в издательском мире, он, кажется, совсем не торопился и не смотрел на часы. Он рассказал, как сильно его зацепила книга, и то, что он с нетерпением ждет продолжения. Затем он спросил, какие цели у меня на книгу. Я часто путешествую, поэтому, когда писал роман, главным его успехом казалась продажа в книжных магазинах аэропортов. Тому понравился мой ответ, и он сказал, что сделает это целью для отдела маркетинга.

После ланча, мы поехали в Флэтайрон-билдинг, Нью-Йоркскую достопримечательность, где располагаются St.Martins Press и офис Тома. Я быстро прошел по редакции и пообщался с сотрудниками. Было здорово, окунуться в мир издательства и провести обед, обсуждая романы и технику их написания с профессионалом в этом деле.

Я уже думал, что книга готовиться к весенней публикации, которую они называют «Запуском». Однако же, ближе к февралю мой редактор сказал, что Тому кажется необходимым внести некоторые изменения, чтобы сделать книгу более привлекательной, и очень настойчиво предложил мне их сделать. Я согласился последовать совету и снова пересмотреть книгу в самые кратчайшие сроки, но это означало, что книга не будет готова к весеннему запуску. Тому нравятся изменения, и он установил новую дату начала публикации – осень 2010 года. Я был не сильно разочарован несколькими месяцами просрочки, но позже оказалось, что осенний «запуск» означает – февраль или март следующего года. Казалось, что книга никогда не увидит свет.

Затем, уже летом, Джон сказал мне, что оставляет Томаса Дана, чтобы возглавить Mulholland Books, Little. Смена работы редактора в середине работы надо проектом книги может означать конец книги. К счастью, другой редактор, Питер Джозеф, включился в работу и возглавил проект. Я не могу сказать, что после всех своих опытов я стал больше понимать в книгопечатном бизнесе, но мне приятно, что есть люди, достаточно сильно верящие в мою книгу, и готовые помочь в публикации.

За осень 2010 года мы собрали большое количество аннотаций. Отозвался Вильям Ландай, автор отмеченной наградами книги «Душитель» (The Strangler), про мафию коррупционеров Бостона в 1960ых годах, во время активности бостонского душителя. Мне было приятно получить отзыв от признанного мастера триллеров. Затем мой агент сказала мне, что получила отзыв от автора бестселлера по признанию «New York Times» - Нельсона Де Миля. Я был в восторге. Я чувствовал, что Zero Day – достойная книга, но не знал, как она будет принята особенно читателями не знакомыми с технической литературой. Наличие желания таких громких писателей поручиться за мою книгу было крайне необходимым. Я отослал Нельсону благодарственное сообщение и в ответ получил, что книга ему, действительно, понравилась. К этому времени я получило больше отзывов от технических и публицистических писателей, чем рассчитывал, когда писал книгу.

Кроме того, осенью я подыскивал PR агентства, чтобы они содействовали в продвижении книги на рынке. После собеседований с несколькими компаниями я остановился на Phenix and Phenix. Компания специализировалась на книгах и продвигала нескольких моих любимых авторов, включая Бэна Бова, которые Вам знакомы, если Вы увлекаетесь научной фантастикой. Я читал много его книг в юношестве, а «Машина дуэли» (The Dueling Machine) произвела на меня впечатление, под которым я нахожусь и по сей день.

Так, путешествуя по созданию книги, мы подошли к нашим дням. Путешествие оказалось долгим, гораздо более долгим, чем я ожидал, но я рад, что слушался Анн и работал с ней. Отзывы от предварительной публикации превысили все, которые я ожидал, и я очень надеюсь, что Zero Day будет интересным и для Вас кибер-триллером.

понедельник, 18 апреля 2011 г.

Отношение к специалистам. Пример реальный

«Больно мне за наш СССР»

В.С.Высоцкий

Говорить о том, как обстоят дела с кибер безопасностью в России, наверное, так же, как и описывать ситуацию с энергетикой: специалисты есть, что-то делается, приказы исполняются, отчеты пишутся, планы переносятся…

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

Суть сводится к тому, что на комиссии звучит фраза (она должна агитировать за армию этого государства): «Идут разработки своей собственной операционной системы». Военком, или навел справки, или угадал, но в тот момент я серьезно занимался изучением теории операционных систем, предложение меня заинтересовало – военный институт по переработки пингвина в военных целях – вещь сама по себе очень интересная и довольно таки забавная, но вот гарантию, что я в этот институт попаду он мне дал. Вопрос: зачем тогда что-то говорить, если не знаешь наверняка? Подход явно не инженеров.

Все наши разработки, увы, но умерли, когда мы стали следовать принципу: «Зачем нам что-то придумывать: возьмем напильник и у американцев архитектуру угоним!» наугонялись. Так же точно обстоят дела и с осью – проще говоря, никак.

Долго и усиленно ходят слухи о перевооружении школ. Выделяются деньги. Вопрос: куда они уходят? Лично я, не верю в хорошую переработку Пингвина для наших школ, но это тоже отдельная тема для большого и обстоятельного разговора. Просто две эти темы связаны и идут бок о бок. Мы наблюдаем подбор кадров для разработок систем, тихонько впадаем в панику, видим лоббирование интересов безграмотных депутатов в управление энергетиков: их попытки поставить на руководящие должности в районные сети своих детей (может быть и грамотных специалистов, но совершенно из другой области). «Само же собой напрашивается: хорошего механика перевести в повара, а повара в механики. Тут не то что двадцать два часа – двадцать два года заполнить можно». И пока все будет делаться с этой логикой, ничего путного не будет. И вся информзащита будет на плечах хакеров-интузиастов, основная работа которых к вычислительной технике имеет на такое уж и близкое отношение.

понедельник, 11 апреля 2011 г.

Zero Day. Поиск издания

В этом посте Марк Руссинович описывает, как охотился на издателя. По своей сути пост показывает, как непросто найти издателя, даже если у тебя есть известность, но в другой области. Еще одни пример того, что никогда не стоит унывать и сдаваться после первой неудачи – трудности закаляют, один из девизов хакеров.

Но пост от Марка Руссиновича, приятного чтения:

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

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

Меня слегка удивило отсутствие успеха, но без всякого зазора совести, я послал пакет корреспонденции в другую двадцатку издательств. Следующие три месяца мне шли аналогичные письма. Пришлось принять решение, публиковаться самостоятельно, но одни из друзей сказал, что он знает рекламное агентство “agent agent” – суть в том, что это агентство работает с другими агентствами (вот что я называю двойное агентство). Я просто плачу ему фиксированную сумму, и оно находит мне издателей за три месяца, в противном же случае книга просто не пригодна для больших тиражей.

Двойной агент начал прорабатывать свои связи, и одни за одним получать отказы. В этот раз издательства читали полный текст романа, но вместо какой либо полезной критики приходил все тот же ответ: книга достаточно хорошая, но, увы, не жизнеспособная, не то, что издательства хотели бы видеть. Понятно, что это вежливый намек на то, что материал в книге сырой.

В конце концов, спустя полтора месяца, Анн Колит из Helen Rees Literary Agency сказала, что по ее мнению у книги большой потенциал, и она возьмется за ее публикацию. После того, как я связался с ней, он отредактировала рукопись и дала несколько советов по созданию интриги в сюжете. Я последовал ее советам, сделал некоторую переработку, и началась следующая фаза работы над изданием – поиски основного редактора и главного коммерческого издателя. Она отослала книгу по списку из десяти издательств, и в течении нескольких недель мы получали тот же ответ, что и в начале моей охоты на издателя. Но за тем нам пришел положительный ответ от редактора одного большого издания. Он говорил, что ему книга понравилась, и он готов сделать следующие шаги для ее продажи и прочей работы команды маркетологов. Мои надежды стали расти. Но несколько дней спустя, он сообщил, что не может добиться поддержки у себя в издании. Ничего не получилось.

Анн разослала книгу в редакции второй волной. И снова, пошли те же самые ответы, что и в начале. Сейчас я начал получать рекомендации. Это, спустя два года, как я закончил первый черновик и уже получил дюжины отказов. Я задумался над ситуацией и объявил Анн, что буду издаваться сам. Я уже принялся искать возможности для самостоятельного издания. Но Анн сказала, что мои трудности общие для всех, книга достаточно хорошая для большого тиража – все получится, надо только немного подождать. Я ей поверил.

Осенью 2008 Джон Шонфельдер из Thomas Dunne Books заинтересовался работой. Я навел некие справки про Thomas Dunne Books и узнал, что это подразделение St. Martin’s Press, одного из больших издательств. Мы отослали полный черновик книги осенью 2009 года, и, спустя несколько недель, пришел ответ, что сам Томас Данн прочитал книгу, и она ему понравилась. Я был в восторге. Охота на редактора была завершена, все решилось. К слову, в это время я читал роман Дэна Брауна «Цифровая крепость», и Ден Браун благодарил Томаса Данна за то, что тот был его редактором. Так что я попал в хорошую компанию.

среда, 6 апреля 2011 г.

Для самых маленьких. Zero Day атака

Сегодня этому блогу исполняется месяц. Мне, как его родителю, приятно наблюдать за его ростом и развитием. Да, с недавнего времени, блог начал развиваться уже не зависимо от меня. мне это приятно. Но в самый первый его юбилей, мне хочется стартовать еще одну рубрику (в рамках тематики блога) "для самых маленьких", в которой я планирую разбирать основополагающие вещи - определения, необходимые для понимания материала, посвященного информационной безопасности.
Начну с самых простых вещей:

ОПРЕДЕЛЕНИЯ:

Zero-Day (zero-hour или day zero, или zero-day уязвимость) атака или угроза – это компьютерная угроза, которая пытается эксплуатировать уязвимости в приложениях, которые еще не известны другим и разработчикам, приложений.

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

Термин производный от возраста эксплоита. Zero day атака происходит в первый (или же до него) день осведомленности разработчиков о наличии бреши в их продукте - до того, как они могут что либо предпринять для защиты приложения.

Тем, кому необходимо, изучайте определения, ну а примеры ищите в блоге - тут их предостаточно. Да прибудет с Вами сила

пятница, 1 апреля 2011 г.

Арсенал для ведения кибер войн. Stuxnet распространение и работа

Оружие не может быть ни плохим, ни хорошим. Собственно говоря, мое отношение к жанру фэнтази основано именно на формуле: «нет ни добра, нет ни зла – есть только наше отношение к происходящему».

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

Еще одна простая формула: есть оружие – есть броня от него. Как противостоять Stuxnet, используя утилиты от Sysinternals, я начну рассказывать в самое ближайшее время. Сейчас же настало время, чтобы коротко и сухо изложить, то против чего нам предстоит бороться.

Итак, небольшое техническое описание Stuxnet (разумеется, исключительно из свободнодоступного материала сети, и никакого творчества от автора блога, так как тематика блога – описательного характера)

Распространение

Stuxnet – червь.

Механизм размножения — через USB-флешки.

Использует уязвимость, которая позволяет загружать произвольную .DLL-библиотеку, как только пользователь открывает содержимое флэш-накопителя.

На флэшке лежит .DLL-файл с вредоносным кодом (ну, фактически расширение, в случае с червем, — .TMP) и .LNK-файл. Файл с расширением .LNK - обычный ярлык. Но здесь с боевой начинкой. При отображении ярлыка в стандартной оболочке или Total Commander автоматически выполнится лежащий рядом .DLL-файл со всеми вытекающими отсюда последствиями!

Ярлык указывает на исполняемый файл и при двойном щелчке вызывает его. Но тут все без кликов, да и .DLL-файл так не выполняется.

В ярлыке указан путь на .DLL. Кроме того, это не обычный ярлычок, а ярлычок на элемент панели управления. Любой элемент панели управления — .CPL-апплет. Но CPL — это, по сути, простая .DLL, поэтому ярлык для панели управления особый, он понимает, что имеет дело с .DLL. Кроме того, такой ярлык пытается ВЫТАЩИТЬ иконку из DLL, чтобы отобразить ее в проводнике. Но для того, чтобы вытащить иконку, надо подгрузить библиотеку, что, оболочка и делает, с помощью вызова LoadLibraryW().

Вызов данной функции автоматически влечет за собой выполнение функции DllMain() из подгружаемой библиотеки. Поэтому, если такой ярлык будет указывать не на .CPL-апплет, а на злую библиотеку со злым кодом (в функции DllMain()), то код выполнится АВТОМАТИЧЕСКИ при просмотре иконки ярлыка.

Кроме интересного метода распространения удивила и боевая нагрузка — никаких ботнетов, краж банковских паролей, номеров CC. Все оказалось куда масштабнее. Уязвимость .LNK провоцирует загрузку скрытого файла с именем ~wtr4141.tmp, лежащего рядом с ярлыком. Файл этот исполняемый, но маленький (всего 25 Кб). Как отметили специалисты из Symantec, очень важно на первых порах скрыть свое присутствие, пока система еще не заражена. С учетом специфики 0day-уязвимости, которая действует, как только пользователь увидит иконки, сработает и ~wtr4141.tmp, который в первую очередь вешает перехваты системных вызовов в kernel32.dll. Перехватываемые вызовы:

  • FindFirstFileW
  • FindNextFileW
  • FindFirstFileExW

Хуки также вешаются и на некоторые функции из ntdll.dll:

  • NtQueryDirectoryFile
  • ZwQueryDirectoryFile

Все эти функции обрабатываются со следующей логикой — если файл начинается с "~wtr" и заканчивается на ".tmp" (или на ".lnk"), то удалить его из возвращенного оригинальной функцией значения, а затем вернуть, что осталось. Другими словами, скрыть свое присутствие на диске. Поэтому пользователь просто не увидит файлы на флешке. После этого ~wtr4141.tmp подгружает второй файл с диска (~wtr4132.tmp). Делает он это не совсем стандартно — установкой хуков в ntdll.dll на вызовы:

  • ZwMapViewOfSection
  • ZwCreateSection
  • ZwOpenFile
  • ZwCloseFile
  • ZwQueryAttributesFile
  • ZwQuerySection

Затем с помощью вызова LoadLibrary он пытается подгрузить несуществующий файл со специальным именем, на это дело срабатывают ранее установленные хуки и грузят второй файл, уже реально существующий — ~wtr4132.tmp, вернее, его незакодированную часть, которая раскодирует вторую часть (по факту — UPX-сжатие). Вторая часть представляет собой некие ресурсы, другие файлы, которые вступают в дело после расшифровки и экспорта (аналогичным извращенным методом с хуками на API функции).

Первым делом устанавливаются два драйвера — mrxcls.sys и mrxnet.sys (именно из-за этих файлов червь получил такое название — Stuxnet). Устанавливаются они в системную директорию, а функционал на них — руткит уровня ядра с той же логикой, что и в первом файле. Это обеспечит защиту червя после перезагрузки и завершения процесса ~wtr4141.tmp.

Драйвера эти, как уже было сказано, имеют легитимный сертификат Realtek, поэтому их установка пройдет без проблем (на данный момент сертификат уже отозван). Кроме руткита распаковываются файлы шаблона ярлыка и ~wtr4141.tmp для организации заражения других USB-устройств. Потом экспортируется код, который инъектится в системные процессы и добавляет в реестр вышеотмеченные .SYS-файлы руткита (HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MRxCls). Далее раскодируются два .DLL-файла, которые заменяют существующие файлы системы SCADA — Siemens Step 7.

Таким образом, все вызовы из системы SCADA переходят в поддельные библиотеки. Там происходит "нужная" обработка, после чего вызовы передаются в оригинальные .DLL (остальную часть функций Stuxnet и вовсе эмулирует самостоятельно).

Кроме всего перечисленного, червь блокирует процессы антивирусов и пытается найти сервера СУБД (MSSQL). Найдя таковые, он пробует выполнить вход с учетной записью WinCCConnect и паролем по умолчанию — 2WSXcder. Это учетная запись от БД SCADA типа Siemens Simatic WinCC. Как видно, червь заточен именно под продукт Siemens. Если аутентификация прошла успешно, шпион выкачивает данные о процессах и прочую секретную инфу. Кроме того, он не гнушается поискать в локальных файлах полезную для шпионов информацию. Если удается обнаружить выход в интернет, то червь лезет на один из командных серверов:

  • mypremierfutbol.com
  • todaysfutbol.com

Туда Stuxnet и пытался достучаться и "что-то" слить в зашифрованном виде. Благодаря Symantec ясно, что шифрование представляет собой побайтовую операцию XOR с 31-битным ключом, который был прошит в одной из .DLL-библиотек. Ответ с сервера также приходит в XOR-виде, правда, используется уже другой ключ из той же библиотеки. Троян отсылает на сервер общую информацию о зараженной машине (версия винды, имя компьютера, адреса сетевых интерфейсов, а также флаг наличия SCADA). В ответ от командного центра могут приходить вызовы RPC для работы с файлами, создания процессов, внедрения в процесс и загрузки новых библиотек и др.

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