Close

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сообщение об уязвимостях

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

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

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

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

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

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

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

Хотя мы считаем нашу программу 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. Все выявленные через программу Bug Bounty проблемы сортируются в порядке приоритета и устраняются в соответствии с нашим соглашением SLA об устранении уязвимостей системы безопасности для неограниченного круга лиц (Public Security Vulnerability SLA).

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

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