Analyytikot ovat tyytyväisiä NSA:n kehittäjille antamaan neuvoihin ottamaan käyttöön muistiturvallisia kieliä PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Analyytikot ovat tyytyväisiä NSA:n kehittäjille antamaan neuvoihin omaksua muistia säästäviä kieliä

Tietoturva-analyytikot suhtautuivat myönteisesti Yhdysvaltain kansallisen turvallisuusviraston (NSA) viime viikolla antamaan suositukseen, jonka mukaan ohjelmistokehittäjät harkitsivat sellaisten kielten kuin C#, Go, Java, Ruby, Rust ja Swift ottamista käyttöön muistiin liittyvien koodin haavoittuvuuksien vähentämiseksi.

NSA kuvaili näitä "muistiturvallisiksi" kieliksi, jotka hallitsevat muistia automaattisesti osana tietokoneen kieltä. He eivät luota siihen, että ohjelmoija toteuttaa muistisuojauksen, vaan käyttää sen sijaan käännösajan ja ajoajan tarkistusten yhdistelmää suojatakseen muistivirheitä vastaan, NSA sanoi.

Muistiturvallisten kielten tapaus

NSA:n hieman epätavallinen neuvonta 10. marraskuuta viittasi laajalti käytettyihin kieliin, kuten C ja C++. luottaa liian voimakkaasti ohjelmoijiin olla tekemättä muistiin liittyviä virheitä, minkä se totesi, on edelleen suurin syy ohjelmistojen tietoturva-aukoihin. Aiemmat tutkimukset yksi kerrallaan Microsoft vuonna 2019 ja toinen Google vuonna 2020 liittyvät sen Chrome-selaimeen – esimerkiksi molemmat havaitsivat, että 70 prosenttia haavoittuvuuksista oli muistin turvallisuusongelmia, NSA sanoi.

"Yleisesti käytetyt kielet, kuten C ja C++, tarjoavat paljon vapautta ja joustavuutta muistinhallinnassa samalla, kun ne luottavat suuresti ohjelmoijan suorittamaan tarvittavat muistiviitteiden tarkistukset", NSA sanoi. Tämä johtaa usein hyödynnettävissä oleviin haavoittuvuuksiin, jotka liittyvät yksinkertaisiin virheisiin, kuten puskurin ylivuotovirheisiin, muistin varausongelmiin ja kilpailuolosuhteisiin.

C#, Go, Java, Ruby, Rust, Swift ja muut muistiturvalliset kielet eivät täysin poista näiden ongelmien riskiä, ​​NSA totesi neuvonnassaan. Useimmat niistä sisältävät esimerkiksi ainakin muutaman luokan tai funktion, jotka eivät ole muistiturvallisia ja sallivat ohjelmoijan suorittaa mahdollisesti vaarallisen muistinhallintatoiminnon. Muistiturvalliset kielet voivat joskus sisältää myös kirjastoja, jotka on kirjoitettu kielillä, jotka sisältävät mahdollisesti vaarallisia muistitoimintoja.

Mutta jopa näillä varoituksilla, muistiturvalliset kielet voi auttaa vähentämään ohjelmistojen haavoittuvuuksia johtuu huonosta ja huolimattomasta muistinhallinnasta, NSA sanoi.

Tim Mackey, Synopsys Cybersecurity Research Centerin turvallisuusstrategi, pitää NSA:n suositusta tervetulleena. Muistiturvallisten kielten käytön pitäisi itse asiassa olla oletusarvo useimmissa sovelluksissa, hän sanoo. "Käytännön syistä se, että kehittäjät keskittyvät muistinhallintaongelmiin upeiden uusien ominaisuuksien ohjelmoinnin sijaan, merkitsee innovaatioveroa", hän sanoo. Muistiturvallisilla ohjelmointikielillä ja niihin liittyvillä kehyksillä varmistavat oikean muistinhallinnan kielen kirjoittajat, eivät sovellusten kehittäjät, Mackey sanoo.

Vaihto voi olla haastavaa

Kypsän ohjelmistokehitysympäristön vaihtaminen kielestä toiseen voi olla vaikeaa, NSA myönsi. Ohjelmoijien on opittava uusi kieli, ja prosessin aikana tulee todennäköisesti aloittelijoille virheitä ja tehokkuutta. Saatavilla olevan muistin suojauksen laajuus voi myös vaihdella merkittävästi kielen mukaan. Jotkut saattavat tarjota vain minimaalisen muistin suojauksen, kun taas toiset tarjoavat huomattavan suojan muistin käytön, varauksen ja hallinnan suhteen.

