Підручник з тестування на проникнення: що таке PenTest?
⚡ Розумний підсумок
Тестування на проникнення імітує реальну атаку на програму, мережу чи систему, щоб команди безпеки могли виявляти вразливості, які можна використовувати, оцінювати їхній вплив на бізнес та усунути їх, перш ніж зовнішній зловмисник виявить ті ж самі прогалини.

Що таке тестування на проникнення?
Тестування проникнення або Pen Testing є різновидом Тестування безпеки використовується для виявлення вразливостей, загроз та ризиків, які зловмисник може використати в програмних застосунках, мережах або вебзастосунках. Метою тестування на проникнення є виявлення та тестування всіх можливих вразливостей безпеки, присутніх у програмному застосунку. Тестування на проникнення також називається Pen Test.
На діаграмі нижче показано, як невиправлена вразливість у застосунку стає дверима, через які проходить зловмисник.
Вразливість – це ризик того, що зловмисник може порушити роботу системи чи будь-яких даних, що містяться в ній, або отримати до них несанкціонований доступ. Вразливості зазвичай виникають випадково на етапі розробки та впровадження програмного забезпечення. До поширених вразливостей належать помилки проектування, помилки конфігурації та програмні помилки. Аналіз проникнення залежить від двох механізмів, а саме: оцінки вразливостей та тестування на проникнення (VAPT).
Дві частини VAPT часто плутають. Оцінка вразливостей перераховує відомі слабкі місця в масштабі та на цьому зупиняється, тоді як тест на проникнення безпечно використовує вибірку з них, щоб довести реальний вплив. Разом вони відокремлюють теоретичні висновки від тих, які дійсно ставлять дані під загрозу.
Чому тестування на проникнення?
Тестування на проникнення є важливим у підприємстві, оскільки:
- Фінансові сектори, такі як банки, інвестиційний банкінг та фондові біржі, хочуть бути захищеними, і тестування на проникнення є важливим для забезпечення безпеки.
- Якщо програмну систему вже було зламано, організація хоче визначити, чи залишаються в системі якісь загрози, щоб уникнути майбутніх зломів.
- Проактивне тестування на проникнення – найкращий захист від хакерів
- Структури відповідності цього очікують. Наприклад, вимога 11.4 стандарту PCI DSS передбачає проведення внутрішнього та зовнішнього тестування на проникнення принаймні щорічно та після будь-яких суттєвих змін.
Види тестування на проникнення
Вибраний тип тесту на проникнення зазвичай залежить від обсягу дослідження та від того, чи хоче організація імітувати атаку з боку співробітника чи адміністратора мережі (внутрішні джерела), чи з боку зовнішніх джерел. Існує три типи тестування на проникнення, і вони такі:
У тестуванні на проникнення методом чорної скриньки тестер не має знань про системи, що тестуються. Тестер відповідає за збір інформації про цільову мережу або систему.
У тестуванні на проникнення методом «білої скриньки» тестеру зазвичай надається повна інформація про мережу або системи, що тестуються, включаючи схему IP-адрес, вихідний код та деталі ОС. Це можна вважати симуляцією атаки з будь-якого внутрішнього джерела, такого як співробітник організації.
У «сірій скриньці» тестувальник отримує часткові знання про систему. Це можна розглядати як атаку зовнішнього хакера, який отримав незаконний доступ до документів мережевої інфраструктури організації.
У таблиці нижче ці три варіанти розташовані поруч, щоб ви могли зіставити тип взаємодії із загрозою, яку ви фактично хочете змоделювати.
| Аспект | Black Box | білий Box | сірий Box |
| Інформація, що надається тестеру | ніхто | Повний текст: вихідний код, схема IP, деталі ОС | Часткове: обмежені облікові дані або документи |
| Симуляція нападника | Сторонній без доступу | Інсайдер або розробник | Аутсайдер, який вже закріпився |
| Час, витрачений на розвідку | Високий | низький | Помірна |
| Типове покриття кодової бази | Тільки те, що доступно ззовні | Найглибше, бо видно внутрішні органи | Зосереджено на відкритому шляху атаки |
Як зробити тест на проникнення
Для проведення тесту на проникнення необхідно виконати такі дії. На зображенні нижче підсумовано чотири фази, перш ніж кожна з них буде описана по черзі.
Крок 1) Етап планування
- Визначено обсяг і стратегію завдання
- Для визначення обсягу використовуються існуючі політики та стандарти безпеки
Крок 2) Фаза відкриття
- Зберіть якомога більше інформації про систему, включаючи дані в системі, імена користувачів і навіть паролі. Це також називається зняттям відбитків пальців.
- Сканування та зондування портів
- Перевірте наявність вразливостей системи
Крок 3) Фаза атаки
- Знайдіть експлойти для різних вразливостей. Вам потрібні необхідні права безпеки, щоб скористатися системою.
Крок 4) Фаза звітності
- Звіт повинен містити детальні висновки
- Ризики виявлених вразливостей та їхній вплив на бізнес
- Рекомендації та рішення, якщо такі є
Головним завданням тестування на проникнення є збір системної інформації. Існує два способи збору інформації:
- Модель «один до одного» або «один до багатьох» стосовно хоста: тестер виконує методи лінійно щодо одного цільового хоста або логічної групи.ping цільових хостів (наприклад, підмережі).
- Модель «багато до одного» або «багато до багатьох»: тестер використовує кілька хостів для виконання методів збору інформації випадковим, обмеженим за швидкістю та нелінійним чином.
Приклади інструментів тестування на проникнення
Існує широкий спектр інструментів, що використовуються в тестуванні на проникнення, і важливі інструменти Pentest є:
1) Teramind
Teramind надає комплексний пакет для запобігання внутрішнім загрозам і моніторингу співробітників. Він покращує безпеку за допомогою аналітики поведінки та запобігання втраті даних, забезпечуючи відповідність і оптимізуючи бізнес-процеси. Платформа, що налаштовується, відповідає різноманітним організаційним потребам, надаючи практичну інформацію, спрямовану на підвищення продуктивності та збереження цілісності даних.
Особливості гри:
- Запобігання внутрішнім загрозам: виявляє та запобігає діям користувачів, які можуть свідчити про внутрішні загрози даним.
- Оптимізація бізнес-процесів: Використовує аналітику поведінки на основі даних для переосмислення операційних процесів.
- Продуктивність робочої сили: моніторинг продуктивності, безпеки та поведінки працівників щодо дотримання вимог.
- Управління відповідністю вимогам: допомагає керувати відповідністю вимогам за допомогою єдиного масштабованого рішення, що підходить для малого бізнесу, підприємств та державних установ.
- Криміналістика інцидентів: Надає докази для покращення реагування на інциденти, розслідувань та розвідки загроз.
- Запобігання втраті даних: моніторинг та захист від потенційної втрати конфіденційних даних.
- Моніторинг працівників: Надає можливості для контролю ефективності та діяльності працівників.
- Поведінкова аналітика: аналізує детальні дані про поведінку клієнтів у додатку для отримання корисної інформації.
- Налаштовувані параметри моніторингу: дозволяє налаштовувати параметри моніторингу відповідно до конкретних випадків використання або впроваджувати попередньо визначені правила.
- Аналітика інформаційної панелі: забезпечує прозорість та практичну інформацію про діяльність робочої сили за допомогою комплексної інформаційної панелі.
- nmap – Цей інструмент використовується для сканування портів, ідентифікації ОС, tracсканування маршруту та вразливостей.
- Нессус – Це традиційний інструмент для виявлення вразливостей на основі мережі.
- Pass-The-Hash – цей інструмент в основному використовується для злому паролів.
Роль і обов'язки тестувальників проникнення
Завдання тестувальника на проникнення полягає в наступному:
- Зібрати необхідну інформацію від організації для проведення тестів на проникнення
- Знайдіть недоліки, які можуть дозволити хакерам атакувати цільову машину
- Думайте та дійте як справжні хакери, хоча й етично
- Зробіть роботу відтворюваною, щоб розробникам було легко її виправити
- Заздалегідь узгодьте дату початку та дату завершення виконання тесту
- Візьміть на себе відповідальність за будь-які втрати в системі або інформації під час тестування програмного забезпечення
- Зберігайте конфіденційність даних та інформації
Ручне тестування на проникнення проти автоматизованого тестування на проникнення
Більшість реальних заручин поєднують обидва підходи. Порівняння нижче показує, де кожен з них займає своє місце.
| Ручне тестування на проникнення | Автоматизоване тестування на проникнення |
| Ручне тестування для проведення тестів потрібні досвідчені спеціалісти | Автоматизовані засоби тестування надають чіткі звіти з менш досвідченими професіоналами |
| Для ручного тестування потрібні Excel та інші інструменти tracк це | Тестування автоматизації має централізовані та стандартні інструменти |
| Під час ручного тестування результати зразків залежать від тесту | У випадку автоматизованих тестів результати не відрізняються від тесту до тесту |
| Користувачі повинні пам'ятати про очищення пам'яті | Автоматизоване тестування матиме комплексне очищення. |
Недоліки тестування на проникнення
Тестування на проникнення не може знайти всі вразливості в системі. Існують обмеження в часі, бюджеті, обсягу та навичках фахівців з тестування на проникнення.
Наступні побічні ефекти будуть виникати під час проведення тестування на проникнення:
- Втрата та пошкодження даних
- вниз Час
- Збільшити витрати
Інфографіка нижче зібрала ті самі компроміси, а також причини, чому організації все одно проводять тест.
Ці обмеження є причиною того, що тест на проникнення найкраще працює на додаток до добре впровадженої політики безпеки, а не замість неї. Тестери повинні діяти як справжні хакери, перевіряти, чи код написаний безпечно, та повторювати вправу за задокументованим графіком.




