Die Software SQLite ist eine verbreitete Programmbibliothek. Sie bietet die vollständige Laufzeitumgebung für eine SQL-basierte Datenbank. Die Besonderheit ist, dass sie den Datenbestand in einer einzelnen Datei vorhält. Zudem ist sie mit der Abfragesprache SQL kompatibel. Die Software ist gemeinfrei, also frei von Urheberrechten. SQLite ist in allen gängigen Betriebssystemen implementiert.

Geschichte und Herkunft

SQLite wurde im Jahr 2000 durch D. Richard Hipp im Rahmen seiner Tätigkeit für die amerikanische Firma General Dynamics entwickelt. Dies geschah im Auftrag der Marine des US-Militärs. Zunächst handelte es sich um eine Erweiterung der Skriptsprache Tcl. Inzwischen wird SQLite von zahlreichen Programmier- und Skriptsprachen unterstützt.

Der Name setzt sich aus der Abkürzung für die Abfragesprache Structured Query Language (SQL) und der umgangssprachlichen Bezeichnung Lite, für eine „abgespeckte“ Version, zusammen. Aktuell wird das Projekt SQLite von D. Richard Hipp und zwei weiteren Entwicklern fortgeführt.

Obwohl SQLite lizenzfrei angeboten wird, ist es möglich, kostenpflichtigen Support und Erweiterungen bei den Entwicklern zu erwerben.

Details zur Funktionsweise

Die SQLite-Bibliothek ist in Desktop Betriebssystemen wie Windows, MacOS und den Linux-Distributionen enthalten. Auch die verbreiteten Smartphone-Betriebssysteme Android und iOS unterstützen SQLite nativ.

Die gesamte Anwendung läuft in einem Prozess. Anders als bei anderen Datenbanksystemen, wie MySQL, ist keine Server-Client-Architektur nötig.

SQLite verwendet eine relationale Datenbank. Die Daten werden in Tabellen abgelegt, die spaltenweise über einen Identifier angesprochen werden können. Dies hat den Vorteil, dass Daten nicht redundant vorgehalten werden müssen. Vielmehr können die Inhalte einer Tabelle mit einer oder mehreren Spalten anderer Tabellen verknüpft, also in Relation gesetzt werden.

So ist es typisch für eine Speicherung in relationalen Datenbanken, dass Daten je nach Zweck in unterschiedlichen Tabellen abgelegt werden. Eine Mail-Software könnte beispielsweise folgende Tabellen in ihrer Datenbank führen:

-Kontakte: Enthält die Mailadressen der Kommunikationspartner,

-Konversation: Speichert den Mailverlauf mit einem Gesprächspartner,

-Mails: Beinhaltet die Metadaten einzelner Mails,

-Attachments: Weist Metadaten und Pfade von Anlagen auf.

Anstatt nun in jeder Spalte der Tabelle „Mails“ die Adressen der Absender und Empfänger aufzuführen, wird dort nur die Ordnungsnummer des Kontakts abgelegt. Entsprechend erfolgt die Zuordnung der Anlagen und die Zuordnung einer einzelnen Mail zu einer Konversation.

Datentypen unter SQLite

Daten können in verschiedenen Formaten abgelegt werden. Dies erleichtert die Weiterverarbeitung ohne vorherige Konvertierung. Mögliche Datentypen sind: Null (Nullwert), Integer (Zahlenwert), Real (Fließkommazahl), Text (Klartextlicher Inhalt) und Blob (Binärwert).

Hiermit sind alle Datentypen abbildbar. So werden Datumswerte häufig als Zahlenwert, etwa im Format Unix-Time (Sekunden seit dem 01.01.1970), abgelegt. Alternativ findet sich auch eine Notierung im klartextlichen Datumsformat.

Sehr universell wird der Datentyp Blob (Binary Large Object) eingesetzt. Es können beispielsweise Vorschaubilder darin abgelegt werden. Ebenso finden sich aber auch Konfigurationsdateien, etwa im XML- oder PLIST-Format, in Blob-Datenfeldern.

Datensicherheit und temporäre Dateien

SQLite beherrscht zwei Methoden zur Gewährleistung der Konsistenz einer Datenbank.

