Вышло два новых инструмента для создания безопасных приложений по схеме SDL (Бонус: техническое руководство “7 простых шагов”)
С вами Джереми Дэллмэн, который рад сообщить о выходе двух новых утилитах для обеспечения безопасности, которые помогут вам протестировать и проверить безопасность вашего программного обеспечения. Встречайте одни из самых важных тестов SDL. В дополнении к этому мы отвечаем на просьбы разработчиков и предоставляем вам базовое руководство в 7 шагах: как вручную интегрировать ключевые элементы SDL Process Template.
Безопасная разработка программного обеспечения играет все большую и большую роль в индустрии разработки. И мы понимаем, что утилиты безопасности становятся основной частью вашего набора инструментов для обеспечения безопасности и помогаем внедрить лучшие технологии безопасной разработки в вашу организацию. В условиях современной экономики будут использоваться только те инструменты, которые недороги(или бесплатны), которые эффективно обнаруживают проблемы безопасности, легко работают с уже имеющейся средой разработки и помогают разработчикам реализовать основы SDL.
Уже сегодня программы
BinScope Binary Analyzer и MiniFuzz File Fuzzer доступны для бесплатного скачивания.
Также мы подобрали для вас пару демо-роликов. Вы можете найти их по адресу
BinScope video & MiniFuzz video
Я поверхностно ознакомлю вас с каждой из этих двух утилит и объясню, почему мы считаем их идеальными средствами для проверки безопасности вашего кода.
BinScope Binary Analyzer
Что это такое?
BinScope Binary Analyzer – это инструмент , требующий установленного SDL. Он используется командой Майкрософт с самого раннего периода создания SDL.
Он проверяет ваш двоичный код на всевозможные средства защиты и обладает при этом понятным и легким в использовании интерфейсом.
В Майкрософт разработчикам и тестерам необходимо использовать эту утилиту
на стадии проверки SDL для того, чтобы убедиться, что они собрали код, удовлетворяющий требованиям защиты компилятора/линкера Microsoft SDL.
Analyzer проводит ряд разноплановых проверок безопасности. Включая:
- Флаг /GS выставляется для перехвата ошибки переполнения стека
- Флаг /SafeSEH выставляется для включения и проверки безопасной обработки исключений
- Флаг /NXCOMPAT выставляется для принудительного предотвращения исполнения данных
- Флаг /DYNAMICBASE выставляется для включения технологии загрузки кода в случайный участок адресного пространства (технология ASLR)
- Cборки .NET строгим именем (.NET Strong-Named Assemblies)используется для подтверждения того, что уникальные пары ключей и строгие проверки целостности на своем месте.
- Также используются хорошо известные ATL-заголовки
Проверяется, являются ли компилятор и компоновщик обновленными до последней версии (Доступно начиная с Visual Studio 2005 SP2)
Сообщается об опасных конструкциях, запрещенных или не советуемых SDL (таких как разделяемый сектор чтения/записи и указатели на глобальные функции)
Как использовать BinScope Binary Analyzer?
BinScope Binary Analyzer может быть загружен в виде отдельного приложения или как инструмент, интегрированный в Visual Studio 2008. Посредством этих двух вариантов, программа поможет вам легко построить ваш код и отследить защиту SDL компилятора/линкера.
BinScope как отдельное приложение
BinScope, интегрированная в Visual Studio
Дополнительные преимущества
При интегрированной установке BinScope Binary Analyzer для Visual Studio, проверка защиты легко доступна уже в среде разработки. В дополнении ко всему, BinScope объединяется с Microsoft Team Foundation Server (TFS) и выводит результат тестов в качестве рабочих элементов. В конце концов, если ваш проект использует шаблон процессов Microsoft SDL Process Template для Visual Studio Team System, BinScope просто интегрируется с рабочими элементами безопасности шаблона и отчетами заключительного анализа безопасности SDL (SDL Final Security Review).
Простой вывод в TFS, тестирование ошибок и скорости
Простая интеграция в виде отчеты шаблона процессов SDL Process Template
MiniFuzz File Fuzzer
Что это такое?
MiniFuzz File Fuzzer – это очень простой инструмент, призванный упростить понимание fuzz-тестов(проверок поведения программного обеспечения при подаче на вход случайных параметров) для людей, не связанных со сферой информационной безопасности, которые никогда не пользовались подобными средствами при разработке программного обеспечения.
Первоначальный вариант этой программы, лишенный графического интерфейса, был впервые представлен общественности на CD, идущем с книгой Стива Липнера (Steve Lipner) и Майкла Говарда(Michael Howard) The Security Development Lifecycle.
С тех пор программа хорошо показала себя в нахождении качественных ошибок в программном обеспечении, поэтому мы хотели бы сделать ее еще более используемой, включив в состав утилит SDL.
Так как fuzz-тест чрезвычайно эффективен в поиске ошибок безопасности, он является одной из необходимой операций в стадии проверки Microsoft SDL. С появлением MiniFuzz File Fuzzer разработчик сможет устранить больше ошибок в информационной безопасности программного обеспечения, прежде чем оно попадет к потребителю.
Просто снабдите программу набором корректно сделанных файлов, служащих шаблонами проверки , и она создаст поврежденные входные данные для тестов.
Эффективность fuzz-тестов может быть повышена, если обеспечить больший разброс параметров в файлах-шаблонах
Как использовать MiniFuzz File Fuzzer?
Когда вы устанавливаете MiniFuzz File Fuzzer, он доступен как отдельное приложение, вызываемое из меню Пуск. Тем не менее, если вы используете Visual Studio 2008, вы можете включить Fuzzer в качестве надстройки Visual Studio и запускать его оттуда. В дополнении ко всему, MiniFuzz File Fuzzer может так же как и BinScope Binary Analyzer выводиться в
Team Foundation Server и интегрироваться с шаблоном процессов SDL Process Template для Visual Studio Team System.
Руководство: Интеграция SDL Process Template вручную.
Руководство может быть скачано здесь
После успешного выхода шаблона процессов SDL Process Template для Visual Studio Team System мы получили отзывы от некоторых разработчиков о том, что они хотели бы включить
ключевые элементы SDL в уже существующий командный проект. Поэтому мы описали как это сделать за 7 простых шагов и составили руководство. По завершении всех этих шагов вы сможете использовать ключевые элементы SDL в вашем проекте, не ожидая, когда вы запустите или соберете ваш следующий командный проект.
Я надеюсь, вы рады так же как и мы выходу этих новых утилит и большим возможностям для команд разработчиков к написанию безопасного кода по схеме SDL!
Мы будем рады увидеть ваши отзывы, вопросы и комментарии по поводу использования этих инструментов!
Перевод: Антон Зайцев