Продукт улучшил прозрачность и отчетность по проектам.
Купить Статический анализатор Svace: где и как приобрести
- Госкомпании
- ФОИВы
- РОИВы
- Муниципальные учреждения
О продукте
Статический анализатор Svace. Промышленный поиск критических ошибок в безопасном цикле разработки программ
Актуальность задачи
Ошибки в программах серьезно влияют на качество, приводя к сбоям в работе, а в некоторых случаях (уязвимости) – к перехвату контроля над системой. Сложность поиска ошибок существенно возросла в последние 20 лет, т.к. размеры программ достигли сотен миллионов строк кода. Предложено множество методов поиска ошибок, и их совместное применение регламентируется созданными циклами безопасной разработки ПО: например, Microsoft Security Development Lifecycle, ГОСТ Р 56939-2016 «Защита информации. Разработка безопасного программного обеспечения. Общие требования».
Одним из признанных методов поиска ошибок, обязательным к применению в упомянутых выше циклах разработки, является статический анализ исходного кода программ. Преимуществами метода являются:
- одновременный анализ многих путей выполнения сразу (масштабируемость),
- поиск ошибок на редко выполняющихся путях (плохо покрывающихся тестированием или динамическим анализом).
Недостатком является наличие ложных предупреждений об ошибках, от которых нельзя полностью избавиться из-за принципиальных ограничений технологии статического анализа.
Инструмент статического анализа Svace
Институтом системного программирования РАН разработан инструмент статического анализа Svace, удовлетворяющий всем требованиям для анализатора промышленного качества:
- Автоматизация: полностью автоматическая работа анализатора, требующая минимум настройки со стороны пользователя;
- Масштабируемость: анализ программ из миллионов строк кода за несколько часов (например, ОС Android 6 – за 5 часов);
- Качество: высокий уровень истинных срабатываний (60-90% в зависимости от типа находимой ошибки);
- Понятность: подробное объяснение потенциальной ошибки пользователю (текстовое описание, указание места проявления ошибки, а также цепочки причин, приведших к ошибке);
- Отслеживание результатов: хранение результатов серии запусков анализатора над заданной программой в базе данных, разметка предупреждений пользователем на ложные/истинные в графическом интерфейсе, сравнение запусков анализа между собой, автоматический перенос разметки результатов между запусками и др.
Инструмент Svace поддерживает языки программирования C/C++, Java, C# (C# может также предоставляться как отдельный инструмент), операционные системы Linux, Windows, а также анализ программ, собираемых на платформах Intel x86/x86-64 Linux/Windows, ARM/ARM64. Для языков C/C++ поддерживаются популярные компиляторы ОС Linux/Windows и множество компиляторов для встраиваемых систем.
Инструмент Svace поддерживает обнаружение большинства известных классов критических ошибок (всего более 50 типов ошибок): разыменование нулевого указателя, ошибки управления динамической памятью, переполнение буфера, деление на ноль, утечки ресурсов (память / дескрипторы), неинициализированные переменные, ошибки использования блокировок. Кроме того, реализовано более сотни легковесных детекторов для ошибок кодирования, неверного использования интерфейсов, соблюдения стандартов кодирования.
Фундаментальные исследования по технологиям статического анализа, реализованные в инструменте Svace, ведутся в ИСП РАН с 2002 года. С 2009 года в партнерстве с компанией Samsung ведутся работы по внедрению инструмента в цикл разработки программ в Samsung. В 2015 году Svace внедрен как основной инструмент статического анализа в Samsung, в том числе он используется для проверки собственного ПО Samsung на базе ОС Android и исходного кода ОС Tizen, применяемого для мобильных телефонов, телевизоров и других устройств компании.
Кроме того, технологии анализа Svace используются во внутренних проектах ИСП РАН по анализу кода.
Все интеллектуальные права на инструмент Svace принадлежат ИСП РАН.
Класс программного обеспечения: Среды разработки, тестирования и отладки, Системы анализа исходного кода на закладки и уязвимости, Средства обеспечения информационной безопасности
Добавлен в единого реестра российских программ 11 Декабря 2017 Приказ Минкомсвязи России от 07.12.2017 №680
Владелец - российская некоммерческая организация ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, Собственная разработка
Возможности
Все 7- Госкомпании
- ФОИВы
- РОИВы
- Муниципальные учреждения
- Для крупных предприятий (1000+ сотрудников)
- Для среднего бизнеса (100-1000 сотрудников)
- Для малого бизнеса (до 100 сотрудников)