30.12.2015

Статический анализатор исходных текстов AppChecker теперь обнаруживает 100 типов дефектов программного обеспечения!


Как известно, на безопасность современных информационных систем очень сильно влияет качество программного кода программного обеспечения, используемого при их построении.

К сожалению, даже самые крупные мировые разработчики программного обеспечения регулярно допускают появление уязвимостей в своих  продуктах. Наличие недочетов и уязвимостей в исходном коде приложений создает финансовые и репутационные риски для компании-разработчика, а также может привести к рискам нарушения целостности, доступности и конфиденциальности данных пользователей. Ключевым способом повышения качества исходного кода и снижения затрат на исправление ошибок является автоматическое выявление дефектов кода. Для решения данной задачи НПО «Эшелон» был разработан  статический анализатор исходных текстов AppChecker.

В настоящее время решение позволяет обнаруживать 100 типов дефектов программного кода, написанного на языках программирования C/C++, Java, PHP. AppChecker может использоваться как самими разработчиками программного обеспечения, так и специалистами по информационной безопасности, отвечающими за контроль безопасности кода, разрабатываемого аутсорсинговой компанией. Также решение представляет интерес для испытательных лабораторий, проводящих анализ кода в рамках сертификационных испытаний.

AppChecker использует несколько модулей анализа кода, в том числе сигнатурно-эвристический метод анализа, а также анализ потоков данных. Сигнатурный подход можно назвать «поиском по шаблонам». Данный подход заключается в том, что фрагмент исходного текста сравнивается с некоторым образцом, находящимся в базе дефектов. Подход поиска по шаблонам используется в анализаторах уже достаточно длительное время, поэтому его сильные и слабые стороны хорошо известны специалистам. К достоинствам можно отнести простоту реализации, простоту составления шаблонов и высокую скорость работы. К недостатку подхода стоит отнести высокое количество ложных срабатываний. Появление новых подходов к анализу кода, во многом направленных на устранение этого недостатка, не снизили роль поиска по шаблонам, т.к. он является идеальным по соотношению скорость/качество средством поиска некоторых дефектов. Наряду с поиском по шаблонам, AppChecker использует и другие модули анализа, позволяющие уменьшить количество ложных срабатываний и увеличить количество обнаруживаемых дефектов, как например анализ потоков данных (data flow), который позволяет строить граф потока данных на основе графа вызовов и графа потоков управления, что в свою очередь позволяет отслеживать перемещение данных как в локальных, так и в глобальных блоках программы.

AppChecker поддерживает международную классификацию дефектов CWE. База сигнатур дефектов постоянно пополняется и формируется с учетом различных стандартов и рекомендаций по безопасному программированию от OWASP, CERT, NIST и др.

Решение реализовано по  технологии «тонкий клиент» (с использованием web интерфейса), что позволяет проводить  аудит кода нескольким экспертам.

Как уже было отмечено ранее, AppChecker позволяет  анализировать код, написанный на C/C++, Java и PHP. Важным преимуществом продукта является тот факт, что гибкая конфигурация анализируемых проектов позволяет учитывать влияние таких особенностей языков программирования, как например директивы прекомпиляции в C/C++.

Более подробно познакомиться с решением можно, обратившись с запросом по адресу электронной почты sales@npo-echelon.ru. Для тестирования предоставляется демо-версия комплекса.


Возврат к списку