C++ kalbos kūrėjas sukritikavo NSA ataskaitą apie saugias programavimo kalbas

bjarne stroustrup

Bjarne'as Stroustrupas reaguoja į NSA rekomendaciją ir prieštarauja C++ klasifikacijai

Bjarne'as Stroustrupas, C++ kalbos kūrėjas, pareiškė prieštaravimus NSA ataskaitos išvadoms, kuri rekomendavo organizacijoms atsisakyti programavimo kalbų, pvz., C ir C++, kurios perkelia atminties valdymą kūrėjui, naudodamas tokias kalbas kaip C#, Go, Java, Ruby, Rust ir Swift, kurios automatiškai valdo atmintį arba kompiliavimo metu atlikti atminties saugos patikras.

Pasak Stroustrup, NSA ataskaitoje minimos saugios kalbos tikrai nėra pranašesnės už C++ jūsų požiūriu svarbiose programose.

NSA pataria organizacijoms apsvarstyti strateginius programavimo kalbų, kurias jos naudoja, pakeitimą. suteikia mažai arba visai nėra būdingos atminties apsaugos, pvz., C/C++, atmintyje saugiai kalbai
kai tai įmanoma

Visų pirma jisPagrindinės C++ gairės, kurie buvo sukurti pastaraisiais metais, apima saugaus programavimo metodus ir nurodyti naudoti įrankius, užtikrinančius saugų darbą su rūšimis ir ištekliais. Tačiau kūrėjai, kuriems nereikia tokių stiprių saugumo garantijų, gali ir toliau naudoti senesnius kūrimo metodus.

Stroustrup mano, kad geras statinis analizatorius kuri atitinka C++ pagrindines gaires gali suteikti reikiamas C++ kodo saugumo garantijas už daug mažesnę kainą nei perėjimas prie naujų saugių programavimo kalbų.

Pavyzdžiui, dauguma pagrindinių gairių jau įdiegtos Microsoft Visual Studio Static Analyzer ir Atminties saugaus profilio. Į kai kurias rekomendacijas taip pat atsižvelgiama naudojant Clang tidy statinį analizatorių.

NSA ataskaita taip pat buvo kritikuojama dėl to, kad dėmesys sutelkiamas tik į atminties problemas., todėl daugelis kitų programavimo kalbos problemų, turinčių įtakos saugumui ir patikimumui, neišspręstos.

Deja, didelė C++ naudojimo dalis taip pat įstrigo tolimoje praeityje, neatsižvelgiant į patobulinimus, įskaitant būdus, kaip drastiškai pagerinti saugumą. Dabar, jei manyčiau, kad kuri nors iš tų „saugių“ kalbų yra pranašesnė už C++, atsižvelgiant į mane dominančius naudojimo būdus, nelaikyčiau C/C++ išnykimu blogu dalyku, bet taip nėra. .

Bjarne'as Stroustrupas nesutinka, kad NSA publikacijoje programinės įrangos apsaugos sąvoka apsiriboja atminties apsauga. Tiesą sakant, šis aspektas yra bendras visų publikacijų, kuriose patariama atsisakyti C arba C++, o ne Rust kalba, kad būtų užtikrintos programinės įrangos saugumo garantijos, kurias atpažįsta kelios didelės įmonės (Microsoft, Amazon ir kt.).

„Nėra vieno „saugumo“ apibrėžimo ir galime pasiekti įvairių saugos tipų derindami programavimo stilius, palaikymo bibliotekas ir pasitelkę statinę analizę“, – sako jis. Taigi Bjarne'as Stroustrupas teigia, kad tai, ką galima gauti iš C++ programinės įrangos saugumo požiūriu, priklauso, be kita ko, nuo kūrėjo ir ypač nuo kalbos siūlomų įrankių išmanymo, jo kompiliatoriaus įvaldymo ir kt.

Stroustrup į saugumą žiūri kaip į platesnę sąvoką, kurios įvairius aspektus galima pasiekti derinant kodavimo stilių, bibliotekas ir statinius analizatorius. Siekiant kontroliuoti taisyklių, užtikrinančių darbo su tipais ir ištekliais saugumą, įtraukimą, siūloma naudoti kodo anotacijas ir kompiliatoriaus parinktis.

Programose, kuriose našumas yra svarbesnis už saugumą, šis metodas leidžia pasirinktinai naudoti įrankius, užtikrinančius saugumą tik ten, kur to reikia. Taip pat iš dalies galima pritaikyti saugos gerinimo įrankius, pavyzdžiui, pirmiausia apriboti diapazono tikrinimo ir inicijavimo taisykles, o tada palaipsniui pritaikyti kodą prie griežtesnių reikalavimų.

Galiausiai, jei jus domina galimybė daugiau sužinoti apie C++ kūrėjo publikaciją, išsamią informaciją galite rasti sekanti nuoroda.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.