All Articles

Panic! At The Distro: Eine Studie zur Malware-Prävention in Linux-Distributionen

Duc-Ly Vu, Trevor Dunlap, Paul Gibert, John Speed Meyers und Santiago Torres-Arias

TL;DR - Laut Interviews scannen die meisten Linux-Distributionen ihre Repositories nicht proaktiv nach Malware. Ein neuer bösartiger Linux-Paket-Benchmark-Datensatz zeigt, dass ein Grund dafür ist, dass Linux-Paket-Malware-Erkennungstools meist falsch positive Ergebnisse generieren.

Angriffe auf die Benutzer von Open-Source-Softwarepaket-Repositories sind ein wachsendes Problem. Diese Angriffe betrafen typischerweise Benutzer von programmiersprachspezifischen Repositories wie dem Python Package Index oder npm. Und obwohl diese Angriffe wichtig sind, ist es auch wahr, dass diese Repositories wohl "unkuriert" sind. Jeder mit einer E-Mail-Adresse kann Code in die Repositories hochladen. Es ist kostenlos für alle, per Design.

Aber nach der Enthüllung der Hintertür von XZ Utils verwandelte sich die Besorgnis in eine panikauslösende Krise. Dies war ein Angriff auf ein Projekt, das in vielen Linux-Distributionen verpackt war, Software-Repositories, die sorgfältig "kuratiert" werden. Nicht jeder kann Code in diese Repositories hochladen. Es war daher beunruhigend, dass einer der Betreuer in der Lage war, bösartigen Code in das Upstream-Projekt selbst zu stecken. Darüber hinaus hätte der Angriff von XZ Utils, wenn er länger unentdeckt geblieben wäre, dem Angreifer laut einem Beobachter einen "Skelettschlüssel" zum Internet geliefert. XZ Utils war daher nicht nur ein weiterer Angriff auf die Open-Source-Software-Lieferkette.

Dieser Angriff veranlasste uns daher, zwei Forschungsfragen zu stellen: (1) Welche Maßnahmen haben Betreuer bei Linux-Distributionen implementiert oder in Betracht gezogen, um Malware entgegenzuwirken? (2) Wie effektiv sind aktuelle Malware-Erkennungstools bei der Identifizierung bösartiger Linux-Pakete?

Um diese Fragen zu beantworten, führten wir Interviews mit Betreuern mehrerer wichtiger Linux-Distributionen durch und erstellten einen Linux-Paket-Malware-Benchmark-Datensatz. Folgendes haben wir gefunden:

Erkenntnis Nr.1: Laut den Interviews haben sich die Distributionsbetreuer bisher hauptsächlich auf reproduzierbare Builds konzentriert. Unsere Interviews ergaben, dass Wolfi OS eine Ausnahme bei der Verwendung aktiver Malware-Scans darstellt.

Erkenntnis Nr.2: Mit einem neuen Benchmark-Datensatz haben wir die Leistung von sechs bösartigen Open-Source-Linux-Paketdetektoren bewertet. Die Bewertung ergab, dass die Leistung bestehender Open-Source-Malware-Scanner unzureichend ist. Die meisten untersuchten Tools zeichnen sich durch falsch positive Ergebnisse aus. Diejenigen, die hohe False-Positive-Raten vermeiden, tun dies oft auf Kosten einer zufriedenstellenden True-Positive-Rate.

Unsere Ergebnisse, die auf arXiv zu finden sind, sollen die Debatte über die Rolle des aktiven Malware-Scannens in Linux-Distribution-Repositories anregen und einen Datensatz bereitstellen, um bestehende und neue Tools zur Erkennung von bösartigen Linux-Paketen zu vergleichen.

Was tun Linux-Distributionen, um Malware zu verhindern?

