Quid sit systema operativum facultatibus fundatum
Systemata operativa moderna fines securitatis inter processūs, tabulas, apparatus, et usores servant. Tamen modus quo hi fines efficiuntur inter diversa systematum consilia magnopere variat.
Pleraque systemata operativa usitata nituntur accessu secundum identitatem moderato et spatiis nominum globalibus. Systemata operativa facultatibus fundata rationem prorsus aliam sumunt: auctoritatem explicite repraesentant eamque notionem primariae dignitatis faciunt.
Hoc scriptum systemata facultatum introducit, explicat quomodo a consiliis traditionalibus differant, atque ostendit cur ad consilium EriX centralia sint.
Problema: auctoritas ambientis⌗
In systematis traditionalibus processūs saepe ad opes per auctoritatem ambientis accedunt.
Auctoritas ambientis significat programmati ad rem accedere posse, quia res in spatio nominum communi exstat et systema iudicat programma permissum habere ut ea utatur.
Exempli gratia:
- Processus
/etc/passwdaperire potest, si satis permissionum habet. - Programma ad socket retis coniungi potest, si systema operativum id permittit.
- Ministerium ad tabulas accedere potest secundum identitatem usoris aut consortium gregis.
In omnibus his casibus auctoritas ad rem accedendi implicita est.
Processus non tenet directam atque explicitam relationem ad rem. Potius nititur:
- nominibus globalibus (viae tabularum, portus, signa apparatuum)
- examinationibus accessus (ID usoris, permissiones, ACL)
Hoc exemplar plura problemata creat:
1. Problema delegati confusi⌗
Programma auctoritate sua per errorem abuti potest pro alio programmate.
Exempli gratia, ministerium privilegiatum tabulam a cliente infido petitam legere potest, quamvis ipse cliens ad eam accedere non debeat.
2. Auctoritas nimis lata⌗
Programmāta saepe cum pluribus permissionibus currunt quam revera indigent. Hoc ictum vitiorum vel corruptionum auget.
3. Ratio difficilis⌗
Difficile est intellegere quid processus facere liceat, nisi status globalis, identitates usorum, et regulae accessus analysi subiciantur.
Idea centralis: facultates⌗
Facultas est symbolum infalsificabile quod accessum ad obiectum certum cum iuribus certis concedit.
Loco huius quaestionis:
“Num hic processus permissionem habet ad hanc rem accedendi?”
systema facultatibus fundatum hoc rogat:
“Num hic processus facultatem possidet quae hanc operationem auctoritate donat?”
Si responsum est non, operatio procedere non potest.
Proprietates facultatum⌗
Facultates plures proprietates definitrices habent:
1. Infalsificabilitas⌗
Processus facultatem validam ex nihilo creare non potest.
Facultates a nucleo creantur et administrantur, quo fit ut neque falsificari neque coniectura inveniri possint.
2. Auctoritas explicita⌗
Omnis auctoritas explicite per facultates repraesentatur.
Si processus operationem perficere potest, facultatem possidere debet quae id permittit. Nullus accessus implicitus per spatia nominum globalia datur.
3. Iura subtiliter definita⌗
Facultates permissiones certas codificare possunt, ut:
- accessum solius lectionis
- accessum scribendi
- permissiones exsecutionis
- limitata operationum subgenera
Hoc efficit ut exacte moderari possimus quid quisque processus facere possit.
4. Transferibilitas⌗
Facultates inter processūs transferri possunt, plerumque per communicationem inter processūs (IPC).
Hoc delegationem moderatam auctoritatis efficit.
Obiecta et facultates⌗
In systemate facultatibus fundato omnia ut obiecta formantur:
- regiones memoriae
- tabulae
- apparatus
- termini IPC
- processūs
Facultas est relatio ad obiectum cum certo iurium numero coniuncta.
Processus cum systemate agit operationes in obiectis per suas facultates invocando.
Non opus est nominibus globalibus sicut viis tabularum aut signis apparatuum intra nucleum. Omnis accessus per facultates mediatur.
Quomodo systemata facultatibus fundata operentur⌗
Ad summam, systema facultatibus fundatum ita operatur:
- Nucleus obiecta et facultates creat.
- Unusquisque processus habet spatium facultatum (saepe CSpace appellatum), in quo facultates servantur.
- Processus tantum in illa obiecta operari potest pro quibus facultates habet.
- Facultates inter processūs per IPC transferri possunt.
- Nucleus omnes probationes facultatum exsequitur.
Ita efficitur systema in quo auctoritas est:
- explicita
- localis
- transferibilis
- facile ratione tractabilis
Exemplum: tabulam aperire⌗
Exemplar traditionale⌗
In systemate tradito:
- Processus vocat
open("/etc/config") - Nucleus permissiones examinat:
- ID usoris
- consortium gregis
- signa modi tabulae
- Si licet, descriptor tabulae redditur
Auctoritas ex statu globali et identitate venit.
Exemplar facultatibus fundatum⌗
In systemate facultatum:
- Processus iam possidere debet facultatem tabulae
- Ea facultate utitur ad operationes legendi aut scribendi perficiendas
Si processus facultatem non habet, ad tabulam accedere non potest, quocumque nomine utatur.
Nullus gradus quaestionis globalis intra nucleum est.
Delegatio et minimum privilegium⌗
Una ex potentissimis rationibus systematum facultatum est delegatio.
Processus alteri processui partem auctoritatis suae dare potest facultatem transferendo.
Exempli gratia:
- Ministerium tabularum clienti accessum solius lectionis ad tabulam dat
- Moderator memoriae ad regionem memoriae certam accessum concedit
- Processus ad terminum IPC accessum concedit
Hoc principium minimi privilegii efficit:
Unaquaeque pars tantum eam auctoritatem accipit qua revera indiget.
Auctoritatem ambientis eliminare⌗
Systemata facultatibus fundata auctoritatem ambientis omnino eliminant.
Non sunt:
- spatia nominum globalia intra nucleum
- accessus implicitus ex identitate pendens
- privilegia occulta
Omnis auctoritas explicite tradi debet.
Hoc multo faciliorem reddit analysin:
- quid processus facere possit
- quomodo auctoritas per systema fluat
- ubi quaestiones securitatis oriri possint
Revocatio (problema difficile)⌗
Una ex provocationibus systematum facultatum est revocatio.
Postquam facultas processui data est, quomodo auferri potest?
Diversa systemata revocationem diversis modis efficiunt:
- stratis indirectis
- vestigatione relationum
- arboribus facultatum
- mechanismis versionum
Revocatio magni momenti campus investigationis est et in posterioribus gradibus EriX explorabitur.
Systemata facultatum in usu⌗
Ideae facultatibus fundatae novae non sunt. Plura systemata eas impleverunt:
- KeyKOS / EROS
- seL4 (micronucleus formaliter verificatus)
- CHERI (facultates apparatu adiuvatae)
- Capsicum (extensiones facultatum pro FreeBSD)
Haec systemata demonstrant consilia facultatibus fundata et practica et valida esse.
Quomodo EriX facultatibus utatur⌗
EriX ab initio ut systema facultatibus fundatum designatur.
In EriX:
- omnis auctoritas per facultates repraesentatur
- facultates fortiter typis distinctae sunt
- facultates semel creatae immutabiles sunt
- facultates per IPC transferuntur
- nucleus infalsificabilitatem et invariantes securitatis servat
Nulla spatia nominum globalia intra nucleum sunt. Omnis accessus ad opes per facultates mediatur.
Hoc cum latiore proposito congruit, ut auctoritas sit:
- explicita
- minima
- facile ratione tractabilis
Cur hoc momenti sit⌗
Systemata facultatibus fundata fundamentum praebent ad aedificanda:
- systemata tutiora
- architecturas magis modulares
- systemata facilius analysi atque verificationi subiecta
Auctoritate implicita remota et omni accessu explicito facto, integrae classes vulnerabilitatum quae in systematis traditionalibus communes sunt eliminantur.
Deinceps⌗
Facultates notio fundamentalis in EriX sunt. In futuris scriptis explorabimus quomodo in usu impleantur, inter quae:
- spatia facultatum (CSpace)
- communicatio inter processūs (IPC)
- administratio memoriae per facultates non typatas
- delegatio et graphia auctoritatis
Facultates intellegere est primus gradus ad reliquum systema intellegendum.