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

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

Кстати, по моим расчётам мы можем выявить и устранить в Tizen около 27000 ошибок. Но это отдельная история, про которую я буду рассказывать позже, а пока можно просто взглянуть на презентацию с расчётами: RU: pptx, slideshare; EN: pptx, slideshare.

После этого с нами связался Amihai Neiderman (@AAAAAAmihai), который заинтересовался возможностями анализатора PVS-Studio. Amihai Neiderman месяц назад как раз выступал на конференции с докладом, посвященным уязвимостям в операционной системе Tizen: Breaking Tizen.

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

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

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

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

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

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

Ссылки:

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

Комментарии (2)


  1. santanico
    06.06.2017 20:17
    +3

    Тема и правда актуальная, но тогда может пойти дальше и создать специальные правила, например:


    • обнаружение возможного SQL injection
    • обнаружение возможного Command injection
    • проверка минимальности запрашиваемых прав для операции
    • проверка правильности использования Security API операционной системы
    • и т.д.


    1. rat1
      07.06.2017 15:08
      +1

      Это уже будет отдельный инструмент. Не думаю, что стоит добавлять что-то такое в статический анализатор кода.