Eine Möglichkeit ist das Führen eines Rollback-Journals. Hier wird beim Öffnen der Datenbank ein temporäres Journal erstellt. Dies erhält den Namen der Datenbank mit der Endung „-journal“. In der Datei werden die vorgenommenen Änderungen dokumentiert. So kann beim Auftreten von Problemen eine Wiederherstellung (Rollback) erfolgen.

Die andere Alternative ist die Nutzung des Write-Ahead-Logs (WAL). Bei dieser Methode werden Änderungen zunächst in die Logdatei geschrieben. Die permanente Übernahme in die Datenbank erfolgt beim ordnungsgemäßen Schließen der Datenbank oder durch manuelle Speicherung mit einem Commit-Befehl.

Zudem wird in diesem Fall ein Index in der „Shared-Memory“-Datei (SHM) geführt.

Entsprechend werden bei dieser Methode zwei temporäre Dateien angelegt. Diese erhalten den Namen der Datenbank mit den Endungen „-shm“ und „-wal“.

Schnittmengen mit SQL

Die Verarbeitung der Inhalte in SQLite-Datenbanken erfolgt mittels der Abfragesprache nach dem SQL-92 Standard. Hierdurch ist gewährleistet, dass SQL-Befehle und Abfragen angewendet werden können.

Die Speicherung eines Kontaktes könnte beispielsweise durch einen Befehl nach dem Muster

INSERT INTO kontakte (lfd_nr, name, vorname, mailadresse, rufnummer) VALUES (1, „Mustermann“, „Max“, „mustermann@muster.xyz“, „0123/45678“)

erfolgen. Hierdurch würden in der Tabelle „kontakte“ in die Spalten innerhalb der ersten Klammer die Werte aus der zweiten Klammer eingetragen.

Inhalte aus verschiedenen Tabellen können durch den Befehl JOIN kombiniert werden. Zudem ist es möglich, die Ausgaben beispielsweise durch Befehle wie WHERE und LIKE an Bedingungen zu knüpfen.

Anwendungsgebiete von SQLite

Inzwischen findet man SQLite-Datenbanken als Unterbau vieler Anwendungen. Gängige Apps auf Smartphones, zum Beispiel Messenger wie WhatsApp und Facebook, legen ihre Daten darin ab. Ebenso Browser wie Firefox und Chrome auf Desktop-PC.

Auch kommerzielle Programme nutzen SQLite. Dies bietet sich für verteilte Anwendungen an. Es muss nur die Datenbank für alle Anwender freigegeben sein. Hierdurch ist auch keine besondere Performanz mehr nötig und es ist gut möglich, diese auf virtuellen Servern bereitzustellen.

Ein solcher muss sich nicht notwendigerweise physikalisch im eigenen Netzwerk befinden. Zur Gewährleistung der Verfügbarkeit können sich hierfür extern gehostete Server anbieten.

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.

 

Storage Spaces direct (S2D) ist ein System von Microsoft, mit dem skalierbarer softwaredefinierter Speicher realisiert wird. Es handelt sich um eine Funktion für die Betriebssysteme Windows Server 2016 und 2019 Datacenter. Dabei wird ein Cluster aus den physikalischen Speichermedien der eingebundenen Server erstellt und logischer Speicherplatz gebildet. Dieser ist hochverfügbar und kann unkompliziert erweitert werden.

Wie funktioniert Storage Spaces direct im Detail?

Direkte Speicherplätze, wie Storage Spaces direct (S2D) in deutschsprachigen Programmversionen heißt, nutzt das Prinzip der Virtualisierung. Aus den physikalischen Speichermedien, egal ob Festplatte, SSD oder NVM, wird ein Verbund gebildet. Der schnellste verfügbare Speicher wird dabei automatisch als Cache genutzt. In einer Abstraktionsschicht sorgt das Cluster Shared Volumes Filesystem (CSVFS) dafür, dass der gesamte Speicherbereich logisch wie ein Laufwerk verwaltet werden kann. Die Funktionalität der Dateiverwaltung wird optional durch das bekannte Desktop-Dateisystem NTFS oder ReFS, das spezielle Server-Dateisystem von Microsoft, gewährleistet. Microsoft empfiehlt die Verwendung von ReFS. Der Speicherplatz kann danach zentral verwaltet werden. Dies ist das Prinzip des softwarebasierten Speichers, dem Software-Defined Storage. Die Einrichtung und Verwaltung ist mit der integrierten Microsoft Powershell möglich.

