User:Kkapp/ITSPEA: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kkapp (talk | contribs)
No edit summary
Kkapp (talk | contribs)
No edit summary
Line 1: Line 1:
Keijo Kapp
Autor: Keijo Kapp <br/>
IT süsteemide arendus 2016
IT süsteemide arendus 2016


RangeForce küberlaborite süsteem
Teema: RangeForce küberlaborite süsteem





Revision as of 16:41, 14 December 2016

Autor: Keijo Kapp
IT süsteemide arendus 2016

Teema: RangeForce küberlaborite süsteem


Sissejuhatus

See wiki leht annab põhimõttelise ülevaate RangeForce poolt arendatavast küberlaborite platvormist. Mõistagi ei kirjelda see kõiki ettevõtte ja platvormiga seotud aspekte.

Ülevaade

RangeForce on 2014 aastal loodud Eesti idufirma. Ettevõtte peamiseks produktiks on virtuaalsete küberlaborite süsteem, millega IT töötajaid ja huvilisi treenida läbi praktilise ja mängulise keskkonna. See on uuenduslik alternatiiv klassikalistele koolitustele ning võib potensiaalselt muuta IT õpetamise meetodeid.

Platvormiga proovitakse adresseerida mitmeid probleeme, mis kaasnevad tavaliste koolitustega. Ühe näitena tuua suutmatuse täpselt ja/või adekvaatselt mõõta koolituse tulemust. RangeForce platvorm suudab hinnata osaleja tegevusi ning kulunud aega ja reageerida vastavalt. Teiseks muudab see platvorm koolitused tunduvalt huvitavamateks ja seega ilmselt efektiivsemateks. Kuna laborimissiooni läbimiseks peavad kasutajad praktilises keskkonnas läbi mängima kogu labori materjali (ründed jms.), jääb materjal paremini meelde ning kasutajal on suurem potensiaal tulevikus vastavaid olukordi ära tunda ja õigesti käituda.

Ettevõtte kliendisihtgrupp on suurettevõtted, kus on arvestatav IT administreerimisele või arendamisele spetsialiseerunud seltskond. Kohati on raske sellistel ettevõtetel kontrollida ja tagada reaalne küberturbealane kompetents kõigile oma IT töötajatele. Tavapärasele koolitusele saatmine on finantsiliselt koormav ning koolituse tulemust ja kvaliteeti ei saa adekvaatselt tegelikult mõõta. Koolitusele saadetavate isikute tase võib olla väga erinev ning suurele osale võib koolitus olla liigse keerukuse või lihtsuse tõttu väheefektiivne.

Meie visioon on muuta nii elementaarsed kui ka mitmed keerulisemad küberkaitseoskused IT inimestele nii enesestmõistetavaks, et me teeksime vähem rumalaid vigu. Veel kaasaegsetest süsteemidestki on leitud jaburaid vigu, kusjuures need puudutavad nii tarkvara arenduse kui ka opereerimise poolt. Olukorda annaks parandada aidatas muuta nägemust küberturbest. Me soovime, et inimesed suudaksid kiiresti märgata vigu enne, kui need ebameeldivaid tagajärgi põhjustavad.

Komponendid

Süsteemi üks peamisi komponente on laborihaldustarkvara I-Tee. Tegemist on avatud lähtekoodiga Ruby on Rails platvormil kirjutatud veebirakendus. I-Tee tegeleb kogu laborite haldamisega seotud tegevustega alates labori defineerimisest kuni virtuaalmasinate haldamise ja kasutajale ligipääsu andmiseni. Virtualiseerimiseks kasutab I-Tee Oracle VirtualBox virtualiseerimistarkvara. Virutaliseerimiskeskkonnaga suhtlemine toimub VirtualBox’i CLI kaudu. Ekraanipilti serveeritakse kasutajale RDP kaudu.

