Blog

Zakaj aplikacije za elektronske varuške potrebujejo preverljivo varnostno jedro

Pri elektronskih varuškah dober občutek ni dovolj. Ključni deli morajo biti na voljo za pregled.

Težava: slepo zaupanje

Ko namestite aplikacijo za elektronsko varuško, ji omogočite dostop do zelo zasebnega prostora: sobe vašega otroka. Aplikacija posluša, včasih pa tudi spremlja sliko. Hkrati starši pogosto ne vedo, kaj se dogaja v ozadju: ali prenosi potekajo prek strežnikov tretjih oseb, ali se zbirajo podatki o uporabi in kdo ima s tehničnega vidika dostop do njih?

Iskren odgovor je: pri mnogih aplikacijah tega ne veste. Koda je zaprta, arhitektura pa ostaja le trditev. Na koncu morate verjeti ponudniku.

Zaprta koda, odprte ranljivosti

V zadnjih letih je bilo veliko poročil o vdorih v elektronske varuške. Neznanci so lahko prisluškovali, premikali kamere ali govorili prek zvočnikov. Večinoma ni šlo za nenavadne napade, temveč za resne napake: nešifrirane povezave, privzeta gesla in manjkajoče preverjanje pristnosti.

Pri lastniški programski opremi ljudje zunaj podjetja te pomanjkljivosti pogosto opazijo šele, ko se že nekaj zgodi. Varnostni raziskovalci, neodvisni razvijalci in starši lahko končni izdelek opazujejo le od zunaj. Za napravo v otrokovi sobi je to slab model.

Preglednost kot varnostno načelo

Informacijska varnost pozna staro, uporabno pravilo: Kerckhoffsovo načelo. Varnost ne sme biti odvisna od tega, da zasnova ostane skrivnost. Sistem mora ostati varen tudi, če nekdo ve, kako je zgrajen.

Javno dokumentirana koda sama po sebi programske opreme ne naredi varne. Omogoča pa preverjanje trditev. Ljudje, ki področje poznajo, lahko pregledajo tokove podatkov, izpeljavo ključev in pravila, namesto da berejo marketinška besedila.

Timmyjev pristop: ločeno varnostno jedro

V Timmyju zdaj zelo jasno ločujem dele, ki so resnično ključni za varnost. O tem, ali si izdelek zasluži zaupanje, ne odloča prav vsaka vrstica uporabniškega vmesnika. Odločilni so logika zaledja, dogovori za signalizacijo, kriptografija seznanjanja in vprašanje, kateri podatki dosežejo strežnik.

Zato je varnostno jedro zdaj v javnem repozitoriju baby-monitor-timmy-core. Celotna koda aplikacije trenutno ni javna. Varnostno ključni gradniki so ločeni od uporabniškega vmesnika in logike izdelka, da jih je mogoče samostojno dokumentirati in pregledovati.

Kaj to pomeni v praksi?

Zaključek: starši si zaslužijo preglednost

Ko ima aplikacija dostop do otrokove sobe, mora jasno odgovoriti na ključna vprašanja: Kateri podatki nastanejo? Kam gredo? Kdo jih lahko bere? Starši si zaslužijo več kot le oznako o zasebnosti v nogi strani.

Baby Monitor Timmy naj pokaže, da gresta dober izdelek in preverljiva varnost lahko z roko v roki. Zame to ne pomeni, da mora biti javno dostopen prav vsak kotiček aplikacije. Pomeni, da je treba odpreti dele, ki odločajo o seznanjanju, signalizaciji, dostopu do zaledja in tokovih podatkov.


Več člankov