Beiträge

Unter Vulnerability versteht man in der Informationstechnik eine Verwundbarkeit der Hard- oder Software. Immer wieder tauchen Meldungen über neue Vulnerabilitäten auf. Sogar in als unverwundbar geltenden Architekturen, wie der des iPhone von Apple, hat ein Hacker mit dem Checkm8-Exploit kürzlich eine mächtige Sicherheitslücke aufgetan. Kann man also davon ausgehen, dass in jedem Programm und in jeder Hardware-Architektur unbekannte Fehler schlummern?

Der Exploit, des Hackers Werkzeug

Eine Vulnerability wird dadurch gefährlich, dass jemand herausfindet, wie er sie ausnutzen kann. Das Programm, mit dem die Sicherheitslücke für einen bestimmten Zweck „ausgebeutet“ werden kann, ist der . Im günstigsten Fall ist der Hacker ein Sicherheitsforscher, der mit einem Proof-of-concept (PoC) nur den Beweis der Verwundbarkeit antreten will. Dann wird er vor der Veröffentlichung das betroffene Unternehmen in Kenntnis setzen. Kriminelle Hacker hingegen, nutzen die Vulnerability aus, um größtmöglichen Profit zu erzielen oder hohen Schaden anzurichten.

Bekannte Hardware-Sicherheitslücken

Rowhammer (2015): Verwendet eine Vulnerability in der Architektur von Arbeitsspeicher. Hier wird ausgenutzt, dass der Speicher mittels elektrischer Spannung beschrieben wird. Werden viele Schreib- und Leseoperationen in einem Bereich ausgeführt, kann das auch nicht betroffene Bits verändern. Eine Cache-Funktion, die genau diesen Umstand verhindern soll, kann vom Angreifer gezielt ausgehebelt werden.

Meltdown/Spectre (2017): Sind Exploits, die Schwachstellen in Prozessoren der drei großen Anbieter Intel, AMD und ARM ausnutzen. Sie erlauben Zugriffe auf privilegierte Speicherbereiche. In einem Szenario greifen dafür vorgesehene Sicherheitsmechanismen nicht schnell genug, da aus Performance-Gründen unkontrolliert Befehle vorab in internen Registern ausgeführt werden dürfen.

Bekannte Software-Vulnerabilitäten

Heartbleed (2014): Nutzt die Schwäche in einer älteren Version von SSL aus. In dieser kontrolliert SSL das Bestehen der Verbindung regelmäßig durch das Senden von Kontrollbits. Dieselbe Menge wird als Bestätigung zurückgesandt. Jedoch ist es möglich, die vorgesehene Größe zu überschreiten. Die zurückgesandten Bits werden dann mit zufällig im Speicher befindlichen Inhalten aufgefüllt. Dies können auch sensible Daten sein.

-KRACK (2016): Benennt einen Angriff auf die bis dahin als sicher geltende WPA2-Verschlüsselung in WLANs. Bei diesem werden im Authentifizierungsprozess (Handshake) übersandte Pakete abgefangen und Wiederholungen der Versendungen erzwungen. Ein zum Schutz vorgesehener, temporärer Zufallswert (Nonce) wird angreifbar, da er dadurch erneut verwendet wird.

DirtyCow (2016): Benutzt eine Vulnerability, die den Linux-Kernel betrifft. Daher sind auch Android-Geräte betroffen. Namensgebend ist die Ursache, der sogenannte Copy-on-write-Mechanismus. Durch geschickte Mehrfachöffnung einer virtuellen Datei in parallelen Threads, gelingt es dem Exploit, sich nicht vorgesehene Rechte zu verschaffen.

-BlueBorne (2017): Basiert auf einer Vulnerability bei der Implementierung von Bluetooth in nahezu allen Betriebssystemen. Der Angreifer muss sich im Funkbereich der aktivierten Schnittstelle befinden. Dann kann er sich als Man-in-the-Middle betätigen und den Netzwerkverkehr mitlesen. Unter Linux ist es ihm möglich, Schadcode mit den Rechten des Bluetooth-Prozesses auszuführen.

Der Zero-Day-Exploit und CVE

Verwendet der Hacker einen Exploit, bevor er dem betroffenen Entwickler mitgeteilt wurde, spricht man von einem Zero-Day-Exploit. Teilweise wird dieser über einen längeren Zeitraum genutzt, bevor der Hersteller davon erfährt.

Das Gegenstück dazu sind die Common Vulnerabilities and Exposures (CVE). Hierbei handelt es sich um eine Sammlung veröffentlichter Sicherheitslücken. Den Entwicklern wird vor der Bekanntgabe Zeit zur Beseitigung des Fehlers gegeben. Die Veröffentlichung erfolgt, damit Forscher und Hersteller sich damit beschäftigten können. Die CVE erhalten eindeutige Nummern, die es Herstellern von Schutzsoftware ermöglichen, die Vulnerability konkret zu benennen.

Warum gibt es so viele Vulnerabilitäten?

Es gilt auch hier die Weisheit: Wo Menschen arbeiten, werden Fehler gemacht. Allerdings sind Betriebssysteme und viele Programme heutzutage derart komplex, dass Fehler niemals völlig ausgeschlossen werden können. Zudem steht es nicht immer in der Macht eines Entwicklers, derartige Probleme zu vermeiden. Vielmehr muss er sich oftmals auf Module anderer Anbieter verlassen. So wird TLS/SSL in Mailprogrammen und auch im HTTPS-Protokoll genutzt. In vielen Betriebssystemen ist es als Bibliothek fest implementiert. Daher sind durch eine Vulnerability in SSL, die durch den Heartbleed-Exploit ausgenutzt wurde, eine derart hohe Anzahl an Endgeräten und Software-Produkten betroffen. Bei der KRACK-Attacke wiederum wurde ein Hinweis im WPA2-Standard in einem unter Linux und Android gebräuchlichen Treiber fehlerhaft implementiert, so dass nach Durchführung des Angriffs der verwendete Schlüssel nur noch aus Nullen bestand.

Schutz und Gegenmaßnahmen

Um sich vor Vulnerabilitäten zu schützen, sollten Sie als Anwender oder Verantwortlicher auf mehrere Maßnahmen setzen.

Viele Exploits werden von Virenscannern erkannt. Voraussetzung sind tagesaktuelle Signaturen und leistungsfähige Schutzsoftware. Eine Firewall kann verhindern, dass Daten zugänglich werden oder abfließen.

Essentiell sind Sicherheitsupdates für Hard- und Software. Für den Großteil der aufgeführten Exploits haben die Hersteller Sicherheitsupdates veröffentlicht.

Nicht zu vergessen bleibt eine vernünftige Backup-Strategie, da Exploits auch Daten korrumpieren können. Schließlich sollten Sie als Verantwortlicher die aktuelle Bedrohungslage im Auge behalten. Dies können Sie anhand öffentlich zugänglicher CVE-Datenbanken. Im Zweifel macht es möglicherweise Sinn, auf bestimmte Hard- oder Software zu verzichten, bis die Vulnerability geschlossen ist.

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. 

Windows Hello ist ein biometrisches System, das es Windows 10-Usern ermöglicht, den sicheren Zugriff auf ihre Geräte, Anwendungen, Online-Dienste und Netzwerke mit einem Fingerabdruck, Iris-Scan oder Gesichtserkennung zu authentifizieren. Es ist eine Alternative zu Passwörtern und gilt als benutzerfreundlicher, sicherer und zuverlässiger als die herkömmliche Methode.

So funktioniert Windows Hello

Windows Hello begrenzt die Möglichkeit von Angriffen bei Windows 10, indem es die Notwendigkeit von Passwörtern und anderen relativ unsicheren Methoden eliminiert. Windows Hello ermöglicht es Ihnen, ein Microsoft-Konto oder einen Nicht-Microsoft-Dienst zu authentifizieren, der Fast Identity Online (FIDO) unterstützt. Windows Hello verwendet strukturiertes 3D-Licht, um ein Gesichtsmodell zu erstellen und nutzt dann Anti-Spoofing-Techniken, um eine Manipulation durch falsche Scans zu verhindern. Mit Windows 10 können Sie Windows Hello einrichten. Dazu müssen Sie einen Gesichtsscan, Irisscan oder Fingerabdruck erstellen. Sie können diese Scans jederzeit verbessern und zusätzliche Fingerabdrücke hinzufügen oder entfernen. Einmal eingerichtet, ermöglicht ein Blick auf das Gerät oder ein Fingerscan den Zugriff auf Microsoft-Konten und Anwendungen von Drittanbietern, die die API verwenden. Die FIDO-Spezifikation wurde 2014 von der FIDO Alliance entwickelt.

