{"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\/de\/blog\/news\/microsoft-otkryl-cheriot-apparatnoe-reshenie-dlya-povysheniya-bezopasnosti-koda-na-yazyke-si","title":{"rendered":"Microsoft hat CHERIoT er\u00f6ffnet, eine Hardwarel\u00f6sung zur Erh\u00f6hung der Sicherheit von Code in C.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Microsoft hat Entwicklungen im Zusammenhang mit dem CHERIoT-Projekt (Capability Hardware Extension to RISC-V f\u00fcr das Internet der Dinge) vorgestellt, das darauf abzielt, Sicherheitsprobleme im bestehenden Code in C und C++ zu verhindern. CHERIoT bietet eine L\u00f6sung, die es erm\u00f6glicht, bestehende Codebasen in C\/C++ zu sch\u00fctzen, ohne sie umzuschreiben. Der Schutz erfolgt durch die Anwendung eines modifizierten Compilers, der einen speziellen erweiterten Satz von Prozessoranweisungen (ISA) verwendet, die vom Prozessor bereitgestellt werden und auf Hardware-Ebene den Zugriff auf den Speicher \u00fcberwachen, die Korrektheit des Umgangs mit Zeigern pr\u00fcfen und die Isolierung von Codebl\u00f6cken gew\u00e4hrleisten.      <\/p>\n<p>Das Projekt wurde mit dem Blick darauf entwickelt, dass der niedrige Grad an Abstraktion der Sprache C eine Quelle f\u00fcr Fehler im Umgang mit dem Speicher darstellt, die zu Problemen wie Puffer\u00fcberl\u00e4ufen, dem Zugriff auf bereits freigegebenen Speicher, dem Dereferenzieren von Zeigern oder doppelter Speicherfreigabe f\u00fchren. Die Praxis zeigt, dass selbst gro\u00dfe Unternehmen wie Google und Microsoft, die strikte \u00c4nderungspr\u00fcfungsrichtlinien haben und moderne Entwicklungs- sowie statische Analysetools verwenden, keine Garantie f\u00fcr die Fehlerfreiheit im Umgang mit dem Speicher geben k\u00f6nnen (z. B. sind etwa 70 % der Schwachstellen in Softwareprodukten von Microsoft und Google auf unsicheren Speicherzugriff zur\u00fcckzuf\u00fchren).     <\/p>\n<p>Das Problem kann durch die Verwendung von Programmiersprachen gel\u00f6st werden, die einen sicheren Umgang mit dem Speicher garantieren, oder durch Wrapper mit zus\u00e4tzlichen \u00dcberpr\u00fcfungen, beispielsweise durch die Verwendung von speziellen Zeigertypen wie MiraclePtr (raw_ptr), die zus\u00e4tzliche Pr\u00fcfungen beim Zugriff auf freigegebenen Speicher durchf\u00fchren. Solche Methoden eignen sich jedoch eher f\u00fcr neuen Code, w\u00e4hrend bestehende Projekte in C\/C++ ziemlich problematisch umzubauen sind, insbesondere wenn sie f\u00fcr den Einsatz in ressourcenbeschr\u00e4nkten Umgebungen, wie eingebetteten Systemen und Internet-of-Things-Ger\u00e4ten, vorgesehen sind.      <\/p>\n<p>Die Hardwarekomponenten von CHERIoT sind als Mikrokontroller auf Basis der RISC-V-Architektur konzipiert, die eine gesch\u00fctzte Prozessorarchitektur CHERI (Capability Hardware Extension to RISC-V) implementiert. Diese bietet ein Modell f\u00fcr den kontrollierten Zugriff auf den Speicher basierend auf 'Capabilities' (jede Lese- und Schreiboperation im Speicher wird autorisiert). Auf der Grundlage der in CHERIoT bereitgestellten Befehlsarchitektur (ISA) wurde ein Softwaremodell entwickelt, das die Sicherheit im Umgang mit Speicher auf der Ebene einzelner Objekte garantiert, Schutz vor Zugriffen auf bereits freigegebenen Speicher bietet und ein leichtgewichtiges System zur Isolierung des Zugriffs auf den Speicher implementiert. Das genannte Software-Schutzmodell spiegelt sich direkt in der Sprachmodell C\/C++ wider, was es erm\u00f6glicht, es zum Schutz bestehender Anwendungen einzusetzen (es ist lediglich eine Neukompilierung und der Betrieb auf Hardware erforderlich, die die ISA von CHERIoT unterst\u00fctzt).    <\/p>\n<p>Die vorgeschlagene L\u00f6sung erm\u00f6glicht es, Fehler, die einen \u00dcberlauf von Objekten im Speicher verursachen, zu blockieren, l\u00e4sst keine Pointer-Austauschung zu (alle Pointer m\u00fcssen von bereits vorhandenen Pointern abgeleitet werden), verfolgt den Zugriff auf den Speicher nach der Freigabe (jeder Zugriff auf den Speicher \u00fcber einen ung\u00fcltigen Pointer oder einen Pointer, der auf ein freigegebenes Objekt verweist, f\u00fchrt zur Generierung einer Ausnahme). Zum Beispiel erm\u00f6glicht die Anwendung von CHERIoT, ohne \u00c4nderungen am Code eine automatische \u00dcberpr\u00fcfung der Grenzen, die \u00dcberwachung der Lebensdauer von Speicherr\u00e4umen und die Gew\u00e4hrleistung der Integrit\u00e4t von Pointern in Komponenten, die vertrauensunw\u00fcrdige Daten verarbeiten, zu implementieren.      <\/p>\n<p>Das Projekt umfasst die Spezifikation einer erweiterten Architektur des CHERIoT-Befehlssatzes, eine Referenzimplementierung eines 32-Bit-RISC-V-CPUs mit Unterst\u00fctzung der ISA CHERIoT und ein modifiziertes LLVM-Toolset. Die Schaltpl\u00e4ne des CPU-Prototyps und die Beschreibungen der Hardwarebl\u00f6cke in Verilog werden unter der Apache 2.0-Lizenz verbreitet. Als Grundlage f\u00fcr den CPU wurde der Ibex-Core aus dem lowRISC-Projekt verwendet. Das Modell des CHERIoT ISA-Codes ist in der Sprache Sail definiert und wird unter der BSD-Lizenz ver\u00f6ffentlicht.                <\/p>\n<p>Zus\u00e4tzlich wurde ein Prototyp des Echtzeit-Betriebssystems CHERIoT RTOS vorgestellt, der die Isolierung von Compartments selbst auf eingebetteten Systemen mit 256 MB RAM erm\u00f6glicht. Der Code von CHERIoT RTOS ist in C++ geschrieben und wird unter der MIT-Lizenz verbreitet. In Form von Compartments sind die grundlegenden Komponenten des Betriebssystems wie Bootloader, Scheduler und Speichermanagement organisiert.     <\/p>\n<p>Ein Kompartiment in CHERIoT RTOS stellt eine isolierte Kombination aus Code und globalen Variablen dar, die einer Shared Library \u00e4hnelt, jedoch im Gegensatz zu letzterer ihren Zustand (mutable) \u00e4ndern und in einem separaten Sicherheitskontext ausgef\u00fchrt werden kann. Kein externer Code kann die Kontrolle \u00fcber den Code im Kompartiment \u00fcbernehmen oder auf Objekte zugreifen, es sei denn, er spricht spezielle definierte Einstiegspunkte an und verwendet Zeiger auf Objekte, die beim Aufruf eines anderen Kompartiments explizit \u00fcbergeben werden. F\u00fcr den Code und die globalen Objekte im Kompartiment wird Integrit\u00e4t und Vertraulichkeit gew\u00e4hrleistet.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58726\">opennet.ru<\/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.1.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\/de\/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.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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 hat CHERIoT vorgestellt, eine Hardware-L\u00f6sung zur Verbesserung der Sicherheit von C-Code | ProHoster","description":"Microsoft hat seine Arbeiten im Zusammenhang mit dem Projekt CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things) ver\u00f6ffentlicht, das darauf abzielt, Sicherheitsprobleme im bestehenden Code in C-Sprachen zu beheben.","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/106979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=106979"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/106979\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=106979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=106979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=106979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}