Kommunikation auf Anwendungsebene Flashcards

1
Q

Codierung von Daten auf Anwendungsebene

A

Auf der Anwendungsebene existiert eine Vielzahl von Möglichkeit der Codierung für den Transport von Daten. Hier steht nicht das Codieren von Bits, sondern das Format, in dem die Daten innerhalb von Netzwerkpaketen angeordnet werden, im Vordergrund.
Beispiele für Codierung:
* Internet Media Type (MIME)
* Extensible Markup Language (XML)
* Tag Length Value (TLV)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Multipurpose Internet Mail Extensions (MIME)

A

MIME wurde ursprünglich für den Einsatz in E-Mails entwickelt, ist aber auch bei der Kommunikation mit HTTP unabdingbar. Druch MIME-Typen wir der Inhalt von Daten beschrieben, beispielsweise werden MIME-Type für Audiodaten, Videodaten oder Text definiert.
Die Codierung der Daten auf Anwendungsebene wird dadurch stark erleichtert, da der jeweilige Empfänger weiss, welche Daten auf welche Weise auszuwerten sind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Extensible Markup Language (XML)

A

XML kann sehr leicht und eindeutig interpretiert werden. Mit XML kann ein eigenes Datenformat entwickelt werden, welches, ohne zusätzlichen Entwicklungsaufwand, von vielen Anwendungen und Systemen interpretiert werden kann.
Mit dem hierarchischen Aufbau des XML-Dokuments lassen sich komplexe Strukturen sehr leicht abbilden. Binäre Daten können in XML eingebunden werden, wenn sie zuvor mit BASE64 codiert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wofür eignet sich die Extensible Markup Language (XML)

A

Mit seiner sehr ausführlichen und von Menschen lesbaren Beschreibung der Struktur, eignet sich XML hervorragend für die Implementierung von Anwendung, da Fehler bei der Übertragung leicht zu identifizieren sind.
Die ausführliche Beschreibung kann jedoch zum Nachteil werden, wenn die Effizienz der Datenübertragung im Vordergrund steht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tag Length Value (TLV)

A

Tag Length Value (TLV) ist ein Prinzip für den Aufbau von Kommunikationsnachrichten. In Bezug auf die Effizienz hat es gegenüber MIME und XML den Vorteil, dass es binär codiert werden kann, es wird also oft eingesetzt, wenn es auf die Effizienz der Übertragung ankommt.
Wenn es im TLV beispielsweise nur acht verschiedene Tags gibt, kann die Länge des TAG-Feldes auf 3 Bit beschränkt werden, gleiches gilt für das Length-Feld.
Angewendet wird TLV bei hocheffizienten Übertragungsprotokollen oder Anwendungen auf Embedded Systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hypertext Transfer Protocol (HTTP)

A

HTTP wird für den Austausch von Daten im Word Wide Web verwendet. Primär wird es eingesetzt für das Übertragen von Webseiten zwischen einem Web-Server und einem Web-Browser.
HTTP soll Daten zuverlässig übertragen und verwendet das Transportprotokoll TCP. Die Kommunikation von HTTP besteht aus englischen Textnachrichten und ist mit Ausnahme der Übertragung von Binärdaten menschenlesbar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Kommunikation mit dem Hypertext Transfer Protocol (HTTP)

A

Eine HTTP-Kommunikation besteht immer aus zwei Nachrichten:
* Anfrage an den Web-Server
* Antwort vom Web-Server

Der Webserver bietet keine Möglichkeit, ohne vorherige Anfragen Daten zu senden. Ausserdem speichert der Web-Server keine Informationen über zurückliegende Kommunikation mit dem Web-Browser. Jedes Frage-Antwort Paar ist dadurch unabhängig voneinander. Beides ist zwar heutzutage möglich, wird aber innerhalb der Webanwendung realisiert und verwendet weiterhin das Frage-Antwort-Prinzip von HTTP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Kommandos und Antworten vom Hypertext Transfer Protocol (HTTP)

A

Anfragen an den Web-Server werden mit den Kommandos GET, POST oder HEAD eingeleitet. Diese erlauben es Daten von einem Web-Server abzufragen.
Der Web-Server antwortet auf die Anfrage mit einem Statuscode und einer Klartextmeldung. Die Statuscodes werden in unterschiedliche Kategorien eingeteilt:
* 1xx: Informationen
* 2xx: Erfolg
* 3xx: Umleitung
* 4xx: Clientfehler
* 5xx: Serverfehler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Codierung im Hypertext Transfer Protocol (HTTP)

A

Daten werden von Webservern codiert als ASCII-Werte versendet. In HTML-Dokumenten sind in der Regel alle Zeichen codierbar, bei der Übertragung von Binärdaten wir Grafikdateien kann es jedoch zu Problemen kommen, da auch nicht druckbare Zeichen enthalten sein können. Um übertragen werden zu können, müssen Binärdaten vorher BASE64 codiert werden, was aus der ursprünglichen 8 Bit pro Byte eine 6 Bit pro Byte Codierung erzeugt. Die übertragenen Binärdaten werden dadurch zwar etwas grösser, können dafür auf allen Systemen empfangen und dargestellt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dynamische Webseiten mit HTTP

A

Dynamische Webseiten generieren ihre Daten abhängig von den Eingaben der Benutzer und stellen diese als HTML-Dokument dar. Auf der Seite des Web-Servers liegen diese Webanwendungen in Sprachen wie PHP oder JSP vor und haben oft eine Datenbankanbindung.
Benutzer senden Informationen an den Web-Server mit zwei unterschiedlichen Kommandos: GET und POST.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

HTTP: GET und POST

A
  • GET: Übertragung der Benutzerdaten an den Web-Server wird in der aufgerufenen URL Codiert.
  • POST: Parameter werden innerhalb der Anfragenachricht gespeichert, nicht in der URL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sicherheit von HTTP

A

Mit HTTP ist nur eine unsichere Übertragung der Webseiten möglich. Für eine sichere Übertragung wurde die Erweiterung HTTPS entwickelt, welche das TLS Protokoll verwendet. Dieses authentifiziert den Web-Server und kümmert sich um eine verschlüsselte und integritätsgeschützte Übertragung.
Nach dem Aufbau der TCP-Verbindung zwischen Browser und Web-Server wird die TLS-Verbindung aufgebaut. Danach erfolgt die normale HTTP-Kommunikation durch den sicheren TLS-Tunnel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

File Transfer Protocol (FTP)

A

Das File Transfer Protocol (FTP) ermöglicht eine effiziente Übertragung grosser Datenmengen zwischen zwei Systemen. Primär wird es verwendet um Dateien jeglicher Art zwischen einem FTP-Server und einem FTP-Client bidirektional zu übertragen. Um eine zuverlässige und effiziente Übertragung von Dateien zu ermöglichen verwendet FTP als Transportprotokoll TCP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche zwei Übertragungsarten setzt FTP ein und wofür?

A

Damit auch bei der Übertragung von grossen Dateien, die eine gewisse Zeit in Anspruch nimmt, weiterhin Kommandos zwischen FTP-Client und FTP-Server ausgetauscht werden können, arbeitet FTP mit zwei parallelen Verbindungen:
* CONTROL: Über diese Verbindung werden Kommandos zwischen FTP-Client und FTP-Server ausgetauscht.
* DATA: Über diese Verbindung werden, in Abhängigkeit der Kommandos die Daten übertragen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Aktives und Passives FTP

A

Bei beiden Varianten baut der FTP-Client eine bidirektionale CONTROL-Verbindung zum FTP-Server auf. Der Unterschied zwischen aktivem und passiven FTP bezieht sich auf den Aufbau der DATA-Verbindung:
* Aktiv: FTP-Server kann eine DATA-Verbindung zum FTP-Client aufbauen.
* Passiv: FTP-Server kann keine DATA-Verbindung zum FTP-Client aufbauen. Dies ist z.B. der Fall wenn der FTP-Client hinter einer Firewall liegt oder NAT aktiv ist. Der FTP-Client wird in die Lage versetzt eine DATA-Verbindung zum FTP-Server aufzubauen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Sicherheit von FTP

A

Die FTP-Übertragung ist nicht verschlüsselt. Für FTP existiert jedoch die Ergänzung SSH File Transfer Protocol (SFTP), welche eine sichere Übertragung ermöglicht.

17
Q

E-Mail-Verkehr via SMTP, POP3 und IMAP

A

Bei der E-Mail Kommunikation sind zwei verschiedene Server beteiligt:
* Versendender Server: Empfängt E-Mail zunächst vom Benutzer und sendet dieses danach an den E-Mailserver des Empfängers weiter. Sowohl für das Empfangen als auch für das weitersenden kommt das Simple Mail Transfer Protocol (SMTP) zum Einsatz, welches TCP verwendet.
* Empfangender Server: Ist die E-Mail beim E-Mailserver des Empfängers angekommen, hat dieser zwei verschiedene Möglichkeiten diese herunterzuladen. Entweder das Post office Protocol in Version 3 (POP3) oder Internet Message Access Protocol (IMAP), welche beide ebenfalls TCP verwenden.

18
Q

Die Protokolle SMTP, POP3 und IMAP

A

Alle drei Protokolle versenden ihre Kommandos als englische Befehle und sind somit menschenlesbar. Dies hat Vorteile, da Fehler schnell entdeckt werden können, jedoch auch Nachteile da vertrauliche Informationen wie das Benutzerpasswort lesbar sind.
* POP3: E-Mails werden nach dem Herunterladen vom POP3-Server gelöscht um Speicher zu sparen. Die E-Mailsoftware ruft den POP3-Server in regelmässigen Abständen auf.
* IMAP: E-Mails werden nach dem Herunterladen vom IMAP-Server nicht gelöscht. Dies ermöglicht eine synchronisierte Mailbox auf verschiedenen Geräten. Eine E-Mailsoftware hält eine Verbindung mit dem IMAP-Server stets aufrecht.

19
Q

Wie weiss ein SMTP-Server wohin eine E-Mail gesendet werden muss?

A

Die jeweiligen SMTP-Server müssen die Adressen ihrer Kommunikationspartner kennen. Diese sind in den DNS-Einstellungen hinterlegt. Für jede Domain kann ein MX Ressource Record mit der Adresse des zuständigen SMTP-Servers hinterlegt werden.

20
Q

Sicherheit von SMTP, POP3 und IMAP

A

SMTP, POP3 und IMAP sind standardmässig nicht verschlüsselt, es existieren aber sichere Varianten die das SSL-Protokoll oder das TLS-Protokoll verwenden.

21
Q

Protokolle bei Voice-over-IP (VoIP) & Video-Telephony-over-IP (VToIP)

A

Um Sprach- oder Videotelefonie über das Internet Protokoll (IP) zu ermöglichen, müssen mehrere Protokolle in Kombination eingesetzt werden.
Das Session Initiation Protocol (SIP) ermöglicht z.B. den Aufbau von Kommunikationsverbindungen zwischen mehreren Teilnehmern. Es ist jedoch lediglich ein Protokoll in einer Reihe von Protokollen, die zusammen eingesetzt werden, um die Sprach- oder Videotelefonie über IP zu ermöglichen. Zum SIP-Protokollstack gehören primär folgende Protokolle:
* Session Description Protocol (SDP)
* Real-Time Transport Protocol (RTP)
* Real Time Control Protocol (RTCP)

22
Q

Aufbau einer Kommunikationsverbindung mit SIP

A
  • User Agent 1 startet über SIP-Proxy einen Verbindungsaufbau zu User Agent 2
  • SIP-Proxy meldet User Agent 1 zurück, dass er versucht eine Verbindung zu User Agent 2 aufzubauen.
    Gleichzeitig schickt er eine Nachricht für den Verbindungsaufbau an User Agent 2
  • Ist User Agent 2 erreichbar, bestätigt er dem SIP-Proxy, dass versucht wird eine Verbindung herzustellen.
    Gleichzeitig erhält SIP-Proxy die Mitteilung von User Agent 2, dass der Benutzer benachrichtigt wird und es klingelt.
  • SIP-Proxy leitet diese Nachricht an User Agent 1 weiter, dessen Gerät kann jetzt das “Tut-Geräusch” erzeugen, dass signalisiert, dass der Anrufer benachrichtigt wird.
  • Stimmt User Agent 2 durch abnehmen der Verbindung zu, wird eine Bestätigung an den SIP-Proxy gesendet, welcher die Nachricht an User Agent 1 weiterleitet.
  • Verbindung ist somit initialisiert und Aufbau von zwei unidirektionalen RTP-Kanälen wie UDP, sowie einem RTCP-Kontrollkanal kann erfolgen.
23
Q

Wie werden die RTP- und RTCP-Kanäle aufgebaut? (& Kommunikationsarchitektur)

A

Die zwei unidirektionalen RTP-Kanäle sowie der RTCP-Kontrollkanal werden nicht mehr über den SIP-Proxy aufgebaut. Dieser ist lediglich für die Initialisierung der Verbindung verantwortlich. Der direkte Aufbau der Kommunikationskanäle zwischen den beiden User Agents ist nicht nur performanter, der SIP-Proxy muss ausserdem nicht mit Weiterleitung von Multimediadaten unnötig belastet werden.
Es liegt hier ein hybrides Client-Server/Peer-to-Peer-Modell der Kommunikationsarchitektur vor.
Wurden die RTP- und RTCP-Kanäle aufgebaut, kann die Sprach- oder Videotelefonie zwischen den User Agents stattfinden.

24
Q

Abbau einer Kommunikation über SIP

A

Sobalt ein User Agend die Verbindung mittels auflegen beendet, wird eine Nachricht direkt an den anderen User Agent geschickt. Der andere User Agent bestätigt den Erhalt der Nachricht und beendet damit die Kommunikationsverbindung.

25
Q

Beteiligte Protokolle bei Voice-over-IP und Video-Telephony-over-IP mit SIP-Protokollstack

A

