Průvodce řízením provozu sítě: DPI (Deep Packet Inspection)

9.12.2009
Minule jsme si řekli, že pokud chceme něco řídit, musíme v první řadě vědět, co se děje. V dnešních sítích to znamená schopnost rozlišovat provoz na sedmé aplikační vrstvě. Proč právě to?

Stále více aplikací se maskuje, aby nebyly v provozu rozpoznatelné. Z jakého důvodu? V posledních několika letech došlo na internetu k významné změně. Objevily se P2P aplikace, které uživatelům umožňují sdílet prakticky cokoliv, nejčastěji hudbu a filmy. Když se v roce 1999 objevil Napster, hudební nakladatelství se snažila zamezit provozu všemi prostředky a po velké právní bitvě dosáhla soudního zákazu. Myšlenka se však ujala a dnes existují desítky P2P aplikací – např. Kazaa, BitTorrent, Direct Connect. Jedná se o decentralizované sítě.

Architektura P2P sítí:
centralizovaná (Napster) - decentralizovaná (Kademlia) - decentralizovaná nestrukturovaná (Gnutella)


hierarchická - hybridní (eDonkey, Skype)



Každý uživatel je klientem, který může stahovat obsah jiných uživatelů dané P2P sítě. Zároveň je i serverem, který nabízí své soubory ke stažení jiným. Pro zajímavost, v současné době je nejrozšířenější aplikací BitTorrent se 135 milióny uživatelů a v průměru 60 až 80 % provozu na internetu je dnes P2P.

Klasické aplikace jako web, elektronická pošta i VoIP znamenají pro síť krátkodobou zátěž - prohlédnete si webovou stránku, odešlete e-mail, po ukončení hovoru zavěsíte. Pokud se ale uživatel např. EDonkey rozhodne stáhnout deset nových filmů, každý z nich zabere několik GB, a to znamená permanentní zatížení linky na řadu dnů. Je proto logické, že se poskytovatelé internetu snaží takový provoz řídit. Programátoři P2P si toho jsou ovšem velmi dobře vědomi a vyvinuli řadu technik na ztížení rozpoznání jejich aplikací.

První generace programů používala tzv. port hopping (přeskakování portů), kdy se TCP/UDP porty náhodně měnily. Druhá generace pak začala využívat HTTP protokol a následně i šifrování pomocí SSL. Zatím poslední P2P aplikace využívají vlastní šifrování (eMule). Přesněji řečeno, používá se pojem „obfuscation“ - šifrování se zde nevyužívá pro zajištění soukromí, ale pouze za účelem znemožnění detekce.

P2P v HTTP protokolu


Pro rozpoznání takového provozu nestačí pouze se dívat na hlavičky jednotlivých paketů, ale je potřeba hledat signatury v jejich obsahu. Často nejen ve více paketech, ale i ve více spojeních (sessions). Je nutné kombinovat i více metod.

Základní metodou je vyhledávání textového řetězce, stejně jako u antiviru. Samozřejmě je nutné hledat řetězec pouze v relevantní části provozu. Pokud by se řetězec hledal v libovolné časti provozu, pak by byla řada aplikací rozpoznána nesprávně (false positive). Jednoduchý příklad - řetězec Kazaa má smysl detekovat pouze v políčku „user agent“ protokolu HTTP (viz obrázek P2P v HTTP protokolu).

Další metodou jsou numerické vlastnosti protokolu. Může se jednat o vyjádření řetězce v jiném formátu, např. v ASCII (ahoj = 97 104 111 106), ale i o složitější záležitosti, jako délka paketů, délka zprávy a její pozice v paketu apod.

Nejsložitější metodu detekce pak představují statistické a heuristické analýzy. Při heuristické analýze se metodou „pokus a omyl“ hledá jednoznačná charakteristika provozu dané aplikace. Na obrázku je vidět statistické rozložení délky paketů pro P2P aplikaci BitTorrent a pro běžné HTTP.

Statistické rozložení délky paketů BitTorrent a HTTP


Pokud jste dočetli až sem, možná si říkáte, že ve vašem podniku či úřadě je přece P2P i Skype zakázáno, tak proč se něčím takovým zabývat. Je pro to několik důvodů. Když zvážíme statistiky provozu na internetu, které říkají, že v průměru 60 % provozu v pracovní době je P2P, je jasné, že zákazy jsou neúčinné. Přitom pokud definujeme pravidla, musíme mít prostředky pro jejich prosazení a ověření. P2P, respektive zábavní aplikace, mají vliv na produktivitu práce i na bezpečnost. Jedná se o kód, který nelze ověřit a pokud autor v programu udělal ať z nedbalosti, nebo úmyslně bezpečnostní chyby, může dojít ke kompromitaci počítače a zcizení dat.

Jakkoliv se potřeba DPI nejlépe zdůvodňuje na příkladu P2P, existuje řada podnikových aplikací, kde se také uplatní. Dobrým příkladem je VoIP. SIP i H.323 - představují sadu protokolů - signalizace a RTP pro samotný přenos hlasu. Zřejmý je trend, že se k většině aplikací přistupuje přes web - jak již bylo zmíněno, někdy se hovoří o takzvané webifikaci.

Jen na kvalitním DPI řešení lze postavit monitoring sítě a účinný traffic management. Ale o tom si řekneme zase příště.

Tohoto průvodce vám přinášíme ve spolupráci se společností Allot Communications.