Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen'.

PHPz
Freigeben: 2024-03-01 22:16:11
nach vorne
353 Leute haben es durchsucht

Kürzlich hat das Büro des National Cyber ​​​​Director (ONCD) des Weißen Hauses in einem 19-seitigen Bericht einen wichtigen Punkt hervorgehoben: Entwickler sollten speichersichere Programmiersprachen wie die Sprache Rust einführen. Der Bericht weist darauf hin, dass die Wahl einer speichersicheren Programmiersprache ein wichtiger Weg ist, um sicherzustellen, dass Software auf sichere Weise entwickelt wird.

ONCD wies außerdem darauf hin, dass die Empfehlungen im Bericht in Zusammenarbeit mit Technologieunternehmen, Hochschulen und anderen Institutionen entwickelt wurden und von einer Reihe bekannter Technologieunternehmen unterstützt werden, darunter HP, Accenture und Palantir.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Berichtsadresse: https://www.whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf

Eigentlich ist dies nicht offiziell von In den Vereinigten Staaten fordern Organisationen erstmals eine Abkehr von C und C++.

Im Dezember letzten Jahres veröffentlichte die U.S. Cybersecurity and Infrastructure Agency (CISA) zusammen mit anderen Behörden einen „Memory Security Roadmap Guide“, in dem sie C und C++ als speicherunsichere Programmiersprachen hervorhob und dabei betonte, dass Softwareentwicklungsanbieter dies tun sollten übernehmen Sie andere speichersichere Programmiersprachen wie Rust und Java. Der Zweck dieses Leitfadens besteht darin, das Bewusstsein für Speichersicherheitsprobleme in der Softwareentwicklung zu schärfen und die Einführung zuverlässigerer Programmiersprachen zu fördern, um potenzielle Sicherheitslücken zu verringern. CISA betont insbesondere die Bedeutung der Einführung speichersicherer Programmiersprachen, da dies dazu beiträgt, das Risiko böswilliger Angriffe und Datenlecks zu verringern. Dieser Schritt soll auch die Entwicklung der Softwareentwicklungsbranche in eine sicherere und zuverlässigere Richtung fördern,

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Quelle: https://www.cisa.gov/sites/default/files/2023-12/ The-Case -for-Memory-Safe-Roadmaps-508c.pdf

Verlassen Sie C und C++, wenden Sie sich an Rust, nur für die Speichersicherheit

Es ist wichtig, die Verwendung speichersicherer Programmiersprachen hervorzuheben. Da die Speichersicherheit Vorkommnisse wie Pufferung verhindern kann, können Probleme wie Bereichsüberlauf und baumelnde Zeiger zu Fehlern und Schwachstellen führen. Daher ist es wichtig, das Konzept der Speichersicherheit zu verstehen.

Wie schädlich ist Gedächtnisunsicherheit? Im Jahr 2019 berichteten Microsoft-Sicherheitsingenieure, dass etwa 70 % der Sicherheitsprobleme durch Probleme mit der Speichersicherheit verursacht wurden. Im Jahr 2020 meldete Google ähnliche Daten zu Fehlern, die im Chromium-Browser entdeckt wurden.

Für Programmiersprachen erlauben sowohl C als auch C++ die Arithmetik beliebiger Zeiger unter Verwendung direkter Speicheradressen ohne Grenzprüfung. Der Bericht weist darauf hin, dass Experten herausgefunden haben, dass einige Programmiersprachen, repräsentiert durch C und C++, beide keine speichersicherheitsrelevanten Funktionen aufweisen und in einigen kritischen Systemen weit verbreitet sind. Daher gelten C und C++ als „unsichere“ Programmiersprachen.

