Entwurf und Implementierung eines Systems zur proaktiven Erkennung von Sicherheitsverfahren

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Implementierung eines Systems zur proaktiven Erkennung von Sicherheitsverfahren"

Transkript

1 Entwurf und Implementierung eines Systems zur proaktiven Erkennung von Sicherheitsverfahren Studienarbeit am Institut für Telematik Prof. Dr. Martina Zitterbart Fakultät für Informatik Universität Karlsruhe (TH) von cand. inform. Marcel Noe Betreuer: Prof. Dr. Martina Zitterbart Dipl.-Inform. Lars Völker Tag der Anmeldung: 1. März 2008 Tag der Abgabe: 30. Juni 2008 Institut für Telematik

2

3 Ich erkläre hiermit, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Karlsruhe, den 30. Juni 2008

4

5 Inhaltsverzeichnis 1 Einleitung Zielsetzung der Arbeit Gliederung der Arbeit Grundlagen SSL/TLS HTTPS Domain Name System Terminologie ACCS Analyse Anforderungen Einsatz von HTTPS Aufwand von HTTPS Organisatorischer Aufwand von HTTPS Technischer Aufwand von HTTPS Rechenaufwand von HTTPS Gefühlte Sicherheit Einschränkung von HTTPS auf Teile von Websites Link auf HTTP-Seite JavaScript HTTP-Redirect Webserver-Konfiguration Bewertung Problem der Erkennung der Ähnlichkeit von Websites Einfacher Stringvergleich Auswertung des Common-Names im Zertifikat Verwendung eines Mustererkennungs-Algorithmus Der Gestalt-Ansatz Der Ratcliff/Obershelp-Algorithmus Umsetzung in dieser Studienarbeit Zusammenfassung Entwurf Entwurf der Software-Komponenten Module Test-Module Content-Module

6 vi Inhaltsverzeichnis Mögliche Ergebnisse eines Tests Entwurf eines Moduls: Test auf Verfügbarkeit einer Website mittels HTTPS Vorgehensweise Entwurf Entwurf der Sicherheitsdatenbank Überblick Keywords Domains Ipaddresses Protocols Results Tests Füllen der Sicherheitsdatenbank Proaktiver Betrieb On-Demand-Betrieb ACCS-Mode Discovery-Mode Keywords eintragen Domains eintragen IP-Adressen eintragen Test-Resultate eintragen Zusammenfassung Implementierung Module Die Test-Modul-Schnittstelle Die Content-Modul-Schnittstelle Laufzeitoptimierung des Ratcliff/Obershelp Algorithmus Python-spezifische Probleme Global Interpreter Lock PyDNS PyOpenSSL Timeouts PHP: Probleme beim Verarbeiten von Integern Aufbau des Webinterfaces Zusammenfassung Evaluierung Bestimmung des Ähnlichkeits-Schwellenwerts Vorgehensweise Ergebnisse Bestimmung der Anzahl der notwendigen Vergleichsoperationen Vorgehensweise Ergebnisse Laufzeitverhalten des Ähnlichkeitstests Vorgehensweise Probleme Ergebnisse

7 Inhaltsverzeichnis vii 6.4 Laufzeitverhalten unter realistischen Bedingungen Vorgehensweise Probleme Ergebnisse Gesamtleistung Dauer des Ähnlichkeitstests Dauer der Netzwerkübertragung Verhältnis der Dauer des Ähnlichkeitstest zur Dauer der Netzwerkübertragung Zusammenfassung Zusammenfassung und Ausblick 61 Literatur 63

8

9 1. Einleitung In den letzten Jahren hat die Kommunikation über das Internet einen starken Zuwachs erhalten. Immer mehr werden auch personenbezogene und damit besonders schützenswerte Daten über das Internet übertragen. Zum Schutz derartiger Informationen wurden diverse Verschlüsselungverfahren entwickelt. Obwohl viele dieser Verfahren bereits in Standardsoftware wie -Clients und Webbrowsern integriert sind, ist der größte Teil des Informationsaustauschs über das Internet immer noch ungeschützt. Viele Anwender verzichten aus Unkenntnis oder Bequemlichkeit auf den Einsatz geschützer Kommunikation, wenn sie über IP-basierte Netze kommunizieren. Aber auch Diensteanbieter im Internet scheuen den Einsatz dieser Technologie. Die Ursachen hierfür sind oft Kostengründe: So benötigt z.b. das Beantworten einer Anfrage über eine TLS-geschützte Verbindung ein Vielfaches der Rechnerressourcen einer unverschlüsselten Anfrage mit dem gleichen Inhalt [CoDW06]. Aber auch die Pflege der notwendigen Public-Key-Infrastruktur stellt einen nicht zu unterschätzenden finanziellen und personellen Aufwand dar. Aus der ursprünglichen Fragestellung dieser Studienarbeit, wieviele der Dienste, die von den Nutzern ungeschützt benutzt werden, auch geschützt verfügbar sind, entwickelte sich die Fragestellung, ob es möglich ist, automatisch zu testen, welche Sicherheitsverfahren von einer Gegenstelle unterstützt werden. Sehr schnell stellte sich heraus, dass dies zwar für einige Protokolle wie z.b. SMT- PS sehr einfach möglich, für HTTPS jedoch mit sehr großen Schwierigkeiten verbunden ist. Da das World-Wide-Web mittlerweile einer der am weitesten verbreitetsten Dienste im Internet ist, wäre daher jedoch gerade der Test auf die Unterstützung von HTTPS einer der aufschlussreichsten Tests. Interessant ist die Tatsache, dass ein signifikanter Anteil der Webseiten durchaus verschlüsselt verfügbar ist, dem Benutzer dies jedoch oft nicht angeboten wird. So kommt es z.b. oft vor, dass die Eingabe eines Passwortes über eine geschützte Verbindung abgewickelt, der Nutzer danach allerdings direkt wieder auf eine ungeschützte Verbindung umgeleitet wird. Hierdurch wird die durch

10 2 1. Einleitung die Verschlüsselung gewonnene Sicherheit wieder gefährdet. Kapitel 3 wird sich dieser Problematik im Detail widmen. Wäre eine Software verfügbar, die diese Umleitungen verhindert, und wo möglich, ungesicherte Verbindungen auf gesicherte Verbindungen umschreibt, könnte das Sicherheitsniveau im Internet signifikant erhöht werden, ohne dass weitere Änderungen an der Software auf Server- oder Benutzerseite notwendig wären. Dieses Ziel verfolgt das parallel zu dieser Studienarbeit entwickelte ACCS-System. Eine genauere Beschreibung dieses System findet sich in Abschnitt 2.5. Damit dieses System sinnvoll eingesetzt werden kann, ist es notwendig, zu erkennen, welche Sicherheitsverfahren von der Gegenseite unterstützt werden. 1.1 Zielsetzung der Arbeit Ziel dieser Arbeit ist es, ein Verfahren zu entwickeln, mit dem es automatisch und proaktiv möglich ist, unterstützte Sicherheitsverfahren eines Rechners im Internet automatisch zu erkennen. Besonderes Augenmerk liegt hierbei auf der Erkennung von HTTPS, da es sich hierbei um den Hauptanwendungsfall der meisten Benutzer des Internets handelt. Eine wesentliche Herausforderung ist hier die Erkennung, ob es sich um die gleichen Inhalte handelt, da viele Webseiten mittlerweile dynamisch generiert werden und sich bei jedem Seitenaufruf verändern. Weiterhin soll das entwickelte Verfahren erweiterbar sein, so dass es ohne große Probleme möglich ist, den Test von weiteren Protokollen wie z.b. SMTPS zu implementieren. 1.2 Gliederung der Arbeit In Kapitel 2 werden einige Grundlagen vorgestellt und Definitionen eingeführt, die zum Verständnis dieser Studienarbeit vorausgesetzt werden. Kapitel 3 analysiert die Problemstellung, zu erkennen, ob eine Webseite per HTTPS verfügbar ist und ob über HTTPS die gleichen Inhalte angeboten werden, wie über HTTP. Es werden verschiedene Algorithmen auf ihre Eignung zum Vergleich von Webseiten untersucht, und der am besten geeignete Algorithmus für die in den folgenden Kapiteln entworfenen Lösungen ausgewählt. Der so ausgewählte Algorithmus dient als Grundlage für den in Kapitel 4 vorgestellten Entwurf. Dieses Kapitel befasst sich ausführlich mit der Datenhaltung der anfallenden Testdaten und entwirft ein relationales Datenbankschema, in dem die Testdaten später abgelegt werden sollen. Es werden verschiedene Verfahren vorgestellt, mit denen zu testende Rechner in die Sicherheitsdatenbank eingefügt werden können. Darauf hin wird ein modulares System entworfen, mit dem ohne großen Aufwand weitere Testverfahren hinzugefügt werden können, wodurch das System flexibel und erweiterbar bleibt. Auf Grundlage dieses Entwurfs wird in Kapitel 5 eine konkrete Implementierung des entworfenen Systems vorgestellt. Diese Implementierung besteht

11 1.2. Gliederung der Arbeit 3 aus zwei Teilen, einem in Python geschriebenen Framework zur Durchführung der Tests und Pflege der Testdatenbank, und einem in PHP geschriebenen Webfrontend, mit dem der Inhalt der Testdatenbank graphisch aufbereitet wird, und eine Reihe von vorgefertigten Statistiken betrachtet werden kann. In diesem Kapitel wird weiterhin auf programmiersprachenspezifische Probleme eingegangen, die während der Implementierung aufgetreten sind, und die Lösungen für diese Probleme beschrieben. Die Leistungsfähigkeit des Entwurfs und der Implementierung wird in Kapitel 6 anhand der während mehrerer Testläufe gewonnenen Testdaten gezeigt. Den Abschluss bildet Kapitel 7, in dem die wichtigsten Ergebnisse zusammengefasst werden und zukünftig mögliche Erweiterungen dargestellt werden.

12 4 1. Einleitung

13 2. Grundlagen In diesem Kapitel werden die für das weitere Verständnis der vorliegenden Studienarbeit vorausgesetzten Grundlagen erörtert. Außerdem wird die verwendete Terminologie eingeführt. 2.1 SSL/TLS Bei SSL (Secure Socket Layer) handelt es sich um ein Verfahren, bei dem zwischen Transport- und Anwendungsschicht eine Verschlüsselungsschicht eingeführt wird. Bis 1998 veröffentlichte Netscape die Versionen SSLv1, SSLv2 [Hick95] und SSLv3 [FrKK96, Secr08] wurde das Verfahren von der IETF (Internet Engineering Task Force) standardisiert und als RFC 2246 veröffentlicht [DiAl99]. Hierbei erfolgte die Umbenennung in TLS (Transport Layer Security). Mittlerweile existieren die TLS Versionen TLSv1.0 [DiAl99] und TLSv1.1 [DiRe06]. Es herrscht immer noch eine große Begriffsverwirrung zwischen TLS und SSL. Dies liegt zum einen daran, dass es sich technisch gesehen um das gleiche Protokoll in lediglich unterschiedlichen Versionen handelt. Zum anderen hat sich der Begriff SSL mittlerweile als eine Art Prädikat für Sicherheit durchgesetzt und wird daher von Herstellern und Providern aus Marketinggründen öfter verwendet als der Begriff TLS, selbst dann, wenn eigentlich TLS gemeint ist. Wird in dieser Studienarbeit eine Aussage getroffen, die sowohl auf SSL als auch auf TLS zutrifft, wird der Begriff SSL/TLS oder TLS/SSL verwendet. Wird hingegen nur der Begriff SSL oder TLS verwendet, dann ist auch nur diese spezielle Protokollversion gemeint. 2.2 HTTPS HTTPS (Hyper Text Transfer Protocol Secure) ist ein Verfahren zur Sicherung der Datenübertragung über HTTP.

14 6 2. Grundlagen Ursprünglich wurde HTTPS von der Firma Netscape entwickelt und 1994 zusammen mit dem SSLv1.0-Standard veröffentlicht. Von der IETF wurde HTT- PS später als RFC 2818 spezifiziert [Resc00]. In aktuellen Browsern wird HTTPS entweder mit SSLv3, TLSv1.0 oder TLSv1.1 eingesetzt. Versionen vor SSLv3 sollten aufgrund von Sicherheitsschwächen nicht mehr eingesetzt werden [MBLB + 02]. Bei HTTPS wird standardmäßig der TCP-Port 443 verwendet. Möchte ein Browser HTTPS verwenden, so muss er zuerst eine SSL/TLS-Verbindung mit einem Webserver aufbauen. Diese SSL/TLS-Verbindung wird nun als Tunnel für eine normale HTTP-Anfrage verwendet. HTTPS ist also technisch gesehen transparent für Browser und Webserver, es sind keinerlei Änderungen an der HTTP-Komponente notwendig 1 [Resc00]. Durch den Einsatz von SSL/TLS- Proxies wie stunnel ist es sogar möglich, HTTPS mit Web-Browsern und Web- Servern zu realisieren, die SSL/TLS nicht unterstützen [Hatc08]. 2.3 Domain Name System Beim Domain Name System (DNS) handelt es sich um einen weltweit verteilten Dienst zur Namensauflösung im Internet. Das System dient unter anderem dazu, menschenlesbare Rechnernamen in IP-Adressen aufzulösen. Zur Auflösung werden sogenannte Nameserver verwendet, also Server die den DNS Dienst anbieten. Das DNS arbeitet hierarchisch. An oberster Stelle stehen die sogenannten Top- Level-Domains. Hierbei handelt es sich entweder um Länderkennungen wie z.b..de,.uk oder.ch oder um generische Top-Level-Domains wie.org,.com,.net. An zweiter Stelle stehen die sogenannten Second-Level-Domains. Eine Zone bezeichnet einen Teilhirarchie innerhalb des DNS. Dies könnte z.b. eine Second-Level-Domain sein. Nameserver können innerhalb einer Zone kann die Zuständigkeit für eine Unterzone an andere Nameserver delegieren. Innerhalb einer Zone können mehrere Arten von Einträgen erzeugt werden. Am wichtigsten für die vorliegende Studienarbeit sind A-, AAAA- und MX- Records. Bei einem A-Record handelt es sich um eine IPv4 und bei einem AAAA- Record um eine IPv6 Adresse, die innerhalb eines Zonefiles an einen symbolischen Rechnernamen vergeben werden kann. Der symbolische Rechnername www innerhalb der Zone tm.uka.de hat z.b. den A-Record und den AAAA-Record 2001:638:204::42. Den vollständigen Rechnernamen mit Domain, im Beispiel also tm.uka.de bezeichnet man auch als Fully-Qualified- Host-Name (FQDN ). Mit Hilfe eines MX-Records können Mailserver benannt werden, die für die Zone zuständich sind. Die MX-Records für tm.uka.de sind beispielsweise iramx1.ira.unikarlsruhe.de und iramx2.ira.uni-karlsruhe.de, welche wiederrum Rechnernamen innerhalb der Zone ira.uka.de sind. 1 Natürlich behandeln Browser HTTPS nicht vollkommen transparent, da dem Benutzer durchaus signalisiert wird, dass eine sichere Verbindung aufgebaut wurde. Ausserdem hat der Benutzer oft die Möglichkeit, die Zertifikate der Gegenstelle zu betrachten.

15 2.4. Terminologie Terminologie Laut des Deutschen Universal-Wörterbuchs des Duden-Verlags [Dude07] handelt es sich bei einer Website um die Gesamtheit der hinter einer Adresse stehenden Seiten im World Wide Web. Der Begriff Website bezeichnet also ein zusammenhängendes Informationsangebot im World Wide Web. Eine Website besteht aus mehreren Webseiten. Eine Webseite ist ein einzelnes Dokument innerhalb einer Website. Die Adresse kann hierbei als die Schnittmenge aller URLs aller Unterseiten einer Website angesehen werden, in der Regel also um die Kombination aus dem Protokoll http oder https und einem Fully-Qualified-Domain-Name (FQDN) [BLFM05]. Wichtig ist, dass Adresse hier nicht synonym zu dem Begriff URL steht, da unter einer URL immer nur eine Datei, Seite oder Dienst angeboten wird. Zu bemerken ist hierbei, dass die Begriffe FQDN und Domain oft durcheinander geworfen werden. Insbesondere bei Hosting-Providern scheint hier einige Verwirrung zu herrschen. Rechnernamen innerhalb einer Domain und Subdomain werden oft verwechselt. Dies rührt daher, dass es im DNS (Domain- Name-System) möglich ist, innerhalb einer Domain für eine Subdomain sowohl eine Delegation als auch einen A-Record zu definieren. So ist beispielsweise innerhalb des Zonefiles der Zone.org der Eintrag wikipedia.org sowohl eine Delegation an die Nameserver von Wikipedia als auch selbst wieder ein A-Record innerhalb der Domain.org, der auf eine IPv4-Adresse auflöst. Daher gilt für diese Studienarbeit folgende Definition: Der vollständige Name eines Rechners inklusive Domain Name wird als FQDN und die Domain ohne Angabe eines Rechners als Domain bezeichnet. Ist also ein A-Record (IPv4) oder AAAA-Record (IPv6) innerhalb einer Domain gemeint, der auf eine IP-Adresse gemeint, wird von einem FQDN gesprochen. Ist hingegen die Delegation an einen Nameserver gemeint, wird von einer (Sub-)Domain gesprochen 2. Weiterhin ist zu beachten, dass bei der Voranstellung von ein anderer Namensraum verwendet wird als bei der Voranstellung von https://. Details siehe Abschnitt 3.6. Der Vollständigkeit halber sei hier noch auf den Sonderfall einer, auf mehrere FQDNs verteilten Website hingewiesen. Anscheinend wurde diese Vorgehensweise als eine Art der Suchmaschinenoptimierung propagiert 3 [Brad07, Bake08]. Die Schnittmenge wäre hier natürlich leer, die Website hätte nach 2 Streng genommen ist auch diese Definition nicht vollkommen korrekt, da Subdomains auch ohne Delegation realisiert werden können, bzw. auch die Subdomain wieder auf dem selben Nameserver liegen kann. Zur Vereinfachung soll hier jedoch von dem einfachen Fall, bei dem eine (Sub-)Domain an einen anderen Nameserver delegiert wird, ausgegangen werden. 3 Hierbei gibt es seit einiger Zeit einen neuen Wirtschaftszweig so genannter SEOs (Search Engine Optimizer), die versprechen, das Rating bei den großen Suchmaschinen wie Google und Yahoo zu verbessern. Ironischerweise wird mit solchen Maßnahmen oftmals eher der gegenteilige Effekt erreicht.

16 8 2. Grundlagen obider Definition also keine Adresse. In diesem Falle sei die Adresse einer solchen Website als die Kombination aus Protokoll und FQDN der Einstiegsseite definiert. Beispielsweise könnte sich der Betreiber des Wintersportportals winter.invalid dazu entschließen, für jede Region einen eigenen FQDN innerhalb der Domain winter.invalid anzulegen. Informationen zu den Alpen würden sich so unter Informationen zum Schwarzwald unter und Informationen zum Berner Oberland unter finden. In diesem Fall wäre die Adresse der Website da es sich hierbei um die Einstiegsseite des Portals handelt. In der vorliegenden Studienarbeit gilt die vereinfachende Annahme, dass unter einer Domain nur eine Website zu finden ist. 2.5 ACCS ACCS steht für Auto-Configuration of Communication Security. Es handelt sich hierbei um ein am Institut für Telematik der Universität Karlsruhe (TH) entwickeltes System zur Erhöhung der Sicherheit von IP-basierter Kommunikation. Hierzu klinkt sich das ACCS-System in das Betriebssystems ein und erkennt automatisch Versuche, eine unsichere Verbindung aufzubauen. Das System versucht nun, mit Hilfe verschiedener Tests festzustellen, ob die angesprochene Gegenstelle die Möglichkeit besitzt, die Kommunikation über eine geschützte Verbindung abzuwickeln. Hierzu unterstützt das ACCS System nicht nur TLS/SSL-basierte Verbindungen, sondern auch die Möglichkeit eine mittels IPsec [KeSe05] geschützte Verbindung aufzubauen und hierüber die angeforderte Kommunikation abzuwickeln. Die vorliegende Studienarbeit ist Teil des ACCS-Forschungsprojekts und soll prototypisch einige der Testverfahren entwickeln und testen, die später in diesem System zum Einsatz kommen werden.

17 3. Analyse In diesem Kapitel wird die Problemstellung, zu erkennen, ob eine Website auch per HTTPS verfügbar ist, analysiert. Es wird sich zeigen, dass es zwar relativ einfach ist, festzustellen, ob ein bestimmter Webserver HTTPS anbietet; allerdings ist es notwendig, die über HTTPS abgerufenen Inhalte mit der ursprünglichen Site zu vergleichen, um festzustellen, ob es sich um die gleiche Website handelt. Zum besseren Verständnis der Problemstellung werden zunächst Gründe untersucht, die Website-Betreiber dazu bewegen, HTTPS-Verbindungen nicht zuzulassen. Es folgt ein kurzer Abschnitt, in dem verschiedene Techniken vorgestellt werden, mit denen Website-Betreiber versuchen, HTTPS-Verbindungen zu verhindern. Im zweiten Teil dieses Kapitels wird ausführlich auf verschiedene Verfahren und Algorithmen eingegangen, mit denen Websites miteinander verglichen werden können. Die Algorithmen werden auf Vor- und Nachteile untersucht. Besonderes Augenmerk wird hierbei auf die Tauglichkeit zum Vergleich von sich dynamisch ändernden Websites gelegt. Einer der vorgestellten Algorithmen stellt sich als besonders geeignet heraus und wird in den folgenden Kapiteln in einer verbesserten Form zur Lösung der Aufgabenstellung verwendet. 3.1 Anforderungen Eines der Ziele dieser Studienarbeit ist es, ein Verfahren zu entwickeln, mit dem festgestellt werden kann, ob eine Website per HTTPS verfügbar ist. Die Anwendung dieses Verfahrens wird im folgenden Test genannt. Hierbei gilt in dieser Studienarbeit folgende Definition: Eine Website ist per HTTPS verfügbar, genau dann wenn: Eine HTTPS-Verbindung auf dem HTTPS-Standard-Port (443) 1 erfolgreich aufgebaut werden kann, und 1 Auch bei anderen Protokollen werden nur die Standard-Ports untersucht, wie sie unter [IANA08] aufgelistet werden.

18 10 3. Analyse über die HTTPS-Verbindung die gleiche Website angeboten wird wie über eine HTTP-Verbindung. Der zu entwickelnde Test soll genau dann ein positives Ergebnis zu einer Website liefern, wenn diese per HTTPS verfügbar ist, sonst ein negatives. Der erste Punkt obiger Definition ist relativ leicht zu überprüfen, indem man versucht, eine HTTPS-Verbindung mit den Webservern, auf denen die Ziel- Website gehostet wird, aufzubauen. Kommt diese Verbindung zustande, und wird ein X509-Zertifikat 2 zurückgeliefert, so ist die erste Forderung an den Test erfüllt. Die Umsetzung des zweiten Punkt erweist sich jedoch als ungleich schwieriger (vgl. Abschnitt 3.6). Das Problem ist, dass sich viele Websites aufgrund der Verwendung von dynamischen Inhalten bei jedem Abruf verändern. Bei einer statischen Website ist durch einfachen Stringvergleich der über HTTPS angeforderten mit der unverschlüsselt angeforderten Website noch relativ einfach möglich, herauszufinden, ob es sich um die gleiche Website handelt. Im Gegensatz hierzu verändern sich viele dynamische Websites jedoch mit jedem Abruf. Dies kann von simplen Änderungen wie der Anzeige des aktuellen Datums, bis zu einer vollständigen Änderung oder Umsortierung der Inhalte reichen. Ein typisches Beispiel hierfür ist die Website des Online-Buchhändlers Amazon. Hier werden bei jeder Anfrage sogar Teile des Layouts ausgetauscht, um verschiedene Produktempfehlungen zu präsentieren. Ein einfacher Stringvergleich würde in diesem Falle fälschlicherweise davon ausgehen, dass es sich um unterschiedliche Websites handelt. Der zu entwickelnde Test muss in der Lage sein, auch mit diesen sich ändernden Inhalten umgehen zu können, und auch solche Websites möglichst akkurat vergleichen können. Verschiedene Möglichkeiten, einen solchen Test zu implementieren werden in den Abschnitten 3.6ff vorgestellt. 3.2 Einsatz von HTTPS Wie bereits in der Einleitung angedeutet, unterstützen zwar viele Websites HTTPS, bieten dies jedoch dem User nicht direkt an. Ruft der User die HTTPS- Seite direkt auf, so wird er oft durch spezielle Techniken zur Unterbindung von HTTPS-Verbindungen (vgl. Abschnitt 3.5) wieder auf die unverschlüsselte HTTP-Seite umgelenkt. Verschlüsselte Verbindungen werden oft nur für wenige Unterseiten einer Website, wie z.b. zur Eingabe von Zahlungsdaten wie Kreditkartennummern oder zur Eingabe von Passwörtern verwendet. Hierbei soll dem Benutzer durch den Einsatz von HTTPS und die damit verbundene, besondere Darstellung im Browser (z.b. ein kleines Schloss in der URL-Leiste) das Gefühl von Sicherheit vermittelt werden. Insgesamt führt dies jedoch zu einem deutlich niedrigeren 2 X509 ist der standardmäßig eingesetzte SSL/TLS Zertifikatstyp [CSFB + 08].

19 3.2. Einsatz von HTTPS 11 Sicherheitsniveau, als wenn der gesamte Datenverkehr verschlüsselt ablaufen würde. Es sind viele Angriffe denkbar, die sich die nur teilweise vorhandene Verschlüsselung zunutze machen. Der einfachste Angriff ist das Mitschneiden des unverschlüsselten Datentransfers. Es ist zwar nicht möglich, an das Passwort des Benutzers zu gelangen, es kann allerdings nachvollzogen werden, welche Daten sich der Benutzer nach seinem Login anschaut. So kann es möglich sein, dass ein mitlauschender Angreifer in den Besitz von sensiblen Informationen gelangt, auf die er sonst keinen Zugriff hätte. Denkbar wäre hier z.b., dass der Angreifer nach einem Login des Nutzers zu einem Webmailer die s mitlesen kann, die der User sich gerade mit seinem Rechner betrachtet. Im Falle eines Online- Shops könnte der Angreifer nachvollziehen, für welche Produkte sich der User interessiert oder welche er kauft. Handelt es sich hier beispielsweise um eine Online-Apotheke, kann dies für den User eine erhebliche Beeinträchtigung seiner Privatsphäre bedeuten, da aus gekauften Medikamenten Rückschlüsse auf vorhandene Krankheiten gezogen werden könnte. Unter Umständen kann es dem Angreifer sogar gelingen, die Identität des Benutzers zumindest zeitweise zu übernehmen. Da das HTTP-Protokoll zustandslos ist, müssen mit jeder Anfrage vom Benutzer genügend Informationen mitgesendet werden, um diesen zu identifizieren. Die einfachste Methode ist, jedes mal den Benutzernamen und das Passwort mit der Anfrage zu übermitteln 3 [FHBHL + 99]. Viele Anbieter versuchen jedoch, zumindest das Passwort des Benutzers zu schützen, und beschreiten einen anderen Weg: Alle Daten einer Sitzung werden auf dem Webserver in einer so genannten Session gespeichert. Der Benutzer bekommt nun eine so genannte Session-Id übergeben, die ihn für die Benutzung dieser Session legitimiert. Die Session-Id kann als eine Art Token gesehen werden, den der Benutzer mit jeder Anfrage mitschickt. Die eigentlichen Authentifizierungsdaten bleiben so auf dem Webserver und sind vor einem mithörenden Angreifer geschützt. Allerdings handelt es sich hier nur um eine Problemverschiebung: Ist der Benutzer einmal authentifiziert, ist die Session-Id äquivalent zu einem Passwort. Gelingt es dem Angreifer, diese Session-Id zu extrahieren, kann er zumindest für die Dauer einer Sitzung die Identität des Benutzers annehmen. Das Passwort des Benutzers bleibt so zwar geschützt, nicht jedoch die vertraulichen Daten, für die er sich durch die Verwendung seines Passwortes legitimiert hat. Auch eine zusätzliche Überprüfung der IP-Adresse kann hier nur wenig Schutz bieten, da ein Angreifer, der in der Lage ist, Pakete zwischen Sender und Empfänger abzufangen, die Überprüfung der IP-Adresse durch IP-Spoofing, also dem Vortäuschen einer falschen Absenderadresse, umgehen kann. Ist der Angreifer neben dem reinen Mitlesen dazu noch in der Lage, den Datentransfer zwischen Webserver und Benutzer zu manipulieren, dann ist es ihm sogar möglich, in den Besitz des Passwortes des Benutzers zu gelangen. Hierzu muss er lediglich den Hyperlink, der den Benutzer zur Passworteingabe ( Login ) führt, umlenken, so dass dieser auf eine vom Angreifer kontrollierte 3 Auf diese Weise funktioniert z.b. die in RFC-2617 spezifizierte Basic Authentifizierung.

20 12 3. Analyse Website führt. Dort kann der Angreifer das Passwort des Benutzers abfangen und diesen danach zur richtigen Website zurücklenken. Da der Link zur Passworteingabe meistens nicht per HTTPS geschützt wird, bleibt eine solche Manipulation in den meisten Fällen unbemerkt. Beispiele für solche Angriffe finden sich in [devi06], [Lawr05] und [Mill05]. Insgesamt muss also festgestellt werden, dass ein wirkungsvoller Schutz i.a. nicht gegeben ist, wenn lediglich ein Teil einer Website mittels HTTPS geschützt wird. Daraus ergibt sich direkt die Frage, warum die meisten Website-Anbieter immer noch auf den Einsatz von HTTPS verzichten bzw. diesen nur für einen geringen Teil ihrer Inhalte anbieten. Die Ursachen hierfür werden im folgenden Abschnitt genauer diskutiert. 3.3 Aufwand von HTTPS Das Betreiben einer Website, die über eine HTTPS-geschützte Verbindung abgerufen werden kann, bedeutet für den Anbieter einen deutlich gesteigerten Aufwand und höhere Kosten. Dieser Aufwand kann in drei Kategorien eingeteilt werden: Organisatorischer Aufwand Technischer Aufwand Rechnerischer Aufwand Diese Kategorien werden im folgenden genauer untersucht Organisatorischer Aufwand von HTTPS Möchte eine Website HTTPS einsetzen, so wird zunächst wird ein Zertifikat benötigt. Dies kann entweder von einer externen Zertifizierungsstelle (CA) oder im Falle von größeren Organisationen, die ihre eigene Public-Key-Infrastruktur (PKI) betreiben, von einer internen Zertifizierungsstelle ausgestellt werden. Ist die ausstellende Zertifizierungsstelle eines Zertifikats dem Browser nicht bekannt, wird eine Fehlermeldung angezeigt. Da die meisten Betreiber diese Fehlermeldung vermeiden möchten, müssen sie ihre Zertifikate von einer bekannten Zertifizierungsstelle, deren Zertifikat in den meisten Browsern vorinstalliert ist, unterschreiben lassen. Zertifikate solcher bekannten Zertifizierungsstellen sind mitunter recht teuer. Die Alternative des Nachinstallierens eines Stammzertifikats überfordert jedoch die meisten Benutzer einer Website. Damit ihm ein Zertifikat ausgestellt wird, muss der Antragsteller seine Identität nachweisen. Im Falle einer juristischen Person, wie beispielsweise einem Verein oder einer Kapitalgesellschaft, muss dies von einem gesetzlichen Vertreter also z.b. dem Vorstand eines Vereins oder einem Geschäftsführer einer GmbH vorgenommen werden. Dies stellt meist schon die erste organisatorische Hürde

21 3.3. Aufwand von HTTPS 13 dar: Oft handelt es sich hier um nicht technisch versierte Personen, denen entweder schwer zu vermitteln ist, wofür ein Zertifikat benötigt wird, oder die mit der Prozedur des Nachweises der Identität überfordert sind. Hier kann es hilfreich sein, wenn man alle nötigen Formulare für diese Personen bereits soweit vorbereitet, dass sie diese nur noch unterschreiben müssen. Darüber hinaus sind die Zertifikate nur eine begrenzte Zeit gültig, so dass meist nach spätestens 3 Jahren ein neues Zertifikat angefordert und bezahlt werden muss. Wichtig ist hierbei, dass man rechtzeitig daran denkt, das neue Zertifikat zu beantragen, bevor das alte ausläuft. Dass dies nicht immer reibungslos funktioniert, sieht man an der hohen Zahl von Websites, die abgelaufene Zertifikate verwenden[veri] Technischer Aufwand von HTTPS Wurde das Zertifikat erfolgreich beantragt, müssen die Webserver, die die Website anbieten, für HTTPS konfiguriert und das Zertifikat auf diesen installiert werden. Hier stellt sich das nächste Problem: Viele Webserver bieten mit der selben IP-Adressen viele verschiedene Websites an, wobei die Websites anhand ihrer Namen unterschieden werden (Name Based Virtual Hosting). Mit aktueller Browser- und Webserversoftware jedoch pro IP-Adresse nur eine Website mit HTTPS verwendet werden 4. Dies ist eine direkte Folge aus der HTTPS- Spezifikation, die fordert, dass die Verbindung bereits beim Übertragen des Host-Headers verschlüsselt sein muss. Das heißt der gesamte TLS-Handshake inklusive Zertifikatsaustausch muss bereits stattgefunden haben, bevor der Browser dem Webserver mitteilt, welche Site er überhaupt sehen möchte Die Übertragung des Names der Website findet allerdings erst danach statt. Daher ist es nicht möglich, HTTPS in Kombination mit Name Based Virtual Hosting zu betreiben. 5 Für jede per HTTPS-abrufbare Website auf einem Webserver muss also eine eigene IP-Adresse verwendet werden [Foun]. Dies bedeutet neben zusätzlichem Administrationsaufwand evtl. auch weitere Kosten, falls der Provider, bei dem der Webserver gehostet wird, für zusätzliche IP-Adressen Geld verlangt. Außerdem unterstützten viele Hardware-Loadbalancer kein HTTPS. Da viele Websites Sessions verwenden, bei denen Daten eines Benutzers auf dem Server gespeichert werden, ist es notwendig, dass alle Anfragen eines bestimmten Benutzers von dem Webserver beantwortet werden, auf dem seine Session vorgehalten wird. Hierzu inspizieren viele Loadbalancer den Inhalt einer Anfrage, und speichern (ähnlich zu einer Stateful Firewall) in einer Zustandstabelle, welcher Benutzer auf welchen Webserver weitergeleitet wird. Bei der Verwendung von HTTPS ist dies nur dann möglich, wenn der Loadbalancer in der Lage ist, die Anfrage zu entschlüsseln, da er diese sonst nicht inspizieren kann. Hierzu ist teure Spezial-Hardware notwendig [Visw01]. 4 Abhilfe verspricht hier RFC-3546 Server Name Indication, das bereits von einigen Herstellern wie Mozilla implementiert wurde. 5 Mithilfe von SubjAlt-Name Einträgen ist es möglich, innerhalb eines Zertifikates mehrere unterschiedliche FQDN aufzuführen, womit ein Name-Based-Virtual-Hosting möglich wäre. Allerdings unterstützte zum Zeitpunkt dieser Studienarbeit keine bekannte CA diese Vorgehensweise

22 14 3. Analyse Rechenaufwand von HTTPS SSL/TLS und damit HTTPS verwendet zur Verschlüsselung sowohl symmetrische als auch asymmetrische Kryptographie. Dies führt zu einem deutlich erhöhten Aufwand an Rechenleistung im Vergleich zu einer unverschlüsselten Übertragung. Laut [He02] beträgt der CPU-Overhead von HTTPS im Vergleich zu unverschlüsseltem HTTP ca. 33% auf Server-Seite. Realistischer erscheinen jedoch die Ergebnisse von [CoDW06]. Dieser Artikel spricht von einem Overhead von Faktor 3,4 bis 9 von HTTPS im Vergleich zu ungeschütztem HTTP. Zur Beschleunigung von HTTPS können SSL/TLS-Beschleuniger einsetzt werden. Hierbei handelt es sich meist um PCI-Karten, auf denen sich spezielle Prozessoren befinden, die je nach Typ entweder nur den SSL/TLS-Handshake oder sogar den ganzen SSL/TLS-Vorgang abwickeln. Laut [CoDW06] bringt das Hinzufügen eines solchen Beschleunigers etwa eine Verdoppelung des Durchsatzes an HTTPS-Verbindungen. Darüber hinaus werden auch so genannte SSL/TLS-Offloader angeboten. Hierbei handelt es sich um Hardware-Appliances, welche den gesamten SSL/TLS- Vorgang abwickeln. Diese Appliances werden über ein Ethernet mit dem Webserver verbunden. Der gesamte Datenverkehr zwischen Appliance und Webserver läuft unverschlüsselt, der Verkehr zwischen Appliance und Browser des Benutzers verschlüsselt. Alle Ver- und Entschlüsselungen werden hierbei von der Appliance durchgeführt. Zu beachten ist, dass das Netzwerk zwischen Webserver und Appliance hierbei besonders geschützt werden muss, da ein Angreifer sonst an dieser Stelle alle Daten unverschlüsselt abgreifen könnte [Shin04]. Insgesamt muss der Server-Betreiber für eine SSL/TLS-geschützte Übertragung also mehr Hardware-Ressourcen vorhalten als für eine unverschlüsselte Übertragung. Ins Gewicht fallen hier nicht nur die höheren Kosten für Hardware, sondern auch höhere Energiekosten, erhöhter Platzbedarf und höhere Kosten für die Klimatisierung von Serverräumen. 3.4 Gefühlte Sicherheit In Diskussionen wird als Argument für HTTPS angeführt, kein Anbieter von kommerziellen Websites könne sich erlauben, die Daten seiner Benutzer nicht angemessen zu schützen, da viele Benutzer den Dienst sonst mieden. Da jedoch die meisten erfolgreichen kommerziellen Websites HTTPS lediglich für einen Teil ihrer Unterseiten einsetzen, muss die Gültigkeit dieses Argumentes bezweifelt werden. Es bleibt die Frage, wieso die meisten Benutzer dennoch bereit sind, ihre vertraulichen Daten solchen Websites anzuvertrauen. Zunächst einmal ist festzustellen, dass die wenigsten Anwender technisch versiert genug sind, um wirklich zu beurteilen, welche Teile der Übertragung schützenswert sind und welche nicht. Dazu kommt, dass von Seiten der Website-Anbieter eine Fehlinformation der Benutzer stattgefunden hat, indem behauptet wurde, dass die Nutzerdaten si-

23 3.5. Einschränkung von HTTPS auf Teile von Websites 15 cher sind, so lange während der Eingabe ihres Passwortes und ihrer Zahlungsdaten (wie beispielsweise Kreditkartennummern oder Bankverbindungen) ein Schloss in der URL-Leiste des Browsers angezeigt wird [Bank08] [devi06]. Da in der Vergangenheit die meisten Internetzugänge über Punkt-zu-Punkt- Verbindungen wie Modem, ISDN oder DSL realisiert wurden, bestand für die meisten Benutzer tatsächlich nur ein relativ geringes Risiko, dass ihre Daten während der Übertragung ausgespäht wurden. Dementsprechend selten waren die Fälle, in denen es wirklich zu Schäden durch ausgespähte Daten kam. Dies bewegte die Anwender dazu, den Behauptungen der Websites-Anbieter Glauben zu schenken. Hierdurch hat sich bei den Benutzern ein Gefühl der Sicherheit etabliert, das nicht viel mit der tatsächlichen Sicherheit ihrer Übertragung zu tun hat. Im wesentlichen hat sich die Überzeugung durchgesetzt, dass man als Anwender sicher ist, solange an einer bestimmten Stelle der Übertragung das Schloßsymbol in der URL-Leiste angezeigt wird. Dies soll im weiteren Text als Gefühlte Sicherheit bezeichnet werden. 3.5 Einschränkung von HTTPS auf Teile von Websites In diesem Abschnitt werden gängige Techniken vorgestellt, mit denen Betreiber von Websites versuchen, den Einsatz von HTTPS auf einen Teilbereich ihrer Website einzuschränken Link auf HTTP-Seite Eine häufig verwendete Methode ist die absolute Verlinkung auf die HTTP- Adresse einer Seite. Hierbei kann eine Seite zwar per HTTPS abgerufen werden, alle internen Links zeigen jedoch wieder auf unverschlüsselte Seiten, so dass der Besucher selbst beim händischen Abruf über HTTPS spätestens nach dem ersten Klick auf einen Link wieder auf einer unverschlüsselten Seite landet. Diese Technik lässt sich recht einfach durch eine aktive Softwarekomponente wie beispielsweise ein Proxy-Server oder Browser-Plugin aushebeln, die die Links wieder auf HTTPS umschreibt. Ähnliche Methoden werden bereits seit geraumer Zeit von Popup-Blockern in Browsern verwendet, es ist daher zu erwarten, dass eine solche Technik relativ einfach implementiert werden kann JavaScript Bei dieser Methode wird in jede Seite wird JavaScript-Code eingebunden, das überprüft, ob der Seitenabruf über HTTPS erfolgt. Ist dies der Fall, erfolgt eine Weiterleitung auf die ungeschützte HTTP-Verbindung. Die einfachste Methode, diese Technik zu umgehen, ist das Abschalten der Javascript-Unterstützung im verwendeten Browser. Jedoch lassen sich dann 6 Eine parallele Studienarbeit am Institut für Telematik der Universität Karlsruhe beschäftigt sich bereits mit der Entwicklung eines entsprechenden Browser-Plugins.

24 16 3. Analyse viele Webseiten gar nicht oder nur noch teilweise anzeigen. Insbesondere durch die zunehmende Verbreitung von Webseiten auf AJAX 7 -Basis wird diese Methode immer unpraktikabler. Eine bessere Methode ist der Einsatz einer aktiven Komponente, wie bereits in Abschnitt vorgeschlagen wurde HTTP-Redirect Mittels eines Skripts wird auf der Serverseite überprüft, ob der Abruf über HTTP oder HTTPS erfolgt. Handelt es sich um einen Abruf über HTTP, wird die gewünschte Webseite angezeigt. Andernfalls wird der Browser mittels eines HTTP-Redirects auf die unverschlüsselte Seite umgeleitet [Foru]. Da ein solches Skript die Inhalte gar nicht an den Browser ausliefert, wenn der Zugriff über HTTPS erfolgt, ist es auch nicht möglich, diese Methode zu umgehen Webserver-Konfiguration Der Webserver ist so konfiguriert, dass nur bestimmte Teile einer Website über HTTPS zugänglich sind. Für alle andere Teile kann eine Umleitung mittels HTTP-Redirect auf eine unverschlüsselte HTTP-Seite erfolgen. Da der Webserver hier die Inhalte gar nicht über HTTPS anbietet, gibt es auch keine Möglichkeit, diese Methode zu umgehen Bewertung Auch wenn mit dem in den Abschnitten und beschriebenen Techniken der Einsatz von HTTPS effektiv verhindert werden kann, zeigt die Praxis, dass viele prominente Websites bevorzugt auf die die den Abschnitten und beschriebenen Techniken zurückgreifen oder sogar ganz auf den Einsatz dieser Techniken verzichten. HTTPS kann also durchaus verfügbar sein, obwohl es nicht aktiv angeboten wird. Daher ist die, in der vorliegenden Studienarbeit vorgeschlagene, automatische Erkennung der HTTPS-Unterstützung durchaus erfolgversprechend, und in Kombination mit dem aktiven Eingreifen durch das ACCS-System ist eine deutliche Verbesserung der Übertragungssicherheit zu erwarten. 3.6 Problem der Erkennung der Ähnlichkeit von Websites Unter https://fqdn findet sich oft eine andere Website als unter Der Hauptgrund hierfür ist das oben schon angesprochene Problem mit HTTPS und Name-Based-Virtual-Hosting. Oft teilen sich viele Websites die selbe IP- Adresse, wobei jedoch nur für eine Website HTTPS konfiguriert werden kann. 7 Bei AJAX(Asynchronous JavaScript and XML) handelt es sich um ein Konzept zur asynchronen Datenübertragung zwischen Browser und Webserver auf Basis von Javascript und XML.

25 3.6. Problem der Erkennung der Ähnlichkeit von Websites 17 Gegeben sei beispielsweise ein Webserver mit der IP-Adresse IP-1, und den Websites A, B und C. Für die Website A sei HTTPS konfiguriert, für B und C nicht. Unter erreicht man nun korrekterweise die Website B. Unter HTTPS://FQDN-B erreicht man hingegen Website A, obwohl man Website B erwarten würde. Soll nun festgestellt werden, ob eine bestimmte Website per HTTPS verfügbar ist, wäre der triviale Ansatz, sich zu dem für HTTPS vorgesehenen Port (in der Regel ist dies der TCP-Port 443) zu verbinden, und zu schauen, ob sich hier eine Webseite abrufen lässt. Wie bereits erwähnt, handelt es sich hier jedoch nicht immer um die gleiche Website, die man durch den Abruf über HTTP erhalten würde. Es ist also notwendig, zu überprüfen, ob bei beiden Anfragen die selbe Website zurückgeliefert wurde. Hierzu gibt es eine Reihe von Algorithmen, die im folgenden vorgestellt und verglichen werden. Der Algorithmus wird als eine Funktion f(string1, string2) implementiert, die einen Gleitkommawert zwischen 0 und 1 zurückliefert. Dieser Wert ist die so genannte Ähnlichkeit. Die Ähnlichkeit hat den Wert 1, wenn string1 mit string2 identisch ist Einfacher Stringvergleich Eine einfache Methode zur Bestimmung der Gleichheit zweier Websites wäre ein Stringvergleich der einzelnen HTML-Seiten der Websites. Der Stringvergleich kann so durchgeführt werden, dass er einen Gleitkommawert mit der Anzahl der Zeichen bis zum ersten unterschiedlichen Zeichen (Präfix-Gleichheit) zurückliefert. Teilt man diesen Wert durch die Gesamtzahl der Buchstaben, erhält man einen Prozentwert, der die Ähnlichkeit der beiden Seiten repräsentiert. Problematisch ist jedoch, dass mittlerweile viele Webseiten zur Abrufzeit dynamisch von Skripten generiert werden. Hierbei unterscheiden sich die Seiten von Abruf zu Abruf teils erheblich, weil sich z.b. die angezeigte Werbung oder Produktvorschläge bei jedem Aufruf ändern oder an einer anderen Stelle in der Seite angezeigt werden. Benutzt man diesen Stringvergleich, um mehrere Versionen einer solchen Seite zu vergleichen, indem man sie zweimal hintereinander abruft, würde dieser nur eine geringe Übereinstimmung zurückliefern, was offensichtlich ein falsches Ergebnis ist. Der Stringvergleich ist also nur für einfache, statisch generierten Seiten geeignet und kommt daher als Lösung für diese Studienarbeit nicht in Frage Auswertung des Common-Names im Zertifikat Prinzipiell wäre es möglich, den Common-Name und die SubjectAlt-Names der Zertifikate die für HTTPS verwendet werden, zu betrachten. Stimmen diese mit dem Namen der angeforderten Website überein, so ist dies ein starkes Indiz dafür, dass es sich um die gleiche Site handelt. Der Vorteil dieser Lösung ist, dass sie sich ohne großen Aufwand umsetzen lässt.

26 18 3. Analyse Problematisch ist jedoch, dass lediglich die Konfiguration des Webservers, nicht jedoch die Inhalte der dahinter liegenden Seiten verglichen werden. So wäre es denkbar, dass der Webserver zwar für HTTPS konfiguriert ist, über HTTPS jedoch nur eine Fehlermeldung ausgeliefert wird, und der erwartete Inhalt gar nicht verfügbar ist. Diese Methode eignet sich daher höchstens als Schnelltest, eine Überprüfung des Inhaltes ist unerlässlich Verwendung eines Mustererkennungs-Algorithmus Eine fortgeschrittene Methode ist die Verwendung eines Mustererkennungs- Algorithmus. Ein solcher Algorithmus erkennt nicht nur Übereinstimmungen des ersten Präfixes, wie es bei einem Stringvergleich der Fall ist, sondern ist auch in der Lage, Muster innerhalb eines Strings zu erkennen. Der Vorteil dieser Methode im Gegensatz zum einfachen Stringvergleich ist, dass ein solcher Algorithmus auch bei geringfügigen Unterschieden zweier verglichener Seiten einen recht hohen Ähnlichkeitswert zurückliefert. Der Nachteil ist vor allem der recht hohe Aufwand. Der im folgende vorgestellte Algorithmus von Ratcliff/Obershelp hat einen Worst-Case-Aufwand von O(n 3 ), die optimierte Variante immerhin noch von O(n 2 ), wobei n die Länge der Eingabe bezeichnet Der Gestalt-Ansatz In [RaMe88] stellen die Autoren einen Ansatz zur Mustererkennung vor, den sie The Gestalt Approach nennen. Das aus dem Deutschen ins Englische übernommene Fremdwort gestalt bedeutet im Englischen soviel wie äußere Erscheinungsform einer Entität, die über die Summe ihrer Einzelteile hinaus geht. Ziel des Ansatzes ist es, eine intuitive, an die Vorgehensweise des menschlichen Gehirns angelehnte Methode der Mustererkennung zu entwickeln. Die Autoren beschreiben, dass Menschen in der Lage sind, die Ähnlichkeit zweier Entitäten aufgrund von Eigenschaften zu erkennen, die diese gar nicht besitzen. Als Beispiel wird ein Verbinde-die-Punkte Rätsel genannt, bei dem Punkte in der richtigen Reihenfolge verbunden werden müssen, um ein Bild zu erhalten. Manche Personen sind in der Lage, bereits das Bild oder Teile desselbigen zu erkennen, obwohl die Punkte noch nicht (vollständig) verbunden wurden. Ein weiteres Beispiel wäre der unterbewußte Vergleich einer neu kennengelernten Person mit einer, die man bereits kennt ( Person A erinnert mich an Person B ). Die algorithmische Umsetzung dieser Vorgehensweise wird im Artikel Ratcliff/Obershelp-Mustererkennungs-Algorithmus genannt. Dieser Algorithmus nimmt zwei eindimensionale Objekte als Eingabe und gibt den Prozentwert der Ähnlichkeit der beiden Objekte zueinander aus. Da Strings eindimensionale Objekte sind, eignet sich dieser Algorithmus insbesondere zum Stringvergleich. In dem Artikel werden mehrere Beispielanwendungen für den Algorithmus genannt. Die erste Anwendung ist ein Compiler, der in der Lage ist, Programme trotz Tippfehlern korrekt zu übersetzen. Hierzu wird aus den Namen aller

27 3.6. Problem der Erkennung der Ähnlichkeit von Websites 19 im Namensraum der Stelle des Fehlers befindlichen Entitäten wie Variablen, Funktionen und Schlüsselwörter ein Wörterbuch erstellt. Das fehlerhafte Wort wird nun mit Hilfe des Ratcliff/Obershelp-Algorithmus mit allen Wörtern des Wörterbuchs verglichen und durch den besten Treffer ersetzt. Dem Benutzer wird nun eine Warnung ausgegeben. Als weiteres Beispiel wird Lernsoftware genannt. Bei damaliger Software wird von den Autoren kritisiert, dass diese sich auf Multiple-Choice beschränke, da es keine zuverlässige Methode gebe, die Richtigkeit einer vom Benutzer als Freitext eingegebenen Antwort zu erkennen denn bereits ein einziger Tippfehler führte zur Bewertung als Fehler. Mit dem Ratcliff/Obershelp-Algorithmus sei es möglich, die eingegebene Lösung mit einem Katalog von richtigen Lösungen zu vergleichen und ab einem bestimmten Schwellenwert der Ählichkeit das Ergebnis als richtig zu werten. Darüber hinaus denkbar wäre die Anwendung in der Rechtschreibprüfung von Textverarbeitungssystemen oder zur Suche von Namen in Datenbanken, wenn die Schreibweise nicht eindeutig ist (z.b. Mayer, Maier, Meyer) Der Ratcliff/Obershelp-Algorithmus Der Algorithmus von Ratcliff/Obershelp wird in [RaMe88] lediglich als Assembler Quelltext vorgestellt. Zum leichteren Verständnis erfolgte für die vorliegende Studienarbeit eine Übersetzung in Java-Code. Ein Programm, dass den Algorithmus einbinden möchte, ruft die Funktion simil() auf und übergibt ihr die beiden zu Vergleichenden Strings. simil() verpackt beide Strings in ein Array und legt dieses Array auf einen neu erzeugten Stack. Nun wird die Funktion calculatesimilarity aufgerufen und ihr wird der Stack als Parameter übergeben. Innerhalb der Funktion calculatesimilarity wird nun eine While-Schleife aufgerufen. Die Bedingung der While-Schleife ist so lange Wahr, so lange Elemente vom Stack geholt werden können. In jedem Schleifenaufruf wird ein solches Element vom Stack geholt. Zu beachten ist jedoch, dass innerhalb der Schleife auch wieder neue Objekte auf den Stack gelegt werden können. Jedes Element auf dem Stack ist ein Array, in dem zwei Strings gespeichert werden. Als erste Operation in der While-Schleife werden diese Strings in den Variablen a und b gepeichert. Nun wird der größte gemeinsame Substring von a und b bestimmt und in der Variable match gespeichert. Zur Variablen match, die initial den Wert 0 hat, wird nun die Länge von match addiert. Als nächster Schritt werden die beiden Substrings von a und b bestimmt, die Links von match liegen. Diese Substrings werden wieder in einem Array mit dem Namen left gespeichert. Auf die selbe Weise werden die beiden Substrings von a und b, die sich Rechts von match befinden, bestimmt und in der Variable right gespeichert. Es folgt eine Überprüfung, ob es rechte oder linke Substrings gibt. Falls dies der Fall ist, wird die entsprechende Variable (also left oder right) auf den Stack gelegt.

28 20 3. Analyse Sobald die While-Schleife verlassen wird, wird der Wert score zurückgegeben und das Programm kehrt zur Funktion simil() zurück. Zu Letzt wird der von calculatesimilarity() errechnete Wert verdoppelt (da es zwei Eingabestrings gab) und durch die Gesamtlänge der beiden Strings geteilt. 1 float c a l c u l a t e S i m i l a r i t y ( stack ){ 2 Array elements ; // Auf dem Stack wird j e w e i l s 3 // ein Array aus zwei zu v e r g l e i c h e n d e n 4 // S t r i n g s g e s p e i c h e r t. 5 6 S t r i n g a ; // Der e r s t e S t r i n g 7 S t r i n g b ; // Der z w e i t e S t r i n g 8 S t r i n g match ; // Die l a e n g s t e Uebereinstimmung der 9 // beiden S t r i n g s 10 float s c o r e = 0 ; // Der a k t u e l l e Score while ( elements = stack. pop ( ) ) { // Ein Array vom Stack holen // Array a u f t e i l e n 15 a = elements [ 0 ] ; 16 b = elements [ 1 ] ; // Bestimmen des l a e n g s t e n s Matchs 19 // der beiden S t r i n g s ; 20 match = getlongestmatch ( a, b ) ; // Score um d i e Laenge des 23 // Matches erhoehen 24 s c o r e += match. length ; // Die S u b s t r i n g s von a und b, d i e 27 // r e c h t s von dem l a e n g s t e n Match l i e g e n 28 // bestimmen. 29 l e f t = g e t L e f t S u b s t r i n g ( a, b, match ) ; // Die S u b s t r i n g s von a und b, 32 // d i e l i n k s von dem l a e n g s t e n Match l i e g e n 33 // bestimmen 34 r i g h t = getrightsubstring ( a, b, match ) ; // Wir schauen, ob es ueberhaupt 37 // l i n k e S u b s t r i n g s g i b t. Das i s t nur 38 // dann der Fall, wenn b e i d e S t r i n g s 39 // mindestens ein Zeichen haben. 40 // Wenn ja, dann l e g e n wir b e i d e 41 // a l s Array auf den Stack. 42 i f ( l e f t ) 43 stack. push ( l e f t ) ;

29 3.6. Problem der Erkennung der Ähnlichkeit von Websites // Das s e l b e machen wir nun f u e r d i e 46 // rechten S u b s t r i n g s. 47 i f ( r i g h t ) 48 stack. push ( r i g h t ) ; 49 } // Summe zurueckgeben 52 return s c o r e ; 53 } float s i m i l ( S t r i n g inputa, S t r i n g inputb ){ // Laenge b e i d e r S t r i n g s bestimmen 58 float length = ( float ) ( inputa. length + inputb. length ) ; // Stack, auf dem wir d i e zu v e r g l e i c h e n d e n 61 // S u b s t r i n g s a b l e g e n 62 Stack stack = new Stack ; // I n i t i a l l e g e n wir d i e E i n g a b e s t r i n g s 65 // auf den Stack. 66 stack. push (new Array ( inputa, inputb ) ) ; // Nun berechnen wir d i e Anzahl der 69 // uebereinstimmenden Zeichen 70 float s i m i l a r i t y = c a l c u l a t e S i m i l a r i t y ( stack ) ; // Der A e h n l i c h k e i t s w e r t i s t zweimal d i e 73 // Anzahl der uebereinstimmende Zeichen 74 // g e t e i l t durch d i e Summe der Laenge 75 // der beiden S t r i n g s. 76 return 2 s i m i l a r i t y / length ; 77 } Umsetzung in dieser Studienarbeit In dieser Studienarbeit wird eine modifizierte Version des Ratcliff/Obershelp Algorithmuses gewählt, der die Worst-Case-Laufzeit O(n 2 ) und eine Best-Case- Laufzeit von O(n) besitzt. Der ursprüngliche Algorithmus hat eine Worst-Case- Laufzeit von O(n 3 ) und eine Best-Case-Laufzeit von O(n 2 ). Hierbei bezeichnet n die Anzahl der angegebenen Zeichen. Die Bestimmung der Ähnlichkeit zweier Webseiten A und B geschieht in mehreren Schritten: 1. Abrufen von 3 Versionen von Webseite A, Speicherung in A 1 bis A Abrufen von 3 Versionen von Webseite B, Speicherung in B 1 bis B 3.

30 22 3. Analyse 3. Bestimmen der durchschnittlichen Ähnlichkeit der Versionen von A zueinander: standarddiff(a) = s(a 1, A 2 ) + s(a 2, A 3 ) + s(a 1, A 3 ) 3 (3.1) 4. Bestimmen der durchschnittlichen Ähnlichkeit der Versionen von A zu den Versionen von B: sdiff(a, B) = 3i=1 3j=1 (A i, B j ) 9 (3.2) 5. Bestimmen der normierten, prozentualen Ähnlichkeit der Webseite A zur Webseite B: sdiff(a, B) 100 diff(a, B) = (3.3) standarddiff(a) Ab einem gewissen Schwellenwert 8 von diff(a, B) werden zwei verglichene Websites A und B als identisch bezeichnet. 3.7 Zusammenfassung Es wurden verschiedene Algorithmen analysiert, mit denen einzelne Webseiten auf Ähnlichkeit untersucht werden können. Während sich herausstellte, dass ein einfacher Stringvergleich für die Lösung dieses Problems ungeeignet ist, erwies sich Patternmatching auf Basis einer modifizierte Form des Algorithmus von Ratcliff/Obershelp als effektive Lösung. Darüber hinaus wurden verschiedenen Methoden, mit denen Website-Betreiber versuchen, eine HTTPS-Verbindung auf einen Teil ihrer Website einzuschränken, aufgezählt, und es wurde gezeigt, dass sich zumindest ein Teil dieser Verfahren umgehen lässt. Insgesamt erwies sich das Konzept dieser Studienarbeit als realisierbar, so dass nun in den folgenden Kapiteln eine konkrete Lösung entwickelt werden kann. Die Entwicklung einer Methode, um HTTP-Verbindungen durch HTTPS-Verbindungen zu ersetzen, stellte sich als umsetzbar heraus. 8 In einigen Testläufen der Beispiel-Implementierung wurden mit einem Schwellenwert von 95% die besten Ergebnisse erzielt

31 4. Entwurf In diesem Kapitel wird der Entwurf eines Systems vorgestellt, das die in der Analyse in Kapitel 3 gewonnenen Erkenntnisse umsetzt. Hierbei wird ein modularer Ansatz gewählt, wobei eine Rahmenarchitektur, zur Durchführung von Tests auf unterstützte Sicherheitsverfahren, entworfen wird, die später mit Hilfe von Modulen einfach erweitert werden kann. Der eigentliche Test auf die Verfügbarkeit einer Website mittels HTTPS wird als Modul entworfen. Hierdurch wird zum einen die Vorgehensweise beim Entwerfen eines Moduls gezeigt, zum anderen wird damit die eigentliche Aufgabenstellung dieser Studienarbeit gelöst. Die Speicherung der Testergebnisse erfolgt innerhalb einer relationalen Datenbank, deren Schema in diesem Kapitel erörtert wird. Das zu entwerfende System wird als NSC (Network Security Checks) bezeichnet. Das Präfix NSC wird zur Kennzeichnung allen zu NSC gehörigen Klassen vorangestellt. 4.1 Entwurf der Software-Komponenten In diesem Abschnitt wird der Entwurf der Softwarekomponenten des NSC - Systems beschrieben. Wie in Abbildung 4.1 zu sehen besteht das System im wesentlichen aus einem Hauptprogramm (NSCMain), den Schnittstellen für die Test- und (NSCTest) Content-Module (NSCContent) sowie einer Helfer Klasse für DNS-Anfragen (Lookup). Für die vorliegende Studienarbeit sind vor allem die Modul-Klassen von Interesse. Auf Module wird in den folgenden Abschnitten genauer eingegangen. Bei den Klassen NSCMain und Lookup handelt es sich um implementierungstechnische Details, die ausserhalb des Fokus dieser Studienarbeit liegen. Wichtig ist an dieser Stelle lediglich, dass eine Implementierung das durch das UML- Klassendiagramm vorgegebene Interface verwendet.

32 24 4. Entwurf Lookup nameservers: Array getnameservers(path: String): Array lookupmx(domain: String): Array lookupa(hostname: String): Array lookupaaaa(hostname: String): Array lookupmanya(hostnames: Array): Array lookupmanyaaaa(hostnames: Array): Array NSCMain addkeyword(name: String): void delkeyword(name: String): void listkeywords(): Array adddomain(name: String): void listdomains(): Array deletedomains(keyword: String): void deletealldomains(): void deleteallipaddresses(): void deleteallkeywords(): void crawl(): void test(): void testhttpssimilarity(): void NSCTest host: Array results: Hash ports: Array tests: Hash init (host: Array): NSCTest tests(): void getresults(): Hash NSCContent searchlinks(text: String): String extracthost(link: String): String download(url: String, user: String, password: String): String crawl(): String MAILTest WebTest GOOGLECrawler SIMILARITYContent _testsmtps(hosts: Array): void _testsmtp(hosts: Array): void _testhttp(hosts: Array): void _testhttps(hosts: Array): void compare(a: String, b: String): Float Abbildung 4.1: NSC Klassendiagramm Module Funktionen werden im NSC-Framework mit Hilfe von Modulen implementiert. Es wird zwischen zwei Arten von Modulen unterschieden: Test-Module, die die Tests auf unterstützte Sicherheitsprotokolle implementieren. Test-Module arbeiten rein auf Protokollebene, Inhalte von Übertragungen werden nicht betrachtet. Content-Module, die dazu dienen, Inhalte von Übertragungen zu analysieren. Hierbei wird vorausgesetzt, dass die eine (gesicherte) Verbindung erfolgreich aufgebaut werden kann; es werden keine Vorgänge auf Protokollebene betrachtet Test-Module Das Testen der unterstützten Sicherheitsverfahren wird mit Hilfe von Modulen realisiert. Ein Modul kann einen oder mehrere Tests implementieren. Implementiert ein Modul mehrere Tests, so sollen diese in einem logischen Zusammenhang stehen. So könnte z.b. die Überprüfung von SMTPS auf TCP-Port 465, SMTP mit STARTTLS auf Port 25 sowie SUBMISSION auf TCP-Port 587 in einem Modul mit Namen mail sinnvoll zusammengefasst werden 1. Eine Zusammenfassung von unterschiedlichen Protokollen wie z.b. IMAP und HTTP in einem Modul wäre hingegen weniger sinnvoll, da diese Protokolle 1 Diese Zusammenfassung ist auch aus technischer Sicht sinnvoll, da diese Protokolle praktisch identisch sind.

33 4.1. Entwurf der Software-Komponenten 25 ganz unterschliche Anwendungsgebiete haben, und sollte daher nicht vorgenommen werden. Einem Modul wird beim Initialisieren eine Liste der zu testenden Rechner (entweder als DNS-Namen oder als IP-Adressen) übergeben. Alle weiteren Informationen wie z.b. TCP-Ports, auf denen die zu testenden Dienste laufen, sind entweder fest im Modul konfiguriert oder werden von diesem zur Laufzeit bestimmt. Test-Module müssen eine Methode test() anbieten. Mit dieser Methode wird das Modul dazu veranlasst, alle in ihm implementierten Tests für die bei der Initialisierung übergebenen Ziel-Rechner zu starten. Diese Methode ist synchron. Von der Methode wird entweder eine Liste mit allen Testresultaten oder im Falle eines Fehlers eine Exception zurückgegeben. Ein Ergebnisdatensatz besteht jeweils mindestens aus IP-Adresse des getesteten Rechners, die Ports der getesteten Protokolle, sowie dem Resultat des Tests (siehe Abschnitt 4.1.2) Content-Module Content-Module dienen dazu, Inhalte einer Übertragung zu analysieren. Einem Content-Modul werden bei der Initialisierung alle Informationen übergeben, die das Modul benötigt, um die angeforderten Inhalte zu finden. Hierbei kann es sich z.b. um die URL einer Webseite handeln. Es gibt allerdings auch Module, wie beispielsweise Suchmaschinen-Crawler, bei denen die Zielseite bereits feststehen und lediglich noch Anfrageparameter übergeben werden. Content-Module bieten eine Methode crawl() an, die Analyse startet. Analog zur test()-methode arbeitet diese Methode synchron. Als Rückgabewerte liefert diese Methode entweder die extrahierten Informationen oder, im Falle eines Fehlers, eine Exception. Insbesondere das Modul SIMILARITYContent, das die Unterstützung von HTTPS überprüft, ist als Content-Modul implementiert. Zwar handelt es sich eigentlich um den Test auf die Unterstützung eines Sicherheitsprotokolls ein typischer Anwendungsfall von Test-Modulen, allerdings müssen für diesen Test die Inhalte der zu testenden Webseiten, wie in Abschnitt beschrieben, untersucht werden Mögliche Ergebnisse eines Tests Ein Testmodul kann folgende Ergebnisse zurückliefern: Not Connected: Eine Verbindung zum zu testenden Rechner war nicht möglich. Entweder wurde der Verbindungsaufbau abgelehnt ( Connection refused ) oder eine Verbindung kam innerhalb des zulässigen Zeitrahmens nicht zu stande und es ist ein Timeout aufgetreten. Connected: Eine Verbindung zu dem Port war möglich, es wurde allerdings kein SSL/TLS (z.b. in der EHLO Antwort eines SMTP-Servers) angeboten.

34 26 4. Entwurf TLS failed: SSL/TLS wurde angeboten, beim Handshake ist allerdings ein Fehler aufgetreten, so dass keine SSL/TLS Verbindung zustande kam. TLS worked: SSL/TLS wurde angeboten, der Aufbau einer SSL/TLS Verbindung war möglich und es wurde ein Zertifikat von der Gegenstelle empfangen. In diesem Falle wird das Zertifikat dem Testergebnis für die Gegenstelle hinzugefügt Entwurf eines Moduls: Test auf Verfügbarkeit einer Website mittels HTTPS In diesem Abschnitt wird beispielhaft der Entwurf eines Moduls vorgestellt. Hierbei bietet es sich an, den Test auf Verfügbarkeit einer Website mittels HTTPS als Modul zu entwerfen, da es sich hierbei um das wichtigste Modul zur Erfüllung der Aufgabenstellung der vorliegenden Studienarbeit handelt. Ausserdem kann anhand eines praktischen Beispiels der Entwurf eines Moduls demonstriert werden Vorgehensweise In Abschnitt wurde eine modifizierte Form des Algorithmus von Ratcliff/Obershelp zur Bestimmung der Ähnlichkeit von Webseiten ausgewählt. Diese Ähnlichkeitsberechnung wird in der Methode crawl() implementiert. Hierbei wird die von SIMILARITYContent angebotene Methode download(url) zum Herunterladen verwendet. Drei Versionen der unter url angegebenen Webseite werden in den Variablen A 1 bis A 3, drei Versionen der unter httpsurl angegebenen Seite in den Variablen B 1 bis B 3 gespeichert und dann der in Abschnitt dargestellte Algorithmus angewendet Entwurf Das Modul wird als Klasse mit dem Namen SIMILARITYContent implementiert. Diese Klasse ist von der Klasse Content abgeleitet. Im Konstruktor wird der Klasse der notwendige Parameter url und der optionale Parameter httpsurl übergeben. Wird httpsurl nicht übergeben, so wird hierin die HTTPS-Entsprechung der in url übergebenen URL gespeichert. Die Klasse enthält die privaten Methoden compare(a, b) und download(url), und bietet die öffentliche Methode crawl() an. Bei compare(a, b) handelt es sich um eine Einschubmethode (Template-Method), in der der eigentliche Test auf Ähnlichkeit vorgenommen wird. Hiermit wird es möglich, den zum Vergleich der Inhalte verwendeten Algorithmus leicht gegen einen anderen auszutauschen, indem die Klasse SIMILARITYContent abgeleitet und die Methode compare(a, b) überschrieben wird. Standardmäßig soll compare(a, b) den modifizierten Algorithmus von Ratcliff/- Obershelp verwenden.

35 4.2. Entwurf der Sicherheitsdatenbank Entwurf der Sicherheitsdatenbank Die Sicherheitsdatenbank ist die zentrale Komponente des zu entwerfenden Systems. In ihr werden alle Testergebnisse gespeichert, und im ACCS-System soll sie später als Entscheidungsgrundlage für das zu wählenden Sicherheitsverfahren dienen. Daten können auf drei verschiedenen Wegen in die Sicherheitsdatenbank gelangen: Durch proaktives Testen. Anfrage eines Clients nach einer Gegenstelle, die sich noch nicht in der Datenbank befindet, wodurch das durchführen von Tests veranlast wird. Rückmeldung eines Clients darüber, ob ein Verbindungsversuch mit dem ausgewählten Sicherheitsverfahren erfolgreich war oder fehlgeschlagen ist. ( Rückkopplung ). Die Sicherheitsdatenbank dient hier vor allem dazu, den Verbindungsaufbau im ACCS-System zu beschleunigen. Dazu sollen in der Sicherheitsdatenbank die Informationen über die häufigsten Zielrechner bereits vorliegen, so dass ein zeitaufwendiges Testen entfallen kann. Die Sicherheitsdatenbank agiert hier also als eine Art Cache Überblick Um die spätere Auswertung der Testergebnisse zu vereinfachen, wurde die Entscheidung getroffen, alle Daten in einer relationalen Datenbank zu speichern. Das ER-Diagramm der Datenbank ist in Abbildung 4.2 dargestellt. Zentrales Element der Datenbank ist die Relation Domains. In dieser Relation werden die Domainnamen der zu testenden Websites gespeichert. In der Relation Ipaddresses werden die IP-Adressen aller zu testenden Rechner gespeichert. Über die Relation domains has ipaddresses werden die IP-Adressen zu Domains und der Funktion der IP-Adresse innerhalb einer Domain (z.b. Webserver, MX-Server, DNS-Server) zugeordnet. Hat eine IP-Adresse mehrere Funktionen innerhalb einer Domain, erfolgen auch mehrere Einträge in die Relation domains has ipaddresses. Für jeden durchgeführten Test wird in der Relation Tests ein Eintrag erzeugt. In diesem Eintrag ist unter anderem die IP-Adresse des getesteten Rechners, das getestete Protokoll sowie das Ergebnis des Tests vermerkt. Die wichtigsten Relationen werden in den folgenden Abschnitten im Detail beschrieben.

36 28 4. Entwurf,-. G HI!"#$%&'(#&'!"#$%&')*+%,-/ 23 G HI H74839 ; 453 BCC 01 G HI 01 G HI : ; &')*+%,-.,-/ G HI,-A U V8W6W;W W 74839: ,-.SAT 74839: ; N38O 0 P Q ,-/,-A >,&>&')*+%,-R D#'$%,-/E/F BCC C Abbildung 4.2: Datenbank-Diagramm Keywords In der Relation Keywords werden von Hand Schlüsselwörter eingetragen, die als Eingabe für die Content-Module dienen. Die Content-Module (vgl. Ab-

37 4.2. Entwurf der Sicherheitsdatenbank 29 Abbildung 4.3: Die Keywords Relation schnitt ) liefern eine Liste mit Domains zurück 2, welche in die Relation Domains eingefügt und danach mit den entsprechenden Schlüsselwörtern verknüpft werden. Das Schema der Relation Keywords ist in Abbildung 4.3 zu sehen Domains Abbildung 4.4: Die Domains Relation Die in Abbildung 4.4 dargestellte Relation Domains stellt im NSC-Datenbankdesign die zentrale Entität, sozusagen das Wurzelelement, dar. Wie in Abschnitt bereits angedeutet, wird die Relation Domains durch die Rückgabe eines Content-Moduls zur Eingabe bestimmter Keywörter befüllt Ipaddresses Abbildung 4.5: Die Ipaddresses Relation Die Rechnernamen innerhalb einer Domain werden bereits zur Testzeit in IP- Adressen aufgelöst, und die Testresultate werden mit den entsprechenden IP- Adressen verknüpft, die sich in der in Abbildung 4.5 dargestellten Relation ipaddresses befinden, verknüpft. Hierdurch ergibt sich zwar der Nachteil, dass spätere Änderungen im DNS zur Zeitpunkt des Tests nicht mehr berücksichtigt werden. Würde hingegen der symbolische Hostname gespeichert, ergäben sich allerdings große Probleme bei der Zusammenarbeit mit dem ACCS-System. Die Ursache hierfür liegt darin, dass das ACCS-System sich an der Socketschnittstelle des Kernels in den Verbindungsaufbau einklingt. An dieser Schnittstelle ist die Angabe des Zielhosts bereits in eine IP-Adresse aufgelöst worden. Da die Zuordnung von symbolischem Hostnamen auf IP-Adressen nicht injektiv 2 Zu beachten ist hier, dass es sich nicht zwangsläufig um Second-Level-Domains handeln muss, sondern durchaus auch Domains tieferer Ebene zurückgeliefert werden können.

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken In diesem Tutorial zeigen wir Ihnen, wie Sie im Mozilla Thunderbird E-Mailclient ein POP3-Konto einrichten. Wir haben bei der Erstellung des Tutorials die Version 2.0.0.6 verwendet. Schritt 1: Auswahl

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Secure Socket Layer (SSL) - Zertifikate

Secure Socket Layer (SSL) - Zertifikate e Einführung Zur Übertragung sensibler Daten über das Internet wurde das SSL-Protokoll entwickelt. SSL steht für Secure Socket Layer (dt. "sichere Sockelschicht") das von der Firma Netscape und RSA Data

Mehr

SSL Algorithmen und Anwendung

SSL Algorithmen und Anwendung SSL Algorithmen und Anwendung Stefan Pfab sisspfab@stud.uni-erlangen.de Abstract Viele Anwendungen erfordern nicht nur eine eindeutige und zuverlässige Identifizierung der an einer Kommunikation beteiligten

Mehr

DNSSEC. Was ist DNSSEC? Wieso braucht man DNSSEC? Für ein sicheres Internet

DNSSEC. Was ist DNSSEC? Wieso braucht man DNSSEC? Für ein sicheres Internet SEC Für ein sicheres Internet Was ist SEC? SEC ist eine Erweiterung des Domain Namen Systems (), die dazu dient, die Echtheit (Authentizität) und die Voll ständig keit (Integrität) der Daten von - Antworten

Mehr

Verschlüsselung der Kommunikation zwischen Rechnern

Verschlüsselung der Kommunikation zwischen Rechnern Verschlüsselung der Kommunikation zwischen Rechnern Stand: 11. Mai 2007 Rechenzentrum Hochschule Harz Sandra Thielert Hochschule Harz Friedrichstr. 57 59 38855 Wernigerode 03943 / 659 0 Inhalt 1 Einleitung

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Einführung... 2-3 Servereinstellungen für die Einrichtung auf dem E-Mail Client... 4 E-Mail Adresse / Postfach einrichten...

Mehr

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL 1 TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL Kleine Auswahl bekannter Sicherheitsprotokolle X.509 Zertifikate / PKIX Standardisierte, häufig verwendete Datenstruktur zur Bindung von kryptographischen

Mehr

Kurzeinführung VPN. Veranstaltung. Rechnernetze II

Kurzeinführung VPN. Veranstaltung. Rechnernetze II Kurzeinführung VPN Veranstaltung Rechnernetze II Übersicht Was bedeutet VPN? VPN Typen VPN Anforderungen Was sind VPNs? Virtuelles Privates Netzwerk Mehrere entfernte lokale Netzwerke werden wie ein zusammenhängendes

Mehr

Kurs 70-291 Notizen Rene Dreher www.renedreher.de -DNS (Domain Name System)

Kurs 70-291 Notizen Rene Dreher www.renedreher.de -DNS (Domain Name System) -DNS (Domain Name System) Das DNS ist ein weltweit auf tausende von Servern verteilter hierarchischer Verzeichnisdienst, der den Namensraum des Internets verwaltet. Dieser Namensraum ist in so genannte

Mehr

estos XMPP Proxy 5.1.30.33611

estos XMPP Proxy 5.1.30.33611 estos XMPP Proxy 5.1.30.33611 1 Willkommen zum estos XMPP Proxy... 4 1.1 WAN Einstellungen... 4 1.2 LAN Einstellungen... 5 1.3 Konfiguration des Zertifikats... 6 1.4 Diagnose... 6 1.5 Proxy Dienst... 7

Mehr

Apache HTTP-Server Teil 1

Apache HTTP-Server Teil 1 Apache HTTP-Server Teil 1 Zinching Dang 24. November 2014 1 Apache HTTP-Server Apache HTTP-Server allgemein offizielle Namensherkunft: Apachen-Stamm in Nordamerika wurde 1994 auf Basis des NCSA HTTPd-Webservers

Mehr

Session Management und Cookies

Session Management und Cookies LMU - LFE Medieninformatik Blockvorlesung Web-Technologien Wintersemester 2005/2006 Session Management und Cookies Max Tafelmayer 1 Motivation HTTP ist ein zustandsloses Protokoll Je Seitenaufruf muss

Mehr

Secure Socket Layer V.3.0

Secure Socket Layer V.3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer V.3.0 (SSLv3) Zheng Yao 05.07.2004 1 Überblick 1.Was ist SSL? Bestandteile von SSL-Protokoll, Verbindungherstellung

Mehr

Arbeiten mit Webalizer Nutzen von Statistiken zur Verbesserung Ihres Onlinemarketing

Arbeiten mit Webalizer Nutzen von Statistiken zur Verbesserung Ihres Onlinemarketing Arbeiten mit Webalizer Nutzen von Statistiken zur Verbesserung Ihres Onlinemarketing Wo finde ich Webalizer? Die Webalizer Statistiken finden Sie in Ihrem Partnernet unter http://partner.dcn.de oder über

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

