Тестування на проникнення або Етичний хакінг

Тестування на проникнення або Етичний хакінг

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

У тесті на проникнення ІТ-системи або мережі піддаються всебічному тестуванню, призначеному для визначення їхньої чутливості до атак. Пентест використовує методи і прийоми, які використовуються справжніми зловмисниками або хакерами.

Пентестер перебуває в досить унікальному професійному становищі: якщо він успішно проробить шлях через заходи безпеки, клієнт отримує шанс закрити лазівки до того, як виникне реальна небезпека. Якщо він нічого не знаходить, клієнт стає ще щасливішим, тому що з цього моменту він може рекламувати, що навіть платним хакерам не вдавалося скомпрометувати його системи.

З іншого боку, це не означає, що робота етичного хакера легка. Навпаки. Вам не потрібен IQ генія для роботи пентестером, але ви маєте бути готові до, здавалося б, непереборних перешкод у різних сценаріях. Однак, якщо ви завжди в курсі останніх технологій і любите йти на компроміс, професійний злом може стати вашою роботою мрії.

Як ми вже з'ясували, тест на проникнення є частиною аналізу вразливості ІТ-систем і призначений для перевірки їхньої незахищеності перед хакерськими атаками.

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

Пентест може виявити слабкі місця та краще оцінити потенційні ризики. Протягом усього тесту на проникнення всі виконані заходи точно записуються. В остаточному звіті перераховуються виявлені слабкі місця та можливі рішення для підвищення рівня ІТ-безпеки. Усунення слабких місць і впровадження заходів щодо посилення захисту ІТ не є частиною тесту на проникнення. Обсяг проведених випробувань залежить від потенційної небезпеки системи, застосунку або мережі. Системи, схильні до високих ризиків, як-от загальнодоступні веб-сервери, зазвичай піддаються більшим тестам, ніж внутрішні додатки.

Цілі тесту на проникнення

Основна мета пентесту - виявити слабкі місця в мережах і комп'ютерах на технічному й організаційному рівнях і зафіксувати їх у докладному звіті. Однак відповідальність за усунення виявлених слабких місць лежить на клієнті або операторі досліджуваних ІТ-систем. Якщо рекомендовані заходи щодо усунення виявлених слабких місць буде виконано, безпеку досліджуваних систем може бути поліпшено. Можливі коригувальні заходи можуть охоплювати навчання персоналу, збільшення кількості співробітників, вимкнення системи або застосування виправлень і оновлень. Оскільки тест на проникнення - це не постійний моніторинг ІТ, його можна розглядати як свого роду знімок стану безпеки. Часто тести на проникнення за допомогою соціальної інженерії є частиною виконуваних тестів. У цьому випадку робляться спроби отримати інформацію за допомогою співробітників або варіанти отримання доступу за допомогою соціальної інженерії. Мета тестів - виявити внутрішні слабкі місця в компанії, які можна усунути, наприклад, шляхом навчання та інформування співробітників.

Правові аспекти тестів на проникнення

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

Відмінність термінів: аналіз слабких місць, сканування вразливостей/безпеки і тест на проникнення

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

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

Ось як працює етичний злам

Ми покажемо вам, як працюють етичні хакери, у п'ять кроків:

1. визначення мети та обсягу

- Для кожного професійного тестера на проникнення необхідна повна документація про сферу відповідальності та цілі. Під час визначення першого етичний хакер має поставити собі такі запитання:

- Які комп'ютерні активи потрапляють у сферу відповідальності?

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

- Чи включає зона відповідальності тільки певний тип активу, наприклад веб-сервер або SQL-сервер, і чи повинні також бути включені мережеві пристрої?

- Чи можна використовувати автоматичне сканування вразливостей під час пентесту?

- Чи дозволена соціальна інженерія? І якщо так, то якими методами і якою мірою?

- У який період часу має проходити тест на проникнення?

- Чи існують певні дні або час доби, які не підходять для пентесту? (Наприклад, тому що в іншому випадку існує ризик збоїв в обслуговуванні)

- Чи не повинно бути переривання під час пентесту або атака має бути максимально достовірною?

- Чи має це бути "чорна скринька" (пентестер не отримує жодної внутрішньої інформації про задіяні системи та додатки) або "біла скринька" (усі внутрішні знання про системи, що підлягають атаці, та відповідний вихідний код доступні)?

- Чи слід задіяти команду ІТ-безпеки або потрібно перевірити їхню реакцію (або відсутність реакції)?

