In Clang wird ein verstĂ€rkter Sicherheitsmodus hinzugefĂŒgt.

Aaron Ballman, der Hauptbetreuer des Clang-Compilers und Mitglied der Entwicklungsteams der Standards WG21 (C++) und WG14 (C), hat eine Diskussion ĂŒber die EinfĂŒhrung eines Sicherheitsverbesserungsmodus im Clang-Compiler begonnen. Dieser neue Modus ermöglicht es, ein Set von Optionen zur Erhöhung des Schutzes auf einmal zu aktivieren, Ă€hnlich wie der in GCC 14 eingefĂŒhrte Schalter «-fhardened», bei dem die Optionen «-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full» aktiviert werden.

Es wird angemerkt, dass derzeit an der Erweiterung von Sicherheitsfunktionen in den C- und C++-Standards gearbeitet wird, dieser Prozess jedoch nicht schnell verlĂ€uft. Im Gegensatz dazu stehen in Clang bereits einzelne Optionen zur VerfĂŒgung, die zusĂ€tzliche Schutzmechanismen implementieren. Die implementierten Schutzmethoden fĂŒhren oft zu spezifischen InkompatibilitĂ€ten mit bestehendem Code oder brechen die ABI, was eine Aktivierung standardmĂ€ĂŸig unmöglich macht. DarĂŒber hinaus sind solche Optionen fragmentiert (Flags zur Steuerung der Kompilierung, Flags zur Generierung von Maschinenanweisungen, die an Hardwarearchitekturen gebunden sind, Warnungen, Diagnosetools, Makros), schlecht dokumentiert und geraten aus dem Blickfeld vieler Entwickler.

Die einheitliche Konfiguration vereinfacht die Aktivierung sicherheitsrelevanter Optionen und deren Anwendung. Es werden verschiedene Optionen zur Aktivierung des verstĂ€rkten Sicherheitsmodus in Betracht gezogen, wie die Aktivierung ĂŒber das Flag „-fhardened“, die Konfiguration „—config=hardened“, einen separaten Treiber (clang —driver-mode) oder separate Optionen „-fhardened, -mhardened und -Whardened“, die an Compiler, Codegenerierung und Warnmeldungen gebunden sind. Der Modus kann Folgendes abdecken:

  • Compiler-Funktionen: -ftrivial-auto-var-init, -fPIE, -fcf-protection usw.
  • Funktionen, die mit der Codegenerierung fĂŒr Zielplattformen verbunden sind: -mspeculative-load-hardening, -mlvi-hardening usw.
  • Warnungen: -Wall, -Wextra, -Werror=return-type usw.
  • SicherheitsverstĂ€rkungsmodi in der Standardbibliothek.
  • Makros: _FORTIFY_SOURCE, _GLIBCXX_ASSERTIONS usw.
  • Anforderung zur expliziten Auswahl des verwendeten Sprachstandards.
  • Verweigerung der Kompilierung von Code mit veralteten Standards C89 und C++98.
  • Übermittlung zusĂ€tzlicher Linker-Flags, z. B. zur Aktivierung der Adressrandomisierung.

Quelle: opennet.ru

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster