Close

Наш подход к внешнему тестированию безопасности


Клиенты, которые хотят быть уверенными в надежности реализованных у нас процессов по определению (и устранению) уязвимостей безопасности продуктов и облака Atlassian, часто запрашивают отчеты о тестах на проникновение. В основе нашего подхода к внешнему тестированию безопасности лежит концепция непрерывного контроля. Мы не полагаемся на разовые тесты на проникновение, а предпочитаем постоянно действующую модель тестирования, которая основана на общедоступной программе вознаграждения за найденные ошибки (Bug Bounty) по принципу краудсорсинга.

Наши основные принципы и подход

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

  • Баги — это неизбежный спутник разработки. Вопрос не в том, есть ли у нас баги. Главное — насколько быстро и эффективно мы их находим и устраняем. Это не означает, что нам нравятся баги или что мы не ищем постоянно новые способы уменьшить их количество и степень серьезности. Просто когда речь заходит о багах в ПО, отрицание — не лучший подход.
  • Мы стремимся увеличить издержки, связанные с обнаружением и эксплуатацией уязвимостей в наших продуктах и сервисах. Если мы быстро находим и устраняем проблемы, затраты на поиск уязвимостей безопасности растут. Если затраты на эксплуатацию уязвимости растут, если для этого злоумышленникам требуется больше времени, знаний и ресурсов, их действия становятся сложнее окупить. Если мы сможем снизить их окупаемость до достаточного уровня, подобные махинации станут неприемлемыми или невыгодными.
  • Мы применяем и поддерживаем отраслевые стандарты. Мы используем стандартную терминологию и подходы, чтобы быть уверенными, что ничего не упустили, и чтобы клиенты могли понимать нашу деятельность. Например, общая система оценки уязвимостей (Common Vulnerability Scoring System, CVSS) помогает нам и нашим клиентам четко определить, насколько серьезна та или иная уязвимость. Мы также соблюдаем процессы управления уязвимостями, описанные в стандарте ISO 27001 и установленные Альянсом безопасности облачных вычислений (CSA).
  • Мы высоко ценим помощь, которую сторонние исследователи по вопросам безопасности оказывают нашей команде. Если в продукте Atlassian имеется уязвимость, найти и устранить ее как можно скорее — это общий интерес для нас и наших клиентов. Сторонние исследователи по вопросам безопасности, которые помогают нам в этом, значительно расширяют возможности нашей команды по безопасности, и их усилия должны быть достойным образом вознаграждены. Благодаря участию сторонних исследователей по вопросам безопасности арсенал нашей команды пополняют очень нетрадиционные подходы.
  • Мы поддерживаем открытую и прозрачную программу тестирования безопасности. В рамках нашей программы вознаграждения за найденные ошибки (Bug Bounty) мы собираем статистику по обнаруженным багам, открыто показываем, с какой скоростью мы пытаемся устранить баги системы безопасности, и, когда это возможно, формируем сводные отчеты по тестированию.

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

Тестирование на проникновение

В случаях, когда имеет место высокий риск, мы проводим тестирование продуктов и инфраструктуры на проникновение с привлечением компаний, специализирующихся на услугах консалтинга в сфере безопасности. К таким случаям относится настройка новой инфраструктуры (например, нашей облачной среды), внедрение нового продукта (например, Trello) или комплексное преобразование архитектуры (например, широкое внедрение микросервисов).

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

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

Мы публикуем письма об оценке (LoA) от наших партнеров по тестированию на проникновение. С ними можно ознакомиться внизу этой страницы. Из-за того, что при проведении этих оценок тестировщикам доступны подробные конфиденциальные сведения, мы не приводим отчеты целиком. Чтобы обеспечить для наших клиентов необходимый им внешний контроль качества в непрерывном режиме, большинство описываемых систем и продуктов будут впоследствии включены в нашу общедоступную программу Bug Bounty. Любые полученные в процессе тестирования результаты оцениваются, и к ним применяются меры в соответствии с нашим Соглашением SLA об устранении уязвимостей системы безопасности для неограниченного круга лиц (Public Security Vulnerability SLA).

Вознаграждение за найденные ошибки (Bug Bounty)

Наша программа вознаграждения за найденные ошибки (Bug Bounty) работает на платформе Bugcrowd. Цель этой программы — обеспечить постоянное тестирование наших продуктов на предмет уязвимостей безопасности. Чтобы разработать эту важнейшую составляющую нашей программы внешнего тестирования безопасности, мы приложили значительные усилия для исследования, анализа и сравнения моделей тестирования.

Мы верим, что сообщество независимых исследователей безопасности, принимающих участие в программе Bug Bounty, обеспечивает наиболее эффективный процесс внешнего тестирования безопасности.

  1. Программа Bug Bounty действует постоянно. Тестирование на проникновение, как правило, занимает несколько недель. В среде разработки с частыми релизами и использованием принципов agile нельзя обойтись без непрерывного тестирования.
  2. В программе Bug Bounty потенциально могут участвовать более 60 000 тестировщиков. В тестах на проникновение обычно участвуют 1–2 человека. Как бы ни были хороши эти 1–2 специалиста, им не по силам то, что может сделать целая команда участников программы Bug Bounty.
  3. Исследователи, участники программы Bug Bounty, разрабатывают специальные инструменты и процессы по вертикали (для отдельных видов багов) и по горизонтали (для отдельных видов вознаграждения). Такая конкретизация повышает вероятность обнаружения скрытых, но значимых уязвимостей.

Мы продолжим использовать тестирование на проникновение и привлекать к работе консультантов, специализирующихся на вопросах безопасности, для целей внутрифирменной поддержки, но для нашей внешней программы с ее широким охватом подход с вознаграждением (Bug Bounty) подходит больше. Мы считаем, что сочетание этих подходов повышает шансы на обнаружение уязвимостей.

