Вход в программу Tainting - PullRequest
       20

Вход в программу Tainting

0 голосов
/ 26 апреля 2020

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

Я хочу испортить ввод программы (точнее, 64-битный ELF на Linux, хотя поддержка других архитектур тоже не будет плохой). Например, запустив cat для одного или нескольких файлов, я хотел бы знать, какие инструкции (в частности, по каким адресам) ввод изменяет / влияет на выполнение программы, пока не будет достигнут один или несколько приемников (в данном случае приемник) будет кот, пишущий на стандартный вывод). С помощью этой информации я хочу создать «границы», как в адресах, которые указывают, что с этого момента ввод больше не меняет выполнение программы. (Прежде чем вы спросите, я уже использую другие средства для создания этих границ, однако я хотел бы посмотреть, какие результаты может дать анализ заражения).

Поиск в Google Я нашел несколько инструментов анализа заражения или структуры, которые включают анализ порчи (т.е. bap , Triton ), однако мне не удалось добиться именно того, что мне нужно, из-за недостатка документации, накладных расходов при ручной настройке и отсутствия привязок (в идеале мне бы хотелось python привязок, или, по крайней мере, что-то отличное от OCaml), или просто проблемы с установкой / компиляцией или запуском этих программ. Также существует довольно много научных работ по анализу заражения, которые, тем не менее, иногда вообще не предоставляют код или код, который не очень помогает в моем случае использования.

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

Вся помощь приветствуется, спасибо заранее.

...