- Чи слід використовувати найбезшумніший підхід під час злому систем? Чи слід провести цілеспрямовану перевірку, щоб визначити, чи ефективні наявні заходи виявлення та запобігання?

Що стосується цілей тесту на проникнення, етичні хакери повинні запитати:

Це просто демонстрація того, що я можу зламати мережу?

 Чи є відмова в обслуговуванні однією з цілей ролі?

 Чи слід скомпрометувати доступ до певного комп'ютера та отримати доступ до конкретних записів даних чи достатньо отримання привілейованого доступу?

 Які результати слід включити в остаточну документацію тесту на проникнення? Чи слід згадувати всі використані методи злому (вдалі та невдалі)? Чи достатньо найважливіших? Наскільки глибоко я маю вдаватися в деталі? Чи потрібні мені скріншоти або знімки для документації?

2. Вибір відповідних інструментів для пентестингу.

Тестери на проникнення та етичні хакери зазвичай використовують стандартний набір хакерських інструментів. Залежно від програми вони також розширюють своє портфоліо різними іншими програмними інструментами. Наприклад, якщо тестувальник на проникнення має атакувати базу даних SQL, але не має досвіду роботи з нею, він випробує різні інструменти атаки SQL перед тестом.

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

Найважливішим критерієм для інструментів злому є (крім переконливості якості та придатності для передбачуваних цілей) відсутність шкідливих програм або іншого шкідливого коду, за допомогою якого робота хакера може бути порушена. На жаль, більшість хакерських інструментів в Інтернеті - особливо ті, що перебувають у вільному доступі, містять шкідливі програми та недокументовані бекдори. Найпоширенішим і найпопулярнішим інструментам (наприклад, Nmap) можна довіряти, але, звісно ж, найкращі пентестери створюють свої власні інструменти злому. Вони завжди вірні девізу: "Нікому не вір".

3. "Знайомство" з метою пентестингу.

Кожен професіонал у сфері етичного злому починає свою роботу з того, що дізнається про свою мету якомога більше. Сюди входить, наприклад, інформація про IP-адресу, операційну систему, додатки та номери версій, статуси виправлень, мережеві порти і всі інші дані, які можуть виявитися корисними для злому.

4. Запуск експлойту.

Це те, за що пентестер отримує свої гроші: успішний злом системи. На основі інформації, отриманої на третьому етапі, етичний хакер розробляє експлойт для виявленої вразливості і, таким чином, отримує несанкціонований доступ (або відмову в обслуговуванні, якщо це була мета). Якщо пентестеру не вдається скомпрометувати певний актив, він має зосередитися на інших. Однак зазвичай професіонали швидко знаходять те, що їм потрібно. "Експлойтна частина" менш складна, ніж думає більшість людей. Необов'язково бути генієм, щоб бути гарним пентестером, але необхідні дві якості: терпіння та наполегливість.

5. Документування результатів.

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

Що має вміти пентестер

Як і будь-яка інша дисципліна ІТ-безпеки, професійне тестування на проникнення та етичний злом постійно розвиваються. Зломщики-одинаки, які вміють хвалитися своєю технічною перевагою, але яким бракує професіоналізму і витонченості, більше не мають великого попиту у компаній. Замість цього компанії шукають повний пакет професійних хакерів:

Вони повинні мати у своєму розпорядженні найкращі набори інструментів. Програмне забезпечення для тестування на проникнення або вразливості завжди було частиною набору інструментів етичного хакера. Зараз є програми, які значно спрощують роботу пентестерів - як, наприклад, і у випадку з хакерами-злочинцями.

Прикладом такого інструменту є програмне забезпечення з відкритим вихідним кодом Bloodhound. Це дає змогу зловмисникам записувати відносини між різними комп'ютерами в мережі Active Directory через графічний інтерфейс користувача. Після введення бажаного пункту призначення програмне забезпечення - подібно до системи навігації, показує різні (зламані) шляхи до пункту призначення. Також можуть бути виявлені шляхи, які раніше не було видно. Більшу частину процесу можна автоматизувати за допомогою кількох скриптів.

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

Управління ризиками. Недостатньо представити список слабких місць, виявлених у компанії. Сьогодні етичні хакери і пентестери повинні працювати з ІТ-менеджментом, щоб виявляти найбільші загрози і вразливості. Експерти з пентесту тепер теж входять до складу відділів управління ризиками, адже їхня робота також ефективно допомагає мінімізувати ризики. Їхнє завдання - інформувати керівництво та ІТ-відділ про те, що, найімовірніше, станеться в майбутньому.