Wykorzystywanie test贸w wyciek贸w do oceny skuteczno艣ci zap贸r sieciowych

Nikolay Grebennikov
Zast臋pca dyrektora dzia艂u technologii innowacyjnych, Kaspersky Lab

Zapora sieciowa oferuje dodatkow膮 ochron臋 do tej zapewnianej przez rozwi膮zania i narz臋dzia bezpiecze艅stwa. Dodatkowe bezpiecze艅stwo zyskuje coraz wi臋ksze znaczenie ze wzgl臋du na wzrost liczby nowych szkodliwych program贸w. Zapory sieciowe blokuj膮 niepo偶膮dany ruch sieciowy, zar贸wno wej艣ciowy jak i wyj艣ciowy. Testy wyciek贸w, kt贸re stanowi膮 temat tego artyku艂u, oceniaj膮, jak skutecznie zapora sieciowa kontroluje ruch wyj艣ciowy i chroni komputer przed wyciekami danych.



Co to jest zapora sieciowa?

Jedn膮 z funkcji dzisiejszych zintegrowanych system贸w bezpiecze艅stwa jest umo偶liwianie u偶ytkownikowi kontrolowania ruchu sieciowego, tzn. danych wysy艂anych i otrzymywanych za po艣rednictwem sieci przez aplikacje uruchomione na komputerze u偶ytkownika. Komponent zapewniaj膮cy tak膮 kontrol臋 nosi nazw臋 zapory sieciowej. Istniej膮 sprz臋towe oraz programowe zapory sieciowe (http://pl.wikipedia.org/wiki/Zapora_sieciowa). A artykule tym zbadano tylko zapory sieciowe programowe.

Dost臋pna jest spora liczba programowych zap贸r sieciowych: zar贸wno komercyjnych, jak i darmowych. Zapora sieciowa zainstalowana na bramie (serwerze, kt贸ry przesy艂a ruch pomi臋dzy r贸偶nymi sieciami) nosi nazw臋 zapory sieciowej na poziomie serwera lub sieci. Zapory sieciowe zainstalowane na komputerze u偶ytkownika nazywane s膮 osobistymi zaporami sieciowymi, poniewa偶 chroni膮 jedynie komputery, na kt贸rych dzia艂aj膮. Osobiste zapory sieciowe cz臋sto wchodz膮 w sk艂ad zintegrowanych system贸w bezpiecze艅stwa do ochrony komputer贸w osobistych. Przyk艂adem mo偶e by膰 osobista zapora sieciowa w produkcie Kaspersky Internet Security 7.0.


Rysunek 1. Zapora sieciowa w programie Kaspersky Internet Security 7.0

W celu spe艂nienia swojej g艂贸wnej funkcji, tj. kontroli aktywno艣ci sieciowej, zapory sieciowe wykorzystuj膮 listy regu艂, za pomoc膮 kt贸rych definiowana jest dozwolona oraz niedozwolona aktywno艣膰 sieciowa dla r贸偶nych aplikacji. Regu艂a mo偶e zawiera膰 wiele parametr贸w, takich jak kierunek transferu danych, protok贸艂 transferu danych (IP, TCP, UDP, ICMP itd.), adresy IP oraz porty lokalnych i zdalnych komputer贸w wymieniaj膮cych dane.

Pojedyncza regu艂a kontroli aktywno艣ci sieciowej mo偶e by膰 stosowana do wszystkich aplikacji w systemie. Wtedy nosi nazw臋 regu艂y pakietu.


Rysunek 2. Przyk艂ady regu艂 dla programu Microsoft Outlook w Kaspersky Internet Security 7.0

Zapory sieciowe posiadaj膮 dwa tryby: interaktywny (w kt贸rym u偶ytkownik jest pytany o akcj臋) oraz nieinteraktywny. W trybie nieinteraktywnym zapora sieciowa mo偶e:

  1. zezwoli膰 na wszelk膮 aktywno艣膰, kt贸ra nie jest zakazana przez regu艂y;
  2. blokowa膰 wszelk膮 aktywno艣膰, kt贸ra nie jest dozwolona przez regu艂y;
  3. blokowa膰 wszelk膮 aktywno艣膰 sieciow膮.

Podstawowym trybem dzia艂ania zapory sieciowej jest tryb interaktywny, nazywany r贸wnie偶 trybem uczenia. W trybie tym przy ka偶dym wykryciu aktywno艣ci sieciowej, kt贸ra nie zosta艂a uwzgl臋dniona w 偶adnej ze zdefiniowanych wcze艣niej regu艂, zapora sieciowa wy艣wietla okno dialogowe, kt贸re pyta u偶ytkownika, czy zezwoli膰 na tak膮 aktywno艣膰, zablokowa膰 j膮 jednorazowo, czy te偶 stworzy膰 regu艂臋 dla tego typu aktywno艣ci sieciowej.


Rysunek 3. Okno dialogowe wy艣wietlane przez zapor臋 sieciow膮 programu Kaspersky Internet Security 7.0 w trybie uczenia

Poniewa偶 komputer przeci臋tnego u偶ytkownika posiada kilkana艣cie aplikacji, kt贸re wykazuj膮 r贸偶ne rodzaje aktywno艣ci sieciowej podczas dzia艂ania, r臋czne tworzenie listy regu艂 uwzgl臋dniaj膮cych aktywno艣膰 sieciow膮 aplikacji jest z艂o偶onym i czasoch艂onnym zadaniem. Z tego powodu zapory sieciowe zawieraj膮 bazy predefiniowanych regu艂 dla znanych aplikacji sieciowych, takich jak Internet Explorer, Microsoft Outlook, Generic Host Process for Win32 Services (svchost.exe), Microsoft Application Error Reporting (dwwin.exe) oraz wiele innych.


Rysunek 4. Lista predefiniowanych regu艂 aplikacji dla zapory sieciowej programu Kaspersky Internet Security 7.0

Poni偶szy diagram pokazuje, w jaki spos贸b zapora sieciowa monitoruje dane wychodz膮ce i chroni przed wyciekiem danych:


Rysunek 5. Dzia艂anie zapory sieciowej

Zapora sieciowa stanowi "艣cian臋", kt贸ra odgradza aplikacje na komputerze u偶ytkownika od innych komputer贸w w lokalnej sieci oraz w Internecie. Dla znanych (zaufanych) aplikacji (zaznaczonych na rys. 5 kolorem zielonym) istniej膮 regu艂y zezwalaj膮ce ("luki" w "艣cianie") pozwalaj膮ce im transmitowa膰 dane poprzez zapor臋 sieciow膮 do 艣wiata na zewn膮trz. Gdy inna aplikacja b臋dzie pr贸bowa艂a nawi膮za膰 aktywno艣膰 sieciow膮, zostanie ona zablokowana ("uderzy w 艣cian臋"), w rezultacie aplikacja nie b臋dzie mog艂a transmitowa膰 danych do 艣wiata na zewn膮trz (lub otrzymywa膰 danych spoza zapory sieciowej). Jednak w ka偶dym momencie u偶ytkownik mo偶e stworzy膰 nowe regu艂y zezwole艅 (zrobi膰 nowe "luki" w "艣cianie"), aby umo偶liwi膰 aplikacji wymian臋 danych poprzez sie膰.

Nale偶y zauwa偶y膰, 偶e niekt贸re zapory sieciowe posiadaj膮 r贸wnie偶 komponent zapobiegania w艂amaniom, kt贸ry zapewnia ochron臋 przed atakami sieciowymi. Komponent ten skanuje wej艣ciowy i wyj艣ciowy ruch sieciowy w celu znalezienia pakiet贸w sieciowych, kt贸re odpowiadaj膮 znanym szablonom atak贸w sieciowych znajduj膮cym si臋 w bazie danych. W przysz艂o艣ci opublikujemy artyku艂 zawieraj膮cy szczeg贸艂ow膮 analiz臋 takich komponent贸w.

W jaki spos贸b zapory sieciowe mog膮 zwi臋kszy膰 bezpiecze艅stwo?

Zapory sieciowe zapewniaj膮 dodatkow膮 warstw臋 ochrony mog膮c膮 pom贸c zablokowa膰 szkodliwe programy, kt贸re nie s膮 wykrywane przez komponent antywirusowy zintegrowanego systemu bezpiecze艅stwa. Szkodliwy program mo偶e nie zosta膰 wykryty, je艣li nie zosta艂 dodany do antywirusowej bazy danych (dlatego nie mo偶e by膰 wykrywany za pomoc膮 tradycyjnych metod opartych na sygnaturach) oraz je艣li nie wykazuje wyra藕nie szkodliwego czy chocia偶by podejrzanego zachowania (dlatego komponent analizy zachowania r贸wnie偶 go nie wykryje).

Przed jakim typem szkodliwych program贸w chroni zapora sieciowa? Praktycznie przed ka偶dym szkodnikiem, kt贸ry znajduje si臋 aktualnie w obiegu. Chocia偶 brzmi to og贸lnikowo, jest to prawda: obecnie funkcje wi臋kszo艣ci szkodliwych program贸w wi膮偶a si臋 z aktywno艣ci膮 sieciow膮, przez co mog膮 zosta膰 zablokowane przez zapor臋 sieciow膮. Na przyk艂ad:

Robaki sieciowe rozprzestrzeniaj膮 w艂asne kopie za po艣rednictwem sieci lokalnych/Internetu.

Trojany, stanowi膮ce obecnie 91,4% wszystkich szkodliwych program贸w, r贸wnie偶 wymieniaj膮 dane za po艣rednictwem sieci. Programy troja艅skie obejmuj膮:

  1. Backdoory - narz臋dzia te tworzone s膮 w celu zapewnienia zdalnego zarz膮dzania komputerami w sieci. Backdoory s膮 kontrolowane zdalnie. Zapora sieciowa mo偶e 艂atwo zablokowa膰 wszystkie funkcje tych szkodnik贸w.
  2. Trojany PSW - programy te kradn膮 szereg r贸偶nych informacji z zainfekowanych komputer贸w. Po wykradzeniu informacji trojan musi jeszcze przes艂a膰 je cyberprzest臋pcy. W艂a艣nie na tym etapie zapora sieciowa mo偶e zablokowa膰 podejmowane przez program pr贸by wys艂ania danych, a tym samym ochroni膰 informacje u偶ytkownika.
  3. Trojany downloadery - programy te pobieraj膮 nowe wersje innych szkodnik贸w (trojan贸w oraz program贸w adware) i instaluj膮 je na atakowanej maszynie. Programy z tej klasy wymieniaj膮 dane za po艣rednictwem sieci, dlatego 艂atwo mog膮 zosta膰 zablokowane przez zapor臋 sieciow膮.
  4. Trojany proxy - programy te uzyskuj膮 anonimowy dost臋p do r贸偶nych zasob贸w internetowych bez wiedzy czy zgody u偶ytkownika. S膮 wykorzystywane g艂贸wnie do wysy艂ania spamu. Podobnie jak w przypadku trojan贸w downloader贸w, aktywno艣膰 sieciowa generowana przez trojany proxy mo偶e bez trudu zosta膰 zablokowana przez zapor臋 sieciow膮.
  5. Trojany szpieguj膮ce - jak sugeruje ich nazwa, programy te mog膮 by膰 wykorzystywane do szpiegowania u偶ytkownik贸w zainfekowanych komputer贸w. Dane, 艂膮cznie z informacjami wprowadzanymi z klawiatury, zrzutami ekran贸w, listami aktywnych aplikacji oraz czynno艣ciami u偶ytkownika dotycz膮cymi tych aplikacji, s膮 zapisywane w pliku na dysku twardym i regularnie wysy艂ane do cyberprzest臋pcy. Zapora sieciowa mo偶e zablokowa膰 pr贸by wys艂ania danych przez nieznany program. Dzi臋ki temu skradzione przez trojana dane u偶ytkownika nie dotr膮 do zdalnego szkodliwego u偶ytkownika.

Nale偶y zauwa偶y膰, 偶e zapory sieciowe nie mog膮 by膰 wykorzystywane do zwalczania klasycznych wirus贸w. Wynika to z tego, 偶e w przeciwie艅stwie do robak贸w, wirusy nie wykorzystuj膮 zasob贸w sieciowych w celu przenikni臋cia do innych komputer贸w i w przeciwie艅stwie do trojan贸w nie musz膮 wysy艂a膰 danych ani otrzymywa膰 polece艅.

Zapora sieciowa to system bezpiecze艅stwa, kt贸ry trudno obej艣膰. Chc膮c omin膮膰 ochron臋 antywirusow膮 oraz mechanizm blokowania zachowa艅, autorzy szkodliwych program贸w testuj膮 i modyfikuj膮 swoje twory tak d艂ugo, a偶 obydwa komponenty ochrony nie b臋d膮 w stanie wykry膰 szkodliwego kodu. Bardzo trudno obej艣膰 zapor臋 sieciow膮 przy pomocy tej metody. Je艣li program generuje pewien rodzaj aktywno艣ci sieciowej, nie jest 艂atwo ukry膰 j膮 przed zapor膮 sieciow膮. Jedynym sposobem jest wykorzystanie wyciek贸w.

Co to s膮 wycieki i testy wyciek贸w?

Wycieki to technologia obchodzenia mechanizm贸w zapory sieciowej s艂u偶膮cych do kontroli aktywno艣ci sieciowej, kt贸ra pozwala aplikacjom nieposiadaj膮cym regu艂 zezwole艅 na li艣cie regu艂 zapory sieciowej na wysy艂anie danych do odbiorc贸w spoza sieci. Zapora sieciowa nie zapobiega wysy艂aniu takich danych i nie informuje u偶ytkownika o takiej aktywno艣ci sieciowej w trybie uczenia.

Dobrze zaprojektowana zapora sieciowa nie powinna pozwoli膰 na 偶adne wycieki. Powinna potrafi膰 wykry膰 wszelk膮 pr贸b臋 wej艣ciowej i wyj艣ciowej aktywno艣ci sieciowej. Z tego powodu analizuj膮c jako艣膰 ochrony zapewnianej przez zapor臋 sieciow膮 stosuje si臋 dwa kryteria: jako艣膰 ochrony wej艣ciowej, tj. ochrony przed penetracj膮 z zewn膮trz sieci, oraz jako艣膰 ochrony wyj艣ciowej, tj. ochrony przed wyciekami danych wysy艂anych z komputera.

W testach jako艣ci ochrony, jak膮 zapora sieciowa zapewnia przed penetracj膮 z zewn膮trz, stosowane s膮 r贸偶ne otwarte skanery port贸w (np. ShieldsUP! http://www.grc.com/default.htm, Quick test http://www.pcflank.com/test.htm itp.).

Aby zbada膰, jak dobrze zapora sieciowa chroni przed wyciekami danych, wykorzystuje si臋 testy wyciek贸w. S膮 to niewielkie nieszkodliwe programy, kt贸re implementuj膮 jeden lub wi臋cej wyciek贸w. Programy te s膮 w wi臋kszo艣ci rozwijane przez ekspert贸w ds. bezpiecze艅stwa.

Naturalnie, jedynym sposobem spowodowania wycieku jest wykorzystanie istniej膮cych "luk" (tj. regu艂 zezwole艅) dla znanych aplikacji. Wymaga to jednak "przekonania" zapory sieciowej, 偶e aktywno艣膰 sieciowa zosta艂a zainicjowana przez zaufan膮 aplikacj臋. Mo偶na to osi膮gn膮膰 za pomoc膮 wielu metod. Zanim przejd臋 do om贸wienia tych metod, przyjrzyjmy si臋 podstawowym zasadom wykonywania aplikacji w dzisiejszych systemach operacyjnych.


Rysunek 6. Jak dzia艂a wyciek

Wykonywanie aplikacji we wsp贸艂czesnych systemach operacyjnych

Procesor komputera wykonuje listy instrukcji przechowywanych w pami臋ci RAM komputera. Listy instrukcji pogrupowane s膮 w w膮tki wykonania, kt贸re mo偶na przyporzadkowa膰 do proces贸w aktualnie uruchomionych w pami臋ci RAM.

Pliki wykonywalne zawieraj膮 listy instrukcji procesora. Uruchomienie pliku wykonywalnego prowadzi do pojawienia si臋 nowego procesu w systemie. Proces mo偶e zosta膰 stworzony r贸wnie偶 programowo, przez inny proces. System operacyjny przechowuje drzewo proces贸w w pami臋ci RAM.

Nale偶y zauwa偶y膰, 偶e przestrze艅 adresowa wi臋kszo艣ci proces贸w w systemie zawiera nie tylko kod pliku wykonywalnego aplikacji, ale r贸wnie偶 kod licznych bibliotek do艂膮czanych dynamicznie (DLL). Biblioteki te wykorzystywane s膮 do przechowywania pewnych wsp贸lnych funkcji u偶ywanych przez kilka aplikacji. Pozwala to programistom unikn膮膰 dublowania tego samego kodu programu w r贸偶nych plikach wykonywalnych. Ta sama biblioteka mo偶e zosta膰 za艂adowana do przestrzeni adresowej r贸偶nych proces贸w.


Rysunek 7. Wykonanie aplikacji

Klasyfikacja technologii wyciek贸w

Aran偶owanie wyciek贸w

W sekcji tej zbadano technologie, kt贸re szkodliwa aplikacja mo偶e wykorzysta膰 do "oszukania" zapory sieciowej. Rysunek 8 ilustruje podstawow膮 koncepcj臋 - w pami臋ci RAM znajduj膮 si臋 znane zaporze sieciowej procesy zaufanych aplikacji oraz proces nieznanej (szkodliwej) aplikacji.


Rysunek 8. Aran偶owanie wycieku

Je偶eli nieznana aplikacja podejmie pr贸b臋 zainicjowania aktywno艣ci sieciowej, zapora sieciowa zablokuje j膮 lub spowoduje wy艣wietlenie okna dialogowego, w kt贸rym u偶ytkownik zostanie zapytany, jaka akcja powinna zosta膰 podj臋ta.

Wyr贸偶niamy 3 g艂贸wne podej艣cia do obchodzenia ochrony zapewnianej przez zapor臋 sieciow膮:

  1. Oszukiwanie zapory sieciowej, tj. "przekonanie" jej, 偶e aktywno艣膰 sieciowa jest inicjowana przez zaufan膮 aplikacj臋. Mo偶na tego dokona膰, podstawiaj膮c plik wykonywalny zaufanej aplikacji na dysku twardym lub zast臋puj膮c dane nieznanego procesu danymi zaufanego procesu w pami臋ci RAM.
  2. Wykonanie kodu "w imieniu" zaufanej aplikacji przez wstrzykni臋cie biblioteki DLL lub niewielkiego fragmentu kodu nieznanej aplikacji do przestrzeni adresowej zaufanej aplikacji. Zapora sieciowa nie b臋dzie mog艂a odr贸偶ni膰 aktywno艣ci sieciowej takich wstrzykni臋tych element贸w od normalnej aktywno艣ci sieciowej zaufanej aplikacji.
  3. Wykorzystanie udokumentowanych interfejs贸w zaufanych aplikacji. Podczas wykorzystywania takich interfejs贸w aktywno艣膰 sieciowa b臋dzie inicjowana przez zaufane aplikacje. B臋dzie jednak kontrolowana przez niezaufan膮 aplikacj臋, pozwalaj膮c jej na transmitowanie danych za po艣rednictwem interfejs贸w do odbiorc贸w spoza sieci bez wywo艂ywania alarm贸w zapory sieciowej.

Wyr贸偶niamy sze艣膰 technologii wyciek贸w, kt贸re wykorzystuj膮 trzy opisane wy偶ej podej艣cia:

Lp. Podej艣cie 1 (oszukiwanie) Podej艣cie 2 (wykonanie kodu w imieniu zaufanej aplikacji) Podej艣cie 3 (wykorzystywanie udokumentowanych interfejs贸w)
1 Zast臋powanie    
2   Uruchamianie  
3   Wstrzykiwanie biblioteki DLL  
4   Wstrzykiwanie kodu  
5     Us艂ugi przegl膮darki
6     Us艂ugi systemowe

Poni偶ej znajduje si臋 szczeg贸艂owy opis tych technologii oraz ich potencjalne implementacje.

Technologie wyciek贸w

Zast臋powanie

Podstawianie pliku wykonywalnego zaufanej aplikacji na dysku twardym lub zast臋powanie danych nieznanego procesu danymi zaufanego procesu w pami臋ci RAM. Metoda ta opiera si臋 na "przekonywaniu" zapory sieciowej, 偶e aktywno艣膰 sieciowa zosta艂a zainicjowana przez zaufany proces.

S膮 trzy metody zast臋powania:

  1. podstawianie pliku wykonywalnego zaufanej aplikacji na dysku twardym (zaimplementowana w te艣cie wyciek贸w Runner, zobacz sekcj臋 Testy wyciek贸w);
  2. zast臋powanie nazwy pliku nieznanej aplikacji nazw膮 pliku zaufanej aplikacji (Test wycieku);
  3. zast臋powanie danych nieznanego procesu danymi zaufanego procesu w obrazie procesu 艂adowanym w pami臋ci RAM (Coat).

Poni偶szy diagram ilustruje pierwszy typ zast臋powania:


Rys. 9. Podstawianie pliku zaufanego procesu na dysku twardym

Uruchamianie

Uruchamianie zaufanej aplikacji z parametrami wiersza polece艅. Metoda ta wykorzystuje fakt, 偶e wi臋kszo艣膰 przegl膮darek akceptuje adres strony internetowej, kt贸ra ma zosta膰 otwarta, w postaci parametru wiersza polece艅. Je艣li strona internetowa zawiera skrypt po stronie serwera (np. cgi), linia adresowa mo偶e zawiera膰 r贸wnie偶 parametry, kt贸re b臋d膮 wykorzystywane przez skrypt jako dane wej艣ciowe. Parametry te mog膮 zawiera膰 poufne informacje, np. dane skradzione przez oprogramowanie spyware. Istotne jest to, 偶e ca艂a aktywno艣膰 sieciowa jest generowana przez przegl膮dark臋 tak samo jak zwykle, dlatego regu艂y zapory sieciowej zawsze zezwol膮 na ni膮.

Aby uniemo偶liwi膰 u偶ytkownikowi zobaczenie okna przegl膮darki, jest ona zwykle uruchamiana w trybie ukrycia. (Ghost, TooLeaky, Wallbreaker [1]).

Zamiast bezposredniego uruchomienia szkodliwy kod mo偶e r贸wnie偶 uruchomi膰 przegl膮dark臋 przy u偶yciu innego procesu. Na przyk艂ad:

  1. uruchomi膰 przegl膮dark臋 przy u偶yciu procesu pow艂oki Windows Explorer.exe (Wallbreaker [2]);
  2. uruchomi膰 przegl膮dark臋 przy u偶yciu procesu pow艂oki Windows Explorer.exe, kt贸ry sam jest uruchamiany przy u偶yciu interpretera polece艅 cmd.exe (Wallbreaker [3]);
  3. uruchomi膰 przegl膮dark臋 przy u偶yciu mechanizmu planowania zada艅 systemu Windows (Wallbreaker[4]). W tym przypadku proces zostanie uruchomiony w nast臋puj膮cej sekwencji: AT.exe -> Svchost.exe-> Cmd.exe->Explorer.exe-> IExplore.exe.

Metoda ta zosta艂a przedstawiona poni偶ej:


Rysunek 10. Uruchamianie zaufanej aplikacji z parametrami wiersza polece艅

Wstrzykiwanie biblioteki DLL

Wstrzykiwanie biblioteki do艂膮czanej dynamicznie do przestrzeni adresowej zaufanego procesu. Metoda ta 艂aduje bibliotek臋 do艂膮czan膮 dynamicznie szkodliwego programu do przestrzeni adresowej zaufanego procesu. Mo偶na to wykona膰 na kilka sposob贸w, jednak g艂贸wne metody to:

  1. zainstalowanie globalnego punktu zaczepienia. Jego kod jest zlokalizowany w bibliotece do艂膮czanej dynamicznie (CPILSuite [2,3], FireHole, pcAudit, pcAudit2);
  2. zmodyfikowanie warto艣ci rejestru systemowego w celu dodania biblioteki do艂膮czanej dynamicznie do listy bibliotek DLL, kt贸re s膮 automatycznie 艂adowane przez system do ka偶dego nowego procesu - klucz AppInit_DLLs (Jumper).

Obie metody s膮 udokumentowane i wykorzystywane do legalnych cel贸w.

Metoda ta zosta艂a przedstawiona poni偶ej:


Rysunek 11. Wstrzykiwanie biblioteki do艂膮czanej dynamicznie do zaufanego procesu

Wstrzykiwanie kodu

Wstrzykiwanie kodu do przestrzeni adresowej zaufanego procesu bez wykorzystania biblioteki do艂膮czanej dynamicznie. Metoda ta polega na wstrzykiwaniu kodu wykonywalnego do przestrzeni adresowej zaufanego procesu. Po wstrzykni臋ciu kod ten mo偶e inicjowa膰 ka偶d膮 aktywno艣膰 sieciow膮, poniewa偶 zapora sieciowa uzna j膮 za aktywno艣膰 zaufanej aplikacji. W przeciwie艅stwie do metody wstrzykiwania DLL, legalno艣膰 tej operacji jest w膮tpliwa, mimo 偶e istniej膮 udokumentowane metody wstrzykiwania kodu do proces贸w innych aplikacji. Takie wstrzykiwanie kodu jest czasami wykorzystywane przez legalne programy (np. debuggery), jednak w g艂贸wnej mierze przez szkodliwe oprogramowanie.

Istnieje kilka metod wstrzykiwania kodu do proces贸w innych aplikacji. Poni偶ej przedstawiono kilka przyk艂ad贸w:

  1. 艂adowanie zaufanego procesu do pami臋ci RAM oraz 艂atanie pami臋ci procesu (AWFT [1], CPIL, DNStest). Mo偶e to by膰 poprzedzone pr贸b膮 unikni臋cia wykrycia tej operacji przez zapor臋 sieciow膮 poprzez wy艂膮czenie punkt贸w zaczepienia zapory sieciowej (CPILSuite[1]);
  2. lokalizowanie zaufanego procesu w pami臋ci RAM oraz wstrzykiwanie do niego kodu (Thermite);
  3. 艂adowanie zaufanego procesu do pami臋ci RAM i tworzenie w nim zdalnego w膮tku (AWFT [2,3]);
  4. 艂adowanie zaufanego procesu do pami臋ci RAM, tworzenie w nim zdalnego w膮tku, 艂adowanie kolejnego zaufanego procesu z tego w膮tku i 艂atanie jego pami臋ci przed wykonaniem (AWFT [4,5,6]);
  5. wykorzystywanie funkcji SetThreadContext w celu przej臋cia kontroli nad w膮tkiem w zaufanym procesie (CopyCat).

Najcz臋艣ciej atakowanymi procesami s膮 procesy przegl膮darek internetowych (Internet Explorer itd. - AWFT [1,2,4], testy CopyCat oraz Thermite), pow艂oki systemu operacyjnego (explorer.exe - AWFT [3,4], CPIL oraz CPILSuite [1]) oraz proces svchost.exe, kt贸ry jest g艂贸wnym procesem us艂ug systemu Windows 艂adowanych z bibliotek kompilowanych dynamicznie (test DNStest).

Metoda ta zosta艂a pokazana na poni偶szym schemacie:


Rysunek 12. Wstrzykiwanie szkodliwego kodu do zaufanego procesu

Us艂ugi przegl膮darki

Wykorzystywanie interfejs贸w programowych do kontrolowania przegl膮darki internetowej. Metoda ta wykorzystuje r贸偶ne mechanizmy w systemie Windows przeznaczone do poprawy interakcji mi臋dzy procesami r贸偶nych komponent贸w/aplikacji. Mechanizmy te obejmuj膮:

  1. wysy艂anie wiadomo艣ci systemu Windows do okna przegl膮darki internetowej. Powoduje to zmian臋 warto艣ci w linii adresowej przegl膮darki, a wci艣ni臋cie przycisku "Go" przekierowuje przegl膮dark臋 do podanego adresu (Breakout);
  2. wykorzystywanie interfejsu DDE przegl膮darki, tj. mechanizmu Dynamicznej Wymiany Danych http://pl.wikipedia.org/wiki/Dynamic_Data_Exchange). Biblioteka DDE zosta艂a rozwini臋ta w celu rozszerzenia mo偶liwo艣ci systemu wiadomo艣ci Windows, pozwalaj膮c dw贸m aplikacjom na dynamiczn膮 wymian臋 danych podczas wykonywania (obs艂uga DDE w r贸偶nych wersjach Internet Explorera zosta艂a opisana w artykule dost臋pnym na stronie http://support.microsoft.com/kb/q160957) (Surfer, ZAbypass, WB [1,3,4]; CPILSuite [3]);
  3. wykorzystywanie przegl膮darki jako serwera automatyzacji (mechanizm automatyzacji OLE oparty na modelu COM (http://pl.wikipedia.org/wiki/Object_Linking_and_Embedding). Automatyzacja OLE jest rozszerzeniem technologii DDE. Ka偶da wsp贸艂czesna przegl膮darka zapewnia interfejs COM (http://pl.wikipedia.org/wiki/Component_Object_Model), kt贸ry mo偶e zosta膰 wykorzystany przez inne programy jako serwer automatyzacji. Istniej膮 dwa komponenty COM przegl膮darki Microsoft Internet Explorer w aplikacjach zewn臋trznych (http://msdn2.microsoft.com/en-us/library/aa741313.aspx):
    1. WebBrowser Control, zaimplementowany w shdocvw.dll (OSfwbypass),
    2. interfejs MSHTML zaimplementowany w mshtml.dll (PCFlank).

      Metoda ta zosta艂a pokazana na poni偶szym schemacie:


      Rysunek 13. Wykorzystanie interfejs贸w program贸w do kontrolowania przegl膮darki

      Us艂ugi systemowe

      Wykorzystywanie interfejs贸w programowych zapewnianych przez us艂ugi systemowe. Metoda ta jest podobna do metody opisanej wy偶ej. R贸偶nica polega na tym, 偶e wykorzystywane interfejsy programowe s膮 zapewniane przez komponenty systemu operacyjnego a nie przegl膮dark臋 internetow膮. Windows XP oraz Windows Vista posiadaj膮 przynajmniej trzy takie interfejsy:

      1. BITS (Background Intelligent Transfer Service, http://msdn2.microsoft.com/en-us/library/Aa362827.aspx) - jest to inteligentna us艂uga pobierania plik贸w wykorzystywana przez Windows Update oraz Windows Server Update Services. Pozwala ona na pobieranie 艂at i aktualizacji w tle, bez przeci膮偶ania kana艂贸w komunikacji. Ponadto automatycznie wznawia pobieranie w przypadku utraty po艂膮czenia (BITSTester);
      2. Funkcje Windows DNS API (http://msdn2.microsoft.com/en-us/library/ms682100.aspx) mog膮 zosta膰 wykorzystane do tworzenia rekursywnych zapyta艅 DNS do internetowego serwera nazw. Dodatkowe dane, 艂膮cznie z poufnymi danymi u偶ytkownika, mog膮 zosta膰 wys艂ane w ramach pakietu DNS. Cyberprzest臋pca kontroluj膮cy serwer nazw, kt贸ry przetwarza zapytania DNS, mo偶e uzyska膰 te informacje poprzez przetwarzanie tego specjalnie stworzonego pakietu DNS (DNStester);
      3. Po aktywacji Windows Active Desktop interfejs zarz膮dzania elementami i tapet膮 pulpitu Windows (IActiveDesktop, http://msdn2.microsoft.com/en-us/library/ms647199.aspx) mo偶e zosta膰 wykorzystany do ustawienia strony HTML jako tapety pulpitu. Strona HTML mo偶e zawiera膰 elementy, kt贸re 艂膮cz膮 si臋 z zewn臋trznymi zasobami, w wyniku czego zasoby te s膮 艂adowanie w momencie aktywowania nowej tapety pulpitu (Breakout2).

      R贸偶nice w istniej膮cych klasyfikacjach wyciek贸w

      Powy偶sza klasyfikacja nieznacznie r贸偶ni si臋 od klasyfikacji technologii wyciek贸w podawanych na specjalistycznych stronach internetowych po艣wi臋conych analizie wyciek贸w.

      Zgodnie z nasz膮 wiedz膮, pierwsz膮 stron膮 internetow膮, na kt贸rej publikowano systematyczne badania wyciek贸w, by艂a http://www.firewallleaktester.com. Klasyfikacja ta dost臋pna jest na stronie http://www.firewallleaktester.com/categories.htm.

      W 2006 roku pojawi艂a si臋 inna strona, http://www.matousec.com. Jednym z wa偶niejszych projekt贸w jest Windows Personal Firewall Analysis (Analiza osobistej zapory sieciowej systemu Windows) (http://www.matousec.com/projects/windows-personal-firewall-analysis/introduction-firewall-leak-testing.php). Klasyfikacja wyciek贸w wykorzystana w tym badaniu jest podobna do tej, kt贸ra znajduje si臋 na stronie http://www.firewallleaktester.com, s膮 jednak pewne r贸偶nice.

      R贸偶nice mi臋dzy klasyfikacjami opisano poni偶ej. Klasyfikacja wykorzystana w tym artykule nie zawiera nast臋puj膮cych metod:

      Lp. Metoda na stronie www.firewallleaktester.com Metoda na stronie www.matousec.com
      1 Ukryte regu艂y
      (Hidden rules)
      Domy艣lne regu艂y
      (Default Rules)
      2 Bezpo艣rednie wykorzystanie interfejsu sieciowego
      (Direct network interface use)
      W艂asny sterownik protoko艂u
      (Own Protocol Driver)
      3 Atak czasowy
      (Timing attack)
       
      4 Rekursywne zapytania
      (Recursive requests)
      5 Wstrzykiwanie do rejestru
      (Registry injection)
       
      6 Po艂膮czenie metod Windows Messaging + OLE Windows Messages oraz OLE Automation, DDE
      7   Unhooking

      Metody te nie zosta艂y uwzgl臋dnione w naszej klasyfikacji z nast臋puj膮cych powod贸w:

      1. Metoda "Ukryte regu艂y" nie jest sama w sobie wyciekiem (zobacz definicj臋 wycieku powy偶ej), poniewa偶 nie implementuje 偶adnej technologii, kt贸ra obchodzi mechanizm kontrolowania aktywno艣ci sieciowej w zaporze sieciowej. Metaoda ta sprawdza zestaw regu艂 pakietowych (odnosz膮cych si臋 do wszystkich aplikacji w systemie) wykorzystywany dom艣lnie przez zapor臋 sieciow膮. Je艣li jeden z port贸w sieciowych jest otwarty dla wszystkich aplikacji, mo偶e zosta膰 wykorzystany przez szkodliw膮 aplikacj臋 do wysy艂ania danych do odbiorc贸w spoza sieci.
      2. Metoda "Bezpo艣rednie wykorzystywanie interfejsu sieciowego" obchodzi mechanizmy filtrowania ruchu sieciowego na "niskim" poziomie. Metoda ta tworzy alternatywny stos sterownik贸w sieciowych, kt贸re przetwarzaj膮 pakiety pochodz膮ce z karty sieciowej r贸wnolegle do stos贸w systemowych (TCP/IP itd.). Metoda ta nie zosta艂a uwzgl臋dniona w naszej klasyfikacji, poniewa偶 nie istniej膮 obecnie 偶adne implementacje (testy wyciek贸w) dzia艂aj膮ce pod kontrol膮 wsp贸艂czesnych system贸w operacyjnych, tj. Windows XP/Vista. Ponadto, jest wysoce nieprawdopodobne, 偶e w przysz艂o艣ci pojawi膮 si臋 nowe testy wyciek贸w (lub szkodliwe programy) wykorzystuj膮ce t臋 metod臋, poniewa偶 jest ona znacznie bardziej z艂o偶ona ni偶 inne metody, za pomoc膮 kt贸rych mo偶na przeprowadzeni膰 ataki-wycieki. Metoda ta jest jednak wykorzystywana w trzech testach wyciek贸w, kt贸re dzia艂aj膮 na przestarza艂ym ju偶 systemie Windows 9x:
        • MbTest (autor: "mbcx8nlp", 2003), wykorzystuje bibliotek臋 Winpcap,
        • Outbound (autor: HackBusters, 2001),
        • YALTA [2] (autor: Soft4ever, 2001).
      3. Metoda "Atak czasowy" nie zosta艂a skategoryzowna jako oddzielna metoda w naszej klasyfikacji. Wynika to z tego, 偶e obecnie praktycznie 偶adna zapora sieciowa nie mo偶e zosta膰 omini臋ta przy u偶yciu technologii, na kt贸rej jest oparta (restartowanie w艂asnego procesu w celu zmiany PID, tj. identyfikatora procesu).
      4. W naszej klasyfikacji metoda "Rekursywne zapytania" nale偶y do grupy Us艂ugi systemowe.
      5. W naszej klasyfikacji metoda "Wstrzykiwanie do rejestru" zosta艂a skategoryzowana jako wariant metody wstrzykiwanie DLL, poniewa偶 jej istota nie polega na modyfikowaniu rejestru, ale na wstrzykiwaniu biblioteki do艂膮czanej dynamicznie do zaufanych proces贸w. Mo偶na tego dokona膰 mi臋dzy innymi poprzez wykorzystanie specjalnego klucza rejestru.
      6. W naszej klasyfikacji metody zgrupowane w kategorii "Windows Messaging + OLE" zosta艂y umieszczone w grupach Us艂ugi przegl膮darki oraz Us艂ugi systemowe. Uwa偶amy, ze jest to bardziej logiczne, poniewa偶 zamiast opisywania implementacji technicznej (wysy艂anie wiadomo艣ci itd.) odzwierciedla ona istot臋 technologii wycieku na wy偶szym poziomie - wykorzystywanie interfejs贸w programu do kontrolowania przegl膮darki lub wykorzystywanie us艂ug sieciowych systemu operacyjnego.
      7. Unhooking. Metoda ta opiera si臋 na nast臋puj膮cej koncepcji: aby zapewni膰 ochron臋 przed niekt贸rymi technologiami wyciek贸w, zapory sieciowe wykorzystuj膮 tzw. punkty zaczepienia w celu przechwytywania funkcji systemowych. Je艣li s膮 one wy艂膮czone (ang. "unhooked"), zapora sieciowa nie b臋dzie mog艂a zwalcza膰 wyciek贸w. Z opisu tego wyra藕nie wynika, 偶e metoda ta jako taka nie jest wyciekiem, dlatego nie jest zawarta w naszej klasyfikacji wyciek贸w. Jednak w po艂膮czeniu z "prawdziw膮" metod膮 wyciek贸w pomaga zweryfikowa膰, jak skutecznie zapora sieciowa chroni przed tak膮 metod膮 wyciek贸w w trudnych warunkach, poprzez symulowanie sytuacji, w kt贸rej szkodliwy kod aktywnie blokuje funkcjonalno艣膰 zapory sieciowej.

      Wykorzystanie wyciek贸w w szkodliwych programach

      Jeszcze kilka lat temu rzadko wykorzystywano zapory sieciowe do ochrony komputer贸w osobistych. Z tego powodu tylko niewielka liczba szkodliwych program贸w wykorzystywa艂a wycieki do obej艣cia zapory sieciowej. Ostatnio jednak tw贸rcy wirus贸w zacz臋li stosowa膰 narz臋dzia automatyzacji, aby szybciej tworzy膰 nowe wariant贸w swoich szkodnik贸w. W rezultacie wzros艂o znaczenie narz臋dzi zapewniaj膮cych dodatkowe bezpiecze艅stwo komputerom osobistym, w szczeg贸lno艣ci zwi臋kszy艂a si臋 popularno艣膰 zapory sieciowej.

      Poniewa偶 zapory sieciowe staj膮 si臋 coraz bardziej rozpowszechnione, tw贸rcy szkodliwego oprogramowania aktywniej wykorzystuj膮 teraz wycieki w celu obej艣cia zapory sieciowej. Poni偶sza tabela zawiera przyk艂ady istniej膮cych szkodliwych program贸w wykorzystuj膮cych wszystkie 6 g艂贸wnych metod wyciek贸w.

      Lp. Metoda Szkodliwy program Data wykrycia Opis
      1 Zast臋powanie Backdoor.Win32.Bifrose.aer 26 marca, 2007 Zast臋puje MSN Messenger (C:Program FilesMSN Messengermsnmsgr.exe) w艂asn膮 kopi膮
      2 Uruchamianie poprzez parametry wiersza polece艅 Trojan-Spy.Win32.Agent.se 26 lipca, 2007 Uruchamia Internet Explorer w ukrytym oknie ze 艣cie偶k膮 do pliku HTML w wierszu polece艅
      3 Wstrzykiwanie DLL Trojan-Spy.Win32.Goldun.pq 11 czerwca, 2007 Rejestruje DLL w kluczu rejestru AppInit_DLLs i wykorzystuje go do przechwytywania ruchu internetowego
      4 Wstrzykiwanie kodu do zaufanego procesu Trojan-Spy.Win32.Delf.uc 19 stycznia, 2007 Tworzy w膮tek w procesie winlogon.exe i wykorzystuje go do wysy艂ania danych do Internetu
      5 Us艂ugi przegl膮darki Trojan-PSW.Win32.LdPinch.bix 4 stycznia, 2007 Wykorzystuje interfejs IWebBrowser2 COM do wysy艂ania przechwyconych danych
      6 Us艂ugi systemowe Trojan-Downloader.Win32.Nurech.br 8 czerwca, 2007 Wykorzystuje us艂ug臋 systemow膮 BITS do wysy艂ania poprzez Internet danych identyfikacji u偶ytkownika (numer seryjny dysku)

      Nale偶y zauwa偶y膰, 偶e r贸偶ne rodzaje wyciek贸w odpowiadaj膮 r贸偶nym zastosowaniom i mog膮 by膰 wykorzystywane w szkodliwych programach do r贸偶nych cel贸w. W szczeg贸lno艣ci:

      1. Za pomoc膮 parametr贸w wiersza polece艅 mo偶na wys艂a膰 ograniczony zestaw danych, natomiast szkodliwy program mo偶e wykorzysta膰 technologi臋 BITS do umieszczenia bardzo du偶ych plik贸w z komputera u偶ytkownika.
      2. Metody oparte na wstrzykiwaniu DLL lub kodu do zaufanych proces贸w stosowane s膮 r贸wnie偶 do cel贸w innych ni偶 obchodzenie zap贸r sieciowych, poniewa偶 mog膮 zosta膰 wykorzystane nie tylko do wysy艂ania danych w imieniu zaufanego procesu bez wiedzy u偶ytkownika, ale r贸wnie偶 do wykonywania szeregu innych operacji.
      3. Interfejsy kontroli przegl膮darki (np. WebBrowser control) mog膮 by膰 wykorzystywane nie tylko do wysy艂ania danych w imieniu przegl膮darki Internet Explorer, ale r贸wnie偶 do kontrolowania uruchomionej kopii przegl膮darki (np. zamyka膰 wszystkie okna, w kt贸rych adres strony nie spe艂nia pewnych warunk贸w), modyfikowa膰 dokument za艂adowany w przegl膮darce, wy艣wietla膰 okna komunikat贸w w przegl膮darce itd.

      Testy wyciek贸w

      Poni偶sza tabela zawiera stosowane obecnie testy wyciek贸w oraz metody wyciek贸w, kt贸re s膮 przez nie testowane. Wi臋kszo艣膰 z wymienionych test贸w mo偶na pobra膰 ze strony http://www.matousec.com/projects/windows-personal-firewall-analysis/introduction-firewall-leak-testing.php lub http://www.firewallleaktester.com.

      Lp. Nazwa Autor Metoda Rok
      1 AWFT [6] Jos Pascoa Wstrzykiwanie kodu 2005
      2 BITSTester Tim Fish Us艂ugi systemowe 2006
      3 Breakout Volker Birk Us艂ugi przegl膮darki Brak danych
      4 Breakout2 Volker Birk Us艂ugi systemowe Brak danych
      5 Coat David Matousec Zast臋powanie 2006
      6 CopyCat «Bugsbunny» Wstrzykiwanie kodu Brak danych
      7 CPIL Comodo Wstrzykiwanie kodu 2006
      8.1 CPILSuite [1] Comodo Wstrzykiwanie kodu + Uruchamianie 2006
      8.2 CPILSuite [2] Comodo Wstrzykiwanie biblioteki DLL + Uruchamianie 2006
      8.3 CPILSuite [3] Comodo Wstrzykiwanie biblioteki DLL + Us艂ugi przegl膮darki 2006
      9 DNStest Jarkko Turkulainen Wstrzykiwanie kodu 2004
      10 DNStest Jarkko Turkulainen Us艂ugi systemowe 2004
      11 FireHole Robin Keir Wstrzykiwanie biblioteki DLL 2002
      12 FPR (38) David Matousec [unhooking] Brak danych
      13 Ghost Guillaume Kaddouch Uruchamianie Brak danych
      14 Jumper Guillaume Kaddouch Wstrzykiwanie biblioteki DLL 2006
      15 LeakTest Steve Gibson Uruchamianie 2002
      16 OSfwbypass Debasis Mohanty Us艂ugi przegl膮darki 2005
      17 pcAudit Internet Security Alliance Wstrzykiwanie biblioteki DLL 2002
      18 pcAudit2 Internet Security Alliance Wstrzykiwanie biblioteki DLL Brak danych
      19 PCFlank www.pcflank.com Us艂ugi przegl膮darki 2006
      20 Runner David Matousec Zast臋powanie 2006
      21 Surfer Jarkko Turkulainen Us艂ugi przegl膮darki 2004
      22 Thermite Oliver Lavery Wstrzykiwanie kodu 2003
      23 TooLeaky Bob Sundling Uruchamianie 2001
      24 Wallbreaker [4] Guillaume Kaddouch Uruchamianie 2004
      25 YALTA Soft4ever [Regu艂y domy艣lne] 2001
      26 ZAbypass Debasis Mohanty Us艂ugi przegl膮darki 2005

      W poni偶szej tabeli skategoryzowali艣my testy wyciek贸w zgodnie z nasz膮 klasyfikacj膮:

      Lp. Technologia Testy wyciek贸w
      1 Zast臋powanie Coat, LeakTest, Runner
      2 Uruchamianie Ghost, TooLeaky, Wallbreaker
      3 Wstrzykiwanie biblioteki DLL CPILSuite [2, 3], FireHole, Jumper, pcAudit, pcAudit2
      4 Wstrzykiwanie kodu AWFT, CopyCat, CPIL, CPILSuite [1], DNStest, Thermite
      5 Us艂ugi przegl膮darki Breakout, OSfwbypass, PCFlank, Surfer, ZAbypass
      6 Us艂ugi systemowe BITSTester, Breakout2, DNStester

      Znaczenie wynik贸w test贸w wyciek贸w

      Co daj膮 testy por贸wnawcze zap贸r sieciowych wykorzystuj膮ce testy wyciek贸w? Testy te przede wszystkim pomagaj膮 w ocenie jako艣ci ochrony, a ich wyniki mog膮 u艂atwi膰 wyb贸r zintegrowanego systemu ochrony komputera.

      Wybieraj膮c ochron臋, u偶ytkownicy cz臋sto skupiaj膮 si臋 wy艂膮cznie na takich w艂a艣ciwo艣ciach jak wsp贸艂czynniki wykrywania i szybko艣膰 reakcji na nowe zagro偶enia (np. opieraj膮c si臋 na wynikach test贸w, takich jak te podawane na stronie http://www.av-comparatives.org oraz http://www.av-test.de). Jednak parametry te nie okre艣laj膮 w pe艂ni jako艣ci ochrony. R贸wnie wa偶ne s膮 takie cechy produktu, jak jako艣膰 komponentu proaktywnego w rozwi膮zaniu antywirusowym, skuteczno艣膰 leczenia zainfekowanych komputer贸w, zdolno艣膰 zwalczania aktywnych rootkit贸w oraz jako艣膰 autoochrony. Niestety autorzy test贸w por贸wnawczych nie przywi膮zuj膮 do nich wystarczaj膮cej wagi. Podczas wyboru zintegrowanego produktu ochrony nale偶y uwzgl臋dni膰 dodatkowe komponenty, takie jak system ochrony antyspamowej oraz zapora sieciowa.

      Jak ju偶 wcze艣niej pisa艂em, podczas oceny jako艣ci ochrony zapewnianej przez zapor臋 sieciow膮, nale偶y uwzgl臋dni膰 dwa kryteria: kontrol臋 danych wej艣ciowych i kontrol臋 danych wyj艣ciowych. Dobre wyniki w testach kontroli danych wyj艣ciowych oznaczaj膮, 偶e zapora sieciowa nie jest jedynie dodatkiem w produkcie antywirusowym, ale zapewnia dodatkow膮 warstw臋 ochrony, kt贸ra mo偶e zapobiec wys艂aniu poufnych danych u偶ytkownika do cyberprzest臋pc贸w, nawet gdy komponenty antywirusowe nie zdo艂a艂y zablokowa膰 trojana.

      Uwa偶amy, 偶e produkty, kt贸re otrzyma艂y "Bardzo dobr膮" lub "Znakomit膮" ocen臋 w testach wyciek贸w przeprowadzonych przez http://www.matousec.com/projects/windows-personal-firewall-analysis/leak-tests-results.php zapewniaj膮 u偶ytkownikom wystarczaj膮c膮 ochron臋. Je艣li ochrona zosta艂a oceniona jako "Dobra" czy te偶 "S艂aba" lub "Bardzo s艂aba", oznacza to, 偶e tw贸rcy szkodliwego oprogramowania b臋d膮 w stanie obej艣膰 zapor臋 sieciow膮 produktu przy u偶yciu praktycznie ka偶dej metody.

      Wnioski

      Obecnie zapora sieciowa stanowi niezb臋dny komponent zintegrowanych system贸w bezpiecze艅stwa IT. Nawet najnowsze systemy operacyjne, takie jak Windows Vista, nie s膮 w stanie same zablokowa膰 wszystkich wyciek贸w (chocia偶 pocz膮wszy od wersji Windows XP SP2 Windows zawiera zapor臋 sieciow膮, jej funkcjonalno艣膰 zosta艂a znacznie rozszerzona w Vi艣cie).

      Wed艂ug wynik贸w testu przeprowadzonego w marcu przez Guillaume Kaddouch (http://www.firewallleaktester.com/articles/vista_and_leaktests.html), Windows Vista Ultimate 64-bit z domy艣lnymi ustawieniami zablokowa艂 tylko 9 test贸w wyciek贸w (zablokowane testy wyciek贸w zosta艂y zaznaczone w tabeli wynik贸w kolorem zielonym).

      Lp. Uwagi
      1 Zast臋powanie Coat, LeakTest, Runner
      2 Uruchamianie Ghost, TooLeaky, Wallbreaker
      3 Wstrzykiwanie biblioteki DLL CPILSuite [2, 3], FireHole, Jumper, pcAudit, pcAudit2
      4 Wstrzykiwanie kodu AWFT, CopyCat, CPIL, CPILSuite [1], DNStest, Thermite
      5 Us艂ugi przegl膮darki Breakout, OSfwbypass, PCFlank, Surfer, ZAbypass
      6 Us艂ugi systemowe BITSTester, Breakout2, DNStester

      Najnowsza wersja systemu Windows posiada wyra藕nie lepsze zabezpieczenia ni偶 poprzednie dzi臋ki licznym usprawnieniom, takim jak UAC, IE protected mode, Service hardening oraz Kernel Patch Protection (Vista x64). Jednak nawet Windows Vista wymaga zainstalowania program贸w bezpiecze艅stwa od innych producent贸w, aby zapewni膰 niezb臋dny poziom ochrony przed wyciekami.

      W przysz艂o艣ci szkodliwe programy b臋d膮 implementowa艂y nowe metody w celu obej艣cia zar贸wno istniej膮cych mechanizm贸w ochrony, jak i tych zawartych w nowym systemie operacyjnym. Z tego powodu wzro艣nie znaczenie zapory sieciowej jako dodatkowego poziomu ochrony. W celu obej艣cia zap贸r sieciowych tw贸rcy szkodliwego oprogramowania b臋d膮 w coraz wi臋kszym stopniu wykorzystywa膰 technologie wyciek贸w. To oznacza, 偶e testy wyciek贸w stan膮 si臋 kluczow膮 metod膮 testowania niezawodno艣ci ochrony komputera.

      殴r贸d艂o:
      Kaspersky Lab