background image

34

 

HAKIN9

ATAK

4/2009

D

zisiejszy artykuł będzie poświęcony 
bardzo rozległej tematyce bezpieczeństwa 
informacji. W pierwszej kolejności nawiążę 

do wydania grudniowego, w którym bardzo 
dokładnie opisywałem techniki socjotechniczne, a 
później – przytaczając kilka przykładów – opiszę 
ataki typu phreaking lub pharming. Następnie 
opiszę, na czym polegają te techniki, jak były 
wykorzystywane i w jaki sposób nowoczesne 
rozwiązania (w szczególności karty inteligentne) 
umożliwiają wykonywanie tych ataków dziś. 
Mam nadzieję, że treść wyda się Wam ciekawa, 
zapraszam więc do miłej lektury. Czytelnicy, którzy 
zapoznali się z grudniowym wydaniem hakin9, z 
pewnością widzieli także artykuł dotyczący ataków 
socjotechnicznych. Dla osób, które go jednak nie 
czytały, spróbuję zrobić małe streszczenie – aby ta 
technika nie była nikomu obca.

Socjotechnika to nic innego, jak wykorzystywanie 

swoich cech charakteru w bardzo niecnych celach 
– odpowiedniego zmanipulowania osoby, z którą 
się rozmawia. Swoje źródła socjotechnika ma w 
manipulacji. Wyszkolony socjotechnik posługuje 
się tą techniką bardzo sprawnie – w jej zakres 
wchodzą: reguła wzajemności, zasada kontrastu, 
zadawanie zamkniętych pytań, zasada konformizmu, 
autorytetów, sympatii, zasady placebo. Są ta 
bardzo ciekawe techniki, które wykorzystywane 
są także w reklamach czy promocjach. W 
jednym celu: by nakłonić nas do zakupu naszego 
ulubionego produktuktórego tak naprawdę nie 
potrzebujemy, wspomagając sprzedaż. Artykuł o 

RAFAŁ PODSIADŁY

Z ARTYKUŁU 

DOWIESZ SIĘ

poznasz nietypowe sposoby 

łamania zabezpieczeń,

dowiesz się jak funkcjonują karty 

kredytowe.

CO POWINIENEŚ 

WIEDZIEĆ

znać ogólne zasady psychologi,

podstawy elektroniki,

podstawy informatyki.

tej tematyce znajduje się w hakin9 12/2009 (Ataki 
Socjotechniczne). Osobiście zachęcam jeszcze 
raz do zagłębienia się w ten temat, ponieważ 
tylko i wyłącznie przez poznawanie technik, jakimi 
można nas zaatakować, jesteśmy w stanie się 
skutecznie bronić. Nawet urządzenie szkolenia czy 
przeprowadzenie zwykłej rozmowy z pracownikiem 
pierwszego kontaktu jest bardzo ważne. Pierwszym 
i ważnym krokiem takiego ataku jest zapoznanie się 
z obiektem, który atakujemy, rozpisanie jego cech, 
właściwości, struktur. A także zebranie wszystkich 
– istotnych i nieistotnych informacji. To wszystko 
ma na celu znalezienie miejsc, w których struktury 
są słabe i narażone na łatwą zmianę – podatne 
na wstrzyknięcie nieprawdziwych informacji. Nawet 
społeczeństwo może być traktowane jako obiekt. 
A jego gruntowna analiza, przeprowadzona przez 
instytucje badania opinii publicznej, może nam 
bardzo dużo powiedzieć o jego słabych i mocnych 
stronach. Przez zbieranie odpowiedzi na proste, z 
pozoru nic nieznaczące pytania, możemy zbudować 
mapę rozwiązań, charakterystykę społeczeństwa 
w odniesieniu do zadanego pytania. Na co to 
komu? Taka mapa społecznych odpowiedzi daje 
nam bardzo dużo wiedzy o ludziach i ich życiu, 
problemach i troskach. Możemy w ten sposób 
dobrać odpowiedni tryb reklamy i rozwiązać te 
problemy w prosty i przyjemny sposób – dać to, 
czego wymaga społeczeństwo. Dlatego reklamy 
proszków do prania mają swój określony czas 
emisji. Wykorzystywanie atutów prezenterów, by 
zwiększyć oglądalność – to czysty marketing, w 

Stopień trudności

Phreaking

– łamanie

zabezbieczeń

Zapraszam na podróż w której poznamy pierwsze metody 

phreaking’u dowiemy się jak prekursorzy wykorzystywali swoją 

wiedzę i której uchylimy rąbka tajemnicy.

background image

35

 

HAKIN9 

SOCJOTECHNIKA, PHREAKING, PHARMING

4/2009

którym nie jest ważny człowiek, a jedynie 
pieniądze na nim zarobione. Wystarczy 
spojrzeć na reklamę – każda ma początek 
i zakończenie, opowiada jakąś historię. 
Bardzo dużo można się nauczyć z telewizji. 
Są tam wzorce, które pobudzają emocje, 
oddziałują na naszą wiedzę, intelekt i 
instynkty. Naprawdę dużo można się 
nauczyć. Na późniejszym etapie swojej nauki 
należy skupić się na sobie, przez stosowanie 
odpowiedniej barwy głosu, przez wdzięk 
możemy osiągnąć bardzo wiele. Miły kobiecy 
głos zawsze zostanie zapamiętany, tak samo, 
jak mężczyzna, którego głos jest wyraźny i 
brzmiący.

Kiedy już znamy daną firmę i jej układ 

personalny, działy i inne elementy związane 
z tym obiektem, możemy wykorzystać naszą 
wiedzę w jakimś niecnym celu. Na przykład 
– jak zdobyć numer telefonu do naszego 
prezesa. Trzeba pamiętać zasadę numer 1 
– nigdy, przenigdy nie podaje się numeru 
telefonu prezesa osobom trzecim. Ale my 
tego chcemy, a to, czego chcemy, jest 
najważniejsze. Wykonujemy zatem prosty 
telefon do firmy, możemy np. powiedzieć, że 
jesteśmy z banku, ale to już bardzo zgrany 
numer, więc odradzam.

