Мой перевод статьи о реверсивной инженерии от Aleph One

Посидел несколько вечеров, перевел и оформил лучше оригинала статью по вводному курсу в реверсивную инженерию от Aleph One. Статья здесь
http://www.hint4test.com/5/post/2014/04/6.html
Читать много, но кто работает с десктопными приложениями и ищет ошибки на низких уровнях работы программы, тот явно статьей заинтересуется.

Мой перевод статьи Aleph One (aleph1@underground.org), BugTraq, r00t, and Underground.Org
Оригинал Smashing the Stack for Fun and Profit by Aleph One Потратил немного времени и перевел для вас эту замечательную статью. Как всегда, спасибо в виде просмотра рекламных блоков под статьей :wink:

ВВЕДЕНИЕ
Последние несколько месяцев показывают значительное увеличение найденных уязвиомстей связанных с ошибкой переполнения буффера. Примеры таких приложений - syslog, splitvt, sendmail 8.7.5, Linux/FreeBSD mount, Xt library, и т.д. Эта статья написана для того, чтобы обьяснить что такое переполнение буффера и как им можно воспользоваться. Базовое знание языка Ассемблер обязательно для понимания этой статьи. Понимание работы виртуальной памяти и умение работать с отладчиком (gdb) будет полезным, но не обязательным при чтении. Мы так же считаем что работаем на 86 разрядном процессоре с архитектурой Intel в среде Linux. Перед тем, как мы начнем, вот некоторые основные определения: буффер - это просто непрерывный блок компьютерной памяти, которая содержит множественные экземпляры данных одного типа. Программисты С чаще всего ассоциируют со словом “буффер” массивы, в основном - символьные массивы. Массивы, как и переменные в С, могут быть обьявлены как статическими так и динамическими. Статические переменные определяются на этапе загрузки приложения в сегменте данных. Динамические переменные определяются на этапе исполнения в стэке. Переполнить буффер - значит превысить размер необходимый для хранения данных. В этой статье мы рассмотрим только динамиский буффер и переполнения известные как “stack-based переполнения буффера”.

Читать статью полностью http://www.hint4test.com/5/post/2014/04/6.html

1 лайк

Я думаю имеет смысл еще кинуть ссылок в нашего Авто Хомяка (Анонс) Automated Hamster: Ссылки для Автоматизаторов потом будет официальная рассылка и ссылка там засветиться тоже.

Хотя я бы сказал, что тема интересная, но очень узкоспециализированная.

Это да. Тестировщик С++, Асм кода и чистых бинарных файлов встречается редко, но они есть и развиваются )

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

В Украине подобные специалисты не востребованы вобще. Тоесть я знаю максимум 5-6 человек, кто занимается реверсингом. Причина тому: никто не хочет доверять разработку и тестирование безопасности 3-й стороне и аутсорсу, так как такие команды всегда могут специально оставить бэкдор для дальнейшей зависимости заказчика от комманды. А Украина кроме аутсорса больше ничем и не занимается. Но если мы возьмем Европу, то сейчас примерно 1 из 10 предложений по работе я получаю в области защиты данных и информационной безопасности. Среди этих предложений идет примерно 5 по белокапюшонному взлому веб сайтов к 1 предложению по реверсингу. Белые хакеры, по моему мнению, в ближайшее время получат такой же рост популярности, как и тестировщики с 2001-го по текущее время. Причина - мир полностью зависим от ИТ, больше чем когда либо. Тот кто контролирует цифровые потоки компании, контролирует компанию. Пример последней хартблид уязвимости показывает, как мир сильно нуждается специалистах по реверсингу. Весь мир теперь вынужден менять пароли, карточки, чистить кэши, обновляться.
Даже американские войска уже берут иммигрантов в отряды кибервоинов при ВВС, потому как своих специалистов не хватает чтобы закрыть все позиции и противостоять фсб-шному отделу К и китайскому отряду цифровой разведки 61398.
Ну и посмотрите в новости. Много сейчас видно Анонимусов (имеется ввиду настоящих, а не школьников в масках) и других террористических ИТ групп? Очень не много. И те в основном сайты дефейсят. Потому что после модного движения в 2011-м -2013-м все большие компании значительно улучшили свои отделы сетевой безопасности, и продолжают улучшать и открывать новые позиции.

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

А в Украине, где работаете, если не секрет? Я так понимаю, Вы там связаны с C++?

Я сейчас не в Украине работаю, а в Эстонии, в Skype. Тестирование API, используем С++.

А ну там действительно есть, где применить такие знания.

В общем, спасибо за статью и удачи в С++ и реверсивной инженерии :smile: