Shufflecake wurde veröffentlicht, ein Werkzeugset zur Erstellung versteckter verschlĂŒsselter Partitionen auf der Festplatte

Das Unternehmen Kudelski Security, das sich auf Sicherheitstests spezialisiert hat, hat das Tool Shufflecake veröffentlicht, das es ermöglicht, versteckte Dateisysteme zu erstellen, die sich ĂŒber den vorhandenen freien Speicherplatz in bestehenden Partitionen verteilen und von zufĂ€lligen Restdaten nicht zu unterscheiden sind. Die Partitionen werden so erstellt, dass es problematisch ist, ihr Vorhandensein ohne Kenntnis des ZugriffsschlĂŒssels auch bei einer forensischen Analyse zu beweisen. Der Code der Dienstprogramme (shufflecake-userland) und des Linux-Kernel-Moduls (dm-sflc) ist in C geschrieben und steht unter der GPLv3-Lizenz, was die Aufnahme des veröffentlichten Kernel-Moduls in den Hauptkernel von Linux aufgrund der InkompatibilitĂ€t mit der GPLv2-Lizenz, unter der der Kernel bereitgestellt wird, unmöglich macht.

Das Projekt positioniert sich als fortschrittlicher als Truecrypt und Veracrypt und bietet eine Lösung zum Verbergen schĂŒtzenswerter Daten, die native UnterstĂŒtzung fĂŒr die Linux-Plattform bietet und es erlaubt, bis zu 15 versteckte Partitionen auf einem GerĂ€t zu erstellen, die ineinander geschachtelt sind, um die Feststellung ihres Vorhandenseins zu erschweren. WĂ€hrend die Verwendung von Shufflecake selbst keine Geheimnisse birgt, was zum Beispiel an der VerfĂŒgbarkeit entsprechender Dienstprogramme im System zu erkennen ist, ist die Gesamtzahl der erstellten versteckten Partitionen nicht zu bestimmen. Die erstellten versteckten Partitionen können nach Ermessen des Benutzers formatiert werden, um verschiedene Dateisysteme wie ext4, xfs oder btrfs unterzubringen. Jede Partition wird als separates virtuelles BlockgerĂ€t mit ihrem eigenen Entsperr-SchlĂŒssel behandelt.

Um Spuren zu verwischen, wird das Verhalten des «plausiblen Leugnens» (plausible deniability) empfohlen, dessen Grundgedanke darin besteht, dass wertvolle Daten als zusĂ€tzliche Schichten in verschlĂŒsselten Partitionen mit weniger wertvollen Daten verborgen werden, wodurch eine versteckte Hierarchie von Partitionen entsteht. Im Druck kann der Besitzer des GerĂ€ts den SchlĂŒssel zur verschlĂŒsselten Partition offenlegen, aber innerhalb dieser Partition können sich andere Partitionen befinden (bis zu 15 geschachtelte Ebenen), und es ist problematisch, deren Vorhandensein zu bestimmen und deren Existenz zu beweisen.

Die VerschlĂŒsselung wird durch die Bildung jedes Abschnitts als Satz von verschlĂŒsselten Slices sichergestellt, die an zufĂ€lligen Positionen auf dem Speichermedium platziert werden. Jeder Slice wird dynamisch zum Zeitpunkt erstellt, wenn im Abschnitt zusĂ€tzlicher Speicherplatz benötigt wird. Um die Analyse zu erschweren, werden die Slices verschiedener Abschnitte gemischt, d.h. die Shufflecake-Abschnitte sind nicht mit zusammenhĂ€ngenden Bereichen verbunden, und die Slices aller Abschnitte werden vermischt. Informationen ĂŒber die verwendeten und freien Slices werden in einer jedem Abschnitt zugeordneten Standortkarte gespeichert, auf die der verschlĂŒsselte Header verweist. Karten und Header sind verschlĂŒsselt und ohne Kenntnis des ZugangsschlĂŒssels von zufĂ€lligen Daten nicht zu unterscheiden.

Der Header ist in Slots unterteilt, von denen jeder seinen eigenen Abschnitt und die damit verbundenen Slices definiert. Die Slots im Header sind gestapelt angeordnet und rekursiv miteinander verbunden – der aktuelle Slot enthĂ€lt den SchlĂŒssel zur EntschlĂŒsselung der Parameter des vorherigen (weniger versteckten) Abschnitts in der Hierarchie, was es ermöglicht, ein Passwort zur EntschlĂŒsselung aller weniger versteckten Abschnitte zu verwenden, die mit dem gewĂ€hlten Abschnitt verbunden sind. Jeder weniger versteckte Abschnitt betrachtet die Slices der eingebetteten Abschnitte als frei.