Jeśli trafimy na niekompetentną osobę, 

zostaniemy rozłączeni. Jednak spróbujmy 
zagrać tak: Dzień dobry, jesteśmy firmą, 
która udziela pomocy przy wdrażaniu 
nowoczesnych systemów informatycznych. 
Jeśli Pan/Pani miał już do czynienia z innymi 
firmami, informujemy, że nasza praca 
jest za darmo. Pozyskujemy fundusze z 
Unii Europejskiej i chcielibyśmy wspomóc 
Waszą firmę zarówno darmowym sprzętem, 
jak i oprogramowaniem. Do tego jednak 
potrzebujemy informacji, czy jesteście czymś 
takim zainteresowani. Naszą ofertą pomocy. 
W związku z tym pozostawię swoje dane 
osobowe i numer telefonu – i jeśli byłby 
Pan tak miły i przekazał te dane do osoby 
decydującej, będę wdzięczny. Chcielibyśmy 
już dziś nawiązać współpracę, gdyż termin 
składania wniosków upływa pod koniec 
tygodnia, a to od daty podpisania wniosku 
zależy, jakiej pomocy możemy Wam udzielić
.

Jeśli ktoś po drugiej stronie będzie 

zainteresowany rozmową, należałoby dodać: 
Jest to program tylko jednorazowej pomocy, 
może w nim wystartować każda firma, 
ale tylko raz. Dlatego ciągle poszukujemy 
nowych klientów, którym moglibyśmy pomóc. 
W tym programie fundusze są bardzo 

duże, ale też ograniczone, dlatego ważne 
jest, by wnioski napływały w odpowiednim 
czasie i były dobrze przygotowane. Aby 
w pełni wykorzystać przyznane Waszej 
firmie fundusze, chcielibyśmy poznać Was 
lepiej. Czy moglibyśmy się umówić na 
spotkanie z prezesem firmy, aby określić 
jego oczekiwania dotyczące tej pomocy? 
Moglibyśmy wtedy przedstawić odpowiednie 
materiały i zakres pomocy, jakiej możemy 
udzielić. Dlatego proszę o szybki kontakt w 
miarę możliwości...
.

To jeden z przykładów oszustwa, za które 

można odpowiadać z Kodeksu Cywilnego. 
Osobiście nie zalecam stosowania 
podobnych technik, a jedynie zaznajomienie 
się z nimi, gdyż, będąc po drugiej stronie 
barykady, obronimy się przed tego typu 
kłamstwem. Systemy informatyczne także 
dają się oszukiwać – np. przez wprowadzanie 
nieprawdziwych danych do strumienia 
informacji. Wtedy mamy szansę osiągnąć 
swój cel. Oczywiście to również jest karane 
– pamiętajmy, że zgodnie z polskim 
prawem ścigane są już przygotowania 
zmierzające do popełnienia przestępstwa. 
Tutaj nasuwa się dylemat, czy zdobywanie 
wiedzy w dziedzinie socjotechniki już jest 
przestępstwem, czy dopiero jej wykorzystanie. 
Nie znam się na prawie aż tak dobrze, by 
moja wypowiedź w tej kwestii mogła być 

tutaj pomocna. Dlatego też odpowiedź na to 
pytanie pozostawię bez rozwiązania.

Powiedzmy słów kilka o oszustwach 

telefonicznych. W latach 70, gdy centrale 
telefoniczne pracowały na zasadach 
impulsowych, a głos ludzki i sygnały kontrolne 
były przesyłane jedną linią, można było 
dokonać włamania i wymusić na centrali 
nawiązanie połączenia między dwoma 
telefonami bez uiszczania najmniejszej opłaty. 
Nie jest to socjotechnika, ale wykorzystuje 
w pewnym sensie podobny mechanizm 
– podszywania się. Taki rodzaj włamań 
określono jako phreaking. To kradzież 
sygnału telefonicznego, sygnału i czasu 
centrali. Phreaking został zapoczątkowany 
w USA w związku z dużą powszechnością 
automatycznych central telefonicznych. 
Sygnały kontrolne składały się z 1 lub 
(przeważnie) z 2 częstotliwości. Te pierwsze 
można było przy odpowiedniej praktyce 
nawet wygwizdać. Te drugie były generowane 
za pomocą bardzo prostych urządzeń 
elektronicznych, takich jak tonedialery.

Szybko zauważono wady central 

telefonicznych, a następnie je wyeliminowano. 
Kolejnym krokiem włamywaczy było 
kopiowanie kart magnetycznych, a 
marzeniem phreakera była karta o 
nieograniczonej pojemności rozmowy. W 
taki sposób spreparowana karta nazwana 

Rysunek 1. 

Schemat PC/SC 

�������

�������

�����������������������������

�������

���

���

�����

�����

���

���

���

��

�����

���

���

���

���

������

���������������������������������

�������

������

�����

��������

���

���

���

������������������������������������������������

background image

36

 

HAKIN9 4/2009

37

 

HAKIN9 

4/2009

została świętym Graalem, ale większość 
systemów nie dopuszcza takich kart 
– można za to często nagrywać karty 
o pojemności większej niż największa 
dostępna w sprzedaży. Budowa takiej karty 
wygląda następująco: część magnetyczna 
karty jest podzielona na 4 obszary. Jest 
na niej zapisana maksymalna liczba 
impulsów. Poszczególne obszary mogą 
być namagnesowane dwoma biegunami 
(+ i -), można to sprawdzić przy pomocy 
magnesu, który przesuwamy nad 
paskiem magnetycznym dość szybko 
(można wyczuć, że magnes raz jest lekko 
przyciągany, a raz lekko odpychany). Gdyby 
ktoś użył taśmy VHS, mógłby wykonać 
kopię karty. Następnie musiałby odtworzyć 
magnesem poprzednie pola. Przed całym 
eksperymentem dobrze jest zostawić kilka 
impulsów, ponieważ prawdopodobnie karta 
po wyczerpaniu zostanie poddana silnemu 
polu magnetycznemu w budce telefonicznej, 
które ją skasuje.

Następną generacją kart są karty tzw. 

inteligentne. To karty mikroprocesorowe lub 
chipowe, posiadające wbudowany układ 
– chip (zamiast lub wraz z powszechnie 
stosowanym paskiem magnetycznym). 
Karta chipowa uznawana jest za praktycznie 
niemożliwą do sfałszowania ze względu 
na możliwość kontrolowania przez 
mikroprocesor dostępu do informacji 
w nim zapisanych oraz specjalny język 
komunikacji. W układzie mikroprocesora 
zaszyte są funkcje zabezpieczające przed 
kopiowaniem zawartości karty. W pamięci 
układu może znajdować się kilkadziesiąt 
razy więcej informacji niż na standardowym 
pasku magnetycznym – pozwala nam to na 
wykorzystanie go do innych, dodatkowych 
celów. Pasek magnetyczny jest ograniczony 
jedynie do 130 znaków. Karty chipowe mogą 
służyć (poza standardowymi funkcjami 
płatniczymi) jako karty rabatowe, telefoniczne, 
opłat (np. parkingowych), identyfikacyjne itp. 
Rozwój handlu elektronicznego, powodujący 
także wzrost znaczenia e-bankingu, stwarza 
dodatkowe możliwości zastosowania kart 
mikroprocesorowych jako bezpiecznych 
układów.

Mechanizm autoryzacji transakcji bazuje 

w tym przypadku nie tylko na podpisie 
klienta na dokumencie potwierdzającym 
jej wykonanie, ale też na numerze PIN 
– Personal Identification Number. Ponadto 
autoryzacja może być dokonywana w 

trybie offline, co zapobiega ewentualnemu 
przechwyceniu danych podczas ich 
transmisji łączami telekomunikacyjnymi. 

Następnym plusem karty 

mikroprocesorowej jest odporność na 
pole elektromagnetyczne, a jej trwałość 
(okres zużycia) jest 3 razy dłuższa niż karty 
magnetycznej.

Do bardzo istotnych zalet karty 

mikroprocesorowej należy zaliczyć również 
niski koszt jej eksploatacji w porównaniu do 
utrzymania oddziałów banków.

Koszt wydania karty (produkcja, 

personalizacja) jest jednak stosunkowo 
wysoki. Jest to związane przede wszystkim 
z wykorzystaną technologią, która 
zaszyta jest w mikroprocesorze na karcie. 
Jednakże z tematem tym wiąże się również 
programowanie chipów. Banki w Polsce 
instalują na kartach stosunkowo prostą 
aplikację, służącą głównie do wypłaty 
gotówki oraz dokonywania standardowych 
transakcji płatniczych. Powodem tego jest 
kolejna wada rynku kart mikroprocesorowych 
– słaba infrastruktura sieci akceptacji kart. 
Nadal funkcjonuje stosunkowo niewielka 
liczba punktów autoryzacyjnych, które 
mogą obsługiwać karty chipowe. Jedynym 
obszarem, w którym ta technologia bardzo 
dobrze się rozwija, jest telefonia komórkowa.

Pod względem budowy mechanicznej 

wszystkie układy chipowe są takie 
same. Rozróżnić wypada jednak karty 
pełnowymiarowe (wielkości karty kredytowej) 
i miniaturowe, znane chyba najlepiej jako 
moduły SIM telefonów GSM. Między tymi 
kartami zauważymy zgodność układu 
styków. Każdy, kto miał okazję rozpakowywać 
nowy pakiet zakupiony w salonie GSM 
i własnoręcznie wyłamywać małą kartę 
z większej płytki plastiku, zauważył z 
pewnością, że operacja ta nie była niczym 
innym, jak zamianą dużej karty (pasującej 
do standardowych czytników) na małą, 
odpowiednią dla złącza współczesnych 
telefonów. Dowodzi to niezbicie, iż cała 
elektronika karty (chip) umieszczona jest 
bezpośrednio pod stykami, a reszta to tylko 
plastikowa oprawa. 

Skoro już o chipie mowa, warto zwrócić 

uwagę na to, że zarówno jego budowa, jak 
i zasada działania mogą się bardzo różnić 
w zależności od typu karty. Najprostsze 
są karty pamięciowe, zawierające jedynie 
układy EEPROM o różnej pojemności, 
czasem zabezpieczone przed zmianą 

zawartości kodem PIN. Stosowane są one 
w systemach identyfikacji, kontroli dostępu 
i wszędzie tam, gdzie wymagane jest, aby 
użytkownik przenosił ze sobą pewną ilość 
danych. Tego rodzaju układy dysponować 
mogą największą ilością pamięci. Bardziej 
zaawansowane układy są wyposażone 
w procesor. W maleńkim chipie znajduje 
się cały mikrokontroler, czyli w gruncie 
rzeczy komputer z procesorem i trzema 
pamięciami: ROM (zawierającą system 
operacyjny karty), RAM (do przechowywania 
przetwarzanych danych) oraz EEPROM 
(służącą jako pamięć masowa dla danych 
użytkownika). Zastosowanie takich kart 
może być bardzo szerokie. Zadania, jakie 
wykonywać będzie karta, zależą głównie 
od zaimplementowanego w jej ROM-ie 
oprogramowania wewnętrznego. Daje to 
producentom i programistom duże pole 
do popisu. Trudno jest jednak zbudować 
systemy współpracujące z kartami 
procesorowymi. Wynika to z faktu, że różne 
zapakowane w plastik procesory mają 
niezgodne ze sobą listy rozkazów. Dlatego do 
budowy czytnika konieczna jest współpraca z 
producentem kart lub choćby dostęp do ich 
dokumentacji.

Specyficznym rodzajem kart 

procesorowych są układy kryptograficzne. 
Zawierają one zwykle specjalny procesor 
szyfrujący, a ich oprogramowanie 
przystosowane jest do przechowywania 
i udostępniania innym aplikacjom kluczy 
szyfrujących, do pracy w systemach podpisu 
elektronicznego, zdalnego identyfikowania 
użytkowników, zabezpieczania logowania do 
systemów komputerowych itd. 

Mnogość rodzajów kart chipowych 

jest korzystna choćby ze względu 
na różnorodność ich zastosowań, 
ale jednocześnie fatalnie wpływa na 
uniwersalność czytników. 

Jak wspomniałem wcześniej, układ 

połączeń styków kart jest w zasadzie 
standardowy. Protokoły transmisji danych 
bywają natomiast bardzo różne. Dotyczy 
to także list rozkazów kart procesorowych. 
W rezultacie konieczne okazuje się 
opracowywanie specjalnych czytników i 
oprogramowania dla konkretnych modeli 
kart. Sprawdza się to znakomicie w 
przypadku zastosowań profesjonalnych 
– na przykład wtedy, gdy punkty mające 
obsługiwać użytkowników wyposaża się w 
specjalizowane czytniki do takich kart, jakie 

ATAK

background image

36

 

HAKIN9 4/2009

37

 

HAKIN9 

4/2009

zostały udostępnione konkretnej grupie osób (pracownikom, 
klientom itp.). Urządzenia tego rodzaju budowane są jako 
proste interfejsy, przyłączane choćby do portu szeregowego 
komputera. W takim przypadku cała obsługa komunikacji z 
kartą przerzucona zostaje na oprogramowanie. Przeciętny 
użytkownik peceta, który chciałby wyposażyć swoją 
maszynę w uniwersalny czytnik do kart chipowych, ma 
jednakże nie lada problem. Dostępne są oczywiście w 
sprzedaży urządzenia obsługujące wiele standardów, ale 
który z nich wybrać? Trudno odpowiedzieć jednoznacznie 
na takie pytanie, nie znając rodzajów kart, jakie mają być 
wykorzystywane. Warto postarać się, aby czytnik działał w 
jednym z najpopularniejszych na świecie standardów, czyli 
PC/SC. Zawsze jednak powinniśmy mieć świadomość, 
że mogą się trafić karty, których taki sprzęt nie obsłuży. Po 
prostu urządzenia radzącego sobie z absolutnie wszystkimi 
dostępnymi rodzajami kart najzwyczajniej na świecie nie ma... 

Do komunikacji z taką kartą można wykorzystać 

wbudowany w układ płyty głównej chip, który bardzo łatwo 
przeoczyć na pierwszy rzut oka. Obsługą kart chipowych w 
wielu współczesnych pecetach zajmuje się kość Multi I/O 
– ta sama, która steruje portami szeregowymi, równoległym, 
klawiaturą itd. Praca w trybie czytnika to po prostu jej 
dodatkowa funkcja, uaktywniana zamiennie z trybem obsługi 
drugiego portu szeregowego. Wystarczy zerknąć do opisu 
BIOS-u wielu płyt głównych, aby zauważyć, że jeden z układów 
UART może pracować w trzech trybach: jako standardowy 
port COM, port podczerwieni IrDA albo właśnie SmartCard 
Reader. Włączenie czytnika kart spowoduje zniknięcie z 
systemu jednego portu szeregowego i przełączenie go na 
gniazdo szpilkowe czytnika kart, umieszczone gdzieś na 
laminacie płyty głównej. Pozostaje więc wspomniane złącze 
odnaleźć, połączyć je z kartą i w razie potrzeby zainstalować 
wymagane sterowniki, aby cieszyć się w pełni sprawnym 
czytnikiem kart chipowych, zgodnym ze standardem PC/SC. 

Gdy zapoznamy się z ogólnym schematem działania 

PC/SC, zauważymy, że to, co wypadnie nam zbudować, 
wcale nie jest jakimś skomplikowanym urządzeniem. Nie 
licząc paru drobiazgów, mamy do czynienia jedynie z 
gniazdem dla karty, przewodem i wtyczką! Kondensator 
filtrujący napięcie zasilające czy oporniki nie wymagają 
komentarza. Koniecznie trzeba natomiast wspomnieć o 
widocznym na schemacie (Rysunek 1) tranzystorze. To jedyny 
element półprzewodnikowy. Współpracuje on z kontrolerem 
Multi I/O, który analizuje stan styków w gnieździe czytnika i 
tym samym fakt obecności karty chipowej w slocie. Sam 
tranzystor służy do podawania i odcinania zasilania. Napięcie 
jest odłączane podczas wkładania i wyjmowania karty, 
co zapewnia bezpieczne operowanie nią podczas pracy 
komputera. 

Samo zmontowanie czytnika z pewnością nie sprawi 

nikomu trudności ani też nie przysporzy dużych wydatków. 
Komplet elementów łącznie z gniazdem do kart nie powinien 
kosztować więcej niż kilkanaście złotych. Pracy też jest 
raptem na kilkanaście minut – jeśli zdecydujemy się na 
wersję bez płytki drukowanej, z bezpośrednimi połączeniami 

background image

ATAK

38

 

HAKIN9 4/2009

SOCJOTECHNIKA, PHREAKING, PHARMING

39

 

HAKIN9 

4/2009

przewodów do styków gniazda. Prototyp 
umieszczony został jednak na specjalnie 
przygotowanej płytce, co zabezpieczyło układ 
przed przypadkowymi zwarciami i ułatwiło 
mechaniczny montaż gniazda do zaślepki 
3,5 cala. 

Po zainstalowaniu czytnika i ewentualnej 

