Te dni se okoli 170 tisoč uporabnikov Ajpesa pripravlja na oddajo letnih poročil, obveznost, ki jo imajo skoraj vsi poslovni subjekti v naši državi. Oddani dokumenti se uporabljajo za odmero nekaterih davkov, statistično obdelavo, javni značaj poslovodnih izkazov in še marsikaj. Početje je zakonsko obvezno. Za neoddane dokumente lahko padejo globe, za ponarejene pa kazenske ovadbe. Oddaja dokumentov vse pogosteje poteka prek spleta.
A dogajanje v zadnjem mesecu meče dvom na digitalno varnost tega početja. Na dan prihaja vse več obvestil o ranljivostih v spletnih aplikacijah Ajpesa. Začelo se je 8. februarja, ko je nekdo vdrl vanj in pridobil dostop do zalednih podatkovnih baz. V njih je množica osebnih podatkov, denimo EMŠO in davčne številke vseh lastnikov, zastopnikov in nadzornikov vseh poslovnih subjektov v registru, ki ga vodi Ajpes. Informacijo je objavila spletna skupnost Slo-Tech. Drugo resno varnostno ranljivost so prek taistega portala razkrili konec meseca. Izkazalo se je, da digitalno podpisovanje dokumentov, ki jih podjetniki pošiljajo Ajpesu, deluje na napačen način; takšen, da vzbuja dvom o pristnosti v bazo oddanih aktov.
Na Slo-Tech so pokomentirali, da so objavili le "jagodni izbor", obvestil, o tej spletni strani pa da jih dobivajo vse več. Incident je bil le vrh ledene gore, ki kaže, da "informacijska varnost javne uprave drvi proti katastrofi".
Na MMC-ju smo zato preverili, kaj se je zgodilo in ali Ajpes lahko zagotovi, da je luknje pokrpal in da lahko uporabniki aplikacije še uporabljajo v dobri veri. Agencija je zagotovila, da lahko zdaj uporabniki sistemu zaupajo, a vsi strokovnjaki, ki smo jih o tem povprašali, niso tako prepričani. Na Slo-Techu uporabo podpisne komponente Ajpesa še vedno odsvetujejo in tudi informacijski strokovnjak Matej Kovačič, avtor prvega razkritja na portalu, je ne bi uporabljal, medtem ko bi bil za portal na splošno "zelo previden". Na Fundaciji SICEH, združenju Slovenskih certificiranih etičnih hekerjev, pa so bili jedrnati: "NE, Slovenci trenutno ne morejo varno uporabljati Ajpesa."
Prvi februarski vdor
Kaj se je zgodilo pri prvem incidentu? Nekdo je izvedel t. i. SQL-vrivanje. Programsko kodo za vdor je vnesel kar v privzeto vnosno okence enega izmed obrazcev. Nekako tako, kot bi v Googlov iskalnik vnesli nekaj vrstic kode, nato bi Googlovo računalnikovje namesto iskanja vnesenega to kodo kar – izvedlo. Nekaj podobnega se je zgodilo pri Ajpesu. "Če je sistem neustrezno postavljen, potem v neko vnosno polje napišeš del programske kode, ki se potem izvede na bazi," je za MMC povedal Kovačič. Ta koda tipično vsebuje enojne narekovaje, zato domneva, da je do namiga nekdo prišel, ko je iskal ime kakšnega podjetja z okrajšavo (npr. Mravl'ca). "Ko si to vnesel, je javilo napako. Naprednejši uporabnik je lahko hitro začutil, da gre za ranljivost."
Izkazalo se je, da se na ta način lahko iz baze izpišejo tudi javnosti skriti podatki iz večjega števila baz oziroma njihovih izsekov (domnevno kar 59 baz), med njimi centralnega registra prebivalstva, poslovnega registra, registra transakcijskih računov itd. To pomeni, da so bili prek ene same ranljivosti dostopni občutljivi podatki, denimo EMŠO in davčne številke stotisočev Slovenk in Slovencev. Kaj bi se zgodilo, če bi jih zlonamerni heker vse javno objavil? Veliko postopkov v državi temelji ravno na njih zaupnosti. Škoda bi se lahko štela v desetinah milijonov evrov. Sploh ob možnosti, da bi kreker lahko prek Ajpesa okužil obiskovalce, torej kar precejšen del slovenskih podjetij.
SQL-ranljivost spada med osnove
Poleg tega je ranljivost takšne narave - da je načeloma ne bi smelo biti. Prav proti tovrstnim luknjam institucije najprej in najintenzivneje testirajo svoje sisteme. "Ranljivost z vrivanjem SQL-stavkov je ena najbolj znanih in najbolj kritičnih ranljivosti aplikacij, ki se povezujejo s podatkovnimi bazami," je pojasnil Luka Pušič s SICEH-a. "Je dobro dokumentirana in za zlorabo take ranljivosti obstajajo avtomatizirana orodja. Vsi programerji bi morali to ranljivost poznati, zato nas preseneča, da je taka ranljivost v AJPES-u sploh obstajala," je dodal. Na Ajpesu bogastva podatkov očitno niso dovolj marljivo varovali.
Kovačič: PR in zavajanje namesto 'po pravici'
Portal je po prejetju obvestila o ranljivosti takoj obvestil vse relevantne deležnike. Od Ajpesa je še isti dan dobil povratno informacijo, da je napaka odpravljena, zato je naslednji dan informacijo javno objavil. "Pozneje se je izkazalo, da to ni bila edina ranljivost. Jaz tega sicer nisem hotel preverjati, ker bi naredil kaznivo dejanje. A oni so ranljivost na SQL-vrivanje popravili točno na enem obrazcu, kjer je bila napaka najdena. Ne pa na drugih obrazcih. Ljudje so seveda testirali, in to odkrili, pa še kup drugih napak, ki jih do zdaj tudi nismo javno objavili," je bil kritičen sogovornik.
"Najprej bi morali preveriti, ali so zares popravili zadevo ali samo košček. Tukaj so zelo zavajali, hoteli so bolj delati PR kot povedati po pravici, kaj je. Rekli so nam, da je napaka odpravljena in zato smo šli v objavo. Seveda ni bila, in če bi mi to vedeli, potem bi počakali," je bil kritičen Kovačič.
Ajpes: Do širšega vdora ni prišlo
Na Ajpesu so pojasnili, da do večjega dostopa do nejavnih podatkov ni prišlo; dejansko naj bi bili prevzeti zgolj za eno osebo. Ocenili so, da je šlo za načrtovan in dobro organiziran napad, izvedli so ga strokovnjaki za informacijsko varnost, in to na kulturni praznik. Z analizo so ugotovili, da je se je ranljivost pojavila na dveh aplikacijah, ki so jih razvili zunanji izvajalci. Tiste, ki so jih razvili znotraj agencije, pa niso vsebovale te ranljivosti. Ajpesov vodja Službe za informacijsko tehnologijo Marjan Babič je pojasnil, da so po prejetju informacije takoj ukrepali in da je zunanji izvajalec, vzdrževalec portala, v večerni urah ranljivosti odpravil. Ponoči pa je bilo nakazano, da ista ranljivost obstaja še drugje in odpravili so jo do jutranjih ur. "Glede na število in zahtevnost aplikacij na portalu pa seveda pregleda vse kode ni bilo mogoče izvesti v tako kratkem času," je poudaril. Pozneje so vse testirali z odprtokodnim orodjem in ranljivost na vstavljanje SQL-stavkov naj bi bila odpravljena.
Drugi februarski incident
Proti koncu meseca je Slo-Tech prek anonimnega omrežja Tor prejel še eno obvestilo neimenovanega varnostnega raziskovalca, ki je našel več resnih ranljivosti v podpisni komponenti Ajpesa, v aplikaciji mdSign. Prva in najhujša: digitalni podpis v nekaterih primerih ne podpisuje dejanskih dokumentov, ki jih uporabnik pošlje Ajpesu, temveč je samo identifikator. "Kot bi na sodišču ali policiji dal izjavo, nato pa bi podpisal le številko spisa, ne izjave same," je pojasnil Kovačič.
To ne zagotavlja integritete dokumenta. Implikacije so lahko različne, v vsakem primeru takšne, "da je podpis popolnoma neustrezen in neveljaven", je zatrdil Pušič. Poenostavljeno: ni zagotovila, da je podpisani dokument, denimo letno poročilo o poslovanju podjetja, na strežniku Ajpesa nespremenjen. Ali pa da v "spisu" ni še kakšnega dodatnega dokumenta, za katerega s podpisom jamči sodelujoče podjetje.
Le v enem primeru
Babič je poudaril, da ni šlo za predvideno funkcionalnost in da ne ve, zakaj je zunanji izvajalec, podjetje Mojdenar, to izvedel na drugačen način. To še ugotavljajo, od podjetja pa so nemudoma zahtevali spremembo rešitve tako, da bo podpisan izvirni dokument. "Sprememba je že bila izvedena in jo bomo v naslednjih dneh po testiranju namestili v produkcijsko okolje," je napovedal. Poudaril je še, da je to edini primer, ki odstopa od običajne realizacije - gre za e-pooblastila. O morebitnem ukrepanju proti podjetju Mojdenar pa bodo odločali, ko bodo razjasnjena vsa dejstva, je pa sodelovanje do zdaj vedno potekalo "strokovno in profesionalno".
Kar se pa tiče dvomov o verodostojnosti dokumentov, je Babič poudaril, da lahko vsak pooblastitelj na spletni strani neposredno pogleda vsa pooblastila, ki so bila za posamezen poslovni subjekt izdana pooblaščencem. In obratno: pooblaščenci imajo na vpogled vsa prejeta pooblastila. Neposredno so vidni tudi vsi dokumenti, na podlagi katerih so bila pooblastila izdana. "Ker je število sistemskih administratorjev Ajpesa, ki imajo dostop do baze podatkov e-pooblastil, zelo omejeno, uslužbenci pa so preverjeni, drugi pa pravic za spreminjanje podatkov nimajo, je verjetnost zlorabe minimalna," je še zapisal. Nadalje bo Ajpes sam v najkrajšem možnem času opravil podrobno analizo shranjenih dokumentov in izvedel rešitve, ki ne bodo zbujale dvomov o integriteti e-podpisanih dokumentov, je še zagotovil.
Nared: Ni osnov informacijske varnosti
Strokovnjakov s SICEH-a pa to pojasnila niso zadovoljila. Podpis ni bil pripravljen z osnovnimi predpostavkami: zaupnosti, dosegljivosti in predvsem integritete podatkov - najosnovnejših načel informacijske varnosti. "Brez zagotavljanja integritete podatkov državljani zaupanje v celoti polagajo v etičnost in odgovornost ravnanja Ajpesovih zaposlenih, ki pa je ravno na podlagi nedavnih primerov vprašljiva," je zapisal Tadej Nared. Morda je komponenta tudi zakonsko neustrezna, saj mora biti elektronski podpis po zakonodaji učinkovito zaščiten pred poneverjanjem z uporabo trenutno dostopne tehnologije.
En sam, statičen šifrirni ključ za vse
Pa še ena napaka je v podpisni komponenti, ki morebitnemu napadalcu omogoča, da podpisniku v podpis z zvijačo podtakne poljubno vsebino. Podpisna komponenta vsebuje statičen šifrirni ključ - isti za vse uporabnike. Kdor ga pozna, ima ključ za vse druge v sistemu. Ajpes se je po razkritju sicer lotil, a na napačen način, so si enotni Kovačič in predstavniki SICEH-a. Agencija je zagato poskušala rešiti z uvedbo dodatnega nivoja šifriranja, a kot pojasnjuje Pušič: "Problemi ostajajo, saj podpisna komponenta ne preverja domene, na katero je vezano digitalno potrdilo za šifrirano sejo, tako da lahko napadalec podtakne svojega. Torej, z varnostnega vidika za zdaj niso naredili ničesar."
Babič: Nimamo usposobljenih strokovnjakov
Predstavnik Ajpesa je pojasnil, da Ajpes rešitev za e-podpisovanje ne razvija sam, saj za to nima zaposlenih usposobljenih strokovnjakov. Zato trditev iz prejšnjega odstavka, ki smo mu jih poslali v komentar, "Ajpes v tem trenutku ne more nedvoumno potrditi ali ovreči, saj nima dovolj strokovnega znanja na tem področju". Je pa agencija takoj pozvala izvajalca, naj nemudoma pristopi k analizi problema in izvede vse potrebne dejavnosti, da se morebitne varnostne ranljivosti čim prej odpravijo. "Pri analiziranju smo proučevali tudi nekatere bolj radikalne ukrepe, vendar smo presodili, da jih trenutno brez občutnega vpliva na delovanje storitev Ajpesa ni smotrno izvesti. Posledice za uporabnike bi bile nesorazmerno velike, saj mora okrog 170.000 zavezancev v tem obdobju izpolnjevati zakonske obveznosti oddaje letnih poročil."
Pojasnil je še, da agencija na trgu kupuje tiste uveljavljene rešitve, ki jih uporabljajo druge državne institucije, pa tudi tiste, ki so bile že nabavljene za javno upravo.
Podpisna komponenta kot zlonamerna koda?
Odkritih problemov še ni konec. Slo-Tech je ocenil, da se podpisna komponenta še naprej, tudi po Ajpesovih prvih popravkih, še vedno vede kot "učbeniški primer zlonamerne kode". Pa še to: pri Applovem operacijskem sistemu datoteko z digitalnim potrdilom shrani zašifrirano kar z geslom 1234 in uporabnika ne pozove, naj ga zamenja. " Če bi uporabnik nekje staknil zlonamerno kodo, bi zaradi tako slabega gesla napadalec z lahkoto prevzel uporabnikovo digitalno potrdilo, s katerim mu potem lahko napadalec ukrade identiteto," je nevarnost predstavil Pušič.
Babič je odgovoril, da se do teh hipotez Ajpes ne more opredeljevati iz dveh razlogov. Prvič, tehnične rešitve so v domeni zunanjega izvajalca; drugič, te hipoteze in izjave temeljijo na pretvorbi iz izvršne v izvorno kodo. "Po zagotovilih izvajalca navedena trditev o delovanju podpisne komponente ne drži, saj izhaja iz nepravilne interpretacije delovanja programske kode."
Ajpes: Uporabniki lahko zaupajo sistemu
Če potegnemo črto, lahko uporabniki Ajpesovemu sistemu zaupajo in ga uporabljajo v dobri veri? "Uporabniki lahko zaupajo sistemu Ajpes, ob uporabi vseh previdnostnih ukrepov na lastnih računalnikih in omrežjih, kot je to nujno in običajno tudi za uporabo drugih spletnih rešitev. Ajpes se bo trudil, da v najkrajšem času odpravi vse dvome in zaupanje uporabnikov ponovno dvigne na želeni nivo. Varnost portala Ajpes bo brez dvoma z nekaterimi že prej načrtovanimi ukrepi, ki po objavi novega portala zaradi okoliščin niso mogli biti takoj izvedeni, in ukrepi, ki so posledica prejetih informacij o dejanskih in potencialnih ranljivostih, na višji ravni, kot je bila prej. Ajpes se bo še naprej trudil, da bodo njegove storitve sodobne, varne, tehnološko ustrezne in uporabnikom prijazne," je zapisal Babič.
Vse ranljivosti, o katerih smo bili obveščeni, so po zagotovilih naših izvajalcev in vedenju uslužbencev Ajpes, odpravljene, je še dodal.
Kako hitro je prehitro
Pri razkrivanju ranljivosti v informacijskih sistemih se navadno uporablja sistem odgovornega razkritja. Ta v grobem nalaga, da je treba luknjo najprej sporočiti odgovornim in jim dati razumen rok, da jo lahko pokrpajo, in šele nato se lahko tudi javno objavi. Zlonamerni krekerji jih seveda sploh ne obelodanijo, saj jim omogoča nadaljevanje protizakonitih početij. Toda v tem primeru se je med Slo-Techom in Ajpesom kot akterjema razkritja in skrbnika sistema nekaj zalomilo.
Že v prvem primeru je Ajpes podal kazensko ovadbo zoper neznanega storilca. Policija bo torej poskušala izslediti, kdo je poskusno prodrl v Ajpesov sistem, in ga preganjati. Čeprav je ranljivost hitro razkril in se, kot trdi Ajpes, niti ni okoristil, temveč le dokazal obstoj luknje. Babič je potezo pojasnil takole: "V zvezi s prijavo suma kaznivega dejanja je bilo kar nekaj dilem. Glede na razvoj dogodkov je sprva res kazalo, da naj bi bile ranljivosti sporočene po principu odgovornega razkritja. Pozneje se je izkazalo, da spoštovanja tega principa, zlasti v delu, ki naj bi zagotavljal razumen čas za analizo in odpravo pomanjkljivosti, preprosto ni bilo. Če "raziskovalec" ob treh zjutraj pošlje e-sporočilo in napove objavo ranljivosti v medijih ob deveti uri zjutraj istega dne, je vsakomur, ki pozna kompleksnost kibernetske varnosti, jasno, da ne gre za razumen rok," je zapisal. Spomnil je, da je prav na ta princip ob robu zadeve najbolj opozarjal SI-CERT.
Babič: Lahko bi ravnali drugače
Pa tudi po tem poskusu se napadi na Ajpes niso končali, temveč so se nadaljevali v povečanem obsegu, s številnimi posnemovalci in z različnimi taktikami. Ajpes je bil zato prisiljen portal previdnostno, začasno zapreti. In to v času, ko je delovanje nujno zagotavljati brez prestanka, saj uporabniki množično oddajajo letna poročila. "Zaradi navedenega in dejstva, da se je Ajpes kot javna agencija čutil dolžnega obvestiti organe pregona, je Ajpes vložil prijavo zato, da se bodo v prihodnje upoštevala pravila odgovornega razkrivanja," je zatrdil Babič in dodal: če bi bila spoštovana, bi Ajpes brez dvoma ravnal drugače.
K večjemu soglasju in enotnim pravilom
Pozval je k uskladitvi pravil izvajanja varnostnega raziskovanja, pa tudi k javni objavi. Na ta način bodo raziskovalci ustrezno zaščiteni, tarče pa bodo lahko na ustrezen način in brez večjih negativnih učinkov na svoje storitve izvedle ukrepe za zmanjšanje varnostnih tveganj. Če do takšnih uskladitev ne bo prišlo, pa bo Ajpes proučil predlog SI-CERT-a, da sam javno objavi pogoje, pod katerimi bo dovolil preizkušanje varnostnih elementov na svojem sistemu.
Božič: Ne vidim razloga za hitenje
Da je objava prehitra, je dejal tudi vodja SI-CERT-a, Gorazd Božič. "Po moji osebni oceni ni bilo razloga za takšno hitenje in bolje bi bilo, če bi se z objavo počakalo minimalen čas, kjer bi lahko razvijalci napako odpravili. [...] Osebno ne vidim razloga, zakaj ne bi dali vsaj nekajdnevnega roka. Standardi, ki veljajo v tujini, se začnejo celo pri 30 dnevnih," je povedal za MMC.
Do zapletov na Ajpesu se ni želel opredeljevati. Strokovna ocena (ne)varnosti sistema lahko temelji le na resnem, sistematičnem in temeljitem pregledu in izdatnem testiranju, je poudaril. Popolnoma neustrezno bi bilo, če bi se kot predstavnik SI-CERT-a do tega opredeljeval le na podlagi podatkov iz medijev.
Podpisa drugje ne uporabljajo
Je pa Božič razkril še eno pomembno informacijo. Takoj po objavi so stopili v stik s podjetjem, ki je izdelalo podpisno komponentno, in povprašali, kje vse se še uporablja mdSign. Če bi namreč bil široko razširjen, bi lahko bila ranljivost epidemična. Mojdenar je SI-CERT-u zagotovil, da se mdSign koristi le še na eni sami spletni strani v Sloveniji, pa še tam je izvedba drugačna in neproblematična.
Komentarji so trenutno privzeto izklopljeni. V nastavitvah si jih lahko omogočite. Za prikaz možnosti nastavitev kliknite na ikono vašega profila v zgornjem desnem kotu zaslona.
Prikaži komentarje