Червь под микроскопом::Журнал СА 6.2012
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6139
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6851
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4133
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2975
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3780
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3788
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6279
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3133
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3431
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7245
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10615
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12334
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13966
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9098
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7052
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5360
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4592
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3400
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3127
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3378
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2999
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Червь под микроскопом

Архив номеров / 2012 / Выпуск №6 (115) / Червь под микроскопом

Рубрика: Карьера/Образование /  Книжная полка

Валентин Синицын ВАЛЕНТИН СИНИЦЫН, разработчик ПО, автор курсов по Linux и веб-технологиям. Кандидат физико-математических наук, доцент УрФУ

Червь под микроскопом

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

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

Нельзя сказать, что программы, получившие позднее общее имя «вредоносный код», в те славные годы были совсем уж безобидными (читайте интервью Игоря Данилова [1]), но по большей части их разработчиков интересовал вопрос, как «переиграть» антивирус, чтобы попросить печенья, сказать «бебе» или напеть гимн Советского Союза (который еще не успел стать гимном Российской Федерации). Некоторые вирусы, скажем, тот же «Чернобыль», грозили последствиями посерьезнее, однако никому не приходило в голову требовать отправить «SMS на короткий номер», чтобы разблокировать зараженные файлы, – в основном потому, что SMS было трудно набирать на дисковом телефоне, а самым известным коротким номером был 02.

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

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

Куда пойти учиться?

Правда, анализ вредоносного кода с целью понять, что он делает, и найти действенные способы защиты от него – не тот навык, который можно приобрести за дождливое воскресенье, тем более что учебников – раз-два и обчелся. Из русскоязычных изданий на ум приходят «Записки исследователя компьютерных вирусов» Криса Касперски [2] (написанные, кстати, на основе статей, опубликованных автором в «СА»), хотя это скорее теория, отвечающая на вопрос, как оно работает, чем практика. Разумеется, на тематических ресурсах можно найти горы информации, но она не всегда актуальна, не обязательно структурирована – в общем, не особенно подходит для быстрого введения в предмет.

Видимо, все эти обстоятельства и подтолкнули североамериканское издательство No Starch Press к выпуску Practical Malware Analysis (http://nostarch.com/malware или http://practicalmalwareanalysis.com) – увесистого 800-страничного фолианта, посвященного основным вопросам анализа «зловредов» в целях противодействия им. Авторы книги Майкл Сикорски (Michael Sikorski) и Андрью Хониг (Andrew Honig) знакомы с предметом не понаслышке. Оба имеют опыт сотрудничества с такими организациями, как Агентство национальной безопасности и Министерство обороны США. По вполне понятным причинам книга ориентирована в первую очередь на ОС семейства Microsoft Windows, хотя предлагаемые авторами подходы остаются применимыми и для разновидностей UNIX.

Книга состоит из 21 главы, которые объединены в шесть частей, охватывающих статический и динамический анализ (как на базовом, так и на продвинутом уровне), инструментарий (например, сборку тестового стенда на базе виртуальных машин VMware, работу в дизассемблере IDA Pro и отладчиках OllyDbg и WinDbg), основы ассемблера x86, чтение дизассемблированных листингов и различные специальные вопросы, например, анализ shell-кода или вредоносные программы для архитектуры x64.

Во всех случаях авторы стараются придерживаться единого подхода: сперва общие техники (например, просмотр импортируемых функций или создание DNS-сервера-«обманки»), затем инструменты, пригодные для их реализации, и, наконец, пример использования. Кстати, в предлагаемом инструментарии (полный алфавитный список которого со ссылками и кратким описанием каждой программы можно найти в Приложении B) довольно часто фигурируют свободное ПО и специализированные дистрибутивы Linux. Это в определенной мере подтверждает тезис о популярности Open Source в кругах ИТ-профессионалов (пусть даже ориентирующихся на другие ОС).

Как можно видеть, перечень обсуждаемых вопросов довольно внушительный: читателя научат, как понять, что делает вредоносный код, не запуская программу (и в первом приближении даже не дизассемблируя ее) или, наоборот, выполняя код в изолированной среде и следя за тем, какие изменения он вносит в систему, с отладчиком или без оного. Ему придется даже «нырнуть в мрачные глубины ядра Windows NT, куда не проникает свет GUI» и освоить методы, применяемые авторами вредоносных кодов для защиты от анализа (то есть отладки, дизассемблирования, запуска в виртуальной машине и т.п.). Тем удивительнее то, что авторы не предъявляют особых требований к подготовке читателя. Можно сказать, что книга ориентирована на ИТ-специалиста в широком смысле этого слова. Чтобы понимать ее, по замыслу авторов, важно представлять лишь, как в принципе устроены компьютер и операционная система: все необходимые детали, включая уже упомянутые выше основы ассемблера x86, будут сообщены на ходу. До определенных пределов это действительно работает, но иногда бывает довольно странно видеть рядом пояснение, зачем в принципе программисты используют цикл for, и ассемблерные инструкции, реализующие последний: обычно люди, способные понять второе, уже знают первое.

Все это накладывается на традиции американской школы – сообщать теорию лишь в объеме, необходимом для решения практических задач. В результате читатель, не сталкивавшийся ранее с программированием на языке низкого уровня, конечно, получит некоторый набор рецептов и общее представление о способах их применения, но едва ли заложит прочный фундамент в понимание происходящих процессов. Practical Malware Analysis прекрасно справляется со своей целью – обучить анализу вредоносного кода на практике. Но для лучшего усвоения материала не помешает иметь под рукой что-то вроде Windows Internals (в русском переводе «Внутреннее устройство Microsoft Windows») [3, 4] или Windows via C/C++ («Windows via C++. Программирование на языке Visual C++») [5].

Производственная практика

Возможно, авторы и не ставили перед собой цели заложить пресловутый фундамент – все-таки книга имеет отнюдь не теоретическую направленность. А в том, что касается практики, Сикорский и Хониг постарались на славу. Для каждой главы придумано несколько (как правило, три-четыре) лабораторных работ, отличающихся по уровню сложности, – исключения составляют лишь главы, носящие ознакомительно-справочный характер. Более того, едва ли не половина объема книги приходится на подробный разбор этих лабораторных, где представлены не только правильные ответы на поставленные вопросы, но и приводящие к ним рассуждения по схемам (и с использованием инструментов), предложенным в основном содержании главы. Последовательность – вообще одна из ключевых сильных сторон Practical Malware Analysis, и авторам удается донести до читателя концепцию «думай так и придешь к ответу», не скатываясь в сборники рецептов и HOWTO.

Лабораторные работы проводятся в условиях, максимально приближенных к боевым. Вредоносные (действительно вредоносные – не запускайте их на реальной машине!) программы доступны лишь в виде скомпонованных двоичных файлов с ничего не значащими именами. От настоящей работы подобную лабораторную отличает лишь то, что объекты, содержащие вредоносный код, известны заранее, их не надо вычленять из зараженной системы. Впрочем, в различных местах по тексту есть указания на то, как это делается, а основным средствам, используемым «зловредами» для собственного запуска, даже посвящена специальная глава (12).

Кстати, именно ее можно скачать бесплатно в качестве «пробника», что само по себе довольно полезно: можно хранить как шпаргалку по уголкам Windows, которые в случае чего надо проверить в первую очередь. Если вы следуете авторским указаниям буква в букву, для выполнения лабораторных работ может потребоваться коммерческое ПО (в частности, VMware Workstation и IDA Pro); к счастью, в большинстве случаев можно обойтись бесплатными версиями и программами-аналогами (например, VirtualBox и IDA Free).

Итак, Practical Malware Analysis – хорошее практическое введение в анализ самых разных вредоносных программ. Не стоит ожидать, что, прочитав его, вы станете глубоко понимать устройство Windows или программировать на ассемблере – для всего этого есть другие не менее хорошие книги. Однако если во вверенной вам сети в один не очень прекрасный день что-то пойдет не так, вы сможете установить «причину» и минимизировать последствия от ее деятельности. Книгу можно читать и просто из спортивного интереса – вирусы, трояны и черви зарываются куда глубже, чем обычно, приходится работать прикладным программистам и системным администраторам, так что их изучение – хороший повод узнать что-то новое или по-другому взглянуть на старое. Сейчас Practical Malware Analysis доступна только на английском языке и стоит недешево ($60 без доставки), но, возможно, на нее со временем обратит внимание какое-нибудь российское издательство.

  1. Данилов И. Если человек хочет, он добьется всего. //«Системный администратор», №11, 2011 г. – С. 6-10 (http://samag.ru/archive/article/1458).
  2. Касперски К. Записки исследователя компьютерных вирусов. – ИД «Питер», 2005.
  3. Руссинович М. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. – ИД «Питер», 2005.
  4. Mark Russinovich, D. Solomon, A. Ionescu. Windows Internals, Fifth Edition. – Microsoft Press, 2009.
  5. Рихтер Дж., Назар К. Windows via C/C++. Программирование на языке Visual C++. – ИД «Питер», 2009.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru