Menu

Що таке «тест на проникнення» або «пентест»

Твітнуть

Что такое «тест на проникновение» или «пентест»

Багатьом підприємствам просто необхідно бути впевненими в тому, що їх інформація надійно захищена, в тому числі і від можливих витоків зовні. На 9 питань про тест на проникнення відповідає директор компанії «Агентство активного аудиту» Володимир Ткаченко.

1. Що таке «тест на проникнення», «пентест»? Коли його потрібно проводити?

Буквально словосполучення походить від англійського penetration test, тобто тест на проникнення. Даний процес дозволяє моделювати несанкціонований доступ в інформаційні системи, а також інші дії, дозволяють порушити нормальне функціонування інформаційних систем і бізнес-процесів. По суті, це метод оцінки захищеності інформаційних систем та/або інформації, та об'єктів, де вона зберігається або обробляється від несанкціонованого використання. Найчастіше подібні тести проводяться в наступних випадках:

  • перед введенням в експлуатацію нового програмного продукту або інформаційної системи, де передбачається обробка інформації, складової комерційну або банківську таємницю, а також персональних даних клієнтів або іншої критичної (наприклад, для виробництва продукції) інформації;
  • після внесення значних змін в ІТ-інфраструктуру підприємства або бізнес-процеси (наприклад, нова архітектура телекомунікаційної мережі підприємства, введення нового Web-програми по роботі з клієнтами тощо);
  • періодично з частотою приблизно 1 раз на рік для оцінки реальних загроз і вразливостей з метою адекватного планування заходів захисту і оптимізації бюджету україни на їх впровадження (така періодичність входить у вимоги деяких міжнародних стандартів щодо забезпечення інформаційної безпеки, зокрема ISO 27001 (розділ 15.2), PCI DSS (розділ 11.3) та ін.)

2. Які основні об'єкти тестування?

Підходи до визначення об'єктів для тестування застосовуються виходячи з цілей тестування. Тому коректно в даному випадку відповісти питанням на питання: «Що хоче отримати замовник від тесту?». Як правило, судячи з нашого досвіду, можна виділити наступні об'єкти:

  • Web-додаток або Веб-сайт (або критичний канал продажів, наприклад, on-line магазин, додаток «Клієнт-Банк» тощо);
  • корпоративна мережу підприємства та критичні для бізнесу елементи ІТ інфраструктури (сервери, мобільні пристрої менеджменту тощо);
  • додаток, що розробляється власними силами компанії;
  • персонал підприємства, який є носієм певних повноважень, з допомогою яких може бути отриманий несанкціонований доступ, а отже - завдано шкоди як інформаційних систем, так і бізнесу в цілому;
  • приміщення підприємства з обмеженим доступом, де зберігається або обробляється критична для бізнесу інформація.

3. Компанії з яких галузей промисловості і послуг найчастіше замовляють пентесты? Бували випадки, коли замовником виступала не компанія, а фізична особа?

У більшості випадків подібні тести проводять підприємства з певним, так званим «рівнем зрілості», тобто коли їх ІТ інфраструктура стає досить великою і бізнес-процеси (в т.ч. в ІТ) ускладнюються. За статистикою за останні 3 роки, основні замовники - це великі промислові холдинги і підприємства (45%), банківські установи (35%) та інші підприємства (20%).

Щодо фізичних осіб - подібні проекти поки не виконували, однак не виключаю таку можливість, наприклад, для політичних персон чи інших публічних осіб, для яких важлива репутація або їх доступність ресурсу в мережі Internet.

4. Які основні цілі ставить перед собою замовник тесту?

В основному, замовники переслідують три основні цілі і іноді кілька «побічних». Насамперед - це отримати картину реальної захищеності критичною для бізнесу інформації від загроз і вразливостей для подальшого планування заходів щодо захисту інформації. Друга мета - перевірити реакцію існуючих процесів, засобів захисту ІТ інфраструктури та персоналу на можливі інциденти (так як атаки на системи реальні), тобто, по суті, оцінити їх ефективність. Третя мета - виконати вимоги міжнародних і галузевих стандартів (див. вище). Побічні мети - реалізація амбіцій, підвищення значимості підрозділів безпеки (з досвіду всі тести з високою часткою ймовірності дозволяють отримати несанкціонований доступ до інформації або порушити нормальний перебіг бізнес-процесів, що найбільш наочно демонструє менеджменту вразливість бізнесу). Також, побічно, переслідується мета одержання бюджетів на ресурсомісткі проекти з інформаційної безпеки. Гроші охочіше виділяються на проблеми, які конкретно ідентифіковано, а не гіпотетично можуть проявитися.

5. Від чого залежить ціна на пентест?

