La kreinto de C++ kritikis la altrudon de sekuraj programlingvoj

Bjarne Stroustrup, la kreinto de la lingvo C++, publikigis obĵetojn kontraŭ la konkludoj de la raporto de NSA, kiu rekomendis, ke organizoj foriru de programlingvoj kiel C kaj C++, kiuj lasas memoradministradon al la programisto, favore al lingvoj. tiaj kiel C#, Go, Java, Ruby, Rust kaj Swift, kiuj provizas aŭtomatan memoradministradon aŭ plenumas kompiltempajn memorajn sekureckontrolojn.

Laŭ Stroustrup, la sekuraj lingvoj menciitaj en la raporto de NSA fakte ne estas superaj ol C++ en la aplikaĵoj, kiuj estas gravaj el lia vidpunkto. Precipe, la bazaj rekomendoj por uzi C++ (C++ Core Guidelines), evoluigitaj en la lastaj jaroj, kovras sekurajn programajn metodojn kaj preskribas la uzon de iloj, kiuj garantias sekuran laboron kun tipoj kaj rimedoj. Tamen, programistoj, kiuj ne postulas tiajn striktajn sekurecajn garantiojn, restas kun la eblo daŭrigi uzi malnovajn evoluajn metodojn.

Stroustrup opinias, ke bona senmova analizilo, kiu sekvas la C++ Kernajn Gvidliniojn, povas provizi la necesajn garantiojn por la sekureco de C++-kodo je signife pli malalta kosto ol migrado al novaj sekuraj programlingvoj. Ekzemple, la plej multaj el la Kernaj Gvidlinioj jam estas efektivigitaj en la senmova analizilo kaj memorsekurecprofilo inkluzivita en Microsoft Visual Studio. Kelkaj rekomendoj ankaŭ estas konsiderataj en la ordigita statika analizilo Clang.

La NSA-raporto ankaŭ estis kritikita por temigado nur memorproblemojn, forlasante multajn aliajn programlingvoproblemojn kiuj influas sekurecon kaj fidindecon. Stroustrup rigardas sekurecon kiel pli larĝan koncepton, kies malsamaj aspektoj povas esti atingitaj per kombinaĵo de kodstilo, bibliotekoj kaj senmovaj analiziloj. Por kontroli la inkludon de reguloj, kiuj certigas la sekurecon labori kun tipoj kaj rimedoj, oni proponas uzi komentariojn en la opcioj de kodo kaj kompililo.

En aplikoj kie efikeco estas pli grava ol sekureco, tiu aliro permesas selekteman aplikon de funkcioj kiuj garantias sekurecon nur kie ĝi estas bezonata. Sekurecaj iloj ankaŭ povas esti aplikataj en popeca maniero, kiel komenci kun intervalkontrolado kaj inicialigo reguloj, kaj tiam iom post iom adapti la kodon al pli striktaj postuloj.

fonto: opennet.ru

Aldoni komenton