реверс-инжиниринга

С чего начать изучение реверс-инжиниринга

Доброго времени суток. Желаю поведать о том, что такое реверс-инжиниринг. Почему это направление одно из самых увлекательных в ИБ и с чего начать изучение. И немного о моём обучении.

Что такое реверс-инжиниринг?

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

Почему реверс-инжиниринг одно из самых увлекательных направлений в ИБ?

При реверс-инжиниринге программ, специалист пытается понять, как устроена программа. Перед тем, как заниматься дизассемблированием программы необходимо понять, как работает защита если она есть, а только дальше анализировать весь код и разбираться, как он работает. Я считаю разбираться как устроена программа и “ломать голову” анализируя весть код – это самое увлекательное в данном ремесле + со стороны выглядит эффектно. Вот скриншот простой дизассемблированной программы. Выглядит страшно, но программа очень простая.

Почему реверс-инжиниринг

Реверс инжиниринг тесно связан с исследованием вредоносного ПО. Вирус — это тоже программа, которую можно исследовать. 

Я задам вам вопрос – “Вы скачивали взломанные игры с торрента?” Наверняка ответ будет положительным. Программы также взламывают техниками реверс-инжиниринга, но этим лучше не заниматься.

С чего начать изучение?

С чего начать изучение информационной безопасности

С самого начала необходимо изучить основы в IT и Информационной Безопасности.

  • Узнайте, как работают компьютерные сети на базовом уровне. Бесплатный курс Андрея Созыкина в помощь.
  • Поработайте на виртуальной машине Linux или установите, как вторую операционную систему. Тут вам поможет VirtualBox.
  • Начните изучать программирование. Рекомендую начать с Python. Он поможет вам понять концепции программирования.
  • Разберитесь, какая деталь в вашем системном блоке за что отвечает. Например, для чего нужна оперативная память и т.д.
  • Так же можете прочитать статьи 1, 2, 3 с чего начать изучение Информационной безопасности. Из этих статей вы можете узнать, где изучать интересующие вас темы.

Ресурсы про реверс-инжинирингу

Ресурсы про реверс-инжиниринг

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

  1. Рекомендую приступить с изучения ассемблера. В реверс-инжиниринге знать ассемблер — это необходимая вещь. Начните с изучения x86. Этого на начальном этапе будет достаточно. Сайт Ravesli с уроками по ассемблеру.
  2. Изучите язык программирования Си. На нём пишутся многочисленные эксплоиты и вирусы. Книга по языку C.
  3. Про реверс инжиниринг и основы бинарных уязвимостей даже есть курс! Скачать.
  4. Прочитайте книгу про реверс инжиниринг. В интернете есть отличная книга - Вскрытие покажет! Практический анализ вредоносного ПО ,переведённая на русский язык, про реверс инжиниринг с лабораторными работами.
  5. Также про интересующую нас тему очень много написал наш земляк Крис Касперский. Его книги и заметки.
  6. Хотите больше узнать о работе OS Linux или Windows? Тогда эти книги помогут вам. Внутреннее устройство Windows и Внутренее устройство Linux.
  7. Отличный форум про отладку и дизассемблирование — это r0Crew.
  8. Другие книги про эту тему вы можете найти в интернете или на разных интернет-библиотеках. Например, библиотека книг сайта Codeby.

Обязательно всё повторяйте и конспектируйте в процессе обучения! Практика и ещё раз практика.

Моя история обучения в реверс-инжиниринге

Моё обучении ещё не окончилось и не закончится, но поделится информацией и мотивировать читателя хочется. Как и многие люди в ИБ я использовал на Kali Linux. Потом из-за обстоятельств я не мог работать на ПК. Но я отыскал у себя старенький ноутбук. На него я поставил antiX Linux. Затем я наткнулся на курс по реверсу. Впоследствии всё и закрутилось. Изучал IDA PRO, radare2, ассемблер, базовые техники реверса. Хотел продолжить на изучении бинарных уязвимостей, но потом понял, что в этой теме недостаточно силён. Решено было повысить навыки работы реверс-инженера. Оказалось, что ничего секретного разыскивать не нужно в интернете. Многое валяется на поверхности. Я говорю про книгу “Вскрытие покажет! Практический анализ вредоносного ПО”. Прочитав пару страниц из этой книги, стало понятно, что предстоит трудиться и трудиться над своими познаниями. Позже ПК починили и изучать реверс стало намного удобнее. Kali linux я поменял на обыкновенный дистрибутив linux, так как анализ ПО необходимо проводить в VirtualBox. Параллельно с изучением реверс-инжиниринга появилась необходимость изучить язык СИ (Книга по языку C). 

Спасибо за прочтение. Желаю читателям не лениться и не сдаваться. Рекомендую всё, что вы изучаете конспектировать и практиковаться больше. Не болейте.

Телефон: +7 499 444 17 50 | 8 800 444 17 50 бесплатно по России | E-mail: school@codeby.email
Все курсы Партнерам Возврат Контакты