Мегаобучалка Главная | О нас | Обратная связь


Проверка во время выполнения кода



2015-12-04 747 Обсуждений (0)
Проверка во время выполнения кода 0.00 из 5.00 0 оценок




 

Системы, реализующие данный подход, обнаруживают различные ошибки (в том числе и уязвимости), которые трудно "отловить" в процессе анализа исходных текстов. И хотя в процессе синтаксического и семантического '' анализа можно идентифицировать с высокой степенью вероятностью многие ошибки, все же некоторые пропускаются этими анализаторами и выявить их можно уже только во время выполнения программы [Рамодин 1-96].

Система BoundsChecker Proпредназначена для обнаружения ошибок, связанных с неправильным обращением к памяти. При ее использовании пре­процессор, встроенный в BoundsChecker Pro, встраивает в определенные участки проверяемой программы свои фрагменты кода, которые и отвечают за контроль операций с памятью, вызов функций, работу с указателями и массивами и т.д. Необходимо отметить, что за всеми своими достоинствами BoundsChecker Pro скрывает и ряд недостатков. Это во-первых, — замедле­ние работы анализируемой программы за счет "лишнего" кода, осуществ­ляющего проверку. Во-вторых, ошибки, не связанные с неправильным ис­пользованием памяти, не обнаруживаются этой системой.

Система HeapAgentне изменяет анализируемый код, как это делает BoundsChecker Pro. Но зато она подставляет на место любого пула памяти, выделяемого анализируемому приложению, свой собственный, который и позволяет отслеживать все неверные операции с данным пулом памяти. К недостаткам системы HeapAgent можно отнести то, что она не позволяет обнаруживать никаких других ошибок (вызовы функций, переполнение сте­ка и т. д.), кроме непосредственно ошибок пула памяти.

Система Purify NT так же, как и BoundsChecker Pro, вставляет в анализируе­мый код свои фрагменты, отвечающие за проверку работы с пулом памяти и стеком. Помимо замедления работы диагностируемого ПО, присущего и BoundsChecker Pro, ограничивающим ее распространение фактором служит то, что система Purify NT функционирует только под управлением ОС Windows NT и очень чувствительна к типу процессора.

Отечественные решения.Примером отечественной системы проверки по ходу выполнения кода является эмулятор ПЭВМ EMU (рис. 6.6), разработанный в уже упоминаемом Центре безопасности информации. Данная система позволяет эмулировать практически любые команды компьютеров, построенных на базе процессора Intel, и такие процессы, как включение питания нажатие клавиши RESET [Калайда 1-01].

Системы генерации тестов

Системы генерации тестов проводят ряд внешних воздействий на анализируемое программное обеспечение и изучают ответные действия системы на эти тесты. Очень часто данные средства анализируют реакцию системы на различные граничные значения входных данных, к которым можно отнести:

q переполнение буфера;

q выход за границы массива при индексации;

q отсутствие проверки аргументов;

q некорректный доступ к памяти;

q неподходящие аргументы вызова критических процедур.

Потребность в такого рода тестах закономерна, т.к. по статистике большин­ство уязвимостей реализации связано именно с указанными ошибками, на­пример, переполнением буфера. Большинство известных систем генераций-тестов разработано для ОС Unix (например, проекты Fuzz или Ballista). В Специальном Центре Защиты Информации Санкт-Петербургского Государственного Технического Университета (СЦЗИ СПбГГУ) создана анало­гичная разработка, но для платформы Windows NT [Корт 1-99]. Можно заме­тить, что данная система осуществляет те же самые тесты, что и система SLINT, отличие только в том, что SL1NT реализует проверки для исходного текста программы, а система СЦЗИ СПбГТУ — для исполняемого кода.

В табл. 6.3 перечислены достоинства и недостатки рассматриваемого метода.

Таблица 6.3. Достоинства и недостатки средств генерации тестов

Достоинства Недостатки
Возможность тестирования програм­много обеспечения, поставляемого без исходных текстов   Относительная простота реализации Обнаружение только некоторого класса уяз­вимостей и ошибок реализации.     Наличие некоторых ошибок еще не являет­ся признаком наличия уязвимости

 

Дизассемблирование

 

Сам процесс дизассемблирования мало чем может помочь при обнаружении уязвимостей, т.к. в этом случае объемы анализируемого кода будут намного превосходить размер исходного текста на языке программирования высо­кого уровня для той же программы. Однако дизассемблированный код мо­жет служить источником информации для анализаторов более высокого уровня, например, для системы АСТМА.

 

Имитация атак

 

Имитаторы атак предназначены для моделирования различных несанкционированных воздействий на компоненты информационной системы. Имен­но эти системы получили широкую известность во всем мире ввиду своей относительной простоты и дешевизны. Посредством таких имитаторов уяз­вимости обнаруживаются еще до того, как они будут использованы наруши­телями для реализации атак. К числу систем данного класса можно отнести SATAN, Internet Scanner, Cisco Secure Scanner, NetRecon и т. д. Из россий­ских продуктов можно выделить систему с многозначительным названием НКВД, разработанную в ЦБИ.

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



2015-12-04 747 Обсуждений (0)
Проверка во время выполнения кода 0.00 из 5.00 0 оценок









Обсуждение в статье: Проверка во время выполнения кода

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (747)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)