Für wen ist es sinnvoll?

Windows Hello wurde sowohl für Unternehmen als auch für Privatanwender entwickelt und gewinnt in beiden Bereichen an Bedeutung. Obwohl Windows Hello eine beachtliche Benutzerzahl hat, wird es von der massiven Windows 10-Installationsbasis in den Schatten gestellt. Wenn Microsoft die Mehrheit der Windows 10-Benutzer in Windows Hello konvertieren kann, wäre dies ein Wendepunkt im Kampf gegen unpraktische Passwörter.

Wie sicher ist Windows Hello?

Ein Passwort kann gehackt, ausspioniert und vergessen werden. Windows Hello beseitigt diese Sicherheitslücken mit der Fingerabdruck- und Gesichtserkennungstechnologie. Der Fingerabdruck-Scan ist ziemlich sicher. Die Gesichtserkennung  ist noch sicherer, da sie in der Lage ist, zwischen Ihrer physischen Anwesenheit und einem Bild von Ihnen zu unterscheiden. Das ist Sicherheit auf Unternehmensebene für Privatanwender, einfach zu implementieren und äußerst effektiv.

Speichert Microsoft persönliche Daten?

Es gibt einige Berichte über die Privatsphäre oder besser gesagt, den Mangel an Privatsphäre in Windows 10. Der Gedanke lässt einige Benutzer die Effektivität von Windows Hello infrage stellen. Microsoft sagt dazu, dass Windows 10 während der Einrichtung die vom Gesichts- oder Irissensor oder Fingerabdruckleser erfassten Daten übernimmt und eine Darstellung anfertigt, die es verschlüsselt und auf Ihrem Gerät speichert. Dies ist kein Bild, sondern eher wie ein Diagramm. Ihre Identifikationsdaten, die bei der Registrierung erstellt werden, verlassen niemals Ihr Gerät. Microsoft sammelt Nutzungsdaten, wie z. B. die Methode, mit der Sie sich angemeldet haben (Gesicht, Iris, Fingerabdruck oder PIN), die Anzahl der Anmeldungen und ob jede Anmeldung erfolgreich war oder nicht. Diese Daten werden ohne jegliche Informationen, die zur eindeutigen Identifizierung Ihrer Person verwendet werden könnten, verschlüsselt, bevor sie übertragen werden.

Die Hardwareanforderungen

Es ist mit spezifischen Hardwareanforderungen verbunden. Microsofts Surface Pro, Surface Book und die meisten Windows 10 PCs, die mit Fingerabdruckscannern oder Kameras ausgestattet sind, die zweidimensionale Infrarotspektroskopie erfassen können, sind mit Windows Hello kompatibel. Microsoft arbeitet auch mit Geräteherstellern zusammen, um eine konsistente Leistung und Sicherheit für alle Benutzer zu gewährleisten. Der akzeptable Leistungsbereich für Fingerabdrucksensoren ist eine Fehlannahmequote von weniger als 0,002 Prozent. Der akzeptable Bereich für Gesichtserkennungssensoren ist eine Fehlannahmequote von weniger als 0,001 Prozent, so Microsoft.

Was ist WORM-Speicherung?

Unternehmen sammeln eine Menge Daten und manchmal müssen oder wollen sie diese Daten so speichern, dass sie nicht mehr geändert werden können. Write Once Read Many (engl. für „schreibe einmal, lese vielfach“) oder WORM ist die einmalige unveränderbare Speicherung von Daten, wobei das Lesen der Daten weiterhin möglich ist.

Einfach gesagt handelt es sich bei WORM um eine Speicherung, nach der die Daten nicht mehr verändert werden können. Sie können Daten genau einmal auf das Speichermedium schreiben. Das Löschen, Überschreiben oder Ändern dieser Daten ist dann aber dauerhaft ausgeschlossen. Eine einfache Version von einem WORM-Speicher ist eine CD-R (englisch: Compact Disc Recordable). Sie können Daten auf den Rohling schreiben, dann aber nicht mehr verändern. Sie können die Disc zwar beschädigen oder zerstören, um jemandem den Zugriff darauf zu verweigern, aber Sie können die darauf gespeicherten Daten nicht ändern. Was das Hard-WORM allerdings erlaubt, ist das mehrfache Lesen der Daten.

Soft-Worm – Softwarebasierter Speicherplatz

Die große Herausforderung besteht heute darin, bei der riesigen Menge an vorhanden Daten, das richtige Speichermedium zu finden. Selbst die auf einigen Blu-ray-Laufwerken verfügbare Kapazität von Terabyte reicht in einer Zeit, in der viele Unternehmen Daten in Petabyte messen, nicht mehr aus. Die Antwort auf das Problem sind softwarebasierte Systeme, die die Attribute nachahmen, die physische Medien zu WORM machen.

Dabei muss die Software vier wesentliche Punkte erfüllen. Sie darf nur ein einziges Mal erlauben, dass Daten auf ein Laufwerk geschrieben werden. Sie muss verhindern, dass jemand diese Daten löscht. Sie muss Aufzeichnungen über das Schreiben und den Zugriff auf Daten führen, um sicherzustellen, dass niemand die Daten manipuliert und sie muss jedem mit den richtigen Zugangsdaten ermöglichen, die Daten bei Bedarf zu lesen. Das löst das Größenproblem, das Sie mit einem physischen Datenträger haben. Ein mit dieser Software ausgestatteter Server sichert die Daten und bietet gleichzeitig die Speicherkapazität von Festplatten. Diese Form von WORM kann von Unternehmen intern eingesetzt oder von Cloud-Anbietern als Service angeboten werden.

 Redundanz von Systemen

Ein echtes Problem der WORM-Speicherung ist der Datenverlust. Nehmen wir an, Sie brennen etwas auf eine CD-R und lagern die Disc im Büro, aber das Gebäude brennt nieder. Dann haben Sie weder die CD noch den Computer. Wenn Sie sich für WORM auf physischen Medien entscheiden, bedeutet das, dass Sie mindestens zwei Kopien der CD-R, DVD oder Blu-ray Disc benötigen. Eine dieser Kopien muss extern aufbewahrt werden. Da Sie wahrscheinlich sensible Informationen speichern, ist die Sicherheit das Hauptproblem bei diesem Ansatz. Überall, außer in einem Bankschließfach, sind die Medien anfällig. Wenn Sie Kundendaten gespeichert haben, kann es bei einem Diebstahl zu Haftungsproblemen kommen. Die Redundanz ist mit einem Cloud-Speicherservice einfacher. Sie können die Daten auf mehreren Servern an verschiedenen Orten speichern, um einen Datenverlust zu vermeiden. Diese Art der Redundanz ist bei vielen Cloud Storage-Anbietern Standard.

Aufbewahrung der Daten

Wenn Sie aus rechtlichen Gründen z. B. Finanz- und Steuerunterlagen speichern müssen, gibt es ein Ablaufdatum. Meist beträgt die Aufbewahrungspflicht sechs oder zehn Jahre. Wenn Sie die Daten auf einem physischen Medium gespeichert haben, können Sie das Medium zerstören. Wenn Sie sie in der Cloud speichern, müssen Sie Aufbewahrungsfristen einrichten. Das ist eine Funktion der Software, die die Daten nach einer bestimmten Zeit freischaltet. Nach der Freischaltung der Daten können Sie diese löschen.

Brauche ich einen WORM-Speicher?

Nicht nur gesetzliche Anforderungen sprechen für den Einsatz . Wenn Sie Datensätze mit historischem Wert archivieren möchten, ist die WORM-Speicherung sinnvoll. Wenn Sie befürchten, dass jemand Geschäftsunterlagen manipuliert, können WORM-Daten dies womöglich beweisen oder widerlegen. WORM könnte auch dazu dienen, den Nachweis von Geschäftsgeheimnissen oder geistigem Eigentum zu einem bestimmten Zeitpunkt zu sichern.

Was ist Python?

Bei Python handelt es sich um eine performante, objektorientierte Programmiersprache, die sich durch eine leicht zu lernende Syntax auszeichnet. Die Alpha-Version der Programmiersprache hat der niederländischen Informatiker Guido Van Rossum Ende der 1980er Jahre entwickelt. Die öffentliche Vorstellung fand im Februar 1991 statt.

