Delavnice

ČETRTEK, 8. 9. 2022, 15:00

DELAVNICA 1: Obramba pred najpogostejšimi zlorabami in kibernetskimi napadi v Sloveniji

Izvajalci: Boštjan Kežmah, Viktor Taneski, Marko Hölbl
Trajanje: 3h

Še eno koledarsko leto je za nami, zato že nestrpno pričakujemo letno poročilo SI-CERT na področju kibernetske varnosti v letu 2021. Ker pri načrtovanju kibernetske varnosti izhajamo iz analize tveganja, so realni podatki o kibernetskih incidentih v zadnjem koledarskem letu pomemben kazalnik kibernetskih groženj v lokalnem okolju in verjetnosti z njimi povezanih incidentov.

Za razliko od drugih uveljavljenih dobrih praks in ogrodij zagotavljanja kibernetske varnosti, ki temeljijo  na gobalnih podatkih, bomo kot osnovo za identificiranje ključnih tveganj uporabili letno poročilo SI-CERT. Na podlagi idenficiranih lokalnih tveganj bomo s pomočjo uveljavljenih okvirov upravljanja in vodenja informacijskih sistemov, kot je COBIT 2019, standardov, kot je SIST EN ISO/IEC 27002:2017 ter dobrih praks, kot so CIS ključne varnostne kontrole, različica 8 ter priporočil OWASP izbrali bistvene notranje kontrole za zagotavljanje kibernetske varnosti informacijskih sistemov v Sloveniji. Za izbrane notranje kontrole bomo proučili možne tehnične in organizacijske kontrole za obvladovanje identificiranih kibernetskih tveganj.

Rezultat delavnice bo nabor bistvenih varnostnih kontrol na področju kibernetske varnosti, ki v letu 2022 ne bi smele manjkati v nobenem informacijskem sistemu v Sloveniji. Nabor notranjih kontrol bomo tekom delavnice opredelili do podrobnosti, ki bodo omogočale neposredno uporabo identificiranih notranjih kontrol v praksi, njihove prednosti in slabosti ter izzive pri njihovi vpeljavi. Stranski učinek delavnice bo poznavanje pomembnejših standardov, okvirov in dobrih praks na področju zagotavljanja kibernetske varnosti, ki bodo neposredno uporabne tudi v prihodnjih letih.

DELAVNICA 2: Python in strojno učenje v sodobnih inteligentnih rešitvah

Izvajalci: Sašo Karakatič, Grega Vrbančič, Lucija Brezočnik, Vili Podgorelec
Trajanje: 2h

V zadnjih letih je strojno učenje nedvomno postalo eden od temeljnih elementov informacijske tehnologije. Ob vse boljšem razumevanju potenciala strojnega učenja kot tehnologije za razvoj naprednih, inteligentnih informacijskih rešitev, si ga podjetja prizadevajo vpeljati v svoje poslovne procese. A kljub izjemnemu napredku je uporaba strojnega učenja lahko še zmeraj zastrašujoča za razvijalce, ki se z njegovo praktično uporabo pri razvoju programskih rešitev še niso srečali. Na delavnici bomo tako v strnjeni obliki predstavili osnove strojnega učenja in njegovo praktično uporabo v programskem okolju Python. Namenjena je razvijalcem, ki se z razvojem inteligentnih rešitev s strojnim učenjem še niso ukvarjali ali ga poznajo zgolj teoretično. Pri tem bomo ubrali pristop samostojnega razvoja, kjer rešitev sprogramiramo neposredno v pythonovi programski kodi. Pri tem nam programsko okolje Python z izjemno bogatim naborom knjižnic in orodij ter izredno aktivno skupnostjo razvijalcev ponuja odlično okolje za učinkovit razvoj.

Tekom delavnice bomo postopoma in vodeno izvedli glavne korake pri kreaciji sistema strojnega učenja. Začeli bomo z nalaganjem in osnovnim preiskovanjem podatkov. Nadaljevali bomo s predpripravo podatkov – čiščenjem nepravilnosti, obravnavo manjkajočih vrednosti in standardizacijo. Prvi vpogled v vzorce, ki se skrivajo v podatkih, bomo izvedli z različnimi vizualizacijami, ki so nepogrešljivi del podatkovne znanosti. Temu bo sledila izdelava prvega modela strojnega učenja. Po uporabi več različnih algoritmov strojnega učenja bomo nastale modele tudi ovrednotili po njihovi sposobnosti kvalitetne napovedi. Pri ovrednotenju bomo uporabili različne metodologije in različne metrike kakovosti napovednega modela. Delavnico bomo zaključili s preskusom dejanske uporabe izbranega napovednega modela strojnega učenja. V sklopu delavnice bomo spoznali najpomembnejše osnovne knjižnice, ki razvijalcu inteligentnih rešitev v programskem okolju Python ne pomagajo le preživeti, ampak mu življenje še olepšajo.

Zahteve za udeležbo na delavnici:

  • Google račun (uporabljali bomo Google Colaboratory)

DELAVNICA 3: Možnosti uporabe platforme Kafka v sodobnih informacijskih rešitvah

Izvajalci: Martina Šestak, Muhamed Turkanović
Trajanje: 3-4h

Apache Kafka je porazdeljena platforma, podatkovna baza in sporočilni sistem hkrati, ki zagotavlja realno-časovno procesiranje podatkov ob nizkih zakasnitvah in visoki prepustnosti. Lahko se uporablja kot »enterprise« sporočilni sistem ali kot ogrodje za procesiranje podatkovnega toka. Osnova Apache Kafka je gruča (ang. cluster) porazdeljenih posrednikov. Vsak posamezen posrednik hrani trajni pomnilnik. V ekosistemu Kafke se le ta poenostavljeno predstavlja kot infrastruktura, medtem ko proizvajalce in potrošnik namensko snujemo in razvijemo. Proizvajalci in potrošniki so strogo ločeni (ang. decoupled).

Platforma Kafka se je že vrsto let nazaj izkazala kot odlična osnova za integracijo različnih (mikro)storitev ter tudi za visokozmogljivo pretočno obdelavo podatkov. Za slednji namen je nujna uporaba komponent, kot so Kafka Streams in/ali KSQL oz. ksqlDB.

V sklopu delavnice bomo poskusili predstaviti uporabo platforme Kafka iz več zornih kotov, torej kot sporočilni sistem, kot porazdeljeno podatkovno bazo, kot platformo za relanočasovno obdelavo podatkov. Predstavili bomo razlike med rešitvama Kafka Streams in KSQL/ksqlDB ter njuno umeščenost v ekosistem Kafka oz. v ekosistem IKT rešitev, ki uporablja Kafka za dogodkovno orientirano obdelavo podatkov. Opisali bomo podobnosti in razlike s klasičnim poizvedovanjem po podatkovnih bazah, vpeljali pojem dvojnosti toka in tabel (KTable, KStream).

Vsebine, ki jih bomo praktično naslovili:

  • Gruče (ang. cluster) in posredniki (ang. broker)
  • Proizvajalec (ang. producer)
  • Potrošnik in potrošniške skupine (ang. consumer)
  • Tema (ang. topic)
  • Tok podatkov
  • Zagotovilo proizvajalcev
  • Zagotovilo dostave
  • Connect API
  • Registriranje shem
  • Kafka Streams API
  • KSQL/ksqlDB

Zahteve za udeležbo na delavnici:

  • Nameščena Java v sistemu (JDK 1.8+)
  • Vzpostavljeno Docker okolje za virtualizacijo
  • Nameščeno orodje oz. IDE za razvoj aplikacij v programskem jeziku Java (zaželen JetBrains IntelliJ IDEA Community Edition)
  • Nameščeno orodje Offset Explorer za vizualni pregled nad Kafka gručo (povezava za prevzem orodja: https://www.kafkatool.com/download.html)