10 sierpnia 2010

Hackowanie systemów automatycznej identyfikacji

Kody kreskowe, czyli rozmaite graficzne reprezentacje informacji poprzez kombinacje ciemnych i jasnych elementów, znają już chyba wszyscy. Takie kod mogą być odczytywane przez specjalne czytniki elektroniczne, czyli umożliwiają automatyczne odczytywania informacji. Wszystko to znajduje zastosowanie w systemach automatycznej identyfikacji, bez których trudno sobie wyobrazić wiele przedsięwzięć logistycznych. Jak jednak wygląda kwestia praktycznego bezpieczeństwem tego typu systemów?

Bardzo interesujące prace nad praktycznymi metodami testowania bezpieczeństwa systemów automatycznej identyfikacji prowadzi obecnie Adrian „IronGeek” Crenshaw. Ze względu na specyfikę tego typu systemów, ewentualne praktyczne ataki testowe wymagają zastosowania niecodziennych metod. Jednym z pomysłów na realizację urządzenia zdolnego do wprowadzania do docelowego systemu określonych testowych kodów było zastosowanie... książki elektronicznej wyposażonej w odpowiednie oprogramowanie. Ebooki są dość kosztowne, okazało się jednak, że do tego typu testów nadają się również zwykłe wyświetlacze LCD. IronGeek zbudował już nawet prototypowe urządzenie:
Udostępniony został również przykładowy program pozwalający na wyświetlenie kodów odpowiadających następującym ciągom:
  • "abc123"
  • "e7e7f559-ce13-fd7f-baf0-9b4908dd1c73"
  • ""
  • "or 1=1 -- "
  • "X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*"
Oto przykładowe kody mogące się przydać w trakcie testowania podatności systemów na ataki typu XSS oraz SQL Injection:
Wszystkich, których szczególnie zainteresowała tematyka testowania bezpieczeństwa systemów automatycznej identyfikacji, zachęcam do zapoznania się z następującymi stronami:
Na koniec warto się zastanowić, czy testowanie bezpieczeństwa tego typu systemów w ogóle ma sens? Otóż moim zdaniem na tym polu jest bardzo wiele do zrobienia. Myślę, że ze względu na specyfikę tego typu systemów (wydawałoby się ściśle określone i w pełni przewidywalne dane wejściowe), producenci mogli zupełnie pominąć kwestie odpowiedniego filtrowania danych wejściowych. Obstawiam więc, że wiele tego typu systemów jest podatnych na rozmaite ataki z wykorzystaniem odpowiednio spreparowanych danych wejściowych.