C++'s skaber kritiserer påtvingelser af sikre programmeringssprog

Bjarne Stroustrup, skaberen af programmeringssproget C++, har offentliggjort indvendinger mod konklusionerne i en rapport fra NSA, der anbefalede organisationer at undgå at bruge programmeringssprog som C og C++, som overlader hukommelsesstyring til udvikleren, til fordel for sprog som C#, Go, Java, Ruby, Rust og Swift, der tilbyder automatisk hukommelsesstyring eller udfører sikkerhedscheck under kompileringen.

Ifølge Stroustrup overgår de nævnte sikre sprog i rapporten fra NSA ikke C++ i vigtige anvendelser set fra hans perspektiv. Især dækker de seneste års grundlæggende retningslinjer for brug af C++ (C++ Core Guidelines) metoder til sikkert programmering og foreskriver brugen af værktøjer, der sikrer sikker omgang med typer og ressourcer. Samtidig gives udviklere, der ikke har brug for sådanne strenge sikkerhedsgarantier, mulighed for at fortsætte med at anvende gamle udviklingsmetoder.

Stroustrup mener, at en god statisk analyser, der overholder anbefalingerne i C++ Core Guidelines, kan sikre de nødvendige sikkerhedsgarantier for C++-kode, hvilket kræver betydeligt mindre omkostninger end overgangen til nye sikre programmeringssprog. For eksempel er de fleste anbefalinger fra Core Guidelines allerede implementeret i den statiske analyser og profil for sikker hukommelsesbrug i Microsoft Visual Studio. En del anbefalinger er også taget hensyn til i den statiske analyser Clang tidy.

Rapporten fra NSA har også fået kritik for kun at fokusere på problemer med hukommelse, mens mange andre problemer med programmeringssprog, der påvirker sikkerhed og pålidelighed, udelades. Stroustrup betragter sikkerhed som et bredere koncept, hvis forskellige aspekter kan opnås gennem en kombination af skrivestil, biblioteker og statiske analyser. For at styre implementeringen af regler, der sikrer korrekt håndtering af typer og ressourcer, foreslås det at bruge annotationer i koden og compiler-indstillinger.

I applikationer, hvor ydeevne er vigtigere end sikkerhed, giver denne tilgang mulighed for selektiv anvendelse af midler, der garanterer sikkerhed kun der, hvor det er nødvendigt. Sikkerhedsforanstaltninger kan også anvendes delvist, for eksempel kan man i starten begrænse sig til regler for interval- og initialiseringstjek og derefter gradvist tilpasse koden til mere strenge krav.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster