Sistema buvo praėjusi atsparumo įsilaužimams testus. Vartotojai jungėsi per Elektroninius valdžios vartus. Ir vis tiek įvyko incidentas — ne pro pagrindines duris, o pro šoninį įėjimą, apie kurį kalbama rečiausiai: trečiosios šalies integraciją.
Esmė trumpai
Birželio 7–8
Incidento dienos
Akreditavimo tarnybos posistemėje
Apache Superset
Įrankis
per jo spragą apeita SSO
iki 62 203
Medikų įrašų
galėjo būti pasiekta
Neaišku
Ar nutekėjo
viešai nepatvirtinta
- Tai nebuvo centrinė E. sveikatos sistema; pagal viešą informaciją — nesusiję su pacientų sveikatos įrašais.
- Neautorizuota prieiga atsirado ne per vartotojų prisijungimą, o per ataskaitų įrankio integracinę sąsają.
- Aptikta ir reaguota per kelias valandas, informuotos institucijos. Lieka klausimas — ką užpuolikas spėjo pamatyti iki aptikimo.
Kur iš tikrųjų buvo problema
Po incidento buvo pabrėžta, kad vartotojai prie sistemos jungiasi saugiai — per Elektroninius valdžios vartus. Tai tiesa, bet šiame incidente vartotojų prisijungimas nebuvo problema.
Oficialiai nurodyta, kad centralizuota SSO autentifikacija buvo apeita per „Apache Superset“ integracinę sąsają. Kitaip sakant — eita ne tuo keliu, kuriuo jungiasi gydytojas ar įstaigos administratorius. Užpuolikui nereikėjo laužti pagrindinio prisijungimo, nes buvo atviras kitas kelias.
Universali pamoka
Galima turėti MFA, prisijungimą per valstybės vartus, sudėtingus slaptažodžius ir apribotas teises — bet jeigu ataskaitų sistema, API, administravimo sąsaja ar kita integracija turi atskirą prieigos kelią, visa tai apeinama. Klausimas ne „kaip jungiasi vartotojai“, o kokiais dar keliais duomenis pasiekia tiekėjai, integracijos ir automatiniai procesai.
„Neturime įrodymų, kad išnešė“ ≠ „turime įrodymų, kad nepasiekė“
Akreditavimo tarnyba nurodo, kad tyrimo metu nebuvo patvirtintas faktas, jog duomenys pavogti ar atskleisti — bet kartu pripažįsta, kad neaišku, ar tam tikri duomenys buvo pasiekti. Čia svarbu tiksliai vartoti sąvokas: šie du teiginiai nėra tas pats, ir skirtumą lemia vienas dalykas — žurnalai.
Techninis tyrimas turi atsakyti: kokius veiksmus atliko neautorizuotas asmuo, kokias užklausas vykdė, kokius rinkinius galėjo matyti, ar formavo ir eksportavo ataskaitas, ar duomenys iškeliavo už sistemos ribų — ir ar išliko pakankami žurnalai visa tai atkurti. Pagal BDAR pažeidimu laikomas ne tik viešai paskelbtas rinkinys — užtenka neteisėtos prieigos prie asmens duomenų.
Auditas parodo būklę, o ne suteikia garantiją
Sistema buvo testuota, ir incidentas vis tiek įvyko. Tai nereiškia, kad testai buvo blogi — tokiai išvadai nėra pagrindo. Tai parodo, ko joks vienkartinis testas negali parodyti.
Skverbties testas įvertina sistemą tam tikru momentu, pagal tuo metu žinomus pažeidžiamumus ir apibrėžtą apimtį. Kitą dieną gali atsirasti nauja integracija, pakeista konfigūracija, neatnaujintas komponentas ar tiekėjo pakeitimas. Audito pažyma nėra ilgalaikė garantija — ji parodo nuotrauką. Saugumas išlieka tik tada, kai po audito veikia nuolatinis pažeidžiamumų, pakeitimų, prieigų ir įvykių valdymas.
Ar kaltas atvirasis kodas? Ne. Bet trečiosios šalies komponentas — tavo rizika
„Apache Superset“ yra plačiai naudojamas įrankis. Kaltinti atvirąjį kodą nėra pagrindo — viešai nenurodyta nei versija, nei konkretus pažeidžiamumas, nei ar buvo išleistas atnaujinimas. Sąžiningai negalima teigti nei kad kaltas neatliktas atnaujinimas, nei kad išnaudotas nežinomas pažeidžiamumas.
Bet vieną išvadą padaryti galima: trečiosios šalies komponentas yra visos sistemos rizikos dalis. Jei tavo duomenys pasiekiami per tiekėjo valdomą įrankį, tau negali būti nesvarbu, kokia jo versija, kas stebi saugumo pranešimus, per kiek laiko diegiami kritiniai atnaujinimai ir kaip greitai jį galima izoliuoti. Programą prižiūri tiekėjas — bet duomenų rizika lieka organizacijai.
Kas suveikė
Šiame atvejyje būtų neteisinga matyti tik nesėkmę. Neįprasta veikla pastebėta, incidentas per kelias valandas užkardytas, išorinė ir lokali prieiga atjungta, prieigos raktai deaktyvuoti, galimai paveikti asmenys informuoti, apie incidentą pranešta NKSC, VDAI, Valstybės skaitmeninių sprendimų agentūrai ir Generalinei prokuratūrai. Aptikimo ir reagavimo procedūros veikė.
Ką pasitikrinti kiekvienai organizacijai
- Ar žinote visus savo sistemos komponentus — ne tik pagrindinę sistemą, bet ir ataskaitų įrankius, API, jungtis, bibliotekas, tiekėjų komponentus?
- Kas atsakingas už atnaujinimus — kas stebi pranešimus, kas diegia, per kokį terminą, kas patikrina? „Sistemą prižiūri tiekėjas“ tam nepakanka.
- Kokius duomenis gali pasiekti integracija — tikrink ne tik vartotojų, bet ir tarnybinių paskyrų, API raktų, DB jungčių teises.
- Ar pažeidus vieną komponentą pasiekiama viskas — izoliaciją reikia patikrinti praktiškai, ne tik deklaruoti.
- Ar žurnalai leidžia įrodyti, kas įvyko — kas jungėsi, ką peržiūrėjo, ar eksportavo, kiek perdavė?
- Ar incidento scenarijus išbandytas — kas atjungia komponentą, saugo įrodymus, informuoja NKSC ir VDAI?
Galutinis vertinimas
Problema nėra „Apache Superset“, Elektroniniai valdžios vartai ar konkreti institucija. Šiuolaikinė sistema retai yra viena programa — tai pagrindinė sistema plius duomenų bazė, integracijos, ataskaitų įrankiai, debesija, tiekėjų prieigos ir daugybė automatinių ryšių. Saugumas toks stiprus, kokia stipri silpniausia grandis.
Vadovui neužtenka išgirsti, kad sistema audituota ir naudoja saugų prisijungimą. Reikia žinoti, kas pasikeitė po testo, kas prižiūri trečiųjų šalių komponentus ir ar incidento metu galėsime įrodyti, kokie duomenys buvo pasiekti.
Esminė išvada
Kibernetinis saugumas prasideda ne nuo audito pažymos ir ja nesibaigia. Saugus vartotojo prisijungimas neapsaugo nesaugios integracijos.
Ar žinote, kokiais keliais pasiekiami jūsų duomenys?
PROKSI padeda inventorizuoti sistemos komponentus, tiekėjų prieigas ir integracijų teises bei įvertinti, ar incidento metu galėtumėte įrodyti duomenų pasiekimo apimtį.
Susisiekti su PROKSIŠaltiniai
- LRT: „Akreditavimo tarnybos vadovas: kol kas neaišku, ar buvo nutekinti medikų duomenys“ — lrt.lt/naujienos/sveikata/682/2963152
- Oficialūs Akreditavimo tarnybos pranešimai apie birželio 7–8 d. incidentą.
