Известны и другие инструментальные средства, например ActiveState Perl, FileMon и RegMon. На ActiveState Perl можно писать собственные программные средства. Утилиты операционной системы Microsoft Windows FileMon и RegMon контролируют доступ приложений к файлам и реестру Windows соответственно. Обе утилиты разработаны компанией Sysinternals.
В завершение были обсуждены возможные проблемы использования инструментария, описанного в главе. При создании систем безопасности следует учитывать возможность преодоления защиты на основе контрольных сумм и кэширования, если известно местоположение контрольных величин (контрольной суммы или кэш-величины) и метода их расчета. Было сказано несколько слов о проблемах сжатия и шифрования. Пояснено, почему нельзя найти место хранения контрольной суммы в зашифрованном или сжатом файле до тех пор, пока не будет обойден механизм защиты.
Суть поиска различий
· Поиск различий – процесс сравнения исследуемых объектов до и после свершения событий.
· Поиск различий может использоваться для обнаружения изменения файла программным путем или выяснения сути исправления уязвимости.
· Команда diff может быть применена для исследования содержимого директории путем сравнения входящих в нее файлов.
· Исследование методом поиска различий может быть применено к исходным текстам программ и двоичным файлам.
Исследование инструментария поиска различий
· В состав большинства операционных систем UNIX включена команда поиска различий diff. Для этих же целей в состав операционной системы Microsoft включена команда fc.
· При отправке по почте открытых исходных текстов исправлений уязвимостей программ отправитель не всегда пересылает файл различий (diff-файл), который позволил бы исправить исходный текст программы и установить исправленную версию программы.
· Шестнадцатеричный редактор позволяет редактировать двоичные файлы непосредственно, минуя приложение. Шестнадцатеричные редакторы доступны на многих платформах, например редактор Hackman для Windows или hexedit для UNIX.
· Поскольку атрибуты файла легко фальсифицировать, не стоит на них полагаться при определении модифицированных файлов. Измененные файлы могут укрывать вирусы, Троянских коней или программ типа root kit. Один из способов недопущения этого заключается в использовании контрольных сумм или алгоритмов кэширования файлов, хранимых вместе с файлами.
· В состав утилит мониторинга операционной системы Windows входят утилиты RegMon и FileMon.
Поиск неисправностей
· Для защиты файлов применяются вычисление контрольных сумм, кэширование, сжатие и шифрование.
· Основанная на контрольных суммах и кэшировании защита файлов может быть преодолена, если будет обнаружено место хранения контрольной суммы или кэш-величины и раскрыт алгоритм их вычисления. С помощью различных уловок можно определить, как вычисляется контрольная сумма. Но дополнительно к алгоритму ее вычисления нужно знать, на основе каких данных файла она рассчитывается.
· До изменения контрольных сумм или кэш-величин следует выяснить примененные способы шифрования и сжатия. Число способов сжатия и шифрования файлов ограничено. Если программа расшифровывает файлы, то следует только узнать, как она это делает.
Вопрос:Существует ли команда dif для операционной системы Windows?
Ответ:Да. Она может быть получена из дистрибутива Cygwin, распространяемого Cygnus Solutions.
Вопрос:Всегда ли нужен протокол различий исправлений выявленных уязвимостей? Ответ:И да, и нет. Ряд продавцов открытых операционных систем или систем, выпускаемых по общедоступной лицензии GPL, подобную информацию предоставляют. Коммерческие производители делают это неохотно и не всегда. Хотя автор не может указать читателю, какую операционную систему использовать, он предпочитает владеть информацией и поэтому использует свободно распространяемые открытые операционные системы.
Вопрос:Существует ли версия grep с возможностью рекурсивного построения отчета? Ответ:Да. Версии grep фонда открытых программных средств (Free Software Foundation), поддерживающие флаг рекурсии (-r), доступны по адресу www.gnu.org.
Вопрос:Что, если я захочу для создания своих собственных программных средств использовать язык С вместо Perl? Ответ:У вас будет больше возможностей. В состав большинства открыто распространяемых UNIX-подобных операционных систем входит компилятор с языка С. Для операционной системы Windows можно порекомендовать DJGPP, который можно найти по адресу www.delorie.com/djgpp.
Читать дальше
Конец ознакомительного отрывка
Купить книгу