instalacji sterowników (szczegóły w ramce) 
należy nowy sprzęt wypróbować. Z założenia 
czytnik standardu PC/SC może służyć 
do różnych zastosowań (na przykład w 
systemach podpisu elektronicznego), lecz 
na początek proponuję zapoznać się z 
prostymi programikami współpracującymi 
z kartami takimi jak np. pakiet Winbond 
Smart Manager, dostarczany razem ze 
sterownikami do układów Multi I/O tego 
producenta. Podstawą zestawu jest program 
Key Center, pozwalający zarejestrować 
nasze karty SIM (ang. Subscriber Identity 
Module
) telefonu GSM lub bankowe jako 
klucze otwierające dostęp do pozostałych 
programów zestawu. Kiedy mamy już 
zatwierdzoną kartę-klucz, możemy przystąpić 
na przykład do szyfrowania plików na 
dysku za pomocą narzędzia File Protection, 
także wchodzącego w skład pakietu. Zbiór 
DOC, zaszyfrowany podczas obecności 
konkretnej karty, stanie się nieczytelny dla 
aplikacji MS Word, a przywrócenie mu 
pierwotnego formatu wymagać będzie 
włożenia do czytnika tej samej karty, która 
użyta była podczas szyfrowania. Oczywiście 
tak samo będzie się działo w przypadku, 
gdy będziemy mieli do czynienia z plikami 
innego typu. Dzięki temu, zabierając ze sobą 
niewielką przecież kartę, zablokujemy innym 
osobom korzystającym z tego samego 
komputera dostęp do naszych danych. W 
zabezpieczeniu peceta przed niepowołanym 
dostępem warto też pójść dalej. Programik 
Logon potrafi podczas logowania do 
systemu sprawdzać, czy w czytniku została 
umieszczona odpowiednia karta. Bez niej 
start komputera nie będzie możliwy. Jest też 
ciekawsza opcja: stałe sprawdzanie kodu 
karty. Po jej wywołaniu wystarczy wyjąć kartę 
z czytnika, aby przestały działać klawiatura i 
mysz, a cały ekran został przysłonięty grafiką 
ze stosownym komunikatem. Co ważne, 
natychmiast po ponownym włożeniu karty 
wszystko automatycznie wraca do stanu 
pierwotnego – bez restartowania systemu, 
ponownego uruchamiania programów itd. 
Mechanizm ten pozwala szybko i wygodnie 
– nawet w czasie chwilowego opuszczenia 

miejsca pracy – zabezpieczyć komputer 
przed dostępem niepowołanych osób. Na 
zabezpieczeniach możliwości pakietu się 
jednak nie kończą. Jeśli w czytniku znajdzie 
się moduł SIM z telefonu komórkowego, 
to za pomocą narzędzia GSM Explorer 
będziemy mogli swobodnie edytować 
książkę telefoniczną. Oczywiście do układu 
SIM musimy dorobić odpowiednią ramkę (np. 
z tektury), aby dopasować się do rozmiarów 
czytnika. 

Naturalnie nie jesteśmy zmuszeni 

korzystać wyłącznie z oprogramowania 
dostarczanego razem ze sterownikami. 
Możemy swobodnie używać praktycznie 
każdej aplikacji zgodnej z naszymi 
kartami i czytnikami standardu PC/SC. Ot, 
choćby w przypadku kart telefonów GSM 
posłużymy się amatorskim narzędziem 
SIM Spy (http://www.nobbi.com), aby 
dowiedzieć się wielu interesujących 
szczegółów o swojej karcie SIM. Warto też 
sięgnąć po inne specjalistyczne aplikacje 
przeznaczone dla autorów oprogramowania 
współpracującego z kartami. Za przykład 
niech posłuży SmartCard ToolSet (http:
//www.scardsoft.com
), pozwalająca testować, 
identyfikować czy skanować listy rozkazów 
różnego typu kart. Może być to bardzo 
przydatne w przypadku problemów z 
dostępem do dokumentacji technicznej karty. 
Mając odpowiedni czytnik, otwieramy sobie 
też drogę do samodzielnego opracowania 
systemów wykorzystujących karty chipowe. 
Czasem nabywając „czyste” karty, otrzymamy 
gratis odpowiedni pakiet oprogramowania 
autorskiego, a zatem łatwo i stosunkowo 
tanio możemy stać się autorami nowego, 
niewykluczone, że innowacyjnego, 
zastosowania kart chipowych. Jeśli dostawca 
kart przewidział możliwość odczytywania ich 
zawartości w domowym pececie, od razu 
udostępnia klientowi gotowy program. Trzeba 
tylko zadbać o własny standardowy czytnik, 
aby skorzystać z nowych funkcji naszego 
peceta. 

Elektronika czytnika

Niezwykła prostota konstrukcji i bardzo 
niska cena opisywanego czytnika wynika 
z wykorzystania wbudowanej w płytę 
główną elektroniki. Tak naprawdę w artykule 
zachęcam do budowy gniazda i przewodu 
połączeniowego z odpowiednimi układami 
zamontowanymi w kości Multi I/O peceta. 
Zanim jednak chwycimy za lutownicę, 

powinniśmy sprawdzić, czy płyta główna 
oferuje funkcje odpowiedzialne za obsługę 
kart chipowych. 

Na początek najlepiej zajrzeć do 

dokumentacji płyty. Wśród informacji 
dotyczących niepozornych złączy 
szpilkowych trzeba szukać czegokolwiek 
na temat SmartCard. Bardzo ważne jest 
ponadto odnalezienie opisu samego 
gniazda, oznaczonego jako SmartCard, 
Smartcon itp. Bez dokładnego opisu 
przyporządkowania każdej szpilki nie 
uda się poprawnie podłączyć czytnika. 
Wskazane jest też zerknięcie do wnętrza 
peceta i odszukanie opisanego w instrukcji 
gniazda w naturze. Czasem zdarza się, że 
stan faktyczny na konkretnej płycie odbiega 
od tego z dokumentacji. Na koniec nie 
zawadzi rozejrzeć się w okolicach gniazda 
za układem Multi I/O i zapisać jego symbol. 
Może się to bardzo przydać podczas 
poszukiwania sterowników do chipa. 

Przystępując do montażu 

przygotowanego wcześniej czytnika, trzeba 
wyjątkowo starannie podejść do połączeń 
wtyczki łączącej kabel z płytą główną. Zwarcia 
w przewodzie lub na płytce mogą skończyć 
się uszkodzeniem kości Multi I/O.

Rozkład sygnałów, a także ich liczba 

w gnieździe szpilkowym mogą być różne 
dla poszczególnych modeli płyt głównych. 
Zawsze jednak powinniśmy odnaleźć te 
potrzebne nam do komunikacji z kartami. 
Należy więc porównać uważnie instrukcję 
obsługi płyty z opisem wyprowadzeń 
czytnika i polutować wtyczkę tak aby uzyskać 
połączenie wyjść o takich samych nazwach 
(np. SCRCLK czytnika z SCRCLK płyty 
głównej, VCC czytnika z VCC płyty i tak dalej). 
Później pójdzie już z górki.

Najwygodniej jest przygotować miejsce 

dla czytnika w wolnej zatoce 3,5 lub 5,25 cala. 
Jeśli płytka układu zostanie przymocowana 
do zaślepki, to za mocowanie do obudowy 
służyć będą jej zatrzaski. Gdy czytnik już 
siedzi na swoim miejscu, czas zajrzeć do 
wnętrza obudowy. Podłączenie wtyczki do 
odpowiedniego gniazda płyty głównej kończy 
pracę. Można zamykać obudowę, ustawić 
pecet na swoim miejscu i zabrać się za 
konfigurację BIOS-u. 

W BIOS-ie odszukujemy opcje związane 

z portami wejścia-wyjścia (I/O Device 
configuration) i przełączamy tryb pracy 
jednego z nich (UART2 Use as) na Smart 
Card Reader. Po tym zabiegu z systemu 

background image

ATAK

38

 

HAKIN9 4/2009

SOCJOTECHNIKA, PHREAKING, PHARMING

39

 

HAKIN9 

4/2009

zniknie jeden z portów szeregowych (zwykle 
COM2) i przestanie działać jego gniazdo na 
tylnej ściance peceta. W Windows pojawi się 
za to nowy sprzęt opisany jako czytnik kart 
inteligentnych bądź... nieznane urządzenie. W 
tym drugim przypadku konieczna okaże się 
instalacja odpowiednich sterowników.

Kość Multi I/O płyty głównej obsługuje 

wiele urządzeń (porty szeregowe, port 
równoległy, klawiatura, mysz PS2 itd.). 
Sterowniki do nich są zazwyczaj wbudowane 
w system operacyjny lub znajdują się w 
typowej paczce programów dostarczanych 
przez producenta konkretnej płyty głównej. 
W przypadku czytnika kart chipowych, 
obsługiwanego przez ten sam układ scalony, 
może się jednak zdarzyć, iż trzeba będzie 
samodzielnie poradzić sobie z problemem 
nieznanego urządzenia i dostarczyć 
pecetowi odpowiednich sterowników. 
Kluczami do ich odszukania są typ oraz 
producent układu Multi I/O danej płyty 
głównej. Na CD dostarczonym z płytą, na 
stronie WWW jej producenta lub też na 
stronie producenta samej kostki trzeba 
szukać czegoś związanego ze Smart Card 
i firmą, która wyprodukowała układ wejścia-
wyjścia. Przykładowo: wykorzystana przy 
opracowaniu niniejszego tekstu płyta miała 
kość W83627GF-AW firmy Winbond, a zatem 
pakiet sterowników Winbond Smart@IO 
Driver już na pierwszy rzut oka wydawał 
się tym, co jest potrzebne. Sama instalacja 
okazała się banalnie prosta, gdyż instalator 
automatycznie rozpoznał typ układu oraz 
wersję systemu operacyjnego i samoczynnie 
wybrał potrzebne pliki. Już po chwili w 
Menedżerze urządzeń wśród Czytników 
kart inteligentnych zamiast Nieznanego 
urządzenia pojawił się Winbond Smartcard-
Reader. 

Skimming

Jest to kopiowanie paska magnetycznego 
karty. Technika wykorzystywana najczęściej 
przy atakach na bankomaty, gdzie złodzieje 
zakładają miniaturowy czytnik w miejscu, 
w którym klient wprowadza kartę. Jest 
on tak zbudowany, aby nie wzbudzał 
niczyich podejrzeń oraz wyglądał jak 
część bankomatu. Do zdobycia numerów 
PIN osoby posiadającej kartę płatniczą 
napastnicy używają nakładki na klawiaturę 
(taką samą jak w bankomacie), posiadającej 
własną, wbudowaną pamięć oraz zapisującej 
wszystkie wprowadzane do niej polecenia. 

Posiadając zeskanowaną kartę płatniczą 
oraz numer PIN, atakujący bez problemu 
może nagrać kartę przy pomocy chociażby 
urządzenia MSR206, w oczywistym celu 
jej wykorzystania. Paradoksem jest fakt, że 
nagrywarka oraz czyste karty dostępne są 
legalnie w sklepach w Internecie. Technika 
skanowania i kradzieży kart płatniczych 
jest wykorzystywana również w sklepach, 
restauracjach oraz innych podobnych 
miejscach wspierających możliwość 
uiszczenia opłaty kartą płatniczą. Aby ustrzec 
się przed tego typu atakami, musimy 
zwracać szczególną uwagę na bankomaty, 
z których korzystamy – czy nie posiadają 
doczepionych podejrzanych urządzeń? 
Zwróćmy także uwagę na to, co dzieje się 
z naszą kartą, w momencie, kiedy damy ją 
sprzedawcy w sklepie czy też recepcjoniście 
w hotelu. Jeżeli zostanie ona przesunięta 
ukradkiem przez inny czytnik kart, możemy w 
następstwie tego faktu paść ofiarą carderów
Czasami sytuacje takie mają miejsce na 
ogromną skalę, a zebrane po całym dniu 
np. w hotelu numery kart kredytowych 
sprzedawane są carderom po ulgowych 
cenach.

Instore carding

W momencie, kiedy carder posiada tylko 
zestanowane karty, bez kodów PIN, korzysta 
z nich z reguły w sklepach, robiąc różnego 
rodzaju zakupy. Potrzebuje plastiku, na który 
nagrywane są dane – w miejsce, gdzie karta 
posiada nadruk i hologram. Na domiar złego, 
karty takie są ogólnodostępne na czarnym 
rynku. Jeśli przestępcy nie posiadają takich 
kart lub dostępu do nich, próbują używać 
starych, prawdopodobnie skradzionych z 
czyjegoś portfela albo torebki – na które 
nanoszą własne dane. Zeskanowane karty 
nazywają się potocznie dumps, a ich ceny 
uzależnione są od jakości karty – czy jest 
to karta typu ClassicBusinessPlatinum, 
a może Corporate. W celu zapewnienia 
sobie choćby minimalnej ochrony przed 
sytuacją, w której ktoś posługuje się kartą bez 
naszej wiedzy, jest stała kontrola rachunku, 
operacji dokonywanych naszą kartą i 
wszelkich aspektów jej użycia, które mogłyby 
wskazywać na jej zeskanowanie.

Wire transfers

Carderzy rozsyłają różnego rodzaju 
wirusy, zawierające keyloggery zapisujące 
login/hasło kont bankowych, przelewając 

następnie pieniądze na tzw. bank drops
czyli fikcyjne konta bankowe – i wypłacając 
dostępne po przelewie środki. Wiele banków 
używa dodatkowych zabezpieczeń w postaci 
haseł jednorazowych, kluczy, haseł do 
przelewów. Gdy atakujący posiada dostęp do 
zainfekowanego komputera wraz z loginem/
hasłem do konta użytkownika, ma możliwość 
spreparowania systemu tak aby osoba, która 
wpisze w swojej przeglądarce adres strony 
WWW banku, została przekierowana na tzw. 
scam page, imitującą autentyczną stronę i 
proszącą o wpisanie hasła jednorazowego. 
Należy zachować ostrożność i dbać o 
bezpieczeństwo swojego komputera, 
dokonywanie przelewów bankowych ze 
strony internetowej wymaga należytej uwagi. 
Trzeba się zawsze szczegółowo upewnić, 
czy strona, na którą trafiliśmy, jest na pewno 
oryginalną witryną banku.

ATM cashout

Do metody tej złodzieje potrzebują 
następujących danych: numeru karty, 
daty ważności, PIN-u oraz CVN (ang. 
Card Verification Number). W Internecie 
dostępne są listy banków oraz numerów 
kart kredytowych, którymi można wypłacić 
środki finansowe przez bankomat. Karta 
kredytowa zawiera trzy ścieżki. Na pierwszej 
z nich zapisywane są takie dane jak numer 
karty, data ważności, imię i nazwisko oraz 
algorytm szyfrowania. Na drugiej ścieżce 
znajdują się te same dane, co na pierwszej 
oprócz imienia i nazwiska oraz litery B (od 
słowa bank) – oznaczającej fakt bycia kartą 
płatniczą. Przykład:

Ścieżka 1: B'numer _ karty'^Imię/
Nazwisko^'data _ ważności''algorytm'
Ścieżka 2: 'numer _ karty'='data _
ważności''algorytm'

Każda karta posiada swój indywidualnie 
wygenerowany przez bank algorytm. 
Bankomaty odczytują tylko ścieżkę drugą. 
Luka w systemach bankowych polegała na 
tym, że algorytm karty nie był odpowiednio 
interpretowany, tylko sprawdzane były 
dane numeru oraz daty ważności, a 
także PIN. Jeżeli dane były poprawne 
– bankomat wypłacał pieniądze. Ta metoda 
jest już coraz rzadziej stosowana przez 
carderów, ze względu na to, że większość 
banków uaktualniła już swoje systemy 
zabezpieczeń.

background image

ATAK

40

 

HAKIN9 4/2009

Casino

Jest to po prostu gra carderów w 
internetowych kasynach, gdzie zakładają 
oni na przykład dwa konta. Jedno fikcyjne, 
na które przelewane są pieniądze z 
wykorzystaniem kart kredytowych, a drugie, 
przy którego pomocy wygrywają legalnie. 
Następnie pieniądze są przelewane na 
konto bankowe i wypłacane.

Shopping

Zdobywanie danych poszczególnych 
kart kredytowych może odbywać się 
z wykorzystaniem metody phishingu, 
czyli rozsyłania wiadomości poczty 
elektronicznej z adresem fałszywej strony 
banku. Ofiarami ataku są nieuważni 
ludzie, którzy, otrzymując taki e-mail z 
informacją np. o aktualizacji swoich danych 
i konta, wchodzą na podstawioną stronę, 
wyglądającą identycznie jak prawdziwa. 
Wpisują tam swoje dane, które trafiają 
najczęściej na konta pocztowe carderów
Często przeprowadzanymi atakami są 
włamania na serwery utrzymujące bazy 
danych zawierające poufne dane i numery 
kart kredytowych klientów. Czasami spotkać 
też można informacje o dostępności 
takich danych kart kredytowych na forach 
lub na czarnym rynku. Pamiętajmy o 
należytym bezpieczeństwie i rozwadze 
przy dokonywaniu przelewów online, nigdy 
nie róbmy tego z kafejek internetowych, 
gdzie w większości przypadków na 
komputerach użytkowników zainstalowane 
są programy monitorujące wprowadzane 
z klawiatury informacje. Uważajmy na 
odnośniki, nie ufajmy adresom, które 
mogą być spoofowane, monitorujmy 
raporty przelewów i zwracajmy uwagę 
na bankomaty, z których korzystamy. Przy 
zachowaniu podstawowych środków 
bezpieczeństwa nie powinno dojść 
do sytuacji, w której pewnego dnia 
po zalogowaniu się na własne konto, 
zobaczymy, że jest ono puste.

Dostęp do pamięci na karcie może być 

zabezpieczony. Niektóre karty pozwalają 
na zabezpieczenie przed zapisem, inne na 
zabezpieczenie przed zapisem i odczytem, 
a inne nie mają żadnych zabezpieczeń. 
Same zabezpieczenia też mogą być 
różnego rodzaju: kod PIN 16-bitowy albo 
24-bitowy (ponad 16 milionów kombinacji), 
48-bitowy (ponad 281 bilionów kombinacji) 
lub jeszcze dłuższy klucz szyfrujący. Każda 

tak zabezpieczona karta ma ponadto 
licznik błędnych prezentacji PIN lub klucza 
i zostaje zablokowana, jeśli podczas kilku 
(typowo od 3 do 8) prób nie zostanie 
podany prawidłowy numer.

Niektóre karty pozwalają także na 

pełne zabezpieczenie pewnych obszarów 
pamięci przed zapisaniem. Polega ono na 
selektywnym, nieodwracalnym blokowaniu 
możliwości modyfikacji pewnych obszarów 
pamięci karty.

Przykładem karty bez zabezpieczenia 

odczytu, chronionej natomiast przed 
zapisem przy pomocy 16-bitowego PIN-u 
i z możliwością trwałego zabezpieczenia 
poszczególnych oktetów jest układ 
Siemensa o symbolu SLE4428, o 
pojemności 8 kilobitów.

Istnieją jednak dużo lepiej 

zabezpieczone karty. Zawierają one 
komputer z własnym programem w 
pamięci ROM, dodatkowo pamięć RAM, 
EEPROM lub FLASH-ROM. Takie karty 
nazywane są kartami procesorowymi. 
Często używane są w nich procesory 
z rodziny MCS51 (bardzo popularny 
standard). Dostęp (zarówno zapis, jak i 
odczyt) do pamięci na karcie może być 
zabezpieczony PIN-em lub przy pomocy 
tajnego klucza i mechanizmu challenge-
response
. Karta procesorowa może 
zawierać również moduł kryptograficzny 
oparty o szyfr z kluczem publicznym RSA. 
Jest to bardzo dobre zabezpieczenie, bo 
klucz zapisany i zabezpieczony w pamięci 
karty przez dostawcę aplikacji nigdy potem 
nie jest ujawniany. Wszelkie operacje 
kryptograficzne wykonywane są wewnątrz 
karty, a zarówno do identyfikacji karty, 
jak i utajnienia informacji w zupełności 
wystarcza klucz publiczny, który może być 
ujawniany. Dzięki rozwiązaniu sprzętowemu 
skomplikowane operacje matematyczne 
stosowane w metodzie RSA wykonywane 
są bardzo szybko.

Przykładami kart procesorowych są 

układy SLE 44C80 oraz SLE44CR80S 
Siemensa. Przy omawianiu zabezpieczeń 
kart trzeba wspomnieć także o tym, 
że struktura układu scalonego jest tak 
skonstruowana, że nie jest możliwe 
podejrzenie lub podsłuchanie jej budowy 
i działania. Także próba mechanicznego 
dostępu do karty poprzez usuwanie 
kolejnych warstw struktury układu 
scalonego spowoduje uszkodzenie karty.

Można używać karty chipowej 

jako klucza do komputera. Musimy 
oczywiście zainstalować w maszynie 
czytnik kart, który – wraz z odpowiednio 
zmodyfikowanym BIOS-em oraz 
oprogramowaniem – zapewnia pełną 
kontrolę nad komputerem: nie jest możliwe 
uruchomienie systemu operacyjnego 
bez karty, nie można zmieniać ustawień 
konfiguracyjnych BIOS-u (ang. BIOS 
settings
). Uprawnienia poszczególnych 
użytkowników do pracy z wybranymi 
komputerami mogą być dowolnie 
kształtowane przez administratora 
systemu. Możliwe jest tworzenie 
wydzielonych grup komputerów i kart w 
ramach przedsiębiorstwa, budynku itp.

Dzięki wbudowanemu w niektóre 

karty modułowi RSA lub mechanizmowi 
challenge-response możliwe jest użycie 
karty jako bezpiecznego identyfikatora. 
Nawet podsłuchanie transmisji do i z 
karty nie da włamywaczowi możliwości 
odgadnięcia hasła. Ponadto jego 
długość (nawet do ponad tysiąca bitów) i 
zabezpieczenie karty przed wielokrotnymi 
próbami podawania nieprawidłowego 
hasła uniemożliwiają złamanie systemu 
metodą brutalnego ataku. Ponadto dzięki 
karcie szyfrowanie danych może odbywać 
się poza aplikacją, więc włamywacz 
mający dostęp do programu, ale 
nieposiadający karty nie będzie w stanie 
złamać systemu.

Podsumowanie

Wydaje się, że perspektywa łamania karty 
jest odległa, jednak dzisiejsza technologia 
pozwala na wykonanie odczytu karty i 
informacji na niej zawartych tak samo, 
jak czytają ją bankomaty czy urządzenia 
płatnicze. Następnie te wartości są 
kopiowane na inną kartę i udostępniane, 
gdy taki czytnik o nie poprosi. Dlatego 
też stosuje się klucze zabezpieczające 
po stronie czytnika i karty – komunikacja 
między urządzeniami jest szyfrowana, co 
zapewnia nam znacznie wyższy poziom 
bezpieczeństwa.

Rafał Podsiadły

Od kilku lat fascynuje się nietypowymi technikami 

zabezpieczeń, projektowaniem i wprowadzaniem 

skutecznych polityk bezpieczeństwa, projektowaniem 

użytecznych interfejsów dla użytkownika, psychologią 

społeczną. Od 5 lat programista C++, Delphi, JavaScript, 

PHP, MySql. Student WSTI – Katowice.

Kontakt z autorem: rafal.podsiadly@gmail.com