Vorteile von Storage Spaces direct

Das System Storage Spaces direct (S2D) ist direkt in die neuen Server-Betriebssysteme integriert. Hierdurch ist eine reibungslose Einbindung gewährleistet. Aus einer gewachsenen, heterogenen Server-Landschaft kann ein einheitlicher Speicher gebildet werden, der für alle eingebundenen System verfügbar ist. Dieser ist in der Folge auch zentral administrierbar.

Das System ist zudem skalierbar. Mit wenigen Befehlen können nachträglich weitere Komponenten hinzugefügt oder ausgetauscht werden.

Ein bedeutendes Merkmal ist die Ausfallsicherheit. Hier unterscheidet man zwischen der Einzelparität, die einem RAID-5 gleicht und dadurch nur 50 Prozent des physikalischen Speichers nutzen kann und der dualen Parität. Diese ähnelt dem RAID-6 und die Effizienz steigt mit der Anzahl der eingebundenen Hardware-Speichermedien auf bis zu 80 Prozent.

Zudem verwendet Microsoft eine Technik mit Namen Local Reconstruction Codes (LRC). Dabei werden innerhalb der eingebundenen Medien kleinere Gruppen gebildet, damit der Aufwand zur Wiederherstellung nicht auf den gesamten Speicher angewendet werden muss, sondern nur auf die lokal betroffenen Bereiche. Zur Steigerung der Effizienz kann zudem parallel Spiegelung für Teile des Speichers verwendet werden. Dieser Speicher wird dann vorrangig für Schreibvorgänge genutzt und die Daten erste später in andere Speicherbereiche verschoben.

Nachteile von S2D

Storage Spaces direct (S2D) ist an die entsprechenden Server-Lizenzen gebunden. Das bedeutet, dass alle eingebundenen Systeme auch über eine Lizenz für Windows Server 2016 oder 2019 Datacenter verfügen müssen. Das verursacht Kosten von etwa 5000 Euro pro Server, der in den Verbund aufgenommen werden soll. Insbesondere wenn es vorrangig um eine File-Server-Funktionalität geht, gibt es günstigere Alternativen. Bei Nutzung als Plattform für virtuelle Maschinen, müssen die Kosten anderer kommerzieller Anbieter gegenübergestellt werden.

Alternativen zu Storage Spaces direct

Eine ähnliche Funktionalität wie Storage Spaces direct (S2D) bietet das 2012 vorgestellte Ceph. Das System wird unter der GNU-General Public License angeboten und ist damit kostenfrei. An der Weiterentwicklung arbeiten namhafte Firmen. So sind beispielsweise die Hardware-Herstellern CISCO, Fujitsu und Intel sowie Linux-Distributoren, wie Red Hat, SuSE und Canonical (Entwickler von Ubuntu) beteiligt. Es ist allerdings nur unter Linux lauffähig.

Red Hat, innovative Open-Source-Lösungen, kurz vorgestellt

Wer sich über ein geeignetes Server-Betriebssystem oder über Cloud-Anwendungen Gedanken macht, stößt über kurz oder lang auf Red Hat. Was ist Red Hat und wofür steht der rote Hut als Markenzeichen?

Der Begriff Red Hat kennzeichnet sowohl das amerikanische Software-Unternehmen als auch die gleichnamigen Linux-Distributionen. Der rote Hut symbolisiert das Engagement von Red Hat als Agent im Einsatz für Open Source in der digitalen Welt.

Die Geschichte der Entwicklung von Red Hat

Das weltweit agierende Unternehmen Red Hat wurde im Jahr 1993 gegründet und hat seinen Hauptsitz im nordamerikanischen Raleigh, North Carolina.

Das Unternehmen hat sich mit seinen Produkten dem Dienst an der Entwicklung von Open Source verschrieben. Anders als häufig gemeint, bedeutet Open Source dabei nicht immer kostenlos, sondern quelloffen, d. h. der Quellcode der Software ist für jedermann einsehbar.
Die ursprünglich kostenfreie Distrubution Red Hat Linux (RHL) wurde bereits 1994 vorgestellt und zählt damit zu den ältesten Linux-Distributionen.

2003 wurde die freie, nicht kommerzielle Distribution von Red Hat eingestellt und wird seitdem als eigenes Projekt von der Fedora Community fortgeführt. Das Unternehmen Red Hat konzentriert sich nun auf kommerzielle Open-Source-Lösungen für den Unternehmensbereich, u. a. mit dem Projekt Red Hat Enterprise Linux (RHEL).

