Согласно стандарту безопасной разработки Microsoft SDL (Secure Development Lifecycle – жизненный цикл безопасной разработки), каждый алгоритм и программный модуль должен проходить масштабную проверку на наличие переполнений буфера и других распространенных уязвимостей путем тестирования случайными входными данными (fuzzing). Если крупные разработчики программных продуктов уже давно внедрили эту технологию для своих производственных процессов, то независимые разработчики до сих пор редко использовали подобные методики. С появлением свободно распространяемой утилиты Minifuzz входной барьер на пути к методике тестирования случайными входными данными значительно снижается.

Еще одна утилита Microsoft BinScope Binary Analyzer обеспечивает расширенную проверку результатов работы программистов путем анализа самих исполняемых файлов. Так, утилита BinScope проверяет, какая версия компилятора использовалась при сборке программы – конечно, для ответственных задач необходимо использовать самую актуальную версию компилятора. Также утилита BinScope уведомит тестировщика о том, что файл был скомпилирован без ключа /GS, который эффективно предотвращает атаки на приложение с использованием переполнения буфера.

Чтобы программу BinScope не могли использовать злоумышленники при поиске уязвимостей в чужих программных продуктах, утилита BinScope работает только тогда, когда пользователь имеет полномочный доступ к специальному набору отладочной информации для проверяемого исполняемого файла (private symbol) – в большинстве ситуаций эта информация недоступна никому, кроме самих разработчиков.

Компания Microsoft в последнее время прилагает серьезные усилия по повышению качества не только собственных программ, но и инструментов разработки. Особенно это касается заботы о сторонних разработчиках Windows-приложений. Новые бесплатные утилиты Minifuzz и BinScope еще раз напоминают, что Microsoft не бросает этих разработчиков на произвол судьбы.

Дополнительно об утилитах Minifuzz и BinScope для проверки готовых программных продуктов на устойчивость к атакам и соблюдение требований безопасной разработки можно узнать на сайте MSDN – там же можно загрузить себе копии этих утилит.

По материалам сайта The Register.