Разговор с реверс-инженером из PT Алексеем Усановым о его специализации и создании книге по реверс-инжинирингу

Это первый материал по «ИТ‑Пикнику», проходившему 2 сентября 2023 года. Будет отдельный обзорный материал мероприятия, а пока хочу представить интервью с руководителем направления исследований безопасности аппаратных решений компании Positive Technologies (РТ) Алексеем Усановым. Осматривая стенды на «ИТ‑Пикнике», я заглянул на стенд Positive Technologies. Там проходила лекция, я заинтересовался темой и решил послушать. Лекция была посвящена реверс‑инжинирингу в информационной безопасности. Я раньше с темой сталкивался только в контексте создания игр. Когда энтузиасты делают клон игры, но у них нет исходников и советов от разработчиков, только внешний вид игры и примерные представления, на каком движке она была создана. Оказывается, в ИБ это довольно знаковая область. Немного подумав после лекции, я поймал Алексея Усанова и поговорил с ним на тему реверс‑инжиниринга в ИБ, кстати, оказалось, что он написал целую книгу об этом.

Для начала хотелось бы немного объяснить, что такое реверс‑инжиниринг. Реверс‑инжиниринг представляет собой исследование определённого готового устройства, программного обеспечения и документации, идущей к изучаемому объекту с целью понимания принципа его работы. Понятно, что многие, кто открыл это интервью, знаком с термином «обратное проектирование», но лучше уточнить. Надеюсь, интервью будет интересным. Приятного чтения!

Расскажите, пожалуйста, о реверс-инжиниринге, что это такое?

Если дословно перевести реверс-инжиниринг, то получится обратная разработка. Этот перевод очень хорошо отражает суть самого направления. При обычной разработке мы из каких-то отдельных кирпичиков и блоков собираем что-то цельное; неважно, это программа, устройство, какое-то изделие. При обратной разработке наша задача — понять, из чего всё перечисленное было сделано. Мы берём что-то цельное и пытаемся это разложить на кирпичики. Пример: нам важно понять техпроцесс, с помощью которого было произведено устройство. Нам интересно понять, из какого аппаратного обеспечения оно состоит. Кроме того, любое устройство состоит из прошивки и того программного обеспечения, которое на нём исполняется. ПО декомпилируем, разбираем, исследуем программу, нам важно понять, какие алгоритмы внутри этой программы находятся. 

Я правильно, понимаю, что реверс-инжиниринг не делится на аппаратную часть и на программную?

Реверс-инжиниринг — это вообще один из методов проведения исследований. Фактически мы занимаемся исследованием, и обратное проектирование или реверс-инжиниринг призваны показать, из чего состоит объект исследования. Поэтому не получится делить его на программный и аппаратный. Да, и в аппаратной и в программной части есть свои методы и инструменты, но основной подход проведения  исследований, на мой взгляд, выглядит единым.

За что отвечает непосредственно ваша специализация в информационной безопасности с точки зрения реверс-инжиниринга?

Непосредственно я занимаюсь исследованием безопасности аппаратных устройств. Однако надо понимать, что современные устройства — они сложные, представляют собой целые информационные системы сами в себе. Как я уже приводил пример раньше, в устройстве есть управляющий микропроцессор, есть прошивка и ПО, которое исполняется на самом устройстве, поэтому специализация всё равно размывается. 

Насколько сложно взаимодействовать с вендорами, с производителями сейчас при нахождении каких-то уязвимостей?  

Взаимодействие с вендорами  осталось таким же. Часть вендоров негативно воспринимает нахождение уязвимостей через реверс-инжиниринг, но сейчас мы живём в эпоху, когда вендоры уже начинают понимать, что белые хакеры и реверс-инженеры — это те люди, которые позволяют им улучшить свой продукт. Поэтому мы видим, что вендоры начинают участвовать в программах bug bounty. Если найдены ошибки, они ответственно разглашаются вендору,   и у него есть время на их устранение. И когда происходит информирование, то все исследователи, нашедшие уязвимости, всегда готовы помочь и предложить какие-то свои решения по их исправлению вендору. Вообще мой опыт говорит, что вендор скорее нормально реагирует на найденные ошибки и готов к конструктивному диалогу. 