RHEL gilt unter den Linux-Distributionen im unternehmsbezogenen Anwendungsbereich als Markt- und Innovationsführer. Sie wird seit vielen Jahren durch eine Vielzahl unabhängiger Software-Hersteller im Unternehmensbereich unterstützt u. a. von SAP und Oracle. RHEL zeichnet sich durch lange und stabile Laufzeitzyklen von rund 10 Jahren pro Version aus und gewährleistet damit unternehmerische Planungssicherheit.

Unter Berücksichtigung der Quelloffenheit des Systems hat das Unternehmen Red Hat zur Betreuung seiner Firmenkunden ein besonderes Lizenzsystem eingeführt. Die Nutzung von RHEL wird mit dem Abschluss verschiedener kostenpflichtige Supportverträge (Subskriptionsmodell) verknüpft.

Seit Ende 2018 gehört das Unternehmen Red Hat zum IBM-Konzern. Mit rund 30 Milliarden Euro gehört dies zu den größten Übernahmen in der Unternehmensgeschichte von IBM.

Red Hat heute

Das Geschäftsfeld von Red Hat konzentriert sich beim IBM-Konzern heute auf zunehmend auf Unternehmensanwendungen im Cloud Computing, hier vor allem im Feld der Hybrid-Cloud-Lösungen.

Unternehmen jeder Branche und Größe wenden sich zunehmend Cloud-Anwendungen zu. Sie benötigen vor allem flexible, hybride Lösungen und Multi-Cloud-Services. Ziel ist es, die eigenen Server mit unterschiedlichsten Cloud-Plattformen sowie Cloud-Services zu verbinden und diese gemeinsam zu nutzen. Open-Source stellt aufgrund der Quelloffenheit oftmals eine sinnvollere Atlernative dar, als proprietäre, d. h. geschlossene Cloud-Lösungen.

Daher ist es auch erklärtes Ziel von IBM, die Unabhängigkeit von Red Hat im Bereich Open-Source zu wahren und fortzuführen. Nicht ohne Grund zählt Red Hat seit Jahren als zu den Innovationführern und Vordenkern im Bereich der Open-Source-Anwendungen.

Das Unternehmen Red Hat bietet im IBM-Konzern ein umfangreiches Produktportfolio an, darunter Lösungen für Hybrid-Cloud-Infrastrukturen und Middleware. Agile Integration sowie cloudnative Anwendungsentwicklung kommen hinzu, ebenso wie Services zum Management und zur Automatisierung. Auch die Entwicklung von Container-Technologien und das Kubernetes-Projektes werden von Red Hat beim Cloud Computing unterstützt.

Red Hat bietet Unternehmen jeder Größe Technologien, die diese im Zeitalter der digitalen Transformation sowie Vernetzung zukunftsfähig machen und ihnen die notwendige Anpassungsfähigkeit ermöglichen.

Für kleinere Unternehmen: CentOS

RHEL ist als kostenpflichtiges Linux-Betriebssystem eher im Hochpreissegment angesiedelt und wird von Red Hat nur in Verbindung mit den zugehörigen Supportverträgen geliefert. Daher kommt es in der Regel auf den Servern großer Unternehmen zum Einsatz.

Kleinere und mittelständische Unternehmen (KMU) haben die Möglichkeit, auf CentOS als Alternative auszuweichen. Das sog. Community Enterprise Operating System gehört zu neben Debian und Ubuntu mittlerweile zu den erfolgreichsten Linux-Distributionen. CentOS legt bei der Entwicklung Wert darauf, möglichst langfristig einsetzbar und stabil zu sein. Dies wiederum führt dazu, dass es häufig auf Servern zur Anwendung kommt.

Engagierte Entwickler

CentOS basiert als Gemeinschaftprojekt freiwilliger Softwareentwickler auf der Red Hat Enterprise Linux-Distribution (RHEL). Möglich ist dies dadurch, dass Red Hat die Quellpakete von RHEL als Open Source im Internet zur Verfügung stellt. Damit konnten engagierte Entwickler im Projekt CentOS eine mit RHEL-kompatible eigene Linux-Distribution schaffen. Aktuell unterstützt Red Hat das Projekt CentOS Stream, ein sog. Rolling Release. CentOS bietet damit eine Beta-Version kommender Versionen von RHEL an.

