Организационная и оперативная безопасность

Основы передовой практики обеспечения безопасности закладываются в вашей организации.

Создайте команду по безопасности и конфиденциальности

Создайте специальную группу по обеспечению безопасности и конфиденциальности и назначьте руководителя этой организации.

  • Создайте команду безопасности.
    • Убедитесь, что хотя бы один сотрудник отвечает за безопасность, конфиденциальность и реагирование на инциденты.
    • Определите миссию и сферу деятельности этой команды.
    • Разработайте организационную структуру и должностные инструкции для: Менеджера по безопасности, Инженера по безопасности, Менеджера по инцидентам.
    • Нанимайте сотрудников или внешних подрядчиков на эти должности.
  • Определите жизненный цикл разработки безопасности (SDL) . Ваш SDL должен охватывать следующие области:
    • Требования безопасности к продукции.
    • Анализ рисков и моделирование угроз.
    • Статический и динамический анализ приложений и кода.
    • Процессы окончательной проверки безопасности продуктов.
    • Реагирование на инцидент.
  • Оцените организационный риск . Проведите оценку рисков и разработайте планы по устранению или смягчению этих рисков.

Процесс проверки сборки

Оцените пробелы в существующих внутренних процессах проверки и утверждения сборки.

  • Определите любые пробелы в текущем процессе проверки сборки, которые могут привести к появлению в вашей сборке потенциально вредного приложения (PHA) .
  • Убедитесь, что у вас есть процесс проверки и утверждения кода, даже для собственных исправлений для AOSP .
  • Улучшите целостность сборки, внедрив элементы управления в следующих областях:
    • Отслеживать изменения . Отслеживание инженеров-программистов; вести журналы изменений.
    • Оцените риск . Оценить разрешения, используемые приложением; требуют ручной проверки изменений кода.
    • Монитор . Оцените изменения, внесенные в привилегированный код.

Отслеживание изменений исходного кода

Отслеживайте непреднамеренные изменения исходного кода или сторонних приложений/бинарных файлов/SDK.

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

Проверка целостности и происхождения исходного кода

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

  • Управление сертификатами подписи .
    • Храните ключи в аппаратном модуле безопасности (HSM) или безопасном облачном сервисе (не передавайте их).
    • Убедитесь, что доступ к подписывающим сертификатам контролируется и проверяется.
    • Требуйте, чтобы вся подпись кода выполнялась в вашей системе сборки.
    • Отозвать утерянные ключи.
    • Создавайте ключи, используя лучшие практики.
  • Анализируйте новый код . Протестируйте вновь добавленный код с помощью инструментов анализа кода безопасности, чтобы проверить наличие новых уязвимостей. Кроме того, проанализируйте общую функциональность для обнаружения проявления новых уязвимостей.
  • Обзор перед публикацией . Ищите уязвимости безопасности в исходном коде и сторонних приложениях, прежде чем запускать их в производство. Например:
    • Требовать от приложений использования безопасной связи.
    • Следуйте принципу минимальных привилегий и предоставляйте минимальный набор разрешений, необходимых для работы приложения.
    • Обеспечьте хранение и передачу данных по защищенным каналам.
    • Поддерживайте актуальность зависимостей служб.
    • Применяйте исправления безопасности к SDK и библиотекам с открытым исходным кодом.

Реагирование на инцидент

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

  • Наладить контакт . Создайте адрес электронной почты, например security@ your-company .com, или веб-сайт с четкими инструкциями по сообщению о потенциальных проблемах безопасности, связанных с вашим продуктом ( пример ).
  • Создайте программу вознаграждений за уязвимости (VRP) . Поощряйте внешних исследователей безопасности отправлять отчеты об уязвимостях безопасности, влияющих на ваши продукты, предлагая денежное вознаграждение за достоверные материалы ( пример ). Мы рекомендуем награждать исследователей конкурентоспособными в отрасли вознаграждениями, например, 5000 долларов США за уязвимости критического уровня опасности и 2500 долларов США за уязвимости высокой степени серьезности.
  • Вносите изменения в исходную версию . Если вам стало известно о проблеме безопасности, затрагивающей платформу Android или устройства от нескольких производителей устройств, свяжитесь с командой безопасности Android, отправив отчет об ошибке безопасности .
  • Продвигайте передовые методы обеспечения безопасности . Заблаговременно оценивайте методы обеспечения безопасности поставщиков оборудования и программного обеспечения, которые предоставляют услуги, компоненты и/или код для ваших устройств. Привлекать поставщиков к ответственности за поддержание хорошего уровня безопасности.