Închiderea resursei deschise: risipirea fanteziei
Publicat: 2022-03-31Urmărind dezvăluirea vulnerabilității Log4j în decembrie 2021 și noua circumstanță în care un dezvoltator își sabotează bibliotecile Javascript în posesia – „color.js” și „faker.js”, starea software-ului de calculator cu sursă deschisă a fost pusă în discuție.
Cu o întâlnire de mare profil la White Property cu privire la sursa deschisă și ordinele guvernamentale de la președintele american Biden, unii chiar au sugerat că este „încheierea resursei deschise”. Deși poate fi tentant să verificați o vulnerabilitate majoră ca un semn că oferta deschisă rămâne cumva deficitară, adevărul provine în mod semnificativ din asta.
Software-ul open source nu este nici mai mult nici mai puțin sigur decât pachetul de software de afaceri. De fapt, cele mai multe programe profesionale de calculator sunt posibile să prezinte sau să funcționeze pe sisteme open-source. Oferta deschisă înseamnă doar că programul software este formulat într-un mod exact în care codul de furnizare este accesibil oricărei persoane care l-ar dori.
Ceea ce am văzut cu răspunsul Log4j din partea echipei Apache Log4j este exact ceea ce am spera să vedem – o echipă care ia în serios pachetul software pe care îl dezvoltă și care răspunde în prezent la dorințele fundației înființate. Privind faptul că sunt voluntari, acest tip de răspuns indică plăcerea proprietății pe care o vedem frecvent în cadrul comunităților de resurse deschise.
Oarecum decât să instige închiderea surselor deschise, un incident precum Log4j este cel mai probabil să îmbunătățească îmbunătățirea surselor deschise în ansamblu – mult în mod similar în care Heartbleed a îmbunătățit metodele de progres ale celor două grupuri de creștere cu sursă deschisă și închisă. Deci, dacă sursa deschisă este listată aici pentru a continua să fie, ce ar trebui să facă organizațiile să transfere înainte pentru a detecta și atenua vulnerabilitățile mult mai eficient?
Abordarea protecției software-ului computerului de la nivel organizațional
Perfect, strategia de identificare și atenuare a vulnerabilităților ne cere să conturăm câteva roluri dinainte. Majoritatea indivizilor speră ca furnizorii lor de pachete software – adică oamenii care dezvoltă software-ul de care depind – să verifice acel software. Rezultatul final al acelei teste ar fi o stabilire a rezultatelor care evidențiază punctele slabe ale software-ului furnizat de furnizor. Într-o lume întreagă, toate aceste slăbiciuni ar fi rezolvate înainte de expedierea și livrarea programului.
Pe planeta autentică, chiar și așa, unele dintre toate acele slăbiciuni vor fi presetate, unele vor fi marcate ca „nici un program de remediat” și unele vor fi remediate optimist într-o lansare pe termen lung. Care sunt lista punctelor slabe și care au ajuns să fie stabilite, nu este ceva mic pe care un furnizor îl divulgă de obicei. În plus, nu există un singur instrument care să poată descoperi toate punctele slabe, iar unele fac treaba doar dacă aveți codul de resursă, deși alții solicită un software care rulează.
Veți reține că nu a fost menționată cuvântul „vulnerabilitate” în acest articol, deoarece are o indicație specifică și de bază. În aplicare, o vulnerabilitate este doar o slăbiciune care poate fi exploatată sau care are o oportunitate realistă de exploatare.
Cele mai multe, dar nu toate, vulnerabilitățile sunt dezvăluite printr-o procedură centralizată recunoscută ca baze de date Nationwide Vulnerability sau doar NVD. Chiar dacă NVD-ul are rădăcini în SUA și este îngrijit de autoritățile americane, conținutul NVD-ului este accesibil tuturor și reprodus în mai multe locații internaționale. Din punct de vedere al guvernării, verificarea pentru îmbunătățiri ale conținutului NVD este o modalitate excelentă de a păstra cele mai bune dezvăluiri de vulnerabilități noi.
Problema este că NVD-ul se actualizează mai lent decât acoperirea media, așa că, cu vulnerabilități cheie precum Log4Shell, HeartBleed și Dirty Cow, forța de muncă care găsește vulnerabilitatea ar putea crea un titlu de marcă pentru vulnerabilitate într-un efort de a lărgi conștientizarea dificultății. Producerea unui plan de guvernare care monitorizează protecția mass-media a acestor adunări cibernetice nu este cu siguranță o practică fantastică.
Dacă acoperirea media ca o intrare în administrarea vulnerabilităților este o idee proastă, iar NVD este puțin treptat pentru a prezenta toate faptele, care este atunci cea mai eficientă politică de guvernare? Aceasta va proveni dintr-o formă de instrument de securitate cunoscut sub numele de „Software Composition Analysis” sau SCA. Un software SCA pare să fie atât la codul sursă pentru o aplicație, cât și la executabilul sau bibliotecile care definesc aplicația și încearcă să descopere care biblioteci open source au fost folosite pentru a construi acel software.
Lista acelor biblioteci de persoane este cunoscută sub numele de SBOM sau Bill of Materials pentru software de calculator. Presupunând că aplicația SCA își face ocupația în mod eficient, atunci se poate face o politică de guvernare care mapează detaliile NVD la SBOM, astfel încât să știți ce să corectați... Cu excepția faptului că există totuși acele fapte NVD latente de care trebuie să luați în considerare.
Unele dintre instrumentele SCA mult mai superioare clarifică această provocare prin generarea de recomandări care alertează în mod proactiv clienții atunci când există o intrare NVD în așteptare, dar în care detaliile acelei intrări NVD sunt sporite de furnizorul SCA. Unele dintre cele mai de ultimă oră echipamente se dedică, de asemenea, screening-ului sau validării variantelor software-ului de calculator afectate de dezvăluirea vulnerabilității.