Labori töölauamasinas avaneb kasutajale VirtualTA (teching assistant) aken. VirtualTA on Chromiumi kiosk režiimis töötav veebirakendus, mis annab kasutajale ülevaate missioonist ja täpsemad juhised ning eesmärgid. VirtualTA-s saab kasutaja näha oma missiooni kulgu ja vihjeid edasiminekuks. VirtualTA kaudu suhtleb kasutaja ülejäänud süsteemiga, vastates küsimustele ja sisestades valikuid.

Töölauapildi kasutajale ülekandmise lihtsustamiseks kasutab süšteem Guacamole nimelist avatud lähtekoodiga tarkvara. See on mitmest alamkomponendist koosnev veebirakendus, mis RDP kliendina käitudes võimaldab brauseri kaudu teha RDP sessioone serverisse. Töölaua masina pilt kuvatakse kasutajale kasutades HTML5 tehnoloogiaid, WebSocket’it. Ka suudab Guacamole heli edasi kanda. Guacamole on väga mugav võimalus kasutajale ligipääsu andmiseks ning lahendab mõned probleemid otse RDP kasutamisega. Näiteks ei ole võimalik igast võrgust RDP ühendusi teha, RDP vajab eraldi tarkvara ning üllatavalt on Guacamole- põhised ühendused kiiremad otse RDP kliendiga tehtud ühendustest.

Olulisi komponente on muidugi veel, kuid need ei mängi põhiprotsesside juures nii suurt rolli.

Süsteemi kirjeldus

Süsteem on kasutaja seisukohast lihtne: veebiliidese kaudu valib kasutaja labori, soovitava serveri (näiteks sõltuvalt oma asukohast) ning käivitab selle. Kuni paarikümne sekundi jooksul luuakse kasutaja jaoks valitud serveris virtuaalmasinad. Seejärel saab kasutaja labori definitsioonis määratud masina töölauapildi otse veebibrauserisse.

Laborid koosnevad üldjuhul vähemalt kolmest masinast. Olulisimaks on enamasti ruuter, mis lisaks tavalisele võrgulüüsile toimimisele sisaldab endas mängu- automaatikat. Mänguautomaatika on labori keerulisim osa ning ka selle arendamine on enamasti suurim väljakutse labori loomisel. Mänguautomaatika on tarkvara või tarkvarad, mis tegelevad järjepidevalt olukorra hindamise ja sellele reageerimisega. Näiteks kui kasutajal on ülesanne käivitada SSH kaudu mõni käsk, siis mänguautomaatika käib perioodililt uurimas, kas vastavas masinas on vastav käsk käivitatud. Keeruliseks teeb mänguloogika mitu aspekti. Esiteks peab mänguloogika olema objektiivne ja raskesti petetav. Sealjuures peab see suutma tuvastada, kui kasutaja on ülesandeks püstitatud probleemi lahendanud kasutades mõnda omapärast võtet, mida lihtsal viisil kontrollida ei saa. Samas ei saa kasutada ka ainult nn. funktsioonaalsuse teste, sest automaatika võiks aru saada ka olukorrast, kus kasutaja on ülesande lahendamisel tupikusse jäänud ning talle oleks vaja näiteks vihje anda.

Ülejäänud masinateks on kasutaja töölauaarvuti ja laborispetsiifilised masinad (enamasti näiteks veebiserver).

Laborid jagunevad laias laastus kaheks: õpetavad ja kontrollivad laborid. Selget piiri nende vahel pole ning pole mõeldudki olema, sest eesmärk on mõlemal juhul sama. Õpetavates laborites püüame anda ülesande lahendajale kõik vajalikud juhtnöörid ülesande edukaks täitmiseks. Lahendaja peab oma leidlikust ja baasteadmisi kasutama antud juhtnööride rakendamiseks konkreetses ülesandes. Hindavates laborites antakse kasutajale vaid pealiskaudne probleemikirjeldus ning kasutaja peab varasemate oskuste najal eesmärgi täitma.