Тестування на проникнення (пентест) — дозволена власником імітація атаки на систему, мережу чи застосунок, щоб знайти й продемонструвати вразливості раніше за справжніх зловмисників.
Як проходить пентест
Пентестери — етичні хакери — повторюють кроки атакувальників, але в узгоджених межах і за правилами, підписаними власником системи.
Типовий проєкт включає:
- розвідку й сканування;
- експлуатацію вразливостей;
- підвищення привілеїв;
- звіт із доказами, оцінкою ризиків і рекомендаціями.
За обсягом вихідної інформації:
- чорна скринька — жодних відомостей, як у зовнішнього атакувальника;
- сіра скринька — частковий доступ, наприклад звичайний обліковий запис;
- біла скринька — повна документація й вихідний код.
Об’єкти — зовнішній периметр, внутрішня мережа й Active Directory, веб- і мобільні застосунки, API, хмари, Wi-Fi і навіть фізична безпека. Методики описано в PTES, OWASP Web Security Testing Guide і NIST SP 800-115.
Чому пентест важливий
Автоматичні сканери знаходять відомі проблеми. Пентест показує, як слабкі місця складаються в реальний злам і куди насправді може дістатися атакувальник. Стандарти на кшталт PCI DSS вимагають регулярних пентестів, і багато клієнтів запитують звіти.
Пентест — знімок одного моменту, тому він доповнює, а не замінює постійне керування вразливостями й bug bounty. Навчання red team ідуть далі: вони тижнями приховано перевіряють виявлення й реагування.
Рекомендації
- Письмово зафіксуйте межі, цілі та екстрені контакти — тестування без дозволу є злочином.
- Проводьте пентест після великих змін і не рідше ніж раз на рік для критичних систем.
- Усувайте знахідки й перевіряйте повторно. Аналізуйте повторювані проблеми, щоб покращити процеси розроблення.