podatnosci w aplikacjach medycznych

Wrażliwe dane medyczne milionów Polaków na wyciągnięcie ręki

Tekst ten zacząłem pisać na początku roku ze świadomością, że będę mógł go opublikować dopiero za parę miesięcy. Jest 10 czerwca i właśnie z CERT Polska otrzymałem powiadomienie o upublicznieniu w formie wpisów CVE serii podatności, których dotyczyć będzie artykuł, co jednocześnie stanowi zielone światło dla jego publikacji. Na początek zerknijmy co umożliwiały zgłoszone do CERT-u i aktualnie załatane już podatności:

  • dostęp do dokumentacji medycznej pacjentów (w tym wyniki badań, historia wizyt i chorób, przepisywane leki, przypisy prowadzone przez lekarzy)
  • dostęp do danych osobowych (w tym dane adresowe i kontaktowe, daty urodzenia oraz numery PESEL)
  • możliwość modyfikacji powyższych danych
  • dostęp do certyfikatów lekarzy i systemu e-WUŚ NFZ
  • możliwość wyszukiwania i identyfikacji po numerze PESEL dowolnego pacjenta
  • do pewnego momentu możliwość ustalenia statusu szczepienia na COVID
  • możliwość wystawiania recept (również refundowanych)
  • możliwość wystawiania skierowań na badania
  • możliwość wystawiania zwolnień lekarskich (a przy okazji weryfikacji danych pracodawcy)

Jak do tego doszło?

Na przełomie 2023 i 2024 roku nasza branża żyła dużym wyciekiem danych medycznych z laboratoriów diagnostycznych Alab. Krótko po tych wydarzeniach odezwał się do mnie jeden z czytelników bloga z informacją, iż jest w posiadaniu danych o dużo bardziej sensacyjnym charakterze. Poinformował mnie, iż dane medyczne milionów Polaków są łatwo dostępne w Internecie i co więcej, w sprawie tej nikt nie chce nic zrobić pomimo, iż próbował nią zainteresować firmy za to odpowiedzialne oraz największe portale poświęcone cyberbezpieczeństwu. Podejrzewał nawet swego rodzaju zmowę milczenia w tym temacie.

Przyznam, że początkowo mail od niego wydał mi się trochę zbyt sensacyjny i z braku wolnego czasu odłożyłem tę informację do weryfikacji na później. Czytelnik przypomniał mi się po jakimś czasie ponownie, co skłoniło mnie w końcu do przyjrzenia się sprawie bliżej. Przekazana mi przez niego dokumentacja dotyczyła kilku aplikacji pochodzących od różnych producentów i wykorzystywanych masowo w służbie zdrowia. Z aplikacji tych korzystają m.in. przychodnie i poradnie lekarskie, gabinety dentystyczne, apteki oraz lekarze prowadzący indywidualną praktykę.

Problem w dużym skrócie sprowadzał się do tego, iż bazy danych tych aplikacji dostępne są w Internecie, a dostęp do nich odbywa się zawsze przy użyciu tych samych (ale różnych dla każdego producenta) zaszytych w kodzie danych uwierzytelniających. Podatność ta określana jest mianem 'hard-coded credentials’ i w macierzy MITRE przypisano jej identyfikator CWE-798.

Hard-coded credentials – jak je znaleźć

Podejrzeń, że dana aplikacja może zawierać ów podatność możemy nabrać już na etapie instalacji. Jeśli w trakcie tego procesu nie jesteśmy proszeni o zdefiniowanie nowego użytkownika lub hasła dla administratora bazy danych to jest to pierwsza czerwona flaga. Kolejnym sygnałem może być brak w oficjalnej dokumentacji informacji na temat tego jak zmienić hasło administratora bazy. A niektórzy producenci praktycznie wprost przyznają się do tego, że hasła są na stałe zaszyte w aplikacji ostrzegając w procesie instalacji by nie zmieniać domyślnych haseł.

Czasami jednak problem powstaje na życzenie samego administratora instalującego aplikację. Na przykład instalator aplikacji KS-Apteka firmy Kamsoft podpowiada w procesie instalacji, iż domyślne hasła warto zmienić, jednak sugestię tę można było zignorować, w efekcie czego w Internecie dało się namierzyć serwery baz danych Firebird i zalogować do nich domyślnymi danymi widocznymi w instalatorze:

Instalator KS-Apteka 2020

