ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
86 ВзломХАКЕР 04 /171/ 2013ЛОМАЕМВМЕСТЕС каждым годом технологии и вещи вокруг нас становятсявсе сложнее и сложнее. А времени, чтобы разобратьсяс ними, становится все меньше и меньше. Ктопервый разобрался и воспользовался — тот и на коне.То же самое можно сказать и о мире информационнойбезопасности. Взять, к примеру, антивирусные компании:кто первый обнаружил малварь, исследовал ееи добавил сигнатуру в свою базу — тот и будет пользоватьсяспросом у юзеров. Или пентестеров, которымнадо за максимально сжатые сроки как можно лучшеизучить безопасность своей цели. Очевидно, что решатьтакие задачи в максимально короткие срокиодному человеку просто не под силу. Поэтому давайпознакомимся с инструментами, которые используютвирусные аналитики / пентестеры / крякеры / хакерыдля организации совместной командной работы.WARNINGВнимание! Информацияпредставленаисключительно с цельюознакомления! Ни авторы,ни редакция за твоидействия ответственностине несут!Антон Жуковant@real.xakep.ruВСТУПЛЕНИЕКонечно, среди людей встречаются уникумы, способные в одиночкурешать сложные задачи. Теоретически найти мегакрутогореверсера, способного декомпилировать программу в уме,можно. Но насколько бы ни был прокачан его скилл, насколькобы продуктивно он ни работал, ему все же придется тратитькакое-то время на еду, сон и прочие радости повседневнойжизни. К тому же у него всего лишь две руки, два глаза, то естьу него вряд ли получится одновременно исследовать несколькокусков кода. Короче, кругом одни ограничения, при которыхвыполнить поставленную задачу максимально быстро не получится.Надо сказать, что с подобной проблемой столкнулисьи производители микропроцессоров, настало время, когданаращивать частоту процессоров для увеличения вычислительныхмощностей стало просто нецелесообразно. И они выбралиальтернативный путь — начали увеличивать количествоядер. Все просто, двадцать хороших реверсеров проанализируюткод намного быстрей, чем один крутой. Такая же ситуацияи с коллегами по цеху — пентестерами. Одному человеку провестиполноценный тест на проникновение на крупном объектепросто нереально. Прежде всего, ему придется быть специалистомв разных областях ИБ, а во-вторых, ему опять-таки простоне хватит времени. Как ни крутись, а от командной работы никудане денешься. Но работа эта должна быть скоординирована,ведь если реверсеры начнут исследовать одни и те же участкикода или пентестеры по несколько раз сканировать один и тотже объект, то производительности такая командная работане добавит. Именно поэтому были созданы специальные инструменты,позволяющие сводить работу всех реверсеров/пентестеров воедино. С двумя наиболее яркими представителямииз них мы сегодня и познакомимся. Это CrowdRE, использующийсядля организации совместного реверс-инжинирингаприложений, и Dradis, участвующий в проведении коллективныхпентестов.Инструментыдля коллективногореверсингаприложенийи проведенияпентестовCROWDREТенденции развития популярных зловредов Stuxnet и Flameговорят о том, что они становятся все сложней и все больше.И если статический анализ какого-нибудь небольшогоdownloader’а или dropper’а для аналитика — дело несколькихминут, то на анализ «массивного» бинарника с кучей функционалаи антиотладочных приемов могут уйти недели, если не месяцычеловеко-часов. Именно поэтому программное обеспечение,позволяющее проводить совместный реверс-инжиниринг,становится все более востребованным. Все существующиена текущий момент инструменты для коллективного анализаисполняемых файлов можно условно разделить на две группыпо принципу их функционирования. Первая — мгновенно синхронизируетвсе вносимые изменения между всеми членамикоманды. Такой подход удобен для обучения реверсингу илидемонстрации на презентации. Вторая группа предоставляетвозможность работать над различными кусками файла, периодическиделясь плодами своего труда с товарищами. Это позволяетраспределить задачи и дает возможность несколькимлюдям одновременно работать над различными частями файла.А результат их работы может быть собран воедино в любоевремя.Ко второй группе как раз и относится инструмент, с которыммы сегодня познакомимся поближе, — CrowdRE. Чтобы упроститьпроцесс обратного инжиниринга, компания CrowdStrikeразработала CrowdRE — платформу, позволяющую аналитикамсо всего мира выполнять совместный реверс-инжинирингприложений. Устройство этой платформы напоминает системуконтроля версий — аналитики могут «коммитить» аннотациидля каждой функции исследуемого файла. CrowdRE состоитиз облачного сервиса и одноименного плагина для IDA Pro, позволяющегоиспользовать этот сервис в связке с самым популярныминструментом для анализа исполняемых файлов. Всекоммиты пользователей сохраняются в облаке и в зависимостиот выбранных пользователем настроек могут быть доступнытолько тому, кто их загрузил, либо группе лиц, работающихнад одним файлом, либо вообще всем пользователям сервиса.Такой гигант, как Google, уже заявил о поддержке проектаи планирует добавить интеграцию CrowdRE в свой инструментобратного инжиниринга зловредов BinNavi, чтобы позволитьаналитикам делиться плодами своей работы с сообществом.Аннотации для функций, которые могут коммитить аналитики,включают в себя прототип функции (имя, соглашение вызова,тип возвращаемого значения, имена и типы параметров),локальные переменные, структуры, перечисления, комментарии.То есть в процессе разбора ассемблерного кода аналитикстарается привести функцию в первозданный вид на оригинальномязыке (С/С++) и посредством облачного сервиса можетподелиться результатами с коллегами. Другие аналитикимогут импортировать эти аннотации в свою локальную idb-базу.Причем поддерживается два вида импорта:• пакетный, когда для всех проанализированных функцийзагружается самый последний коммит (первое, что надо