Atvirojo kodo OpenTitan lustas pakeis Intel ir ARM patentuotas pasitikėjimo šaknis

Atvirojo kodo OpenTitan lustas pakeis Intel ir ARM patentuotas pasitikėjimo šaknis

Ne pelno siekianti organizacija žemas RISC su „Google“ ir kitais rėmėjais 5 m. lapkričio 2019 d pateiktas projektas „OpenTitan“, kuris vadinamas „pirmuoju atvirojo kodo projektu, skirtu sukurti atvirą, aukštos kokybės lustų architektūrą su pasitikėjimo šaknimi (RoT) aparatūros lygiu“.

„OpenTitan“, pagrįstas RISC-V architektūra, yra specialios paskirties lustas, skirtas diegti serveriuose duomenų centruose ir bet kokioje kitoje įrangoje, kur būtina užtikrinti įkrovos autentiškumą, apsaugoti programinę-aparatinę įrangą nuo pakeitimų ir pašalinti rootkitų galimybę: tai pagrindinės plokštės, tinklo plokštės, maršruto parinktuvai, daiktų interneto įrenginiai, mobiliosios programėlės ir kt.

Žinoma, panašių modulių yra ir šiuolaikiniuose procesoriuose. Pavyzdžiui, „Intel Hardware Boot Guard“ modulis yra pasitikėjimo „Intel“ procesoriais šaknis. Prieš įkeliant OS, jis patikrina UEFI BIOS autentiškumą per pasitikėjimo grandinę. Tačiau kyla klausimas, kiek galime pasitikėti nuosavybės teisėmis pasitikėjimo šaknimis, nes neturime garantijų, kad projekte nebus klaidų, ir nėra galimybės to patikrinti? Žiūrėti straipsnį „Patikimas Schrödingerio atsisiuntimas. „Intel Boot Guard“ su aprašymu „kaip klaida, kuri daugelį metų buvo klonuota kelių pardavėjų gamyboje, leidžia potencialiam užpuolikui panaudoti šią technologiją, kad sistemoje sukurtų paslėptą rootkit, kurio negalima pašalinti (net ir naudojant programuotoją).

Įrangos kompromiso grėsmė tiekimo grandinėje yra stebėtinai reali: matyt, bet kuris elektronikos inžinierius mėgėjas gali prilituoti klaidą į serverio pagrindinę plokštęnaudojant įrangą, kainuojančią ne daugiau kaip 200 USD. Kai kurie ekspertai įtaria, kad „organizacijos, kurių biudžetas siekia šimtus milijonų dolerių, gali tai daryti daugelį metų“. Nors įrodymų nėra, teoriškai tai įmanoma.

"Jei negalite pasitikėti aparatūros įkrovos programa, žaidimas baigtas." jis kalba Gavinas Ferrisas, lowRISC direktorių tarybos narys. – Nesvarbu, ką veikia operacinė sistema – jei iki operacinės sistemos įkėlimo esate pažeistas, visa kita yra technologijos reikalas. Jūs jau baigėte."

Šią problemą turėtų išspręsti pirmoji tokio tipo atvira aparatinės įrangos platforma OpenTitan (GitHub saugykla, dokumentacija, techninės įrangos specifikacijos). „Google“ teigia, kad atsisakymas nuo patentuotų sprendimų padės pakeisti „lėtą ir ydingą RoT pramonę“.

Pati „Google“ pradėjo kurti „Titan“ atradusi „Minix“ operacinę sistemą, integruotą į „Intel Management Engine“ (ME) lustus. Ši sudėtinga OS išplėtė atakos paviršių nenuspėjamai ir nekontroliuojamai. Google bandė atsikratyti „Intel Management Engine“ (ME), bet nesėkmingai.

Kas yra pasitikėjimo šaknis?

Kiekvienas sistemos įkrovos proceso etapas tikrina kito etapo autentiškumą, taip generuodamas pasitikėjimo grandinė.