Swoją drogą 'sysdba’ z hasłem 'masterkey’ do domyślny użytkownik serwera bazy danych Firebird, którego spotkać można nie tylko w powyższej aplikacji. Jeśli używacie w swoich środowiskach oprogramowania korzystającego z tego silnika baz danych, to warto przyjrzeć się ich konfiguracjom.

Co jednak jeśli instalator ani dokumentacja systemu nie wspomina nic na temat domyślnych haseł, a my nabraliśmy podejrzeń, że mogą one być na stałe zaszyte w kodzie? Zobaczmy na przykładzie aplikacji „drEryk Gabinet” w jaki sposób przechowywane były tam hasła.

Plik instalatora dostarczany w formacie wykonywalnym (drErykSetup.exe) rozpakowujemy np. przy użyciu 7-zipa. W otrzymanym folderze znajdziemy podfolder o nazwie $TEMP, a w nim plik o nazwie create_roles.sql z następującą zawartością:

Objaśnienie dla mniej technicznych czytelników – powyżej widzimy polecenia języka SQL, za pomocą których tworzone są na serwerze role użytkowników, przypisywane im uprawnienia i definiowane hasła. Zakryte fragmenty zawierają hashe haseł w formacie md5. Problem mamy zatem dwojaki – po pierwsze zakodowane na stałe hasła, po drugie ich hashe generowane są z użyciem algorytmu MD5, który od dawna uznawany jest za niewystarczająco bezpieczny ze względu na łatwość łamania takich haseł. W artykule pt. „Łamanie haseł na Teslach V100 – pół terahasha na sekundę” opisywałem m.in. jak za pomocą ogólnodostępnych maszyn AWS możemy łamać takie hasła z prędkością 442 GH/s (442 miliardy hashy na sekundę!). A z kolei w tym filmie wyliczałem, że 8 znakowe hasło złamiemy w ten sposób w niecałe 3 godziny za około 270 zł (4 lata temu).

A co gdyby twórca aplikacji postarał się bardziej i generował hashe z pomocą bezpieczniejszego algorytmu, np. SHA-256? Z ich łamaniem byłoby trudniej, ale łamanie hashy to nie jedyna metoda wyciągnięcia z aplikacji zakodowanych danych uwierzytelniających. Możemy np. posłużyć się API Monitorem i podsłuchiwać wywołania funkcji w bibliotekach używanych przez aplikację. I tak przyglądając się bibliotece libpq.dll natrafić mogliśmy na wywołanie funkcji PQconnectdb, do której przekazywane były parametry połączenia z bazą danych:

Zakryte powyżej nazwa użytkownika i hasło odpowiadają tym zdefiniowanym w pliku create_roles.sql i przez długi czas używane były jako domyślne przy każdej instalacji aplikacji. Hasło składa się z ośmiu znaków – duże i małe litery oraz cyfry, bez znaków specjalnych. I podkreślić należy, że jest to jedna z popularniejszych aplikacji, a już kilka lat temu producent chwalił się ponad 8. tysiącami sprzedanych licencji.

Jak ustalić skalę problemu?

Tysiące przychodni, gabinetów i lekarzy korzystających z podatnej aplikacji to już wydaje się spory problem. A przypomnijmy, że to tylko jedna z kilku aplikacji, w których podatność ta została zidentyfikowana. Ale jak ustalić ile serwerów baz danych dla powyższych systemów rzeczywiście jest dostępnych w Internecie? Przecież są to aplikacje, które instalowane powinny być w lokalnych, zamkniętych sieciach.

Na ostatnim obrazku z API Monitora, w wywołaniu połączenia z bazą danych widoczny jest numer portu 5491. I jest to informacja w tym wypadku bardzo przydatna, ponieważ aplikacja drEryk, mimo iż korzysta z serwera PostgreSQL, to właśnie na tym porcie, a nie na domyślnym 5432 nawiązuje połączenie z bazą. Możemy więc pokusić się o przeskanowanie wszystkich puli adresów IP przypisanych do Polski i znalezienie otwartych portów 5491. Jak to zrobić? Pule adresowe dla poszczególnych krajów znajdziemy np. na stronie https://www.ipdeny.com/ipblocks/. Plik pl.zone zawierający aktualnie ponad 4 tys. bloków adresowych przekazujemy jako parametr do narzędzia masscan wraz ze wskazaniem portu 5491:

