среда, 3 июля 2013 г.

REcon'13

REcon эта наверное еденствинная конференция, которая посвещена целиком и полностью реверс инжинирингу. Для меня REcon'13 стал вторым по счету выступлением на этой конференции.  


Только в предыдущий раз мы выступали по скайп, так как нам задержали выдачу канадцких виз на несколько недель и мы не смогли поехать. Но в этом году с визами все проршло гладко :)

Традиционно REcon проводится в славном городе Монреале. В этом же городе находится североамериканский R&D компании ESET, который находится на кампусе университета Ecole Polytechnique.


А такой вот вид на центр города открывался из окна моей комнаты отеля. Кстати, отдельное спасибо организаторам за оплату перелета и предоплаченную гостиницу (спикерам на заметку ;)).


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



После вступительной речи в лице Hugo Fortier, главного идеолога и организатора конференции REcon, на сцене появился первый докладчик Alex Ionescu, которого я думаю не надо представлять читателям данного блога.


Слайды большинства докладов уже опубликованы и доступны для скачивания здесь

С точки зрения того, что мне больше всего запонилось, это был наверное доклад "The Future of RE: Dynamic Binary Visualization", который поразил своими визульными эффектами построяния различного типа графоф для навигации по коду. 


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

Как я уже говорил в этом году сделан был большой акцент в сторону хардварного реверсинга. И каждый докладчик стал счастливым обладателем платы Die Datenkrake c cимволикой конференции. За что отдельное спасибо Дмитрию Недоспасову, одному из разработчиков этого девайса.


Собственно у многих наверное возникает вопрос, а нафига оно надо и что с сей железкой делать. А делать с ней можно многое, ну самое простое наврное, что приходит сразу в голову это всефозможный фазинг. Но судя по презентации авторов устройства, с ним можно сотворить и многое другое. Как, например, анализ закрытых протоколов при помощи своей микропрораммы, которая будет выполняться на встроенном ARM прроцессоре или запрограмированном FPGA. Такой подход позволяет выйти за границы возможностей драйвера на уровне операционной системы и осуществлять анализ по другую сторону порта. 

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

Помимо докладов REcon еще славится своими вечренками в день открытия конференции. Мои ожидания более чем оправдались, так как на протяжении всего пати играла 8-битная музыка, а в помещении был потолок в виде полусферы на которой проицировались сумошедшие инсталяции из ретро игр. 


В последний день конференции мы представили наше исследование "Reconstructing Gapz: Position-Independent Code Analysis Problem" в рамках котрого был продемонстрирован наш плагин HexRaysCodeXplorer для более удобной навигации по декомпилированному коду в Hexrays.


                    

Еще одним интересным докладом был доклад о биндинге питона к Hexrays Decompiler от Francois Chagnon aka EiNSTeiN. 

Python bindings for Hexrays Decompiler [slides]
hexrays-python [github]
hexrays-python-plugins [github]
ida-decompiler [github]

Ну и в качестве заключения хочется сказать, что не бойтесь отправлять доклады на конференции и публикововать ваши исследования. Это очень полезный опыт, который принесет пользу не только вам, но и сообществу в целом ;)