Deterministic WebAssembly Sandbox | Dweve Selvedge

Selvedge runs untrusted code in a deterministic WebAssembly sandbox and returns a replayable run record. Publishing in the fourth release round.

Ikkumpila l-workloads tal-BNN ta' Kera għar-runtime ta' Selvedge.

Provenjenza ta' avvenimenti b'katina ta' hashes għall-avvenimenti tas-sistema.

Ċertifikati ta' prova ta' raġunament, mhux traskrizzjonijiet ta' eżekuzzjoni.

Selvedge jippubblika fir-raba' rawnd tal-programm ta' rilaxx tal-fondazzjoni, wara Knot u Ledger. Ladarba jagħmel dan, ipprova modulu WASM f'sandbox u erġa' ħu l-prova tal-envelope int stess.

Wiċċ ta' eżekuzzjoni tal-għodod tal-Model Context Protocol.

Issiġillat b'Ed25519, traskrizzjoni SHA3-256, verifika offline.

Netwerks newrali binarji tal-IR tal-graff, JIT u interpretu.

Runtime tal-mudell tal-komponenti, host WASI 0.2 Preview 2.

Selvedge imexxi kodiċi mhux fdat ġewwa sandbox b'limitazzjoni ta' kapaċità u jirrekordja l-eżekuzzjoni fi traskrizzjoni ssiġillata. Il-konteniment jillimita dak li l-kodiċi jista' jmiss; it-traskrizzjoni turi x'ġara fil-fatt u tista' terġa' tintlagħab għal reviżjoni.

Server tal-Model Context Protocol għall-għodod tal-aġent.

ibni, ivverifika, imexxi, erġa' lagħab. Favorevoli għal CI.

Marbut mal-applikazzjoni tiegħek bħala crate.

Għodod tal-aġent, plugins ta' partijiet terzi, inferenza BNN ta' Kera, u xogħol ta' dejta regolata kollha jidħlu mill-istess fruntiera kkontrollata. Kull runtime jipproduċi l-istess envelope ta' evidenza ssiġillata, għalhekk il-bidliet fid-deploy ma jbiddlux l-istorja tal-awditjar.

Sinjatura Ed25519 5-15 us, verifika 15-30 us.

Bidu tal-proċess inkluż, 8-9x aktar mgħaġġel.

Modulu tal-komputazzjoni, vs 1187-1494 us vanilla.

Selvedge Wasmtime jibda 62 sa 243x aktar malajr minn Wasmtime vanilla fil-livell tal-API. Il-kompromess onest huwa l-hot path: vanilla iżomm is-sejħa ripetuta ta' 22 ns, u l-mudell tal-komponent li jipproduċi t-traskrizzjoni jimxi aktar bil-mod hemmhekk. Kera JIT huwa 2x aktar mgħaġġel sħun għal xogħol ta' graffi. Iċ-ċifri huma mill-BENCHMARKS.md tar-repożitorju.

Agħżel ir-runtime għall-ammont ta' xogħol

Kull deċiżjoni ta' gate hija rreġistrata u hashed.

max_execution_time_ns, separat mill-fuel.

max_memory_bytes, default ta' 256 MiB, limitu ta' 4 GiB.

max_instructions, l-eżawriment iwaqqaf l-ammont ta' xogħol b'mod nadif.

Arloġġ, każwali, filesystem, network, ambjent, stdio, proċess, custom. Ċaħda awtomatika.

Sett ta' kapaċitajiet b'ċaħda awtomatika jgħasses kull sejħa tal-host f'ħames dominji WASI. Limiti ta' riżorsi fuq memorja, fuel, u ħin jorbtu mġiba li taħrab. Kull deċiżjoni ta' gate u qari ta' riżorsi jinsabu fit-traskrizzjoni.

Għandek bżonn evidenza kriptografika ta' dak li għamel l-ammont ta' xogħol, mhux fiduċja fir-runtime.

Afda r-runtime, mhux l-ammont ta' xogħol

Ħalli l-filesystem, ċaħad in-network, imma l-ebda rekord għal kull sejħa fit-trail tal-awditjar.

FP u ħin reali jnixxu. Replay jipproduċi madwar l-istess output, mhux eżatt.

Sandbox iwaqqaf il-ħarba. Ma jippruvax li l-ammont ta' xogħol ġab ruħu b'mod korrett ġewwa.

Sandboxes konvenzjonali jwaqqfu kodiċi ħażin milli jaħrab. Ma jipproduċux rekord ta' dak li l-kodiċi attwalment għamel ġewwa. Meta awditur jistaqsi, it-tweġiba hija asserzjoni, mhux evidenza.

Selvedge jaqbad eżattament dak li eżegwixxa, input għal output, kull sejħa tal-host issiġillata.

Selvedge huwa traskrizzjoni ta' eżekuzzjoni

Ledger jirreġistra dak li ġara f'sistema. Selvedge jirreġistra liema kodiċi dam.

AION joħroġ ċertifikati fuq passi ta' solver, mhux fuq ġirjiet ta' eżekuzzjoni.

Kif Selvedge jiddifferixxi minn AION u Ledger

L-istess inputs flimkien mal-istess envelop ifissru l-istess output, dejjem.

Epoka fissa u PRNG ChaCha20 b'żerriegħa jissostitwixxu l-ħin tal-host u l-entropija.

Il-komputazzjoni interna, il-ħażna u l-akkumulazzjoni jużaw rappreżentazzjonijiet binarji, interi, b'punt fiss jew adattivi interi/punt fiss. Il-punt li jvarja huwa aċċettat biss f'konfini esterni ddikjarati u jiġi kkonvertit espliċitament qabel ma jibda x-xogħol intern; m'hemm l-ebda alternattiva interna ta' punt li jvarja. L-arloġġ virtwali jibqa' fiss, għalhekk ir-replay jipproduċi l-istess bytes.

Eżekuzzjoni deterministika b'mod awtomatiku

Il-verifikatur jerġa' jdoqq offline bil-bytes tal-modulu u l-envelop biss.

Firma ed25519 fuq l-għerq tal-envelop. Mhux proża.

Kull sejħa tal-host hija hashed fil-katina. L-editjar ikisser il-katina.

Għaliex it-traskrizzjoni hija differenti minn log

L-istess fluss f'kull eżekuzzjoni. Ir-replay huwa mekkaniku.

Prova AION maħruġa, iffirmata b'ed25519, envelop lest biex jintbagħat.

Kull sejħa tal-host u riżultat hashed f'katina SHA3-256.

Wasmtime jew Kera jeżegwixxi ġewwa s-sandbox default-deny.

Modulu mgħobbi, kapaċitajiet pinnjati, kaps tar-riżorsi applikati.

Selvedge imexxi kodiċi WASM jew Kera ġewwa sandbox default-deny, jahseb kull sejħa tal-host f'katina ta' traskrizzjoni SHA3-256, u jgeżwer ir-riżultat f'envelop ta' prova AION iffirmat. L-envelop jerġa' jindaqq mingħajr is-sandbox oriġinali.

Selvedge huwa sandbox deterministiku ta' WebAssembly għal kodiċi mhux fdat. Il-manifest tal-permessi tiegħu u t-traskrizzjoni siġillata jitmexxew fuq hardware li inti tikkontrolla, sabiex kontroparti tkun tista' terġa' tdoqq ir-rekord fuq il-magna tagħha stess u tilwima ssir tfittxija aktar milli talba ta' assigurazzjoni.

Żomm il-kodiċi fil-limiti, żomm ir-reġistru

Selvedge ipoġġi programm li ma għażiltx int f’kamra mingħajr internet, mingħajr rotta għall-fajls tiegħek u mingħajr xejn x’jitgħallem dwar il-magna tiegħek. Iħalli rċevuta li tgħid x’reġa’ lura u x’kien permess li jagħmel il-programm, sabiex tkun tista’ tiċċekkja talba aktar tard minflok tieħu kelma ta’ ħaddieħor.

Selvedge imexxi kodiċi li ma ktibtx int f’host tal-komponenti WebAssembly mingħajr netwerk, filesystem, ambjent jew arloġġ li jiċċaqlaq. Kull ġirja li titlesta tirritorna rekord li parti oħra tista’ terġa’ tilgħab, u rapport ta’ eżekuzzjoni li jgħid x’kien permess li jagħmel il-kodiċi. Ippubblikat taħt Apache 2.0.

Mexxi kodiċi mhux fdat fuq hardware li tikkontrolla int.

Il-pubblikazzjoni hija ppjanata f’rawnds ta’ ġimgħatejn. Ir-repożitorju u d-dokumentazzjoni tiegħu jitniedu flimkien.

Jaħdem fuq kompjuters li inti tippossjedi

Jagħmel xogħol żgħir wieħed, hawn, u imkien ieħor.

Issiġillat, biex xejn ma jista' jinbidel