Woher stammt der Name?

Die Programmiersprache hat ihren Namen nicht, wie es oft vermutet wird, in Anlehnung an die Riesenschlange bekommen. Der Programmierer Guido Van Rossum war ein leidenschaftlicher Fan der britischen Comedy-Show „Monty Python’s Flying Circus“. Namensgeber für die Programmiersprache war diese Serie.

Wodurch zeichnet sich die Programmiersprache aus?

Im Vergleich zu ähnlichen Programmier- und Skriptsprachen, wie beispielsweise C, C++ oder Node.js ist Python wesentlich leichter zu verstehen und zu schreiben. Generell ist die Syntax äußerst elegant und sehr ausdrucksvoll, sodass Sie mit wenigen Zeilen Code viel erreichen können. Python wird unter der Open Source-Lizenz vertrieben und kann kostenlos auch für den kommerziellen Gebrauch genutzt werden.

Das objektorientierte Programmierparadigma gibt Ihnen die Möglichkeit, durch die Erstellung logischer Objekte komplexe Vorgänge in kleinere und übersichtliche Einzelteile aufzuteilen. Durch die Micro-Service-Architektur ist es möglich, Python-Code in Kombination mit anderen Programmiersprachen wie Rust oder C++ zu nutzen.

Auch auf andren Plattformen nutzbar

Einer der wesentlichen Vorteile der Programmiersprache ist ihre hohe Flexibilität sowie Portabilität. In Python geschriebene Anwendungen lassen sich prinzipiell, ohne größere Änderungen im Programmcode vornehmen zu müssen, auf unterschiedlichen Plattformen nutzen. Man kann die Anwendungen auf Windows-, Linux– und Max OS-Systemen nutzen.

Bei Python handelt es sich wie bei PHP oder JavaScript um eine sogenannte „Interpretersprache“. Das bedeutet, dass der Programmcode wie bei traditionellen Programmiersprachen nicht erst vor der Ausführung kompiliert werden muss, sondern Pythonanwendungen werden direkt aus dem Quellcode heraus interpretiert und ausgeführt. Das vereinfacht  den Prozess der Programmierung wesentlich, da Sie  nicht auf die manuelle Speicherverwaltung achten müssen. Darüber hinaus müssen Sie sich auch nicht darum kümmern, ob die korrekten Programmbibliotheken richtig verlinkt und geladen wurden.

Reine Anwendungen von Python sind langsamer

Python bringt jedoch auch einige Nachteile mit sich. Da es sich hierbei um eine interpretierte Skriptsprache handelt, sind reine Pythonanwendungen langsamer in ihrer Ausführung und benötigen mehr Arbeitsspeicher. Wenn Sie Anwendungen benötigen, die äußerst performant und effizient sind, dann setzen Sie bei einem Teil der Anwendung auf anderen Programmiersprache, wie zum Beispiel C++.

Was sind die Einsatzgebiete von Python?

Aufgrund der übersichtlichen und intuitiven Syntax und Programmstruktur wird Python sowohl in der Entwicklung komplexer Anwendungen als auch bei der Erstellung einzelner Module, die in andere Programmiersprachen integriert werden können, verwendet.  Man nutzt Python , um einzelne Module zu entwickeln, die sich immer wieder verwenden lassen. Einer der wesentlichen Vorteile der Sprache ist die gigantische Auswahl an Bibliotheken für numerische und wissenschaftliche Kalkulationen, die sich schnell und unkompliziert in bestehende Module einbinden lassen.

Große Unternehmen nutzen Software

Python wird von bekannten Unternehmen wie Google, Microsoft, Tesla oder Netflix in den Bereichen KI (künstliche Intelligenz), Spracherkennung und neuronale Netzwerke eingesetzt, um Anwendungen zu entwickeln, die sich durch ein hohes Maß an Autonomität auszeichnen. Darüber hinaus nutzt man Python auch bei der Entwicklung skalierbarer Webanwendungen. Hier kommen sogenannte „Frameworks“ wie Django und Flask zum Einsatz, die auf der Programmiersprache aufbauen und die Entwicklung moderner Webapps wesentlich beschleunigen. Viele bekannte Websites, wie zum Beispiel reddit oder Instagram basieren auf diesen Frameworks. Einsatzgebiete von Python sind ebenso Deep Learning, Data Mining und Maschine Learning.

