Помощь в написании студенческих работ
Антистрессовый сервис

Фаззинг программ. 
Надежность и безопасность программного обеспечения

РефератПомощь в написанииУзнать стоимостьмоей работы

Если приложение выполняется без сбоев на протяжении определенного промежутка времени (по умолчанию 2 с), то фаззер завершает тестирование приложения и удаляет временные файлы. Фаззер запускает приложение с использованием возможностей отладчика Windows, что позволяет ему определить ошибки, возникающие при выполнении приложения, и перехватить их. Если при выполнении приложения возник сбой… Читать ещё >

Фаззинг программ. Надежность и безопасность программного обеспечения (реферат, курсовая, диплом, контрольная)

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

Заведомо некорректные данные передаются на вход программным интерфейсам, включающим:

  • • файлы (файловый фаззинг);
  • • сетевые порты (фаззинг сетевых протоколов);
  • • API (Application Programming Interface) (API-фаззинг).

Фаззинг характеризуется двумя способами манипуляции с данными:

  • способ генерации предполагает подачу на вход программы случайным образом сгенерированнный набор битов;
  • способ мутации подразумевает внесение изменений в корректный файл.

Если в случае с файловым фаззингом еще можно использовать способ генерации, то в сетевых протоколах имеет смысл применять исключительно способ мутации.

Процесс фаззинга относительно прост и может быть описан как алгоритм:

  • 1. Создается (или получается) достаточно представительный набор корректных файлов исходных данных (этот набор является эталонным — template files set).
  • 2. Фаззер (программа для фаззинга) случайным образом выбирает файл из эталонного набора.
  • 3. Фаззер сохраняет выбранный файл во временном каталоге (создает временный файл).
  • 4. Фаззер искажает временный файл.
  • 5. Фаззер загружает тестируемое приложение и передает ему имя временного файла с искаженными данными как аргумент командной строки.
  • 6. Фаззер запускает приложение с использованием возможностей отладчика Windows, что позволяет ему определить ошибки, возникающие при выполнении приложения, и перехватить их.
  • 7. Если приложение выполняется без сбоев на протяжении определенного промежутка времени (по умолчанию 2 с), то фаззер завершает тестирование приложения и удаляет временные файлы.
  • 8. Если при выполнении приложения возник сбой, то информация об ошибке и временный файл сохраняются либо в каталоге файлов, либо в базе данных Team Foundation Server (bug tracking database).
  • 9. Фаззер возвращается к шагу 2.

Выше были рассмотрены лишь некоторые аспекты данной технологии. Разумеется, область тестирования ПО и используемых средств тестирования (фаззеров) гораздо шире.

Показать весь текст
Заполнить форму текущей работой