Аудит безопасности веб-приложения

Когда стоит начать с аудита
Перед запуском важной функции
В приложении появится новый вход, оплата, кабинет клиента, роли сотрудников, интеграция или API. Вы хотите проверить согласованную область до того, как она начнёт работать с реальными пользователями и данными.
После смены исполнителя или при передаче системы
Приложение работает, но неизвестно, какие решения по доступу, конфигурации и защите данных уже были проверены. Аудит помогает отделить срочные проблемы от задач, которые можно запланировать на будущее.
Перед крупным расширением
Планируются новые роли, модули или интеграции. Лучше заранее узнать о существующих ограничениях, чтобы не перенести текущие проблемы в новые части системы.
При настораживающем поведении приложения
Пользователи видят данные, к которым не должны иметь доступа, вход работает нестабильно, API возвращает слишком много информации или конфигурация вызывает сомнения. Сначала мы определяем, нужен ли плановый аудит или срочная работа с инцидентом.
Когда нужен порядок исправлений
Список предупреждений автоматического сканера ещё не показывает, какие проблемы действительно воспроизводятся в этом приложении и какие из них важнее для бизнеса. Нужны подтверждение, контекст и приоритеты.
Аудит, проверка конфигурации, ревью кода и пентест не одно и то же
Названия этих услуг иногда используют как взаимозаменяемые, хотя фактический объём работ может сильно отличаться. Поэтому до начала мы фиксируем в предложении, какие действия входят в конкретный заказ.
| Вид работы | Основная задача | Важное ограничение |
|---|---|---|
| Аудит безопасности приложения | Объединяет согласованные способы проверки выбранных функций, доступов, API, конфигурации или кода | Не означает автоматическую проверку всей системы |
| Проверка конфигурации | Оценивает выбранные настройки приложения, среды и защитных механизмов | Не заменяет тестирование бизнес-логики и всего исходного кода |
| Ревью кода | Анализирует согласованные фрагменты исходного кода с точки зрения конкретных рисков | Доступ к репозиторию не означает автоматическую проверку каждого файла |
| Пенетрационный тест | Включает контролируемые попытки использовать уязвимости в разрешённых границах | Требует явного согласия, определённой среды и правил тестирования |
Слово "пентест" мы используем только тогда, когда заказ действительно включает согласованное пенетрационное тестирование. Сам по себе аудит не является обещанием полного пентеста.
Объём согласуем до начала работ
У каждого приложения свои способы входа, роли, данные, интеграции и риски. До оценки стоимости мы определяем как минимум:
- домены, приложения и среды, которые входят в проверку;
- функции и процессы, охваченные аудитом;
- роли и тестовые учётные записи, которые можно использовать;
- выбранные endpoint API и связанные интеграции;
- разрешённые виды тестов и их границы;
- элементы, исключённые из заказа;
- условия безопасной работы в тестовой или производственной среде;
- формат результата и лиц, имеющих право его получить.
Если какая-либо часть приложения, инфраструктуры или кода не входит в заказ, мы фиксируем это как ограничение. Результат не будет создавать впечатление, что мы проверили области, которых фактически не касались.
Как может проходить сотрудничество
1. Кратко определяем потребность
Бесплатный разговор длительностью до 20 минут помогает понять цель, важные области и необходимые материалы. Это не бесплатная диагностика, аудит или отчёт.
2. Согласуем объём и правила безопасности
До начала работ вы получаете индивидуальное предложение. В нём указаны среда, разрешённые действия, исключения, результат, срок и цена.
3. Вы безопасно передаёте необходимые материалы
После согласования заказа мы определяем подходящий канал для передачи тестовых учётных записей, кода или документации. Не отправляйте пароли, API-ключи, копии базы данных и данные клиентов через обычную контактную форму.
4. Проводим согласованные проверки
Мы применяем только те методы, которые подходят к объёму и условиям конкретного приложения. Там, где это возможно и безопасно, подтверждаем проблемы, а не просто передаём непроверенный список автоматических предупреждений.
5. Передаём результат и обсуждаем приоритеты
Результат показывает, что было проверено, что подтвердилось, какие ограничения действуют и с чего следует начать исправления. Формат результата согласуем заранее.
Что вы получаете после аудита
Точный результат зависит от предложения. Согласованное резюме может включать:
- описание проверенного объёма, среды и ограничений;
- список подтверждённых проблем с оценкой их важности;
- доказательства и способ воспроизведения, если их можно безопасно передать;
- возможное техническое и бизнес-влияние;
- рекомендации по исправлению или дальнейшей проверке;
- предлагаемую последовательность действий;
- техническую информацию для команды, которая будет внедрять изменения.
Материалы можно использовать для дальнейшей работы с Domin Software или передать другому выбранному исполнителю с соблюдением конфиденциальности и согласованных правил обращения с отчётом.
OWASP служит ориентиром, но не обещанием полного охвата
При определении объёма мы можем использовать актуальные материалы OWASP по тестированию веб-приложений, требованиям безопасности и рискам API. Они помогают упорядочить области проверки, но не заменяют индивидуальный объём заказа.
Ссылка на OWASP не означает, что каждый заказ включает все тесты Web Security Testing Guide, проверку всех требований ASVS или каждый вид риска API. В предложении указано, что будет проверено на самом деле.
Что не входит в базовый объём
Если конкретное предложение не устанавливает иное, аудит автоматически не включает:
- сертификат безопасности;
- гарантию обнаружения каждой уязвимости или отсутствия проблем в будущем;
- проверку всего кода, всей инфраструктуры, сетей и устройств;
- социальную инженерию и действия, направленные на сотрудников;
- нагрузочные тесты или нарушение работы производственной среды;
- внедрение всех исправлений;
- круглосуточный мониторинг или постоянное реагирование на инциденты;
- повторную проверку в любой момент или после несогласованных изменений.
Активные тесты в производственной среде мы проводим только после отдельного согласования, разрешения и подготовки мер безопасности. Если для безопасной проверки нужна другая среда, сообщаем об этом до начала работ.
Исправления и повторная проверка
Внедрение исправлений является отдельным объёмом, если в предложении прямо не указано иное. После аудита мы можем подготовить отдельную оценку работ или передать материалы выбранной клиентом команде.
Если исправления внедряет Domin Software, их повторная проверка может быть бесплатной в течение срока, указанного в предложении. После длительного перерыва, изменений другой стороной или выхода за первоначальные рамки потребуется новая оценка.
Если аудит приводит к более крупному проекту, который реализует Domin Software, оплаченную стоимость аудита мы засчитываем в общую стоимость проекта.
Срок, стоимость и оплата
Каждый аудит оценивается индивидуально. Цена зависит в том числе от количества областей, ролей, endpoint, сред, необходимого доступа и разрешённых видов тестирования.
Ориентировочный срок составляет от 7 до 15 рабочих дней после получения полного описания объёма, доступной среды и согласованных тестовых учётных записей. Точный срок указываем в предложении.
Обычно оплата производится после завершения согласованного этапа. Для крупного объёма можем договориться о предоплате.
Часто задаваемые вопросы
Чем аудит безопасности отличается от пенетрационного теста?
Аудит является более широким понятием для платной проверки согласованных областей. Он может объединять проверку конфигурации, анализ выбранных функций, ревью кода и тесты. Пенетрационный тест включает контролируемые попытки использовать уязвимости в явно разрешённых границах. Не каждый аудит включает такой тест.
Можно ли проводить тесты в производственной среде?
Мы не предполагаем этого автоматически. Сначала оцениваем риск и определяем, достаточно ли тестовой среды. Любое действие в production требует отдельного согласия, ограничения объёма и условий, защищающих данные и доступность системы.
Нужен ли для аудита доступ к исходному коду?
Не всегда. Это зависит от цели и объёма. Некоторые проблемы можно проверить в работающем приложении, а для других нужны конфигурация, документация или выбранные части кода. Необходимый доступ определяем до оценки стоимости.
Что входит в резюме после аудита?
Мы описываем проверенный объём и ограничения, подтверждённые проблемы, их важность, доступные доказательства, способ воспроизведения, риски и рекомендации. Точный формат и уровень детализации фиксируем в предложении.
Включает ли аудит внедрение исправлений?
Не в базовом объёме. Внедрение можно оценить отдельно. Материалы аудита также можно передать другому исполнителю.
Входит ли повторная проверка в цену?
Если исправления внедряет Domin Software, бесплатная проверка может действовать в течение срока, указанного в предложении. После длительного перерыва, других изменений или за пределами согласованного объёма мы подготовим новую оценку.
Гарантирует ли аудит отсутствие уязвимостей?
Нет. Результат относится к определённому объёму, времени, среде и доступной информации. Он не гарантирует обнаружение каждой проблемы или отсутствие новых уязвимостей в будущем.
Как передать доступ и тестовые учётные записи?
В форме опишите только ситуацию и нужный объём. После согласования заказа мы укажем безопасный способ передачи материалов. Не вводите в форму пароли, API-ключи, данные клиентов или копию базы данных.
Что указать в первом сообщении
- тип приложения и его значение для компании;
- цель аудита, например планируемый запуск, смену исполнителя или крупное расширение;
- наличие тестовой среды;
- количество основных ролей пользователей;
- наличие API или важных интеграций;
- желаемый срок и причину, по которой проверка нужна сейчас;
- известные ограничения доступа без передачи секретов.
Не отправляйте через форму пароли, API-ключи, токены, копии базы данных, исходный код или данные клиентов. Безопасный способ передачи необходимых материалов мы согласуем отдельно.
Если вы принимаете существующую систему у другого исполнителя, сначала можно воспользоваться чек-листом приёма приложения.
После аудита можно отдельно согласовать модернизацию приложения или постоянное сопровождение. Для проектов, созданных с помощью AI, доступен аудит AI-приложения, а проблемы со временем ответа и нагрузкой рассматривает аудит производительности.
Технические источники
- OWASP Web Security Testing Guide - ориентир для областей тестирования веб-приложений и веб-сервисов, который необходимо адаптировать к конкретному заказу.
- OWASP Application Security Verification Standard - каталог технических требований, который может помочь определить требования безопасности и объём проверки.
- OWASP API Security Top 10 - ориентир для рисков, характерных для API.
Публичный текст не заявляет о полном соответствии всем положениям этих материалов.