Mehr

Secure Socket Layer (SSL) 1: Allgemeiner Überblick. Gilt für die Geräte: HL-4040CN HL-4050CDN HL-4070CDW DCP-9040CN DCP-9045CDN MFC-9440CN MFC-9840CDW

Secure Socket Layer (SSL) 1: Allgemeiner Überblick. Gilt für die Geräte: HL-4040CN HL-4050CDN HL-4070CDW DCP-9040CN DCP-9045CDN MFC-9440CN MFC-9840CDW Secure Socket Layer (SSL) Gilt für die Geräte: HL-4040CN HL-4050CDN HL-4070CDW DCP-9040CN DCP-9045CDN MFC-9440CN MFC-9840CDW Inhalt 1) Allgemeiner Überblick 2) Kurzer geschichtlicher Rückblick 3) Vorteile

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Prinzipiell wird bei IP-basierenden VPNs zwischen zwei unterschiedlichen Ansätzen unterschieden:

Prinzipiell wird bei IP-basierenden VPNs zwischen zwei unterschiedlichen Ansätzen unterschieden: Abkürzung für "Virtual Private Network" ein VPN ist ein Netzwerk bestehend aus virtuellen Verbindungen (z.b. Internet), über die nicht öffentliche bzw. firmeninterne Daten sicher übertragen werden. Die

Mehr

Secure Socket Layer v. 3.0

Secure Socket Layer v. 3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer v. 3.0 (SSLv3) Zheng Yao 05.07.2004-1 - 1. Was ist SSL? SSL steht für Secure Socket Layer, ein Protokoll zur Übertragung

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 6: 14.11.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-, Unterstützungs-,

Mehr

Userhandbuch. Version B-1-0-2 M

Userhandbuch. Version B-1-0-2 M Userhandbuch Version B-1-0-2 M Inhaltsverzeichnis 1.0 Was bietet mir SERVRACK?... 3 1.1 Anmeldung... 3 1.2 Passwort vergessen?... 3 1.3 Einstellungen werden in Realtime übernommen... 4 2.0 Die SERVRACK

Mehr

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

4 Netzwerkzugriff. 4.1 Einführung. Netzwerkzugriff

4 Netzwerkzugriff. 4.1 Einführung. Netzwerkzugriff 4 Netzwerkzugriff Prüfungsanforderungen von Microsoft: Configuring Network Access o Configure remote access o Configure Network Access Protection (NAP) o Configure network authentication o Configure wireless

Mehr

Verteilte Systeme. Übung 10. Jens Müller-Iden

Verteilte Systeme. Übung 10. Jens Müller-Iden Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

Sichere E-Mails. Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank

Sichere E-Mails. Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank Sichere E-Mails Kundeninformation zur Verschlüsselung von E-Mails in der L-Bank Version: 2.1 Stand: 18.07.2014 Inhaltsverzeichnis II Inhaltsverzeichnis 1 Einleitung... 1 1.1 Überblick... 1 1.2 Allgemeine

Mehr

Modul 123. Unit 3 (V1.2) DNS Domain Name System

Modul 123. Unit 3 (V1.2) DNS Domain Name System Modul 123 Unit 3 (V1.2) DNS Domain Name System Nützliche Links Meine IP-Adresse: whatismyipaddress.com Verschiedene Dienste wie z.b. traceroute: ping.eu DNS-Check: https://extranet-es.swisscom.com/ipplus/public/public/tools/dig/

Mehr

Anlage 3 Verfahrensbeschreibung

Anlage 3 Verfahrensbeschreibung Anlage 3 Verfahrensbeschreibung Stand September 2015 1 INHALTSVERZEICHNIS 1 EINLEITUNG... 2 2 SYSTEMVORAUSSETZUNGEN... 3 2.1 Technische Voraussetzung beim Kunden... 3 2.2 Ausstattung des Clients... 3 3

Mehr

Rainbow Technologies GmbH. Bedeutung von SSL in Ihrem Unternehmen

Rainbow Technologies GmbH. Bedeutung von SSL in Ihrem Unternehmen Rainbow Technologies GmbH Markus Kahmen Bedeutung von SSL in Ihrem Unternehmen Thursday, April 19, 2001 http://europe.rainbow.com 1 Das Internet Die Internet-Ära verspricht für die nächsten 10 Jahre mehr

Mehr

SSL Sicherheit. Hinweise zur Sicherheit der SSLverschlüsselten. 2014-04-04 Rainer Meier Mühlistr. 4 6288 Schongau skybeam@skybeam.ch.

SSL Sicherheit. Hinweise zur Sicherheit der SSLverschlüsselten. 2014-04-04 Rainer Meier Mühlistr. 4 6288 Schongau skybeam@skybeam.ch. SSL Sicherheit Hinweise zur Sicherheit der SSLverschlüsselten Datenübermittlung Meier Informatik Rainer Meier Mühlistr. 4 6288 Schongau skybeam@skybeam.ch by Rainer Meier Sicherheitshinweise Seite 2 1.

Mehr

Anleitung für E-Mail-Client Thunderbird mit SSL Verschlüsselung

Anleitung für E-Mail-Client Thunderbird mit SSL Verschlüsselung Anleitung für E-Mail-Client Thunderbird mit SSL Verschlüsselung Importieren Wenn Sie Thunderbird das erste Mal öffnen, erscheint die Meldung, ob Sie die Einstellungen vom Outlook importieren möchten. Wählen

Mehr

Mindeststandard des BSI nach 8 Abs. 1 Satz 1 BSIG für den Einsatz des SSL/TLS-Protokolls in der Bundesverwaltung

Mindeststandard des BSI nach 8 Abs. 1 Satz 1 BSIG für den Einsatz des SSL/TLS-Protokolls in der Bundesverwaltung Mindeststandard des BSI nach 8 Abs. 1 Satz 1 BSIG für den Einsatz des SSL/TLS-Protokolls in der Bundesverwaltung Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49

Mehr

Verwendung des Mailservers

Verwendung des Mailservers Inhaltsverzeichnis Verwendung des Mailservers 1 Einleitung...1 2 Die wichtigsten Parameter...2 3 Webmail Squirrelmail...2 3.1 Login...2 3.2 Optionen...3 3.3 Persönliche Informationen...3 3.4 Passwort ändern...4

Mehr

Schwachstellenanalyse 2013

Schwachstellenanalyse 2013 Schwachstellenanalyse 2013 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 09.01.2014 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten

Mehr

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Fakultät Informatik Institut für Systemarchitektur Professur für Rechnernetze SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Versuchsvorgaben (Aufgabenstellung) Der neu zu gestaltende Versuch

Mehr

MSXFORUM - Exchange Server 2003 > SSL Aktivierung für OWA 2003

MSXFORUM - Exchange Server 2003 > SSL Aktivierung für OWA 2003 Page 1 of 23 SSL Aktivierung für OWA 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 20.05.2005 Die Aktivierung von SSL, für Outlook Web Access 2003 (OWA), kann mit einem selbst ausgestellten

Mehr

LINK Konfiguration. Inhaltsverzeichnis

LINK Konfiguration. Inhaltsverzeichnis LINK Konfiguration Inhaltsverzeichnis 1. LINK Produkt aufrufen 2. Domain-Namen zuordnen 3. Einfache Weiterleitung 4. Name-Server Einträge editieren 5. Beispiel: Domain-Name mit Jimdo 6. Beispiel: Domain-Name

Mehr

SSL/TLS und SSL-Zertifikate

SSL/TLS und SSL-Zertifikate SSL/TLS und SSL-Zertifikate Konzepte von Betriebssystem-Komponenten Informatik Lehrstuhl 4 16.06.10 KvBK Wolfgang Hüttenhofer sethur_blackcoat@web.de Motivation Sichere, verschlüsselte End-to-End Verbindung

Mehr

Installation des Zertifikats am Beispiel eines WWW-Servers unter Windows2003. Voraussetzungen

Installation des Zertifikats am Beispiel eines WWW-Servers unter Windows2003. Voraussetzungen HS-Anhalt (FH) Fachbereich EMW Seite 1 von 8 Stand 04.02.2008 Installation des Zertifikats am Beispiel eines WWW-Servers unter Windows2003 Voraussetzungen Es ist keinerlei Zusatzsoftware erforderlich.

Mehr

Konfigurieren eines Webservers

Konfigurieren eines Webservers Unterrichtseinheit 12: Konfigurieren eines Webservers Erleichterung der Organisation und des Verwaltens von Webinhalten im Intranet und Internet. Übersicht über IIS: Der IIS-Dienst arbeitet mit folgenden

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

POP3 über Outlook einrichten

POP3 über Outlook einrichten POP3 über Outlook einrichten In diesem Tutorial zeigen wir Ihnen, wie Sie im Outlook Express ein POP3 E-Mail Konto einrichten. Wir haben bei der Erstellung des Tutorials die Version 6.0 verwendet. Schritt

Mehr

Installationsanleitung

Installationsanleitung 1 Inhalt 1 Inhalt 1 2 Sicherheitshinweise 2 2.1 Allgemeine Richtlinien und Empfehlungen 2 2.2 Allgemeine Sicherheitskriterien 2 3 Zugriffsmöglichkeiten 3 3.1 Browserbasierte Zugriffe auf Dienste im BVN

Mehr

2 Der inhaltliche Aufbau eines Internet-Auftritts

2 Der inhaltliche Aufbau eines Internet-Auftritts 2 Der inhaltliche Aufbau eines Internet-Auftritts Gerade bei der inhaltlichen Konzeption eines Internet-Auftritts werden viele Fehler begangen. Das zweite Kapitel schildert, was Sie unbedingt vermeiden

Mehr

Internet Security: Verfahren & Protokolle

Internet Security: Verfahren & Protokolle Internet Security: Verfahren & Protokolle 39 20 13 Vorlesung im Grundstudium NWI (auch MGS) im Sommersemester 2003 2 SWS, Freitag 10-12, H10 Peter Koch pk@techfak.uni-bielefeld.de 20.06.2003 Internet Security:

Mehr

VIRTUAL PRIVATE NETWORKS

VIRTUAL PRIVATE NETWORKS VIRTUAL PRIVATE NETWORKS Seminar: Internet-Technologie Dozent: Prof. Dr. Lutz Wegner Virtual Private Networks - Agenda 1. VPN Was ist das? Definition Anforderungen Funktionsweise Anwendungsbereiche Pro

Mehr

Datenschutz. Kontakt. Der Fachbereich Datenschutz ist unter den folgenden Kontaktdaten zu erreichen:

Datenschutz. Kontakt. Der Fachbereich Datenschutz ist unter den folgenden Kontaktdaten zu erreichen: Datenschutz Wir nehmen den Schutz und die Sicherheit von persönlichen Daten sehr ernst. Daher informieren wir unsere Kunden an dieser Stelle über das Thema Datenerfassung und -schutz sowie über unseren

Mehr

Remote Tools SFTP. Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de

Remote Tools SFTP. Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de Proxy Remote Tools SFTP SSH X11 Port SCP christina.zeeh@studi.informatik.uni-stuttgart.de Inhalt Grundlagen SSH Remote-Login auf marvin Datentransfer Graphische Anwendungen Tunnel VPN SSH für Fortgeschrittene

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Synology MailStation Anleitung

Synology MailStation Anleitung Nach dem englischen Original von Synology Inc. Synology MailStation Anleitung Übersetzt von Matthieu (synology-forum.de) Matthieu von synology-forum.de 04.08.2009 Inhaltsverzeichnis Einleitung... 3 1.

Mehr

Seminar Neue Techologien in Internet und WWW

Seminar Neue Techologien in Internet und WWW Seminar Neue Techologien in Internet und WWW Sicherheit auf der Anwendungsschicht: HTTP mit SSL, TLS und dabei verwendete Verfahren Christian Raschka chrisra@informatik.uni-jena.de Seminar Neue Internettechnologien

Mehr

Experte. I-CH-118 Strukturiert implementieren

Experte. I-CH-118 Strukturiert implementieren Autor des Dokuments Valmir Selmani Erstellt / Aktualisiert am 16.06.2011 / 28.06.2011 Teilnehmer des Projekts: Valmir Selmani, Moritz Kündig, Tobias Künzi Seitenanzahl 13 MTV (Moritz Tobias Valmir) 2011

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 5. Februar 2015 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)

Mehr

Datenschutzerklärung für RENA Internet-Auftritt

Datenschutzerklärung für RENA Internet-Auftritt Datenschutzerklärung für RENA Internet-Auftritt Vielen Dank für Ihr Interesse an unserem Internetauftritt und unserem Unternehmen. Wir legen großen Wert auf den Schutz Ihrer Daten und die Wahrung Ihrer

Mehr

Daten-Kommunikation mit crossinx