Root of Trust (RoT) yra aparatine įranga pagrįstas autentifikavimas, užtikrinantis, kad pirmosios vykdomosios instrukcijos šaltinio pasitikėjimo grandinėje negalima pakeisti. RoT yra pagrindinė apsauga nuo rootkit. Tai yra pagrindinis įkrovos proceso etapas, kuris yra susijęs su vėlesniu sistemos paleidimu - nuo BIOS iki OS ir programų. Ji turi patikrinti kiekvieno paskesnio atsisiuntimo veiksmo autentiškumą. Tam kiekviename etape naudojamas skaitmeniniu parašu pasirašytų raktų rinkinys. Vienas iš populiariausių aparatinės įrangos raktų apsaugos standartų yra TPM (Trusted Platform Module).

Atvirojo kodo OpenTitan lustas pakeis Intel ir ARM patentuotas pasitikėjimo šaknis
Pasitikėjimo šaknų sukūrimas. Aukščiau pateiktas penkių žingsnių įkrovos procesas, kuris sukuria pasitikėjimo grandinę, pradedant nuo įkrovos įkrovos nekeičiamoje atmintyje. Kiekvienas veiksmas naudoja viešąjį raktą kito įkeliamo komponento tapatybei patikrinti. Iliustracija iš Perry Lee knygos „Daiktų interneto architektūra“

RoT gali būti paleistas įvairiais būdais:

  • vaizdo ir šakninio rakto įkėlimas iš programinės įrangos arba nekeičiamos atminties;
  • šakninio rakto saugojimas vienkartinėje programuojamoje atmintyje naudojant saugiklių bitus;
  • Kodas įkeliamas iš saugomos atminties srities į apsaugotą saugyklą.

Skirtingi procesoriai skirtingai įgyvendina pasitikėjimo šaknį. Intel ir ARM
palaiko šias technologijas:

  • ARM TrustZone. ARM parduoda patentuotą silicio bloką lustų gamintojams, kurie suteikia pasitikėjimo šaknį ir kitus saugos mechanizmus. Tai atskiria mikroprocesorių nuo nesaugios šerdies; joje veikia patikima OS – saugi operacinė sistema su aiškiai apibrėžta sąsaja, skirta sąveikai su nesaugiais komponentais. Apsaugoti ištekliai yra patikimame branduolyje ir turėtų būti kuo lengvesni. Įvairių tipų komponentų perjungimas atliekamas naudojant aparatinės įrangos konteksto perjungimą, todėl nereikia saugios stebėjimo programinės įrangos.
  • „Intel“ įkrovos apsauga yra aparatinės įrangos mechanizmas, skirtas patikrinti pradinio įkrovos bloko autentiškumą kriptografinėmis priemonėmis arba matavimo procesu. Norėdami patikrinti pradinį bloką, gamintojas turi sugeneruoti 2048 bitų raktą, kurį sudaro dvi dalys: viešoji ir privati. Viešasis raktas yra atspausdintas ant plokštės gamybos metu „susprogdinus“ saugiklio antgalius. Šie bitai naudojami vieną kartą ir negali būti keičiami. Privatioji rakto dalis sukuria skaitmeninį parašą, skirtą tolesniam atsisiuntimo etapo autentifikavimui.

„OpenTitan“ platforma atskleidžia pagrindines tokios aparatinės / programinės įrangos sistemos dalis, kaip parodyta toliau pateiktoje diagramoje.

Atvirojo kodo OpenTitan lustas pakeis Intel ir ARM patentuotas pasitikėjimo šaknis

„OpenTitan“ platforma

„OpenTitan“ platformos kūrimą valdo ne pelno siekianti organizacija „lowRISC“. Inžinierių komanda įsikūrusi Kembridže (JK), o pagrindinis rėmėjas yra „Google“. Tarp steigėjų yra ETH Zurich, G+D Mobile Security, Nuvoton Technology ir Western Digital.

"Google" paskelbė skelbimą projektas Google atvirojo kodo įmonės tinklaraštyje. Bendrovė teigė, kad „OpenTitan“ yra įsipareigojusi „pateikti aukštos kokybės RoT projektavimo ir integravimo gaires, skirtas naudoti duomenų centrų serveriuose, saugykloje, kraštiniuose įrenginiuose ir kt.