Welche Softwareprodukte basieren auf dem Programm

Die Programmiersprache kommt aktuell in einer Vielzahl unterschiedlicher kommerzieller Softwareprodukte und Open-Source-Lösungen zum Einsatz. Einige bekannte Anwendungen, die auf Python aufbauen sind:

–              Blender

–              OpeShot

–              OpenOffice

–              Civilization 4

–              Battlefield 2

 

Ist es schwer Python zu lernen?

Falls Sie Kenntnisse in anderen Programmiersprachen wie Java oder Go haben, sollten Sie in der Regel nicht mehr als 10 Tage benötigen, um die Grundlagen dieser Skriptsprache zu erlernen, um einen einfachen Code schreiben zu können. Zahlreiche Online-Plattformen bieten Python-Video-Kurse an, die Sie zum Lernen benutzen können. Darüber hinaus stehen Ihnen zahlreiche Tutorials mit Übungen im Netz kostenlos zur Verfügung. Insgesamt sollten Sie etwa 2 Wochen einplanen, um Basiswissen in der Programmiersprache zu erlangen.

FOSS – was Sie über freie und quelloffene Software wissen müssen

Die Abkürzung FOSS steht für „Free and Open Source Software“. Alternativ existiert auch die Bezeichnung „Free/Libre Open Source Software“ (FLOSS). FOSS bzw. FLOSS fassen die Begriffe „Freie Software“ und „Open-Source-Software“ zusammen. Sie bezeichnen quelloffene Software aller Art, also Software, deren von Softwareentwicklern erstellter, menschenlesbarer Programmtext offen gelegt und verfügbar ist.

Die Quelltexte von FOSS sind in der Regel in einer höheren Programmiersprache verfasst, die von einem Compiler in ein binäres Format überführt wird, welches dann von Computern ausgeführt werden kann. Bei nicht-quelloffener Software ist im Gegensatz zu FOSS nur dieser Binärcode erhältlich. Die FOSS-Programme dürfen meist beliebig kopiert, verbreitet und genutzt werden. Es gibt für sie keine Nutzungsbeschränkungen, weder bezogen auf die Anzahl der Benutzer, noch bezogen auf die Anzahl der Installationen. Mit dem Kopieren und der Verbreitung von FOSS-Programmen sind kein Anschaffungspreis und keine Lizenzgebühren verbunden. Nutzer können die Software verändern und weiterentwickeln, eben weil sie im Quelltext vorliegt. Sie dürfen die veränderte oder weiterentwickelte Software anschließend weitergeben. FOSS ist darauf angewiesen, dass um die jeweilige Software herum eine Gemeinschaft entsteht, die die Software pflegt und weiterentwickelt. Damit bietet sie sich zum Lernen, Mitmachen und Verbessern an.

Vorteile der Software

An der Entwicklung eines FOSS-Programms kann sich eine beinahe beliebig große Anzahl von Einzelpersonen und Unternehmen beteiligen. Auf diese Weise wird der Entwicklungsaufwand geteilt, und jeder kann von der gemeinsamen Arbeit profitieren. Wenn ein Unternehmen eine Software benötigt, kann es sinnvoll sein, nicht Standardsoftware zu beschaffen oder eine vollständige Eigenentwicklung zu beginnen, sondern sich stattdessen an einem FOSS-Projekt zu beteiligen. Diese Projekte stellen bewährte Strukturen dar, über die Unternehmen gemeinsame Softwareentwicklung organisieren können, ohne komplexe Verträge miteinander aushandeln zu müssen. Das gilt, solange alle Beteiligten damit einverstanden sind, dass die Software unter einer FOSS-Lizenz steht.