Die Binärkompatibilität bringt es mit sich, dass Unternehmen die Vorteile von RHEL nebst zugehöriger freier Software nutzen können, ohne sich an entsprechende Supportverträge binden zu müssen. Eine kurze zeitliche Verzögerung, die die um meist zwei bis drei Monate gegenüber RHEL nachgelagerte Entwicklung der jeweils neuesten Version von CentOS mit sich bringt, fällt demgegenüber nicht sehr ins Gewicht.

Digitale Transformation – die richtigen Entscheidungen treffen

Professionelle Systemhäuser unterstützen Sie mit Erfahrung und Sachverstand bei der richtigen Entscheidung für die IT-Landschaft Ihres Unternehmens. Welche IT-Lösungen Sie am Ende für Ihr Unternehmen auch bevorzugen, ob ausschließlich eigene Server, Hybrid- und /oder Multi-Cloud-Modelle: Ziehen Sie frühzeitig qualifizierte IT-Fachleute für Ihr Unternehmen hinzu. So gelingt es Ihnen, den digitalen Wandel zu meistern und Ihr Unternehmen erfolgreich in die Zukunft digitaler Transformation zu führen.

Bei Mozilla Firefox handelt es sich um einen freien Webbrowser des Mozilla-Projekts, der im September 2002 in einer Betaversion erstmals der breiten Öffentlichkeit zugänglich gemacht wurde. StatCounter zufolge gehört Firefox mit einem Anteil von 8,8 Prozent an der globalen Internetnutzung neben Google Chrome und Apple Safari zu den meistgenutzten Webbrowsern.

Entwicklungsgeschichte von Firefox

Das Mozilla-Projekt, damals noch unter dem Namen „Phoenix“, wurde von den beiden Informatikern Davy Hyatt und Blake Ross als ein experimentelles Derivat aus dem Programmpaket Mozilla Application Suite ins Leben gerufen. Die Application Suite basierte auf dem Quellcode des legendären Webbrowsers Netscape Communicator, der zu jener Zeit neben dem Microsoft Internet Explorer zu den meistgenutzten kommerziellen Webbrowsern gehörte. Die erste Testversion des Webbrowsers Phoenix 0.1 wurde am 23. September der breiten Öffentlichkeit vorgestellt.

Name von Firefox

Mozilla Firefox wurde ursprünglich unter dem Namen Phoenix entwickelt. Dieser Name musste jedoch infolge einer Klage des US-amerikanischen BIOS-Produzenten Phoenix Technologies geändert werden. Der Webbrowser wurde zunächst in Mozilla Firebird und schließlich, aufgrund einer Namensgleichheit mit dem Datenbankmanagementsystem (DBMS) Firebird, mit der Version 0.9 in Mozilla Firefox umbenannt.

Funktionen und Features

Mozilla Firefox nutzt ebenso wie die Mozilla Application Suite den Gecko-Renderer für die Darstellung von HTML-Dokumenten. Die Benutzeroberfläche des Webbrowsers lässt sich durch den Einsatz sogenannter „Themes“ schnell und einfach an die individuellen Anforderungen anpassen. Mit optional erhältlichen Erweiterungen können zudem zahlreiche Funktionen und Features hinzugefügt werden, wie beispielsweise:

–              Werbeblocker

–              Webentwickler-Tools

–              Mausgesten

Firefox bietet volle Unterstützung für Tabbed Browsing. Darunter wird die Darstellung von mehreren Webseiten verstanden, die mit Tabs innerhalb eines einzelnen Anwendungsfensters versehen werden. Ab der Version 4.0 war es zudem möglich, mithilfe der Funktion „Panorama Tabs“ einzelne Tabs nach persönlichen Anforderungen zu gruppieren und diese darzustellen. Aufgrund geringer Nutzung wurde dieses äußerst interessante Feature jedoch wieder mit der Version 45 entfernt. RSS-Web-Feeds wurden ursprünglich in Form von dynamischen Lesezeichen realisiert. Diese Funktionalität wurde mit der Version 64 aus unterschiedlichen Gründen entfernt. Mithilfe von Add-ons lässt sich diese Funktionalität jedoch weiterhin nutzen. Firefox ist aktuell in 86 Sprachen als kostenloser Download erhältlich, darunter auch Deutsch.

