Analiza bezpieczeństwa połączeń HTTPS poszczególnych serwisów bankowości elektronicznych na dzień 21 czerwca 2015

Opublikowany: 24-06-2015 21:11 przez Krystian

Na wstępie chciałbym zaznaczyć, że sam pomysł przetestowania bezpieczeństwa połączeń HTTPS banków nie jest do końca mój. Kilka miesięcy temu natknąłem się na wpis Yeri "Tuinslak" Tiete, który przetestował pod tym kątem Belgijskie banki, które po jego publikacjach posypały głowy popiołem i poprawiły wytknięte przez niego braki. Pierwszy post Tuinslaka znajdziecie pod tym adresem. Oczywiście od razu pomyślałem nad podobną analizą, ale dotyczącą rzecz jasna rodzimych banków oferujących bankowość elektroniczną dla klientów indywidualnych.

 

Założenia analizy

 

Zacznijmy od przedstawienia kilku faktów/założeń związanych z przeprowadzoną przeze mnie analizą:

 

- ponieważ nie jestem ekspertem od bankowości postanowiłem zdać się na raport "Największe banki w Polsce – zestawienie" opublikowany przez stefczykradzi.pl zamiast samodzielne typować listę banków. Co za tym idzie analiza objęła 20 największych banków (w oparciu o sumę ich aktywów na koniec 2013 roku). Proszę więc nie mieć do mnie pretensji, że kolejność jest taka, a nie inna, albo o to, że jakiegoś banku nie ma na liście. Ze względu na przejęcie banku Nordea przez PKO Bank Polski de facto przetestowanych zostało 19 banków. Ponieważ w ostatnich tygodniach głośna była sprawa włamania do Plus Banku, również i on trafił do listy analizowanych serwisów.

 

- analiza NIE DOTYCZY bezpieczeństwa systemów bankowości elektronicznej (np. klasyczne ataki na aplikacje webowe), a jedynie bezpieczeństwa POŁĄCZEŃ HTTPS pomiędzy klientami, a bankami.

 

- wyniki oparte zostały o dane uzyskane z serwisów: Qualys SSL Labs i digicert SSL Certificate Checker. Potwierdziłem je narzędziem TLSSLed. Warto zaznaczyć, że wykonywane przeze mnie czynności nie miały złośliwego/destrukcyjnego charakteru i dowolna osoba może powtórzyć wykonane przeze mnie testy (i to w ciągu godziny).

 

- ze względu na wieloaspektowość oceny wystawianej przez Qualys SSL Labs to właśnie oceny pochodzące z tego serwisu pojawiły się w obu dalszych zestawieniach, uznałem, że próba zaproponowania własnego algorytmu oceniania mija się z celem, a jego wynik będzie i tak bardzo zbliżony.

 

- celem tego artykułu jest zwrócenie uwagi na pewien problem i próba zmotywowania banków posiadających problemy z certyfikatami do ich wymiany, co w efekcie podniesie poziom bezpieczeństwa klientów tychże banków.

 

- ze względu na to, że nie posiadam kont z większości z tych banków punktem, który testowałem były adresy logowania do serwisów bankowości elektronicznej. Z dużym prawdopodobieństwem certyfikaty używane po zalogowaniu są dokładnie takie same. Jeśli ktoś posiada informacje o tym, że jest inaczej proszę o kontakt (chociaż niewiele to zmieni, skoro dane dostępowe wysyłane są testowanymi przeze mnie kanałami).

 

Sposób przygotowania analizy to kilka prostych kroków:

 

  1. Wyszukanie listy 20 największy Polskich banków
  2. Wyszukanie dla każdego banku adresu/adresów logowania do serwisów bankowości elektronicznej
  3. Poddanie adresów procesowi oceny bezpieczeństwa połączenia HTTPS
  4. Zebranie wyników

 

Aby czytelnicy mogli samodzielnie potwierdzić wyniki moich testów w tabeli z ocenami znajdują się też linki do przetestowanych serwisów.

 

Wynik analizy połączeń HTTPS poszczególnych bankowości elektronicznych na dzień 21 czerwca 2015

 

Sposób interpretacji wyników

 

A : serwisy, których certyfikaty są w bardzo dobrym stanie, które nie są podatne na popularne ataki (np. POODLE, Heartbleed, BEAST), nie wspierają zestawów słabych algorytmów kryptograficznych (RC4) i protokołów uznanych za niebezpieczne (SSL2, SSL3) oraz zostały wystawione z użyciem bezpiecznych algorytmów. Przez dłuższy czas wymiana tych certyfikatów nie będzie konieczna, chociaż mogą pojawić się pewne drobne zastrzeżenia, że przy odświeżeniu certyfikatu warto np. użyć SHA-2 zamiast SHA-1.

 

B : serwisy, których certyfikaty są w dobrym stanie, które zasadniczo nie są podatne na popularne ataki (np. POODLE, Heartbleed, BEAST), nie wspierają zestawów słabych algorytmów kryptograficznych (RC4) i protokołów uznanych za niebezpieczne (SSL2, SSL3) oraz zostały wystawione z użyciem bezpiecznych algorytmów. W przeciwieństwie do algorytmów ocenianych jako 'A' posiadają jednak pewne drobne słabości, czasem pojedyncze odstępstwa od wcześniej wymienionych reguł (np. BNP PARIBAS BANK dopuszcza użycia RC4, zaś PKO i mBank pozwalają na użycie protokołu Diffie-Hellman do wymiany kluczy). Przez pewien czas wymiana tych certyfikatów nie będzie konieczna, chociaż mogą pojawić się pewne drobne zastrzeżenia, że przy odświeżeniu certyfikatu warto np. użyć SHA-2 zamiast SHA-1 oraz oczywiście poprawić trzeba niedociągnięcia, które spowodowały obniżenie oceny do 'B'.

 

C : nie trzeba być omnibusem, aby odgadnąć, że certyfikaty należące do tej grupy mają znacznie poważniejsze braki niż certyfikaty 'B', więc oferują niższy poziom bezpieczeństwa. Niedopatrzenia to: w przypadku RAIFFEISEN czy PLUS BANK - wsparcie tylko starszych protokołów - TLS 1.0 (brak 1.1 i 1.2), w przypadku jednego z serwisów DEUTSCHE BANK - podatność na atak CRIME, zaś w przypadku SGB-BANK - używanie RC4 również z nowszymi przeglądarkami (oraz dodatkowo wspieranie SSL3, który jest uznawany za przestarzały).

 

F : najgorsza możliwa ocena, która oznacza poważne problemy z połączeniem HTTPS. Źródła takiej oceny to przede wszystkim podatność na atak POODLE (BANK BPH, jeden z serwisów DEUTSCHE BANK oraz BANK OCHRONY ŚRODOWISKA), ale również dopuszczenie do użycia niebezpiecznego zestawu protokołów (BANK GOSPODARSTWA KRAJOWEGO) umożliwiających przeprowadzenie ataków MITM w pewnych sytuacjach.

 

Podsumowanie wyników

 

W skrócie napisać można, że banki, których serwisy dostały ocenę A mogą spać spokojnie i jeśli nie wydarzy się żadna kryptokatastrofa taka jak nieoczekiwane odnalezienie jakiejś straszliwej dziury, w którymś z uważanym obecnie za silny algorytmie to przez dłuższy czas nie trzeba przejmować się jakością połączeń HTTPS. Banki, których serwisy otrzymały ocenę B powinny w niedalekiej przyszłości poprawić to i owo podczas odświeżania certyfikatów do ich serwisów. Banki, których serwisy otrzymały ocenę C powinny poważnie zastanowić się nad wprowadzeniem odpowiednich zmian w najbliższych miesiącach. Zaś te banki, których serwisy otrzymały ocenę F powinny jutro z samego rana zabrać się do roboty i dla dobra swoich klientów jak najszybciej poprawić wszystkie istniejące problemy (przed publikacją artykułu wysłałem maile do banków, które otrzymały ocenę F, tylko jeden potwierdził odbiór maila).

 

Wynik analizy połączeń HTTPS poszczególnych bankowości elektronicznych marzec 2015

 

Ponieważ tematem zainteresowałem się przed zmartwychwstaniem mojego bloga, więc posiadam zestawienie z mniej, więcej początku marca 2015. Proszę mieć na uwadze, że część zmian ocen - obniżenie oceny z czerwca ma związek z podniesionymi wymaganiami Qualys SSL Labs. Co oznacza, że pewne certyfikaty w marcu oceniane były na A, a obecnie już tylko na B. Jest to ten fragment bezpieczeństwa IT, który przypomina nam, że bezpieczeństwo to nie stan, a proces. To co było uznawane było za bezpieczne wczoraj, jest już mniej bezpieczne dzisiaj, a jutro może być uważane, za pełne podatności i luk.

 

 

Praktyczne zastosowanie istniejących błędów w atakach

 

Rodzi się pytanie, czy można przeprowadzić praktyczny atak na użytkowników serwisów, które dostały najniższą ocenę. Odpowiedź w mojej opinii brzmi: tak, w pewnych okolicznościach ci użytkownicy mogą zostać w skuteczny sposób zaatakowani, ponieważ ich bank nie wykazał się odpowiednią skrupulatnością w obszarze bezpieczeństwa, a kanał komunikacyjny pomiędzy nimi, a bankiem nie jest odpowiednio zabezpieczony. Naturalnie banki mogą używać dodatkowych mechanizmów, które zminimalizują szanse na skuteczny atak i utratę środków jednak zostawienie posiadanych podatności to proszenie się o guza w dzisiejszych cyfrowych czasach.

 

See ya soon, bro

Brak komentarzy