Pasitikėjimo šaknis yra pirmoji pasitikėjimo grandinės grandis žemiausiame patikimo skaičiavimo modulio lygyje, kuriuo sistema visada visiškai pasitiki.

RoT yra labai svarbus programoms, įskaitant viešojo rakto infrastruktūras (PKI). Tai yra saugos sistemos, kuria grindžiama sudėtinga sistema, pvz., IoT programa ar duomenų centras, pagrindas. Taigi aišku, kodėl „Google“ palaiko šį projektą. Dabar ji turi 19 duomenų centrų penkiuose žemynuose. Duomenų centrai, saugykla ir itin svarbios programos yra didžiulis atakų paviršius, todėl, siekdama apsaugoti šią infrastruktūrą, „Google“ iš pradžių sukūrė savo pasitikėjimo šaknį „Titan“ luste.

Patentuotas Titan lustas pirmą kartą buvo pristatytas „Google“ duomenų centrams 2017 metų kovo mėnesį „Google Cloud Next“ konferencijoje. „Mūsų kompiuteriai atlieka kiekvieno programinės įrangos paketo kriptografinę patikrą ir tada nusprendžia, ar suteikti jam prieigą prie tinklo išteklių. „Titanas“ integruojasi į šį procesą ir siūlo papildomus apsaugos sluoksnius“, – tame pristatyme sakė „Google“ atstovai.

Atvirojo kodo OpenTitan lustas pakeis Intel ir ARM patentuotas pasitikėjimo šaknis
Titan lustas Google serveryje

„Titano“ architektūra anksčiau priklausė „Google“, tačiau dabar ji tampa vieša kaip atvirojo kodo projektas.

Pirmasis projekto etapas yra loginio RoT dizaino sukūrimas lusto lygiu, įskaitant atvirojo kodo mikroprocesorių lowRISC ožka, kriptografiniai procesoriai, aparatinės įrangos atsitiktinių skaičių generatorius, raktų ir atminties hierarchijos, skirtos nepastoviai ir nepastoviai saugyklai, saugos mechanizmai, I/O periferiniai įrenginiai ir saugūs įkrovos procesai.

„Google“ teigia, kad „OpenTitan“ yra pagrįstas trimis pagrindiniais principais:

  • kiekvienas turi galimybę susipažinti su platforma ir prisidėti;
  • didesnis lankstumas atveriant logiškai saugų dizainą, kurio neblokuoja patentuotų pardavėjų apribojimai;
  • kokybę užtikrina ne tik pats dizainas, bet ir referencinė programinė įranga bei dokumentacija.

„Dabartiniai lustai su pasitikėjimo šaknimis yra labai patentuoti. Jie teigia, kad yra saugūs, tačiau iš tikrųjų jūs tai laikote savaime suprantamu dalyku ir negalite patys to patikrinti, sako Dominicas Rizzo, „Google Titan“ projekto pagrindinis saugos specialistas. „Dabar pirmą kartą įmanoma užtikrinti saugumą be aklo tikėjimo patentuoto pasitikėjimo dizaino kūrėjais. Taigi pagrindas yra ne tik tvirtas, jį galima patikrinti.

Rizzo pridūrė, kad „OpenTitan“ gali būti laikomas „radikaliai skaidriu dizainu, palyginti su dabartine padėtimi“.

Kūrėjų teigimu, „OpenTitan“ jokiu būdu neturėtų būti laikomas baigtu produktu, nes kūrimas dar nebaigtas. Jie sąmoningai atvėrė specifikacijas ir dizaino viduryje, kad visi galėtų jį peržiūrėti, pateikti informaciją ir patobulinti sistemą prieš pradedant gamybą.

Norėdami pradėti gaminti OpenTitan lustus, turite pateikti paraišką ir gauti sertifikatą. Matyt, autorinio atlyginimo nereikia.

Šaltinis: www.habr.com

Добавить комментарий