Wir haben sieben Mitglieder von fünf verschiedenen Linux-Distributionen interviewt: Alpine, Arch, Debian, Ubuntu und Wolfi. Es gab zwei Interviewpartner, die mit Debian und zwei mit Arch verbunden waren. Vier dieser fünf Distributionen sind langlebig und weit verbreitet. Wolfi, Chainguards relativ junge Verbreitung, ist die einzige Ausnahme.

No.

Distro

Years of Experience

1

Alpine

20

2

Arch

8

3

Arch

7

4

Debian

20

5

Debian

25

6

Ubuntu

2

7

Wolfi

2

Folgendes haben wir gefunden:

Interesse an reproduzierbaren Builds und Signieren

Die Betreuer erwähnten im Allgemeinen zwei Arten von bereits vorhandenen Counter-Malware-Aktivitäten. Zunächst erwähnten mehrere Betreuer das Projekt Reproducible Builds und ihre eigenen Bemühungen oder die Bemühungen ihrer Mitbetreuer, die Anzahl der reproduzierbaren Pakete innerhalb jeder Distribution zu erhöhen. Zweitens erwähnten die Betreuer im Allgemeinen auch "kryptografische" Ansätze, bei denen sichergestellt wurde, dass Pakete signiert wurden, obwohl die Teilnehmer auch darauf hinwiesen, dass das Signieren von Paketen nur eine teilweise Abwehr gegen einen Angreifer darstellt, der darauf aus ist, Malware einzufügen.

Die Betreuer haben den Einsatz von Malware-Scanning-Tools nicht ernsthaft in Betracht gezogen.

Vor dem Angriff auf XZ Utils hatten die Betreuer den Einsatz von Malware-Scanning-Tools nicht ernsthaft in Betracht gezogen. Darüber hinaus gibt es selbst nach dem Angriff auf XZ Utils eine allgemeine Skepsis gegenüber der Idee, vor allem aufgrund der wahrgenommenen Kosten für die Verwendung von kommerziellen Scannern und der Bedenken, wer die Verantwortung für den damit verbundenen Overhead für die Überprüfung von Warnmeldungen tragen würde. Selbst Betreuer, die eine gewisse Offenheit gegenüber einem solchen Ansatz zum Ausdruck bringen, bleiben unsicher, wo sie anfangen sollen.

Wolfi ist die einzige Distribution, die proaktive Malware-Scans durchführt.

Nur eine Linux-Distribution, Chainguard's Wolfi, hat proaktives Malware-Scannen angenommen. Das mit Wolfi verbundene Sicherheitsteam hat ein Open-Source-Tool namens Malcontent entwickelt und veröffentlicht, das in Wolfi in der Produktion eingesetzt wird. Malcontent wird verwendet, um Warnungen für jede neue Paketaktualisierung mit Wolfi zu generieren. Der Unterschied in den Warnungen zwischen den einzelnen Paketversionen wird analysiert; neue hohe oder kritische Warnungen werden zur Überprüfung markiert und blockieren Paketaktualisierungen, bis die Warnung als harmlos eingestuft wird.

 

Wie funktionieren vorhandene Linux-Paket-Malware-Scanner?

Das Forschungsteam erstellte sechs verschiedene Malware-Datensätze, um sechs Malware-Erkennungstools für bösartige Linux-Pakete zu vergleichen. Tabelle 2 listet die sechs bösartigen Open-Source-Linux-Paket-Erkennungstools auf, für die ein Benchmark erstellt wurde. Closed-Source-Tools wurden von dieser Analyse ausgeschlossen.

Malware-Erkennungstool

Open Source

Malware-Erkennung

Mehrsprachiger Support

Erkennungsregeln verfügbar

Fähigkeitsanalyse

Bandit4mal

Unzufrieden

Oss-Detect-Backdoor (ODB)

Packj

VirusTotal

capslock

Um einen umfassenden Datensatz zu erstellen, haben wir eine Reihe von gutartigen Beispielen aus dem Wolfi OS-Ökosystem zusammengestellt. Die Analyse geht davon aus, dass jedes Paket, das sich bereits in Wolfi befindet, gutartig ist. Insgesamt wurden 1.866 Wolfi-Projekte ausgewählt, die die Programmiersprachen Python, JavaScript, Ruby und C umfassen. Detaillierte methodische Details finden Sie im arXiv-Papier.

Dataset Name

Type

Description

# Samples

Dataset #1

Source tarballs

Historical Samples of Open Source Code Malware

30

Dataset #2

APK

Historical Examples of Malicious Linux Binaries

30

Dataset #3

Source tarballs

Synthetic Examples of Open Source Code Malware

30

Dataset #4

APK

Synthetic Examples of Open Source Linux Binaries

30

Dataset #5

APK

Synthetic Example of Linux Malicious Source Code turned into APKs

10

Dataset #6

APK

Synthetic Examples Over Time Golang Malware

10

Wolfi Upstream

Source tarballs

Upstream Repositories of Wolfi APKs

1866

Wolfi APKs

APK

Wolfi APKs

1652

Unter Verwendung dieser neuen Benchmarks-Dataset stellte die Auswertung fest, dass die Leistung bestehender Open Source Malware-Scanner nicht überwältigend war. Insbesondere produzieren diese Scanner oft eine erhebliche Menge an False Positives und verfehlen in der Regel Malware. Abbildung 1 zeigt detaillierte "ROC" -Kurven für verschiedene Tools über verschiedene Datensätze hinweg.

A series of charts depicting data on Wolfi vs other datasets.
Figure 1: ROC curves for each dataset when running malware scanners with different thresholds

Abbildung 1 zeigt, dass VirusTotal sich unter den Malware-Erkennungstools als das zuverlässigste Tool erwiesen hat und eine hohe Genauigkeit bei der Erkennung sowohl bösartiger als auch harmloser Dateien ausgleicht. Bandit4Mal zeigte eine starke Sensitivität, hatte aber viele falsch positive Ergebnisse. Malcontent wies eine moderate Genauigkeit mit geringerer Präzision auf und bezeichnete gutartige Dateien oft falsch als bösartig. ODB und Packj waren empfindlich, müssen aber abgestimmt werden, um Fehler zu reduzieren.

Schlussfolgerungen

Malware-Prävention ist ein immer wichtigeres Anliegen für Linux-Distributionen und deren Betreuer. In Interviews haben wir festgestellt, dass die meisten Linux-Distributionen, mit Ausnahme von Wolfi, keine aktiven Malware-Scans durchführen. Darüber hinaus haben wir durch den Aufbau einer Reihe von Linux-Paket-Malware-Benchmark-Datensätzen und das Scannen mit vorhandenen Malware-Scannern festgestellt, dass diese Tools hohe False-Positive-Raten aufweisen und Schwierigkeiten haben, Malware genau zu identifizieren. Infolgedessen ist es unwahrscheinlich, dass diese Tools von anderen Linux-Distributionen weit verbreitet sind, und es ist wahrscheinlich, dass Betreuer, die versuchen, sie zu verwenden, ohne weitere Verbesserungen frustriert werden.

Unsere ultimative Hoffnung ist, dass das nächste Mal, wenn die Person oder Gruppe (oder sogar die Maschine) hinter dem XZ Utils-Angriff versucht, ein beliebtes Open-Source-Projekt zu hintertüren, diese Tools oder verbesserte Versionen davon oder völlig neue Tools den Angriff so schnell erkennen, dass er zu einem Nicht-Ereignis wird und keine Aufmerksamkeit in den Nachrichten erregt. Auf die Hoffnung.

Wenn Sie mehr über unsere Ergebnisse oder Vorschläge für zukünftige Richtungen erfahren möchten, lesen Sie bitte unser Papier über arXiv.

Share this article

Related articles

Want to learn more about Chainguard?

Contact us