TrustSource

Wie TrustSource vor Dependency Konfusion schützen kann

Was ist passiert?

Sicherheitsforscher haben es mit Hilfe eines Dependency-Konfusion Angriffes geschafft, sich Zugang zu diversen Hochsicherheits-Netzwerken zu verschaffen. Mit Hilfe dieses Angriffes ist es Ihnen gelungen, Informationen und Daten aus den betroffenen Netzwerken nach draußen zu schicken. Je nach Ausgestaltung des Angriffsszenarios wären jedoch auch andere Aktivitäten denkbar. Erst einmal hinter den Verteidigungslinien angekommen, lässt sich das Schadensszenario frei wählen.

Wie ist der Angriff erfolgt?

Die Sicherheitsforscher sind auf die Idee gekommen, als Sie in den veröffentlichten Open Source Werkzeugen der Firmen (Apple, Adobe, etc.) Namen privater Pakete gefunden haben.

Oft nutzen Unternehmen Open source und ergänzen gewisse Funktionalitäten oder grafische Steuerelemente mit eigenen Bibliotheken. Diese wiederum werden nur von einem Team entwickelt und als eigene Pakete bzw. Bibliotheken für andere Entwicklungsteams bereitgestellt. Das ist effizient und komfortabel, da die breite Menge der Entwicklungs-Teams sich nicht kümmern muss, das Look-and-Feel dennoch konsistent über unterschiedliche Anwendungen bzw. Services bleibt.

Spielen die Unternehmen nun Software zurück an die Community und werden die Referenzen auf solche „privaten“ Pakete nicht aus dem Quellcode entfernt, trägt die Veröffentlichung dien Namen dieser Pakete nach draußen. Das an sich ist noch nicht so gefährlich. Interessant wird dies erst, wenn die Information für eine Dependency-Attack (s. nebenan) ausgenutzt wird.

Wie können Sie sich schützen?

  • Komponenten-Namen:
    Folgen die internen Komponentennamen einem Namens-Schema, wie bspw. ORG.COPMANY.UNIT.UITOOLS wird es für Dritte erheblich schwieriger entsprechende Namen in den Paketmanagern anzulegen, ohne dass es Aufsehen erregt.ORG.COPMANY.UNIT.UITOOLS fällt mehr auf, als die 100ste Version von UITOOLS.
  • Nutzung von Paketmanager-Proxies:
    Um in dem Angriff erfolgreich zu sein, sind die lokalen Verteilmechanismen zu überlisten. Es sollte sichergestellt sein, dass für gewisse Paket-Typen, u.a. bspw. mit Hilfe der  Namenskennung ode reiner einfachen Blacklist, keine Updates von außen gezogen werden.
  • Versionsüberwachung:
    Mit Hilfe einer Versionshistorie wird es schnell möglich, festzustellen, welche Versionen im Einsatz sind. Ein Sprung von 1.2.3 zu 69.1.0 lässt sich schnell entdecken, bzw. fällt auf.

Was ist eine Dependency-Konfusion?

Moderne Package-Systeme nutzen Paketmanager, insbesondere um die stetig wachsende Zahl von Open Source Komponenten zu verwalten. Jede Build-Vorschrift enthält daher eine Liste der einzubindenden Komponenten. Unter Java ist das die POM.XML-Datei, bei Node.JS (JavaScript) ist das die PACKAGES.JSON.

In dieser Datei sind die Komponenten und die Mindestanforderungen and die Komponenten, die Versionsnummern angegeben. Da sich viele Komponenten öfter ändern, steht in den Vorschriften oft nicht nur die exakte Versionsangabe, bspw. 1.2.3 sondern ein Vermerk wie ^1.2.3, was so viel bedeutet wie: „Gib mir mindestens die 1.2.3 oder neuer.“ . Erfolgt seitens der Maintainer der Komponente eine Update auf bspw. 1.2.4 (neuer Patch) oder 1.3.0 (neues Feature) würde die eigene Lösung mit Hilfe der Formulierung beim nächsten Bauen von den Neuerungen profitieren können.

Wird nun in einem Package Manager von einem bösartigen Akteur eine neuere Version eingestellt, bspw. eine 2.1.0, so kann er relativ sicher sein, dass diese Version vom Package Management für den oben beschriebenen Kontext bereitgestellt würde. Baut das Projekt nun anständig, würde dieser schadhafte Code in ein QS-System ausgebracht und dort ausgeführt. Je nach

 

Sie wollen Schwachstellen entlang des gesamten Produkt-Lebenszyklus Ihres Produkt verlässlich überwachen?

TrustSource kann gegen solche Angriffe schützen!

TrustSource kennt die aktuellen Versionen Ihrer Module und Lösungen sowie der öffentlich verfügbaren. plötzliche Versionssprünge öffentlich verfügbarer Komponenten werden von unseren Systemen erkannt und an unser Support-Team zur Prüfung gemeldet. Kritisch einzustufende Entwicklungen werden an die Projekte zurückgemeldet.

Nutzen Sie bereits TrustSource ist Ihnen vermutlich das Konzept des „linked Modules“, des Einbindens von Releases eigener Software bekannt. Tauchen hier Versionen auf, die bisher unbekannt sind, führt auch dies zu einer Meldung an den jeweiligen Projektleiter. Somit können Sie sicher sein, entsprechende Entwicklungen schnell zu bemerken.


Capabilities in comparison

TrustSource @ FOSDEM 2021

TrustSource @ FOSDEM 2021

wir freuen uns auf die Vorträge von @Jan Thielscher & @Grigory Markin auf der FOSDEM 2021.

Open Source Compliance Tooling – Capability Reference Architecture

Jan wird im OpenChain Dev-Room das Referenzmodell der Open Source Tooling Workgroup vorstellen, welches die fachlichen Capabilities und ihre Zusammenhänge darlegt. Das Modell ist in den letzten zwei Jahren von Mitgliedern der Arbeitsgruppe erstellt worden und soll eine Übersicht der erforderlichen Aufgaben geben, die im Kontext einer Open Source Compliance erforderlich werden. Es eignet sich auch, um die unterschiedlichen Werkzeuge abzubilden oder sich klar zu machen, welche Funktionalität sie abdecken.

Jan wird den Talk auch benutzen, um die Anbieter der Werkzeuge zu motivieren, Ihre Werkzeuge gegen das Modell zu mappen.

Capabilities in comparison

In einem zweiten Talk wird Grigory Markin im Dev-Room Software Composition das Open Source Werkzeug TrustSource DeepScan sowie den gleichnamigen, freien online Service DeepScan vorstellen. Die Lösung kann eingesetzt werden, um die erforderlichen Informationen (Copyright & Lizenzen) zu bestimmen, welche für eine rechtlich konforme Nutzung erforderlich sein können:

TrustSource DeepScan – How to effectively excavate effective licenses

In diesem 15 minütigen Talk werden Grigory und Jan kurz die Herausforderung der „effective“ Lizenzen anreißen und auf die unterschiedlichen, technischen Möglichkeiten und Herausforderungen der automatisierten Lizenzanalyse u.a. mit Hilfe der Similarity-Analyse eingehen. Abschließend werden kurz das Werkzeug, der gegenwärtige Arbeitsstand und die nächsten Schritte dargestellt.

Sie haben an dem 6./7. Februar keine Zeit, würden aber gerne mehr erfahren?


TrustSource v1.9 released!

We are happy to announce our latest release of TrustSource, version 1.9 to arrive Sept. 10th 2019!

With our v1.8 we have introduced a more detailed versioning schema allowing a closer matching between the code repos and the scan results by introducing support for branch and tag. In this release on of the major updates is the new approval, which allows to specify a combination of versions which shall be taken for an approval. But besides this, there is even more:

New Features:

  • Improved Approval Process:
    The new approval will be started as the former version. But a wizard will guide you through the steps. You will be able to give the approval a particular name, select the modules and analysis versions to apply. When you are confident with your selection and issue the approval request, TrustSource will generate all relevant documentations (Notice File, if required a SOUP file – see below – and  a new compliance report) and process the request towards the compliance manager(s).
    They will find the information in their inbox and can immediately dive into the new compliance report.
  • Compliance Report:
    The new compliance report will give a comprehensive summary of the project situation including legal and vulnerability status. Also it will the required documentation and unveil the degree of completion. Also the report will outline the changes in component status a project manager has made will be shown. Thus manual status changes will become immediately visible, comments on vulnerabilities having been muted will be available for review and more….
  • DeepScan:
    How often do you rely on the declared license? How many of us really dig deep to ensure that there is no little snippet of code containing another license? I probably better do not want to know. However, we proudly present DeepScan. This new service allows you to specify the URL of a component repository, which DeepScan then will assess for you in the background. It will search for all sort of data providing a relation to a license specification and present the findings to you. Give it a try! You might be surprised…
  • Support for Medical Device Directive Documentation:
    In 2020 the European Medical Device Directive will force developers of software related to medical devices to clearly outline all third party software and track these changes and require these to register each change (UDI-ID). We prepare to support this procedure and already offer automatically generated SOUP-lists as well ass COTS-component management. Further steps to follow, sty tuned with our newsletter.