Daten-Kommunikation mit crossinx Daten-Kommunikation mit Datenübertragung.doc Seite 1 von 8 Inhaltsverzeichnis 1 Einführung... 3 1.1 Datenübertragung an... 3 1.2 Datenversand durch... 3 2 X.400... 4 3 AS2... 4 4 SFTP (mit fester Sender

Mehr

Apache HTTP-Server Teil 2

Apache HTTP-Server Teil 2 Apache HTTP-Server Teil 2 Zinching Dang 04. Juli 2014 1 Benutzer-Authentifizierung Benutzer-Authentifizierung ermöglicht es, den Zugriff auf die Webseite zu schützen Authentifizierung mit Benutzer und

Mehr

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Übersicht Internetsicherheit Protokoll Sitzungen Schlüssel und Algorithmen vereinbaren Exportversionen Public Keys Protokollnachrichten 29.10.2003 Prof.

Mehr

Workshop Sicherheit im Netz KZO Wetzikon. Peter Skrotzky, 4. Dezember 2013

Workshop Sicherheit im Netz KZO Wetzikon. Peter Skrotzky, 4. Dezember 2013 Workshop Sicherheit im Netz KZO Wetzikon Peter Skrotzky, 4. Dezember 2013 Zentrale Fragen! Wie kann sich jemand zu meinem Computer Zugriff verschaffen?! Wie kann jemand meine Daten abhören oder manipulieren?!

Mehr

PKI (public key infrastructure)

PKI (public key infrastructure) PKI (public key infrastructure) am Fritz-Haber-Institut 11. Mai 2015, Bilder: Mehr Sicherheit durch PKI-Technologie, Network Training and Consulting Verschlüsselung allgemein Bei einer Übertragung von

Mehr

Datensicherheit. Vorlesung 5: 15.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 5: 15.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter Datensicherheit Vorlesung 5: 15.5.2015 Sommersemester 2015 h_da, Lehrbeauftragter Inhalt 1. Einführung & Grundlagen der Datensicherheit 2. Identitäten / Authentifizierung / Passwörter 3. Kryptografie 4.

Mehr

Seminar Internet-Technologie

Seminar Internet-Technologie Seminar Internet-Technologie Zertifikate, SSL, SSH, HTTPS Christian Kothe Wintersemester 2008 / 2009 Inhalt Asymmetrisches Kryptosystem Digitale Zertifikate Zertifikatsformat X.509 Extended-Validation-Zertifikat

Mehr

Inhaltsverzeichnis KURZSTUDIE HTTPS (SSL, TLS) ANALYSE ÖSTERREICHISCHER GV.AT DOMÄNEN VERSION 1.3-26. SEPTEMBER 2014

Inhaltsverzeichnis KURZSTUDIE HTTPS (SSL, TLS) ANALYSE ÖSTERREICHISCHER GV.AT DOMÄNEN VERSION 1.3-26. SEPTEMBER 2014 Zentrum für sichere Informationstechnologie Austria Secure Information Technology Center Austria A-1030 Wien, Seidlgasse 22 / 9 Tel.: (+43 1) 503 19 63 0 Fax: (+43 1) 503 19 63 66 A-8010 Graz, Inffeldgasse

Mehr

Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen

Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen ewon - Technical Note Nr. 005 Version 1.3 Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten

Mehr

Remote Tools. SFTP Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de

Remote Tools. SFTP Port X11. Proxy SSH SCP. christina.zeeh@studi.informatik.uni-stuttgart.de Remote Tools SSH SCP Proxy SFTP Port X11 christina.zeeh@studi.informatik.uni-stuttgart.de Grundlagen SSH Inhalt Remote-Login auf marvin Datentransfer Graphische Anwendungen Tunnel VPN SSH für Fortgeschrittene

Mehr

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. "For your eyes only" Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo.

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. For your eyes only Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo. Karlsruher IT-Sicherheitsinitiative - 26. April 2001 "For your eyes only" Sichere E-Mail in Unternehmen Dr. Dörte Neundorf neundorf@secorvo.de Secorvo Security Consulting GmbH Albert-Nestler-Straße 9 D-76131

Mehr

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,

Mehr

Dokumentation: Erste Schritte für Endkunden

Dokumentation: Erste Schritte für Endkunden pd-admin v4.x Dokumentation: Erste Schritte für Endkunden 2004-2007 Bradler & Krantz GmbH & Co. KG Kurt-Schumacher-Platz 9 44787 Bochum 1 Einleitung Diese Anleitung ist für Endkunden gedacht, die von Ihrem

Mehr

Microsoft ISA Server 2006

Microsoft ISA Server 2006 Microsoft ISA Server 2006 Leitfaden für Installation, Einrichtung und Wartung ISBN 3-446-40963-7 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40963-7 sowie im Buchhandel

Mehr

Verschlüsselte Mailverbindungen verwenden

Verschlüsselte Mailverbindungen verwenden Verschlüsselte Mailverbindungen verwenden Neu können Sie ohne lästige Zertifikatswarnungen unterwegs sicher mailen. Dies ist wichtig, um Passwortklau zu verhindern (vor allem unterwegs auf offenen WLANs

Mehr

IT-Sicherheit Kapitel 11 SSL/TLS

IT-Sicherheit Kapitel 11 SSL/TLS IT-Sicherheit Kapitel 11 SSL/TLS Dr. Christian Rathgeb Sommersemester 2014 1 Einführung SSL/TLS im TCP/IP-Stack: SSL/TLS bietet (1) Server-Authentifizierung oder Server und Client- Authentifizierung (2)

Mehr

IIS 7.5 mit Exchange Server 2010 OWA FBA Intern und Extern ueber Forefront TMG

IIS 7.5 mit Exchange Server 2010 OWA FBA Intern und Extern ueber Forefront TMG IIS 7.5 mit Exchange Server 2010 OWA FBA Intern und Extern ueber Forefront TMG Interne Exchange Benutzer sollen Outlook Web Access mit Formularbasierter Authentifizierung (FBA) verwenden. Aber auch Benutzer

Mehr

Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat?

Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat? 1 / 32 Veranstaltungsreihe Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat? Veranstalter sind: 15. Mai bis 3. Juli 2008 der Arbeitskreis Vorratsdatenspeicherung

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Andreas Teuchert 16. Juli 2013 Netzwerk-Protokolle legen fest, wie Daten zur Übertragung verpackt werden unterteilt in verschiedene Schichten: Anwendungsschicht (z. B. HTTP,

Mehr

L2TP over IPSEC. Built-in VPN für Windows 10 / 8 / 7 und MacOS X

L2TP over IPSEC. Built-in VPN für Windows 10 / 8 / 7 und MacOS X FORSCHUNGSZENTRUM JÜLICH GmbH Jülich Supercomputing Centre 52425 Jülich, (02461) 61-6402 Beratung und Betrieb, (02461) 61-6400 Technische Kurzinformation FZJ-JSC-TKI-0387 W.Anrath,S.Werner,E.Grünter 26.08.2015

Mehr

Konfiguration eines DNS-Servers

Konfiguration eines DNS-Servers DNS-Server Grundlagen des Themas DNS sind im Kapitel Protokolle und Dienste in meinem Buch (LINUX erschienen im bhv-verlag) beschrieben. Als Beispiel dient ein Intranet mit mehreren Webservern auf verschiedenen

Mehr

Kurzanleitung Hosting

Kurzanleitung Hosting Kurzanleitung Hosting Inhaltverzeichnis 1 Zugangsdaten... 3 2 Ändern des FTP-Passworts... 4 3 Passwortgeschützte Verzeichnisse... 4 4 Allgemeine E-Mail Client Einstellungen... 7 1 Zugangsdaten Zugangsdaten

Mehr

Wie funktioniert ein Internetprovider. Michael Stiller

Wie funktioniert ein Internetprovider. Michael Stiller Wie funktioniert ein Internetprovider Michael Stiller Donnerstag 20.01.2000 Ping e.v. Weiterbildung, Wie funktioniert ein Internetprovider 1 Anforderungen an einen Internetprovider oder was die Nutzer

Mehr

R e m o t e A c c e s s. Cyrus Massoumi

R e m o t e A c c e s s. Cyrus Massoumi R e m o t e A c c e s s Präsentation im Seminar Internet-Technologie im Sommersemester 2008 von Cyrus Massoumi I n h a l t Was versteht man unter Remote Access Unsichere Remotezugriffe TELNET Remote Shell

Mehr

Kundeninformation für den sicheren E-Mail-Verkehr mit Ihrer Sparkasse Grünberg

Kundeninformation für den sicheren E-Mail-Verkehr mit Ihrer Sparkasse Grünberg Secure E-Mail S Kundeninformation für den sicheren E-Mail-Verkehr mit Ihrer Sparkasse Grünberg Einleitung Wir alle leben in einem elektronischen Zeitalter. Der Austausch von Informationen erfolgt zunehmend

Mehr

SFTP Datenübertragungsclient PK-SFTP. automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen

SFTP Datenübertragungsclient PK-SFTP. automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen SFTP Datenübertragungsclient PK-SFTP automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen senden, abholen und verifizieren der bereitstehenden Daten Protokollierung der Datenübertragung

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Mailbox Cluster Konzepte

Mailbox Cluster Konzepte Ideen für grosse Mailstores Mailbox Cluster Konzepte Felix J. Ogris (fjo@dts.de) Version 1.0 2008-05-25 Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis 1 Schema 4 2 Storage 5 2.1 Mailbox- und

Mehr

Inhalt 1. Einleitung 2. Kostenlose Einrichtung und Nutzung 3. Registrierungsmail 4. Registrierung 5. Varianten und Funktionsweise 6.

Inhalt 1. Einleitung 2. Kostenlose Einrichtung und Nutzung 3. Registrierungsmail 4. Registrierung 5. Varianten und Funktionsweise 6. Inhalt 1. Einleitung 2. Kostenlose Einrichtung und Nutzung 3. Registrierungsmail 4. Registrierung 5. Varianten und Funktionsweise 6. Ansprechpartner bei Unregelmäßigkeiten 1. Einleitung: E-Mails ersetzen

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

JobServer Installationsanleitung 08.05.2013

JobServer Installationsanleitung 08.05.2013 JobServer sanleitung 08.05.2013 Der JobServer ist ein WCF Dienst zum Hosten von Workflow Prozessen auf Basis der Windows Workflow Foundation. Für die wird das Microsoft.NET Framework 3.5 und 4.0 vorausgesetzt.

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

Sichere Kommunikation mit Outlook 98 ohne Zusatzsoftware

Sichere Kommunikation mit Outlook 98 ohne Zusatzsoftware Sichere Kommunikation mit Outlook 98 ohne Zusatzsoftware Das E-Mail-Programm Outlook 98 von Microsoft bietet Ihnen durch die Standard- Integration des E-Mail-Protokolls S/MIME (Secure/MIME) die Möglichkeit,

Mehr

Security in.net 2.0. Thomas Stanek

Security in.net 2.0. Thomas Stanek Security in.net 2.0 2 Content 1. Verwendung 2. Überblick 3. Features im Detail a. Windows Accounts und SIDs b. Sichere Datenübertragung (SSL) c. X509 -Zertifikate d. Data Protection API (DPAPI) e. SecureStrings

Mehr

Dokumentation: Erste Schritte für Reseller

Dokumentation: Erste Schritte für Reseller pd-admin v4.x Dokumentation: Erste Schritte für Reseller 2004-2007 Bradler & Krantz GmbH & Co. KG Kurt-Schumacher-Platz 9 44787 Bochum 1 Einleitung Diese Anleitung ist für Reseller gedacht, die für Ihre

Mehr

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung 1. Konfiguration der Stateful Inspection Firewall 1.1 Einleitung Im Folgenden wird die Konfiguration der Stateful Inspection Firewall beschrieben. Es werden Richtlinien erstellt, die nur den Internet Verkehr

Mehr

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service (DNS) Aufgabe: den numerischen IP-Adressen werden symbolische Namen zugeordnet Beispiel: 194.94.127.196 = www.w-hs.de Spezielle Server (Name-Server, DNS) für Listen mit IP-Adressen

Mehr

AKTUELLE VERBREITUNG VON HTTP STRICT TRANSPORT SECURITY (HSTS)

AKTUELLE VERBREITUNG VON HTTP STRICT TRANSPORT SECURITY (HSTS) Web Application Security Untersuchung AKTUELLE VERBREITUNG VON HTTP STRICT TRANSPORT SECURITY (HSTS) 05.11.2012 - V1.1 Sven Schleier, SecureNet GmbH Thomas Schreiber, SecureNet GmbH Abstract Das vorliegende

Mehr

Denn es geht um ihr Geld:

Denn es geht um ihr Geld: Denn es geht um ihr Geld: [A]symmetrische Verschlüsselung, Hashing, Zertifikate, SSL/TLS Warum Verschlüsselung? Austausch sensibler Daten über das Netz: Adressen, Passwörter, Bankdaten, PINs,... Gefahr

Mehr

Emailprogramm HOWTO. zum Einrichten von Emailkonten in Outlook Express, Netscape Messenger, Eudora Email und Pegasus Mail

Emailprogramm HOWTO. zum Einrichten von Emailkonten in Outlook Express, Netscape Messenger, Eudora Email und Pegasus Mail Emailprogramm HOWTO zum Einrichten von Emailkonten in Outlook Express, Netscape Messenger, Eudora Email und Pegasus Mail Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnung

Mehr

Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Technische Grundlagen und Beispiele. Christian Hoffmann & Hanjo, Müller

Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Technische Grundlagen und Beispiele. Christian Hoffmann & Hanjo, Müller Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) VPN (Virtual Private Network) Technische Grundlagen und Beispiele Christian Hoffmann & Hanjo, Müller Dresden, 3. April 2006 Übersicht Begriffsklärung

Mehr

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung 4. Internet Verbindung 4.1 Einleitung Im Folgenden wird die Konfiguration der DFL-800 Firewall gezeigt. Sie konfigurieren einen Internet Zugang zum Provider mit dem Protokoll PPPoE. In der Firewallrichtlinie

Mehr