Deep Packet Inspection (скорочено DPI; укр. докладний аналіз пакетів) — технологія перевірки та фільтрації пакетів за змістом. На відміну від брандмауера, DPI аналізує не тільки заголовки пакетів, але і їх вміст, відповідно мережевої архітектури моделі OSI, з другого рівня і вище. Deep Packet Inspection здатен виявляти і блокувати віруси, фільтрувати інформацію, відповідно до заданих критеріїв.
Deep Packet Inspection може ухвалювати рішення не тільки за вмістом пакетів, але й за непрямими ознаками, властивим певним мережевим програмами і протоколам. Для цього може бути використаний статистичний аналіз (наприклад, аналіз частоти появи певних символів, довжини пакета тощо).
Deep Packet Inspection часто використовують інтернет-провайдери для контролю трафіку, а іноді й для блокування деяких протоколів, таких як BitTorrent. За допомогою Deep Packet Inspection можна визначити, яка програма згенерувала або отримує дані, і на підставі цього виконати певну дію. Крім блокування, Deep Packet Inspection може збирати детальну статистику з'єднання кожного користувача окремо.
Також, за допомогою quality of service Deep Packet Inspection може управляти швидкістю передачі окремих пакетів, збільшивши її або, навпаки, зменшивши. На думку деяких інтернет-провайдерів, Deep Packet Inspection дозволяє стримувати програми, що забивають інтернет-канал, змінювати пріоритети передачі різних типів даних, наприклад, прискорюючи відкриття інтернет-сторінок за рахунок зменшення швидкості завантаження великих файлів. Крім того, Deep Packet Inspection здатна виявляти серед загального потоку трафіку шматочки, що належать комп'ютерним вірусам і блокувати їх, підвищуючи таким чином безпеку мережі. Іноді Deep Packet Inspection використовується в великих корпораціях для запобігання випадковим витокам даних, а також для захисту від надсилання електронною поштою внутрішніх захищених файлів.
Історія
Перші брандмауери могли бути реалізовані двома способами.
За першого способу проксі-сервер захищає внутрішню локальну мережу від доступу з зовнішнього світу. Проксі-сервер перевіряє, чи задовольняють мережеві пакети заданим критеріям. Після цього або відсіває їх, або пересилає далі. Такий спосіб використовувався традиційно, оскільки він знижує ризики, що хто-небудь зможе скористатися уразливими протоколами.
За другого способу брандмауер використовує програму, що здійснює фільтрацію мережевих пакетів за наборами правил. Такі програми отримали назву фільтрувальних брандмауерів. Фільтрувальний брандмауер здатний блокувати пакети, що не задовольняють деяким простим правилам, таким як IP джерела, IP призначення, порт джерела, порт призначення. Такі пакетні фільтри є найбільш швидкодійним типом брандмауерів, оскільки роблять зовсім мало обчислень. Простота реалізації дозволяє виготовляти такий брандмауер у вигляді мікросхеми.
Від самого початку проксі-сервери були визнані безпечнішими, ніж пакетні фільтри, оскільки вони здійснювали більш детальну перевірку пакетів[1].
Еволюція брандмауерів на основі проксі-серверів призвела до появи перших програм Deep Packet Inspection. Вони були створені з метою усунення мережевих проблем і для блокування вірусів, а також з метою захисту від DoS-атак. Спочатку комп'ютери, на яких було встановлено Deep Packet Inspection, не були достатньо потужними, щоб контролювати весь інтернет-трафік користувачів у режимі реального часу.
Через деякий час, коли з'явилася можливість роботи програм Deep Packet Inspection у режимі реального часу, вони використовувалися інтернет-провайдерами переважно для організації цільової реклами та зменшення заторів у мережі. Сьогодні ж Deep Packet Inspection здатна значно на більше, ніж просто забезпечувати безпеку. Інтернет-провайдери отримали можливість контролювати прохідний трафік будь-якого свого клієнта. Наявність інструментів для вибіркового блокування трафіку дає інтернет-провайдерам можливість надавати додаткові платні послуги і отримувати з цього додатковий прибуток, хоча по суті, це порушує мережевий нейтралітет[2]. На даний момент[коли?] законодавство деяких країн зобов'язує інтернет-провайдерів виконувати фільтрацію трафіку. Програми Deep Packet Inspection іноді використовують для виявлення і блокування трафіку, що містить незаконні матеріали або порушує авторські права[3].
Останнім часом[коли?] обсяг трафіку, що проходить, помітно зріс. Починає знову виникати проблема, що комп'ютери не можуть впоратися з аналізом всього трафіку в реальному часі або ж вартість комп'ютерів буде занадто великою. Однак сучасні технології вже дозволяють зробити повнофункціональний Deep Packet Inspection у вигляді спеціального роутера[4]. Також набувають популярності програмні рішення, які встановлюються на доступні апаратні платформи.
Примітки
Див. також