• Poletna šola: (Ne)varni internet stvari (IoT)

Trajanje: 3 dni, od 9:00-15:00, 6.9. do 8.9.2016

Predavatelja: Andrej Krevl (Stanford University), Boštjan Špehonja (Unistar LC)

Namenjena je: študentom

Laboratorij za računalniške komunikacije tudi letos organizira zanimivo in zabavno poletno šolo za študente FRI. V prvih dveh dneh se boste naučili programirati Arduino in z njim na primer prižigati luči, komunicirati z napravami BLE (Bluetooth low energy), sprogramirali boste tudi oblačno storitev, prek katere boste nazadnje prižigali in ugašali luči. Zadnji dan boste postali napadalci in boste na več načinov vdrli v svoj (ali sosedov) sistem, mu prisluškovali in ugašali luči, nazadnje pa ga boste seveda tudi primerno zavarovali, tako da boste po zaključku poletne šole lahko mirno spali.

Howard iz TV serije Veliki pokovci (Big Bang Theory) pravi: “Poslal bom ukaz iz mojega prenosnika, priključenega na našega ponudnika internetnih storitev, ki ga bo s svetlobno hitrostjo poslal po optičnem kablu do San Francisca, preko satelita v geosinhroni orbiti do Lizbone na Portugalskem, kjer se bodo paketi razvrstili na podocensko povezavo, ki se zaključi v Halifaxu, v Kanadi, od koder se bo poslal na drugo stran ZDA po mikrovalovnih povezavah nazaj do našega ponudnika internetnih storitev, in do sprejemnika X10, ki bo prižgal to… luč.

V resnici vsi vemo, da se za podatkovni promet med Evropo in ZDA satelitske povezave praktično ne uporabljajo, da se večina čezatlantskih povezav zaključi v New Yorku in da so mikrovalovne povezave čez ZDA zamenjali optični kabli. Ampak, imeti luč, ki jo lahko prižgemo preko Interneta, je pa kul. Še boljši pa je občutek, ko tak sistem postavimo sami in se lučka dejansko prižge. Sprejemnik X10 bo zamenjal Arduino z modrim zobom, prenosnik nekaj kode v Pythonu, Lizbono pa storitev v oblaku, ravno tako v Python-u. Da nam nepridipravi ne bi povzročili previsokega računa za elektriko bomo podrobno pregledali in skušali napasti vsak del sistema in poiskali načine za varovanje pred vsiljivci.

Naučili se bomo: Arduino, Bluetooth LE, bluePy, Tornado, Websockets, REST, Wireshark

Potrebno predznanje: osnove programiranja

Agenda:

  • 1. dan:
    • Arduino, RFduino, Raspberry Pi in druga vgradna druščina
    • Razvojno okolje Arduino
    • Moj prvi Arduino program
    • LED diode, gumbi in žičke
    • Arduino dobi modri zob (Bluetooth)
  • 2. dan:
    • Domače stičišče (hub) in težave interneta stvari
    • Tudi Python dobi modri zob
    • Pozdravljen Arduino, jaz sem Python
    • Računalniški oblak, kaj je REST in zakaj je kul
    • Procesi, niti, dogodki in Tornado
    • Razvoj spletne storitve za “nadzor doma”
    • Potiskanje, vleka in trajne povezave
    • Pozdravljen interent, jaz sem lučka
  • 3. dan:
    • Pozdravljena lučka, I h4X0r
    • Kako nevarne so stvari
    • TLS in zakaj ga moramo imeti
    • Varovanje naše storitve v oblaku
    • Napadimo stičišče
    • Analiza protokola Bluetooth LE
    • Arduino in kako lahko majhna napaka postane velik problem

Prijava na delavnico

Slike z delavnice