StandardmĂ€ĂŸig haben alle eingebetteten Shufflecake-Abschnitte dieselbe sichtbare GrĂ¶ĂŸe wie der oberste Abschnitt. Wenn beispielsweise auf einem 1-GB-GerĂ€t drei Abschnitte aktiviert sind, wird jeder von ihnen fĂŒr das System als Abschnitt mit einer GrĂ¶ĂŸe von 1 GB sichtbar sein, und der insgesamt verfĂŒgbare Speicherplatz wird gemeinsam in allen Abschnitten genutzt – wenn die GrĂ¶ĂŸe der gespeicherten Daten die tatsĂ€chliche GerĂ€tegrĂ¶ĂŸe ĂŒberschreitet, wird ein Eingabe-/Ausgabefehler angezeigt.

Nicht geöffnete Unterabschnitte nehmen nicht am Platzangebot teil, d.h. der Versuch, einen ĂŒbergeordneten Abschnitt zu fĂŒllen, fĂŒhrt zu einer Überschreibung von Daten in den untergeordneten Abschnitten, gibt jedoch nicht die Möglichkeit, deren Vorhandensein durch die Analyse der Datenmenge, die im Abschnitt platziert werden kann, vor Beginn der Fehlermeldung sichtbar zu machen (es wird davon ausgegangen, dass die ĂŒbergeordneten Abschnitte unverĂ€nderliche Daten zur Ablenkung enthalten und niemals einzeln verwendet werden, wĂ€hrend die regulĂ€re Arbeit immer mit dem letzten untergeordneten Abschnitt erfolgt; das Schema impliziert, dass es wichtiger ist, das Geheimnis der Existenz der Daten zu wahren, als diese Daten zu verlieren).

In der Regel werden 15 Abschnitte von Shufflecake erstellt – die verwendeten Abschnitte werden mit dem Benutzerpasswort verknĂŒpft, wĂ€hrend ungenutzte Abschnitte mit einem zufĂ€llig generierten Passwort versehen werden (es ist nicht möglich zu verstehen, wie viele Abschnitte tatsĂ€chlich verwendet werden). Bei der Initialisierung der Shufflecake-Abschnitte wird die fĂŒr deren Speicherung vorgesehene Festplatte, Partition oder virtuelles BlockgerĂ€t mit zufĂ€lligen Daten gefĂŒllt, was es unmöglich macht, die Metadaten und Daten von Shufflecake im Gesamten zu bestimmen.

Die Umsetzung von Shufflecakeweist eine relativ hohe Leistung auf, hat jedoch aufgrund der damit verbundenen Overheads eine etwa doppelt so geringe Bandbreite im Vergleich zur VerschlĂŒsselung von Festplatten auf Basis des LUKS-Subsystems. Die Verwendung von Shufflecake fĂŒhrt auch zu einem zusĂ€tzlichen Verbrauch von Arbeitsspeicher und Speicherplatz fĂŒr Verwaltungsdaten auf der Festplatte. Der Speicherverbrauch wird mit 60 MB pro Abschnitt und der Platzverbrauch auf der Festplatte mit 1 % der GesamtgrĂ¶ĂŸe bewertet. Zum Vergleich: Eine Ă€hnliche Technik namens WORAM fĂŒhrt zu einer Verlangsamung um das 5- bis 200-fache bei einem Verlust von 75 % des nĂŒtzlichen Festplattenspeichers.

Das Werkzeug und das Kernel-Modul wurden nur unter Debian und Ubuntu mit den Kerneln 5.13 und 5.15 getestet (die Verwendung in Ubuntu 22.04 wird unterstĂŒtzt). Es wird angemerkt, dass das Projekt vorerst als Arbeitsprototyp betrachtet werden sollte, der nicht zur Speicherung wichtiger Daten verwendet werden sollte. In Zukunft ist eine zusĂ€tzliche Optimierung von Leistung, ZuverlĂ€ssigkeit und Sicherheit sowie die Möglichkeit der BootfĂ€higkeit von den Shufflecake-Abschnitten geplant.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster