Hlavní navigace

Bráníme se odposlechu: promiskuitní režim

1. 8. 2006
Doba čtení: 7 minut

Sdílet

 Autor: 29
V prvním díle nového seriálu, který navazuje na seriál Odposlouchávání dat na přepínaném Ethernetu, se zaměříme na promiskuitní režim, jeho detekci a možnosti jak zamezit uživatelům v přepnutí síťové karty do promiskuitního režimu.

Odposlouchávání je velmi jednoduchý a využívaný způsob, jak něco zjistit. Může se jednat o neškodné odposlouchávání síťového provozu kamaráda, abychom zjistili, jaké internetové stránky navštěvuje a nebo jaká používá hesla. Odposlouchávat může i žárlivý přítel, který kontroluje svoji přítelkyni, s kým a co si dopisuje. Ovšem může se jednat i o zaměstnance, který se chce svému zaměstnavateli pomstít. Ve firmě mohou být použita silná hesla, přísně nastavené firewally a uživatelé omezeni v používání počítače, avšak stačí, aby síť byla nezabezpečena proti odposlouchávání a celou bezpečnost může ohrozit jedna nešifrovaná služba. Proto se nesmí obrana proti odposlouchávání podceňovat. Zvláště v době, kdy na všechno existují nástroje a stačí párkrát kliknout.

Tento nový seriál je zaměřen na obranu před útoky probranými v minulém seriálu, a nezapomeneme ani na to, jak tyto útoky detekovat. Tento seriál není určen pouze obyčejným uživatelům, ale i méně zkušeným správcům sítě a administrátorům, jelikož oni mají zodpovědnost za ochranu citlivých dat ve firmách.

Celý seriál začneme promiskuitním režimem, protože ten je přítomen téměř při každé snaze o odposlouchávání dat na síti. Možná si také budete říkat, že se mělo začít spíše tím, jak detekovat připojení nového počítače do sítě a jak se tomu bránit. Nemusíte se ale bát, že byste o tuto kapitolu přišli, bude rozebrána v příštím dílu seriálu.

Promiskuitní režim

Jedná se o jeden z režimů, ve kterých může být provozována síťová karta. Ta v normálním režimu nepředává systému data, která nejsou určena pro tuto síťovou kartu (rozhoduje se podle MAC adresy). Přepnutím do promiskuitního režimu se tento hardwarový filtr vyřadí a systém obdrží veškerá data.

Síťová karta je standardně v normálním režimu. V promiskuitním režimu se karta vyskytuje, pouze pokud je do něj přepnuta. K těmto situacím normálně nedochází. Pokud je karta v promiskuitním režimu, znamená to, že někdo odposlouchává, ovšem ne vždy odposlouchává jenom útočník. Odposlouchávání mohou provádět i některé diagnostické přístroje a nebo systémy detekce průniku (může se jednat o zařízení i programy). Ovšem o takových programech správce sítě nebo uživatel ví.

Pokud útočník odposlouchává data na síti, která není přepínaná, nebo používá metody útoku, jako jsou port stealing a MAC flooding, je potřeba, aby jeho karta běžela v promiskuitním režimu. Jinak by nemohla být zachycena data, jelikož nejsou určena pro útočníka. Pokud jsou použity útoky jako ARP cache poisoning, ICMP redirecting, DHCP spoofing a DNS spoofing, není promiskuitní režim potřeba. Data jsou již totiž určena pro útočníka a síťová karta je bude přijímat i v normálním režimu.

Naštěstí všechny nástroje, se kterými jsem se zatím setkal, mají promiskuitní režim zapnut od začátku. Většina lidí neví, jakým způsobem jsou útoky prováděny, a tudíž promiskuitní režim nevypínají, někdy to ani nejde. Z toho plyne, že nám stačí ve většině případů hledat pouze síťovou kartu, která běží v promiskuitním režimu. Jakmile je taková síťová karta nalezena, je téměř jisté, že někdo odposlouchává.

Detekce

Zda se karta nachází v promiskuitním režimu, se dá zjistit několika způsoby. Nejznámější a nejpoužívanější způsob je pomocí ICMP echo paketů a nebo ARP paketů. Dále se také ke zjišťování používá protokol DNS nebo se sleduje odezva sítě.

Ještě je potřeba si říci, že kromě hardwarového filtru který představuje síťová karta v normálním režimu, existuje ještě softwarový filtr. Softwarový filtr zajišťuje operační systém. Softwarový filtr neovlivňuje odposlouchávání, jelikož program (který odposlouchává) si ta data vezme ještě dříve než softwarový filtr. Softwarový filtr ale zabrání, aby tato data byla zpracována (například protokol ICMP nebo ARP). Naštěstí ale tento filtr není příliš důkladný a dá se obelstít. Například paket s cílovou MAC adresou FF:FF:FF:FF:FF:FE (tato adresa vypadá jako broadcast, ovšem liší se od něj tím, že má nejnižší bit nastavený na 0) propustí dále, zatímco hardwarový filtr by tento paket zahodil. Adres, které softwarový filtr špatně vyhodnotí, je více, detailnější popis najdete v dokumentu Detection of Promiscuous Nodes Using ARP Packets [PDF, 94 kB].

