{"id":106979,"date":"2023-03-01T12:48:41","date_gmt":"2023-03-01T10:48:41","guid":{"rendered":"https:\/\/prohoster.info\/?p=106979"},"modified":"2023-03-01T13:43:17","modified_gmt":"2023-03-01T11:43:17","slug":"microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si","title":{"rendered":"Microsoft a lansat CHERIoT, o solu\u021bie hardware pentru cre\u0219terea securit\u0103\u021bii codului scris \u00een limbajul C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Compania Microsoft a deschis lucr\u0103rile legate de proiectul CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), destinat s\u0103 blocheze problemele de securitate din codul existent scris \u00een limbajele C \u0219i C++. CHERIoT ofer\u0103 o solu\u021bie care permite protejarea bazelor de cod existente \u00een C\/C++ f\u0103r\u0103 a fi nevoie de reimplementare. Protec\u021bia este realizat\u0103 prin utilizarea unui compilator modificat, care folose\u0219te un set extins special de instruc\u021biuni procesor (ISA), furnizate de procesor \u0219i la nivel de hardware, care monitorizeaz\u0103 accesul la memorie, verific\u0103 corectitudinea manipul\u0103rii pointere \u0219i asigur\u0103 izolarea blocurilor de cod.      <\/p>\n<p>Proiectul a fost creat av\u00e2nd \u00een vedere c\u0103 natura de nivel sc\u0103zut a limbajului C devine o surs\u0103 de erori \u00een gestionarea memoriei, duc\u00e2nd la astfel de probleme precum dep\u0103\u0219irea bufferelor, accesarea memoriei deja eliberate, dereferen\u021bierea pointerelor sau eliberarea dubl\u0103 a memoriei. Practica arat\u0103 c\u0103 chiar \u0219i companii mari, cum ar fi Google \u0219i Microsoft, care au politici stricte de revizuire a modific\u0103rilor \u0219i utilizeaz\u0103 metode moderne de dezvoltare \u0219i instrumente de analiz\u0103 static\u0103, nu pot garanta absen\u021ba erorilor \u00een gestionarea memoriei (de exemplu, aproximativ 70% din vulnerabilit\u0103\u021bile produselor software Microsoft \u0219i Google sunt cauzate de gestionarea nesigur\u0103 a memoriei).     <\/p>\n<p>Problema poate fi rezolvat\u0103 prin utilizarea limbajelor de programare care garanteaz\u0103 o gestionare sigur\u0103 a memoriei sau prin leg\u0103turi cu verific\u0103ri suplimentare, de exemplu, prin utilizarea \u00een loc de pointere obi\u0219nuite a tipului MiraclePtr (raw_ptr), care efectueaz\u0103 verific\u0103ri suplimentare asupra accesului la zonele de memorie eliberate. Dar astfel de metode sunt mai potrivite pentru codul nou, iar proiectele existente \u00een C\/C++ sunt dificil de ref\u0103cut, \u00een special dac\u0103 sunt destinate s\u0103 func\u021bioneze \u00een medii cu resurse limitate, precum sistemele \u00eencorporate \u0219i dispozitivele Internet of Things.      <\/p>\n<p>Componentele hardware CHERIoT sunt configurate sub forma unui microcontroler bazat pe arhitectura RISC-V, implement\u00e2nd o arhitectur\u0103 de procesor sigur\u0103 CHERI (Capability Hardware Extension to RISC-V), care ofer\u0103 un model de acces controlat la memorie bazat pe \u201ecapability\u201d (fiecare opera\u021bie de citire \u0219i scriere \u00een memorie este autorizat\u0103). Pe baza arhitecturii setului de instruc\u021biuni (ISA) oferite \u00een CHERIoT, a fost dezvoltat un model software care garanteaz\u0103 securitatea oper\u0103rii cu memoria la nivelul obiectelor individuale, oferind protec\u021bie \u00eempotriva accesului la memoria deja eliberat\u0103 \u0219i implement\u00e2nd un sistem u\u0219or de izolare a accesului la memorie. Acest model software de protec\u021bie se reflect\u0103 direct \u00een modelul lingvistic C\/C++, permi\u021b\u00e2nd aplicarea sa pentru protejarea aplica\u021biilor existente (este necesar\u0103 doar recompilarea \u0219i rularea pe hardware-ul care suport\u0103 ISA CHERIoT).    <\/p>\n<p>Solu\u021bia propus\u0103 permite blocarea erorilor care cauzeaz\u0103 ie\u0219iri \u00een afara limitelor obiectului \u00een memorie, nu permite substituirea pointerelor (toate pointerele trebuie s\u0103 fie generate din pointere deja existente), urm\u0103re\u0219te accesul la memorie dup\u0103 eliberare (orice acces la memorie printr-un pointer gre\u0219it sau un pointer care face referire la un obiect eliberat va genera o excep\u021bie). De exemplu, utilizarea CHERIoT permite implementarea automat\u0103 a verific\u0103rii limitelor, urm\u0103ririi duratei de via\u021b\u0103 a zonelor de memorie \u0219i asigurarea integrit\u0103\u021bii pointerelor \u00een componentele care proceseaz\u0103 date nesigure, f\u0103r\u0103 a necesita modific\u0103ri ale codului.      <\/p>\n<p>Proiectul include specifica\u021bia arhitecturii extinse a setului de instruc\u021biuni CHERIoT, o implementare de referin\u021b\u0103 a unui CPU RISC-V pe 32 de bi\u021bi cu suport pentru ISA CHERIoT \u0219i un instrumentar LLVM modificat. Schemele prototipului CPU \u0219i descrierile blocurilor hardware \u00een limbajul Verilog sunt distribuite sub licen\u021ba Apache 2.0. Ca baz\u0103 pentru CPU a fost utilizat nucleul Ibex din proiectul lowRISC. Modelul de cod CHERIoT ISA este definit \u00een limbajul Sail \u0219i distribuit sub licen\u021ba BSD.                <\/p>\n<p>De asemenea, a fost propus un prototip de sistem de operare \u00een timp real CHERIoT RTOS, care ofer\u0103 posibilitatea izol\u0103rii compartimentelor (compartment) chiar \u0219i pe sisteme \u00eencorporate cu 256 MB RAM. Codul CHERIoT RTOS este scris \u00een C++ \u0219i este distribuit sub licen\u021ba MIT. Componentele de baz\u0103 ale sistemului de operare sunt structurate sub form\u0103 de compartimente, cum ar fi bootloader-ul, scheduler-ul \u0219i sistemul de gestionare a memoriei.     <\/p>\n<p>Compartimentul din CHERIoT RTOS reprezint\u0103 o combina\u021bie izolat\u0103 de cod \u0219i variabile globale, care seam\u0103n\u0103 cu o bibliotec\u0103 partajat\u0103, dar, spre deosebire de aceasta, \u00ee\u0219i poate schimba starea (mutable) \u0219i se poate rula \u00eentr-un context de securitate separat. Niciun cod din exterior nu poate transfera controlul c\u0103tre codul din compartiment \u0219i nu poate accesa obiectele, cu excep\u021bia apel\u0103rii unor puncte de intrare special definite \u0219i utiliz\u0103rii pointerilor la obiecte, explicit transmi\u0219i la apelarea altui compartiment. Integritatea \u0219i confiden\u021bialitatea codului \u0219i obiectelor globale din compartiment sunt garantate.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58726\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C \u0438 \u0421++. CHERIoT \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u0434\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b \u043d\u0430 \u0421\/C++ \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0445 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0417\u0430\u0449\u0438\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-106979","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b CHERIoT, \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-03-01T10:48:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-03-01T11:43:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Microsoft a deschis CHERIoT, o solu\u021bie hardware pentru \u00eembun\u0103t\u0103\u021birea securit\u0103\u021bii codului \u00een limbajul C | ProHoster","description":"Compania Microsoft a deschis lucr\u0103rile legate de proiectul CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), care vizeaz\u0103 blocarea problemelor de securitate din codul existent scris \u00een limbajele C.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b CHERIoT, \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-03-01T10:48:41+00:00","article:modified_time":"2023-03-01T11:43:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/106979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=106979"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/106979\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=106979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=106979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=106979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}