Добавить в корзинуПозвонить
Найти в Дзене
Популярная наука

Разобрать, чтобы понять: кто такие реверс-инженеры и почему это профессия будущего

В детстве почти каждый из нас разбирал что-нибудь на запчасти. Машинку, будильник, папин приёмник — не из вредности, а из чистого любопытства: как оно там внутри? Родители возмущались! И не понимали, что на самом деле это – реверс-инжиниринг. И люди, которые не бросили это занятие во взрослой жизни, сегодня стали одними из самых востребованных специалистов в IT. На днях вышел интересный фильм Как получить доступ ко всему: Реверс-инжиниринг, который полностью погружает в эту интригующую атмосферу изобретательства. Фильм задаёт простой вопрос: что делать с чёрным ящиком, к которому нет инструкции? Ответ на него ищут реверс-инженеры — люди, для которых «разобрать» это не вандализм, а профессия. За 100 лет истории советского и российского реверса авторы показывают, как это мышление меняло технологии — и почему сейчас оно нужно как никогда. Реверс-инжиниринг — это, если по-простому, процесс изучения чужого изделия или программы без инструкции. Разобрал, понял, как устроено, сделал лучше. З
Оглавление

В детстве почти каждый из нас разбирал что-нибудь на запчасти. Машинку, будильник, папин приёмник — не из вредности, а из чистого любопытства: как оно там внутри?

Кадр из фильма. Где-то в этой горке деталей — ответ на вопрос, кому уходят ваши данные.
Кадр из фильма. Где-то в этой горке деталей — ответ на вопрос, кому уходят ваши данные.

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

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

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

Фильм задаёт простой вопрос: что делать с чёрным ящиком, к которому нет инструкции? Ответ на него ищут реверс-инженеры — люди, для которых «разобрать» это не вандализм, а профессия. За 100 лет истории советского и российского реверса авторы показывают, как это мышление меняло технологии — и почему сейчас оно нужно как никогда.

Три пути к чужой технологии

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

Дмитрий Скляров
Дмитрий Скляров

Дмитрий Скляров, руководитель отдела анализа приложений Positive Technologies, объясняет, что у любой страны или компании, которая хочет освоить чужую технологию, есть ровно три пути.

Первый — купить лицензию. Так мы получили «Жигули»: купили итальянскую производственную линию, закрыли потребность в автомобилях. Но линия сама себя не модернизирует. За каждое изменение надо договариваться и платить. А некоторые технологии просто не продаются — мы сейчас не можем купить оборудование для производства самых современных микросхем.

Второй путь — скопировать. Без договорённостей с производителем. Именно этим сейчас активно занимается Китай: берут чужие решения и делают максимально точные копии. Работает, пока оригинал не выпустил следующую версию.

Третий путь — самый сложный и самый продуктивный. Изучить, как устроена чужая технология, и создать свою на основе этого понимания. Toyota, когда разрабатывала Lexus, купила несколько Mercedes и BMW — половину разобрала, половину разбила в краш-тестах. Не чтобы скопировать, а чтобы понять, какие решения делают немецкие автомобили такими хорошими. После этого японцы сделали своё и получилось ничуть не хуже.

Один из первых примеров реверс-инжиниринга в военной истории. Римляне проигрывали Карфагену в море. Пока не захватили и не разобрали до мелочей корабль Карфагена, чтобы изучить и построить свой.
Один из первых примеров реверс-инжиниринга в военной истории. Римляне проигрывали Карфагену в море. Пока не захватили и не разобрали до мелочей корабль Карфагена, чтобы изучить и построить свой.

История раз за разом показывает: именно третий путь двигает технологический прогресс вперёд. Первый даёт результат сегодня. Второй — держит на плаву. Третий — делает лидером.

Когда копируешь чужую технологию, ты всегда в роли догоняющего. Пока ты воспроизводишь сегодняшнее — производитель уже выпустил завтрашнее. По оценке Склярова, технологическое отставание России от мирового уровня сегодня — около 15 лет. Цифра неприятная, зато честная. А когда признаешь проблему - следующий шаг начать над ней работать.

Интересный факт: Ту-4 - копия B-29 в СССР

-5

Советские инженеры под руководством Андрея Туполева полностью разобрали три американских бомбардировщика Boeing B-29 Superfortress, вынужденно приземлившихся в СССР в 1944 году, и за два года создали точную копию — Ту-4. Они измерили, взвесили и задокументировали тысячи деталей, адаптировав материалы под метрическую систему и советскую промышленность, что сделало Ту-4 всего на 1% тяжелее оригинала. Это позволило СССР быстро получить стратегический бомбардировщик, усиливший ядерный паритет в Холодной войне

