Bewertung von Bibliotheken, die besondere Sicherheitskontrollen erfordern

Von der Linux Foundation gegründete Stiftung Kerninfrastrukturinitiative, in dem führende Unternehmen ihre Kräfte bündelten, um Open-Source-Projekte in Schlüsselbereichen der Computerindustrie zu unterstützen, ausgegeben zweites Studium im Rahmen des Programms Volkszählung, mit dem Ziel, Open-Source-Projekte zu identifizieren, die vorrangige Sicherheitsüberprüfungen benötigen.

Die zweite Studie konzentriert sich auf die Analyse von gemeinsam genutztem Open-Source-Code, der implizit in verschiedenen Unternehmensprojekten in Form von Abhängigkeiten verwendet wird, die von externen Repositorys heruntergeladen werden. Schwachstellen und Kompromisse von Entwicklern von Drittanbieterkomponenten, die am Betrieb von Anwendungen beteiligt sind (Lieferkette), können alle Bemühungen zur Verbesserung des Schutzes des Hauptprodukts zunichte machen. Als Ergebnis der Studie war es definitiv Die 10 am häufigsten verwendeten Pakete in JavaScript und Java, deren Sicherheit und Wartbarkeit besondere Aufmerksamkeit erfordern.

JavaScript-Bibliotheken aus dem npm-Repository:

  • async (196 Zeilen Code, 11 Autoren, 7 Committer, 11 offene Probleme);
  • erbt (3.8 Tausend Codezeilen, 3 Autoren, 1 Committer, 3 ungelöste Probleme);
  • istarray (317 Codezeilen, 3 Autoren, 3 Committer, 4 offene Probleme);
  • So'ne Art (2 Codezeilen, 11 Autoren, 11 Committer, 3 ungelöste Probleme);
  • Lodash (42 Codezeilen, 28 Autoren, 2 Committer, 30 offene Probleme);
  • Minimist (1.2 Tausend Codezeilen, 14 Autoren, 6 Committer, 38 offene Probleme);
  • Einheimische (3 Codezeilen, 2 Autoren, 1 Committer, keine offenen Probleme);
  • qs (5.4 Tausend Codezeilen, 5 Autoren, 2 Committer, 41 offene Probleme);
  • lesbarer Stream (28 Tausend Codezeilen, 10 Autoren, 3 Committer, 21 offene Probleme);
  • string_decoder (4.2 Tausend Codezeilen, 4 Autoren, 3 Committer, 2 offene Probleme).

Java-Bibliotheken aus Maven-Repositorys:

  • Jackson-Core (74 Tausend Codezeilen, 7 Autoren, 6 Committer, 40 offene Probleme);
  • jackson-databind (74 Tausend Codezeilen, 23 Autoren, 2 Committer, 363 offene Probleme);
  • guava.git, Google-Bibliotheken für Java (1 Million Codezeilen, 83 Autoren, 3 Committer, 620 offene Probleme);
  • Commons-Codec (51 Zeilen Code, 3 Autoren, 3 Committer, 29 offene Probleme);
  • Commons-io (73 Tausend Codezeilen, 10 Autoren, 6 Committer, 148 offene Probleme);
  • httpcomponents-client (121 Codezeilen, 16 Autoren, 8 Committer, 47 offene Probleme);
  • httpcomponents-core (131 Codezeilen, 15 Autoren, 4 Committer, 7 offene Probleme);
  • Wieder anmelden (154 Zeilen Code, 1 Autor, 2 Committer, 799 offene Probleme);
  • Commons-lang (168 Codezeilen, 28 Autoren, 17 Committer, 163 offene Probleme);
  • slf4j (38 Zeilen Code, 4 Autoren, 4 Committer, 189 offene Probleme);

Der Bericht befasst sich auch mit Fragen der Standardisierung des Benennungsschemas externer Komponenten, dem Schutz von Entwicklerkonten und der Pflege älterer Versionen nach der Veröffentlichung wichtiger neuer Versionen. Zusätzlich veröffentlicht von der Linux Foundation Dokument mit praktischen Empfehlungen zur Organisation eines sicheren Entwicklungsprozesses für Open-Source-Projekte.

Das Dokument behandelt die Probleme der Rollenverteilung im Projekt, der Bildung von für die Sicherheit verantwortlichen Teams, der Definition von Sicherheitsrichtlinien, der Überwachung der Befugnisse der Projektteilnehmer, der korrekten Verwendung von Git bei der Behebung von Schwachstellen, um Lecks vor der Veröffentlichung des Fixes zu vermeiden, und der Definition von Prozessen für die Reaktion auf Berichte von Problemen mit der Sicherheit, Implementierung von Sicherheitstestsystemen, Anwendung von Code-Review-Verfahren, Berücksichtigung sicherheitsrelevanter Kriterien bei der Erstellung von Releases.

Source: opennet.ru

Kommentar hinzufügen