Учебники

Тестирование безопасности — раскрытие конфиденциальных данных

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

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

sensitive_data_exposture

пример

Вот некоторые из классических примеров неправильной настройки безопасности:

  • Сайт просто не использует SSL для всех аутентифицированных страниц. Это позволяет злоумышленнику отслеживать сетевой трафик и похищать файл cookie сеанса пользователя, чтобы захватить сеанс пользователя или получить доступ к его личным данным.

  • Приложение хранит номера кредитных карт в зашифрованном виде в базе данных. После извлечения они расшифровываются, позволяя хакеру выполнить атаку SQL-инъекции, чтобы получить всю важную информацию в виде открытого текста. Этого можно избежать, зашифровав номера кредитных карт с помощью открытого ключа и разрешив фоновым приложениям расшифровать их с помощью закрытого ключа.

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

Приложение хранит номера кредитных карт в зашифрованном виде в базе данных. После извлечения они расшифровываются, позволяя хакеру выполнить атаку SQL-инъекции, чтобы получить всю важную информацию в виде открытого текста. Этого можно избежать, зашифровав номера кредитных карт с помощью открытого ключа и разрешив фоновым приложениям расшифровать их с помощью закрытого ключа.

Руки вверх

Шаг 1 — Запустите WebGoat и перейдите в раздел «Небезопасное хранение». Снимок того же отображается ниже.

insecure_storage_1

Шаг 2 — Введите имя пользователя и пароль. Настало время изучить различные методы кодирования и шифрования, которые мы обсуждали ранее.

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

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

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