Експлойт
Експло́йт (від англ. exploit — експлуатувати) — це комп'ютерна програма, фрагмент програмного коду або послідовність команд, які використовують вразливості в програмному забезпеченні та призначені для атак на обчислювальну систему. Метою атаки може бути як захоплення контролю над системою (підвищення привілеїв), так і порушення її функціонування (DoS-атака).
Залежно від методу отримання доступу до вразливого програмного забезпечення, експлойти поділяють на віддалені (англ. remote) і локальні (англ. local).
- Віддалений експлойт працює через мережу і використовує вразливість у захисті без будь-якого попереднього доступу до вразливої системи;
- Локальний експлойт запускається безпосередньо у вразливій системі, вимагаючи попереднього доступу до неї.
Атака експлойта може бути націлена на різні компоненти обчислювальної системи — серверні програми, клієнтські програми або модулі операційної системи. Для використання серверної вразливості експлойт достатньо сформувати та надіслати серверу запит, що містить зловмисний код.
Використовувати вразливість клієнта трохи складніше — потрібно переконати користувача в необхідності підключення до підробленого сервера (переходу за посиланням, у випадку якщо вразливий клієнт є браузером). Тому такі підходи часто використовуються разом з методами соціальної інженерії.
Багато експлойтів створені для отримання зламником прав суперкористувача. Однак, також можна скористатися декількома експлойтами, спочатку для отримання низькорівневого доступу, а потім для послідовного багаторазового підвищення прав користувача до найвищого рівня адміністратора (часто його називають root).
Експлойти, фактично, призначені для виконання сторонніх дій на вразливій системі й можуть бути розділені між собою таким чином:
- для операційних систем
- для прикладного ПЗ (музичні програвачі, офісні пакети і т. д.)
- для браузерів (Internet Explorer, Mozilla Firefox, Opera та інші)
- для мережевих застосунків (IPB, WordPress, VBulletin, phpBB)
- для осідків (facebook, hi5, livejournal)
- інші
Експлойт може поширюватись як першокод, виконувані модулі, або словесний опис використання вразливости. Він може бути написаний будь-якою компільованою або скриптовою мовою програмування (найчастіше: C/C++, Perl, PHP, HTML+JavaScript).[1]
Експлойти можна класифікувати також за типом використовуваної ними вразливості, як-от: переповнення буферу, SQL-ін'єкція, міжсайтовий скриптинг, підробка міжсайтових запитів і т.д.
Інформацію, отриману в результаті виявлення вразливости, можна використати як для написання експлойта, так і для усунення вразливости. Тому в ній однаково зацікавлені обидві сторони — і зламник, і виробник програмного забезпечення, яке можуть зламати. Характер поширення цієї інформації визначає час, потрібний розробнику до випуску латки.
Після закриття вразливости виробником шанс успішного застосування експлойта починає стрімко зменшуватися. Тож особливу популярність серед гакерів мають так звані експлойти 0-го дня, що використовують нещодавно знайдені вразливості, які ще не стали відомі спільноті [2].
Зв'язки експлойтів є пакетом експлойтів відразу під декілька програм (версій) та/або під різні вразливості в них. В останніх версіях зв'язок вибір експлойта проводиться саме під конкретну програму користувача.
- ↑ ReanimatoR. (22 серпня 2008). Что такое эксплоит? (російською) . xakepam.ru. Архів оригіналу за 8 лютого 2012.
- ↑ Catherine Engelke. (4 червня 2007). What is zero-day exploit? (англійською) . SearchSecurity.com. Архів оригіналу за 3 жовтня 2010.
- xeon (4 березня 2010). Заметки о сетевой безопастности (російською) . Exploit.In.UA. Архів оригіналу за 14 вересня 2009.
- http://www.exploit-db.com (17 жовтня 2010). База експлойтів (более 12864 записей) (англійською) . exploit-db.com. Архів оригіналу за 22 жовтня 2010.
- База вразливостей програм (англійською) . Архів оригіналу за 27 березня 2010.