Bewertung von Bibliotheken, die einer besonderen Sicherheitsprüfung bedürfen

Der bei der Gründung der Linux Foundation gegründete Fonds Core Infrastructure Initiative, im Rahmen dessen führende Unternehmen ihre Kräfte bündeln, um die Unterstützung offener Projekte in Schlüsselbereichen der Computerindustrie zu gewährleisten, führte die zweite Studie im Rahmen des Programms Census, die darauf abzielt, offene Projekte zu identifizieren, die einer dringenden Sicherheitsüberprüfung bedürfen.

Die zweite Studie zielt darauf ab, gemeinsam genutzten offenen Code zu analysieren, der implizit in verschiedenen Unternehmensprojekten in Form von Abhängigkeiten verwendet wird, die aus externen Repositories geladen werden. Schwachstellen und Kompromittierungen von Entwicklern dritter Komponenten, die in der Arbeit von Anwendungen (Supply Chain) verwendet werden, können alle Bemühungen zur Verbesserung des Schutzes des Hauptprodukts zunichte machen. In der Studie wurde bestimmt 10 der am häufigsten verwendeten Pakete in JavaScript und Java identifiziert, deren Sicherheit und Pflege besondere Aufmerksamkeit erfordern.

JavaScript-Bibliotheken aus dem npm-Repository:

  • async (196 Tausend Codezeilen, 11 Autoren, 7 Committern, 11 offene Probleme);
  • inherits (3.8 Tausend Codezeilen, 3 Autoren, 1 Committer, 3 offene Probleme);
  • isarray (317 Codezeilen, 3 Autoren, 3 Committern, 4 offene Probleme);
  • kind-of (2 Tausend Codezeilen, 11 Autoren, 11 Committern, 3 offene Probleme);
  • lodash (42 Tausend Codezeilen, 28 Autoren, 2 Committern, 30 offene Probleme);
  • minimist (1.2 Tausend Codezeilen, 14 Autoren, 6 Committern, 38 offene Probleme);
  • natives (3 Tausend Codezeilen, 2 Autoren, 1 Committer, keine offenen Probleme);
  • qs (5.4 Tausend Codezeilen, 5 Autoren, 2 Committern, 41 offene Probleme);
  • readable-stream (28 Tausend Codezeilen, 10 Autoren, 3 Committern, 21 offene Probleme);
  • string_decoder (4.2 Tausend Codezeilen, 4 Autoren, 3 Committern, 2 offene Probleme).

Java-Bibliotheken aus den Maven-Repositories:

  • jackson-core (74 Tausend Codezeilen, 7 Autoren, 6 Committern, 40 offene Probleme);
  • jackson-databind (74 Tausend Codezeilen, 23 Autoren, 2 Committern, 363 offene Probleme);
  • guava.git, Google-Bibliotheken für Java (1 Million Codezeilen, 83 Autoren, 3 Committern, 620 offene Probleme);
  • commons-codec (51 Tausend Codezeilen, 3 Autoren, 3 Committern, 29 offene Probleme);
  • commons-io (73 Tausend Codezeilen, 10 Autoren, 6 Committern, 148 offene Probleme);
  • httpcomponents-client (121 Tausend Codezeilen, 16 Autoren, 8 Committern, 47 offene Probleme);
  • httpcomponents-core (131.000 Zeilen Code, 15 Autoren, 4 Committer, 7 ungelöste Probleme);
  • logback (154.000 Zeilen Code, 1 Autor, 2 Committer, 799 ungelöste Probleme);
  • commons-lang (168.000 Zeilen Code, 28 Autoren, 17 Committer, 163 ungelöste Probleme);
  • slf4j (38.000 Zeilen Code, 4 Autoren, 4 Committer, 189 ungelöste Probleme);

Im Bericht werden auch Fragen zur Standardisierung der Namensgebung externer Komponenten, dem Schutz der Entwicklerkonten und der Unterstützung veralteter Versionen nach der Veröffentlichung neuer signifikanter Releases behandelt. Darüber hinaus hat die Linux Foundation veröffentlicht Dokument mit praktischen Empfehlungen zur Organisation eines sicheren Entwicklungsprozesses für Open-Source-Projekte.

In dem Dokument werden Fragen zur Verteilung der Rollen im Projekt, zur Bildung von Sicherheitsteams, zur Festlegung von Sicherheitsrichtlinien, zur Überwachung der Berechtigungen der Projektmitglieder, zur korrekten Verwendung von Git beim Beheben von Sicherheitsanfälligkeiten zur Vermeidung von Leaks vor der Veröffentlichung von Patches, zur Festlegung von Reaktionsprozessen auf Sicherheitsvorfälle, zur Implementierung von Sicherheitstestverfahren, zur Anwendung von Code-Review-Prozessen sowie zur Berücksichtigung sicherheitsrelevanter Kriterien bei der Erstellung von Releases behandelt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4