Poważny błąd w aplikacji LUX MEDu – czaty z lekarzem mogli czytać inni użytkownicy

dodał 10 listopada 2017 o 21:12 w kategorii Prywatność, Wpadki  z tagami:
Poważny błąd w aplikacji LUX MEDu – czaty z lekarzem mogli czytać inni użytkownicy

Klienci polskiej służby zdrowia nie mają ostatnio szczęścia do bezpieczeństwa swoich danych. Tym razem incydent dotknął klientów dużej prywatnej firmy medycznej, których czaty z lekarzami mogli czytać inni użytkownicy.

Kilka miesięcy temu opisaliśmy przypadek szpitala w Kole, który dane pacjentów trzymał na widocznym dla całego świata dysku sieciowym. Tym razem od Czytelnika Roberta z Wrocławia dostaliśmy informację, że coś jest nie w porządku z czatem dla pacjentów LUX MEDu.

Debugging na produkcji czy błąd konfiguracji?

LUX MED to, jak sama firma mówi, ” lider prywatnych usług medycznych w Polsce”. Jak na nowoczesną firmę przystało, oprócz wizyt lekarskich i porad telefonicznych oferuje także czat online, w którym można porozmawiać z lekarzem. Robert odkrył, że w trakcie już samego oczekiwania na połączenie z lekarzem, w komunikacji z serwerem LUX MEDu przesyłane jest dużo więcej informacji niż to naprawdę potrzebne. Wystarczyło uruchomić oczekiwanie na połączenie, jak na ekranie poniżej:

aby móc zobaczyć dane przesyłane przez innych pacjentów. Choć komunikacja z serwerem czatu odbywała się za pomocą protokołu HTTPS, to każdy użytkownik czatu mógł podsłuchać ją na swoim komputerze, przeprowadzając atak typu MiTM za pomocą lokalnego zaufanego certyfikatu, np. używając narzędzia Fiddler. W odpowiedzi na odpowiednio sformatowane żądania:

POST https://vchatd.luxmed.pl/faye HTTP/1.1

przychodziły od serwera pliki JSON zawierające poufne dane (na zrzutach ekranu przeformatowane dla czytelności).

Co wyciekało

W przesyłanych komunikatach można było znaleźć:

  • dane osobowe pacjentów / użytkowników (imię, nazwisko, znacznik płci, numer klienta – pól było więcej, ale nie były wypełnione wartościami),
  • dane osobowe lekarzy (imię, nazwisko, ID, adres email),
  • treść rozmowy – zarówno pytania pacjentów jak i odpowiedzi lekarzy.

Wyglądało to np. tak (znakami „xxx” zostały zastąpione imiona i nazwiska pacjentów, nazwiska lekarzy oraz nr ID):

lub tak:

Kiedy zobaczyliśmy zrzuty ekranu, złapaliśmy się za głowę. Między dowolnym (na szczęście zalogowanym) klientem czatu a serwerem firmy przesyłane były wiadomości skierowane do i wysyłane przez zupełnie innych użytkowników. Sądząc po liczbie komunikatów, które pojawiły się w krótkim czasie (dziesiątki na minutę), do komputera każdego użytkownika czatu wysyłana była pełna komunikacja wszystkich innych osób równocześnie z czatu korzystających. Oznacza to, że jeśli ktoś to zauważył, mógł uruchomić usługę, włączyć nagrywanie treści połączeń i rejestrować rozmowy innych pacjentów.

Reakcja LUX MEDu

Pierwsze zgłoszenie od anonimowego użytkownika, które nie wskazywało wprost firmy, której problem może dotyczyć, ani jego zasięgu, otrzymaliśmy 6 listopada. Drugie zgłoszenie, wskazujące konkretną firmę, dotarło do nas 7 listopada wieczorem. Krótko potem, około 22:30 we wtorek wysłaliśmy opis problemu na adresy email pracowników działu zajmującego się kontaktem z mediami oraz do osoby odpowiedzialnej za bezpieczeństwo informacji. Przekazaliśmy także kilka pytań:

  1. Co spowodowało możliwość odczytywania rozmów innych pacjentów?
  2. Od kiedy sytuacja występowała w serwisie?
  3. Jakie kroki firma podejmie by poinformować o incydencie pacjentów, których dane osobowe oraz medyczne mogły zostać ujawnione?

