Експлойт

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Експлоїт)
Перейти до навігації Перейти до пошуку

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

Класифікація[ред. | ред. код]

У залежності від методу отримання доступу до уразливого програмного забезпечення, експлойти поділяються на віддалені (англ. remote) та локальні (англ. local).

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

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

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

Багато експлойтів створені для отримання зломником прав суперкористувача. Однак, також можна скористатися декількома експлойтами, спочатку для отримання низькорівневого доступу, а потім для послідовного багаторазового підвищення прав користувача до найвищого рівня адміністратора (часто його називають root).

Види експлойтів[ред. | ред. код]

Експлойти, фактично, призначені для виконання сторонніх дій на уразливій системі й можуть бути розділені між собою таким чином:

Як виглядає експлойт?[ред. | ред. код]

Експлойт може поширюватися у вигляді сирцевих кодів, виконуваних модулів, або словесного опису використання уразливості. Він може бути написаний на будь-якій компільованій або скриптовій мові програмування (найчастіше: C/C++, Perl, PHP, HTML+JavaScript).[1]

Експлойти можуть бути класифіковані також за типом використовуваної ними вразливості, таких як: переповнення буфера, SQL ін'єкція, міжсайтовий скриптинг, підробка міжсайтових запитів і т.д.

Актуальність[ред. | ред. код]

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

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

Зв'язки[ред. | ред. код]

Зв'язки експлойтів є пакетом експлойтів відразу під декілька програм (версій) та/або під різні уразливості в них. В останніх версіях зв'язок вибір експлойта проводиться саме під конкретну програму користувача.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. ReanimatoR. (22 серпня 2008). Что такое эксплоит? (російською) . xakepam.ru. Архів оригіналу за 8 лютого 2012.
  2. Catherine Engelke. (4 червня 2007). What is zero-day exploit? (англійською) . SearchSecurity.com. Архів оригіналу за 3 жовтня 2010.

Посилання[ред. | ред. код]