Игры, пираты и первые реверсеры

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

Это история, которая многим покажется знакомой.

Я сам когда в конце 90-х - начале нулевых покупал диски с играми, понятия не имел, что за этим стоял тяжелый труд….реверс-инженеров!

Воссозданный интерьер эпохи, когда «взломать игру» означало открыть ArtMoney и поставить себе бесконечные патроны. Именно отсюда вышло целое поколение реверсеров. Просто тогда это называлось иначе — «сидеть за компом».
Воссозданный интерьер эпохи, когда «взломать игру» означало открыть ArtMoney и поставить себе бесконечные патроны. Именно отсюда вышло целое поколение реверсеров. Просто тогда это называлось иначе — «сидеть за компом».

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

Перевести на русский язык новую игру - это была задача со звездочкой.

За этим переводом стояла настоящая детективная работа: найти в тысячах файлов, где и как хранятся текстовые сообщения, разобраться с форматом, при необходимости распаковать и расшифровать — а потом собрать всё назад, не сломав. Это и был реверс-инжиниринг, только никто так это тогда не называл.

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

Но иногда это заканчивалось совсем некомически. Дмитрий Скляров в начале 2000-х написал программу, которая снимала защиту с легально купленных PDF-документов — чтобы обычный пользователь мог нормально читать файлы, за которые уже заплатил. Adobe это не понравилось. Когда Скляров приехал в США на конференцию, его арестовали по жалобе компании. Обвинили в нарушении закона об авторском праве в цифровую эпоху. В итоге оправдали по всем статьям. Но этот процесс чётко показал: граница между «разобрать, чтобы понять» и разобрать, чтобы незаконно эксплуатировать — тонкая, и большой бизнес её охраняет ревностно.

Когда реверс спасает, а не ломает

Вот парадокс, который легко упустить: те же навыки, которые помогают взломать систему, помогают её защитить.

Алексей Усанов из Positive Labs объясняет суть белого реверса просто: берёшь вирус, разбираешь, как он работает, — и понимаешь, как от него защититься. Именно так создаются антивирусные базы. Именно так находятся уязвимости в программах — до того, как их нашли злоумышленники.

Я загружаю код в дизассемблер, изучаю его, пытаюсь понять: что программист хотел сделать? Где мог ошибиться? Если нахожу место, где что-то сделано не так, — это уязвимость. Можно попытаться её проэксплуатировать. Можно — сообщить производителю. — Дмитрий Скляров

Сообщить производителю — это этичный взлом. Компания платит за найденную уязвимость, закрывает дыру, пользователи в безопасности. Красивая схема, которая работает только потому, что реверсеры умеют делать то, что обычным программистам не снилось.

Кстати, кибербезопасность сейчас - одно из ключевых карьерных направлений, а реверс-инжиниринг - ее основа.

Фильм, который объяснил профессию

Реверс-инженеры в естественной среде обитания. Фото со съемочной площадки
Реверс-инженеры в естественной среде обитания. Фото со съемочной площадки

Признаться, про реверс-инжиниринг я примерно понимал, что это как-то связано с разборкой кода и поиском дыр в системах. Детали оставались туманными. После просмотра документального фильма Как получить доступ ко всему: реверс-инжиниринг туман рассеялся.

Фильм снят Slon Motion Studio по заказу Positive Technologies и вышел 26 февраля на платформе Premier. Он рассказывает о советском и российском реверсе за последние 100 лет — от промышленного анализа зарубежных разработок после Первой мировой до современных систем на базе искусственного интеллекта. Семь смысловых глав, каждая — отдельная история.

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

Съёмочная команда работала полтора года, из которых восемь месяцев ушло на съёмки в реальных реверс-лабораториях — Positive Technologies, Музее криптографии, на производстве бионических протезов «Моторика». Фильм пересобирался трижды: авторы искали баланс между точностью для специалистов и понятностью для всех остальных. Судя по результату — нашли.

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

Профессия, которую заметят все

Данные уже давно стали новым золотом. А с появлением новых способов их обработки станут еще и новым топливом. Объектов, требующих реверса, становится больше с каждым годом. Критичность данных, которые они хранят, — тоже.

Реверс-инженер — это человек, который видит в любом устройстве или программе не чёрный ящик, а систему с логикой, которую можно понять. Разобрать. Улучшить. Это не ломать — это думать иначе, чем большинство.

Все мы немного реверсеры. Разница только в том, что одни остановились на детских игрушках, а другие пошли дальше.