Způsob detekce pomoci ARP protokolu vypadá tak, že se požádá o překlad IP adresy na MAC. Jako IP adresu, kterou chceme přeložit, zvolíme IP adresu počítače, který chceme otestovat. Nakonec je třeba ještě nastavit cílovou adresu MAC, standardně se nastavuje na broadcast. My ji ovšem nastavíme na adresu FF:FF:FF:FF:FF:FE. Switch tuto adresu ve své CAM tabulce nemá, a tudíž tento paket rozešle na všechny porty. Takto dorazí paket až k počítači, který testujeme. Pokud bude síťová karta v normálním režimu, bude tento paket ignorovat, jelikož má špatnou MAC adresu. Pokud ale bude v promiskuitním režimu, tento paket projde jak síťovou kartou, tak i softwarovým filtrem, a systém na něj odpoví ARP reply. Pokud obdržíme odpověď, znamená to, že je síťová karta v promiskuitním režimu.

filtrace

Detekce pomocí ICMP echo paketů probíhá stejným způsobem jako u ARP protokolu. Pošleme paket ICMP echo request s IP adresou nastavenou na hosta, kterého chceme prověřit. Ovšem MAC adresu nevyplníme správně, ale opět ji nastavíme na FF:FF:FF:FF:FF:FE. Pokud je síťová karta v promiskuitním režimu, tento paket projde a systém na něj odpoví. Jediné, na co je zde si ještě třeba dát pozor, je fakt, že ICMP protokol může být filtrován firewallem (to znamená, že i když síťová karta bude v promiskuitním režimu, tato metoda to neodhalí).

Zjišťování pomocí DNS protokolu je založeno na faktu, že spousta programů při zachycení paketu zkoumá, komu patří zdrojová a cílová IP adresa – pokud tedy komunikujeme s nějakým serverem. Útočník odchytí náš paket, a jelikož komunikace je adresována pomocí IP adres, požádá DNS server o překlad těchto IP adres. Na nás jenom je, abychom pozorovali komunikaci, a když zjistíme, že někdo požádá o reverzní překlad této IP, tak jsme našli útočníka. Aby bylo vše jednoznačné: útok se přesně provádí tak, že simulujeme komunikaci s neexistující nebo náhodnou IP adresou a čekáme, zda někdo požádá o reverzní překlad té IP adresy. Tento způsob má výhodu v tom, že netestujeme každý počítač zvlášť, ale celou síť najednou. Nevýhoda ovšem je v tom, že počítač, který provádí detekci, musí mít přístup k provozu v celé síti.

Zjišťování, zda někdo odposlouchává pomocí prodlevy odezvy, probíhá porovnáváním dvou časů. Nejprve je každý počítač požádán o echo (pomocí ICMP echo request), na základě tohoto požadavku a odpovědi je zjištěno, jak dlouhá je odezva za klidového stavu. Nyní je síť zahlcena falešnou komunikací. Cílová adresa této komunikace je fiktivní. Tím se zajistí, že switche rozešlou tuto komunikaci na všechny porty. Nyní je každý počítač opět požádán o echo. Nově zjištěný čas je porovnán s předchozím, a pokud se výrazně liší, je na tom počítači zapnut promiskuitní režim síťové karty. Počítače, na kterých je zapnut promiskuitní režim u síťové karty, mají delší odezvu z toho důvodu, že se musí zabývat každým paketem, který dostanou. To způsobuje velké zatížení počítače, a odpověď na náš echo požadavek se tedy zpozdí. Samozřejmostí je, že může vzniknout i zpoždění na spojovacích prvcích (switchích), ale toto zpoždění je mnohem menší.

Pro detekci existuje spousta programů, například program Sentinel (Linux), který implementuje tři výše popisované techniky. Nebo můžete použít vestavěného scanneru v programu Cain & Abel (Windows).

Obrana

Pokud jste obyčejný uživatel, který má svůj počítač připojen do lokální sítě, kde se vyskytují cizí počítače, nenaděláte nic. Nemůžete nikomu zabránit, aby si přepnul kartu do promiskuitního režimu.

Jste-li administrátor nebo správce sítě, znemožníte přepnutí síťové karty do promiskuitního režimu omezením práv. To znamená, že počítačům, kde jsou uživatelé, znemožníte pracovat pod administrátorem a dáte jim práva obyčejného uživatele. Dále je ještě potřeba jim zamezit v nabootování vlastního operačního systému, nejlépe zaheslováním BIOSu.

BRAND24

Tento postup má spoustu výhod. Uživatelé nebudou moci instalovat programy na počítač. Omezíte tím pohyb různých virů, spywaru a trojských koní. Pokud se jim stejně podaří napadnout systém, nezpůsobí na něm takové škody (pokud nevyužívají nějaké chyby systému). Operační systém vydrží daleko déle svižnější, a tím si šetříte práci.

A co dál?

V dnešním díle jsme probrali základ, kterým je detekce promiskuitního režimu. V příštím díle se podíváme již na obranu před určitými útoky. Byl bych rád, kdybyste se v názorech pod dnešním dílem podělili o názor, s jakými právy by měli v práci uživatelé pracovat.

Pracují u vás ve firmě běžní uživatelé s právy administrátora (případně roota)?

Byl pro vás článek přínosný?

Autor článku

Autor je spolumajitelem firmy PATRON-IT a celým srdcem technik. Specializuje se na kybernetickou bezpečnost a má zkušenosti etického hackera. Věří, že aby mohl síť dobře zabezpečit, musí ji nejprve umět prolomit.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).