Вы в ответе за сохранность внутренней информации проекта. Если конфиденциальные данные попадут к злоумышленникам, это, как правило, оборачивается репутационными и финансовыми потерями. Веб-приложения – одно из слабых мест в системе корпоративной безопасности. И дело не только в их распространённости. Разберёмся, кто виноват, и что с этим делать.
Как действуют хакеры при попытке взлома системы безопасности?
Чтобы противостоять преступнику, необходимо «залезть к нему в голову». То есть понять алгоритм его действий. И не упускать из виду объекты удалённой атаки. В случае с веб-приложением их три:
- клиентская и серверная части;
- инфраструктура;
- каналы связи.
Если злоумышленник воспользуется одним из этих путей, чтобы взломать систему корпоративной безопасности через веб-приложения, то оборона падёт.
Первый шаг хакера – разведка. Определение технологий, версий ОС и вспомогательного ПО, сканирование портов, тестирование и виртуальные хостинги. Источники этой информации не всегда технические. Требования к рабочим местам в открытых вакансиях.
Собрав информацию, преступник попытается использовать уже известные уязвимости. Если они не нашлись, атака посыпалась на:
• Систему аутентификации. Хакер попробовал отыскать «лазейки» в парольной гарантии. Например, место для хранения информации.
• Механизм авторизации. Он определённо может быть расширен привилегиями.
• Способы обработки данных. Цель фаззинга – найти возможность внедрения (SQL, SOAP, XPath, SMTP, LDAP, Frame).
• Систему управления сессиями. Токены, куки и CSRF-уязвимости – что угодно, чтобы получить доступ к конфиденциальной информации.
• Протоколы связи и службы SSL/TLS. Компрометация всего приложения нередко начинается с перехвата недостаточно защищённых данных.
Как противостоять взлому?
Когда речь ведётся об открытой безопасности, лучшая защита – нападение. Но не настоящее, а организованное «белыми» хакерами. Его цель – воспользоваться уязвимостями, которые могут быть использованы для взлома веб-приложений. А затем помочь заказчику оперативно их устранить.
Злоумышленников и аудиторов объединяют инструменты и арсенал методик, а различают не только намерения. Преступник ищет самый простой путь к целям. Эксперт по информационной безопасности этим не ограничивается. Его задача – отыскать все «лазейки» начиная с топ-10 OWASP и заканчивая человеческим фактором. Именно поэтому аудит – ещё и возможность проверить «взломоустойчивость» персонала.
Кто владеет информацией, тот успешней проводит атаку. Пентестер работает в одном из трёх режимов осведомлённости (или продолжает их перебирать):
- Тестирование методом чёрного ящика. Заказчик не предоставляет никаких данных о веб-приложении. Это полная имитация хакерской атаки. Всё это происходит на тестовом стенде. Аудитор вправе использовать любую информацию, которую сможет добыть. Вплоть до взлома аккаунтов разработчиков на GitHub и выуживания данных с помощью социальных инженеров.
- Тестирование методом серого ящика. Заказчик сообщает некоторые данные о веб-приложении. Например, об особенностях архитектуры или элементах инфраструктуры. Более подробные сведения нужно узнавать из открытых источников. Неизвестно время «чёрного» пентеста, имитирующего ситуацию, когда злоумышленник каким-то образом завладел важными сведениями.
- Тестирование методом белого ящика. Аудитору доступна любая информация о веб-приложении. Этот режим требует высочайшей тщательности и профессиональных знаний, а также имитирует один из сценариев взлома – когда у нас есть подельники среди разработчиков или штатных экспертов по информационной безопасности.
Какими инструментами пользуется профессиональный аудитор?
Пентест безопасности веб-приложений требует внимательности, комплексного подхода, скрупулёзности и немного творчества. Особенно если в ход идёт социальная инженерия, авторские методики. Но пренебрегать при этом коллективным опытом коллег – грубая ошибка. Вот почему в арсенале экспертов по защите от взлома веб-приложений должно быть как минимум:
• руководство по тестированию на проникновение OWASP (проект безопасности открытого веб-приложения);
• OSSTMM (руководство по методологии тестирования безопасности с открытым исходным кодом);
• NIST SP 800-115 (техническое руководство по тестированию и оценке информационной безопасности);
• PTES (стандарт выполнения испытаний на проникновение);
• модель тестирования на проникновение BSI;
• FedRAMP (федеральная программа управления рисками и авторизацией) руководство по пентест;
• руководство по тестированию на проникновение PCI DSS;
• оценка безопасности, тестирование на проникновение и уязвимость ISACA.
Подытожим вышесказанное
Помните: если результат аудита безопасности веб-приложений стал просто перечислением уязвимостей проекта, то работа не выполнена как положено. Ключевая цель пентеста – повысить уровень безопасности. Требуется подробная инструкция, как исправить каждую из «лазеек». Только в этом случае хакеры останутся ни с чем, а ваша компания – с идеальной деловой репутацией и без финансовых потерь.