Бич современных информационных систем — ошибки в программном обеспечении. Именно они позволяют злоумышленникам проникать в защищенные информационные системы и скрытно закрепляться в них; поэтому чем меньше их в системе, тем более защищенной она считается. Однако избавляться от ошибок непросто, а потому разработчики стремятся не просто искать и исправлять их в своих программах, но и не допускать во время проектирования и разработки: ведь чем позже ошибка найдена, тем дороже стоит ее исправление. Если же разработчиков много, то обеспечить приемлемый уровень ошибок в продукте можно только с помощью специальной методологии.
В Microsoft, осознав необходимость системных шагов по избавлению своих программных продуктов от ошибок, в 2002 году выступили с инициативой безопасных вычислений Trustworthy Computing. В рамках инициативы была предложена специальная методика разработки безопасных приложений, которая получила название Security Development Lifecycle. Разработка программ в соответствии с этой методикой в Microsoft ведется с 2004 года, что положительно сказывается на качестве выпущенного корпорацией ПО.
В частности, методика предполагает обучение программистов использованию только безопасных программных конструкций и алгоритмов. При разработке программ их архитектура обязательно проверяется на наличие наиболее общих дефектов.
Увы, подобные методики разработки безопасных приложений приняты не во всех программистских коллективах. В результате вектор атак хакеров сместился с продуктов самой Microsoft на модули расширения и компоненты ActiveX: в них по-прежнему остаются уязвимости и небрежно написанный код.
В Microsoft вынуждены вести просветительскую работу среди своих партнеров и клиентов для внедрения и у них методики SDL.
Так, в конце марта в ходе специально организованного мероприятия Стив Липнер, старший менеджер Microsoft по стратегии безопасной разработки Trustworthy Computing, вновь убеждал российских разработчиков и партнеров корпорации в необходимости внедрения методики и подробно рассказывал о связанных с ней инструментах.
На текущий момент методика уже пережила несколько версий, в которых были учтены новые вызовы и хакерские разработки. Так, в последней версии документа с индексом 5.1 есть требования для проверки веб-приложений на наличие различных инъекций, межсайтовых атак и других современных методов нападения. Благодаря этому методика превращается в эффективный инструмент улучшения качества не только традиционных, но и облачных приложений.