Cu toate acestea, deși programul software SCA poate închide gaura dintre dezvăluire și identificare, trebuie observat că are o limitare fundamentală. Dacă programul SCA nu a scanat toate programele dvs., atunci în cel mai bun caz poate semnala doar noi dezvăluiri de vulnerabilități pentru un subset al programelor dvs.
Din punct de vedere al acoperirii guvernanței, apoi devine o operațiune IT pentru a stabili toate programele software și o funcționalitate de achiziții pentru a se asigura că toate aplicațiile, cum ar fi actualizările și descărcări gratuite, cele două apar sub un SBOM și că SBOM este validat prin aplicare. Programul software SCA. Deoarece programul este disponibil atât în formate sursă, cât și în formate binar, este important ca echipele de guvernare care se îndreaptă pe această cale să aleagă programul software SCA care poate în mod eficient cursul software-ului de calculator în toate soiurile și formatele. Aceste tipuri de plan de guvernanță ar ajuta la identificarea noilor dezvăluiri de vulnerabilități și a impactului asupra întreprinderii de afaceri, dar ar îndrepta diferența de atenuare productivă către o politică unică, având în vedere că atenuarea ar necesita testarea software-ului.
Asigurarea că securitatea propriei inginerie este doar un punct, dar eleganța resurselor deschise este că este concepută pentru a fi colaborativă.
Pentru a-l parafraza pe Abraham Lincoln, resursa deschisă este know-how-ul oamenilor, de către indivizi și pentru indivizi. Mișcarea open source la modă a fost începută pe principiul de bază că, dacă nu ți-a plăcut modul în care funcționează codul, atunci ai fost liber să-l modifici și să rezolvi, indiferent de lacune în funcționalitate care au ajuns să fie percepute a exista.
Elementul dificultății cu care ne confruntăm în zilele noastre este un sentiment care îi face pe consumatorii sau utilizatorii finali ai proiectelor cu sursă deschisă să se comporte ca și cum provocarea ofertei deschise ar fi un vânzător de aplicații de afaceri.
Dacă apăreți pe lista provocărilor a oricărei întreprinderi de resurse deschise destul de cunoscute pe GitHub, veți vedea solicitări de funcții și recenzii despre momentul în care problemele selectate pot fi rezolvate. Astfel de povești și nemulțumiri cu privire la funcționalitate au o așteptare implicită că un manager de produse este la capătul cererilor acelor persoane și că acestea vor fi adăugate la o foaie de parcurs și la un moment dat vor fi lansate - totul fără costuri.
De fapt, lipsurile de funcționalitate și chiar și erorile percepute, înseamnă șanse de a nu solicita servicii gratuite de experți în programare, ci ca o alternativă de a contribui la realizările pe termen lung ale codului, care este substanțial crucial pentru persoana care se plânge.
Desigur, unele persoane nu vor cunoaște limbajul de programare folosit de proiect, dar să se aștepte ca alte persoane să acorde prioritate unei plângeri de la o terță parte necunoscută mai mult decât variațiile care clarifică complicațiile pentru contribuatorii energici nu este un aspect real. La fel de semnificativ ca orice, resursele deschise sunt disponibile prin altruismul contribuitorilor.
De mult timp, mai presus de modern, am ascultat principalii contribuitori pentru locurile de muncă bine-cunoscute cu resurse deschise, supărare specifică cu privire la câștigurile realizate de întreprinderile masive din utilizarea pachetului lor software. Deși este ușor să vă relaționați cu cineva care își pune puterea într-o sarcină doar pentru ca o treime să adună veniturile din încercări, realitatea este că, dacă a treia lovitură profită de încercările unei forțe de muncă de avansare a resurselor deschise, atunci ar trebui să contribuie la succesul său pe termen lung.
Dacă nu o fac, atunci acţionează pericolul că nu numai codul în cauză s-ar putea transforma în metode pe care nu s-au bazat, ci şi că, atunci când problemele de protecţie sunt identificate şi soluţionate, ar putea avea întârzieri în aplicarea remedierii persoanelor. La urma urmei, dacă o întreprindere mică nu își face timp pentru a interacționa cu echipele care produc software-ul de calculator care îi alimentează întreprinderea de afaceri, atunci este posibil ca ea să nu cunoască locul unde își are originea întregul program care îi alimentează afacerea și să nu poată corecta în mod fiabil. aceasta.
Descoperirea vulnerabilităților în oferta deschisă nu este o problemă, dar detectarea defectelor programului reprezentând o slăbiciune care ar putea fi exploatată este un subiect important. Deși pachetul software cu sursă deschisă și cu aprovizionare închisă au un potențial echivalent pentru probleme de stabilitate, cu resursele deschise este posibil ca oricine să determine toate aceste probleme. Având în vedere asta, organizațiile trebuie să obțină măsuri proactive – care nu depind de protecția media – pentru a urmări cele mai recente vulnerabilități.
La fel de esențial, aceștia ar trebui să îndeplinească un scop care contribuie la sarcinile de aprovizionare deschise din care răsplătesc sau, altfel, ar putea lăsa suferinții la variații neprevăzute de cod sau la întârzierea conștientizării unor patch-uri semnificative.
Tim Mackey este Strategist Principal în Protecție la Synopsys .