Суть методологии исследования уязвимости
· Анализ и экспертиза исходного текста программы – идеальная методология поиска ее уязвимостей.
· Исследование исходного текста программ предполагает поиск подверженных ошибкам директив, построчную экспертизу исходного текста программы и изучение различий в нем.
· Изучение выполнимого кода программы осуществляется при помощи программ трассировки, отладчиков, модулей проверки текущего состояния программы (анализаторов) и аудита документации проектирования программы.
Значение экспертизы исходного текста программы
· Экспертиза исходного текста программы – необходимая часть обеспечения ее безопасности.
· Поиск подверженных ошибкам конструкций языка программирования в исходном тексте программ позволяет найти ошибки переполнения буфера, проверки входных данных и ошибки, сопутствующие конкуренции программ за ресурсы.
· Утилита grep может использоваться для повышения эффективности поиска подверженным ошибкам директив.
Технологии реинжиниринга
· На сайте www.sysinternals.com можно найти свободно распространяемые инструментальные средства аудита для Windows.
· Список Rosetta Stone (по адресу http://bhami.com/rosetta.html) позволяет найти программы трассировки для заданной платформы.
· Отладчики используются для управления выполнением исследуемой программы и поиска ошибок в ней или исследования логики ее работы.
Тестирование методом «черного ящика»
· Тестирование методом «черного ящика» позволяет обнаружить внутренние компоненты, скрытые от невооруженного взгляда исследователя.
· Вскрытие корпуса «черногоящика» – самый легкий способ для определения его внутреннего строения.
· Абсолютно «черныхящиков» нет. Одни из них – более «черные», а другие – менее.