Microsoft aperit CHERIoT, Hardware solutionem emendare C Code Securitatis

Microsoft progressiones inventas ad CHERIoT (Facultas Hardware extensio ad RISC-V pro Interreti rerum) consilium intendit, ut difficultates securitatis in codice existente in C et C++ intercluderet. CHERIoT solutionem praebet quae te C/C++ codes munire permittit sine necessitate illas reficere. Praesidium inducitur per usum compilatoris modificati qui utitur speciali extensione instructionum processuum (ISA), dummodo processus et in gradu hardware vigilantiae memoriae accessus, rectitudo operis cum indicibus et caudicis solitudo inspiciatur.

Cogitatum cum oculis ad hoc factum est quod natura humilitatis linguae C fons errorum fit cum memoria laborantes, ducens problemata sicut quiddam redundat, accessus ad memoriam iam liberatam, monstratorem dereferences, vel duplices liberat. . Exercitatio ostendit etiam magnas corporationes sicut Google et Microsoft, quae strictam mutationem retractationis habent et modernis evolutionis methodis et instrumentis analysi stabilis utuntur, absentiam errorum cum memoria operando praestare non possunt (exempli gratia circiter 70% of vulnerabilities in Microsoft et Google non tuta memoria tractandi causantur).

Problema solvi potest adhibitis programmandis linguis quae operationem memoriae tutae confirment, vel ligaturae additae compescit, verbi gratia, loco ordinariis indicibus utendo sicut MiraclePtr (raw_ptr), quae adiectis compescit locis pro accessu memoria liberatis praestat. Sed huiusmodi methodi aptiores sunt ad novum codicem, et inceptis exsistentibus C/C++ admodum inconveniens est, praesertim si ordinantur ad currendum in ambitus subsidiis constrictos, sicut systemata infixa rerum et interretiarum machinarum.

CHERIoT ferramenta componentia disposita sunt ut microcontroller ex architectura RISC-V fundatum, CHERI custoditum exsequendum (Hardware Tractus ad RISC-V) processum architecturae, quae exemplum moderatae memoriae accessum secundum "capacitatem" (quisque legere et scribere praebet. operatio ad memoriam licitum est). Fundatur in instructione architecturae (ISA) provisum in CHERIoT, exemplar programmatum aedificatum est quod securitatem memoriae operandi praestat in ambitu rerum singularium, praesidium praebet contra accessum ad memoriam iam liberatam, et instrumentum ad memoriam levem accessum systematis solitarii. . Specimen tutelae certae exemplar programmatis in C/C++ exemplar linguae directe reflectitur, quod sinit adhiberi ut applicationes exsistentes tuendi (tantum rependendo et currendo in apparatu, qui ISA CHERIoT requiritur, sustinet).

Proposita solutio permittit ut errores obstet, qui objectum memoriae limites excedunt, monstratorem substitutionis non patitur (ex indicibus exsistentibus generari oportet), ac monitores memoriae accessum post liberationem (aliquem accessum ad memoriam falsam utentem. monstratorem vel monstratorem objecti obiecti liberati indicentes in exceptione conjecti consequitur). Exempli gratia, usus CHERIoT permittit vos ut limites activitatis instrumentorum recognitionem, memoriam in vita sua sequi, et regulam integritatis cogendi in componentibus quae notitias infidelium tractamus sine ullo codice mutationes requirunt.

Exertum involvit specificationem CHERIoT instructi producti architecturae, relatio exsecutionis 32 frenum RISC-V CPU CHERIoT ISA sustinentis, et modificatum LLVM toolkit. CPU prototypum diagrammatum et descriptiones ferrariae in Verilog sub Apache 2.0 licentiae distributae sunt. Core Ibex ab inceptio lowRISC usus est ut basis pro CPU. Exemplar CHERIoT ISA in lingua Vela definitur et sub licentia BSD licentiatus est.

Accedit prototypum systematis CHERIOT RTOS reali temporis operandi proponitur, quod facultatem praebet cellulas segregandi etiam in systematis infixa cum 256 MB of RAM. In codice CHERIoT RTOS in C scribitur et sub licentia MIT distribuitur. Elementa fundamentalia OS, ut bootloader, schedularum ac memoria distributionis systematis, in cellularum forma ordinantur.

Sodalitas in CHERIoT RTOS solitaria est coniunctio codicis et variabilium globalium quae similis bibliothecae communis est, sed huic dissimilis, statum suum (mutabilem) mutare et in contextu securitatis separato concurrere potest. Nullus Codex ab extra potest potestatem ad codicem in cellula et accessu ad obiecta transferre, nisi accessu ad puncta ingressum specialiter definita et adhibitis indicibus ad res expresse transmissas, vocantem aliam cellulam. Integritas et secreto in tuto collocantur pro codice et rebus global in cellula.

Source: opennet.ru