Как разрабатывать безопасные приложения? В любой крупной софтверной компании есть свои методологии и рекомендации, но, как правило, они никогда не разглашаются. Microsoft делится со всеми не только своим подходом к созданию безопасных приложений, но и конкретными инструментами, которые ты можешь использовать.
Не успел я в прошлой "Колонке редактора" вспомнить про Microsoft и их наработки в области безопасности, как в Москву прилетел Стив Липнер. Это удивительный человек. Сложно представить, но свой первый отчет об уязвимостях в программном обеспечении он написал 40 (!) лет назад. Сейчас Стив работает в Microsoft и отвечает за стратегию безопасности разработки ПО, в основе которой лежит принятая компанией в 2004 году политика SDL (Security Development Lifecycle).
По сути, SDL — это набор практик, проверенных временем подходов и инструментальных средств, которые позволяют разрабатывать безопасный код. Мы уже рассказывали об этой концепции в материале "SDL, или безопасность по Microsoft" пару лет назад, и сейчас не будем подробно на этом останавливаться. Так что, когда я буду упоминать этот термин, можно воспринимать его просто как набор правильных требований и рекомендаций от профессионалов.
Особый интерес во время знакомства с SDL для меня представляли конкретные инструменты для безопасного написания кода и тестирования приложения на наличие уязвимостей. Многие из них вышли из недр внутреннего использования Microsoft и стали публично доступными. Но самое главное, что их может использовать каждый из нас, прямо с сегодняшнего дня. Большинство из утилит пригодятся не только разработчикам, но и вообще всем, кто занимается информационной безопасностью. Меня приятно удивили слова Стива, который рассказал, что за последние два года их стало гораздо больше. Я обобщил наш разговор и подготовил для тебя подборку как раз таких инструментов, разбив их на несколько тематических разделов.