Bank z atrakcyjnymi lokatami i dostępem do danych innych klientów w zestawie

dodał 18 lutego 2020 o 17:15 w kategorii Prawo, Prywatność, Wpadki  z tagami:
Bank z atrakcyjnymi lokatami i dostępem do danych innych klientów w zestawie

Bankom powierzamy nasze pieniądze, ponieważ ufamy, że o nie zadbają. Z podobnego powodu nie boimy się powierzyć im naszych danych. Nie zawsze jednak banki są tego zaufania godne, a czasem popełniają karygodne błędy.

Poniższy artykuł dotyczy serwisu lokatafacto.pl – wysokooprocentowanych lokat oferowanych przez polski oddział włoskiego banku Banca Farmafactoring, należącego do BFF Banking Group.

Czytacie wpis gościnny
Autorem artykułu jest Wojtek Bojdoł – mgr psychologii, technik elektronik. Od 25 lat użytkownik Linuxa i sympatyk open source. Jako freelancer realizuje projekty dla londyńskich oddziałów międzynarodowych firm. Digital Nomad. Amator biegania w klubie RunHogs.

Niedziela, 9 lutego 2020. Po powrocie z zagranicznej delegacji sprawdzam stan promocyjnych lokat, jakie wygasły mi w jednym z banków w trakcie tygodnia. Oferta na rynku jak zwykle uboga – żadna z ofert nie jest nawet bliska stopy inflacji w naszym kraju, nie wspominając o stopie po odjęciu podatku Belki. Postanowiłem przetestować tym razem kolejną instytucję finansową, z której jeszcze nie korzystałem. Jej lokaty wyróżniały się na tle konkurencji już od pewnego czasu. „Myślimy o Tobie na poważnie” – brzmi ciekawie. Już kilka tygodni wcześniej sprawdziłem ją w KRS i na liście ostrzeżeń KNF, na klon firmy ze złotem w nazwie nie wygląda. Rejestracja w systemie wymagała skanu dowodu osobistego. Smutne, ale nie jest to pierwsza instytucja z takimi wymaganiami. Przyszły kody SMS, wgrałem pliki, mam login i hasło, czekam na numer konta, by wykonać przelew potwierdzający moją tożsamość.

Poniedziałek, 10 lutego. W trakcie porannej kawy postanowiłem sprawdzić, czy moje konto można już aktywować. W końcu już po 10:30 rano, a to przecież firma finansowa, która zarabia na obrocie. Loguję się. Numeru konta dalej nie widać. Zacząłem więc przyglądać się systemowi.

Zaciekawiła mnie zakładka profil, gdzie obok zmiany hasła i zakładki z moimi danymi znajduje się nietypowa sekcja o nazwie „Dokumenty”. Widzę w niej wszystkie dokumenty wysłane przeze mnie wcześniej do banku oraz dokumenty wygenerowane przez bank. Każdy z linkiem do pobrania.

Wszystkie dotyczą mnie, więc o ile sama funkcja jest nietypowa jak na systemy bankowe, to wszystko wygląda OK. Moje zainteresowanie wzbudza format linku do pobrania dowolnego z nich:

https://fbank24.lokatafacto.pl/downloadAttachment?id=8450

Hmm, ciekawe. Sprawdźmy, co będzie, jeśli wybiorę jakiś mniejszy numer. Wybrałem kilka losowych mniejszych od mojego i dostałem dokumenty do pobrania. W momencie, gdy trafiłem na id=8416 i otrzymałem plik o nazwie wniosek.pdf, kawa była skonsumowana w 20%. Rzucam okiem na dokument – a tam faktyczne dane wniosku nieznanej mi osoby. Adrenalina działa lepiej niż kawa. Robi się poważnie. Brak zabezpieczeń? O próbie przełamania nie może być więc mowy. Ale bez zbędnej zwłoki sprawdzam możliwości kontaktu z bankiem online – do inspektora danych osobowych jest tylko adres e-mail, jedyny numer telefonu to infolinia.

10:52 – dzwonię na infolinię i proszę o połączenie z działem bezpieczeństwa. Po chwili rozmowy z konsultantem ogólnym otrzymuję informację, że połączenie bezpośrednie jest niemożliwe, ale może przekazać moje zgłoszenie do tego działu i ktoś się ze mną skontaktuje. Najlepszą formą kontaktu jego zdaniem jest jednak ogólny formularz na stronie. Przekazałem telefonicznie skrócone informacje o tym, że system posiada poważną lukę i moim zdaniem zgodnie z RODO firma ma 72 godziny od tego zgłoszenia na powiadomienie UODO. Poinformowałem również, że formularz kontaktowy na stronie nie wydaje mi się odpowiednią formą do przekazywania poufnych informacji. Rozmowy na infoliniach są zwykle nagrywane, więc zakładam że mogą odsłuchać je sobie ponownie w gronie osób technicznych.

14:11 – odbieram telefon od osoby z tej instytucji. Nie słyszę jednak w telefonie nazwy instytucji, tylko nazwę jej marki w internecie. Zapala mi się czerwona flaga nr 2 – zwracam szczególną uwagę, by firmy posługiwały się swoimi nazwami rejestrowymi, zwłaszcza firmy podlegające kodeksowi spółek handlowych. Z rozmowy wynika, że ta osoba również nie jest mocno techniczna. Proszę o przesłanie klucza PGP/GPG w celu ustalenia bezpiecznej formy komunikacji. Niestety nie ma takiej możliwości. Proszony jestem o przesłanie screenów poprzez formularz kontaktowy na stronie. Komunikacja przekazana w tej formie jest uważana przez bank za bezpieczną – tym samym kanałem przyjmują przecież nasze skany dowodów osobistych. Tak, to ten kanał ma błędy, ale OK – jest SSL, jeszcze nie potwierdzili, że dane, jakie zobaczyłem, są prawdziwe – zawsze mogłem trafić na dane z honeypota. Informuję rozmówcę, że do 15 minut prześlę szczegóły. Tak też zrobiłem.

16:10 – kontakt z banku w trakcie mojej wideokonferencji z klientem, oddzwaniam po kilkunastu minutach. Otrzymuję potwierdzenie, że zgłoszony przeze mnie problem faktycznie występuje, serwis transakcyjny został przestawiony w tryb prac serwisowych i problem zostanie naprawiony prawdopodobnie w dniu dzisiejszym. Otrzymuję gorące podziękowania z informacją, że bank skontaktuje się ze mną w terminie późniejszym w celu uzgodnienia ew. formy podziękowania za zgłoszenie. Zapytany, czy takie informacje są dla mnie wystarczające, informuję rozmówcę, że prowadzę działalność w branży bezpieczeństwa IT od lat i to standardowa praktyka, że informujemy firmy o posiadanych przez nie lukach i dajemy czas na naprawienie. Jednak tego typu przypadki są świetnym materiałem edukacyjnym i chciałbym opublikować opis tego przypadku na łamach serwisu Zaufana Trzecia Strona lub przedstawić na branżowej konferencji. Poprosiłem w rozmowie telefonicznej o poinformowanie mnie, czy bank wyraża zgodę na publikację po rozwiązaniu zgłoszonych problemów. Zostałem poinformowany, że skontaktują się ze mną w tej sprawie.

Po rozmowie sprawdziłem, że system faktycznie przestał pozwalać na logowanie się użytkownikom i wyświetlił stronę o pracach serwisowych. Zadowolony ze skutecznie wykonanego zgłoszenia skontaktowałem się z Adamem w celu uzyskania jego oceny sytuacji. Nie informuję go jeszcze, jaka to instytucja, w mojej opinii bank powinien mieć czas, jaki ustawa przewiduje, na powiadomienie UODO. Czy 72 godziny są wystarczające? To dobre pytanie.

Co ciekawe – moje konto pozostaje dalej niezweryfikowane, bez numeru rachunku do przelewu weryfikacyjnego. Czyli dostęp do danych, takich jak PESEL, skan dowodu osobistego, dane o dochodach, mogły mieć osoby niebędące jeszcze klientami banku. Potencjalny atakujący mógł uzyskać dostęp na podstawie sfałszowanego skanu dowodu osobistego. W dyskusji z Adamem zastanawiam się, czy mieli logi. Czy są w stanie po moim zgłoszeniu przejrzeć, do jakich dokumentów uzyskałem dostęp, a także czy ktoś wcześniej wykorzystał tę samą lukę w ich systemie.

Szacunkowo na podstawie ID oceniam, że problem może dotyczyć mniej niż 2000 osób. Skala nie jest więc olbrzymia. Przynajmniej w naszym kraju. Ten bank mimo wszystko działa również w innych krajach strefy euro. Czy w systemach dedykowanych dla tamtych państw ten błąd również występował? Czy po moim zgłoszeniu one również zostały zweryfikowane, razem z ich logami? Pytań jest wiele.

Środa, 12 luty, 8:00. Poranna kawka. Wchodząc na stronę logowania banku, zauważam w tytule nazwę „eBankNet”. Google pod tym hasłem znajduje zrzuty ekranów z różnych banków spółdzielczych. Ich ekrany wyglądają bardzo podobnie do systemu tego banku. W instrukcjach do systemów BS (pełne pdf dostępne online na stronach banków) w sekcji profil nie widzę jednak działu „Dokumenty” lub odpowiednika. Możliwe, że ta funkcja została dodana tylko na życzenie tego banku lub zbudowana w pełni przez wewnętrznych programistów. Sprawdzam w banku, czy system faktycznie został poprawiony.  Robię dodatkowe screeny, sprawdzam jeszcze bliźniaczą funkcję „downloadPlik”. W obu przypadkach na inne ID, mniejsze od mojego, dostaję błąd. Zostaję również wylogowany z systemu. Przy każdym logowaniu muszę przepisać kod z SMS-a, więc jest to pewne utrudnienie dla osób próbujących ataków typu brute force.

Zostało 26 godzin od pierwotnego zgłoszenia incydentu do limitu 72 godzin zdefiniowanego przez RODO. Potwierdzam z Adamem, że będzie weryfikował materiał przed jego publikacją. Czas, by sprawę zweryfikowała zaufana trzecia strona.

Post scriptum

Czas leci zdumiewająco szybko. Sierpień 2012 – to wtedy ukazał się mój pierwszy tekst dla Zaufanej Trzeciej Strony. Opisywałem metody stosowane przez polskie wydawnictwa do „zabezpieczenia” elektronicznych wersji wydawanych przez nie czasopism. Kiedy zgłaszałem te problemy wydawnictwom, zazwyczaj jako ich prenumerator, nie spotkałem się z zainteresowaniem. Ale nie dziwiło mnie to. Media to jedna z branż, dla której wykonuję różne usługi IT od lat, wiem, z jakimi problemami się zmagają. Po publikacji artykułu, ponad rok po poinformowaniu wydawnictw o poważnych lukach w ich systemie, jedno z wydawnictw przedstawiło swoje stanowisko. Jeśli ktoś chce czytać bez płacenia za treści, to zawsze będzie mieć jakąś metodę. Może np. iść do Empiku albo do biblioteki. W ich przypadku takie podejście to tylko decyzja biznesowa. Nie spodziewałem się jednak, by podobne podejście do budowania systemów zabezpieczeń mogło istnieć w branży finansowej.

Odpowiedź banku

Jako redakcja wysłaliśmy do BFF Banking Group kilka pytań i dość szybko otrzymaliśmy odpowiedzi.

Czy system obsługujący możliwość pobierania dokumentów był unikatowy dla polskiego rynku, czy działał także w innych państwa oddziałach?

We wszystkich krajach, w których oferujemy depozyty, korzystamy z usług zewnętrznych dostawców. Zgodnie z tym podejściem w Polsce wybraliśmy lidera rynku, skoncentrowanego wyłącznie na Polsce.

Czy ustalili Państwo, czy błąd był wcześniej wykorzystany do pobierania danych innych osób?

Przeprowadziliśmy gruntowne dochodzenie i nie znaleźliśmy dowodów na inne przypadki. Jak tylko uzyskaliśmy powiadomienie, tymczasowo zawiesiliśmy system w celu znalezienia rozwiązania i ochrony naszych klientów, przywracając funkcjonalność z poprawką tego samego dnia.

Czy przed uruchomieniem serwisu przeprowadzali Państwo testy bezpieczeństwa?

Oczywiście przed uruchomieniem oferty depozytowej w Polsce przeszliśmy wszystkie niezbędne testy bezpieczeństwa.

Jak już było przekazane, wybraliśmy w Polsce wiodącego dostawcę usługi z certyfikatem ISO 27001, a także przeprowadzamy okresowe kontrole, mające na celu zagwarantowanie ciągłego bezpieczeństwa naszym klientom.

Komentarz redakcyjny

Bank bardzo szybko zareagował na zgłoszenie i to należy pochwalić. Niestety sam fakt istnienia błędu i jego rodzaj powodują, że włosy stają dęba na głowie:

  • w serwisie transakcyjnym istnieje błąd, którego wykrycie zajmuje 5 sekund,
  • błąd można wykryć, używając przeglądarki i jednego palca,
  • błąd jest od lat świetnie znany i opisany w każdym poradniku bezpieczeństwa stron WWW w pierwszym akapicie,
  • błąd umożliwia dostęp do danych osobowych innych klientów banku.

Jak zatem wykazano powyżej, zarządzanie ryzykiem nie może polegać na „nasz dostawca ma papierek z ciągiem ‚ISO 27001’ w nagłówku”.