X-tee on infosüsteemide andmevahetuskiht, mis võimaldab nii avaliku kui erasektori organisatsioonidel turvalist internetipõhist andmevahetust. X-tee on Eesti avaliku sektori asutuste omavahelise ning avaliku ja erasektori vahelise andmevahetuse ametlikuks tarkvaralahenduseks. X-teega liitunud asutused võivad olla nii andmete kasutaja kui pakkuja rollis või mõlemas rollis korraga. X-tee süsteemis puuduvad kesksed andmehoidlad ja kõik X-tee liikmed hoiavad seetõttu andmeid oma serverites ja küsivad teiste andmeid otse liikmetelt. 2017. aasta oktoobri seisuga on X-teega liitunud ligi 900 asutust, mis teevad kokku üle 40 miljoni andmepäringu kuus. X-tee liikmetel on kokku üle 1500 erineva andmeteenuse, mida saab X-tee vahendusel kasutada. Hinnanguliselt kahekordistub X-tee liikmete arv ja kümnekordistub andmepäringute arv järgneva viie aasta jooksul. X-tee haldamisega tegeleb Riigi Infosüsteemi Amet (RIA), mis juhib X-tee tarkvara arendamist, autoriseerib ligipääsu X-teele ja kogub X-tee kasutamise statistikat.
X-tee uusimas versioonis 6 salvestatakse liikmete serveritesse detailsed logid igast andmevahetuse episoodist. Need logid kogutakse kokku RIA poolt, moodustades alusandmestiku, mis võimaldab monitoorida ja analüüsida X-tee andmeliikluse mustreid. Enne käesoleva projekti läbiviimist puudusid spetsiaalsed tarkvaravahendid X-tee versioon 6 kasutusstatistika haldamiseks ja analüüsimiseks. Selle projekti käigus loodi STACC-i poolt vastavad vahendid, et
- talletada ja hallata X-tee kasutusstatistikat;
- tuvastada potentsiaalseid X-tee andmevahetuse anomaaliaid ja väärkasutusi;
- informeerida X-tee liikmeid nende andmevahetuse mustritest, sealhulgas andmevahetuse partneritest, osutatud ja kasutatud teenustest, andmepäringute hulgast, andmemahust, kestusest jmt;
- luua, hallata, jagada ja visualiseerida X-tee andmeliikluse statistika avaandmeid.
Nende eesmärkide täitmiseks loodi STACC-i poolt mitmekomponendiline tarkvarasüsteem, mille peamised moodulid oli järgmised.
Koguja- ja andmebaasimooduli abil toimub kasutusstatistika logide toomine X-tee liikmete serveritest ja nende kirjutamine andmebaasi.
Korrastajas toimub kasutusstatistika logide vastavuse otsimine andmeteenuse osutajate ja tarbijate kirjetest, duplikaatsete kirjete leidmine ja eemaldamine, andmevahetuse episoodide kestvuste ja andmemahtude ning muude täiendavate andmevahetust iseloomustavate parameetrite arvutamine.
Analüüsimoodulis toimub X-tee andmeliikluse potentsiaalsete anomaaliate ja väärkasutuste intsidentide tuvastamine, mille peamised tüübid on ebaõnnestunud päringute suur osakaal, oluline päringute arvu, kestvuse või andmemahu kasv või kahanemine etteantud ajaraamistikus. Analüüsimooduli andmemudelid kohanduvad leidma anomaalseid mustreid vastavalt X-tee administraatorite tagasisidele mudelite poolt leitud potentsiaalsetele intsidentidele.
Raportite moodul toodab kahte tüüpi raporteid:
- liikmeraportid informeerivad liikmeid nende infosüsteemide X-tee kasutusest sisaldades nimekirja ja statistikuid andmevahetuse partnerite, tarbitud ja osutatud teenuste kohta ning statistikuid päringute arvu, kestuse ja andmemahu kohta;
- avalikud raportid toodetakse kuu- ja aastapõhiselt üle kõigi X-tee liikmete eesmärgiga anda ülevaade X-tee andmeliikluse summaarsest andmevahetuse episoodide arvust, liikmete ja teenuste arvust, populaarsematest teenustest jmt.
Avaandmete moodul toodab ja publitseerib X-tee kasutusstatistika avalikke andmeid. Moodul koosneb kahest alam-moodulist:
- anonümiseerija eemaldab julgeolekuasutuste kasutusstatistika, vähendab kirjete ajalist detailsust ja salvestab andmed avaandmete andmebaasis;
- Veebipõhine kasutajaliides võimaldab X-tee kasutusstatistika avaandmeid filtreerida, sorteerida, vaadata ja alla laadida. Lisaks on olemas API andmete masinlugemiseks.
Visualiseerija moodul kuvab graafiliselt X-tee liikmetevahelise suhtluse mustrid. Visualiseerija kasutajaliides võimaldab valida kas kõik liikmed või valida ühe konkreetse liikme, valida kuvatava info detailsuse astet ja filtreerida X-tee liikmete paare nendevahelise päringute arvu järgi.
Projektis kasutatud tarkvaratehnoloogiad: Python, MongoDB, PostgreSQL, SQLite, Django, Apache HTTP server, R, RStudio Shiny Server
Üldinfo X-Tee kohta leiab siit: https://www.ria.ee/ee/x-tee.html
Projekti kontaktid:
Kristjan Eljand (kristjan.eljand@www.stacc.ee) – STACCi tegevjuht
Kristjan Herkül (kristjan.herkul@www.stacc.ee) – Projektijuht STACCis
Toomas Mölder (toomas.molder@ria.ee) – Projektijuht RIA-s