Защита от хакеров корпоративных сетей. Коллектив авторов
Чтение книги онлайн.
Читать онлайн книгу Защита от хакеров корпоративных сетей - Коллектив авторов страница 72
Конечно, этот метод защиты не отвечает всем требованиям безопасности. Все, что нужно сделать злоумышленнику, – это определить используемый алгоритм подсчета контрольной суммы, или алгоритм кэширования, и выполнить те же самые действия, что и программа. Местонахождение кэш-величины в файле не является тайной, поскольку, наблюдая за изменениями в файле при определении местонахождения изменяемых величин, всегда найдется одна или несколько последовательностей постоянно изменяющихся байт. Одна из них и является контрольной суммой.
Если исследователю неизвестен алгоритм вычисления контрольной суммы, то некоторые способы помогут ему определить его. Но, даже зная алгоритм вычисления контрольной суммы, потребуется дополнить выяснить, какая часть файла используется при подсчете контрольной суммы. Это можно узнать экспериментально. Если нет уверенности, какая именно часть файла используется для подсчета контрольной суммы, то измените в какой-либо части файла данные и попробуйте поработать с ним. Если в ответ получите сообщение о разрушении файла, то, вероятнее всего, эта часть файла используется для подсчета контрольной суммы.
Даже не проводя анализа машинного кода или некоторых внешних признаков (например, сообщений программы о CRC32 ошибке), первые предположения об используемом алгоритме можно сделать, основываясь на количестве байт кэш-величины. Наиболее известный алгоритм подсчета контрольной суммы CRC32 вычисляет 32-битовую (четырехбайтовую) величину. Этот алгоритм подсчета контрольной суммы используется в ряде сетевых технологий. Примеры его программной реализации могут быть найдены повсеместно, только запустите поиск в Интернете. Например, подходящий пример может быть найден по адресу www.faqs.org/faqs/compression-faq/part1/section-26.html.
Алгоритмы MD4 и MD5 (MD – сокращения от Message Digest – профиль сообщения. Профиль сообщения – это короткая цифровая строка фиксированной длины, формируемая из более длинного сообщения с использованием специального алгоритма) генерируют 128-битовую (16-байтовую) величину, а алгоритм SHA (SHA – Secure Hash Algorithm – алгоритм аутентификации и проверки целостности информации) – 160-битовую (20-байтовую) величину.
Примечание
Возможны любые изменения описанных в этой секции методов, если разработчик захочет усложнить жизнь хакеру. В худшем для хакера случае он сможет определить алгоритм, просмотрев выполнение программы в отладчике. Пример использования отладчика может быть найден в главах 4 и 8 книги.
Проблемы сжатия и шифрования
Эта тема схожа с предыдущей, но с небольшим дополнением. Если файл сжат или зашифрован, то нельзя определить, где именно надо модифицировать файл, пока не будет выяснен механизм шифрования или сжатия.
Если проанализировать различия между исходным и сжатым или зашифрованным файлом