> masscan -iL pl.zone -p 5491

Starting masscan 1.3.2 (http://bit.ly/14GZzcT) at 2024-01-15 12:03:53 GMT
Scanning 20928520 hosts [1 port/host]
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
Discovered open port 5491/tcp on a.b.c.d
.
rate: 0.10-kpps, 0.02% done, 60:46:09 remaining, found=7

Jak widać powyżej przeskanowanie wszystkich ponad 20 milionów adresów na domowym komputerze i łączu zajmuje kilkadziesiąt godzin. Na szybkim łączu można pewnie zejść do kilku godzin. W każdym razie już po kilku chwilach skanowania zaczynamy otrzymywać listę adresów IP (powyżej zanonimizowane jako „a.b.c.d”), na których port 5491 został zidentyfikowany jako otwarty. Osobiście nie kontynuowałem pełnego skanowania, ale dla potwierdzenia, że mamy rzeczywiście do czynienia z instancjami baz danych podatnej aplikacji dokonałem próby połączenia z jedną z nich i zakończyła się ona pomyślnie.

I tutaj przestroga, dla tych, którzy chcieliby podejmować się podobnych działań: nie róbcie tego – kodeks karny za tego typu aktywność przewiduje konkretne kary (nawet do 5 lat pozbawienia wolności). Ja pozwoliłem sobie na trochę więcej ze względu na fakt, iż jestem autorem serwisu zarejestrowanego jako czasopismo poświęcone cyberbezpieczeństwu i występuję w roli badacza-sprawozdawcy, ale co najważniejsze swoje ustalenia zgłosiłem do CERT-u, a CERT do producentów aplikacji i to im pozostawiłem dalsze kroki.

Wróćmy jeszcze na moment do czytelnika, który zgłosił się do mnie z prośbą o nagłośnienie problemu. Na mocy prawa prasowego poprosił mnie on o zapewnienie anonimowości i przedstawił się jako reprezentant zespołu badaczy. Wspólnie z tym zespołem badając temat na przestrzeni wielu miesięcy oszacował, że dane zebrane w ogólnodostępnych bazach mogą dotyczyć nawet 10 milionów pacjentów. Tej informacji nie byłem jednak w stanie potwierdzić nie ryzykując konfliktu z prawem – musiałbym namierzyć i połączyć się z wszystkimi ogólnodostępnymi bazami, co przekraczałoby działania zmierzające do samego wykrycia i zgłoszenia podatności.

Co znajdowało się w bazach?

Po połączeniu z serwerem bazy danych jednej z podatnych aplikacji na uwagę zasługują dwie tabele – drt_patients oraz drt_users. Tabela drt_patients zawierała ponad 16 tysięcy rekordów:

Każdy z pacjentów w tabeli opisany mógł być za pomocą ok. 100 pól. Znajdują się wśród nich takie dane jak imię, nazwisko, dane adresowe i kontaktowe (e-mail, telefon), data urodzenia. Pełna lista pól opisujących pacjenta widoczna jest na poniższym obrazku, ale nie wszystkie z nich i nie dla wszystkich pacjentów były wypełnione. Głównie występowały te podkreślone na czerwono, natomiast PESEL, NIP i numer dowodu raczej szczątkowo:

Jeszcze ciekawiej wygląda tabela drt_users zawierająca dane użytkowników aplikacji, czyli personelu medycznego. W tym wypadku lista pól opisujących pracownika wygląda następująco:

PESEL występuje tutaj w 100% przypadków, a poza nim pojawia się login i hasło do zarządzanego przez NFZ systemu e-WUŚ (Elektroniczne Weryfikacja Uprawnień Świadczeniobiorców). System ten pozwala po numerze PESEL zidentyfikować dowolną osobę w kraju i sprawdzić czy przysługują jej aktualnie świadczenia NFZ.

Świadomość personelu medycznego – dramat

Skupmy się przez chwilę nie na błędach aplikacji, ale na dramacie jakim jest świadomość tzw. personelu medycznego na temat cyberbezpieczeństwa. Tabela drt_users zawiera m.in. pytanie bezpieczeństwa oraz odpowiedź na nie. Ogromna większość pracowników jako pytanie bezpieczeństwa wybiera imię syna, córki, męża lub żony, zdarza się też ilość dzieci lub wiek. Ale uczcijmy teraz chwilą zadumy zaznaczonych poniżej na czerwono użytkowników, którzy jako pytanie bezpieczeństwa wybrali imię, a jako odpowiedź na nie wpisali imię… własne:

I przypomnijmy, że konto każdego z powyższych pracowników daje w tym wypadku dostęp do danych wrażliwych 16 tysięcy pacjentów.

Kryptografia – nie róbcie tego w domu

W powyższej tabeli widzimy kolumnę usr_ewus_password, która jak już wspomniałem przechowuje hasła pracowników do systemu e-WUŚ. I tutaj natrafiamy na kolejny problem. Hasła te nie mogą być przechowywane w formie hashy, ponieważ aplikacja musi mieć możliwość skorzystania z tych haseł łącząc się z systemem NFZ w imieniu pracownika. Jednocześnie producent aplikacji słusznie nie chciał przechowywać ich w formie jawnej. Niestety żeby rozwiązać ten problem zdecydowano się na opracowanie własnego standardu kodowania haseł. I już na pierwszy rzut oka widzimy, że coś jest tutaj nie tak. Hasło w formie zakodowanej dla ogromnej większości użytkowników rozpoczyna się od tego samego ciągu znaków: F7C87796DF33, co nie powinno mieć miejsca nawet gdyby hasła były do siebie bardzo podobne i zaczynały się tak samo. Nie bez powodu jedną z częściej powtarzanych rad w kontekście bezpieczeństwa jest ta mówiąca, by nie tworzyć własnej kryptografii.

Na potwierdzenie faktu, że przyjęty standard kodowania haseł nie gwarantuje wysokiego poziomu bezpieczeństwa oddam na chwilę głos naszemu czytelnikowi, który pochylił się również nad tym zagadnieniem:

Kilka kolejnych eksperymentów i zauważamy, że n-ty i n+1-wszy znak w „szyfrze” hasła zależy od n-tego znaku w haśle oraz od samego n. Generujemy tablicę haseł i ich szyfrów dla wszystkich ciągów jednakowych znaków i jesteśmy w stanie z szyfru odzyskać hasło.

Przesłał mi on też kod PHP realizujący to zadanie, ale ze względu na fakt, że hasła nadal przechowywane są w tym formacie nie będę go tutaj upubliczniał.

Certyfikaty lekarzy – robi się ciekawie

Kolejny wątek w naszej historii związany jest z tabelą drt_files. Zawiera ona certyfikaty lekarzy w formie plików PFX zabezpieczonych hasłem. Do czego lekarzom certyfikaty? Dzięki nim potwierdzają swoje uprawnienia do:

  • Wystawienia dowolnej recepty (również refundowanej)
  • Wystawienia skierowania na badania
  • Wystawienia zwolnienia lekarskiego (a przy okazji można też zweryfikować pracodawcę i dane adresowe pacjenta)

Do wszystkich powyższych działań potrzebny jest jeszcze certyfikat przychodni, ale tak się składa, że on również zapisany jest w bazie i to razem z hasłem żeby lekarz nie musiał już go wprowadzać. Do pełni (nie)szczęścia brakuje nam zatem tylko hasła do certyfikatu lekarza, które wprowadzane jest ręcznie w chwili korzystania z certyfikatu.

Okazuje się jednak (co za zaskoczenie), że część lekarzy jako hasła do certyfikatu używa tego samego hasła, którym logują się do aplikacji. A żeby było straszniej, hasła użytkowników aplikacji przechowywane są z użyciem tego samego algorytmu „szyfrującego”, co hasła do e-WUŚ. Czyli potencjalny intruz uzyskujący dostęp do bazy za pomocą domyślnego (do niedawna) użytkownika i hasła mógł wejść w posiadanie kompletu danych pozwalających na podszycie się pod lekarza i wystawienie w jego imieniu recepty, skierowania bądź zwolnienia.

A co z certyfikatami, do których hasło nie jest takie samo jak hasło użytkownika? Bardzo często jest to po prostu 4-cyfrowy PIN. Jego złamanie jest możliwe np. za pomocą narzędzia crackpkcs i w wielu przypadkach kończy się takim wynikiem:

Brute force attack - Starting 4 threads
Alphabet: 0123456789
Min length: 1
Max length: 4
**********************************************************
Brute force attack - Thread 2 - Password found: 1111
**********************************************************

Które aplikacje były podatne?

W przekazanej mi przez czytelnika dokumentacji, poza wspomnianą już w artykule aplikacją drEryk podatność została wskazana w systemach mMedica Asseco, Eurosoft Przychodnia oraz Simple Care. Przy czym z naszej korespondencji wynikało, iż czytelnik do tematu tego wrócił po dłuższej, co najmniej kilkunastomiesięcznej przerwie, na fali doniesień o wycieku z laboratoriów Alab.

Wspomniane na początku artykułu podejrzenia, iż w sprawie tej istnieje jakaś zmowa milczenia wynikały m.in. z faktu, iż na zgłoszenia czytelnika nie zareagował ani żaden z producentów oprogramowania, ani z branżowych portali, które próbował tym tematem zainteresować. Dla mnie wyjaśnienie tej tajemnicy jest jednak prozaiczne. Producenci oprogramowania, o ile nie prowadzą oficjalnych programów typu bug bounty, najczęściej właśnie po cichu próbują rozwiązać problem unikając rozgłosu. Moi koledzy z branży, którym zasięgów mogę jedynie pozazdrościć mają natomiast podobnych zgłoszeń pełne skrzynki i reagują na nie na tyle, na ile czas im pozwala. A nawet u mnie wiadomość ta musiała swoje przeleżeć zanim do niej wróciłem.

Po przekazaniu przeze mnie sprawy do CERT Polska pracownicy CERT-u kontaktowali się z każdym z producentów. W toku postępowania ustalili, iż Asseco podatność w swoich aplikacjach wykryło już wcześniej wewnętrznie i została ona załatana (a może był to efekt zgłoszenia ze strony czytelnika, na które nie doczekał się odpowiedzi?). W przypadku aplikacji drEryk, Eurosoft Przychodnia oraz SimpleCare producenci zobowiązali się natomiast do wyeliminowania podatności oraz przypilnowania aktualizacji u swoich klientów, czego dokonali w minionych tygodniach przed upublicznieniem niniejszego artykułu.

Oprogramowanie dla aptek Kamsoftu (KS-AOW, KS-PPS) nie zawierało podatności w postaci hard-codowanych danych uwierzytelniających. Jak już wcześniej wspomniałem, problem wynikał tutaj z niefrasobliwości administratorów, którzy w procesie instalacji pozostawiali domyślne hasła silnika bazy danych. Producent pochylił się nad tym problemem i zapowiedział wdrożenie rozwiązań zniechęcających do używania domyślnego, predefiniowanego hasła.

CERT Polska zakończył temat przypisując identyfikatory CVE podatnościom w trzech wymienionych aplikacjach  CVE-2024-1228 (Eurosoft Przychodnia) CVE-2024-3699 (drEryk Gabinet) CVE-2024-3700 (SimpleCare) oraz publikując artykuł, w którym zawarł krótkie rekomendacje dotyczące definiowania haseł do baz danych i umożliwiania ich zmiany, a także udostępniania baz wyłącznie w ramach sieci lokalnych lub za pośrednictwem połączeń VPN z uwierzytelnianiem dwuskładnikowym.

Nie wiem czy to za sprawą działań CERT-u, ale system e-WUŚ od 6 maja wymaga również stosowania uwierzytelniania dwuskładnikowego.

Podziękowania

Poza zespołem CERT Polska i producentami podatnych aplikacji, którzy zareagowali na zgłoszenia podziękowania należą się chyba przede wszystkim czytelnikowi, który wraz z zespołem poświęcił wiele miesięcy najpierw na zbadanie tematu, a następnie na próby jego nagłośnienia. Nie do końca pewnie podobało się to autorom oprogramowania, ale bez wątpienia uchroniło nas przed trzęsieniem ziemi jakie nastąpiłoby gdyby podatności te namierzyła jakaś wroga grupa APT. Dziś pewnie czytalibyśmy nie o załatanych podatnościach a o danych wrażliwych milionów Polaków krążących po darknecie.

Dziękuję też kolegom, którzy na styczniowym spotkaniu Poznań Security Meetup po wstępnym zapoznaniu się z tematem zarekomendowali pilne zgłoszenie podatności do CERT Polska. Sam pewnie ociągałbym się nieco dłużej próbując najpierw kontaktów z producentami aplikacji. CERT ma jednak do tego dużo lepsze zaplecze kadrowe i umocowanie prawne, co daje mu odpowiednią siłę przebicia.


Zostaw e-mail aby otrzymać powiadomienia o nowościach oraz dostęp do wszystkich bonusowych materiałów przygotowanych wyłącznie dla subskrybentów.

13 komentarzy

  1. Właśnie dlatego w Polsce nie opłaca się „szukać dziur w całym”. Nie dość, że trzeba szarpać się z leśnymi dziadami, którzy niejednokrotnie nie widzą problemu (do czasu publikacji CVE albo czarne forum albo np. właśnie interwencji CERT-u), wypełniać papierologię to jeszcze można dostać w pakiecie kwit. Dlatego tylko zagraniczne rynki i firmy gdzie jasno jest określony bug bounty. Kraj jak i polskie firmy ciężko na to zapracowały.

  2. Również słowa uznania dla sygnalistów jak i redakcji Open Security za fachowe przedstawienie problemu oraz etyczne rozwiązanie problemu.

    Oby wszyscy zdążyli zaktualizować swoje instancje .

  3. Potwierdzam, że Kamsoft już od pewnego czasu publikował wiadomości o konieczności zmiany haseł np. 30.04.2024 r.

    „Jako KAMSOFT S.A. szczególną wagę przywiązujemy do wszelkich kwestii związanych z bezpieczeństwem danych. Opracowanie skutecznych procedur bezpieczeństwa, ich stałe doskonalenie, a przede wszystkim rzetelne przestrzeganie powinno być na stałe wpisane w działalność operacyjną każdego przedsiębiorstwa tak jak i nieustanne podnoszenie świadomości oraz wiedzy personelu na temat ochrony i bezpieczeństwa danych. Niezależnie od indywidualnych uwarunkowań organizacyjnych oraz rozwiązań w obszarze infrastruktury sieciowo – sprzętowej jakie wybrali Państwo dla swoich Placówek, poniżej proponujemy Państwu oraz poddajemy pod rozwagę kilka dobrych praktyk i procedur postępowania. W naszym przekonaniu ich zastosowanie także przyczyni się do podniesienia poziomu bezpieczeństwa danych u naszych Klientów.

    1. Okresowa zmiana haseł schematów bazy danych oraz kont administracyjnych systemów operacyjnych: po zakończonym wdrożeniu aplikacji KAMSOFT w znakomitej większości przypadków to Państwo przejmujecie administrowanie m.in. serwerami baz danych , serwerami aplikacyjnymi czy serwerami usług. Zostały one zabezpieczone hasłami podczas instalacji (przez konsultantów KAMSOFT lub inne osoby odpowiedzialne za wykonanie tych prac) i powinny zostać Państwu przekazane wraz z dokumentacją wdrożeniową. Zalecamy okresową zmianę haseł przy zachowaniu odpowiedniego poziomu ich złożoności oraz bezpiecznego sposobu ich przechowywania. Jeśli mają Państwo wątpliwości dot. wpływu zmian haseł schematów baz danych na prawidłowość działania aplikacji KAMSOFT uprzejmie prosimy o kontakt z naszym Działem Serwisu. Jeśli z jakiegoś powodu hasła te nie są Państwu aktualnie znane – również prosimy o kontakt z osobami, które wykonywały instalacje w celu ich pozyskania.

    2. Okresowa weryfikacja listy aktywnych imiennych kont dostępowych: jeśli w Państwa Jednostce zdefiniowano imienną listę kont dostępu do połączeń zdalnych (VPN, RDP i inne) uprzejmie prosimy o okresową weryfikację jej aktualności np. poprzez jej przekazanie do KAMSOFT z prośbą o weryfikację. KAMSOFT informuje swoich Klientów na bieżąco o zakończeniu współpracy z konkretnymi pracownikami, jednakże nie mamy wpływu na to czy informacja dociera do właściwych osób (np. odpowiedzialnych za zarządzanie kontami dostępowymi) po Państwa stronie. Jeśli w Państwa Jednostce nie definiuje się imiennych kont dostępowych – sugerujemy wdrożenie takiej procedury. Jeśli zdecydują się Państwo na przekazanie listy kont dostępowych do weryfikacji uprzejmie prosimy o kontakt z naszym Działem Serwisu.

    3. Połączenia HL7 z systemami zewnętrznymi tylko poprzez połączenie VPN: jeśli w Państwa Jednostce funkcjonują połączenia pomiędzy Zintegrowanym Systemem Informatycznym KAMSOFT a systemami znajdującymi się poza Państwa siecią teleinformatyczną (np. połączenia z zewnętrznymi systemami LIS, RIS etc.) uprzejmie prosimy o zweryfikowanie czy połączenia te realizowane są poprzez tzw. VPN (Virtual Private Network). VPN pozwala na zaszyfrowanie ruchu sieciowego pomiędzy dwoma punktami i znacząco podnosi poziom bezpieczeństwa takiej komunikacji.

    4. Wdrożenie dedykowanych mechanizmów aplikacji: nasze aplikacje posiadają takie mechanizmy jak wymuszenie okresowej zmiany haseł użytkowników wraz z określeniem wymaganego poziomu ich złożoności, blokowanie kont po nieudanych próbach logowania czy wreszcie automatyczne wylogowywanie użytkowników po określonym czasie bezczynności. Jeśli w Państwa placówkach nie zostały one dotychczas uruchomione – proponujemy wykonanie takich zmian w konfiguracji aplikacji.

    W razie jakichkolwiek wątpliwości dot. powyższych kwestii – prosimy o kontakt z naszym Działem Serwisu pod adresem mailowym [email protected]

    Uprzejmie informujemy także, że KAMSOFT S.A. planuje w najbliższym czasie udostępnianie w kolejnych swoich aplikacjach mechanizmu, którego celem będzie zwrócenie uwagi Administratora na zbyt niski poziom bezpieczeństwa haseł dostępowych do schematów baz danych aplikacji KAMSOFT oraz systemowych. Mowa o sytuacji kiedy dostęp ten został zabezpieczony hasłem, które łatwo zdeszyfrować przy użyciu standardowych słowników (np. ADMIN, ADMINISTRATOR, KAMSOFT, MEDIS, PPS, MASTERKEY etc.). Mechanizm polegał będzie na wyświetlaniu wszystkim użytkownikom podczas logowania dodatkowego okienka, zawierającego konieczne do wykonania proste działanie arytmetyczne. Udzielenie prawidłowej odpowiedzi warunkowało będzie możliwość zalogowania się do aplikacji. W pierwszej wersji mechanizmu będzie to prosta operacja mnożenia, w kolejnych poziom trudności operacji będzie wzrastał – o ile hasła dostępowe nie zostaną zmienione przez Administratora. Prosimy zatem o zwrócenie szczególnej uwagi na tę kwestię. ”

    Kuba jak zwykle artykuł na poziomie, bez emocji, bez sensacji – fachowo i pro!

  4. To 2FA to mydlenie oczu. Wiesz, że mają api które wymaga tylko login:pass? Dokumentacja wszystko ładnie opisuje, link do api to też 2min googlowania. Security made in Poland. Dobrze, że zająłem się hodowlą jedwabników.

  5. Brakuje mi tutaj wyjaśnienia, dlaczego właściwie ten port był/jest otwarty do internetu?

    1. Potrzeba biznesowa jest taka, że wiele przychodni zatrudnia różnych lekarzy z zewnątrz, którzy np. są w gabinecie raz w tygodniu ale kontaktują się z pacjentami mailowo i muszą mieć dostęp do dokumentacji. Są też przychodnie wielooddziałowe, gdzie jest jedna lokalizacja główna i mniejsze placówki łączące się do niej.
      Natomiast dlaczego to nie jest realizowane przez VPN-y lub jakieś WAN-y to już pytanie do administratorów poszczególnych systemów.

      1. Ale w tylu przypadkach bez VPN? To wygląda, jakby instalowała to jedna firma i robiła ten sam błąd za każdym razem.

        1. Nie za każdym razem, ale natknęliśmy się też na takie adresy, gdzie pod jednym IP było np. z 20 różnych baz należących do różnych przychodni. Czyli ewidentnie jakiś usługodawca świadczący tego typu 'hosting’ dla swoich klientów.

  6. A co w końcu z systemem Mmedica? Nie zostali wymienieni jako ci, którzy usunęli problem.

    1. „Po przekazaniu przeze mnie sprawy do CERT Polska pracownicy CERT-u kontaktowali się z każdym z producentów. W toku postępowania ustalili, iż Asseco podatność w swoich aplikacjach wykryło już wcześniej wewnętrznie”.
      Cert informował, że w mmedica podatność została usunięta już przed zgłoszeniem.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.