Критерії для формування ціни - обсяг робіт, трудовитрати і вартість застосовуваних інструментів, іноді виникають додаткові накладні витрати (наприклад, сканування бездротових мереж в декількох містах країни тягне відповідні відрядні витрати). Обсяг робіт включає в себе витрати на об'єкти для тестування, аналіз всіх або деяких найбільш ймовірних векторів атак (ресурси в мережі Internet, бездротові мережі, персонал, об'єкти внутрішньої мережі тощо). В залежності від обсягу залучається команда з відповідними навичками. Якщо тест проводиться щодо програми, то наші фахівці повинні мати уявлення про технології, застосовуваних саме в цьому додатку. Якщо ж цікавить стійкість персоналу до методів соціальної інженерії, то ми повинні орієнтуватися на психологічні методи впливу і т.д. Щодо інструментів для проведення тесту - в основному на замовника частково лягають витрати з підтримання ліцензій сканерів вразливостей та іншого спеціалізованого ПЗ, які є в арсеналі наших фахівців.

6. Які уразливості найчастіше детектуються за допомогою пентеста (фізичне проникнення не беремо)?

Список вразливостей, типових для більшості компаній, включає наступні ситуації:

Для мережевого периметра характерним недоліком є надмірне і безконтрольне кількість відкритих сервісів (портів). Це веде до збільшення площі атаки, іншими словами хакеру-зловмисникові буде легше знайти слабку ланку в периметрі захисту. Коли багато сервісів, персонал просто не встигає стежити за ними, вчасно встановлювати оновлення і патчі безпеки, правильно настроювати сервера і програми. У мережі постійно з'являється інформація про свіжих вразливості, якщо хакер скористається їй раніше, ніж адміністратор «накотить» оновлення - то злом гарантований.

Також часто «пісочниці» (тестові сервери і додатки з мінімальними налаштуваннями безпеки) розміщують в тому ж сегменті мережі, де працюють критичні сервіси...Логічний ланцюжок наслідків спрогнозуйте самі.

Ще один типовий недолік - відсутність системи управління інформаційною безпекою. Для надійного захисту ІТ інфраструктури повинні функціонувати такі процеси як - установка оновлень, моніторинг подій безпеки, управління і контроль за змінами, реакція на інциденти безпеки, резервування та інші. Без них дуже складно контролювати ситуацію. Також важливо зрозуміти, що 100% захисту комп'ютера, підключеного до мережі Інтернет не існує, компанія повинна знати як реагувати і як можна знизити шкоду у випадку, якщо злом системи вже стався.

Тест на проникнення виявляє як технічні «діри в захисті», так і неорганізованість самої системи захисту.

Для додатка (при розробці) типовим недоліком є відсутність стандартизації при розробці коду і вимог до безпеки. Будь-який програміст - в першу чергу людина, а людям властиві помилки, і коли немає єдиних вимог, ці помилки обов'язково з'являться у вашому додатку. Серед «популярних» помилок - відсутність перевірки даних, які користувач посилає в додаток, неправильне розмежування прав доступу користувачів, логічні недоліки в архітектурі коду та інші. Все це веде до можливості провести атаки типу переповнення буфера, обхід аутентифікації, обхід обмежень додатки (авторизації), висновок сервера з ладу (DoS) та інших.

Тестування коду дозволяє виявити основні «кодерские» уразливості, так і недоліки в самій організації написання коду.

Для Web сайту уразливості ідентичні тим, що були згадані вище для додатків, так як сайт також є в певному сенсі додатком. У теж час атаки на сайти мають свою специфіку, характерну саме для Веб додатків. Найпопулярніші види атак - SQL injection, Cross Site Scripting, Cross-Site Request Forgery, обхід аутентифікації та авторизації, вставки виконуваного коду або файлів на сервер і інші.

Соціальна інженерія - найлегший спосіб злому на сьогодні, адже найтиповіші вразливості - це людська дурість, зайва довірливість, страх і лінь. Вміло використовуючи ці «людські недоліки, можна отримати доступ до дуже критичним даними. Атаки, як правило, проводяться у вигляді поштової розсилки або телефонного дзвінка, а ошукані люди здійснюють діяння, необхідне для злому. Зловмиснику досить, щоб співробітник:

  • завантажив і запустив файл або документ відкрив у листі
  • перейшов по посиланню
  • ввів облікові дані в підставну систему як дві краплі води схожу на реально використовується в компанії. Наприклад, корпоративну пошту.

Тест на проникнення дозволяє визначити наскільки співробітники компанії можуть ці атаки розпізнати і адекватно на них зреагувати. А також наскільки правильно зреагувати служба безпеки, якщо такий злом вже відбувся.

7. Які методики проведення тесту найбільш популярні в Україні?

