10.11.2017 | 21:12

Adam Haertle

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.

Powrót

Komentarze

  • 2017.11.10 22:56 Michal

    Kompromitacja. Poniższy cytat:
    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.
    Oznacza KAZDEGO zalogowanego użytkownika aplikacji, który nacisnął ctrl+shift+j.
    Czy zdajecie sobie sprawę że każda fałszywe obniżanie poziomu zagrożenia dla uzytkownikow, które ma ratować Wasz wizerunek powoduje irytację u osób które znają się na temacie?

    Odpowiedz
    • 2017.11.11 17:11 Steve

      A snickersa zjadłeś?

      Odpowiedz
  • 2017.11.11 03:32 jazon

    Jakiś dziwny ten JSON

    Odpowiedz
    • 2017.11.11 08:10 Adam

      Przeformatowany dla czytelności

      Odpowiedz
      • 2017.11.11 11:17 Chris Warrick

        Od kiedy zmiana formatu na XML to „przeformatowanie”? (A dobrze sformatowany JSON jest IMO czytelniejszy niż XML)

        Odpowiedz
  • 2017.11.11 04:59 Duch św.

    Lekarze to lekarze, a co ze spowiedziami przez internet? Podobno są i takie usługi. Czyżby jednak były aplikacje doskonałe?

    Odpowiedz
    • 2021.02.21 20:48 Imię *

      W jakim niby wyznaniu?

      Odpowiedz
  • 2017.11.11 12:24 DżonKorniszon

    Czy przypadło jakieś bugbounty dla odkrywcy?

    Odpowiedz
    • 2017.11.11 23:29 Robert Wrocław

      Niestety luxmed nie docenił zgłoszenia problemu do nich zamiast opublikowania publicznie przed naprawą fuckupu. Spółka zaufania publicznego powinna docenić takie działanie, ale cóż. Myślę, że znajdzie się jeszcze jakaś ciekawa luka.

      Odpowiedz
  • 2017.11.11 22:07 Tomek

    Reakcja firmy też nie była adekwatna. Z opisu wynika, że minęło prawie 14 godzin zanim „ktoś z Zarządu” zareagował i czat został wyłączony. 14 godzin na reakcję od zgłoszenia potencjalnie krytycznej dziury w systemie?! To dyskwalifikuje LUX-Med niestety. Na takie czasy reakcji może pozwolić sobie firma sprzedająca znaczki pocztowe.

    Odpowiedz
    • 2017.11.12 16:05 MatM

      Nie wiem gdzie pracujesz/pracowałeś ale nie masz pojęcia o czasach reakcji w korpo. 14h to tryb błyskawiczny dla takiej firmy. Może na podwórku szybciej się reaguje ale nie w korporacjach niestety.

      Odpowiedz
      • 2017.11.12 20:59 PW

        Witajcie. Pracowałem w korporacji i wiem, że na krytyczne problemy reguje się zgodnie z procedurami, które mówią „natychmiast”, a wyłączenie usługi na stronie to banał. Wystarczyło no. Zmienić kalendarz dostępności usługi, godziny pracy konsultantów, nie logować lekarzy i wiele innych banalnie prostych sposobów.

        Podstawiam to własnej ocenie każdego z czytających ten post.

        Odpowiedz
        • 2017.11.13 10:02 MatM

          Zgodnie z procedurą. Bardzo często procedura wymaga aby decyzję podjęto na odpowiednim szczeblu. Jeżeli uważasz, że pierwszy lepszy admin albo koleś ze słuchawki może podjąć decyzję o wyłączeniu mniej lub bardziej istotnej funkcji czy aplikacji to powodzenia. Pomijam już, że nie będzie miał to tego uprawnień. Nikt nie będzie wszczynał alarmu o północy z powodu buga w konsultacjach z lekarzami w czasie kiedy wszyscy śpią a usługa i tak nie jest wykorzystywana (a tylko wtedy można wykorzystać ten błąd). Osoba „decyzyjna” ogarnęła temat z rana i wyłączyli. Zatem twierdzenie o opieszałości jest dalece przesadzone.

          Odpowiedz
    • 2017.11.13 07:35 Dziwny

      Tomek.
      Nie znam się zarobiony jestem 14h
      ale co mamy w opowiadaniu?
      14h mówisz? wyslano zgłoszenie do „losowych osób” (22:30)
      super że wysłano tam a dlaczego nie ma informacji wysłanej np. do abause … dlaczego bo o 22:30 wiele osób to śpi, niekoniecznie posiada pocztę w telefonie niekoniecznie ją czyta.
      Czyli raczej zadziałała ta wiadomość o 9:30 lub jednak ta naocna ale rano o 8:00 bo przyjmę to jako godzinę startu działania firmy.
      Czyli należy liczyć 3,5h (2h) reakcji na informację biorąc pod uwagę że ktoś użył słowa korpo to normalnie raczej ktoś pobiegł i wyrwał kabel z gniazdka :)

      Odpowiedz
      • 2017.11.13 10:08 Adam

        Losowych osób? No CISO to faktycznie losowy. Nie udostępniają żadnego adresu do kontaktu w takich sprawach.

        Odpowiedz
        • 2017.11.13 11:16 Dziwny

          A widzisz a sprawdzenie wpisów DNS to nie łaska?
          a tam jak wół wpis: [email protected] – czyli adres kontaktowy do tego typu spraw. i to raczej zamyka temat z mojej strony :)

          Odpowiedz
          • 2017.11.19 20:41 zdziwiony

            hmmm w dns adres „adres kontaktowy do tego typu spraw.”?

            rotfl. ten adres jest o ile dobrze pamietam do „osoby zajmujacej sie strefa dns”.

            ale moze cos sie w RFC zmienilo…

  • 2017.11.13 07:51 ApW

    A wystarczylo uzyc szyfrowania end-to-end…

    Odpowiedz
  • 2017.11.13 09:58 Jan

    Czy Luxmed ma jakiś adres zgłoszeniowy dla błędów security?

    Odpowiedz
  • 2017.11.13 11:03 Bolo

    Wszelkie uwagi i sugestie dotyczące jakości usług świadczonych przez Grupę LUX MED prosimy kierować do:

    Dział Zarządzania Reklamacjami
    Departament Obsługi Klienta
    e-mail : [email protected]

    Odpowiedz
  • 2017.11.14 00:38 Filip

    Czlonek powinien mowic o prawdopodbienstwie, nie ryzyku. Ryzyko zalezy od zasobu nararzonego na strate, a tym zqsobem dla firmy jest kasa (kary,sprawy sadowe)a dla klientow poufnosc danych.

    Czyli jesli dane wyciekly, to nie tyle,zeby spolce,ktos nalozyl istotna kare?

    Odpowiedz
  • 2017.11.16 23:13 Jason

    Rekomendowaną przeglądarką jest Chrome. Ha Ha Ha, czyli wyciek jest większy bo wprost do amerykańskiego koncernu Google.

    Odpowiedz

Zostaw odpowiedź do Jason

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

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

Komentarze