Eżekuzzjoni tlestiet b'suċċess fi 18.4ms

Il-kamra, l-irċevuta u l-lista huma l-wegħda kollha.

Hawn jasal bħala lista. Kull xogħol li uża l-programm difettuż isemmu bil-kodiċi, bid-data u b'lista qasira ta' permessi, sabiex tkun tista' tara x'ġie affettwat u kemm seta' jasal. Jekk min għamilhom m'għadux fdati, l-irtirar jidħol fis-seħħ f'intervall ta' aġġornament stabbilit, mhux meta jiskadi ċertifikat. Is-softwer huwa ppubblikat taħt il-liċenzja Apache 2.0.

Il-verżjoni tas-soltu ta' din il-konversazzjoni hija stima. Xi ħadd jikkalkula liema rilaxx kien probabbilment qed jaħdem, liema ġranet, għal min, u t-tweġiba tasal b'firxa b'kawtela. Dan iħalli l-fatti meħtieġa biex tiskala korrezzjoni bħala rikostruzzjoni, mhux rekord. Il-korrezzjoni tibda b'lista li tista' tiġi ċċekkjata.

Kull xogħol jirrekordja kodiċi qasir għall-programm eżatt li għamel ix-xogħol. Mhux ismu, mhux in-numru tal-verżjoni tiegħu, il-programm innifsu, sabiex żewġ bini li jaqsmu isem xorta jkollhom kodiċijiet differenti. Jekk dak il-programm aktar tard jirriżulta difettuż, il-kodiċi huwa kif jinstab kull xogħol li mess.

Meta xi ħaġa tirriżulta ħażina, kodiċi wieħed isemmi l-programm.

Il-programm innifsu jittella' frisk kull darba mill-kodiċi tiegħu stess, u l-irċevuta ġġorr kodiċi għal dak il-kodiċi, sabiex il-ħaġa li damet illum hija b'mod provabbli l-istess ħaġa li damet ix-xahar li għadda. Xejn ma jakkumula bejniethom biex xi ħadd jinkwieta dwaru aktar tard.

Kamra ġdida ta' Selvedge tiswa daqshekk ftit li waħda għal kull xogħol hija affordabbli, għalhekk xejn ma jrid jinqasam. Jekk xi ħaġa ġenwinament teħtieġ li tinġarr, tingħata b'mod intenzjonat u tidher fir-rekord bħala ħaġa li ngħatat.

Kull xogħol jieħu kamra ġdida. Xejn mill-aħħar waħda mhu fiha: l-ebda nota mibqgħa, l-ebda xogħol nofsu lest, l-ebda memorja ta' min talab. Dan jidher ovvju u ħafna drabi mhux veru, għaliex iżżomm kamra wieqfa huwa orħos milli tibni waħda ġdida, għalhekk ħafna sistemi jżommu l-kamra u jerġgħu jużawha.

Kamra ġdida hija lesta għax-xogħol li jmiss.

Li ma ssib xejn hija evidenza dgħajfa, għaliex tiddependi fuq kemm xi ħadd fittex iebes u kemm kellu żmien qabel il-laqgħa. Lista ta' żewġ permessi hija evidenza b'saħħitha, għaliex ma kien hemm xejn ieħor x'tfittex.

Dan ibiddel dak li jiġri meta tistaqsi mistoqsija aktar tard. Minflok xi ħadd jgħaddi minn dak li għamel il-programm u jirrapporta lura li ma sab xejn inkwetanti, il-lista tal-permessi hija hemm stess, u hija qasira.

Ħafna rekords jgħidulek x’għamel programm. Irċevuta ta’ Selvedge tgħid ukoll x’kien permess li jagħmel, li hija ħaġa differenti u aktar utli. Programm li qatt ma kien permess joqrob lejn il-fajls tiegħek ma setax ikun qrib il-fajls tiegħek, u dan jibqa’ fir-rekord kemm jekk xi ħadd kien qed jara dak il-ħin u kemm jekk le.

Kodiċi mhuwiex kopja tal-programm; isemmi eżattament dak li ġie esegwit.

Huwa jagħlaq ukoll trick żgħir. Programm li jista’ jaqra l-arloġġ jista’ jġib ruħu b’mod wieħed qabel skadenza u b’mod ieħor wara, u ħadd qatt ma jinduna bid-differenza. Arloġġ li qatt ma jiċċaqlaq ma jistax jiġi osservat, għalhekk m’hemm xejn li jġib ruħu differenti dwaru.