Что такое тестирование безопасности?
SECURITY TESTING — это тип тестирования программного обеспечения, который выявляет уязвимости, угрозы, риски в программном приложении и предотвращает злоумышленные атаки от злоумышленников. Целью тестов безопасности является выявление всех возможных лазеек и слабых мест в программной системе, которые могут привести к потере информации, доходов, репутации со стороны сотрудников или посторонних лиц Организации.
Целью тестирования безопасности является выявление угроз в системе и оценка ее потенциальных уязвимостей, чтобы система не перестала функционировать или использовалась. Это также помогает в обнаружении всех возможных угроз безопасности в системе и помогает разработчикам в устранении этих проблем посредством кодирования.
В этом уроке вы узнаете
- Что такое тестирование безопасности?
- Типы тестирования безопасности
- Как сделать тестирование безопасности
- Примеры тестовых сценариев для тестирования безопасности
- Методологии / Подход / Методы тестирования безопасности
- Роли тестирования безопасности
- Инструмент тестирования безопасности
- Мифы и факты тестирования безопасности
Типы тестирования безопасности:
Существует семь основных типов тестирования безопасности согласно руководству по методологии Open Source Security Testing. Они объясняются следующим образом:
- Сканирование уязвимостей . Это выполняется с помощью автоматизированного программного обеспечения для сканирования системы на наличие известных сигнатур уязвимостей.
- Сканирование безопасности: оно включает в себя выявление слабых сторон сети и системы, а затем предоставляет решения для снижения этих рисков. Это сканирование может быть выполнено как для ручного, так и для автоматического сканирования.
- Тестирование на проникновение . Этот тип тестирования имитирует атаку злоумышленника. Это тестирование включает анализ конкретной системы для проверки потенциальных уязвимостей при попытке внешнего взлома.
- Оценка рисков: это тестирование включает анализ рисков безопасности, наблюдаемых в организации. Риски классифицируются как Низкие, Средние и Высокие. Это тестирование рекомендует контроль и меры по снижению риска.
- Аудит безопасности: это внутренняя проверка приложений и операционных систем на наличие уязвимостей. Аудит также может быть выполнен путем построчной проверки кода
- Этический взлом: это взлом системы программного обеспечения организации. В отличие от злонамеренных хакеров, которые воруют ради собственной выгоды, цель состоит в том, чтобы выявить недостатки в системе.
- Оценка состояния: это объединяет сканирование безопасности, этический взлом и оценки рисков, чтобы показать общее состояние безопасности организации.
Как сделать тестирование безопасности
Всегда соглашаются, что стоимость будет больше, если мы отложим тестирование безопасности после фазы внедрения программного обеспечения или после развертывания. Таким образом, необходимо задействовать тестирование безопасности в жизненном цикле SDLC на более ранних этапах.
Давайте посмотрим на соответствующие процессы безопасности, которые будут приняты для каждой фазы в SDLC
Фазы SDLC | Процессы безопасности |
---|---|
Требования | Анализ безопасности для требований и проверка случаев злоупотребления / неправильного использования |
дизайн | Анализ рисков безопасности для проектирования. Разработка плана тестирования, включая тесты безопасности |
Кодирование и модульное тестирование | Статическое и динамическое тестирование и тестирование белого ящика безопасности |
Интеграционное тестирование | Тестирование черного ящика |
Тестирование системы | Тестирование черного ящика и сканирование уязвимостей |
Реализация | Тестирование на проникновение , сканирование уязвимостей |
Служба поддержки | Анализ воздействия патчей |
План испытаний должен включать
- Тестовые сценарии или сценарии, связанные с безопасностью
- Тестовые данные, связанные с тестированием безопасности
- Инструменты тестирования, необходимые для тестирования безопасности
- Анализ результатов различных тестов из разных инструментов безопасности
Примеры тестовых сценариев для тестирования безопасности:
Примеры тестовых сценариев, чтобы дать вам представление о тестах безопасности —
- Пароль должен быть в зашифрованном формате
- Приложение или Система не должны разрешать недопустимых пользователей
- Проверьте куки и время сеанса для приложения
- Для финансовых сайтов кнопка «Назад» в браузере не должна работать.
Методологии / Подход / Методы тестирования безопасности
При тестировании безопасности используются разные методологии, а именно:
- Tiger Box : этот хакер обычно выполняется на ноутбуке с набором операционных систем и хакерских утилит. Это тестирование помогает тестерам на проникновение и тестерам безопасности проводить оценку уязвимостей и атак.
- Черный ящик : Tester уполномочен проводить тестирование всего, что касается топологии сети и технологии.
- Серый ящик : частичная информация предоставляется тестеру о системе, и это гибрид моделей белого и черного ящиков.
Роли тестирования безопасности
- Хакеры — доступ к компьютерной системе или сети без авторизации
- Взломщики — взломать системы, чтобы украсть или уничтожить данные
- Ethical Hacker — выполняет большинство разрушающих действий, но с разрешения владельца
- Script Kiddies или пакетные обезьяны — неопытные хакеры со знанием языка программирования
Инструмент тестирования безопасности
1) Овасп
Open Web Application Security Project ( OWASP ) — это всемирная некоммерческая организация, занимающаяся повышением безопасности программного обеспечения. Проект имеет несколько инструментов для тестирования различных программных сред и протоколов. Флагманские инструменты проекта включают в себя
- Zed Attack Proxy (ZAP — интегрированный инструмент для тестирования на проникновение)
- OWASP Dependency Check (сканирует зависимости проекта и проверяет известные уязвимости)
- OWASP Web Testing Environment Project (коллекция инструментов безопасности и документации)
2) WireShark
Wireshark — это инструмент сетевого анализа, ранее известный как Ethereal. Он захватывает пакеты в режиме реального времени и отображает их в удобочитаемом формате. По сути, это анализатор сетевых пакетов, который предоставляет подробные сведения о ваших сетевых протоколах, расшифровке, информации о пакетах и т. Д. Он имеет открытый исходный код и может использоваться в Linux, Windows, OS X, Solaris, NetBSD, FreeBSD и многих других. другие системы. Информация, полученная с помощью этого инструмента, может быть просмотрена с помощью графического интерфейса пользователя или утилиты TShark в режиме TTY.
3) W3af
w3af — это фреймворк для атаки и аудита веб-приложений. Он имеет три типа плагинов; Обнаружение, аудит и атака, которые связывают друг с другом любые уязвимости на сайте, например, плагин обнаружения в w3af ищет разные URL-адреса для проверки на наличие уязвимостей и перенаправляет их в плагин аудита, который затем использует эти URL-адреса для поиска уязвимостей.
Мифы и факты тестирования безопасности:
Давайте поговорим об интересной теме о мифах и фактах тестирования безопасности:
Миф № 1 Нам не нужна политика безопасности, так как у нас небольшой бизнес
Факт: каждой компании нужна политика безопасности
Миф № 2 Нет возврата инвестиций в тестирование безопасности
Факт: Тестирование безопасности может указать области для улучшения, которые могут повысить эффективность и сократить время простоя, обеспечивая максимальную пропускную способность.
Миф № 3 : Единственный способ обезопасить себя — это отключить его.
Факт: единственный и лучший способ обезопасить организацию — найти «Совершенную безопасность». Совершенной безопасности можно достичь, выполнив оценку состояния и сопоставив ее с деловыми, юридическими и отраслевыми обоснованиями.
Миф № 4 : Интернет небезопасен. Я приобрету программное или аппаратное обеспечение для защиты системы и сохранения бизнеса.
Факт: одной из самых больших проблем является приобретение программного и аппаратного обеспечения для обеспечения безопасности. Вместо этого организация должна сначала понять безопасность, а затем применить ее.
Вывод:
Тестирование безопасности является наиболее важным тестированием для приложения и проверяет, остаются ли конфиденциальные данные конфиденциальными. В этом типе тестирования тестер играет роль злоумышленника и пытается обойти систему, чтобы найти ошибки, связанные с безопасностью. Тестирование безопасности очень важно в программной инженерии для защиты данных всеми средствами.