Операция выполнена!
Закрыть
Хабы: Информационная безопасность, Системное программирование, Программирование, Assembler

Как часто нам приходится читать в бюллетенях безопасности «Уязвимость... позволяющая нарушителю выполнить произвольный код с помощью специально сформированного запроса». Но что на самом деле скрывается за этой фразой? Что это за специальные запросы и как наша программа может выполнять чужой код, если мы досконально знаем в ней каждую строчку и каждую библиотеку? И почему Apple выстроила многоуровневую аппаратную защиту и платит до двух миллионов долларов за одну найденную уязвимость, но айфоны все равно взламывают по нажатию одной кнопки?

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

Хакеры умудрились обернуть против нас даже банальную функцию printf, превратив её в универсальный интерпретатор языка Brainfuck. Она обладает Тьюринг‑полнотой — а значит, внутри неё можно реализовать любой зловредный алгоритм.

Перед нами — Data‑Only атаки, где наш собственный код становится оружием, а взлом превращается в программирование на «невидимом» процессоре. Процессоре, команды которого — лишь побочный эффект работы нашей собственной программы.

Но обо всем по порядку. Как же мы докатились до жизни такой?

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro