Google KataOS ufficiale: OS super sicuro per dispositivi IoT e machine learning

17 Ottobre 2022 15

Google ha presentato un nuovo sistema operativo: si chiama KataOS, è pensato per sistemi smart/IoT che si occupano di machine learning ed è open-source. Il colosso di Mountain View ha ritenuto necessario questo nuovo progetto perché riteneva che finora la sicurezza in questo settore fosse quasi un accessorio, una feature software da aggiungere in un secondo momento, mentre per KataOS è il principio fondamentale attorno a cui il sistema è costruito.

Il microkernel del sistema è basato su seL4: "la sua sicurezza è matematicamente dimostrata, con garanzie di confidenzialità, integrità e disponibilità", dice Google. La piattaforma protegge i dati e la privacy dell'utente perché è "logicamente impossibile per le applicazioni violare le protezioni di sicurezza hardware del kernel e i componenti del sistema possono essere verificati come sicuri". Tra l'altro, l'OS è implementato quasi completamente in Rust, che secondo Google è un buon punto di partenza lato software perché elimina intere classi di bug, tra cui buffer overflow ed errori off-by-one.

La definizione "sistemi IoT che si occupano di machine learning" può far pensare a qualcosa di estremamente oscuro e tecnico usato da ricercatori, aziende e specialisti, ma in realtà è un qualcosa di molto più vicino a noi di quanto si creda: pensiamo agli smart speaker che analizzano e interpretano in locale i nostri comandi vocali, per esempio. Google non ha citato espressamente questo scenario d'uso ma, in questa ottica, è piuttosto difficile inquadrare KataOS considerando che la stessa società lavora ormai da anni a Fuchsia, un sistema operativo pensato per essere universale e sviluppato completamente da zero.

Fuchsia ha iniziato a muovere i primi passi proprio in questi mesi: è stato distribuito su alcuni modelli di smart display Nest. Google dice di essere solo agli inizi con KataOS, il che significa che ha intenzione di svilupparlo e gestirlo nel lungo termine; non è, insomma, una "pezza" da mettere nel breve termine in attesa che Fuchsia sia completamente maturo.

Anche perché, ad accompagnare KataOS, Google ha presentato Sparrow, una reference board completa che fornisce una piattaforma hardware sicura per aiutare gli sviluppatori a collaborare al progetto. Sparrow è basata sul chip sicuro e open-source OpenTitan con architettura RISC-V, anche se inizialmente l'ambiente opera in emulazione Arm64 usando QEMU. Per ora Sparrow non è open-source, ma quello è il goal per il futuro. E in un futuro dove c'è anche KataOS, Fuchsia per definizione non può essere "universale".


15

Commenti

Regolamento Commentando dichiaro di aver letto il regolamento e di essere a conoscenza delle informazioni e norme che regolano le discussioni sul sito. Clicca per info.
Caricamento in corso. Per commentare attendere...
Andrea

GrapheneOS è basato su AOSP. Parliamo di una cosa assolutamente diversa da quella descritta nell'articolo.

Simone

È un errore logico e di programmazione. Il compilatore non si rompe se c'è un potenziale buffer overflow.
Si noti come (credo) si supponga un mancato controllo di un POTENZIALE buffer overflow.
Se ovviamente scivi int X = 2^128 esplode subito il programma.
Ma se scrivi int X = NULL, il.compilatore va liscio, ma poi quando vai ad assegnare il valore da tastiera, a run time, esplode tutto

Simone

Sicurezza != Privacy

Errore del programmatore che non puo' essere commesso se il linguaggio glielo impedisce.

Aniene

Ad oggi uno dei pochi OS davvero sicuro e rispettosi della privacy è GrapheneOS. Il problema al momento è che gira solo su dispositivi Pixel.

Margaret Thatcher
BlackLagoon

Beh certo. Ma ci sono alcuni linguaggi, es. Safe Rust, che ti permettono di evitare che possa capitare proprio perché non è possibile raggirare certi controlli.

ErCipolla

Il 99.999% dei bug sono errori del programmatore, è molto raro imbattersi in un bug in un moderno compilatore.

Sarebbe un bug del compilatore (o della runtime a seconda dei casi) solo se il linguaggio nella sua definizione dà delle garanzie del tipo "questo tipo di bug non può avvenire in questo linguaggio". In quel caso se riesci a riprodurlo hai trovato un bug nel compilatore (o in un altro componente della build chain)

frank700

Il buffer overflow è, quindi, un errore del programmatore.

frank700

Quindi, il buffer overflow è un errore del programmatore.

ErCipolla

Ma in realtà è un bug "di programmazione", ovvero un bug introdotto dal programmatore se non scrive codice "memory safe".

Qui il discorso è che Rust è un linguaggio che ha una gestione della memoria progettata in modo tale da minimizzare il verificarsi di quel tipo di bug, al contrario di linguaggi come il C dove bene o male puoi maneggiare la memoria come vuoi, e sta al programmatore implementare "a mano" tutti i dovuti controlli.

robin994

di solito e' un bug di linguaggio

BlackLagoon

perché il buffer overflow lo causi a runtime, non a compile time (poi che a compile time tu te ne possa accorgere in alcuni scenari è un altro discorso).

Banalmente, se creo una stringa di 5 caratteri e chiedo all'utente di scrivere il proprio nome e questo mi scrive "Gianmaria"... capisci bene che in quei 5 caratteri non potrò mai farci stare il nome :) Nè il compilatore poteva accorgersene a compile time perché non aveva modo di sapere l'utente cosa avrebbe scritto. Questo è il buffer overflow e in un linguaggio a basso livello come il C è assolutamente plausibile.

In (safe) Rust, ogni buffer ha la nozione della propria capacità e questa viene usata ogni qual volta si accede al buffer. Pertanto se un utente prova ad andare oltre i limiti, il programma viene terminato (crash) prima ancora che possa andare in buffer overflow.

T. P.

interessante! :)

frank700

Perchè il buffer overflow è un bug di un linguaggio di programmazione e non un bug del suo compilatore?

Android

Galaxy S23 Ultra vs S22 Ultra: le differenze da sapere e le prime impressioni

Economia e mercato

Poste Italiane, offerta luce e gas da metà febbraio. Prezzo fisso per due anni

Recensione

Aqara, la casa Smart semplice e ben fatta: cos'è e come funziona | Video

Economia e mercato

Google ha paura di ChatGPT: in arrivo due chatbot di ricerca e altri prodotti AI