Apelul Casei Albe pentru siguranța memoriei aduce provocări, schimbări și costuri

Apelul Casei Albe pentru siguranța memoriei aduce provocări, schimbări și costuri

Nodul sursă: 2537331

COMENTARIU

Publicația recentă „Înapoi la blocurile de construcție: A Path Toward Secure and Measurable Software” de către Biroul Casei Albe al Directorului Național Cyber ​​(ONCD) oferă detalii suplimentare și direcție strategică care sprijină Strategia națională de securitate cibernetică lansată în martie 2023. Strategia intenționează să transfere o cotă mult mai mare de responsabilitate pentru securitatea cibernetică către furnizorii de software, furnizorii de servicii și alte entități care dezvoltă aplicații software. Acest ultim raport oferă o direcție mai specifică, subliniind o trecere agresivă către limbaje de programare sigure pentru memorie cu practicile de dezvoltare software.

Imperativul de siguranță a memoriei

Limbajele de programare tradiționale sunt adesea veriga slabă în dezvoltarea software-ului, vulnerabilitățile de siguranță ale memoriei conducând la incidente semnificative. În ciuda revizuirilor complete de cod și a altor măsuri de securitate, aceste vulnerabilități persistă, reprezentând până la 70% din problemele de securitate în aceste limbi. O trecere către limbaje de programare sigure pentru memorie, așa cum este recomandată de foaia de parcurs a Agenției pentru Securitate Cibernetică și Securitate a Infrastructurii (CISA), este un pas esențial către dezvoltarea unui software care este sigur din punct de vedere al concepției.

Una dintre cele mai descurajante provocări în această schimbare strategică este abordarea sistemelor moștenite dezvoltate în C și C++. Aceste sisteme moștenite nu sunt doar numeroase, dar adesea critice pentru operațiunile multor organizații. Rescrierea acestor sisteme în limbaje moderne, sigure pentru memorie poate fi costisitoare și complexă, ceea ce duce la oprirea proceselor critice de afaceri.

Mai mult, vulnerabilitățile de siguranță ale memoriei sunt observate în primul rând la nivelul sistemului de operare, afectând platforme semnificative precum Microsoft și Linux. Această clasificare a problemelor la nivel de execuție, mai degrabă decât la nivel de aplicație, subliniază provocarea mai amplă a securității cibernetice: urmărirea măsurilor avansate de securitate trebuie echilibrată cu aspectele practice și costurile implementării acestor modificări, în special pentru sistemele stabilite.

Considerații economice și tehnice

Multe organizații se confruntă cu costuri formidabile asociate cu revizuirea sistemelor mai vechi. Schimbarea protocoalelor de codare nu este doar o decizie tehnică, ci și una strategică pentru a asigura securitatea infrastructurii digitale a viitorului. Ca rezultat, factorii de decizie care iau în considerare momentul în care să întreprindă tranziția trebuie să evalueze impacturile financiare și operaționale imediate față de beneficiile pe termen lung.

Din fericire, au fost deja dezvoltate inovații tehnologice care pot reduce costurile și întreruperea tranziției la un cod mai sigur. De exemplu, instrumentele de analiză a codului pot analiza aplicațiile vechi și pot identifica în mod semi-autonom cazurile în care codul C sau Python rulează fără o izolare adecvată. Și din cauza progreselor recente în tehnologia compilatorului, chiar și practicile de codare nesigure în cel mai rău caz pot fi protejate dacă sunt scrise într-o limbă mai veche. Aceste evoluții ar trebui să reducă în mod semnificativ barierele în calea adoptării practicilor de codificare sigure pentru organizațiile de orice dimensiune.

Un efort de colaborare către un viitor sigur

Factorii de decizie și furnizorii trebuie să colaboreze strâns pentru a echilibra îmbunătățirea securității cu menținerea serviciilor software esențiale. Adoptarea limbajelor de programare sigure pentru memorie, așa cum este recomandat de ONCD, este un pas crucial în această călătorie și este esențială pentru promovarea securității noastre cibernetice colective. 

Mai mulți lideri din industrie au făcut deja investiții semnificative în limbaje sigure pentru memorie. Exemplele includ: 

  • Limbajul de programare Rust al Mozilla: Punând accent pe siguranța memoriei, Rust oferă o alternativă solidă la limbajele de programare tradiționale, care îmbină securitatea și performanța.

  • Investiția Microsoft în Rust: Recunoscând că limbile mai vechi au limitări, Microsoft a îmbrățișat Rust și l-a folosit în mai multe proiecte noi în care siguranța memoriei era o problemă.

  • Eforturile Google pentru siguranța memoriei: Google a investit resurse considerabile în găsirea și atenuarea vulnerabilităților legate de siguranța memoriei și a solicitat utilizarea limbajelor de siguranță pentru memorie în noile dezvoltări. Săptămâna trecută, Google a lansat un nou raport de cercetare, „Secure by Design: Google's Perspective on Memory Safety”, pledând pentru o strategie de securizare prin proiectare. Raportul se concentrează pe adoptarea de limbaje cu caracteristici robuste de siguranță a memoriei și recunoaște limitările evoluției C++ pentru a îndeplini aceste standarde.

Mergând înainte: pași practici pentru a îndeplini recomandările ONCD

Calea din cel mai recent raport ONCD este provocatoare, dar bogată în oportunități. Cere pași practici din partea tuturor actorilor din cadrul ecosistemelor de dezvoltare software și de securitate cibernetică, inclusiv:

  • Educatie si antrenament: Organizațiile trebuie să se angajeze să-și învețe echipele despre limbaje sigure pentru memorie și practici de dezvoltare sigure, asigurându-se că dezvoltatorii pot face modificările necesare.

  • Planuri de tranziție graduală: Organizațiile ar trebui să creeze planuri pentru tranziția sistemelor moștenite la limbaje sigure pentru memorie și gestionabile. Aceștia ar trebui să abordeze mai întâi cele mai critice zone și să treacă în faza proiectul, pentru a minimiza întreruperile operaționale.

  • Utilizarea instrumentelor de automatizare: Organizațiile ar trebui să utilizeze instrumente moderne de analiză a codului și compilatoare care găsesc și remediază automat practicile de cod nesigure, reducând în același timp sarcina proceselor manuale.

  • Politică și guvernare: Organizațiile trebuie să dezvolte structuri de guvernare explicite care să integreze siguranța memoriei și practicile de dezvoltare sigure pe tot parcursul ciclului de viață al dezvoltării software.

  • Comunitate și colaborare: Este important că organizațiile ar trebui să ajungă în afara zidurilor lor și în comunitatea tehnologică mai largă în forumuri, parteneriate și proiecte open source pentru a împărtăși cunoștințele, provocările și soluțiile legate de siguranța memoriei care vin odată cu această călătorie.

Îmbunătățirea securitate în aplicații care impulsionează economia digitală este o întreprindere înaltă și complexă, dar necesară, care necesită o colaborare continuă între sectorul public și cel privat. Cel mai recent raport al ONCD este un următor pas solid în articularea strategiei; cu toate acestea, este nevoie de mai multă voință pentru a realiza viziunea. Trecerea la limbaje de codare sigure pentru memorie pentru aplicații noi și actualizarea codului moștenit reprezintă provocări enorme. Cu toate acestea, se fac progrese cu progresele recente în analiza software-ului și tehnologiile de compilare și angajamentele demonstrate de mulți lideri mondiali în tehnologie.

Timestamp-ul:

Mai mult de la Lectură întunecată