Обзор 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 TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Лаборатория AM Test Lab готова провести независимую экспертизу и добровольную сертификацию любого продукта или сервиса по информационной безопасности и подготовить его профессиональный обзор. Для получения дополнительной информации необходимо оформить запрос.