Бывает ли так, что к вам обращаются сами производители с просьбой проверить, насколько их устройства устойчивы к методам взлома реверс-инжиниринга?

Да, многие вендоры сами приходят, у них есть осознание того, что аудит безопасности своих решений — это важный момент и делать его собственными силами зачастую очень сложно и не всегда корректно.  Тут даже вопрос не о квалификации, а скорее о том, что проверять то, что сделал сам, не всегда правильно. Ну и совсем банальное — глаз может «замылиться».

Насколько реверс-инжиниринг востребован у хакеров и киберпреступников?

Здесь надо понимать, говорим ли мы про информационную систему в целом или про реверс-инжиниринг чего-то отдельного. Как ни странно, но всё ПО в основном взламывается посредством какого-то реверс-инжиниринга. Потому что если мы говорим про веб-уязвимости, там тоже применяется обратное проектирование для поиска уязвимостей. По сути, реверс-инжиниринг — это базовый метод поиска уязвимостей, и он применяется очень широко.

Скажите, а часто хакеры покупают устройство на вторичном рынке и потом обратным инжинирингом взламывают целые линейки этого оборудования?  

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

Часто ли это бывает, когда хакеры методом обратного инжиниринга восстанавливают, создают целые ИБ-системы и потом уже пытаются взломать существующие?

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

Вы написали книгу о реверс-инжиниринге? Как долго вы её писали?

Да.Месяцев восемь.

Что побудило написать именно книгу по реверс-инжинирингу?

Я занимаюсь реверсом-инжинирингом пятнадцать лет. И когда я начинал, доступ к информации был гораздо более затруднён, чем сейчас. Например, по специфике исследования встраиваемых систем информацию до сих пор сложно найти, и она очень разрознена. Да, большую часть информации можно найти, но нормальную подборку источников — очень тяжело. Я очень много занимался именно обучением людей и понимаю, что у меня есть что рассказать. Однако не было списка источников, про который я мог бы сказать, вот, возьмите, почитайте и поймёте, хотите ли вы этим заниматься дальше, интересен ли вам реверс-инжиниринг. И как раз отсутствие такого списка в итоге трансформировалосьв желание передать какой-то свой опыт, изложить его в максимально простом виде для тех людей, которые ещё не знают, что такое исследования встраиваемых систем. Поэтому, прочитав эту книгу, они смогут понять, интересно ли им это и где черпать информацию.

Эта книга больше какое-то учебное пособие или научно-популярная литература? Какими компетенциями надо обладать, чтобы ее прочитать?  

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

Получается, в книгу вы вложили весь свой пятнадцатилетний опыт работы?

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

Вы планируете продолжение книги или отход в сторону, в более глубинные знания?

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

Возможно, я не до конца представил тему реверс-инжиниринга. Однако надо понимать, что вопросы я придумывал во время лекции. И к тому же, разговор касался не всего реверс-инжиниринга, а только его использования в информационной безопасности и хакинге. Поэтому вполне вероятно, что я продолжу разговор с другими специалистами по реверс-инжинирингу, так как он используется не только в ИБ. Также я поразмышляю, какие ещё вопросы можно задать Алексею Усанову после прочтения его книги. И вполне вероятно, что будет вторая часть интервью по обратному проектированию. Рекомендую посмотреть запись выступления Алексея с «ИТ-пикника» — «Как устроен мир вокруг нас: реверс-инжиниринг embedded устройств». Оно небольшое, но довольно информативное.  

Кстати, на другом мероприятии — OFFZone 2023 — другой специалист Positive Technologies  вёл лекцию «Нет прошивки — есть ачивки. 15 уязвимостей и другие находки в ПЛК Mitsubishi FX5U». Эта лекция также была посвящена обратному проектированию в ИБ. Её тоже стоит посмотреть.

Кстати, книгу мне удалось достать, это было несложно, и Алексей мне её даже подписал. Такие вещи мне очень нравятся, потому что приятно получить автограф не просто автора, а «боевого» специалиста с большим опытом. 

1d429ed94139be257b79bc6ef0efb5ba.jpge7e2a701bf4b81b852c4af74b2ec13d4.jpg

© Habrahabr.ru