Как защитить от взлома веб-приложения — круговая оборона

Вы в ответе за сохранность внутренней информации проекта. Если конфиденциальные данные попадут к злоумышленникам, это, как правило, оборачивается репутационными и финансовыми потерями. Веб-приложения – одно  из слабых мест в системе корпоративной безопасности. И дело не только в их распространённости. Разберёмся, кто виноват, и что с этим делать.

Как действуют хакеры при попытке взлома системы безопасности?

Чтобы противостоять преступнику, необходимо «залезть к нему в голову». То есть понять алгоритм его действий. И не упускать из виду объекты удалённой атаки. В случае с веб-приложением их три:

  1. клиентская и серверная части;
  2. инфраструктура;
  3. каналы связи.

Если злоумышленник воспользуется одним из этих путей, чтобы взломать систему корпоративной безопасности через веб-приложения, то оборона падёт.

Первый шаг хакера – разведка. Определение технологий, версий ОС и вспомогательного ПО, сканирование портов, тестирование и виртуальные хостинги. Источники этой информации не всегда технические. Требования к рабочим местам в открытых вакансиях.

Собрав информацию, преступник попытается использовать уже известные уязвимости. Если они не нашлись, атака посыпалась на:

  • Систему аутентификации. Хакер попробовал отыскать «лазейки» в парольной гарантии. Например, место для хранения информации.
  • Механизм авторизации. Он определённо может быть расширен привилегиями.
  • Способы обработки данных. Цель фаззинга – найти возможность внедрения (SQL, SOAP, XPath, SMTP, LDAP, Frame).
  • Систему управления сессиями. Токены, куки и CSRF-уязвимости – что угодно, чтобы получить доступ к конфиденциальной информации.
  • Протоколы связи и службы SSL/TLS. Компрометация всего приложения нередко начинается с перехвата недостаточно защищённых данных.

Как противостоять взлому?

Когда речь ведётся об открытой безопасности, лучшая защита – нападение. Но не настоящее, а организованное «белыми» хакерами. Его цель – воспользоваться уязвимостями, которые могут быть использованы для взлома веб-приложений. А затем помочь заказчику оперативно их устранить.

Злоумышленников и аудиторов объединяют инструменты и арсенал методик, а различают не только намерения. Преступник ищет самый простой путь к целям. Эксперт по информационной безопасности этим не ограничивается. Его задача – отыскать все «лазейки» начиная с топ-10 OWASP и заканчивая человеческим фактором. Именно поэтому аудит – ещё и возможность проверить «взломоустойчивость» персонала.

Кто владеет информацией, тот успешней проводит атаку. Пентестер работает в одном из трёх режимов осведомлённости (или продолжает их перебирать):

  1. Тестирование методом чёрного ящика. Заказчик не предоставляет никаких данных о веб-приложении. Это полная имитация хакерской атаки. Всё это происходит на тестовом стенде. Аудитор вправе использовать любую информацию, которую сможет добыть. Вплоть до взлома аккаунтов разработчиков на GitHub и выуживания данных с помощью социальных инженеров.
  2. Тестирование методом серого ящика. Заказчик сообщает некоторые данные о веб-приложении. Например, об особенностях архитектуры или элементах инфраструктуры. Более подробные сведения нужно узнавать из открытых источников. Неизвестно время «чёрного» пентеста, имитирующего ситуацию, когда злоумышленник каким-то образом завладел важными сведениями.
  3. Тестирование методом белого ящика. Аудитору доступна любая информация о веб-приложении. Этот режим требует высочайшей тщательности и профессиональных знаний, а также имитирует один из сценариев взлома – когда у нас есть подельники среди разработчиков или штатных экспертов по информационной безопасности.

Какими инструментами пользуется профессиональный аудитор?

Пентест безопасности веб-приложений требует внимательности, комплексного подхода, скрупулёзности и немного творчества. Особенно если в ход идёт социальная инженерия, авторские методики. Но пренебрегать при этом коллективным опытом коллег – грубая ошибка. Вот почему в арсенале экспертов по защите от взлома веб-приложений должно быть как минимум:

  • руководство по тестированию на проникновение OWASP (проект безопасности открытого веб-приложения);
  • OSSTMM (руководство по методологии тестирования безопасности с открытым исходным кодом);
  • NIST SP 800-115 (техническое руководство по тестированию и оценке информационной безопасности);
  • PTES (стандарт выполнения испытаний на проникновение);
  • модель тестирования на проникновение BSI;
  • FedRAMP (федеральная программа управления рисками и авторизацией) руководство по пентест;
  • руководство по тестированию на проникновение PCI DSS;
  • оценка безопасности, тестирование на проникновение и уязвимость ISACA.

Подытожим вышесказанное

Помните: если результат аудита безопасности веб-приложений стал просто перечислением уязвимостей проекта, то работа не выполнена как положено. Ключевая цель пентеста – повысить уровень безопасности. Требуется подробная инструкция, как исправить каждую из «лазеек». Только в этом случае хакеры останутся ни с чем, а ваша компания – с идеальной деловой репутацией и без финансовых потерь.