Мы вдруг поняли, что есть возможности для взаимовыгодного сотрудничества между нами и специалистами по информационной безопасности. Те специалисты, которые специализируются на поиске уязвимостей в программном коде, могут бесплатно использовать анализатор PVS-Studio в своих исследованиях. Это, в свою очередь, сделает наш инструмент более популярным, если ему удастся найти уязвимости. PVS-Studio умеет проверять проекты, написанные на C и C++.

Все началось с открытого письма «Команда PVS-Studio готова работать над улучшением проекта Tizen», которым мы намеревались привлечь внимание Samsung Electronics. Компания Samsung заботится о надежности и безопасности ОС Tizen и проводит разного рода исследования в этой области. Например, они вложили более $10 млн в статический анализатор Svace, разработанный в Институте системного программирования РАН. Итак, мы подумали, что разработчикам Tizen, вероятно, будет полезен анализатор PVS-Studio, так как он смог обнаружить ошибки в их проекте.

После этого с нами связался Амихай Нейдерман (@AAAAAAmihai), который заинтересовался возможностями PVS-Studio. Так совпало, что всего месяц назад он выступал на конференции об уязвимостях в ОС Tizen (Breaking Tizen).

Мы обменялись несколькими электронными письмами, а затем наша компания предоставила Амихаю Нейдерману лицензию PVS-Studio для использования в его дальнейших исследованиях по обнаружению уязвимостей. Неизвестно, повезет ли ему найти какие-либо проблемы с помощью нашего анализатора, но почему бы не попробовать? Если он есть, то от этого выиграют все. Мы предоставили Амихаю Нейдерману новый инструмент, способный обнаруживать подозрительный код, в котором могут скрываться уязвимости. Если ему это удастся и он обнаружит такие проблемы, это будет хорошая возможность для него упомянуть PVS-Studio в своем следующем выступлении на конференции. А для нас это будет хорошей возможностью получить дополнительное продвижение.

В этот момент нам пришла в голову хорошая идея. Странно, что этого не произошло раньше, но таков путь многих хороших идей :). Мы поняли, что нужно начать сотрудничать и с другими экспертами, изучающими уязвимости.

Итак, если вы являетесь публичным экспертом в области безопасности и специализируетесь на обнаружении уязвимостей, вы можете написать нам по электронной почте, чтобы получить лицензию PVS-Studio. Мы поможем вам со сканированием различных проектов и обеспечим поддержку пользователей. Если вам удастся найти проблемы с помощью нашего инструмента, мы будем признательны, если вы упомянете его в своих статьях и выступлениях.

Желающие получить лицензию и поддержку должны будут доказать, что они занимаются безопасностью программного обеспечения и занимаются публичной деятельностью, например, написанием статей. Во всяком случае, эти моменты будут обсуждаться в ходе нашего общения. Если вы заинтересованы, пожалуйста, напишите нам по адресу support [@] viva64.com.

Далеко не все диагностики PVS-Studio выявляют ошибки, связанные с безопасностью. Например, предупреждение V665 вряд ли будет полезно при поиске уязвимостей. К счастью, такую ​​диагностику можно отключить, чтобы оставлять только релевантные предупреждения. Как я уже говорил, вы также можете рассчитывать на нашу поддержку, если у вас возникнут вопросы.

Примечание. Ранее мы не позиционировали наш анализатор как инструмент для поиска уязвимостей. В наших статьях мы обсуждали только обычные баги. Теперь мы хотим, чтобы программисты рассматривали PVS-Studio не только как инструмент для обнаружения опечаток и других ошибок, но и как инструмент, помогающий предотвратить множественные уязвимости. Многие ошибки, обнаруженные анализатором PVS-Studio, попадают под классификацию CWE (пример). В определенных обстоятельствах проблемы CWE могут превратиться в проблемы CVE, поэтому использование PVS-Studio позволяет не только устранить ошибки в коде, тем самым уменьшив стоимость разработки, но и предотвратить множество уязвимостей.

Поддерживаемые языки и компиляторы:

  • Окна. Visual Studio 2017 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Окна. Visual Studio 2015 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Окна. Visual Studio 2013 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Окна. Visual Studio 2012 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Окна. Visual Studio 2010 C, C++, C++/CLI, C#
  • Окна. МинГВ С, С++
  • Windows/Линукс. Кланг С, С++
  • Линукс. GCC С, С++

Ресурсы:

  • ПВС-Студия. Скачать версию для: Windows, Linux.
  • Актуальный список статей об ошибках, обнаруженных PVS-Studio в open-source проектах.
  • Ошибки, найденные в open-source проектах разработчиками PVS-Studio с помощью статического анализа: База ошибок.