Šauktinių sąrašai: KAM suklydo juos sudarydama ir skelbdama? (5)
Krašto apsaugos ministerijai gegužės 12 dieną paskelbus sąrašus šauktinių sąrašą, Lietuva sujudo tarsi bičių avilys: „loterijoje laimėję “ jaunuoliai piktinosi sugriautu gyvenimu, panelės ėmėsi juos gėdinti už tariamą bailumą. Socialiniuose tinkluose ir interneto platybėse nestinga kritikos, esą, kariuomenė ne visą šauktinių sąrašų sudarymo ir skelbimo procedūrą atliko sklandžiai.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
O pati Krašto apsaugos ministerija ginasi skaidrumu. Išgirdusi kritiką, kad šauktinių sąrašų generavimui panaudotos programos išeities kodas neskelbiamas, todėl, esą, visai gali būti, kad ta programa slepia politikų vaikus nuo tarnybos, KAM išeities kodus publikavo. Ir už juos tučtuojau susilaukė kritikos.
Atsitiktinė atranka? Programuotojai jos neranda
Kodus išanalizavęs anonimiškas programuotojas internete paskelbė, kad KAM paviešintas programos kodas nevykdo jokio atsitiktinio kandidatų išrinkimo – į sąrašą patenka visi, kurių gimimo data yra nuo 1989-01-01 iki 1995-12-31.
Jo teigimu, iš programos kodo galima suprasti, kad visiems pradiniame sąraše esantiems asmens kodams suteikiamas atsitiktinis numeris ir vėliau sąrašas „nufiltruojamas“ pagal gimimo datą, pagal tai, ar potencialus šauktinis nėra sąraše tų, kuriems „Vykdomas priėmimas“.
Anot įrašą paviešinusio programuotojo, programos kode „nėra tos dalies, kuri išrenka 36 825 kandidatų iš visų galimų „apie 175 000“. Nėra paaiškinimų apie kitas sistemos dalis, ir didžiąją publikacijos dalį sudaro šalutinis funkcionalumas“.
Kad KAM paviešintuose programos fragmentuose sudėtinga rasti atsitiktinę atranką vykdančio fragmento patvirtino ir patyręs programuotojas Marius (pavardė redakcijai žinoma).
Marius turėjo ir kitų priekaištų KAM pateiktam kodui: esą, jis parašytas labai painiai. „Kuo painiau užprogramuota, tuo paprasčiau ką nors paslėpti“, – sakė Marius. „Be to, kas užtikrins, kad sąrašo generavimui buvo naudojamas tikrai šitas, o ne koks kitas kodas“, – svarstė programuotojas.
„Paslėptą“ programos kodo dalį atrasti padėjo Krašto apsaugos ministerijos atstovas, majoras Gedeminas Davydovas.
Anot jo, programos veikimo principas buvo toks: visai karo prievolininkų, gimusių 1989-1995 metais, aibei (tiksliau, kiekvienam tos aibės įrašui, atitinkančiam vieną asmenį) buvo suteiktas atsitiktinis numeris ir buvo sugeneruota šios aibės kontrolinė suma. Į kitą sąrašą iš pirmosios aibės buvo atrinkti tie šauktiniai, kurie gegužės 11 d. neturėjo tarnybos atidėjimo priežasčių (jų gegužės 11 d. buvo 116 875). Jie suskaidyti į šešis regionų sąrašus, kuriuose buvo surikiuoti pagal anksčiau jau suteiktą atsitiktinį skaičių. Sugeneruota kiekvieno regioninio sąrašo kontrolinė suma.
Į galutinį 36 825 šauktinių sąrašą pateko pirmieji regioninių sąrašų, surikiuotų pagal anksčiau suteiktą atsitiktinį skaičių, įrašai: „šauktinių loterijos“ laimėtojais paskelbti tie, kurie buvo savo regiono sąrašo pradžioje, iki kvotos iš to regiono užpildymo.
Beje gali pasirodyti įdomu tai, kad galutiniame sąraše, kurį paskelbė KAM, iš tikrųjų buvo visai ne 36 825, o net 37 932 įrašai – iš jų nemažai merginų. „Prie viešai skelbiamo sąrašo buvo pridėti ir iki 05-11 pareiškę norą atlikti nuolatinę privalomąją pradinę karo tarnybą (18-38 metų vyrai ir moterys), tokių buvo virš 1100, todėl viešai paskelbtame sąraše yra ne 36825, o daugiau“, – rašė G. Davydovas.
Privatumo pažeidimas?
Krašto apsaugos ministerija kritikuojama ir už tai, kad skelbdama pilną šauktinių sąrašą galimai nusižengė LR Asmens duomenų teisinės apsaugos įstatymui: pilname paskelbtame šauktinių sąraše greta šaukiamojo pavardės ir pirmos vardo raidės yra nurodoma gimimo data. Ir nors gimimo datos nėra pagal įstatymus saugomų asmens duomenų sąraše, ją žinant galima gauti visas įmanomas tą dieną gimusių žmonių asmens kodo kombinacijas – internete netrūksta tą leidžiančių padaryti įrankių. O pasinaudojant socialinių tinklų teikiamomis galimybėmis ar tiesiog spėliojant populiariausius vardus galima gana nesunkiai atspėti arba tiksliai sužinoti tikrą šauktinio vardą.
Tuo tarpu pilno asmens kodo nustatymą palengvina tos pačios KAM sistema, siūlanti pasitikrinti, ar patekote į šauktinių sąrašus: reikia įvesti pageidaujamo asmens vardą, pavardę, gimimo datą ir du paskutinius asmens kodo skaičius.
Sudarant žmogaus asmens kodą pirmasis skaitmuo žymi žmogaus lytį, kiti šeši – gimimo datą, taigi, juos KAM savo paskelbtame sąraše „dovanoja“. Tuo tarpu keturi paskutiniai yra nežinomieji. Iš jų trys parenkami pagal gimusio vaiko įregistravimo eilę tą dieną, o paskutinis skaičius – „kontrolinė suma“, naudojant tam tikrą formulę apskaičiuojama pagal visus ankstesnius to kodo skaitmenis. Kiekvienai paskutinių dviejų skaičių kombinacijai pilname galimų asmens kodų sąraše yra 8-12 pilno asmens kodo variantų. Tačiau pasitelkus gimstamumo statistikos duomenis, sąrašą galima drąsiai sutrumpinti bent penkis kartus.
Socialiniame tinkle „Facebook“ nevyriausybinės organizacijos „Free Data“ paskelbtame įraše tikinama: „Praktika rodo, kad sugeneravus visus asmens kodus tinkamus pirmiems 7 skaičiams, tikrąjį asmens kodą rasite pirmajame dvidešimtuke“. Nors iš tikrųjų panašu, kad tai tik baimės akys didelės.
1989-1995 metais gimstamumo vidurkis Lietuvoje buvo 116,5 vaikų per dieną, taigi, iš tiesų labiau panašu, kad norint pagal KAM pateiktus duomenis atspėti asmens kodą (su sąlyga, kad vardas jau žinomas) iš tikrųjų reikėtų ne 20, o iki 100 spėjimų. Bet spėliojimus automatizavus didelio skirtumo, ar teisingas spėjimas būtų dvidešimtas, ar devyniasdešimtas, būtų nesvarbu – visų sąraše esančių žmonių asmens kodus iš tiesų galima susižinoti: aštuntasis skaitmuo veikiausiai būtų 0, o devintasis nesunkiai parenkamas iš sugeneruotų kodų sąrašo. Kiek mažesnė tikimybė kad aštuntasis skaitmuo yra vienetas, dar mažesnė – kad 2 ir taip toliau.
Šiam klausimui viešinti socialiniame tinkle „Facebook“, nevyriausybinės organizacijos „Free Data“ puslapyje patalpintas daugiau nei 50 kartų „palaikintas“ įrašas, o aktyviai šauktinių atrankos procesu besidomintis ir kritikos KAM negailintis Justas Zaborovskis Krašto apsaugos ministerijos Viešųjų ryšių departamentui uždavė klausimą – ar kuriant sauktiniams.kam.lt svetainę buvo apsvarstyta piktavališka asmens kodo spėliojimo galimybė.
Ministerijos atstovai J. Zaborovskiui atsakė: „Taip, šis klausimas buvo aptartas tiek KAM viduje, tiek su portalo kūrėjais. Nuspręsta naudoti 2 paskutinius asmens kodo skaitmenis asmens identifikavimui. Spėjimo būdu nustačius 2 paskutinius asmens kodo skaitmenis lieka neatskleisti 9-8 skaitmenys. Kad spėliojimo procesas taptų praktiškai neįmanomas, svarstomos šios papildomos saugumo priemonės:
1. Riboti užklausų skaičių iš to pačio IP per kažkokį laiką, neleidžiant atlikti paieškų daugiau nei X per Y laiko;
2. Įdiegti saugos kodą (Captcha) ar „Google reCaptcha“.
Antroji saugumo priemonė yra realiausia ir turbūt ją įdiegsime.“
Tokios KAM numatytos apsaugos stiprinimo priemonės, J. Zaborovskio teigimu, yra pavėluotos ir nepakankamos: „tai yra pleistrų klijavimas norint pagydyti sulaužytą stuburą. Tas, kas greitai susivokė, pamąstė, kad ilgą duomenų bazę vardų, pavardžių ir asmens kodų galima, pavyzdžiui, parduoti tiems, kam jos reikia, turbūt iki tol, kol atitinkamos apsaugos priemonės bus įdiegtos, turbūt jau spėjo daug asmens kodų susirinkti“, – laiške teigė jaunuolis.
„O ir „Captcha“ bei limituotas skaičius mėginimų rimto įsilaužėlio gali būti apeinami, priklausomai nuo turimų techninių resursų. Hakerių bendruomenėje yra sukurta priemonių nuskaityti „Captcha“ paveiksliukams. IP bandymų blokavimą galima apeiti naudojant botnetą ir kodą, kuris tikrindamas vardus šokinėtų tarp skirtingų vardų ir paliktų reikalingus intervalus tarp tam tikro skaičiaus vieno reikalingo vardo bandymų ir eitų prie kito ir vėl prie kito, tada sugrįžtų prie pirmojo“, – galimus nusikalstamos veiklos modelius vardino J. Zaborovskis.
Beje, sąraše, kurį išplatino Krašto apsaugos ministerija, 30810 eilutėje puikuojasi ir toks įrašas: 1583574195,J.,ZABOROVSKIS,1995-04-28,7337,"Vilniaus. Bet jaunuoliui persirengti maskuojančių spalvų rūbais ir mokytis išgyventi mūšio lauke greičiausiai neteks – jis išvykęs į užsienį, yra Jungtinės Karalystės Vorviko universiteto politikos mokslų ir tarptautinių studijų pirmakursis. Ir nors J. Zaborovskis piktinasi, kad specifinių techninių įgūdžių ir piktų kėslų kombinaciją turintys žmonės gali sužinoti jo ir dar 38 tūkst. žmonių asmens kodą, jis pats savo noru ir viešai „Facebook“ paskyroje viešai skelbia taip pat nebūtinai kiekvienam žinotiną informaciją – kur ketina keliauti, kur dirbo ir panašiai.
„Asmeninių nuoskaudų prieš KAM tikrai neturiu, mano interesas yra, kad būtų užtikrintas skaidrumas ir procesai, kurie yra pristatomi kaip skaidrumą didinantys, iš tiesų tokie būtų, o jei nėra – būtų viešinami“, – tikino šauktinis.
Asmens kodą už nuolaidą patys dovanojame
Ir nors viešojoje erdvėje netrūksta pasipiktinimo, kad KAM suteikė galimybę nemenkai pasistengus sužinoti šauktinių asmens kodus, tarsi pro akis praleidžiama tai, kad ir mes patys savo asmens kodų per daug nesaugome: ramia sąžine įrašome juos į tam skirtus langelius norėdami gauti kokią nors lojalumo kortelę, kuri suteiktų 10 proc. nuolaidą vitaminams ar marškinėliams. Ir parduotuvių stalčių, kuriuose vėliau nugula tos anketos, saugumu pasitikime labiau nei KAM.
Per daug nerimo dėl asmens kodo saugumo veikiausiai nejaučiame todėl, kad šie duomenys iš esmės nėra pakankami norint žmogui padaryti kokią nors materialinę žalą: jokiame banke vien žinant vardą, pavardę ir asmens kodą prieigos prie sąskaitos negausite, galima nesitikėti vien su tokiais duomenimis gauti ir greitąjį kreditą.
Vienintelis kiek nemalonesnis dalykas kurį galima bandyti iškrėsti sužinojus šiuos duomenis – patekus į policijos nemalonę ir neturint (ar paslėpus) asmens dokumentus prisistatyti pateikiant kito asmens duomenis. Tai suteiktų galimybę pačiam menkam prasižengėliui išvengti administracinės atsakomybės (baudžiamosios veikiausiai neišvengtų), o asmens kodo tikrajam savininkui tektų sugaišti laiko kapstantis iš painios situacijos. Bet ar tikrai atsirastų žmonių, kurie iš anksto ruoštųsi būti sučiupti policijos už smulkų nusižengimą ir specialiai dėl to bandytų sužinoti ir įsiminti svetimą asmens kodą?
Įdomu tai, kad, tarkime, Estijoje asmens kodas nėra priskiriamas valstybės saugomiems asmens duomenims. Kitaip tariant, jis nėra saugotinas labiau nei, tarkime, vardas ir pavardė ar gimimo data.
Bet tai, be jokios abejonės, nereiškia, kad Lietuvos Respublikos įstatymų galima nepaisyti.