Zu diesem Zweck existiert eine Vielzahl unterschiedlicher, populärer Lizenzen. Diese unterscheiden sich insbesondere mit Blick darauf, ob Software, die eine Weiterentwicklung von FOSS darstellt, oder Software, die ein FOSS-Programm nur benutzt und einbindet, selbst wieder unter einer FOSS-Lizenz veröffentlicht werden muss. Wenn eine Lizenz dies erzwingt, ist sie, was den FOSS-Charakter angeht, ansteckend. Dies wird auch mit dem Begriff „Copyleft“ bezeichnet. Lizenzen, die derartige Regelungen enthalten, fördern in bestimmten Bereichen effektiv die Verbreitung von FOSS, schränken auf der anderen Seite aber ihre kommerzielle Verwertbarkeit ein. Über die Frage, welche Art von Lizenzen gesellschaftlich und wirtschaftlich wünschenswert ist, gibt es umfangreiche, zum Teil ideologische Auseinandersetzungen. Ein wichtiger Aktivist in diesem Themenbereich ist Richard Stallmann, der Gründer der Free Software Foundation (FSF).

Beispiele 

Es existieren sehr viele erfolgreiche Softwareanwendungen, die dem FOSS-Modell folgen. Traditionell gibt es ein starkes Angebot im Bereich der Betriebssysteme und der betriebssystemnahen Programme, sowie bei den IT-bezogenen Anwendungen. Beispiele hierfür sind das Betriebssystem Linux und der Webserver Apache, die jeweils führende Produkte ihrer Klasse darstellen. Beliebte FOSS-Anwendungen gibt es aber auch für viele andere Gebiete, von Office- und Media-Software bis zu Antivirensoftware und Satzprogrammen. Die folgenden Absätze stellen drei FOSS-Programme vor.

Ein für viele Heimanwender relevantes Beispiel ist der Mediaplayer VLC, der als Logo einen Verkehrsleitkegel verwendet, wie man ihn zur Markierung von Baustellen kennt. Die Software wird seit Mitte der Neunzigerjahre vom sogenannten VideoLAN-Team entwickelt, das aus Studenten der französischen École Centrale Paris sowie Entwicklern aus über 20 Ländern besteht. Es handelt sich um einen sehr populären Mediaplayer, der eine große Auswahl von Audio- und Videocodecs sowie Dateiformaten für das Streamen unterstützt. VLC ist u. a. für die Betriebssysteme Android, iOS, Linux, macOS und Windows verfügbar. VLC stellt eine gute Alternative zu kommerziellen Programmen wie Quicktime oder Windows Media Player dar.

 

Die Office-Suite LibreOffice ist ein weiteres, sehr bekanntes FOSS-Programm. Ursprünglich vom Hamburger Unternehmen Star Division in einem traditionellen Closed-Source-Modell als Alternative zu Microsoft Office entwickelt, wurde die Software im Jahr 1999 von Sun Microsystems übernommen, das die Quelltexte anschließend freigab. So entstand OpenOffice.org, von dem sich LibreOffice im Jahr 2010 abspaltete. LibreOffice umfasst Programme zur Textverarbeitung, Tabellenkalkulation, Präsentation und zum Erstellen von Zeichnungen. Ebenfalls enthalten sind ein Datenbankmanagementsystem und ein Formeleditor. Neben der Desktopsoftware für Linux, Windows macOS gibt es auch eine Version für Android-Smartphones und -Tablets. Mit LibreOffice Online existiert außerdem eine Online-Office-Webversion.

Weitere Beispiele

Das Mozilla-Projekt Firefox basierte ursprünglich auf dem Quellcode des Netscape Communicators, der ursprünglich einen wichtigen Beitrag dazu geleistet hatte, dass Webbrowser überhaupt entstanden waren. Firefox gilt als ein moderner und leistungsfähiger Browser, der die Weiterentwicklung offener Standards im Internet unterstützt und im Bereich Privatsphäre und Datenschutz eine Vorreiterrolle einnimmt. Der Existenz und Verbreitung eines FOSS-Browsers kommt eine besondere Bedeutung zu, weil Webbrowser die „Tür“ zum World Wide Web darstellen und es problematisch wäre, wenn der Zugang ausschließlich von wenigen, kommerziellen Herstellern wie Google, Microsoft und Apple (Chrome, Edge, Safari) kontrolliert würde. Firefox hat heute laut StatCounter einen Marktanteil von knapp 9 % und ist damit einer der drei meistgenutzten Browser. Firefox ist für Linux, macOS und Windows verfügbar, außerdem gibt es Firefox Mobile für Android und iOS.

Zu den weiteren Programmen gehören ebenso: nginx, php, Asterisk, FreePBX