Sekcje

Przejdź na skróty do treści. | Przejdź do nawigacji


Baza wiedzy Publikacje Bezpieczeństwo transakcji online - autouzupełnianie

Bezpieczeństwo transakcji online - autouzupełnianie

Z  artykułu dowiesz siękarta kredytowa - bezpieczeństwo

  • Jakie dane są konieczne do poprawnej autoryzacji karty kredytowej.
  • Kiedy bezpieczeństwo Twojej karty kredytowej może być zagrożone.
  • Do czego służy funkcjonalność autocomplete w przeglądarce internetowej.
  •  Jak ochronić dane swojej karty kredytowej?

Wstęp 

Coraz częściej płatności w polskich sklepach internetowych można dokonać  korzystając z karty kredytowej. Zazwyczaj dane wymagane do autoryzacji karty podajemy on-line, każdorazowo przy zakupie. Informacje te nie są nigdzie przechowywane, a zatem nie mogą być przechwycone i wykorzystane przez hackerów. Przynajmniej tak zapewniają sprzedawcy.  Czy aby na pewno to cała prawda?

O autoryzacji karty kredytowej.

Płatność on-line, z wykorzystaniem karty kredytowej wygląda w uproszczeniu w następujący sposób:

  • Wybieramy interesujące nas towary.
  • Wypełniamy dane naszej karty kredytowej (imię oraz nazwisko widniejące na karcie; numer karty; data ważności; kod zabezpieczający).
  • Naciskamy przycisk „wyślij”.
  • Jeśli cała procedura zostanie przeprowadzona pomyślnie, nasza karta zostaje obciążona płatnością, a towar jest wysyłany na wskazany adres.


Przykładowy formularz  wypełnienia informacji o karcie kredytowej przedstawiamy poniżej.

 karta kredytowa - formularz

Funkcjonalność autocomplete w przeglądarce WWW

W artykule przedstawiamy działanie funkcjonalności autouzupełniania (ang. autocomplete) w przeglądarce Firefox3.

Uwaga: w pozostałych przeglądarkach, funkcjonalność może działać inaczej.

Jeśli często wypełniamy formularze on-line – uzupełniając powtarzające się fragmenty, np.: imię, nazwisko, nazwa firmy, e-mail, itd. – z pomocą przychodzi nam funkcjonalność autocomplete , dostępna w przeglądarkach internetowych. Pozwala ona na samoczynne zapamiętanie pewnych danych, a następnie przywołanie tych danych w sposób automatyczny . Przywołanie „podpowiedzi”  wypełnienia następuje poprzez podwójne kliknięcie na pole, które chcemy wypełnić. Dzięki temu nie jesteśmy zmuszeni do żmudnego, ręcznego uzupełniania dużej ilości danych.

Autouzupełnianie – przykład

Aby zobrazować funkcjonalność otwórzmy przeglądarkę Firefox i wejdźmy na stronę wyszukiwarki Google (strona wyszukiwania hasła XSS). Następnie wpiszmy w pole szukania słowo: securitum.
Zamknijmy teraz wszystkie okna przeglądarki Firefox i otwórzmy ją ponownie, wchodząc na stronę o zupełnie innym profilu: tlumacz.interia.pl

Kliknijmy dwukrotnie w polu „wpisz hasło”.  W tym momencie otrzymamy listę słów szukanych wcześniej w Google - w tym "securitum"...

autocomplete - interia formularz

 

Zauważmy że:

  • Autouzupełnianie umożliwiło nam wypełnienie danymi z Google informacji na zupełnie innej stronie (tłumacz.interia.pl).
  • Zamknięcie przeglądarki nie usuwa historii autouzupełniania.
  • Autouzupełnianie działa niezależnie od użytkownika (nie wymagane są np. potwierdzenia chęci korzystania z tej funkcjonalności).
  • Aby otrzymać podpowiedź wypełnienia na tlumacz.interia.pl (podpowiedź zawierała dane wpisane na stronie Google) nie musieliśmy podawać hasła zabezpieczającego.
Dlaczego wybraliśmy do przykładu akurat strony Google oraz Interii? Otóż oba serwisy w formularzu HTML wykorzystują zmienną o nazwie q

 

Fragment kodu HTML Interia:

autocomplete - interia - kod zrodlowy 

Fragment kodu HTML Google:

autocomplete - google - kod zrodlowy

Z kolei dlaczego nie wykorzystaliśmy głównej strony google? Otóż na głównej stronie, pole formularza posiada wyłączoną opcję autocomplete!

Fragment kodu HTML głównej strony Google z wyłączoną funkcjonalnością autocomplete dla pola q:

 autocomplete - google - kod zrodlowy 2

Wniosek z powyższych przykładów: autouzupełnianie działa dla pól formularza HTML, które mają takie same nazwy (mimo, że znajdują się w zupełnie innych formularzach, na zupełnie innych stronach). Dzięki tej właściwości - działa wskazany wyżej przykład z wyszukiwarką Google oraz stroną słownika Interia.

Zagrożenia stwarzane przez autocomplete.

Warto zauważyć,  iż podobną procedurę można wykonać dla formularzy, gdzie proszeni jesteśmy o wypełnienie danych karty kredytowej. W takim przypadku, na zupełnie innej stronie jesteśmy w stanie odtworzyć numer karty kredytowej, imię i nazwisko posiadacza, kod zabezpieczający – w skrócie: wszystkie dane, które uzupełniamy w polach tekstowych formularza. Jedyną informacją, której brakuje do uzyskania pełnych danych karty kredytowych jest data ważności karty (miesiąc/rok) – tutaj jednak wybór jest ograniczony…

Aby uzyskać powyżej wskazane dane karty kredytowej, muszą być dodatkowo spełnione pewne warunki, spośród których najistotniejszy jest pierwszy:

  • Atakujący musi posiadać dostęp do przeglądarki, z której nastąpiło wpisanie danych karty kredytowej.
  • Atakujący musi "zgadnąć" nazwy pól formularza służącego do wypełniania karty kredytowej (zazwyczaj nie stanowi to problemu).
  • Formularz musi mieć aktywną opcję autocomplete  (jest to domyślne działanie formularzy).

Jak się chronić?

Dane, o których mowa w artykule przechowywane są w przeglądarce internetowej. Istnieją jednak następujące metody ochrony przed tego typu wyciekiem poufnych danych:

Wyłączenie autocomplete w przeglądarce

W przypadku przeglądarki Firefox3, należy z menu głównego wybrać: Narzędzia -> Opcje a następnie na zakładce Prywatność odznaczyć opcję: „pamiętaj dane wprowadzone w formularzach i pasku wyszukiwania”.

Spowoduje to dezaktywację mechanizmu w obrębie przeglądarki.

Operację może wykonać użytkownik niezależnie od twórcy / dostawcy portalu płatności.

Usunięcie cache z przeglądarki.

Metoda zalecana przy korzystaniu z publicznych komputerów. Po zakończeniu korzystania z tego typu środowiska - rekomendujemy usunąć historię oraz pliki tymczasowe z przeglądarki. W przypadku Firefox należy z menu głównego wybrać opcję: Narzędzia-> wyczyść dane prywatne. Następnie zaznaczyć wszystkie dostępne opcje i ostatecznie kliknąć "Wyczyść dane prywatne".

Wyłączenie autocomplete na serwerze

Przy tworzeniu formularzy przechowujących wrażliwe dane, przede wszystkim ich twórcy powinni  zadbać o umieszczenie w formularzu parametru autocomplete=”off”, przykładowo:

<form id="paymentform" method="post" action="/ProcessCreditCard/" autocomplete="off">

Zapewni to automatyczną dezaktywację (tylko dla danego formularza) obsługi autouzupełnienia po stronie przeglądarki.

Operację może wykonać dostawca/twórca portalu płatności – niezależnie od ustawień użytkowników korzystających z portalu.

W tym miejscu warto nadmienić, iż poprawność implementacji mechanizmu autocomplete - to jeden z wielu sprawdzanych przez nas elementów ramach oferty testów bezpieczeństwa rozwiązań e-commerce.

Podsumowanie

Przy zakupach on-line zawsze należy zachować odpowiednią ostrożność. Istnieje wiele czynników, które mogą zagrozić bezpieczeństwu transakcji on-line - jednym  z nich jest wyciek danych, odbywający się dzięki niepoprawnie skonfigurowanemu mechanizmowi autouzupełniania. Ochroną przed atakami na ten mechanizm są:

  • poprawne budowanie formularzy (dostawcy portali udostępniających płatności),
  • odpowiednia konfiguracja przeglądarki (użytkownik korzystający z płatności on-line),
  • usuwanie plików tymczasowych przeglądarki (użytkownik korzystający z płatności on-line).

Więcej informacji

O autorze

Michał Sajdak
Dyrektor d/s Rozwoju
Securitum

michal.sajdak@securitum.pl

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Zapraszamy na sekurak.pl

RSS
Subskrybuj RSS:
RSS