W środę o 9:30 ponowiliśmy komunikację, ponieważ problem nadal występował na stronie a do nas nie dotarła żadna odpowiedź. Krótko potem skontaktował się z nami jeden z członków zarządu spółki i od tego momentu współpraca przebiegała już bardzo sprawnie. Najlepiej opisze to oświadczenie spółki przekazane naszej redakcji.

Potwierdzamy, że 07 listopada 2017 r. o godz. 20:15 wykryto problem w komponencie zarządzającym komunikacją chatów tekstowych dostępnych w Portalu Pacjenta.
W jego wyniku uwierzytelniony i zalogowany do konsultacji online użytkownik usługi eChat, korzystający z narzędzia do podsłuchiwania ruchu przeglądarki, miał techniczną możliwość uzyskania dostępu do imienia i nazwiska oraz treści komunikatu maksymalnie 10 aktywnych konsultacji online innych użytkowników.
Zgodnie z posiadaną wiedzą oraz wykonaną analizą, ryzyko naruszenia praw osób trzecich określiliśmy na poziomie niskim, gdyż wykorzystanie istniejącej podatności było możliwe w przypadku jednoczesnego zaistnienia trzech czynników:
a) Uwierzytelnienia II poziomu użytkownika Portalu Pacjenta oraz uruchomienie przez niego usługi eChat
b) Intencji i umiejętności tego użytkownika do podsłuchiwania ruchu w przeglądarce internetowej
c) Aktywnej sesji innego użytkownika usługi eChat.
Niezależnie od powyższego, usługa chatów została wyłączona 08 listopada o godz. 11:30., a odpowiednia korekta konfiguracyjna została wprowadzona w ciągu kilku następnych godzin. Wciąż prowadzone jest wewnętrzne dochodzenie, mające na celu potwierdzenie przyjętej oceny ryzyka.
Przyczyną nieprawidłowości była występująca od ostatniej aktualizacji (27.10.2017) błędna konfiguracja mechanizmu rozdzielającego wybrane typy komunikatów pomiędzy kanałami prywatnym oraz systemowym w ramach zestawionego połączenia pomiędzy przeglądarką a serwerem komunikacyjnym usługi eChat.

Nasz komentarz

Gdy tylko informacja dotarła do właściwych osób, firma zareagowała dość sprawnie, blokując możliwość dalszego występowania incydentu oraz naprawiając błędnie działającą usługę. Warto także pochwalić za wskazanie przyczyn technicznych problemu oraz poinformowanie, od kiedy występował. Wiele firm takimi informacjami nie chce się dzielić z opinią publiczną. Również opis faktycznego ryzyka ujawnienia danych wydaje się nam prawidłowy – ale o tym w akapicie niżej.

Czy dane klientów wyciekły

W analizie incydentu istotne jest nie tylko określenie potencjalnych skutków (które mogły być bardzo dla pacjentów LUX MEDu niemiłe), ale także skutków faktycznych. Dzięki temu, że Robert problem zgłosił nam a my firmie, problem udało się relatywnie szybko zidentyfikować i rozwiązać. Nie wiemy o tym, by ktoś go nadużył w celu zebrania danych pacjentów i ich rozmów a prawdopodobieństwo, że takie zdarzenie mogło nastąpić, oceniamy jako niskie. Na szczęście nadmiarowe komunikaty były dostępne tylko dla zalogowanych użytkowników a aby je zauważyć i odczytać trzeba było podsłuchiwać ruch przeglądarki, co znacząco ogranicza ryzyko, że ktoś ten incydent odkrył w trakcie jego trwania i wykorzystał do swoich celów, nie informując o odkryciu LUX MEDu. Jeśli zatem jesteście klientami LUX MEDu i od 27.10 do 8.11 nie korzystaliście z czatu, to Wasze dane nie były narażone na ujawnienie w tym incydencie. Jeśli korzystaliście z czatu, to istniało potencjalne ryzyko ich ujawnienia, jednak prawdopodobieństwo zaistnienia takiej sytuacji było bardzo ograniczone. Profesjonalizm, z jakim LUX MED potraktował to wydarzenie (to oczywiście nasza subiektywna ocena, oparta na obserwacjach analogicznych sytuacji w innych firmach) pozwala nam sądzić, że firma prawidłowo oszacowała rzeczywiste ryzyko ujawnienia danych.