Обзор InfoWatch Appercut


InfoWatch Appercut

InfoWatch Appercut — система анализа исходного кода бизнес-приложений на языках 1C, C#, Java, JavaScript, SQL, PHP, Python, SAP Abap4 и LotusScript. Продукт позволяет обнаружить в исходном коде программные закладки и недокументированные возможности. В данной статье приводится обзор InfoWatch Appercut, включая описание функциональных возможностей и основных сценариев применения.

Сертификат AM Test Lab

Номер сертификата: 166

Дата выдачи: 11.07.2016

Срок действия: 11.07.2021

Реестр сертифицированных продуктов »

 

 

1. Введение

2. Системные требования

3. Лицензирование

4. Функциональные возможности

5. Работа с продуктом

6. Выводы

 

 

Введение

Полгода назад мы публиковали обзор российского и мирового рынка анализаторов исходного кода, в котором были описаны риски, связанные с использованием решений с открытым исходным текстом и заказных программных разработок. В данной статье рассматривается один из продуктов класса анализаторов исходного кода — InfoWatch Appercut. Это универсальный статический анализатор, предназначенный в первую очередь для аудита безопасности программного кода на финальном этапе разработки и приемки.

InfoWatch Appercut создан, в первую очередь, для квалифицированных специалистов, производящих оценку и аудит программного обеспечения. У продукта две основных категории целевой аудитории — это компании-разработчики и заказчики программных разработок. Разработчики могут использовать продукт для оценки качества написанного кода и исправления ошибок в процессе разработки и обновления программ. Компании-заказчики могут применять InfoWatch Appercut для проведения аудита выполненного заказа и проверки уже используемых решений на качество исполнения кода, наличие уязвимостей и программных закладок.

Отличительной особенностью продукта является его универсальность — поддерживается анализ всех групп программного обеспечения, используемого у бизнес-пользователей. В этот список входят веб-приложения, бизнес-приложения, включая надстройки над системами 1С, SAP, Lotus и исполняемый код для систем управления базами данных, а также классические приложения для настольных операционных систем.

В обзоре приводятся системные требования данного продукта, описываются функциональные возможности и непосредственно работа с продуктом. Вся информация в данной статье применима к InfoWatch Appercut версии 4.4.

 

Системные требования

InfoWatch Appercut выпускается в клиент-серверном исполнении и разворачивается на любом компьютере, удовлетворяющем системным требованиям. Доступ к интерфейсу InfoWatch Appercut осуществляется через веб-интерфейс.

Минимальные системные требования для развертывания серверной части продукта:

  • Оперативная память — не менее 8 Гб.
  • Свободное место на жестком диске — минимум 600 Мб.
  • Операционная система — Microsoft Windows 7, Microsoft Windows 8, Microsoft Windows Server 2008, Microsoft Windows Server 2012.

Для подключения к веб-интерфейсу продукта разработчик рекомендует браузер Google Chrome версии 17 и выше, но при подготовке данного обзора работа проверялась также в браузерах Internet Explorer и Mozilla Firefox, при этом никаких проблем выявлено не было.

В качестве альтернативного варианта заказчикам доступна функциональность продукта в виде SaaS-услуги — доступа к публичному облаку компании InfoWatch без необходимости установки программного обеспечения.

Кроме того, InfoWatch Appercut входит в состав InfoWatch Attack Killer как один из компонентов комплексного решения по защите от целенаправленных атак на веб-приложения. Подробнее об использовании технологий Appercut в комплексном решении Attack Killer можно узнать в нашей статье.

 

Лицензирование InfoWatch Appercut

InfoWatch предлагает два вида лицензий для Appercut — Standard и Enterprise. Первый тип предназначен для выполнения разовых задач по сканированию и больше подходит для внутреннего аудита безопасности программных разработок. Второй тип — для разработчиков программных продуктов, в нем есть многопользовательский доступ и средства автоматизации работы с продуктом, что позволяет встроить его в систему управления версиями и обеспечить доступ к отчетам для большого числа сотрудников.

Доступные функции для лицензии Standard:

  • Выполнение сканирования.
  • Доступ к базе знаний с информацией об ошибках программирования.
  • Управление шаблонами (паттернами) ошибок программирования и программных закладок.
  • Две встроенные учетные записи — администратора и обычного пользователя, без возможности создания новых идентификаторов.
  • Выгрузка отчетов в форматах DOC и HTML.

Дополнительные функции в лицензии Enterprise, по сравнению со Standard:

  • Возможность управления учетными записями без ограничений.
  • Поддержка интерфейса командной строки для работы с продуктом (используется для автоматизации запуска задач по сканированию).
  • Дополнительные форматы отчетов — PDF и XML (применяется для автоматизации обработки результатов сканирования).

