Main page www.securesize.com  
Main page GeSWall BOWall Resources  
BOWall
 

Описание функционирования BOWall

В начале работы предлагается ввести рабочий каталог (Search directory), в котором находятся DLL. По умолчанию выбирается %systemroot%\system32. Далее следует выбрать команду Find DLLs, после чего будет производиться поиск и анализ DLL в указанном каталоге. В результате данной операции будет сформировано два списка: Vulnerable DLL to protect и DLL to block calls. Первый список соответствует защите первым методом (мониторинг уязвимых функций). Второй список - методу препятствия исполнения функций динамических библиотек.

На этом этапе предоставляется возможность выбрать (отметить), какие DLL следует модифицировать. После этого по команде Protect DLLs или Block DLL calls выполняется модификация указанных DLL. Результаты этого процесса, как и все другие, отображаются в окне Protecting Result.

По окончании модификации будет выведено соответствующее сообщение. При модификации оригинальные DLL не изменяются, а создается их модифицированная копия. Модифицированные DLL получают следующие имена: new_[original_name] в том же каталоге. Для замены оригинальных DLL модифицированными необходимо выполнить следующее:

1) сделать резервную копию оригинальных DLL и переименовать их, например: ren [original_name] orig_[original_name]

2) переименовать модифицированные DLL: ren new_[original_name] [original_name]

3) перезагрузиться

Для тестирования результатов защиты первого метода запустите программу, входящую в данный архив:

botest.exe <big_string>

Где big_string - строка, которая вызывает переполнение буфера путем вызова уязвимой функции strcpy из MSVCRT.DLL. При вводе строки около длиной до 15 символов база кадра локальных переменных не перезаписывается и botest выдает: without overflow.

При вводе строки размером больше 15 символов происходит изменение указателя базы кадра локальных переменных в стеке и защита детектирует переполнение путем аварийного завершения программы - вызова привилегированной инструкции, о чем сообщает окно ошибки:

 

Отмечу, что модификации можно подвергать любые DLL, включая системные: KERNEL32.DLL, NTDLL.DLL и т.д., но для этого должна быть отключена Windows File Protection KB222473

 
© 2003-2008 Andrey Kolishchak
Designed by a.shoshin