SIP definiert keine Voraussetzungen bezüglich Codierung von Audio- und Videodaten, diese müssen während dem Verbindungsaufbau zwischen den Teilnehmern ausgehandelt werden. Standardmässig wird das Session Description Protocol (SDP) verwendet. Für die Übertragung der Daten nach erfolgreichem Verbindungsaufbau ist das Real-Time Transport Protocol (RTP) zuständig. Für die Übertragung der Kontrollinformationen sowie die Aushandlung von Quality of Service Parametern ist das Real-Time Control Protocol (RTCP) zuständig.

26
Q

Was ist ein Proxy, welche Proxy-Typen werden unterschieden?

A

Ein Proxy ist ein Zwischenelement bei einer Verbindung zwischen Client und Server. Client und Server stehen so nicht mehr in direktem Kontakt und kontrollieren nicht autonom den vollständigen Kommunikationsablauf. Der Proxy nimmt aus Sicht des Servers die Rolle eines Clients und aus Sicht des Clients die Rolle eines Servers ein. Sowohl Server als auch Client kommunizieren ausschliesslich über den Proxy miteinander. Die eigentlichen Endpunkte bleiben einander dabei verborgen.
Das Verfahren ist ähnlich zu NAT, wobei dort die ursprünglichen Clients weiterhin die Kontrolle über die Kommunikation behalten.

27
Q

Welche Proxy-Typen gibt es?

A
  • Dedizierte Proxy: auch Server-Proxy genannt. Kann die Kommunikationskontrolle des Clients vollständig übernehmen und somit Verbindungen selbstständig aufbauen, abbauen und verwalten. Wird häufig bei HTTP- oder HTTPS-Verbindungen verwendet. Kommt insbesondere in Firmennetzen zum Einsatz, da es der Systemadministration leicht ermöglicht unternehmensweite Regeln durchzusetzen. Dedizierte Proxy erlauben ausserdem die Filterung von Inhalten und können so Werbung, bekannte Viren, Würmer, Trojaner usw. erkennen.
  • Generischer Proxy: auch Circuit-Level-Proxy genannt. Sind vorherig genannte Funktionen nicht vorhanden wird von einem generischen Proxy gesprochen. Abgesehen von Ablauf beim Verbindungsauf- und Verbindungsabbau entspricht dieser dem Paket-Filter einer Firewall.
28
Q

Sicherheit von Anwendungen und Protokollen

A

Auf Anwendungsebene kann zwischen Sicherheit von Anwendungen und Protokollen unterschieden werden.
* Sicherheit von Anwendungen: Hier kommt es auf eine fehlerlose Programmierung und den Verzicht von anfälligen Funktionen an. Angriffe zielen darauf ab, Fehler in der Implementierung auszunutzen und Programm in einen nicht vorgesehenen Zustand zu versetzen oder die Ausführung von Code vollständig zu übernehmen.
* Sicherheit von Kryptographischen Protokollen: Diese werden gewöhnlich während der Kommunikation angegriffen und durch das Ändern von übertragenen Daten beeinflusst.

29
Q

Angriffsmöglichkeiten auf Netzwerkprogramme und kryptographische Protokolle

A

Für den Angriff auf Netzwerkprogramme gibt es verschiedene Werkzeuge. Z.B. können mit Fuzzing alle möglichen Eingabewerte getestet und die Reaktion des Programms ausgewertet werden oder es werden Datenbanken mit verwundbaren Programmen und den dazugehörigen Informationen zu Sicherheitslücken, verwendet.
Angriffe auf kryptographische Protokolle gestalten sich meist schwieriger. Häufig muss ein Angreifer Man-in-the-Middle sein, d.h. jegliche Kommunikation mitschneiden und verändern können. Man-in-the-Middle kann er z.B. durch ARP-Poisoning oder DNS-Cache Poisoning werden, danach kann die von ihm weitergeleitete Kommunikation beeinflusst werden.

30
Q

Schutzmöglichkeiten auf der Anwendungsebene

A
  • Alle Softwarekomponenten, besonders aber Anwendungen mit Anbindung an das Internet sollten auf dem aktuellen Softwarestand gehalten werden.
  • Firewall einsetzen, die lediglich die vorgesehene Kommunikation erlaubt.
  • Intrusion Detection System (IDS) oder Intrusion Prevention System (IPS) einsetzen, damit Angriffe erkannt und abgewehrt werden können.
31
Q

Intrusion Detection System (IDS)

A

Ein Intrusion Detection System (IDS) stellt die Überwachung eines Hosts oder Netzwerks bereit.

Intrusion Detection Systeme (IDS) arbeiten ausschliesslich passiv und protokollieren oder melden Angriffe. Intrusion Prevention Systeme (IPS) sind spezielle IDS, die nach erkennen des Angriffs Massnahmen, wie Unterbrechen des Angriffs oder Blockieren des Angreifers, vornehmen können.
IDS wie auch IPS sollten hinter der Firewall eingesetzt werden, damit ohnehin verbotene Pakete nicht analysiert werden müssen.