Разработчики PVS-Studio, коммерческого статического анализатора кода на языках C, C++ и C#, выступили с инициативой выявления в открытых проектах ошибок, которые могут привести к возникновению уязвимостей. Для упрощения анализа подобных ошибок составлена таблица соответствия предупреждений PVS-Studio и идентификаторов CWE (Common Weakness Enumeration), определяющих типовые ошибки, которые могут привести к появлению уязвимостей. Для примера продемонстрировано несколько предупреждений в Apache httpd, которые потенциально представляют угрозу безопасности.

Анализатор PVS-Studio всегда умел искать слабые места (потенциальные уязвимости) в коде программ, но исторически сложилось, что PVS-Studio позиционировался как инструмент для поиска ошибок, а не потенциальных уязвимостей. Станет та или иная ошибка в коде причиной уязвимости зависит от множества различных факторов - дефект иногда можно эксплуатировать, а иногда нет, как повезёт. Существенно то, что, устраняя ошибки, описанные в CWE, программист заранее защищает код от множества уязвимостей.

Команда разработчиков PVS-Studio заинтересовалась устранением потенциальных уязвимостей в различных проектах и решила отражать отдельные мероприятия по поиску уязвимостей в виде небольших еженедельных отчётов. В первом таком отчёте разработчики PVS-Studio написали о дефектах в C# проектах (CoreFX, MSBuild). Второй отчёт более интересен сообществу программистов на C и C++, и рассматривает потенциальные проблемы с безопасностью в таких проектах как FreeBSD, GCC и Clang. Как результат, разработчикам проверенных проектов направлены патчи или заведены сообщения о проблемах.

Дополнительно можно отметить новую статью о том, как и почему статические анализаторы борются с ложными срабатываниями.

Источник: http://www.opennet.ru/opennews/art.shtml?num=46222