Äquivalent zu C und C++ gilt Rust als klassisches Beispiel einer speichersicheren Programmiersprache. Rust ist eine Systemprogrammiersprache, die sich auf Sicherheit, insbesondere Parallelitätssicherheit, konzentriert. Es unterstützt Multiparadigmensprachen wie funktionale, imperative und generische Programmierparadigmen und wird auch von Deep-Learning-Frameworks wie TensorFlow als hervorragende Front-End-Sprache verwendet.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Im Entwicklerumfragebericht 2021 der Programmierer-Frage- und Antwort-Website Stack Overflow wurde die Rust-Sprache zur beliebtesten Programmiersprache unter Entwicklern. Einer der Gründe, warum Rust in der Welt der Systemprogrammierung so beliebt ist, besteht darin, dass es dabei helfen kann, speicherbezogene Sicherheitslücken zu schließen.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Die Speichersicherheitsfunktionen von Rust wurden seit langem von der Industrie überprüft. Im April 2021 kündigte Google an, dass Android die Sprache Rust unterstützen werde. Der Grund dafür ist, dass Speichersicherheitsfehler in C und C++ die am schwierigsten zu behebenden Fehlerquellen sind. Google hat viel Mühe und Ressourcen investiert, um solche Fehler zu erkennen, zu beheben und zu mildern und das Eindringen einer großen Anzahl von Fehlern wirksam zu verhindern Android-Version.

Allerdings bleiben Sicherheitslücken im Speicher trotz dieser Bemühungen die Hauptursache für Stabilitätsprobleme und machen im Laufe der Zeit etwa 70 % der kritischen Sicherheitslücken von Android aus. Daher hat Google eine dritte Option, Rust, für Betriebssystementwickler hinzugefügt.

Dan Grossman, Professor für Informatik an der University of Washington, sagte, dass jeder seit Jahrzehnten um die Gefahren von C und C++ wisse und es nun endlich ein guter Zeitpunkt sei, speichersichere Programmiersprachen dort zu fördern sind praktische und ausgereifte Alternativen.

Er glaubt auch, dass die Abschaffung von C und C++ nicht über Nacht gelingen kann, insbesondere in eingebetteten Systemen. Es wird jedoch erwartet, dass sich dieser Prozess beschleunigen wird, da andere Programmiersprachen wie Rust in der Systemsoftware immer häufiger zum Einsatz kommen.

Was die offizielle Einstellung zu C und C++ betrifft, scheinen nicht mehr Leute es zu kaufen.

Manche Leute denken, dass modernes C++ speichersicher ist und alle Betriebssysteme C oder C++ zum Programmieren verwenden. Einige Leute glauben auch, dass modernes C++ mehr „Schutzmaßnahmen“ aufweist und kostengünstig oder sogar kostenlos ist, auch wenn C++ nicht speichersicher ist.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Für Rust, das wegen der Speichersicherheit „handverlesen“ wurde, sind einige Leute der Meinung, dass der Grad der Unterstützung nicht so hoch ist und es einer Integration in Regierungssysteme nicht würdig ist.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Welche anderen speichersicheren Programmiersprachen gibt es neben Rust?

Im November 2022 veröffentlichte die National Security Agency (NSA) ein Informationsblatt zur Cybersicherheit, in dem sie detailliert darlegt, was sie berücksichtigt Speichersichere Programmiersprachen. Programmiersprache

  • Rust
  • Go
  • C#
  • Java
  • Swift
  • J avaScript
  • Ruby
  • Python
  • Delphi/Object Pascal
  • Ada

Wie beliebt sind die oben genannten Programmiersprachen? Der Programmiersprachen-Popularitätsindex TIOBE vom Februar 2024 zeigt, dass Python an erster Stelle steht, C# an fünfter Stelle, Java an vierter Stelle, JavaScript an sechster Stelle, Go an achter Stelle und Delphi/Object Pascal an zwölfter Stelle, Rust an zweiter Stelle Platz 18 und Ruby belegte knapp den 20. Platz.

Wie Sie sehen, sind die meisten von der NSA ausgewählten Sprachen in den Top 20, nur Ada ist nicht dabei, aber es sind nur 5 in den Top Ten.