Мені важко судити про популярність. До того ж жодна методика (за винятком, може бути OWASP) детально не може бути застосована у конкретному проекті. В основному вони є загальновідомими і загальнодоступними. Ми використовуємо елементи OSSTMM, OISSG. Зараз набирає популярність відкритий стандарт PTES (Penetration Testing Execution Standard), але його всеосяжність є і його слабким місцем. Для Web-додатків найбільш придатною є методика OWASP (Open Web Application Security Project). Краще всього для занурення в тему початківцям порекомендував б ознайомитися з методологією BSI Penetration Testing Model Служби захисту інформації Німеччини.

Кожна методика має свої переваги і недоліки, які роблять упор на технічну складову тіста, якісь описують організацію самого процесу тестування, але жодна з них не оптимізована під «особливості національного бізнесу» і тим більше під особливості конкретної компанії. Вони, як правило, описують загальні принципи проведення тесту і можуть бути використані в якості довідкового посібника або мінімального стандарту. Як в будівництві є певні норми і стандарти, але кожна окрема будівля будується згідно затвердженого архітектором плану, так і в професійному тесті на проникнення, всі роботи повинні бути підігнані під потреби та особливості клієнта.

8. Якими знаннями та якостями повинен володіти співробітник Вашої компанії для успішного проведення тестів? Де цьому можна навчитися?

Почну з якостей. Найголовніші якості, необхідне для такої роботи:

  • Чесність і порядність. На відміну від хакерського андеграунду ми не маємо права розповідати широкій громадськості про уразливість і способи їх експлуатації в конкретних системах замовника. Іншими словами «як круто я зламав сервер у мережі магазинів «Фарт» і як «у них потім усе лягло» ми похвалитися не маємо права.
  • Вміння працювати з великими обсягами інформації.
  • Не просто здатність, а величезне бажання до самоосвіти.
  • Креативність, вогонь в очах, вміння мислити нестандартно, а також робити висновки з мінімального обсягу інформації в короткі терміни. По суті робота наших фахівців дуже схожа на роботу розвідників в їх загальновідомому поданні.

З приводу знань вітається будь-яка спеціалізація в ІТ (в нашому ділі все згодитися), тобто адміністрування серверів під Linux - залік, налаштовував маршрутизатори - теж добре. Англійська - не нижче середнього, базові навички програмування краще на декількох мовах, уявлення про архітектуру операційних систем і сучасних мережних технологіях і рішеннях.

Навчиться базовим навичкам і отримати загальне уявлення можна пройшовши відповідні курси, наприклад Certified Ethical Hacker або Offensive Security Certified Professional. «Вищий пілотаж» досягається тільки практикою і постійним самонавчанням.

9. Чи вважаєте Ви, що про інциденти інформаційної безпеки потрібно говорити публічно? Навіщо?

Безумовно, про інциденти інформаційної безпеки необхідно говорити публічно, але з урахуванням нашого менталітету це практично неможливо. В Україні, на жаль, такий підхід до інцидентів - замовкнути, зам'яти і зробити оргвисновки. Культура ведення бізнесу за межами нашої країни передбачає інформування громадськості про інциденти інформаційної безпеки.

По-перше, така статистика допомагає аналізувати причини інцидентів, розуміти їх природу, визначати найбільш актуальні загрози для підприємства саме певної галузі або з певною інфраструктурою, прогнозувати тенденції і, тим самим, максимально точно планувати заходи по підвищенню рівня захищеності інформаційних систем. По-друге, така політика підвищує прозорість для інвесторів, клієнтів, партнерів і персоналу, а також покращує імідж компанії. Уявіть банк, куди Ви зібралися покласти свої кровно зароблені. Стався інцидент - розкрадання коштів з рахунків клієнтів через програму «Клієнт-Банк». Наш банк відкрито описав, що сталося, гроші повернув клієнтам (якщо пропали) навіть до того, як повернули йому і повідомляв про розвиток ситуації всіма способами (через прес-релізи, через сайт, оголошення у відділеннях по гучномовному зв'язку і т.п.)

І візьмемо інший варіант розвитку подій - гроші пропали з іншого банку. Припустимо, Ви виявили пропажу самі - «напевно, якась помилка». Банк мовчить. Першими намагаються зрозуміти що сталося менеджери, які відкривали рахунок, потім підключаються юристи, проблема переростає з «вкрали 1000 грн. з рахунку» в «хто винен?». А банк мовчить. Якщо вкрали не тільки у вас, то повзуть неконтрольовані чутки, потім виникає паніка ... Далі домалюйте картину самі. Банк або мовчить, або «йде в несознанку». На закінчення можу сказати, що в кінці цієї історії задерганному клієнту кажуть «сам винен» (або «сам дурень»).

Автори: Дмитро Ходорів, Катерина Эстерле

|