De expert waardeerde het advies van de NSA om C en C ++ te verbieden: hoe dit Rusland zal beïnvloeden

De Amerikaanse National Security Agency (NSA) heeft ontwikkelaars van over de hele wereld gevraagd dit te vermijden

oudere programmeertalen zoals C en C++ worden geacht gevoeliger te zijn voor hackeraanvallen bij de overstap naar nieuwere, geheugenveilige talen.

Wat is het probleem met de C++-taal?

Om instructies uit te voeren in de code die je nodig hebtsysteembronnen, in het bijzonder geheugen. Het probleem met sommige oudere programmeertalen is dat ontwikkelaars deze handmatig kunnen verplaatsen. Als gevolg hiervan ligt de verantwoordelijkheid voor het geheugenbeheer bij de ontwikkelaar. Simpele fouten van programmeurs leiden tot een “storing” van het systeem en het ontstaan ​​van beveiligingsproblemen.

Deze vrijheid brengt bepaalde risico's met zich mee.Deze geheugenveiligheidsfouten kunnen voortkomen uit eenvoudige typefouten en vergeten coderegels, of uit complexe geheugenstructuren en onverwachte interacties.

verklaring van de Atlantische Raad aan de Noord-Atlantische Verdragsorganisatie

In sommige gevallen kan een aanvaller deze fouten gebruiken om toegang te krijgen tot het systeem of om kwaadaardige code uit te voeren.

Dus veelgebruikte talen zoalsBieden, net als C en C++, niet alleen meer vrijheid en flexibiliteit bij het geheugenbeheer, maar 'vertrouwen' in dit opzicht ook op de programmeur. De NSA is van mening dat hackers hierdoor de mogelijkheid krijgen om kwetsbaarheden voor hun eigen doeleinden te misbruiken.

Mening van IT-giganten

Volgens technologiebedrijven is het aandeelOude talen zoals C en C++ zijn verantwoordelijk voor maar liefst 65% van alle fouten. Zo constateren Microsoft, Google en andere IT-giganten kwetsbaarheden in hun codes als gevolg van problemen met de geheugenbeveiliging.

Welke talen zijn veilig?

Nieuwe programmeertalen zoals Python,Java* en Rust wijzen automatisch geheugen toe. Velen van hen elimineren beveiligingsbugs vrijwel of maken ze onmogelijk. NSA-functionarissen hebben C#, Go en Swift aan de ‘veilige lijst’ toegevoegd.

Antwoord van de “grondlegger” van C en C++

Maker van de C++ programmeertaal BjörnStroustrup reageerde op de oproep van de NSA om af te zien van het gebruik van oudere programmeertalen waarbij de verantwoordelijkheid voor het geheugenbeheer bij de ontwikkelaar ligt.

In zijn open brief gepubliceerdOp open-std.org uitte Stroustrup dat hij het niet eens was met het standpunt van het bureau. Hij verklaarde dat zijn vertegenwoordigers C en C++ op één hoop hadden gegooid, ondanks het feit dat de talen zich de afgelopen dertig jaar onafhankelijk hadden ontwikkeld. Tegelijkertijd beschuldigde hij de ontwikkelaars ervan “vaak veranderingen in de taal te negeren die de codebeveiliging radicaal kunnen verbeteren.”

Sterker nog, naar zijn mening doet C++ in geen enkel opzicht onder voor moderne zogenaamde veilige talen als C#, Go, Java, Ruby, Rust en Swift.

Mening van een expert

Om erachter te komen hoe serieus de waarschuwing van de NSA moest worden genomen, sprak Hi-Tech met Andrei Naichenko, de toonaangevende voorverkooparchitect van het Sphere-softwareproductieplatform.

Hij acht het gevaar van dit verbod grootvoor de markt en codeerders mag niet worden overschat. “De tijden dat applicatiesystemen in C++ werden ontwikkeld behoren tot het verleden en de overstap naar de aanbevolen talen (C#, Go, Java, Ruby en Swift) is door de meeste ontwikkelaars al voltooid”, legt de expert uit.

Het hedendaagse gebruik van C++beperkt tot nicheoplossingen op het gebied van besturingssystemen, game-ontwikkeling en game-engines (Unreal Engine, Unity), GPU computing (cryptocurrency, deep learning), ontwikkeling van high-load en high-performance algoritmen. Gezien de hoeveelheid ontwikkelde code en het aantal specialisten is het onwaarschijnlijk dat de overgang naar andere talen op deze gebieden in de nabije toekomst zal plaatsvinden. Voor het overige (het grootste) deel van de markt bedreigt dit advies van de NSA niets.

Wat betreft de geldigheid van dit besluitAndrey Naichenko steunde de maker van de C++-taal Bjarne Stroustrup. “De C++-taal in moderne edities van de standaard biedt een brede en volwassen set tools waarmee je met succes problemen van veilig werken met geheugen kunt oplossen”, legde de expert uit.

Welke gevolgen zal het NSA-besluit voor Rusland hebben?

De problemen die in het NSA-rapport worden genoemd, zijn waarschijnlijkerIn totaal werden ze gevonden in oplossingen die waren geïmplementeerd op basis van vroege taalstandaarden. Uiteindelijk zal het besluit van de NSA geen significante impact hebben op softwareontwikkelaars die zich op de Russische markt richten.

Lees verder:

Wetenschappers hebben de top 6 manieren genoemd om het geheugen van oudere mensen te "redden".

Een mysterieuze ondergrondse afdruk verraste wetenschappers. Hij is meer dan 1000 jaar oud

Het als nep beschouwde zwaard blijkt een 3000 jaar oud artefact uit de Bronstijd te zijn

*Ondanks het feit dat Java als nieuwe taal is geclassificeerd, is het een vrij oude programmeertaal (let op: “Hightech”)