О проекте

В рамках проекта облачного аудита кода планируется создать платформу анализа исходных текстов на популярных языках программирования, таких как C/C++, Java, PHP, C#, Python и других, основанную на технологиях облачных вычислений. Данная платформа позволит автоматически проводить контроль качества кода в ходе разработки, своевременное выявление уязвимостей и предоставление рекомендаций по их устранению. Платформа будет иметь модульную структуру, обеспечивающую масштабируемость, возможность расширения функциональности и добавление новых инструментов анализа. В платформу изначально закладываются механизмы обеспечения информационной безопасности, сводящие к минимуму риск утечки информации, обрабатываемой в облаке. Имеющиеся наработки касаются построения производительных программно-аппаратных решений обеспечения безопасности и анализа исходных текстов (Программное средство «Анализатор исходных текстов «АК-ВС» — Windows Desktop-приложение, анализатор кода написанного на языках C/C++, Java, C#, а также комплекс межсетевого экранирования и обнаружения вторжений «Рубикон»).

Проблема, на решение которой направлен проект, заключается в том, что при разработке программного обеспечения в современных реалиях необходимо строго следить за качеством кода. Практика показывает, что даже самые крупные мировые разработчики программного обеспечения регулярно допускают появление уязвимостей в своем ПО. Наличие недочетов и уязвимостей в исходном коде приложений приводит к финансовым и репутационным рискам разработчика, а также к рискам нарушения целостности, доступности и конфиденциальности данных пользователей ПО. В то же время огромное число недочетов и уязвимостей подлежит автоматическому выявлению еще на этапе разработки. Автоматическое выявление ошибок на этапе разработки позволит сократить цикл разработки, уменьшить затраты на тестирование и последующие исправления, снизить риски разработчиков и пользователей ПО.

В рамках проекта планируется разработка платформы, которая будет включать в себя распределенную систему вычислений, производящую анализ кода, выявление уязвимостей и формирование отчетов, а также веб-интерфейс пользователя, посредством которого производится управление работой системы.
Распределенная система вычислений будет представлять собой набор серверов  с
предустановленным программным обеспечением, обеспечивающих следующие основные функции:

  • организация взаимодействия между составляющими системы;
  • хранение и резервное копирование анализируемых файлов исходных текстов;
  • контроль связей и зависимостей между компонентами ПО;
  • подключение сторонних модулей анализа;
  • анализ исходных текстов и поиск уязвимостей в исходном коде;
  • формирование отчетов по результатам анализа;
  • автоматические распределение нагрузки между серверами;
  • защита от несанкционированного доступа к анализируемым файлам исходных текстов;
  • автоматическое восстановление после сбоев.

Веб-интерфейс будет позволять следующее:

  • конфигурация системы;
  • загрузка файлов исходных текстов для анализа;
  • управление ходом анализа;
  • предоставление отчетов по результатам анализа;
  • разграничение доступа, идентификацию и аутентификацию пользователей системы;
  • возможность коллаборативной работы нескольких экспертов с выявленными дефектами.