Експлойт
Експлойт, експлоіт, сплоіт (англ. exploit, експлуатувати) - це комп'ютерна програма, фрагмент програмного коду або послідовність команд, що використовують уразливості в програмному забезпеченні та застосовуються для проведення атаки на обчислювальну систему. Метою атаки може бути як захоплення контролю над системою (підвищення привілеїв), так і порушення її функціонування (DoS-атака).
Класифікація
У залежності від методу отримання доступу до уразливому програмного забезпечення, експлойти поділяються на віддалені (англ. remote) і локальні (англ. local).
- Віддалений експлойт працює через мережу і використовує уразливість в захисті без будь-якого попереднього доступу до уразливої системи;
- Локальний експлойт запускається безпосередньо в уразливої системи, вимагаючи попереднього доступу до неї. Зазвичай використовується для отримання зломщиком прав суперкористувача.
Атака експлойта може бути націлена на різні компоненти обчислювальної системи - серверні додатки, клієнтські програми або модулі операційної системи. Для використання серверної уразливості експлойт достатньо сформувати та надіслати серверу запит, що містить шкідливий код. Використовувати вразливість клієнта трохи складніше - потрібно переконати користувача в необхідності підключення до підробленого сервера (переходу за посиланням у разі якщо вразливий клієнт є браузером).
Види експлойтів
Експлойти, фактично, призначені для виконання сторонніх дій на вразливій системи і можуть бути розділені між собою таким чином:
- Експлойти для операційних систем
- Експлойти для прикладного ПЗ (музичні програвачі, офісні пакети і т. д.)
- Експлойти для браузерів (Internet Explorer, Mozilla Firefox, Opera та інші)
- Експлойти для інтернет-продуктів (IPB, WordPress, VBulletin, phpBB)
- Експлойти для інтернет-сайтів (facebook.com, hi5.com, livejournal.com)
- Інші експлойти
Як виглядає експлойт?
Експлойт може поширюватися у вигляді вихідних текстів, виконуваних модулів, або словесного опису використання вразливості. Він може бути написаний на будь-якій компільованій або скриптованій мові програмування (найбільш часті: C / C + +, Perl, PHP, HTML + JavaScript). Експлойти можуть бути класифіковані також за типом використовуваної ними вразливості, такий як: переповнення буфера, SQL-ін'єкція, міжсайтовий скриптінг, підробка міжсайтових запитів і т. д.
Актуальність
Інформація, отримана в результаті виявлення уразливості, може бути використана як для написання експлойта, так і для усунення вразливості. Тому в ній однаково зацікавлені обидві сторони - і зломщик і виробник програмного забезпечення. Характер поширення цієї інформації визначає час, що потрібно розробнику до випуску патчу. Після закриття уразливості виробником шанс успішного застосування експлойта починає стрімко зменшуватися. Тому особливою популярністю серед хакерів користуються так звані 0day експлойти, що використовують недавно виявлені уразливості, які ще не стали відомі громадськості.
Звязки
Зв'язки експлойтів представляють з себе пакет експлойтів відразу під декілька програм (версій) та / або під різні уразливості в них. В останніх версіях звязок проводиться вибір експлойта саме під конкретну програму користувача.