InfoWatch Appercut может также поставляться в виде SDK для интеграции в состав сложных проектов разработки и аудита программного кода.

 

Функциональные возможности InfoWatch Appercut

InfoWatch Appercut позволяет выполнять статический анализ исходных текстов программ, написанных на следующих языках программирования:

  • языки программирования десктоп-приложений: Borland Delphi, Java, Visual Basic, C#, Java;
  • языки веб-программирования: JavaScript, PHP, Python;
  • процедурные языки баз данных: PL\SQL, T-SQL;
  • бизнес-код: LotusScript, SAP Abap4, встроенный язык программирования и файлы прикладных решений (конфигурации) в 1С:Предприятие версии 8.

Доступ к интерфейсу InfoWatch Appercut осуществляется через веб-консоль по защищенному протоколу HTTPS, что позволяет обеспечить защиту передаваемых данных (включая исходный код) через открытые сети. Благодаря использованию защищенного протокола обеспечивается безопасность, в том числе при использовании продукта в облаке InfoWatch.

Для работы в системе разных пользователей, например, группы разработчиков или нескольких сотрудников, выполняющих приемку заказанного продукта, InfoWatch Appercut поддерживает разграничение доступа к интерфейсу. В продукте имеются две роли — пользователя и администратора. Администратор обладает рядом дополнительных функций, включая возможность управления учетными записями и настройку паттернов для сканирования. База учетных записей настраивается только в интерфейсе Appercut, интеграция с доменом Active Directory и возможность импорта аккаунтов отсутствуют.

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

База шаблонов (паттернов) уязвимостей и программных ошибок выполнена в виде отчуждаемых файлов, которые можно независимо друг от друга загружать в продукт. При запуске сканирования администратор может выбрать перечень паттернов, которые применяются к конкретному анализу. При наличии достаточной квалификации пользователь продукта может разработать собственные паттерны и применить их для анализа. Компания InfoWatch регулярно готовит и выпускает обновление шаблонов, что позволяет поддерживать продукт в актуальном состоянии и эффективно обнаруживать ранее неизвестные угрозы. Для всех групп ошибок и уязвимостей встроено подробное описание с примерами, рекомендациями по устранению и дополнительной информацией. Кроме того, все типы проблем делятся по степени критичности на три уровня риска — высокий, средний и низкий. Уровни можно изменить как в самих паттернах, так и в настройках применения паттернов в каждом отдельном сканировании или проекте. Результаты работы могут быть обработаны в интерфейсе продукта или выгружены в виде отчетов в форматах PDF, HTML, DOC и XML.

InfoWatch Appercut поддерживает ручную верификацию результатов сканирования — для каждой найденной проблемы пользователь продукта может принять одно из двух решений: подтвердить проблему или отметить ее как ложное срабатывание. В дальнейшем из отчета по сканированию исключаются элементы, помеченные как ложные.

Для компаний-разработчиков важна интеграция средства анализа исходного кода в процесс разработки, и InfoWatch Appercut обладает всеми необходимыми для этого функциями. Наличие утилиты командной строки и выгрузки результатов сканирования позволяет автоматизировать передачу кода на анализ в момент его компиляции или выгрузки в систему хранения версий, а машинночитаемый формат XML позволяет обеспечить обратную связь и вывести ошибки в среду разработки, используемую программистом, связав результаты непосредственно с нужными фрагментами исходных текстов. Для среды программирования Eclipse предоставляется готовая надстройка для упрощения взаимодействия программистов с продуктом.

 

Работа с продуктом

Работа с веб-консолью InfoWatch Appercut начинается с окна авторизации в системе, по умолчанию в системе присутствует учетная запись администратора с именем пользователя и паролем admin.

 

Рисунок 1. Авторизация в веб-интерфейсе InfoWatch Appercut

Авторизация в веб-интерфейсе InfoWatch Appercut

 

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

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

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

 

Рисунок 2. Интерфейс проекта в InfoWatch Appercut, первый экран с выбором файлов для загрузки

Интерфейс проекта в InfoWatch Appercut, первый экран с выбором файлов для загрузки

 

После загрузки набора файлов (поддерживается мультизагрузка и работа с ZIP-архивами) становится активной кнопка «Сканировать». После завершения формирования списка файлов и запуска сканера InfoWatch Appercut производит ряд действий по сканированию — анализирует и распаковывает файлы, строит структуру проекта, проводит анализ исходных текстов и поиск совпадений с паттернами. Весь процесс сканирования отображается в режиме реального времени в интерфейсе продукта, при этом пользователь может перейти в другие разделы и позднее вернуться к статусу сканирования, то есть процесс сканирования выполняется в фоновом режиме и не требует внимания со стороны пользователя.

 

Рисунок 3. Работа сканера в InfoWatch Appercut

Работа сканера в InfoWatch Appercut

 

По завершению анализа открывается отчет с перечнем и подробным описанием найденных проблем. Все проблемы разбиты на группы в соответствии с паттернами ошибок и уязвимостей, для каждого типа доступна ссылка на подробное описание паттерна и рекомендации по устранению подобных ошибок. В правом блоке располагаются кнопки для быстрой выгрузки списка проблем в форматы PDF, HTML, DOC и XML.

 

Рисунок 4. Пример описания одного из типов уязвимостей исходного кода в InfoWatch Appercut

Пример описания одного из типов уязвимостей исходного кода в InfoWatch Appercut

 

В результатах сканирования под каждой проблемой присутствуют кнопки «Правильно» и «Ложное срабатывание», они используются для верификации найденных проблем квалифицированным специалистом. После отметки проблемы как правильной она фиксируется в результатах как определенная. При выборе ложного срабатывания проблема исключается из отчетов, но остается в результатах сканирования. Стоит отметить небольшой недостаток интерфейса верификации проблем — изменение ранее установленной отметки не поддерживается, поэтому в случае ошибки единственный выход для пользователя — заново запустить сканирование и повторить ранее проставленные отметки.

 

Рисунок 5. Результаты сканирования исходного текста в InfoWatch Appercut

Результаты сканирования исходного текста в InfoWatch Appercut

 

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

 

Рисунок 6. Шаблоны (паттерны) уязвимостей и ошибок программирования в InfoWatch Appercut

Шаблоны (паттерны) уязвимостей и ошибок программирования в InfoWatch Appercut

 

InfoWatch Appercut позволяет выгружать отчеты разными способами — из результатов сканирования, как описано выше, и из раздела «Отчеты». Между этими способами есть важное различие — в отдельном разделе отчеты создаются с помощью настраиваемого генератора и могут объединять результаты разных сканирований. Для каждого отчета выбирается список языков программирования, составляется перечень сканирований, задается формат вывода и дополнительные параметры.

 

Рисунок 7. Мастер создания отчетов в InfoWatch Appercut

Мастер создания отчетов в InfoWatch Appercut

 

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

 

Рисунок 8. Управление пользовательской учетной записью в InfoWatch Appercut

Управление пользовательской учетной записью в InfoWatch Appercut

 

Выводы

InfoWatch Appercut обладает удобным и интуитивно понятным веб-интерфейсом. Продукт легко разворачивается в любой инфраструктуре, а за счет поддержки SaaS-варианта может применяться без развертывания программной части. В ходе тестирования продукт показал высокую степень эффективности обнаружения различных уязвимостей и программных ошибок. Также стоит отметить высокую скорость работы — на минимальных системных требованиях сканирование 900 файлов PHP и JavaScript на 360 тысяч строк кода длилось менее 5 минут.

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

В завершение обзора хочется отметить, что InfoWatch Appercut разрабатывается российской компанией, поэтому весь интерфейс полностью русскоязычный, включая документацию, описание уязвимостей и информацию о классификации ошибок программирования. Продукт имеет сертификат ФСТЭК России на соответствие техническим условиям и на отсутствие недекларированных возможностей по 4 уровню контроля.

Достоинства:

  • Большое число поддерживаемых языков программирования.
  • Быстрая работа сканера.
  • Не сохраняет исходные коды после сканирования, только результаты проверки.
  • Наличие возможности обновления базы паттернов ошибок программирования, регулярный выпуск новых баз разработчиком.
  • Возможность интеграции в системы сборки и контроля версий, наличие расширения для IDE Eclipse.
  • Подробное описание классов уязвимости с общими рекомендациями по устранению.
  • Быстрое развертывание в инфраструктуре заказчика с минимальными настройками (есть возможность использования сервиса из облака).
  • Удобный веб-интерфейс.
  • Полностью русскоязычный интерфейс, описания уязвимостей и документация на русском языке, наличие сертификата ФСТЭК России.

Недостатки:

  • Отсутствие привязки рекомендаций по устранению к конкретному обнаруженному коду.
  • Отсутствие возможности реакции на обнаруженные уязвимости, например, путем генерации патчей или создания правил в веб-брандмауэре (WAF), только в интеграции с Wallarm.
  • Отсутствует тесная интеграция со средами разработки, что исключает использование непосредственно в процессе разработки (разработчики не попадают в целевую аудиторию продукта).

Реестр сертифицированных продуктов »

Записаться на демонстрацию

Нажимая "Запросить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Запросить пробную версию

Нажимая "Получить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Запросить цены

Нажимая "Отправить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Задать вопрос

Нажимая "Задать", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Выбор редакции: 
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Лаборатория AM Test Lab готова провести независимую экспертизу и добровольную сертификацию любого продукта или сервиса по информационной безопасности и подготовить его профессиональный обзор. Для получения дополнительной информации необходимо оформить запрос.