Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

MLU Text Stego Dataset

1. Verfügbarkeit des Datensatzes

Der Datensatz ist frei verfügbar.

Lizenz

CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Created 2024 by Sebastian Karius and Mandy Knöchel
Institut für Informatik
Martin-Luther-Universität Halle-Wittenberg

2. Zur Erzeugung genutzte Text Stego Algorithmen

Die verwendenten Algorithmen wurde entsprechend folgender allgemein bekannter und zugänglicher Quellen nachimplementiert. Somit wurde keine neue Stego-Malware erzeugt.

Snow

Einfügen von Leerzeichen und Tabulator, blockweise, am Ende einer Zeile. Jeweils 3 Blöcke pro Zeile bis zu einer maximalen Zeilenlänge. Fügt neue Zeilen am Ende des Textes an um die Nachicht komplett einzubetten.

Verwendet eine kryptographische Verschlüsselung.

https://darkside.com.au/snow/

UniSpaCh

Ersetzt Leerzeichen durch jeweil ein Paar von schmalen Leerzeichen die zusammen etwa die gleiche Breite haben wie das originale Leerzeichen. Fügt neue Zeilen am Ende des Textes an um die Nachicht komplett einzubetten.

https://doi.org/10.1016/j.jss.2011.12.023

Space8B

Fügt Blöcke von jeweils 8 Zeichen am Ende des Textes an. Jeder Block besteht aus Leerzeichen (0) und Tabulatoren (1).

https://blog.sucuri.net/2021/02/whitespace-steganography-conceals-web-shell-in-php-malware.html

Space_sep

Fügt mit Leerzeichen getrennte Blöcke aus Tabulator und Zeilenumbruch am Ende des Textes an. Jeder Block kodiert ein Zeichen der Nachicht, wobei nur die notwendige Anzahl von Tabulator (0) und Zeilenumbruch (1) verwendet werden um das Zeichen zu kodieren.

https://blog.sucuri.net/2020/11/css-js-steganography-in-fake-flash-player-update-malware.html

Deogol

Permutiert Attibute von HTML-Tags.

https://hord.ca/projects/deogol/

Lookalike

Ersetzung von Zeichen durch Homoglyphen.

Die Verwendete Ersetzungstabelle:

{"a": "\u0430", "b": "\u042C", "c": "\u03f2", "d": "\u0501", "e": "\u0435", "f": "\uab35", "g": "\u0261", "h": "\u04bb", "i": "\u0456", "j": "\u03f3", "l": "\u04CF", "n": "\u0578", "o": "\u03BF", "p": "\u0440",  "q": "\u051B", "r": "\u1D26",  "s": "\u0455", "u": "\u057D", "v": "\u1d20", "w": "\u051D", "x": "\u0445", "y": "\u0443", "z": "\u1d22"}

https://bunnylab.github.io/unicode-steganography

3. Zur Erzeugung genutzte Passwörter/Schlüssel

Falls eine kryptographische Verschlüsselung notwendig ist, wurde das Passwort "abc123" genutzt.

4.1. Zur Erzeugung genutzte Cover

Die Cover stammen aus dem Enron Mail Dataset (http://www.cs.cmu.edu/~enron/) und aus frei verfügbaren Github Repositories.

Name Repository Lizenz
Symfony https://github.com/symfony/symfony MIT
Vuejs core https://github.com/vuejs/core MIT
Bootstrap https://github.com/twbs/bootstrap MIT
Svelte https://github.com/sveltejs/svelte MIT
React https://github.com/facebook/react MIT
ru.javascript.info https://github.com/javascript-tutorial/ru.javascript.info CC BY-NC 4.0

4.2. Zur Erzeugung genutzte Messages

Die Messages sind künstlich erzeugt, die Art der Erzeugung ist im Prefix des Messagenamens codiert. Die Nachichten wurden ohne echten Schadcode und somit ohne Schadfunktionen erzeugt: "non-malicious Dummies".

MPrefix Inhalt Länge
M_a_ Eine Reihe von "a" 10, 20, ..., 190
M_random_ascii_ Eine Reihe von zufälligen ASCII Zeichen 10, 20, ..., 190
M_random_latin_ Eine Reihe von zufälligen Zeichen des UTF-8 Latin Zeichenraums (0x20 - 0xff) 10, 20, ..., 190

5. Übersicht Datenbestand

Algorithmus M_a_ M_random_ascii_ M_random_latin_
Snow 4750 4750 4750
UniSpaCh 4750 4750 4750
Space8B 4750 4750 4750
Space_sep 4750 4750 4750
Deogol 190 190 190
Lookalike 4750 4750 4750

Ordnerstruktur

stega_output
|
+-- <ALGORITHM>_<Parameterset-ID>
|   |
|   +-- <COVER>
|   |   |
|   |   +-- <MPrefix_MESSAGE>
|   |   +-- <MPrefix_MESSAGE>.stega

csv_output
|
+-- <ALGORITHM>_<Parameterset-ID>.csv
+-- <ALGORITHM>_<Parameterset-ID>.params.json

cover
|
+-- <COVER>
+-- ...

message
|
+-- <MPrefix_MESSAGE>
+-- ...

Im Ordner stega_output ist, nach Algorithmen und Covern sortiert, je Nachicht der dazugehörige Stega-Text (.stega) und die extrahierte Nachicht abgelegt. Da die Nachicht aus der Einbettung extrahiert wurde, muss diese nicht mit der originalen Nachicht übereinstimmern.

Die originalen Cover sind im Ordern cover abegelegt. Der Name der Cover-Datei in diesem Ordner entspricht dem Namen des Cover-Ordners im stega_output Ordner.

Die originalen Nachichten sind im Ordner message abgelegt. Der Name der Nachicht-Datei in diesem Ordner entspricht dem Namen der extrahierten Nachicht im stega_output Ordner. Der Name mit der zusätzlichen Dateiendung .stega ist die Einbettung dieser Nachicht.

6. Förderhinweis

Deutsch: „Diese Arbeit wurde durch die Agentur für Innovation in der Cybersicherheit GmbH beauftragt und finanziert. Eine Einflussnahme der Agentur für Innovation in der Cybersicherheit GmbH auf die Ergebnisse fand nicht statt.“

Englisch: „This work has been supported by funding from the Agentur für Innovation in der Cybersicherheit GmbH. The Agentur für Innovation in der Cybersicherheit GmbH did not interfere in the research process and its results.“