Beiträge

Überall dort, wo große Datenmengen in Netzwerken verarbeitet werden, ist eine leistungsfähige Datenbank notwendig. Sind eine Mehrbenutzerfähigkeit und hohe Performanz gefragt, wird diese oft durch SQL-Server realisiert. Hierbei handelt es sich um Software, die einen Dienst zur Speicherung, Bearbeitung und Abfrage von Datensätzen unterschiedlicher Art bietet.

Ein paar Details zu SQL-Servern

Allen SQL-Servern ist gemein, dass sie relationale Datenbanksysteme verwenden. Die zu speichernden Inhalte werden in zweckgebundene Tabellen abgelegt. Ziel ist, dass möglichst wenige Daten redundant gespeichert sind. Vielmehr werden diese mit Ordnungskriterien versehen und miteinander verknüpft, also in Relation gesetzt.

Dies bietet Vorteile bei der Verarbeitungsgeschwindigkeit und hält die Datenbank schlank. In einer Kundendatenbank könnten die Kontaktdaten beispielsweise in einer Tabelle verwaltet werden. Die Bestellungen hingegen würden in einer separaten Tabelle verwaltet und nur mit der Kennziffer des Kunden versehen. In gleicher Weise könnte es eine Tabelle für Rechnungen und Mahnungen geben. Für neue Einträge müssten nur die notwendigen Werte in der entsprechenden Tabelle erstellt werden.

Alle SQL-Server können mittels der namensgebenden Structured Query Language (SQL) angesprochen werden. Mittels der entsprechenden Syntax können Datensätze erstellt, verändert, gelöscht und abgefragt werden.

Ein einfacher Befehl zum Speichern eines Datensatzes lautet:

INSERT INTO Adressen (kundennr, nachname, vorname, strasse, plz, stadt) VALUES (1, „Mustermann“, „Max“, „Hauptstraße 1“ „12345“, „Musterstadt“).

Dieser speichert die Werte aus der zweiten Klammer in die Spalten der Tabelle „Adressen“. Die Namen der Spalten ergeben sich aus der ersten Klammer.

Die abgelegten Daten können unterschiedlicher Art sein. Wichtige Datentypen sind INTEGER (Ganzzahlen), FLOAT (Gleitkommazahl), CHAR (Zeichenketten), BOOLEAN (boolesche Wahrheitswerte) und BLOB (Binäre Werte, auch eingebettete Dateien wie Bilder sind möglich). Im Detail können die Datentypen bei unterschiedlichen Anbietern von SQL-Servern abweichen.

Die wichtigsten Anbieter von SQL-Servern

Es gibt mehrere Entwickler für SQL-Server. Darunter befinden sich kommerzielle aber auch kostenlose Anbieter. Die wichtigsten Anbieter sind die folgenden:

Oracle

Das älteste kommerzielle System ist der SQL-Server der Firma Oracle. Die erste Version erschien 1979. Bis zum heutigen Tag wird die Software weiterentwickelt. Je nach Art und Umfang des Einsatzes werden nicht unerhebliche Lizenzkosten fällig. Es handelt sich um einen der verbreitetsten SQL-Server, der Basis für viele kommerzielle Softwareprodukte ist.

Microsoft SQL-Server

Der SQL-Server von Microsoft ist das zweite kommerzielle System, welches zu den Marktführern zählt. Es wurde 1989 erstmals veröffentlicht und durch die Firma Sybase mitentwickelt. Anfangs gehörte es zum Betriebssystem OS/2 und wurde später für Windows NT portiert. Auch für den Einsatz dieses Systems sind Lizenzkosten zu entrichten. Bemerkenswert an Microsofts SQL-Server ist eine große Anzahl spezieller Datentypen. So sind zum Beispiel die Datentypen „smallmoney“ und „smalldatetime“ definiert.

MySQL / MariaDB

Das verbreitetste quelloffene Produkt ist der MySQL-Server. Dieser ist kostenlos für alle gängigen Betriebssysteme erhältlich. Zusätzlich wird ein kostenpflichtiges Enterprise-Paket angeboten, bei dem es zusätzlich Supportleistungen gibt. Erstmals vorgestellt wurde MySQL im Jahre 1995. Zunächst war die Firma „MySQL AB“ Entwickler. Das Unternehmen wurde später durch die Firma Sun aufgekauft. Inzwischen gehört MySQL zur Firma Oracle. MySQL hat eine hohe Verbreitung im Bereich von Webservern. Es ist in den Repositories der gängigen Linux-Distributionen enthalten. Daher können diese mit wenig Aufwand für den Einsatz eines MySQL-Servers eingesetzt werden.

Kurz nach der Übernahme von MySQL durch Oracle, spaltete sich im Jahr 2009 das Projekt MariaDB als Fork ab. Verantwortlich hierfür war Michael Widenius, der ehemalige Hauptentwickler von MySQL. Einige Linux-Distributionen setzen inzwischen als Standard auf MariaDB. Darunter Fedora, CentOS und openSUSE.

Weitere SQL-Varianten

PostgreSQL

Eine weitere quelloffene Alternative ist der PosgreSQL-Server. Dieser wurde 1996 veröffentlicht und wird von einer Entwicklergemeinschaft, der PostgreSQL Global Development Group, gepflegt. Eine Besonderheit ist, dass er eine objektrelationale Datenbank verwendet. Hierdurch können nicht nur Felder in Relation gesetzt werden, sondern Mengen von Datensätzen, die als Objekte zusammengefasst wurden. Deher kann unter PostgreSQL das Prinzip der Vererbung aus der objektorientierten Programmierung angewendet werden.

-SQL Anywhere

Das ebenfalls kommerzielle SQL Anywhere gehört zum in Deutschland ansässigen Unternehmen SAP. Dieses übernahm den ursprünglichen Entwickler Sybase im Jahr 2010 und entwickelt das Produkt weiter. Bemerkenswert ist, dass Sybase bereits für die Basis des Microsoft SQL-Server verantwortlich war.

Anwendungsgebiete für SQL-Server

Neben dem bereits erwähnten Einsatz im Bereich von Webanwendungen, nutzen häufig komplexe Anwendungen im Firmenumfeld SQL-Server. Ein Beispiel sind Softwareprodukte des Enterprise-Resource-Planning (ERP). Unter deren Entwicklern finden sich, nicht ganz zufällig, einige bereits aufgeführte Hersteller von SQL-Servern, wie Oracle, Microsoft und SAP.

Ebenso genutzt werden SQL-Server für Software auf dem Gebiet des Custom-Relationship-Managements (CRM). Hierbei geht es ebenfalls um die Erfassung und Verknüpfung vieler Datensätze, in diesem Fall zur Kundenpflege.

Aufgrund der besonderen Stellung eines SQL-Servers in Systemen, wird dieser häufig auf einem dedizierten Server betrieben. Hier kann Virtualisierung eine geeignete Lösung sein, da diese eine hohe Ausfallsicherheit und insbesondere Skalierbarkeit gewährleistet. Viele Hoster für virtuelle Server bieten kurzfristige Anpassbarkeit von Ressourcen. Hierdurch kann flexibel auf Belastungsspitzen reagiert werden.

Die National Security Agency (NSA) ist ein Auslandsgeheimdienst der Vereinigten Staaten von Amerika. Seine Hauptaufgabe besteht in der Überwachung elektronischer Kommunikation ausländischer Geheimdienste und Militärs. Das bringt ihm, berechtigt oder nicht, einige Kritik ein. Wussten Sie aber, dass Entwicklung und Forschung im Bereich von Sicherheit und Verschlüsselung auch Aufgaben des Geheimdienstes sind? Quellcode der Behörde befindet sich beispielsweise in fast jedem Android-Mobiltelefon und auf nahezu jedem Linux-Server.

Geschichte und Entwicklung der NSA

Gegründet wurde der Vorläufer der NSA, die Army Security Agency (ASA) 1945 durch den damaligen Präsidenten Harry S. Truman. Sie war zunächst eine Unterabteilung des Verteidigungsministeriums. Hauptgrund der Gründung war in der Anfangszeit die Spionage gegen das Deutsche Reich. Später trug der beginnende Kalte Krieg mit der Sowjetunion zum Fortbestand und Ausbau der Abteilung bei.

Im Jahr 1952 ging die NSA aus der ASA hervor. Sie ist mittlerweile der größte Auslandsgeheimdienst der USA.

De NSA hat über die Jahre beträchtliche Verdienste an der Entwicklung von Sicherheitsstandards in Hard- und Software erworben. Zum Beispiel auf dem Feld der Kryptografie.

Aufgaben der NSA heute

Die Aufgaben der NSA sind gesetzlich festgelegt. Sie hat Informationen zu sammeln, die zum Schutz der nationalen Sicherheit benötigt werden. Die zweite Hauptaufgabe ist der Schutz vor Angriffen auf geheime Informationen der US-Regierung. Die NSA untersteht dem Verteidigungsministerium. Das Internet wiederum basiert auf einer Entwicklung des US-Militärs, dem APRANET. Daher war die Behörde von Anfang an in die Entwicklung von Sicherheitsstandards eingebunden. Sie hat sich im Laufe der Jahre maßgeblich an der Forschung im Bereich der Verschlüsselungstechnik beteiligt. Dies beschreibt zugleich auch das dritte große Aufgabenfeld der NSA.

Entwicklung von Verschlüsselung

Die verschlüsselte Übertragung von Daten wurde in den 1970er Jahren als Schutz vor unbefugtem Abhören etabliert. Die NSA arbeitete früh an der Entwicklung und Implementierung von Algorithmen mit.

Der Data Encryption Standard (DES) wurde ab 1977 durch die US-Regierung für die verschlüsselte Übertragung von Daten eingesetzt. Der symmetrische Verschlüsselungsalgorithmus war für lange Zeit erste Wahl, wenn im Internet Daten verschlüsselt versandt werden sollten. Erst in den 1990er Jahren äußerten Forscher vermehrt Sicherheitsbedenken. Die Entwicklung erfolgte durch die Firma IBM, die US-amerikanische Behörde NBS (National Bureau of Standards) und die NSA. Sie war auch in die Planung und Ausschreibung eingebunden.

Am Nachfolger von DES, dem Advanced Encryption Standard (AES), war der Geheimdienst dann nicht mehr beteiligt.

Entwicklung von Software

Im Open-Source-Bereich hat die NSA gemeinsam mit Red Hat-Linux die Kernel-Erweiterung SELinux entwickelt. Diese setzt das Prinzip der Mandatory Access Control (MAC) für Zugangsrechte um. Nach der ist jeglicher Zugriff verboten, es sei denn, er wird explizit erlaubt. Das System wurde in den Linux-Kernel integriert (ab Version 2.6). In das Smartphone-Betriebssystem Android fand es mit der Version 4.3 als SEAndroid Einzug.

Seit 2017 veröffentlicht die NSA zahlreiche Programme auf Github.com in einem eigenen Repository. Darunter befinden sich einige zum Aufspüren von Sicherheitslücken. Auch Programme zum Absichern der eigenen Kommunikation werden angeboten, beispielsweise das VPN-Tool goSecure.

Für Aufsehen sorgte das kostenfreie Angebot des mächtigen Reverse-Engineering-Frameworks Ghidra. Dieses wird von Fachleuten als ernstzunehmender Konkurrent für das bekannte „IDA Pro“ angesehen.

Für alle Programme ist der Quellcode öffentlich. Daher können sich Sicherheitsexperten weltweit daran beteiligen, sie auf ihre korrekte Funktionalität zu überprüfen.

Dies wurde für Ghidra intensiv betrieben. Dabei fanden Forscher einen gravierenden Fehler im Code. Es herrscht aber Einigkeit unter den Fachleuten, dass es sich um einen Bug und keine Hintertür handelt.

Engagement im Bereich IT-Sicherheit

Die Behörde überprüft und zertifiziert Verschlüsselungsalgorithmen. Sie arbeitet mit Entwicklern von Verschlüsselung zusammen, beispielsweise beim Protokoll RSA.

In der „NSA Suite B“ werden die getesteten Produkte veröffentlicht und in Sicherheitsstufen eingeteilt. Sie empfiehlt beispielsweise folgende Standards:

-Verschlüsselung: AES (Schlüssellänge 128/256 für „geheim“/“streng geheim“)

-Digitale Signatur: ECDSA (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Schlüsseltausch: ECDH (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

-Hashfunktion: SHA-2 (Schlüssellänge 256/384 für „geheim“/“streng geheim“)

Die NSA veröffentlicht zudem Schwachstellen und Möglichkeiten, sich davor zu schützen. Über die Plattform Github.com lässt sich der „Hardware-and-Firmware-Security-Guidance“ herunterladen. Dieser gibt Anleitungen, sein System auf Verwundbarkeiten („Vulnerabilities“) zu überprüfen. Möglichkeiten zum Patchen werden dort beschrieben.

Sponsoring durch die NSA

Auch im Bereich der Ausbildung und Förderung junger IT-Talente engagiert sich die NSA. Sie pflegt Kooperationen mit Schulen. Ausgewählte Universitäten sponsert sie als Center of Academic Excellence (CAE). Zudem beteiligt der Geheimdienst sich an der Ausschreibung von Preisen für Forschungsergebnisse von Wissenschaftlern und Ingenieuren.

 

Lange Jahre wurde die Architektur von Speicher ausschließlich durch die Parameter der Hardware bestimmt. Zumindest, was Größe, Zugriffsgeschwindigkeit und Cache anging. Dynamische Volumes und RAID-Verbünde waren ein erster Schritt, zu mehr Flexibilität. Software defined Storage (SDS) ist die konsequente Fortentwicklung dieses Ansatzes. Der Speicherplatz wird dabei von der Hardware abstrahiert. Dies erlaubt maximale Flexibilität und Skalierbarkeit.

Wie funktioniert die klassische Speicherung von Dateien?

Bis der physikalische Speicher dem Benutzer zum Ablegen seiner Daten angeboten wird, durchläuft er mehrere logische Bearbeitungsprozesse. Dies beginnt beim Controller der klassischen Festplatte. Dieser fasst Speicherbereiche zusammen und bietet sie dem Dateisystem in einer logischen Adressierung an. In Flashspeicher ist ebenfalls eine Abstraktionsschicht integriert, der Flash Translation Layer (FTL). Dieser übernimmt die Adressierung des vom Controller verwalteten Speichers.

Sowohl vom Betriebssystem, als auch auf Hardware-Ebene, können Verbünde erzeugt werden. Beispielsweise durch einen RAID-Controller, der den Speicher von zwei oder mehr Festplatten transparent zu einem großen Bereich zusammenfasst. Auch auf Software-Ebene ist dies möglich, indem beispielsweise unter Windows aus mehreren Festplatten ein dynamisches Laufwerk gebildet wird.

Auf den so zur Verfügung gestellten Speicher greift das Dateisystem zu und übernimmt die Partitionierung sowie Speicherung der Dateien.

Bezüglich der Schreib- und Lesegeschwindigkeit ist man bei diesen Methoden immer auf das „schwächste Glied“ im Verbund reduziert. Die Ablage der Dateien erfolgt zufällig. Auch ist der Austausch oder die Erweiterung der Komponenten nicht in jedem Fall möglich, ohne den gesamten Verbund neu aufzubauen. Ausnahme hiervon sind natürlich RAID-Verbünde, die speziell auf Redundanz ausgelegt sind, dafür aber eine homogene Hardware benötigen.

Wie funktioniert Software defined Storage?

Software defined Storage (SDS) übernimmt mehrere Aufgaben, die zuvor durch unterschiedliche Komponenten erledigt wurden. Er setzt an der Stelle an, wo der Speicher vom Controller logisch zur Verfügung gestellt wird. Er fasst die eingebundenen Komponenten zusammen und setzt sie dynamisch ein.

Dabei kann heterogene Hardware zum Einsatz kommen, ohne dass hierdurch die gesamte Performance beeinträchtigt wird. Vielmehr werden beispielsweise schnelle Speicher für eine Zwischenspeicherung verwendet. Die Daten werden dann zu weniger lastintensiven Zeiten auf andere Bereiche verteilt. Weiterhin ist das Dateisystem ein fester Bestandteil des Systems. So wird dafür gesorgt, dass Daten nicht doppelt abgelegt werden. Sind Dateien inhaltlich mehrfach vorhanden, speichert das Dateisystem sie nur einmal ab und legt Verweise auf den Inhalt an. Diesen Vorgang nennt man Deduplikation.

Auch das Anlegen von Snapshots und Backups wird durch Software defined Storage (SDS) gewährleistet. Die Datenablage erfolgt in redundanten Arrays. So kann Datenverlust bei Ausfall einzelner Komponenten verhindert oder vermindert werden.

Ein großer Vorteil ist die bereits angesprochene Skalierbarkeit. Es ist zu jedem Zeitpunkt möglich, Speicher zu ergänzen. Auch ein Austausch oder das Entfernen von Komponenten ist im laufenden Betrieb möglich.

Anwendungsfälle für Software defined Storage

Software defined Storage (SDS) bietet die flexible Basis für gemeinsam genutzten Speicherplatz in lokalen Netzwerkverbünden. Hauptsächlich dürfte dies für Firmennetzwerke interessant sein. Aus allen bereits vorhandenen Servern kann ein Software defined Storage (SDS) gebildet werden. Auf diesem können dann die notwendigen Dienste angeboten werden. Eine Möglichkeit ist beispielsweise die Nutzung des Speicherplatzes als Fileservers. Auch beliebige Serverdienste können darauf ausgeführt werden. Diese dürfen auch in einer virtualisierten Umgebung laufen. Das gesamte System ist nach der Einrichtung zentral administrierbar.

Was ist Ceph?

Ceph ist eine freie Variante des Software defined Storage (SDS). Sie wird unter GNU Lesser General Public License angeboten (LGPL). Ceph läuft unter Linux und wird von einem Konsortium verschiedener Hard- und Softwarehersteller entwickelt. Unter den Firmen befinden sich Canonical (Entwickler von Ubuntu-Linux), Cisco, Fujitsu, Intel, Red Hat, SanDisk und SuSE-Linux.

Die Software läuft auf handelsüblicher Hardware. Zur Speicherung wird ein Algorithmus mit Namen CRUSH verwendet. Dies steht für Controlled Replication Under scalable Hashing und setzt die Verteilung der Daten im System um. Die Komponenten im System werden Object Storage Nodes (OSDs) genannt. Es ist eine Redundanz der Daten vorgesehen, die dafür sorgt, dass ausgefallene Komponenten ohne Datenverlust ersetzt werden können. Die Software bringt mit CephFS ein eigenes Dateisystem mit.

Was ist Storage Spaces Direct?

Storage Spaces Direct (S2D) heißt der Software defined Storage (SDS) von Microsoft. Das System ist bereits in den Datacenter-Versionen von Windows Server 2016 und 2019 integriert. Es kann also relativ einfach verwendet werden, wenn die Infrastruktur auf diesen Betriebssystemen basiert. Die Flexibilität ist allerdings insofern eingeschränkt, als dass für jedes eingebundene Gerät eine Lizenz erforderlich ist.

Die Einrichtung von S2D erfolgt per PowerShell. Als Dateisystem kann das bekannte NTFS oder das für diesen Zweck optimierte ReFS zur Anwendung kommen. Bei ausreichend eingebundenen Komponenten liegt die Speichereffizienz bei bis zu 80 Prozent. Auch S2D bietet eine Wiederherstellung verlorener Dateien. Dies wird mit der Technik Local Reconstruction Codes (LRC) gewährleistet.

Weitere Anbieter von Software defined Storage

VMWare, der Spezialist für Virtualisierung, verwendet Software defined Storage (SDS) für seine Software vSAN, die Wiederherstellungssoftware Site Recovery Manager und sein Framework Virtual Volumes. Hierbei handelt es sich um ein kostenpflichtiges Angebot. Eine freie Alternative zu Ceph ist das Netzwerk-Dateisystem GlusterFS.

OpenStack Swift ist ein weiteres System zur Bereitstellung von Netzwerkspeicher aus verteilten Systemen. Es handelt sich dabei um Open-Source-Software, die also kostenfrei genutzt werden darf.

Gehört Software defined Storage die Zukunft?

Es sieht im Moment danach aus, dass Software defined Storage (SDS) das Konzept der Zukunft ist. Insbesondere gegenüber vorhandenen NAS- und SAN-Lösungen besticht es durch seine Flexibilität.  Man kann Hardware kann integrieren. Zuwächse in der Performance sind auch mit geringen Investitionen möglich. Zudem scheint der integrative Ansatz ein großer Vorteil bei der Administration zu sein. Backup-Strategien müssen beispielsweise nicht separat entworfen werden. Die Möglichkeit zur zentralen Administration ist ein grundsätzlicher Bestandteil der Technologie. Zudem sind keine Beschränkungen bei der Art der Nutzung des Speicherplatzes des Software defined Storage (SDS) gegeben. Somit harmoniert es beispielsweise gut mit dem Konzept der Virtualisierung von Systemen.

Bei PGP (Pretty Good Privacy) handelt es sich um ein Programm, mit dem sich elektronische Nachrichten, wie beispielsweise E-Mails, mit einem persönlichen Schlüssel verschlüsseln und signieren lassen. Die Software kann für eine sichere Kommunikation über das Internet verwendet werden und basiert auf asymmetrischen Verschlüsselungsverfahren mit privaten und öffentlichen Schlüsseln.

Verschlüsselungsverfahren für eine sichere Kommunikation im Netz

Die Abkürzung PGP steht für den englischen Ausdruck „Pretty Good Privacy“ und bedeutet wörtlich übersetzt so viel wie „ziemlich gute Privatsphäre“. PGP wurde ursprünglich von dem US-amerikanischen Informatiker und Sicherheitsforscher Phil Zimmermann mit dem Ziel entwickelt, Anwendern eine Möglichkeit zu geben, elektronische Nachrichten im Internet verschlüsseln als auch signieren zu können. Eines der bedeutendsten Einsatzbereiche der Software ist die sichere Kommunikation via E-Mail. Nutzer, die PGP für den Versand von E-Mails benutzen, haben die Möglichkeit, die Nachrichten nur zu verschlüsseln, nur zu signieren oder sie zu signieren und zu verschlüsseln. Während die Signatur eingesetzt wird, um die Authentizität und die Integrität der Nachricht zu bestätigen, wird durch das Verschlüsseln verhindert, dass Unbefugte den Inhalt der Nachricht lesen können.

Bei einer signierten E-Mail kann gewährleistet werden, dass diese tatsächlich von dem angegebenen Absender stammt und dass keine Veränderungen vorgenommen wurden. Aus PGP entwickelte sich im Laufe der Jahre der Open-PGP-Standard als eine freie Alternative. Inzwischen bietet Open-PGP viele zusätzliche Funktionalitäten, die ursprünglich im PGP nicht enthalten waren. Als Basis nutzt PGP das sogenannte „Public-Key-Verfahren“ mit einer asymmetrischen Verschlüsselung. Allerdings kommen bei PGP auch symmetrische Schlüssel zum Einsatz, weswegen die Verschlüsselungsmethode als hybrides Verfahren zu klassifizieren ist.

PGP-Anwendungsfälle

PGP wird in erster Linie bei der Sicherung von E-Mails eingesetzt. Eine mit dem PGP-Verfahren gesicherte E-Mail wird in eine verschlüsselte Zeichenfolge umgewandelt, die unlesbar ist und ausschließlich mit dem entsprechenden Schlüssel wieder lesbar gemacht werden kann. Es gibt auch einige Softwarelösungen, die es ermöglichen, PGP in andere Apps und Dienste zu integrieren. Obwohl Pretty Good Privacy primär bei der Sicherung der Internetkommunikation eingesetzt wird, kann das Verfahren auch zur Sicherung einzelner Geräte verwendet werden.

Wie werden Nachrichten mit PGP verschlüsselt?

Die Verschlüsselung von PGP basiert auf privaten und öffentlichen Schlüsseln. Anwender nutzen den öffentlichen Schlüssel, um Nachrichten für einen Empfänger zu verschlüsseln. Das Entschlüsseln einer Nachricht ist nur mit dem privaten Schlüssel möglich, der ausschließlich dem Empfänger bekannt sein sollte. Bei der Verschlüsselung einer Nachricht verwendet der Sender hierfür den öffentlichen Schlüssel des Empfängers. Mit dem öffentlichen Schlüssel erfolgt jedoch keine Verschlüsselung der kompletten Nachricht, da die asymmetrische Verschlüsselungsmethode sehr rechenintensiv is. Dafür benötigt eine entsprechend leistungsstarke Hardware.

Bei dem Verschlüsselungsverfahren „Pretty Good Privacy“ wird die eigentliche Nachricht mit einem symmetrischen Session-Schlüssel verschlüsselt, der jedes Mal nach dem Zufallsprinzip neu generiert wird.

Wie können Nachrichten mit PGP signiert werden?

Um die Integrität und die Authentizität einer Nachricht gewährleisten zu können, kann der Sender der Nachricht eine Signatur hinzufügen. Hierfür erzeugt PGP aus dem Klartext der Nachricht über ein komplexes Haschverfahren einen digitalen Fingerprint, der den Sender eindeutig identifiziert. Dieser Fingerprint ist viel kürzer als die eigentliche Nachricht. Der Sender verschlüsselt mithilfe seines privaten Schlüssels diesen digitalen Fingerabdruck und fügt ihn dann der E-Mail hinzu.

PGP-Entschlüsselung von Nachrichten?

Zunächst wird der symmetrische Schlüssel entschlüsselt, der für die Session mit dem privaten Schlüssel des Empfängers generiert wurde. Der symmetrische Schlüssel wird anschließend vom Empfänger zur Entschlüsselung der Nachricht genutzt. Nachdem dieser Prozess erfolgreich abgeschlossen wurde, hat der Anwender Zugriff auf den Inhalt der Nachricht inklusive der digitalen Signatur. Im nächsten Schritt wird die Signatur überprüft, um die Authentizität des Absenders und die Integrität der Nachricht sicherzustellen. Um dies zu bewerkstelligen, erzeugt PGP aus dem Klartext der Nachricht einen digitalen Fingerprint mit demselben Hashverfahren, das auch der Sender der Nachricht genutzt hat. Zeitgleich entschlüsselt PGP den digitalen Fingerprint mit dem öffentlichen Schlüssel des Absenders.  Falls beide Zeichenfolgen identisch sind, kann man davon ausgehen, dass die Signatur von dem benannten Sender stammt.

Netz des Vertrauens (Web of Trust)

Um die öffentlichen Schlüssel sicher austauschen zu können, nutzt Pretty Good Privacy ein sogenanntes „Netz des Vertrauens“ (Web of Trust). Hierbei handelt es sich um eine dezentrale Alternative zu der hierarchischen Public Key Infrastructure. In dem Web of Trust vertrauen die Teilnehmer darauf, dass die Schlüssel in der Tat von den benannten Sendern stammen. Nutzer bauen Vertrauensketten auf, indem sie Schlüssel unterschreiben, von denen sie sich sicher sind, dass sie zu einem bestimmten Kommunikationspartner gehören. Wenn ausreichend Nutzer Schlüssel überprüfen und unterschreiben, entsteht ein Vertrauensnetz. 

Der Webbrowser „Opera“ ist hierzulande eine Art Randerscheinung. Im Wettbewerb gegen Google Chrome, Mozilla Firefox und dem Microsoft Internet Explorer tut er sich schwer, dabei bietet er zahlreiche innovative Features und punktet mit seinen Multitasking-Fähigkeiten. Die ersten Versionen von Opera (bis Version 4 im Dezember 2000) waren kostenpflichtig. Danach wurde in der kostenlosen Version ein Werbebanner angezeigt. Seit September 2005 ist Opera als Freeware kostenlos erhältlich und frei von Werbung.

Der Werdegang von Opera

Der Webbrowser erschien erstmals im Jahr 1996; entwickelt wurde er vom norwegischen Unternehmen „Opera Software“. Die Geschäfte entwickelten sich nicht wie gewünscht, daher wurde der Browser 2016 an ein chinesisches Konsortium für umgerechnet 1,1 Milliarden Euro verkauft.

Opera begann im April 1994 als Forschungsprojekt des norwegischen Unternehmens Telenor (Branche: Telekommunikation). Ein Jahr später wurde das eigenständige Unternehmen Opera Software ausgegliedert, gefolgt vom Börsengang in Oslo im März 2004.

Bereits seit der ersten Version ist der Browser mit der Funktion „Tabbed Browsing“ ausgestattet. Außerdem führte der Entwickler schon früh die Mausgesten ein. Andere Browser übernahmen später diese beiden Funktionen.

Verfügbarkeit und Funktionsumfang

Die derzeit aktuelle Version 64.0.3417.47 wurde am 8. Oktober 2019 veröffentlicht. Verfügbar ist der Browser in 50 Sprachen für Windows ab Win98, macOS ab 10.4 Intel, iOS, GNU/Linux, Android, FreeBSD, Solaris bis 10.11 und Blackberry. Seit Anfang 2006 liefert Opera Software so genannte Snapshots, die einen Ausblick auf die Version ermöglichen, die sich jeweils aktuell in der Entwicklungsphase befindet. Da es sich in der Regel um vorläufige Versionen handelt, enthalten sie häufig Bugs.

Der Funktionsumfang hat sich ab Version 15 maßgeblich verändert. So wurde Opera Mail als integriertes Programm nicht weiterentwickelt, es steht jedoch als eigenständiges Programm zum Download zur Verfügung. Auch Dragonfly, ein Tool für die Web-Entwicklung, wurde aus dem Browser-Setting entfernt. Hinzugefügt wurden dafür der Chromium-Taskmanager (analog zu dem in Google Chrome) und eine Browserseite mit aktuellen Nachrichten.

Browser-Fähigkeiten

Hinsichtlich der Website-Darstellung erfüllt Opera die aktuellen Standards für HTML und CSS. Seit Version 8.0b3 unterstützt der Browser auch eine Teilmenge des Grafikformats SVG sowie ab Version 9.50 APNG und zahlreiche weitere aktuelle Standards. Im Opera Mini verwendet der Browser die HTML-Rendering-Engine „Presto“. Die neue Engine ermöglicht das Neu-Rendern aufgerufener Seite und deren Teile und unterstützt vollständig das DOM (Document Object Model) des W3C.

Der Zoom in Opera vergrößert Texte und skaliert und glättet Bilder sowie Plug-ins. Dabei erlaubt er Größen-Einstellungen zwischen 20 und 1.000 Prozent. Das barrierefreie Internet wird durch den Benutzermodus gewährleistet. Hier lassen sich beliebige Websites dem Aussehen nach anhand eigener CSS-Dateien anpassen. Bilder lassen sich ausblenden, Farben verändern. Wird mit der Maus über die Tabs navigiert, zeigt Opera eine Miniatur-Vorschau der bereits geladenen Inhalte an.

Für große Auflösungen programmierte Websites können mit der Funktion „an Seitenbreite anpassen“ auch auf kleinen Monitoren gelesen werden. Die Funktion „Small Screen“ ermöglicht das Betrachten von Websiten analog zum Opera-Mini-Mobilbrowser. Für Webdesigner ist dieses Feature äußerst hilfreich, da sie die Kompatibilitätsprüfung erleichtert.

Bedienung in Opera

Dank der Multiple Document Interface-Oberfläche lassen sich innerhalb eines Fensters mehrere Seiten öffnen. Zur Navigation zwischen den Seiten steht eine Leiste zur Verfügung, die der Windows-Taskleiste ähnelt. Spezielle Befehle schließen die aktuelle Seite oder stellen die geschlossene Seite wieder her. Zwischen den Tabs kann per Mausklick, Mausrad und Tastatur navigiert werden.

Seit der Version 8.00 können englische Sprachbefehle via VoiceXML für die Steuerung von Opera genutzt werden. Auch das maschinelle Vorlesen von Website-Inhalten ist möglich, sobald die dafür zusätzlich notwendigen Dateien heruntergeladen wurden.

In der Adressleiste befindet sich eine Suchfunktion. Hier lassen sich Kürzel für unterschiedliche Seiten festlegen. Dies vereinfacht die Suche in einigen Suchmaschinen und auf den Seiten diverser Online-Händler.

Der Passwort-Manager in Opera

Für Seiten, die für die Anmeldung Benutzernamen und Passwort erfordern, bietet Opera Unterstützung durch den Passwort-Manager. Bis zur Version 9.64 wurde dieser Passwort-Manager als „wand“ bezeichnet, abgeleitet von „magic wand“; zu deutsch „Zauberstab“. Die Funktion kann bei Bedarf mit einem internen Master-Passwort geschützt werden.

Das für den Passwort-Manager genutzte Master-Password lässt sich zusätzlich im E-Mail-Programm „Opera Mail“ nutzen.

Die Oberfläche in Opera

Die Benutzer-Oberfläche des Browsers kann in weiten Teilen angepasst werden. Sämtliche Symbolleisten sind veränderbar und können bei Bedarf aus- und eingeblendet werden. Ab der Version 7 bietet Opera so genannte Skins, um das Erscheinungsbild zu verändern. Diese Skins stehen auf der Website von Opera zum Download zur Verfügung.

Ein neuer Suchmaschinen-Editor, der ab Version 9.0 in Erscheinung tritt, ermöglicht das Anpassen von Suchmaschinen im GUI (GUI = graphical user interface, zu deutsch „Grafische Benutzeroberfläche“).

Ad-Blocker

In der Standard-Installation des Browsers ist die Funktion des Pop-up-Blocking bereits aktiviert. Betroffen sind Pop-ups, die von einer Fremddomain, also nicht von der aufgerufenen Website stammen. Damit wird das nutzerfreundliche Surfen deutlich verbessert. Eine einfach strukturierte Initialisierungsdatei liefert den tatsächlichen Inhaltsfilter und Werbeblocker im Browser. Die Datei trägt den Namen urlfilter.ini und hat ihren Platz im Profil-Verzeichnis.

Bei Kali Linux handelt es sich um eine Linux-Distribution, die auf dem frei entwickelten Betriebssystem Debian GNU/Linux basiert. Die Distribution umfasst in erster Linie Anwendungen für die digitale Forensik sowie für Penetrationstests. Dabei richtet sie sich vor allem an professionelle und fortgeschrittene Nutzer.

Der Werdegang von Kali Linux

Entwickelt wurde das Betriebssystem von Devon Kearns und Mati Aharoni, Mitarbeiter des Unternehmens „Offensive Security“. Die Veröffentlichung wurde am 12. Dezember 2012 angekündigt und am 13. März 2013 durchgeführt. Die Entwicklungszeit von Kali Linux betrug etwa ein Jahr; die erste Version erhielt die Versionsnummer 1.0. Seit der Version 2.0 erhalten Sie Kali Linux als Rolling Release. Das bedeutet, dass das Betriebssystem kontinuierlich weiterentwickelt wird. Betriebssystem-Versionen gibt es nicht mehr. Stattdessen handelt es sich um Snapshots, die in der Regel als Installationsmedium dienen.

Offiziell handelt es sich bei Kali Linux um den Nachfolger von BackTrack. Die neue Bezeichnung soll laut Hersteller-Angaben darauf hinweisen, dass die Neuentwicklung deutlich fortgeschritten ist. Kali Linux setzt nicht wie BackTrack auf Ubuntu auf, sondern auf Debian. Das Betriebssystem wurde vollständig neu entwickelt. Die Infrastruktur arbeitet nunmehr mit Git als Verwaltung für die Versionen.

Die Architektur von Kali Linux

Das System wurde so entwickelt, dass es sich für Computer mit unterschiedlich aufgebauten Hauptprozessoren eignet. So ist es sowohl für AMD64 als auch für x86er-Systeme und für die ARM-Architektur verfügbar. Die ARM-Architektur wird vor allem in kleinen Endgeräten wie Tablet-Computern eingesetzt. So kann die ARM-Version von Kali Linux unter anderem auf dem ARM Chromebook der Marke Samsung als auch auf dem Raspberry Pi verwendet werden.

In der Forensik lässt sich Kali Linux – abhängig von der Anwendung – als Live-System ohne Installation booten, zum Beispiel via CD und DVD, USB-Stick oder PXE (Preboot Execution Environment) im Netzwerk. Dabei hinterlässt das Live-System keine Spuren am geprüften System, weder auf der Solid State Drive noch auf den eingebauten Festplatten. Es sind beispielsweise keine Auslagerungsdateien auffindbar. Um einen Rechner für Penetrationstests einzusetzen, kann Kali Linux alternativ fest installiert werden.

Die Programme und Tools von Kali Linux

In der Distribution sind zahlreiche Dokumentationen und mehrere hundert Hilfsmittel integriert, die die Sicherheit eines IT-Systems testen und bewerten. Die unter Kali Linux enthaltenen Programme sind zwar auch einzeln für den Großteil der anderen Linux-Distributionen erhältlich, doch automatische Optimierungen werden nur über Kali Linux zur Verfügung gestellt.

Kali Linux bezieht die Programme vier Mal pro Tag aus dem Debian-Repository. Damit ist sichergestellt, dass die Nutzer jederzeit über aktuelle Software-Pakete und Sicherheitsupdates verfügen. Eine eigene Paketquelle mit der Bezeichnung „Kali bleeding edge“ stellt neueste, noch nicht ausführlich unter Kali geprüfte Versionen zur Verfügung.

Die wichtigsten Werkzeuge

– Aircrack-ng

Bei Aircrack-ng handelt es sich um eine Tool-Sammlung. Die Werkzeuge sind darauf ausgelegt, Schwachstellen im WLAN nicht nur zu analysieren, sondern sie auch auszunutzen.

– Ettercap

Die Software führt Man-in-the-Middle-Angriffe durch. Es unterstützt Echtzeitkontrollen über Verbindungen auch in in geswitchten Netzwerken, das Sniffing auf IP- und ARP-Basis, aktive und passive Analysen einzelner Hosts und vollständiger Netzwerke sowie das inhaltsbezogene Filtering.

– John the Ripper

Diese Software ist in der Lage, verschlüsselte System-Passwörter zu entschlüsseln und auf ihre Sicherheit zu testen. Das Entschlüsseln geschieht per Brute-Force oder durch eine Dictionary-Attack.

– Kismet

Kismet agiert als freier WLAN-Sniffer und spürt Funknetzwerke auf, indem es die versandten Datenpakete mitliest. Dieses Programm eignet sich unter anderem auch dafür, die Sicherheit des eigenen WLANs zu überprüfen und die Signalstärke zu ermitteln.

– Maltego

Dieses Programm wurde entwickelt, um Daten im World Wide Web zu sammeln. Dabei handelt es sich um Daten sowohl einzelner Personen als auch von Unternehmen.

– Nmap

Die Bezeichnung „Nmap“ steht für Network Mapper. Bei diesem Tool handelt es sich um einen Portscanner, der Hosts in einem Rechnernetz scannt und auswertet. Bei Administratoren ist es ebenso beliebt wie bei Hackern, denn es arbeitet außergewöhnlich zuverlässig und effizient.

– RainbowCrack

Zum Knacken von Passwörtern nutzt dieses Programm so genannte Rainbow Tables. Im Vergleich zum Brute Force benötigt diese Methode deutlich weniger Zeit und Versuche, um ein Passwort zu ermitteln.

– SET (Social Engineer Toolkit)

Dieses Toolkit beinhaltet mehrere Anwendungen für unterschiedliche Penetrationstests. Der Schwerpunkt liegt dabei auf dem Social Engineering.

– The Sleuth Kit

Bei diesem Kit handelt es sich um eine forensische Software-Sammlung, die auf die Kommandozeile von IT-Systemen ausgerichtet ist. The Sleuth Kit unterstützt die Dateisysteme ISO 9660, NTFS, FAT, UFS 1 und 2, Ext2 bis Ext4, HFS und YAFFS2.

Die rechtliche Situation von Kali Linux in Deutschland

Die Distribution Kali Linux enthält Tools, die in Teilen gewisse Sicherheitsvorkehrungen umgehen. Sie werden in Deutschland als „Computer-Programme zum Ausspähen von Daten“ aufgefasst. Diese Auffassung basiert auf § 202c StGB, dem „Hacker-Paragrafen“, der Ende Mai 2007 in Kraft getreten ist.

Auf Basis dieser gesetzlichen Lage kann der Besitz oder der Vertrieb von Kali Linux hierzulande strafbar sein, wenn eine Absicht besteht,

– diese Programme rechtswidrig zu nutzen (§ 202a StGB) und/oder

Daten damit abzufangen (§ 202b StGB).