A C++ nyelv megalkotója bírálta az NSA biztonságos programozási nyelvekről szóló jelentését

bjarne stroustrup

Bjarne Stroustrup reagál az NSA ajánlására, és ellentmond a C++ besorolásnak

Bjarne Stroustrup, a C++ nyelv megalkotója, kifogást emelt az NSA jelentésének megállapításai ellen, amely azt javasolta a szervezeteknek, hogy hagyják el az olyan programozási nyelveket, mint a C és C++, amelyek áthelyezik a memóriakezelést a fejlesztőre, és olyan nyelveket részesítenek előnyben, mint a C#, Go, Java, Ruby, Rust és Swift, amelyek automatikusan biztosítják a memóriakezelést, ill. fordításkor hajtson végre memóriabiztonsági ellenőrzéseket.

Stroustrup szerint az NSA jelentésében említett biztonságos nyelvek nem igazán jobbak a C++-nál az Ön szempontjából fontos alkalmazásokban.

Az NSA azt tanácsolja a szervezeteknek, hogy fontolják meg az általuk használt programozási nyelvek stratégiai változtatását. kevés vagy egyáltalán nem biztosít belső memóriavédelmet, mint például a C/C++, egy memóriabiztos nyelv számára
amikor lehetséges

Különösen őAz alapvető C++ irányelvek, amelyeket az elmúlt években fejlesztettek ki, fedezi a biztonságos programozás módszereit és előírják a biztonságos munkavégzést biztosító eszközök használatát a típusokkal és erőforrásokkal. Azok a fejlesztők azonban, akik nem igényelnek ilyen erős biztonsági garanciákat, továbbra is használhatják a régebbi fejlesztési módszereket.

Stroustrup úgy véli, hogy egy jó statikus elemző amely megfelel a C++ alapvető irányelveinek tudja biztosítani a szükséges biztonsági garanciákat a C++ kódhoz sokkal alacsonyabb költséggel, mint az új biztonságos programozási nyelvekre való váltás.

Például az alapvető irányelvek többsége már be van építve a Microsoft Visual Studio Static Analyzer és Memory-Safe Profile-ba. Néhány ajánlást a Clang tidy statikus analizátor is figyelembe vesz.

Az NSA-jelentést azért is kritizálták, mert csak a memóriaproblémákra összpontosít., így sok más, a biztonságot és megbízhatóságot befolyásoló programnyelvi probléma megoldatlan marad.

Sajnos a C++ használatának nagy része is a távoli múltban ragadt, figyelmen kívül hagyva a fejlesztéseket, beleértve a biztonság drasztikus javításának módjait. Nos, ha bármelyik „biztonságos” nyelvet jobbnak tartanám a C++-nál az általam érdekelt felhasználási területeken, akkor nem tartanám rossz dolognak a C/C++ megszűnését, de nem ez a helyzet. .

Bjarne Stroustrup nem ért egyet azzal, hogy az NSA kiadványa a szoftverek védelmének fogalmát a memória védelmére korlátozza. Valójában ez a szempont az összes olyan publikáció közös nevezője, amelyek a C vagy C++ elhagyását javasolják a Rust nyelv helyett a szoftver biztonsági garanciái miatt, hogy több nagy cég (Microsoft, Amazon, stb.) felismerje azt.

„A „biztonság” fogalmának nincs egységes definíciója, és a programozási stílusok, a támogatási könyvtárak és a statikus elemzések kombinációjával többféle biztonsági típust érhetünk el” – mondja. Bjarne Stroustrup tehát azt sugallja, hogy a C++-ból szoftverbiztonsági szempontból mit lehet beszerezni, többek között a fejlesztőn múlik, és különösen a nyelv által kínált eszközök ismeretén, a fordítómesterségen stb.

Stroustrup a biztonságot egy tágabb fogalomnak tekinti, amelynek különböző oldalai a kódolási stílus, a könyvtárak és a statikus analizátorok kombinációjával érhetők el. A típusokkal és erőforrásokkal való munka biztonságát biztosító szabályok beillesztésének ellenőrzésére javasoljuk a kódjegyzetek és a fordítói opciók használatát.

Azokban az alkalmazásokban, ahol a teljesítmény fontosabb, mint a biztonság, ez a megközelítés lehetővé teszi olyan eszközök szelektív használatát, amelyek csak ott biztosítják a biztonságot, ahol szükség van rá. A biztonságnövelő eszközök részben is alkalmazhatók, például először korlátozzák a tartomány-ellenőrzési és inicializálási szabályokat, majd fokozatosan hozzáigazítják a kódot a szigorúbb követelményekhez.

Végül, ha többet szeretne megtudni a C++ megalkotójának publikációjáról, a részleteket a következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.