Kreator C++ kritizirao je nametanje sigurnih programskih jezika

Bjarne Stroustrup, kreator jezika C++, objavio je prigovor na zaključke iz izveštaja NSA, u kojem je preporučena organizacijama da se odmaknu od korišćenja programskih jezika poput C i C++, koji prebacuju upravljanje memorijom na programere, u korist jezika kao što su C#, Go, Java, Ruby, Rust i Swift, koji obezbeđuju automatsko upravljanje memorijom ili vrše provere sigurnog rada s memorijom tokom kompajliranja.

Prema Stroustrupu, pomenuti sigurni jezici u izveštaju NSA nisu superiorniji od C++ u važnim primenama iz njegove perspektive. Konkretno, osnovne preporuke za korišćenje C++ (C++ Core Guidelines) koje su razvijene u poslednjim godinama obuhvataju metode sigurnog programiranja i zahtevaju korišćenje alata koji garantuju sigurnu upotrebu tipova i resursa. U tom smislu, programerima koji ne zahtevaju stroge sigurnosne garancije ostavlja se mogućnost nastavka korišćenja starih metoda razvoja.

Stroustrup smatra da može dobar statički analizer koji se pridržava preporuka C++ Core Guidelines obezbediti potrebne sigurnosne garancije C++ koda, zahtevajući znatno manje troškove nego prelazak na nove sigurne programske jezike. Na primer, većina preporuka Core Guidelines već je implementirana u statičkom analizeru i profilu sigurne upotrebe memorije koji dolazi uz Microsoft Visual Studio. Deo preporuka takođe je uzet u obzir u statičkom analizeru Clang tidy.

Objekat kritike takođe je bilo fokusiranje izveštaja NSA samo na probleme sa memorijom, ostavljajući po strani mnoge druge probleme programskih jezika koji utiču na sigurnost i pouzdanost. Stroustrup gleda na sigurnost kao na širi pojam, čiji se različiti aspekti mogu postići kombinacijom stila pisanja koda, biblioteka i statičkih analitera. Za upravljanje uključivanjem pravila koja obezbeđuju sigurnost u radu sa tipovima i resursima, predlaže se korišćenje anotacija u kodu i opcija kompajlera.

V aplikacijah, kjer so zmogljivost bolj pomembna od varnosti, ta pristop omogoča selektivno uporabo sredstev za zagotavljanje varnosti le tam, kjer je to potrebno. Orodja za izboljšanje varnosti se lahko uporabljajo tudi delno, na primer sprva omejiti na pravila preverjanja razponov in inicializacije ter nato postopoma prilagoditi kodo bolj strogim zahtevam.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster