Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретична частина.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
463.36 Кб
Скачать

23. Сенс використання експлоітів в середовищі windows.

Експло́йт (від англ. exploit — експлуатувати) — це комп'ютерна програма, фрагмент програмного коду або послідовність команд, що використовують вразливості в програмному забезпеченніта призначені для проведення атаки на обчислювальну систему. Метою атаки може бути як захоплення контролю над системою (підвищення привілеїв), так і порушення її функціонування (DoS-атака).

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

Після закриття уразливості виробником шанс успішного застосування експлойта починає стрімко зменшуватись. Тому особливою популярністю серед хакерів користуються так звані 0-dayексплойти, що використовують нещодавно знайдені уразливості, які ще не стали відомі громадськості.[2].

  1. Методи тестування системи захисту.

Серед методів тестування системи захисту виділяють два основних методи. Це так звані «Метод білого ящика» та метод «Метод чорного ящика».

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

Сканування системи захисту за методом білого ящика відбувається у тому випадку, якщо попередньо нічого не відомо про скановану систему.

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

Процес сканування методом чорного ящика триває довго та з одного комп’ютера, відбувається завантаження мережі надмірним трафіком.

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

В реальному житті виконується поєднання зазначених методів.

  1. Основні етапи сканування.

Етап тестування в загальному випадку поділяється на чотири етапи:

1. Збір інформації про об’єкт сканування

2. Визначення потенційних вразливостей

3. Підтвердженя виявлених вразливостей

4. Генерування звітів по результатам проведеного сканування. Кожен сканер безпеки повинен уміти генерувати звіт про проведену робот. В загальному випадку у звіті наводиться список виявлених вразливостей та рекомендації по їх усуненню. Однак, сам сканер не виконує спроб усунення вразливостей.

Однак, в останній час відбувається виділення п’ятого етапу сканування для сканерів безпеки.

5. Автоматичне усунення вразливостей. Даний етап сканування виконує мала кількість сканерів безпеки.

26. Основні підходи к реалізації сканування в сучасних сканерах безпеки.

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

Сканери можуть функціонувати на мережевому рівні (network-based), рівні операційної системи (host-based) і рівні додатків (application-based). Найбільшого поширення набули сканери мережевих сервісів і протоколів. Це пов'язано, в першу чергу, з універсальністю використовуваних протоколів. Другими за поширеністю є сканери захищеності ОС.

Є два способи знаходження вразливостей - сканування (scan) і зондування (probe).

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

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

На практиці вказані механізми реалізуються наступними кількома методами.

"Перевірка заголовків" (banner check)

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

"Активні зондувальні перевірки" (active probing check)

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

"Імітація атак" (exploit check)

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

Практично будь-який сканер проводить аналіз захищеності у кілька етапів:

1. Збір інформації про мережу.

2. Виявлення потенційних вразливостей.

3. Підтвердження обраних вразливостей.

4. Генерація звітів.

5. Автоматичне усунення вразливостей.