Improvements:

  • Improved sorting and selections from lists
  • Multi-license cases will be marked as warning as long as no decision about the license to use has been made, even if both licenses would result in no obligations. Thus all required decisions will be easy to identify.
  • We were able to identify some inputs from scanners being misinterpreted, e.g. „>=“-version conditions, resulting in difficulties with the correct version matching. These cases will be properly resolved now.


Erweiterung des Visual-Studio-Plugins für .Net-Framework

Gestern hatten wir die Freude, das für .Net-Framework-Projekte erweiterte Visual Studio Plugin bereitzustellen. Wie vor einigen Wochen angekündigt, kann das Visual Studio Plugin nun .Net-Core und .Net-Framework-Projekte parallel scannen. Am einfachsten lässt sich das Plugin über dne Visual Studio Marketplace (kostenfrei) beziehen. Da das Plugin selbst Open Source ist, findet sich der Code auch auf github.

Ausgehend von unserer Intiative, unsere TrustSource Plattformauch den Microsoft-Entwicklern zu öffnen, haben wir nun beide Welten .Net-Framework und .Net-Core in einem Plugin vereint. Das ermöglicht es, beide Teilprojekte in einer Risk- und Compliance Lösung zu behandeln.

In einem nächsten Schritt werden die Commandline-Fähigkeiten der kombinierten Lösung ausgebaut, damit sie sich leicht in CI/CD-Lösungen integrieren lässt. Wir erwarten das Release gegen Ende des Monats.

Wir freuen uns jederzet über Informationen, Feedback und Anregungen zum Gebrauch und Einsatz unserer Plugins. Zögern Sie also nicht, uns zu kontaktieren und Ideenzu äußern.


Neues Release v1.7 bringt Notice-File-Generator

Wir freuen uns, endlich unseren Notice-File-Generator vorzustellen. Mit Hilfe des Notice-File-Generators ist es möglich, die leidige Arbeit des Zusammenstellens von Lizenzinformtionen auf wenige Clicks zu reduzieren.

Für gescannte Projekte ermittelt TrustSource die Anforderungen jeder Komponenten-/Lizenz-Kombination im jeweiligen Projektkontext und generiert daraus die erforderliche Information für den Notice-File. Sobald Änderungsnotizen oder Autoren-Angaben erfordelrich werden ergänzt TrustSource auf Basis vorhandener Informationen oder fordert diese Information ein. Durch die Shared-Component-Knowledgebase ist die ggf. erforderliche Recherche-Aufgabe nur einmal durchzuführen und für alle Plattformbenutzer verfügbar. Das reduziert die Aufwände für das Clearing erheblich!

Zudem sind im Zuge dieses Updates einige der Plugins renoviert, bzw. um die Fähigkeit des Build-Breaks sowie die Proxy-Nutzung erweitert worden. Mit Hilfe des Proxys lassen sich nun Corporate Firewalls leichter überwinden. Der Build-break erlaubt es, auf die Auswertung der Daten zu reagieren und im Falle von Violations den Build direkt anzuhalten.

Weiterhin ist es durch die neue Benutzerverwaltung möglich, sich in den Free-accounts auch mit der Github- oder LinkedIn-ID anzumelden. Zudem unterstützt das neue Identity Management die Integration von Multi-Faktor-Authentifikation (Corporate+) und das Multi-Role-Assignment. Somit word es möglich, einem Benutzer gleichzeitiig mehrere Rollen und somit Zugriff auf die damit verbundenen Services zu gewähren. Die Anbindung von LDAP und anderen Identity-Providern wird hierdurch ebenfalls erheblich vereinfacht.

Mehr Informationen zu dem Release finden sich hier


Neuer Scanner für .Net-Core Projekte

Wir freuen uns, heute ein weiteres Werkzeug in der Familie der TrustSource-Integrationen bereitzustellen: Den .Net-Core-Scanner. Die plattformunabhängige Lösung findet sich in unserem öffentlichen Github-Repo für DotNet-Integrationen.

Das Werkzeug erlaubt es, .Net-Core-Projekte zu scannen und überträgt die gefundenen Abhängigkeiten an die TrustSource-Plattform zur weiteren Analyse. Dort werden die identifizierten Komponenten bezüglich Lizenzen und Schwachstellen geprüft und im Kontext des Projektes die aus dem Einsatz resultierenden rechtlichen Verpflichtungen abgeleitet.

Das Werkzeug besteht aus zwei Teilen: Der erste Teil ist der Scanner selbst. Er löst die Abhängigkeiten auf und sammelt die zu übermittelnden Daten.  Der zweite Teil is die Konsolenanwendung, welche des ermöglicht, den Scanner über die Command-line zu steuern. Wenn im lokalen Arbeitsverzeichnis ausgeführt, reicht folgende Kommandozeile aus, um ein komplettes Projek tzu analysieren:

$ dotnet TS-NetCore-Scanner.dll -user „user@domain.com“ -key „TrustSource Key“

Die Konsolenanwendung und der Scanner sind ebenfalls in .Net-Core entwicklet und daher weitgehend plattformunabhängig. Das zugehörige Visual Staudio Plugin, welches das Tool kapselt und in die Visual Studio IDE einbindet, ist jedoch derzeit nur unter Windows verfügbar. Wer der Meinung ist, er braucht es auch auf anderen Plattformen, möchte sich gerne bei uns melden.

Damit schließen wir endlich eine wichtige Lücke in unserer Werkzeugunterstützung. Zusammen mit dem erweiterten Nuget-Crawler können die .Net-Core-Entwickler nun den gleichen Komfort eines qualitativ hochwertigen Open Source Management genießen. Aber dabei soll es nichht bleiben, wir planen mehr:

In den kommenden Wochen, werden wir in diese Lösung die Möglichkeit integrieren, auch .Net-Framework-Projekte zu scannen. Bisher gibt es dafür eine kleine Cosole-App, das soll aber genauso komfortabel werden.

Wir haffen, damit den Komfort der  TrustSource-Plattform auch für die Microsoft Entwickler besser verfügbar zu machen. Wir sind stets daran interessiert, die Lösung zu verbessern und auf die Bedürfnisse unserer Kunden anzupassen. Zögern Sie also nicht, uns mit Vorschlägen und Anregungen zu kontaktieren!


OpenChain Specification v1.2 in Deutsch verfügbar!

Dank der Arbeit einer Hand voll Freiwilliger, gibt es jetzt die gegenwärtig aktuelle OpenChain Spezifikation in der Version 1.2  auch in deutscher Sprache!

https://www.openchainproject.org/news/2018/11/07/openchain-specification-in-german

Wir danken den Mitgliedern des Übersetzungs-Teams - sind ein wenig stolz darauf, auch einen Beitrag geleistet zu haben - und wünschen viel Spaß mit dem Umsetzen! Falls es Fragen gibt, stehen wir Ihnen gerne zur Seite!

 

 


Version 1.6 released

Wir freuen uns, nach der Sommerpause nun endlich die Version 1.6 von TrustSource bereitzustellen. Auch mit diesem Release erweitern wir wieder den Leistungsumfang und verbessern bzw erweitern bereits bestehende Features:

Neue Features

  • Vulnerability-alert - Es hat ein wenig gedauert, aber wir haben es geschafft! TrustSource informiert Sie nun, falls neue Schwachstellen bezüglich der von Ihnen in Ihren Projekten  verwendeten bzw. eingesetzten Komponenten bekannt werden. Das betrifft auch alte Versionen ihrer Projekte!
  • "Action required" items in inbox -Insbesondere für Compliance Manager wird unsere "Aktion erforderlich" Mailbox eine Arbeitserleichterung sein. bereits auf dem Dashboard finden sich Approval-reqeuests und  andere Aufgaben, welche Ihre Aufmerksamkeit erfordern. Mit Hilfe von Deep-Links können Sie direkt in die zugehörige Informationslage einsteigen.
  • Dependency graph - Eine Liste ist schön und gut. Wenn es jedoch darum geht die Bedeutung einer Komponente im Kontext des Einsatzes zu verstehen, ist eine graphische Abbildung oft hilfreicher. Wir haben daher eine graphische Übersicht der Abhängigkeiten hinzugefügt. Sie können den Graphen konfigurieren (Kantenlänge, Punkgröße und Gravity) und die Hierachietiefe bestimmen. Die Farben zeigen den Komponenten-Status an.

Verbesserungen

  • Überarbeitet Regeln und mehr Lizenzen - Basierend auf Erfahrungen und Austausch haben wir die Ergebnisse zu einigen Lizenzen überarbeitet. Auch konnten wir die LIzenzbasis wieder mit einigen neueren Lizenzen erweitern.
  • Verbessertes maven Plugin - Das maven plugin wurde erweitert, um auch die Check-API zu unterstützen. Somit is es auch dem einzelnen Entwickler möglich, bereits an seinem Arbeitsplatz ein Feedback über die Eignung der Komponenten zu erhalten.
  • Erweitertes Jenkins Plugin - Auch das Jenkins plugin haben wir in diesem Kontext um den Aufruf des check-APIs erweitert.