Наша программа Bug Bounty охватывает более 25 продуктов и сред компании, в том числе серверные продукты, мобильные приложения и продукты Atlassian Cloud. Подробная информация о количестве обнаруженных уязвимостей, среднем времени реагирования и среднем размере вознаграждения размещена на сайте Bugcrowd. В нашей программе насчитывается более 800 зарегистрированных участников.

Посредством программы Bug Bounty мы стремимся выявить уязвимости, которые обычно включаются в списки угроз безопасности, составляемые сообществом Open Web Application Security Project (OWASP) и консорциумом Web Application Security Consortium (WASC), в том числе:

  • получение доступа к данным экземпляра/утечка данных;
  • удаленное выполнение кода (RCE);
  • подделка запросов со стороны сервера (SSRF);
  • межсайтовый скриптинг (XSS);
  • межсайтовая подделка запросов (CSRF);
  • внедрение SQL-кода (SQLi);
  • внедрение внешних сущностей XML (XXE-атака);
  • уязвимости, связанные с контролем доступа (в том числе небезопасные прямые ссылки на объекты);
  • обход каталогов.

Мы стремимся к открытости и прозрачности, поэтому приглашаем всех на страницу нашей программы вознаграждения за найденные ошибки (Bug Bounty). Регистрируйтесь в программе и тестируйте нас.

Информирование об уязвимости

Если кто-то из наших пользователей обнаруживает уязвимость в процессе обычной работы с продуктом (т. е. не при попытке протестировать систему, которую нужно предпринимать через нашу программу Bug Bounty), мы просим уведомить об этом службу поддержки Atlassian. Мы оперативно реагируем на все сообщения об уязвимостях и информируем заинтересованные стороны о ходе изучения и устранения проблемы.

Прежде чем разглашать содержание проблемы, мы просим исследователей запросить у нас разрешение. Каждый запрос на публичное разглашение требует отдельного сообщения для рассмотрения Atlassian. Запросы на публичное разглашение рассматриваются только после устранения обнаруженной уязвимости.

Исключения из нашей программы тестирования безопасности

Как и во всем, что касается проводимого нами тестирования, мы стремимся к открытости и прозрачности в отношении тестирования, которое проводят сторонние компании или которое мы в настоящее время не поддерживаем. Наша программа тестирования безопасности не распространяется на следующие случаи.

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

Тестирование по инициативе клиентов.

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

Хотя мы считаем нашу программу Bug Bounty наиболее эффективным и экономичным способом оценки безопасности наших продуктов и сервисов, мы понимаем ваше желание протестировать систему безопасности самостоятельно. Мы разрешаем клиентам проводить оценку безопасности (тесты на проникновение, оценку уязвимостей), но просим придерживаться ряда правил, чтобы не создавать дополнительных рисков. Если вам удастся найти проблему, о которой вы пожелаете сообщить, следуйте инструкциям по отправке сообщений об уязвимостях, которые также приведены на нашем сайте.

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

Использование правильных критериев оценки

У нас действует политика устранения багов, которая играет роль внутреннего соглашения об уровне обслуживания (SLA), заключенного между нашими командами по продукту и командой по обеспечению безопасности. Для классификации багов мы используем общую систему оценки уязвимостей (Common Vulnerability Scoring System, CVSS версии 3), благодаря чему можем донести степень серьезности уязвимостей до наших клиентов. Мы стремимся исправлять проблемы системы безопасности за следующие временные отрезки.

  • Баги критической степени серьезности (балл по CVSS v2 >= 8, балл по CVSS v3 >= 9) должны исправляться за 4 недели с момента отправки сообщения.
  • Баги высокой степени серьезности (балл по CVSS v2 >= 6, балл по CVSS v3 >= 7) должны исправляться за 6 недель с момента отправки сообщения.
  • Баги средней степени серьезности (балл по CVSS v2 >= 3, балл по CVSS v3 >= 4) должны исправляться за 8 недель с момента отправки сообщения.

Ежегодно мы пересматриваем эти временные периоды и при необходимости изменяем их, если меняется характер угроз.

И поскольку мы стремимся повысить издержки, связанные с поиском и эксплуатацией уязвимостей в наших продуктах, нам нужен способ для оценки таких издержек. В качестве ориентира мы используем вознаграждение, которое получают исследователи по вопросам безопасности за обнаружение уязвимости. В общем и целом со временем количество багов, обнаруженных посредством нашей программы Bug Bounty, должно снизиться, и, как только это произойдет, нам нужно будет увеличить размер вознаграждения за такие баги, чтобы нам продолжали отправлять сообщения. Если для обнаружения уязвимости за 3000 $ требуется приложить неоправданные усилия (которые обойдутся дороже 3000 $), значит, затраты на обнаружение этой уязвимости возросли.

Иными словами, стоит ожидать, что со временем размер вознаграждения за обнаруженные уязвимости будет увеличиваться.

Резюме

Компания Atlassian поддерживает развитую, открытую и прозрачную программу внешнего тестирования безопасности, в основе которой лежит поиск ошибок за вознаграждение.

Загрузить актуальные отчеты о программе Bug Bounty

Все уязвимости системы безопасности, описанные в приведенных ниже отчетах, отслеживаются нашей внутренней системой Jira по мере их регистрации в программе вознаграждения за найденные ошибки (Bug Bounty). Все найденные таким образом проблемы сортируются по приоритету и устраняются в соответствии с нашим соглашением SLA об устранении уязвимостей системы безопасности для неограниченного круга лиц.

Загрузить письма об оценке (LoA)

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