Что такое тестирование безопасности?
ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ - это тип тестирования программного обеспечения, который выявляет уязвимости, угрозы и риски в программном приложении и предотвращает злонамеренные атаки со стороны злоумышленников. Целью тестов безопасности является выявление всех возможных лазеек и слабых мест в системе программного обеспечения, которые могут привести к потере информации, доходов, репутации в руках сотрудников или посторонних лиц Организации.
Почему важно тестирование безопасности?
Основная цель тестирования безопасности - выявить угрозы в системе и измерить ее потенциальные уязвимости, чтобы можно было столкнуться с угрозами, и система не перестала функционировать или не могла быть использована. Это также помогает обнаруживать все возможные риски безопасности в системе и помогает разработчикам устранять проблемы с помощью кодирования.
В этом руководстве вы узнаете:
- Что такое тестирование безопасности?
- Типы тестирования безопасности
- Как проводить тестирование безопасности
- Примеры сценариев тестирования для тестирования безопасности
- Методологии / подход / методы тестирования безопасности
- Роли тестирования безопасности
- Инструмент тестирования безопасности
- Мифы и факты тестирования безопасности
Типы тестирования безопасности:
Согласно руководству по методологии тестирования безопасности с открытым исходным кодом, существует семь основных типов тестирования безопасности. Они объясняются следующим образом:
- Сканирование уязвимостей : это выполняется с помощью автоматизированного программного обеспечения для сканирования системы на наличие известных сигнатур уязвимостей.
- Сканирование безопасности: оно включает выявление слабых мест в сети и системе, а затем предоставляет решения для снижения этих рисков. Это сканирование может выполняться как для ручного, так и для автоматического сканирования.
- Тестирование на проникновение : этот вид тестирования имитирует атаку злонамеренного хакера. Это тестирование включает в себя анализ конкретной системы на предмет потенциальных уязвимостей для попытки взлома извне.
- Оценка рисков: это тестирование включает в себя анализ рисков безопасности, наблюдаемых в организации. Риски классифицируются как низкие, средние и высокие. Это тестирование рекомендует средства управления и меры для снижения риска.
- Аудит безопасности: это внутренняя проверка приложений и операционных систем на наличие недостатков безопасности. Аудит также может быть проведен путем построчной проверки кода.
- Этический взлом: это взлом системы программного обеспечения организации. В отличие от злонамеренных хакеров, которые воруют ради собственной выгоды, цель состоит в том, чтобы выявить недостатки безопасности в системе.
- Оценка состояния: объединяет сканирование безопасности, этический взлом и оценку рисков, чтобы показать общее состояние безопасности организации.
Как проводить тестирование безопасности
Всегда согласовано, что стоимость будет выше, если мы отложим тестирование безопасности после фазы внедрения программного обеспечения или после развертывания. Таким образом, необходимо включать тестирование безопасности в жизненный цикл SDLC на более ранних этапах.
Давайте рассмотрим соответствующие процессы безопасности, которые будут применяться на каждом этапе в SDLC.
Фазы SDLC | Процессы безопасности |
---|---|
Требования | Анализ безопасности для требований и проверка случаев злоупотребления / неправильного использования |
Дизайн | Анализ рисков безопасности для проектирования. Разработка плана тестирования, включая тесты безопасности |
Кодирование и модульное тестирование | Статическое и динамическое тестирование и тестирование безопасности с помощью белого ящика |
Интеграционное тестирование | Тестирование черного ящика |
Системное тестирование | Тестирование черного ящика и сканирование уязвимостей |
Выполнение | Тестирование на проникновение, сканирование уязвимостей |
Поддерживать | Анализ воздействия патчей |
План тестирования должен включать:
- Контрольные примеры или сценарии, связанные с безопасностью
- Данные тестирования, относящиеся к тестированию безопасности
- Инструменты тестирования, необходимые для тестирования безопасности
- Анализ результатов различных тестов из разных инструментов безопасности
Примеры сценариев тестирования для тестирования безопасности:
Примеры сценариев тестирования, чтобы дать вам представление о тестовых случаях безопасности -
- Пароль должен быть в зашифрованном виде.
- Приложение или система не должны допускать недействительных пользователей
- Проверьте файлы cookie и время сеанса для приложения
- Для финансовых сайтов кнопка "Назад" в браузере не должна работать.
Методологии / подход / методы тестирования безопасности
При тестировании безопасности используются разные методологии, а именно:
- Tiger Box : этот взлом обычно выполняется на ноутбуке с набором операционных систем и инструментов для взлома. Это тестирование помогает тестерам на проникновение и тестерам безопасности проводить оценку уязвимостей и атаки.
- Черный ящик : тестировщик уполномочен проводить тестирование всего, что касается топологии сети и технологий.
- Серый ящик : тестировщику предоставляется частичная информация о системе, и это гибрид моделей белого и черного ящиков.
Роли тестирования безопасности
- Хакеры - Доступ к компьютерной системе или сети без авторизации.
- Взломщики - взламывают системы, чтобы украсть или уничтожить данные.
- Этичный хакер - выполняет большую часть взлома, но с разрешения владельца.
- Script Kiddies или пакетные обезьяны - неопытные хакеры со знанием языка программирования
Инструмент тестирования безопасности
1) Злоумышленник
Intruder - это простой в использовании сканер уязвимостей корпоративного уровня. Он выполняет более 10 000 высококачественных проверок безопасности в вашей ИТ-инфраструктуре, которые включают, но не ограничиваются: слабые места конфигурации, недостатки приложений (например, внедрение SQL и межсайтовые сценарии) и отсутствующие исправления. Предоставляя интеллектуально расставленные по приоритетам результаты, а также упреждающее сканирование на наличие последних угроз, Intruder помогает сэкономить время и защищает предприятия любого размера от хакеров.
Функции:
- Коннекторы AWS, Azure и Google Cloud
- Результаты, зависящие от периметра, чтобы уменьшить вашу внешнюю поверхность атаки
- Качественная отчетность
- Интеграции со Slack, Microsoft Teams, Jira, Zapier
- Интеграция API с вашим конвейером CI / CD
2) Овасп
Open Web Application Security Project (OWASP) - всемирная некоммерческая организация, деятельность которой направлена на повышение безопасности программного обеспечения. В проекте есть несколько инструментов для тестирования различных программных сред и протоколов. Флагманские инструменты проекта включают:
- Zed Attack Proxy (ZAP - интегрированный инструмент тестирования на проникновение)
- OWASP Dependency Check (сканирует зависимости проекта и проверяет известные уязвимости)
- OWASP Web Testing Environment Project (сборник инструментов безопасности и документации)
3) WireShark
Wireshark - это инструмент сетевого анализа, ранее известный как Ethereal. Он захватывает пакеты в реальном времени и отображает их в удобочитаемом формате. По сути, это анализатор сетевых пакетов, который предоставляет мельчайшие подробности о ваших сетевых протоколах, расшифровке, информации о пакетах и т. Д. Это открытый исходный код, который можно использовать в Linux, Windows, OS X, Solaris, NetBSD, FreeBSD и многих других. другие системы. Информацию, полученную с помощью этого инструмента, можно просмотреть с помощью графического интерфейса пользователя или утилиты TShark в режиме TTY.
4) W3af
w3af - это фреймворк для атаки и аудита веб-приложений. Он имеет три типа плагинов; обнаружение, аудит и атака, которые взаимодействуют друг с другом на предмет любых уязвимостей на сайте, например, плагин обнаружения в w3af ищет разные URL-адреса для проверки уязвимостей и пересылает их в плагин аудита, который затем использует эти URL-адреса для поиска уязвимостей.
Мифы и факты тестирования безопасности:
Поговорим на интересную тему о Мифах и фактах тестирования безопасности:
Миф №1 Нам не нужна политика безопасности, так как у нас небольшой бизнес
Факт: всем и каждой компании нужна политика безопасности.
Миф № 2 Нет возврата инвестиций в тестирование безопасности
Факт: тестирование безопасности может указать на области, требующие улучшений, которые могут повысить эффективность и сократить время простоя, обеспечивая максимальную пропускную способность.
Миф № 3 : Единственный способ обезопасить себя - это отключить его от сети.
Факт: Единственный и лучший способ обезопасить организацию - это найти «Идеальную безопасность». Идеальная безопасность может быть достигнута путем проведения оценки состояния и сравнения с коммерческими, юридическими и отраслевыми обоснованиями.
Миф №4 : Интернет небезопасен. Я куплю программное обеспечение или оборудование, чтобы защитить систему и спасти бизнес.
Факт: Одна из самых больших проблем - это покупка программного и аппаратного обеспечения для обеспечения безопасности. Вместо этого организация должна сначала понять безопасность, а затем применять ее.
Вывод:
Тестирование безопасности - это наиболее важное тестирование для приложения, которое проверяет, остаются ли конфиденциальные данные конфиденциальными. В этом типе тестирования тестировщик играет роль злоумышленника и обыгрывает систему, чтобы найти ошибки, связанные с безопасностью. Тестирование безопасности очень важно в разработке программного обеспечения для защиты данных любыми средствами.