Анализ кода, доступный каждому.

Данная статья является переводом статьи SDL Team “Code Analysis for All”.

Всем привет!

Как многие из вас знают, команда SDL в Майкрософт поддерживает тесное взаимодействие с нашими коллегами из MSEC Security Science Team. Эти ребята находятся на передовой линии разработки инструментария для SDL и постоянно работают над поиском новых способов внедрения технологий безопасности, которые они разрабатывают, в массы. Помня это, я с удовольствием предоставляю слово Тиму Барреллу (Tim Burrell), чтобы познакомить вас с новыми разработками в области анализа кода.

Дейв.

На последней конференции BUILD команда Visual Studio Code Analysis представила некоторые новые великолепные функции в Microsoft Visual Studio 11 C++ Code Analysis. Мы подумали, что имеет смысл осветить парочку аспектов безопасности.

Впервые Code Analysis был включен в редакцию Visual Studio Express, как подтверждение приверженности компании Майкрософт в обеспечении современными технологиями широкой экосистемы разработчиков за пределами собственных разработок компании. Это также свидетельствует о значении, которое мы придаем инструментам статического анализа, которые сегодня должен использовать каждый разработчик. Ценность этого инструмента проявляется во многих формах, в основном базирующаяся на факте, что намного дешевле исправить ошибку на ранней стадии разработки:

  • Раннее исправление ошибок предотвращает потерю времени на отладке падений программы и проблем с надежностью на поздних стадиях.
  • Раннее исправление ошибок предотвращает сброс/повторение тестирования после исправления ошибки на поздней стадии цикла разработки.
  • Раннее исправление ошибок предотвращает проблемы, связанные с исправлениями уже выпущенной программы.

Security Science Team вместе с Microsoft Security Engineering Centre (MSEC) тесно работают с Visual Studio Code Analysis Team над внедрением в Visual Studio Developer Preview максимального числа предупреждений SDL C/C++ Code Analysis, насколько это возможно. Все эти предупреждения были признаны критическими в процессе разработки собственных продуктов на C/C++.

Выбор предупреждений, которые будут включены в Microsoft Visual Studio 11 Express, балансирует между желанием предоставить всем разработчикам доступ к этим предупреждениям, не перегружая их при этом, чтобы предотвратить игнорирование предупреждений. Мы постарались выбрать наилучшую комбинацию между высокой важностью и низкой назойливостью. Мы очень надеемся услышать ваше мнение об опыте использования анализа кода в Express.

Разумеется, Security Development Lifecycle (SDL) является комплексным процессом и методологией для разработки безопасного программного обеспечения и включает в себя гораздо больше, нежели простое исправление появляющихся предупреждений. Здесь вы можете получить больше информации и найти дополнительные ресурсы о SDL.

Действительно, анализ кода охватывает гораздо больше, чем ошибки безопасности. На самом деле разница между безопасностью и надежностью иногда может быть весьма тонкой: ошибка, которая приводит к крушению программы сегодня (проблема надежности?) может привести к передаче контроля над приложением хакеру завтра (проблема безопасности). Мы настойчиво рекомендуем использовать Visual Studio Code Analysis для разработки безопасных и надежных приложений.

Tim Burrell, MSEC Security Science.