Сложность программного обеспечения растет – программы становятся более динамическими и их поведение возможно оценить только в процессе выполнения. Производить оценку безопасности (поиск уязвимостей, недокументированных возможностей, и т.д.) таких приложений значительно сложнее. Использовать только статические подходы анализа становится не возможным, так как из-за динамически генерируемого кода, мы даже не можем гарантировать полное покрытие кода при анализе. На помощь приходят динамические методы анализа.
Есть такая замечательная технология, как динамическая бинарная инструментация (Dynamic Binary Instrumentation, DBI), которая заключается во вставке в бинарный исполняющийся код анализирующих (в общем случае) процедур. Основной прелестью данного подхода заключается в том, что нет необходимости в исходном коде анализируемого приложения – работа происходит непосредственно с бинарным файлом.Читать полностью »