Одно из самых простых средств, состоящих на вооружении хакера, – поиск различий (диффинг). Поиск различий заключается в сравнении программ, библиотек или любых других файлов до и после некоторых действий. Зачастую поиск различий, как одно из самых простых средств обнаружения уязвимостей, используется совместно с другими средствами и методами. Сравнивать можно файлы, базы данных, накопители информации. Сравнивая диски, определяют несовпадающие файлы. Сравнивая файлы – отличающиеся байты, а сравнивая базы данных – различающиеся записи. Поступая таким образом, можно найти способ целенаправленного изменения данных исследуемого приложения.
Суть поиска различий
Команда
Таким образом, слово диффинг может быть определено как применение команды
Изучите исходный текст программы, приведенный на рис. 5.1.
Рис. 5.1. Исходный текст scpybufo.c
Уже говорилось о сопутствующей этой программе ошибке переполнения буфера. (Эта программа была рассмотрена в главе 4 в секции, посвященной переполнению буфера.) Просмотрите исходный текст программы, представленный на рис. 5.2.
Применяя команду diff операционной системы UNIX, можно точно определить место и суть различий между двумя программами (см. рис. 5.3).