Datenschutz und Sicherheit bei Firefox

Firefox bietet seit der Version 3.5 einen sogenannten „privaten Modus“, in dem keine Daten, die während des Surfens entstehen, gespeichert werden. Browserdaten, die im normalen Funktionsmodus entstehen, können nachträglich entweder selektiv oder komplett gelöscht werden. Im privaten Modus blockiert der Webbrowser automatisch alle Inhalte, die eventuell die Nachverfolgungen über verschiedene Websites hinweg ermöglichen könnten. Dazu werden URLs mit einer Liste des Unternehmens Disconnect.Me abgedeckt. Um einen höchstmöglichen Schutz von Phishing– und Malware-Attacken zu bieten, werden alle besuchten Webpräsenzen und heruntergeladene Anwendungsprogramme automatisch mit einer Liste verdächtig gemeldeter Webseiten und Dateien abgeglichen. Diese Liste wird ungefähr halbstündig aktualisiert, sodass für den Abgleich stets die neuesten Informationen verwendet werden. Durch den Einsatz einer in der Skriptsprache JavaScript realisierten Geolocation API können Webpräsenzen über den Webbrowser den Standort des Nutzers bestimmen. Dazu ist jedoch eine explizite Erlaubnis des Nutzers nötig.

Firefox Erweiterungen (Add-ons)

Mit Erweiterungen können Nutzer den Funktionsumfang von Firefox mit zusätzlichen Funktionen und Features anreichern, die nicht vom eigentlichen Webbrowser angeboten werden. Einige dieser Features wurden absichtlich nicht in den Browser integriert, damit er einigermaßen schlank und agil bleibt und das Firefox-Projekt nicht dadurch unnötig kompliziert wird. Bei den Add-ons handelt es sich traditionell um kleine Programme, die in XUL und JavaScript geschrieben wurden. Durch den Einsatz von XUL und JS waren die Add-ons plattformunabhängig. Mit der Veröffentlichung von Firefox 4 wurde eine neue Add-on-Schnittstelle eingeführt, die ausschließlich auf Websprachen wie HTML, CSS und JavaScript setzt und die Installation sowie das Entfernen von Add-ons ohne Neustart des Webbrowsers ermöglichen soll. Ab der Version 48 wurde mit WebExtensions ein neues Erweiterungsformat eingeführt, das eine Kompatibilität zu anderen Webbrowsern ermöglicht.

Im Oktober 2012 wurde unter dem Namen „Firefox Marketplace“ eine Plattform ins Leben gerufen, auf der Firefox-User Anwendungen für ihren Webbrowser herunterladen können. Die Plattform war zunächst lediglich für Nutzer der mobilen Firefox-Version für Android nutzbar, wurde später aber auch für andere Betriebssysteme verfügbar. Der Firefox-Marketplace orientiert sich stark am Chrome Web Store. Alle dort erhältlichen Programme basieren auf offenen Webstandards und sind nicht von der jeweiligen Architektur abhängig.

Spezielle Versionen

Die offiziellen Ausgaben von Mozilla erfordern in der Regel eine vollständige Installation auf dem Zielsystem. Dadurch wird jedoch der rechnerübergreifende Einsatz mit Wechseldatenträgern erschwert, wie beispielsweise USB-Speichermedien, die es u. a. ermöglichen, den Webbrowser mit dem gleichen Profil auf unterschiedlichen Computern zu nutzen. Um dieses Problem zu beheben, wird eine portable Ausgabe von Firefox angeboten. Die Mozilla Firefox Portable Edition wurde so angepasst, dass sie direkt auf einen mobilen Datenträger entpackt werden kann und auf diesem sofort nutzbar ist. Sämtliche sensiblen Daten bleiben dabei auf dem Datenträger und müssen nicht auf der lokalen Festplatte des genutzten Computers gespeichert werden.

Der Firefox-Webbrowser wird von Mozilla auf keine speziellen Prozessoren optimiert. Es existieren jedoch einige inoffizielle Versionen, die auf verschiedene Betriebssysteme und Prozessorarchitekturen optimiert sind. Ein Grund für die Optimierung auf bestimmte Plattformen, sind eine bessere Ausnutzung des vorhandenen Speichers und bestimmter Prozessorbefehle.

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).