Bug-Fixes

  • Name im Einladungsformular überarbeiten - Es ist jetzt möglich, den eigenen Benutzernamen bereits im Registrierungsformular zu überarbeiten, wenn man eingeladen wurde.
  • Propagate delete aller Projektmitglieder - Das Löschen der Sichtbarkeitseinschränkung aller Module eines Projektes funktioniert wieder.

Die kommende Version v1.7 wird sich vor allem mit Sicherheit und neuen Login-Möglichkeiten (Github, etc.) sowie der Vereinfachung von Corporate SSO beschäftigen. Auch werden wir in dem Zuge das derzeitige Rollenmodell etwas flexibilisieren. AFlls Si emehr über unsere Roadmap eefahren wollen, kontaktieren Sie gerne  unser Vertriebsteam!

Falls Sie noch aus Ihrer Sicht wichtige Features vermissen, freuen wir uns mehr darüber zu erfahren.


TrustSource @ BFOSS 2018

Am 18.9. findet in Erfurt die diesjährige Bitkom FOSS-Konferenz statt. Das bereits seit einigen Jahren immer wieder trubelige Forum ist auch dieses Jahr wieder mit hochkarätigen Rednern und spannenden Vorträgen rund um das Thema Open Source Compliance vertreten. Details und Agenda finden sich auf der Seite des Bitkom.

Wir gehören zu den Veranstaltern und präsentieren TrustSource auf dem Forum. Gerne begrüßen wir Sie dort und geben Ihnen eine inddividuelle  Einführung.

Vereinbaren Sie schon jetzt einen Termin!

Termin vereinbaren

In dem Termin haben Sie die Möglichkeit, die unterschiedlichen, außerordentlichen Fähigkeiten von TrustSource live zu erleben. Unter anderem werden wir zeigen:

  • Auswertung einer Lizenz-Konstellation abhängig vom Kontext
  • Automatisches Generieren eines BoM
  • Prüfen der rechtlichen EIgnung einer Komponente im Projektkontext
  • Auffinden von Lizenzinformationen in einem Repository
  • Sicherstellen der Comlpiance anhand des Audit-Logs

Wir freuen uns auf Ihren Besuch! Nutzen Sie gerne eine der reservierten Zeiten für ein individuelles Gespräch!


Release v1.5 verfügbar

Wir freuen uns, heute die Version 1.5 von TrustSource zur Verfügung zu stellen. Mit diesem Release haben wir vor allem die Reporting-Fähigkeiten gestärkt, um die in TrustSource existierenden Daten verfügbarer zu machen.

New Features

  • PDF-your-Reports - Es ist jetzt möglich, alle Berichte auch in ein PDF zu überführen und entsprechend herunterzuladen bzw. zu speichern. Die PDFs erhalten in Kopf- und Fußzeile automatisch Versionummer und Zeitstempel, um Chaos zu vermeiden.
  • Neues Beipackzettel - Mit diesem Release haben wir die Bill of materials-Funktion überarbeitet. Soweit möglich, verlinken die Komponenten nun auf die Origianllizenz aus dem jeweiligen Repository. Als Fallback wird eine Originallizenz aus TrustSource zur Verfügung gestellt.
  • CVE-Impact Analyse - Mit dem neuen Bericht "CVE-Impact" ist es möglich, den Einfluss einer CVE auf das gesamte in TrustSource verwaltete Software-Portfolio auf einen Klick zu ermitteln. Die Berichtsergebnisse erlauben zudem direkt an die jeweilige Stelle im Projekt zu springen und dort Folgeaktionen wie Jora-Tasks an die jeweiligen Projekte auszulösen.

Improvements

  • Branding auf  TrustSource umgestellt -von jetzt ab ist auch TrustSource drin! Nicht nur die Optik (Logo etc.) ist auf TrustSource ungestellt, auch die URLs. Die alten URLs sind noch verfügbar, jedoch empfeheln wir, auf die neuen umzustellen. Das sind anstelle ecs-app.eacg.de nun https://app.trustsource.io für die Anwendung, https://www.trustsource.io für die Webseite und  https://support.trustsource.io für den Zugang zum Support.
  • Vorschau für Mengenimport bei Benutzern - Auf vielfachen Wunsch wurde der Import von Mengendaten für Benutzer vereinfacht. Es ist nun möglich, das CSV mehrfach zu laden und die Ergebnisse im Vorfeld zu sehen, sodass einzelne Zeilen vor dem effektiven Import noch einmal überarbeitet werden können.
  • Jira -Status-Bericht - Der Status-Bericht für Jira-Tickets zeigt jetzt den Status der Tickets schöner an und erlaubt es auch projekctspezifsch uz sortieren.