Bezpieczeństwo plastikowej karty

Napad na bank w niczym dziś nie przypomina klasycznych scen z filmu "Vabank". Elektroniczni rabusie, aby ukraść pieniądze nie muszą wchodzić z bronią w ręku do banku, robić podkopy do skarbca, czy korzystać z szybkich samochodów do brawurowej ucieczki z miejsca przestępstwa. Działają zdalnie wygodnie siedząc przy komputerze, wykorzystują przeglądarkę, narzędzia hakerskie oraz spyware, by przełamać zabezpieczenia i połączyć się z serwerem bankowym - współczesnym skarbcem. Zamiast sejfów - celem ataku stały się aplikacje bankowe i systemy e-commerce.

Amerykańskiemu kasiarzowi Willie Suttonowi, działającemu w połowie XX w., przypisuje się powiedzenie, iż obrabia on banki, ponieważ "jest to miejsce, gdzie znajdują się pieniądze". W erze cyfrowej ta sama motywacja kieruje podobnymi działaniami w stosunku do szeroko pojętego handlu elektronicznego.

Bezpośrednim obiektem ataku tradycyjnych kryminalistów był kasjer w okienku, dzisiejsi na cel biorą aplikacje bankowe oraz systemy e-commerce. Jednak choć zmieniły się infrastruktura i narzędzia, to cel pozostał ten sam: miejsce, gdzie można ukraść pieniądze, a dzisiaj są to kiepsko zaprojektowane i słabo chronione aplikacje bankowe i e-commerce. Niedbałe zabezpieczenia tych aplikacji ułatwiają kradzież i następnie wykorzystywanie informacji osobowych i finansowych z transakcji kart płatniczych oraz systemów ich przetwarzania.

Lista zagrożeń dotyczących banków i aplikacji płatności jest bardzo długa: kradzież tożsamości, wycieki danych, phishing, ataki SQL Injection, robaki, ataki DoS (Denial of Service), a także botnety - to tylko niektóre z nich. Największym problemem jest to, że zarówno liczba zagrożeń, jak i aplikacji, które wymagają zabezpieczeń - wciąż rośnie.

Nadużycia w sieciach płatności

Bezpieczeństwo plastikowej karty

Zalecenia dotyczące danych z kart płatniczych

Podstawowym celem ataków cyberprzestępców są zazwyczaj sieci płatności. Napastnik poszukuje podatnych systemów i podejmuje próby włamania do nich, aby wykraść informacje finansowe i osobowe, które można łatwo sprzedać online lub wykorzystać do oszustw finansowych.

Czego poszukuje napastnik i gdzie? W praktyce funkcjonują dwa typy płatności elektronicznych: online i fizyczny z wykorzystaniem terminali POS (Point of Sale), akceptujących karty płatnicze. W obu przypadkach klienci pozostawiają część swoich danych. Cyberprzestępcy poszukują danych posiadacza karty, najlepiej połączonych z danymi personalnymi. Kradzież samej karty nie jest już wystarczająca.

Dokonywana przez internet kradzież w sklepie online jest zwykle związana z lukami bezpieczeństwa w komponentach systemu komputerowego, takich jak zapory ogniowe, serwery czy aplikacje.

W sklepie fizycznym istnieje kilka sposobów kradzieży danych. Jednym z nich może być zhakowanie podatnej na ataki sieci bezprzewodowej, za pośrednictwem której transmitowane są dane właściciela karty.

W różnych rejonach świata dominują różne rodzaje przestępstw. W Europie więcej nadużyć związanych z kartami płatniczymi odnotowuje się w handlu online, natomiast w Stanach Zjednoczonych - w sklepach fizycznych.

Wyróżnia się dwa zasadnicze rodzaje danych związanych z kartami płatniczymi i każdy z nich wymaga innego typu ochrony. Pierwszy, to dane posiadacza karty (Cardholder Data), obejmujące: numer konta podstawowego, nazwę/nazwisko posiadacza, kod serwisowy i datę ważności. Drugi - to wrażliwe dane uwierzytelniania SAD (Sensitive Authentication Data), znajdujące się na pasku magnetycznym: 3- lub 4-cyfrowe kody (CAV2, CID, CVC2, CVV2) oraz PIN.

Przy realizacji transakcji kartą płatniczą, sprzedający nie powinien przechowywać danych uwierzytelniania (SAD) po wykonaniu autoryzacji, aczkolwiek może zachować dane posiadacza karty, jeżeli są odpowiednio zaszyfrowane.

PCI Data Security Standard (DSS) - dotyczy jednostek przechowujących i/lub transmitujących dane posiadacza karty. Obejmuje techniczne i operacyjne komponenty związane z danymi posiadacza karty. Wymagania PCI DSS powinien spełniać np. sklep akceptujący karty płatnicze.

Wymagania bezpieczeństwa dla PIN Entry Device (PED) - odnoszą się do charakterystyki i zarządzania urządzeniami wprowadzania PIN, używanymi w transakcjach kartami płatniczymi.

Payment Application Data Security Standard (PA-DSS) - wymagania dla projektantów oprogramowania komercyjnego (i integratorów aplikacji płatności) przechowującego, przetwarzającego i transmitującego dane posiadacza karty w ramach procesów autoryzacji i sprawdzania pokrycia finansowego.

Niezabezpieczone aplikacje bankowe

Bezpieczeństwo plastikowej karty

Typy danych na karcie płatniczej

Celem dawnych włamywaczy były sejfy bankowe, w których przechowywano złoto. Poza solidnym zabezpieczeniem wokół i wewnątrz takiego skarbca, głównym problemem dla włamywaczy był ciężar łupu i jego wyniesienie. Nawet, jeżeli napastnik dostał się do skarbca, to trudno mu było wynieść stamtąd znaczącą ilość kruszcu.

Takich kłopotów nie sprawiają dane: są niezwykle "lekkie" i bardzo łatwe do przenoszenia - transfer gigabajtów danych to zadanie niemal trywialne w sensie fizycznym. Dane znajdujące się w dzisiejszych aplikacjach bankowych mają wartość złota, a mimo to dostęp do nich nie jest zbyt skomplikowany.

Z aplikacjami tymi mogą być powiązane dziesiątki lub setki milionów rekordów. Aplikacja łączy się z bazą danych, służącą za repozytorium wrażliwych danych osobowych. Łup napastnika znajduje się wewnątrz takich aplikacji i może przybierać różnorodne formy - zazwyczaj są to informacje o koncie klienta i personalnych identyfikatorach, które można potem użyć do uzyskiwania nielegalnych korzyści. Wyprowadzenie takich danych polega jedynie na transmisji ciągów zer i jedynek z jednego komputera do drugiego, w niczym nie przypominając trudu i ryzyka związanego z przewozem ciężkich sztab złota.

Jak pokazują wyniki audytów systemu Visa, niewłaściwe przechowywanie danych to podstawowa przyczyna naruszenia danych posiadacza karty. Często znajdują się one w bazach danych, w których nigdy nie powinny być przechowywane po tym, gdy żądana transakcja karty kredytowej została autoryzowana.

Z kolei, z badań przeprowadzonych na zlecenie RSA/EMC przez Forrester Consulting wśród organizacji obsługujących karty płatnicze, a dotyczących działań narażających na ryzyko dane posiadaczy kart - wynika, że 81% badanych przechowywało w swoich bazach danych numery kart płatniczych, 73% - daty ich ważności, a 57% - dane z pasków magnetycznych kart.

Wciąż funkcjonują aplikacje własne i komercyjne, które narażają dane, ponieważ nie były zaprojektowane zgodnie z wymaganiami bezpieczeństwa i zaleceniami bezpiecznego kodowania. W niektórych przypadkach raportowane usterki kodu naruszają właśnie proste standardy projektowania aplikacji, takie jak OWASP (Open Web Application Security Project).

W 2008 r. nadal można było znaleźć aplikacje bankowe, które są wdrażane bez uwzględniania wymogów formalnych wywodzących się z SDLC (Software Development Life Cycle) i przeglądania kodu pod kątem luk bezpieczeństwa. W wielu przypadkach okazuje się, że projektanci aplikacji przetwarzania płatności nawet nie znają wymagań w zakresie właściwego przetwarzania i przechowywania informacji wrażliwej.

Dodatkowy poziom ochrony winien być zapewniony przez odpowiednie testowanie aplikacji płatniczych. Powinno się je przeprowadzać z uwzględnieniem wszystkich aspektów tego, jak informacja wrażliwa jest obsługiwana w całym jej cyklu życia, oraz historycznych zapisów transakcji wynikowych. Zbyt wiele zespołów testowania aplikacji skupia się jednak wyłącznie na testowaniu funkcjonalności, skalowalności i obciążeń.

Podejmuje się próby skanowania różnych komponentów aplikacji z pomocą ogólnych skanerów podatności, ale przy braku doświadczenia niezbędnego do właściwej interpretacji wyników takiego skanowania, okazują się one nieadekwatne dla aplikacji pracujących w otwartej, publicznie dostępnej sieci.

Wymagania PCI DSS wobec aplikacji

1. Powinny być projektowane w ramach dobrze zdefiniowanego "cyklużycia projektowania aplikacji" - SDLC, z uwzględnieniem zasad bez- pieczeństwa włączanych w proces projektowania.

2. Winny rezydować w utwardzonym systemie operacyjnym, z dobrze zdefiniowanymi ograniczeniami funkcjonalności do niezbędnego minimum.

3. Nie powinny nigdy przechowywać wrażliwych danych uwierzytelniania (z pasków magnetycznych kart, kodów bezpieczeństwa itp.).

4. Nie powinny kolidować z kontrolą bezpieczeństwa, taką jak antywirus, zapora ogniowa, ochrona kryptograficzna, schematy bezpiecznego uwierzytelniania, IDP/IPS itp.

5. Powinny być testowane pod kątem podatności, w uzupełnieniu testów funkcjonalności, przez kogoś, kto nie jest autorem faktycznego kodu.

6. Aplikacje oparte na Webie muszą być tworzone w zgodzie z wytycznymi bezpiecznego kodowania OWASP.

7. Aplikacje łączące się z internetem muszą być zabezpieczane drogą rewizji kodu źródłowego przez autoryzowane jednostki lub chronione przez aplikacyjne zapory ogniowe.

Payment Card Industry i bezpieczeństwo aplikacji

Bezpieczeństwo plastikowej karty

Standardy bezpieczeństwa PCI

Do niedawna nie przejmowano się zbytnio wymogami bezpieczeństwa aplikacji i płacimy teraz za to wysoką cenę - częstymi przypadkami naruszania danych. Microsoft na przykład zaczął poważnie traktować bezpieczeństwo aplikacji dopiero w 2002 r., ogłaszając inicjatywę Trustworthy Computing (TWC). TWC jest reakcją na dewastujące ataki na system operacyjny Microsoftu z użyciem takich robaków, jak Code Red czy Nimda.

Bezpieczeństwo aplikacji stanowi podstawę standardów i wymogów bezpieczeństwa w zakresie Payment Card Industry (PCI). W ciągu ostatnich kilku lat naruszenia danych są liczone w setkach milionów rekordów - w większości przypadków przy pracujących zaporach ogniowych, stosowaniu szyfrowania i uwierzytelniania. Dzieje się tak dlatego, że aplikacje mają luki bezpieczeństwa, które niwelują działanie większości zastosowanych środków ochrony. To zupełnie jakby wstawić opancerzone drzwi wejściowe do banku, ale pozostawić otwarte okno na zapleczu.

Słabe punkty mogą pojawiać się w całym systemie przetwarzania informacji kart płatniczych: w punktach kasowych (POS), komputerach osobistych i serwerach, bezprzewodowych punktach dostępowych lub aplikacjach e-commerce. Mogą też dotyczyć systemów usługodawców i instytucji finansowych, powiązanych z placówkami handlowymi akceptującymi karty płatnicze.

Rosnąca liczba przypadków kradzieży danych z kart płatniczych skłoniła operatorów tych systemów do działań na rzecz zwiększenia bezpieczeństwa. Powstał standard PCI DSS (Payment Card Industry Data Security Standard), który nakłada na każdego sprzedawcę przetwarzającego, przesyłającego lub przechowującego informacje o kartach - wymóg spełnienia określonych kryteriów.

Standardy bezpieczeństwa PCI są wymaganiami technicznymi i operacyjnymi ustanowionymi przez radę PCI Security Standards Council (PCI SSC), w celu ochrony danych posiadacza karty. Dotyczą wszystkich organizacji, które przechowują, przetwarzają lub transmitują takie dane, oraz zawierają zalecenia dla projektantów oprogramowania i dostawców aplikacji oraz urządzeń używanych w takich transakcjach. Rada PCI SSC jest odpowiedzialna za zarządzanie tymi standardami, a zgodność z nimi jest wymuszana przez jej członków-założycieli: American Express, Discover Financial Services, JCB, MasterCard i Visa.

W przypadku PCI DSS, "waluta" to wrażliwe informacje, które najbardziej potrzebują ochrony, takie jak: numery kont, nazwisko właściciela karty, różne kody serwisowe, data ważności i inne pozycje, które mogą być przechowywane cyfrowo, a także dane z pasków magnetycznych, w tym kody zabezpieczeń i PIN-y.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200