Защита от хакеров корпоративных сетей. Коллектив авторов
Чтение книги онлайн.

Читать онлайн книгу Защита от хакеров корпоративных сетей - Коллектив авторов страница 48

СКАЧАТЬ Другими словами, при трансляции программы исходный текст заменяется объектным кодом таким образом, что точное обратное восстановление исходного текста в большинстве случаев невозможно. Поэтому, основываясь только на результатах реинжиниринга, понять логику работы программы очень сложно.

      И наконец, последний рассматриваемый способ – тестирование методом «черного ящика». Тестирование методом «черного ящика» позволяет определить зависимость между входными и выходными данными программы без выяснения ее внутреннего устройства. В некоторых случаях тестирование методом «черногоящика» – единственно возможный метод анализа программы на начальном этапе, в других – позволяет определить пути анализа программы, на которых следует сконцентрироваться.

      В этой главе будут рассмотрены различные методы изучения уязвимости и показаны примеры их использования.

      Суть методологии исследования уязвимости

      Поясним простым языком, что понимается под методологией исследования уязвимости. Уязвимость – это нечто, что независимо от того, воспользовался ли ею кто-нибудь или нет, присутствует всюду, будь то микроконтроллер или суперкомпьютер. Исследование – процесс сбора информации, который может как привести, так и не привести к нахождению уязвимости. Методология — это обычно используемые на практике, рекомендуемые или признанные большинством профессионалов приемы и методы исследования уязвимостей.

      Методы исследования уязвимостей по своей сути универсальны. Как домашний энтузиаст безопасности, так и корпоративные аудиторы безопасности в повседневной деятельности применяют одни и те же методы, один и тот же набор инструментальных средств. Диапазон применяемых средств широк: от шестнадцатеричных редакторов до дизассемблеров кода. Методы могут быть как эмпирическими, основанными на счастливой догадке, так и научно обоснованными на основе фундаментальных знаний. Некоторые из этих методов могут показаться хаотичными, в то время как другие – детализированными, строго регламентирующими последовательность выполняемых при исследовании действий. Новичок может предпочесть последние методы, в то время как закаленные исследователи с большим опытом программирования в большей степени полагаются на свою интуицию. Причина выбора тех или иных методов кроется в личном предпочтении исследователя.

      Примечание

      В практике обеспечения безопасности используется ряд схем исследования уязвимостей, которые предусматривают различные методы исследования. Некоторые предпочитают детализированные методичные методы пошагового аудита программ, а другие – методы, в которых последовательность выполняемых действий напоминает «белый шум».

      Выбор субъективен и целиком определяется предпочтениями исследователя. Уже говорилось о широком распространении программных средств определения уязвимостей и аудита программного обеспечения. Некоторые из них по своим возможностям аналогичны Web CGI или SQL Database. Другие, как, например, Bugzilla, предоставляют ряд дополнительных возможностей, включая прекрасный интерфейс, СКАЧАТЬ