Новые инструменты, предлагаемые бесплатно, дают возможность реализовать предложенный Microsoft процесс SDL (Security Development Lifecycle), задача которого — обеспечить безопасность и конфиденциальность на всех этапах жизненного цикла приложений, в том числе на этапе разработки, в отличие от подхода, основанного на тестировании, выполняемом перед и после развертывания приложения.
Один из инструментов, BinScope Binary Analyzer, анализирует бинарный код с целью проверки его соответствия требованиям SDL для компиляторов и сборщиков программ. Он также следит за использованием строго именованных скомпонованных модулей и актуальностью инструментов сборки. «По существу, он проверяет выполнение различных требований SDL, таких как наличие флага, который служит для предотвращения переполнения буфера», — пояснил Дэвид Лэдд, старший менеджер группы Microsoft Security Development Lifecycle.
Переполнение буфера позволяет хакерам получить контроль над приложением. «Возможность предотвратить это еще на этапе компиляции очень полезна с точки зрения обеспечения безопасности», — сказал Лэдд. В BinScope Binary Analyzer предусмотрены также средства, которые не позволяют злоумышленникам воспользоваться данным инструментом для анализа ПО в поисках его уязвимых мест.
Второй инструмент, Microsoft MiniFuzz File Fuzzer, реализует методику тестирования с использованием случайных данных (fuzz-testing). Тестировщики проверяют поведение приложения, выполняя синтаксический разбор файлов, которые были преднамеренно испорчены. Тесты на безопасность служат для того, чтобы проверить работу кода с потоками различной структуры и определить, представляет ли возникший в результате сбой потенциальный риск для безопасности приложений.
«Если вы найдете ошибку в файле, которая может угрожать безопасности вашего приложения, вы сможете принять меры для ее устранения», — пояснил Лэдд.
Однако аналитики сомневаются в том, что данные инструменты будут полезны для разработчиков из корпоративной среды. Как считает старший аналитик Forrester Research Майкл Гуалтьери, эти специалисты, скорее всего, будут использовать технологии Java и .Net с Visual Basic.Net и C#, а не Си или C++.