Evaluarea bibliotecilor care necesită verificări speciale de securitate

Fundație formată de Fundația Linux Inițiativa privind infrastructura de bază, în care corporații de top și-au unit forțele pentru a sprijini proiecte open source în domenii cheie ale industriei computerelor, a petrecut al doilea studiu în cadrul programului recensământ, care vizează identificarea proiectelor open source care necesită audituri de securitate prioritare.

Cel de-al doilea studiu se concentrează pe analiza codului open source partajat utilizat implicit în diverse proiecte de întreprindere sub formă de dependențe descărcate din depozite externe. Vulnerabilitățile și compromisul dezvoltatorilor de componente terțe implicate în operarea aplicațiilor (lanțul de aprovizionare) pot anula toate eforturile de îmbunătățire a protecției produsului principal. Ca urmare a studiului a fost categoric Cele 10 cele mai frecvent utilizate pachete în JavaScript și Java, a căror securitate și mentenanță necesită o atenție specială.

Biblioteci JavaScript din depozitul npm:

  • async (196 mii de linii de cod, 11 autori, 7 committers, 11 numere deschise);
  • moștenește (3.8 mii de linii de cod, 3 autori, 1 committer, 3 probleme nerezolvate);
  • isarray (317 linii de cod, 3 autori, 3 committers, 4 numere deschise);
  • cam (2 mii de linii de cod, 11 autori, 11 committers, 3 probleme nerezolvate);
  • lodash (42 mii linii de cod, 28 autori, 2 committers, 30 numere deschise);
  • minimistă (1.2 mii linii de cod, 14 autori, 6 committers, 38 numere deschise);
  • nativii (3 mii de linii de cod, 2 autori, 1 committer, fără probleme deschise);
  • qs (5.4 mii linii de cod, 5 autori, 2 committers, 41 numere deschise);
  • flux lizibil (28 mii linii de cod, 10 autori, 3 committers, 21 numere deschise);
  • string_decoder (4.2 mii de linii de cod, 4 autori, 3 committers, 2 numere deschise).

Biblioteci Java din depozitele Maven:

  • jackson-core (74 mii linii de cod, 7 autori, 6 committers, 40 numere deschise);
  • jackson-databind (74 mii linii de cod, 23 autori, 2 committers, 363 numere deschise);
  • guava.git, biblioteci Google pentru Java (1 milion de linii de cod, 83 de autori, 3 committers, 620 de numere deschise);
  • commons-codec (51 mii linii de cod, 3 autori, 3 committers, 29 numere deschise);
  • comun-io (73 mii linii de cod, 10 autori, 6 committers, 148 numere deschise);
  • httpcomponents-client (121 mii linii de cod, 16 autori, 8 committers, 47 numere deschise);
  • httpcomponents-core (131 mii linii de cod, 15 autori, 4 committers, 7 numere deschise);
  • logback (154 mii linii de cod, 1 autor, 2 committers, 799 numere deschise);
  • limbaj comun (168 mii de linii de cod, 28 de autori, 17 committers, 163 de numere deschise);
  • slf4j (38 mii de linii de cod, 4 autori, 4 committers, 189 numere deschise);

Raportul abordează, de asemenea, problemele de standardizare a schemei de denumire a componentelor externe, protejarea conturilor de dezvoltator și menținerea versiunilor moștenite după ce sunt realizate noile versiuni majore. În plus, publicat de Fundația Linux document cu recomandări practice pentru organizarea unui proces de dezvoltare securizat pentru proiecte open source.

Documentul abordează problemele de distribuire a rolurilor în proiect, crearea de echipe responsabile de securitate, definirea politicilor de securitate, monitorizarea puterilor pe care le au participanții la proiect, utilizarea corectă a Git la remedierea vulnerabilităților pentru a evita scurgerile înainte de publicarea remedierii, definirea proceselor de răspuns la rapoarte. a problemelor cu securitatea, implementarea sistemelor de testare a securității, aplicarea procedurilor de revizuire a codului, luând în considerare criteriile legate de securitate la crearea versiunilor.

Sursa: opennet.ru

Adauga un comentariu