Lisäksi organisaatioiden on harkittava, kuinka suuren kompromissin ne ovat valmiita tekemään turvallisuuden ja suorituskyvyn välillä. "Muistin turvallisuus voi olla kallista suorituskyvyn ja joustavuuden osalta", NSA varoitti. "Kielillä, joilla on äärimmäisen suojattu luontainen suojaustaso, saattaa vaatia paljon työtä ohjelman yksinkertaisesti saattamiseksi käännökseen tarkistusten ja suojausten vuoksi."

On olemassa lukemattomia muuttujia pelissä, kun yrität siirtää sovellusta kielestä toiseen, sanoo Mike Parkin, Vulcan Cyberin vanhempi tekninen insinööri. "Parhaassa tapauksessa muutos on yksinkertainen, ja organisaatio voi suorittaa sen suhteellisen kivuttomasti", Parkin sanoo. "Toisissa sovellus perustuu ominaisuuksiin, jotka ovat triviaaleja alkuperäisellä kielellä, mutta vaativat laajaa ja kallista kehitystä luodakseen uudelleen uudella."

Muistia säästävien kielten käyttö ei myöskään korvaa asianmukaista ohjelmistotestausta, Mackey varoittaa. Se, että ohjelmointikieli on muistiturvallinen, ei tarkoita, että sillä kehitetty kieli tai sovellukset olisivat vapaita virheistä.

Ohjelmointikielestä toiseen siirtyminen on riskialtis ehdotus, ellei sinulla ole henkilökuntaa, joka ymmärtää jo sekä vanhaa että uutta kieltä, Mackey sanoo. "Tällainen siirto on parasta tehdä, kun sovellus on läpikäymässä suuren versiopäivityksen; Muutoin on mahdollista, että tahattomia bugeja tuodaan osana siirtotyötä”, hän huomauttaa.

Mackey ehdottaa, että organisaatiot harkitsevat mikropalvelujen käyttöä kielten vaihtamisessa. "Mikropalveluarkkitehtuurin avulla sovellus hajoaa palvelujoukoksi, jotka on säilötty", Mackey sanoo. "Ohjelmointikielen näkökulmasta mikään ei edellytä, että jokainen mikropalvelu on ohjelmoitu samalla ohjelmointikielellä kuin muut saman sovelluksen palvelut."

Siirrä

Statistan tuoreet tiedot osoittavat tämän monet kehittäjät käyttävät jo kieliä, joita pidetään muistiturvallisina. Esimerkiksi lähes kaksi kolmasosaa (65.6 %) käyttää JavaScriptiä, lähes puolet (48.06 %) käyttää Pythonia, yksi kolmasosa käyttää Javaa ja lähes 28 % käyttää C#:a. Samaan aikaan huomattava osa käyttää edelleen vaarallisia kieliä, kuten C++ (22.5 %) ja C (19.25 %).

"Uskon, että monet organisaatiot ovat jo siirtyneet pois C/C++:sta paitsi muistin turvallisuuden vuoksi myös yleisen kehityksen ja ylläpidon helppouden vuoksi", sanoo SANS-teknologiainstituutin tutkimusdekaani Johannes Ullrich. "Mutta edelleen on olemassa vanhoja koodipohjaa, joita on ylläpidettävä monien vuosien ajan."

NSA:n neuvonta tarjosi vain vähän käsitystä siitä, mikä olisi voinut saada sen suosituksen tässä vaiheessa. Mutta John Bambenek, Netenrichin tärkein uhkien metsästäjä, neuvoo, etteivät organisaatiot jätä sitä huomiotta. "Muistin haavoittuvuudet ja hyökkäykset ovat olleet yleisiä 1990-luvulta lähtien, joten yleisesti ottaen tämä on hyvä neuvo", hän sanoo. "Kun tämä on sanottu, koska tämä tulee NSA:lta, uskon, että tämän neuvon pitäisi olla kiireellisempi, ja se perustuu tietoon, joka heillä on, mutta meillä ei."

Aikaleima:

Lisää aiheesta Pimeää luettavaa