Info-Expert.ru

Независимый аудит безопасности

Независимый аудит безопасности

Несмотря на то, что компания «Битрикс» уделяет важнейшее значение вопросам безопасности в программном продукте и безопасной разработке веб-приложений, для обеспечения нового уровня защищенности и предоставления большей уверенности для клиентов было решено провести независимый аудит информационной безопасности.

Для выполнения аудита информационной безопасности было решено привлечь наиболее известную в России компанию в области веб-безопасности, разработчика программного продукта XSpider, владельца самого популярного ресурса по безопасности на русском языке www.securitylab.ru - компанию Positive Technologies.

Компания Positive Technologies провела полномасштабное тестирование самой полной версии программного продукта «Битрикс: Управление сайтом», располагая исходными текстами продукта и консультационной поддержкой технических специалистов компании «Битрикс».

Краткий отчет о проведенном аудите безопасности программного продукта «Битрикс: Управление сайтом 4.0»

Объект и задача анализа

Провести исчерпывающий аудит информационной безопасности программного продукта «Битрикс: Управление сайтом 4.0».

Полное исследование предусматривает как внешний анализ дистрибутива программного продукта, так и детальный анализ всех исходных кодов продукта.

Исходный код продукта представлен более чем 5000 файлами на языке программирования PHP общим объемом около 24 Мб.

Типы уязвимостей

Во время анализа производился поиск всех известных типов уязвимостей, которым бывают подвержены веб-приложения. К основным из них относятся:

  • Cross Site Scripting
  • SQL-injection
  • PHP-injection
  • HTTP Response Splitting
  • HTML code injection
  • File Inclusion
  • Directory traversal.

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

Методы поиска уязвимостей

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

  • На основе изучения архитектуры и объектной модели продукта был определен перечень модулей и файлов, требующих детального ручного анализа для выявления уязвимостей и потенциально опасных мест. Выявленные объекты проверялись в ручном режиме.
  • На основе изучения особенностей кода продукта, были построены сигнатуры потенциально опасных фрагментов, на базе которых разработано оригинальное ПО для интеллектуального поиска уязвимых мест и последующего их анализа. Выявленные объекты проверялись в ручном режиме.
  • Поиск уязвимостей на работающей системе в автоматическом режиме с использованием интеллектуальных алгоритмов системы аудита информационной безопасности XSpider 7. Тесты проводились в режиме максимально глубокого анализа веб-приложений.

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

Использование приведенной комбинации методов позволило завершить полный анализ веб-приложения в течение четырех недель. Важно отметить, что подобная производительности при выполнении такой ответственной и кропотливой работы была бы невозможна без использования технологий интеллектуального автоматического анализа, реализованных в сканере безопасности XSpider 7.

XSpider 7 является уникальным продуктом в том смысле, что он реализует целый ряд эвристических алгоритмов анализа, во многом имитирующих поведение потенциального злоумышленника. В максимальной степени преимущества такого подхода проявляются именно при анализе веб-приложений, которые могут содержать произвольный, заранее неизвестный анализатору программный код. Благодаря наличию этих алгоритмов и высочайшей надежности своих диагностик XSpider 7 позволяет существенно сократить объем ручных работ экспертов по аудиту безопасности.

Positive Technologies не ведет систематических работ по поиску новых уязвимостей в программных продуктах. Тем не менее, достаточно регулярно компания публикует информацию о впервые обнаруженных уязвимостях распространенных веб-приложений. Все подобные уязвимости автоматически обнаруживаются XSpider 7 в процессе проведения аудита сетевой безопасности различных сетей.

Структурирование исследования

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

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

Для каждого блока при автоматическом поиске уязвимостей использовался свой набор сигнатур подозрительных мест.

Последовательности действий при поиске возможных уязвимостей в каждом блоке кода была достаточно очевидной.

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

Анализ уязвимостей

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

Из числа перечисленных выше типов уязвимостей в «Битрикс: Управление сайтом 4.0» были обнаружены подозрения на уязвимости двух типов: Cross Site Scripting ( XSS) и SQL-инъекции. В общей сложности было проанализировано более 50 подозрений на уязвимости первого типа, и более 5000 подозрений на уязвимости XSS.

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

Дальнейший анализ привел к следующим результатам.

  1. Опасность выявленных уязвимостей XSS-типа оказалась ниже критической, поскольку данные, доступ к которым теоретически можно было пытаться получить, не содержали открытой информации о паролях и другой критически важной информации.
  2. Опасность выявленных SQL-инъекций можно охарактеризовать как низкую. С одной стороны, в базовой конфигурации ПО использование обнаруженных инъекций не может привести к несанкционированному доступу в используемую базу данных. С другой стороны, в случае самостоятельного расширения функциональности продукта пользователем на основе предоставляемого системой API, ряд SQL-инъекций может привески при недостаточной квалификации разработчика к созданию потенциально опасных приложений. Разработчику предложено включить в производственный цикл проверок учет защищенности внутренних API функций.
  3. Некоторые подозрительные фрагменты кода рекомендовано усилить для более полной фильтрации вводимых пользователем значений.
  4. Полностью неуязвимым оказался блок «Форум».

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

Результаты аудита

Результаты анализа продукта были обобщены в отчете, общим объемом 390 страниц. Отчет представлял собой подробное руководство по устранению всех обнаруженных в системе подозрений на уязвимость.

Оценка результата исправлений

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

Дополнительные проверки

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

Сертификат «Безопасное веб-приложение»

Система обеспечения безопасности и в целом архитектурные решения программного продукта «Битрикс: Управление сайтом 4.0» получили очень высокую оценку и продемонстрировали серьезное и ответственное отношение компании «Битрикс» к вопросам информационной безопасности.

По результатам проверки программному продукту «Битрикс: Управление сайтом 4.0» присвоен статус «Безопасного веб-приложения» и выдан сертификат соответствия.

Непрерывный аудит безопасности обновлений

Компания «Битрикс» и Positive Technologies заключили договор о непрерывном мониторинге обновлений на предмет безопасности.

Кропотливая работа по проверке обновлений по вопросам безопасности выполняется сотрудниками Positive Technologies при выпуске изменений в рамках технологии SiteUpdate. Это позволяет обеспечивать независимый экспертный надзор и сохранить уровень безопасности продукта на высоком достигнутом уровне.