Das Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen.

Quelle: https://www.tiobe.com/tiobe-index/

Der Bericht fordert auch eine bessere Messung der Softwaresicherheit. ONCD glaubt: Bessere Kennzahlen ermöglichen es Technologieanbietern, Schwachstellen besser zu planen, vorherzusagen und zu mindern, bevor sie zu einem Problem werden.

Der Bericht geht auch auf die Apollo-13-Mission ein, die die NASA als „erfolgreichen Misserfolg“ einstufte. Die Mission selbst erlitt einen katastrophalen Misserfolg, und die drei Astronauten führten vorübergehende Reparaturen durch und milderten einige der Probleme, um sicher nach Hause zurückzukehren. Im Bericht heißt es: Speichersicherheitscodes sind für das Raumfahrtprogramm sehr wichtig. Die menschliche Erforschung des Weltraums sollte eine speichersichere Sprache verwenden, eine Sprache, die so nah wie möglich am Kernel ist, um zukünftige Unfälle zu vermeiden.

Da immer mehr Teile der Welt digitalisiert werden, wird bessere Codierung immer wichtiger und schlechter Code kann böswillig verwendet werden.

Rust Language

Rust Language ist eine universelle, kompilierte Programmiersprache unter der Leitung von Mozilla. Die Entwurfskriterien sind „Sicherheit, Parallelität und Praktikabilität“ und unterstützen funktionale, gleichzeitige, prozedurale und objektorientierte Programmierstile.

Der wichtigste Vorteil der Rust-Sprache besteht darin, dass sie Speichersicherheitsgarantien ohne zusätzlichen Leistungsverlust bieten kann. Im Entwicklungsprozess herkömmlicher Programmiersprachen auf Systemebene (C/C++) kommt es häufig zu Abstürzen oder Fehlern aufgrund verschiedener Speicherfehler wie Nullzeiger, Wildzeiger, Speicherlecks, Speicher außerhalb der Grenzen, Segfaults usw. Datenrennen und Iterationen. Gerätefehler usw.

Speicherprobleme stellen eine große versteckte Gefahr für die Programmstabilität und -sicherheit dar und sind ein wesentlicher Faktor, der die Entwicklungseffizienz beeinträchtigt. Die beiden großen Technologiegiganten Google und Microsoft haben erklärt, dass 70 % der Programmsicherheitsprobleme in ihren wichtigen Produkten durch Speicherprobleme verursacht werden, und beide Giganten erwägen den Einsatz der Rust-Sprache zur Lösung von Speichersicherheitsproblemen.

Darüber hinaus verfügt Rust auch über hervorragende plattformübergreifende Fähigkeiten, unterstützt die übergreifende Kompilierung und ist auch für eingebettete Umgebungen geeignet.

Allerdings weist die Rust-Sprache auch einige knifflige Mängel auf.

Da Rust eine spezielle Syntax hat, ist der Einstieg für Anfänger etwas schwierig, z. B. „Lifetime“. Im Vergleich dazu sind Sprachen wie Python und Java einfacher und leichter zu erlernen. Wenn Sie die Sprache C++ jedoch bereits kennen, ist das Erlernen der Sprache Rust viel einfacher, da sie viel von der C++-Syntax übernimmt.

Zweitens ist die Compilerprüfung der Rust-Sprache sehr streng und der größte Teil des Entwicklungsprozesses wird mit der Lösung von Kompilierungsproblemen verbracht. Sobald die Kompilierung jedoch abgeschlossen ist, müssen sich Entwickler keine Gedanken mehr über Speichersicherheit, Speicherlecks und andere Probleme machen, sondern müssen sich nur auf die Geschäftslogik konzentrieren.

Das obige ist der detaillierte Inhalt vonDas Weiße Haus hat ein Dokument herausgegeben, in dem Entwickler aufgefordert werden, C und C++ aufzugeben: Rust wurde wegen der Speichersicherheit „handverlesen'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!