Sie sind auf Seite 1von 27

www.egiraffe.

at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

1. Q - What are the main ideas/principles behind packet-switching?

A.- Längere Nachrichten werden in einzelne Datenpakete aufgeteilt. Ein


Paket enthält typischerweise die Quelle des Paketes, das Ziel des Paketes,
die Länge des Datenteils, die Paketlaufnummer und die Klassifizierung des
Paketes. Bei der Paketvermittlung durchqueren die Pakete als unabhängige
Einheiten das Netz und können in den Vermittlungsknoten (Nodes) zwi-
schengespeichert werden.
Vorteile:
• Effizientere Auslastung, da eine Leitung nicht exklusiv belegt wird, son-
dern mehrere Nutzer bzw. Dienste gleichzeitig kommunizieren können.
• Die Ressourcen können fair unter den Teilnehmern aufgeteilt werden
• Wenn es mehrere Routen vom Sender zum Empfänger gibt, kann beim
Ausfall einer Vermittlungsstation der Datenstrom transparent umgeleitet
werden.
Nachteile:
• Da die Übertragunspfade nicht festgelegt sind, kann es zur Überlastung
an einzelnen Vermittlungsstationen kommen.
• Die Pakete können in einer anderen Reihenfolge beim Empfänger ankom-
men, als sie geesendet wurden.

2. Q - Whats the main idea of the End-to-end principle?

A.- Die Intelligenz des Netzwerks liegt bei den Endknoten (d.h. alle appli-
kationsspezifischen Funktionen).

3. Q - What does AJAX mean? Whats the basic idea?

A.- AJAX : Asynchronus JavaScript and XML. Ajax ist ein Konzept
der asynchronen Datenübertragung zwischen einem Browser und dem Ser-
ver. Dadurch ist es möglich HTTP-Anfragen durchzuführen, während eine
HTML-Seite angezeigt wird, und die Seite zu verändern, ohne sie komplett
neu zu laden. Die Hauptidee ist Overhead zu vermeiden.

4. Q - What are the main 4 properties of the layer-concept which is used in the
7 layer OSI reference model or the 4 layer TCP/IP model?

A.-
• Link Layer: Sammelbegriff für verschiedene Techniken zur Datenübertra-
gung (Ethernet, WLAN,...)

Seite 1/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

• Internet Layer : Weitervermittlung von Paketen und Routing, IP Protokoll


• Transport Layer : Zuständing für End-to-end Verbindung, TCP, UDP
• Application Layer : Umfasst alle Protokolle, die mit Anwendungsprogram-
men zusammenarbeiten und die Netzwerkinfrastruktur für den Austausch
anwendungsspezifischer Daten nutzen.

5. Q - Assuming the TCP/IP model: When multiple applications on one host


communicate with other applications on another host, which protocol(s) and
which concept within these protocols ensure that the data is delivered to the
correct applications?

A.- TCP und UDP benutzen ports“ und sockets“. Die Kombination
” ”
aus client-port und server-port ergibt eine einzigartige Kombination die es
ermöglicht die richtige Anwendung zu ermitteln.

6. Q - Whats the main idea of tunneling?

A.- Beim Tunneling wird ein Kommunikationsprotokoll in ein anderes ein-


gebettet. Nur die Tunneling- Partner benutzen das eingebettete Protokoll.
Für alle Zwischenstationen ist nur das darüberliegende Protokoll sichtbar.
(VPN-Tunnel, HTTP-Tunnel, SSH-Tunnel,..

7. Q - What are interfaces and protocols in the layer terminology? (you could
draw a figure)

A.- Ein Interface ist eine Interaktion zwischen Einzelkomponenten (via


Protokoll). Ein Protokoll ist eine Konvention/Standard die Kommunikation
zwischen Interfaces ermöglicht.

8. Q - Explain CSMA/CD? Where is it used?

A.- Carrier Sense Multiple Access / Collision Detection : Zuerst wird über-
prüft ob das Medium beschäftigt ist (carrier sense /Trägerfrequenz präsent
- wenn das nicht der Fall ist kann gesendet werden - multiple access: die
anderen nodes sehen das Signal und senden nichts - nach abschicken des
Pakets wird eine kurze Pause gemacht die garantiert das ein Knoten nicht
das komplette Medium belegt. Da das Trägersignal allerdings eine bestimm-
te Ausbreitungsgeschwindigkeit hat, kann für eine andere node noch nicht
sichtbar sein das bereits gesendet wird - collision tritt auf und wird erkannt
da alle nodes gleichzeitig senden und empfangen. Danach senden nicht bei-
de sofort wieder, sondern warten eine zufällige Zeitspanne ab um weitere
Kollisionen nach Möglichkeit zu vermeiden. Verwendung findet CSMA/CD
z.B. beim Ethernet.

Seite 2/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

9. Q - Explain CSMA/CA? Where is it used?

A.- Carrier Sense Multiple Access / Collission Avoidance : CSMA/CA


wird unter anderem in WLAN-Netzen benutzt. Im Gegensatz zum Ether-
net kann nicht sichergestellt werden, das alle nodes im Empfangsbereich
des sendenden node liegen (hidden node problem). Das wird umgangen, in-
dem ein RTS (ready to send) an den Empfänger geschickt wird, der dannn
wiederrum ein CTS (clear to send) an alle Knoten im Empfangsbereich
schickt, und somit Sendeerlaubnis an den Knoten der RTS gesendet hat
erteilt. Wenn die Daten übermittelt wurden, wird ein ACK geschickt (an
alle).

10. Q - Why is there a length limit for older Ethernet standards? Explain why
this limit is not available for newer standards anymore?

A.- Damit collission detection funktioniert, muss jeder Knoten merken das
ein anderer sendet, bevor er mit dem Sendevorgang fertig ist. Das geht ent-
weder durch eine kürzere Leitungslänge oder durch eine größere Paketlänge.
Im Gegensatz zu alten Ethernet Standards wo die spezifizierte Paketlänge
576 bits war, und die Leitungslänge zum Problem wurde, wurde in neueren
Standards die Paketlänge auf 520 byte erhöht, wodurch die Leitungslänge
keine Rolle mehr spielt.

11. Q - What does the MAC Layer do? What does the LLC layer do?

A.- Der Media Acess Control Layer ist zuständig für den Zugriff zum
geteilten Medium und die Übertragung der frames zwischen des nodes,
durch Verwendung des physical layers (csma/cd). Der Logical Link Layer
ist ein Interface zum network layer und zuständig für die verlässliche frame
Übertragung.

12. Q - How does a switch create a mapping between its ports and the destination
addresses? (How does a switch learn?)

A.- Der Switch besitzt eine Tabelle. In dieser Tabelle werden source mac
adress, port und timestamp gespeichert. Wenn die Zieladresse einer neu-
en Übertragung bereits in der Tabelle gespeichert ist, wird weitergeleitet
zum gespeicherten Eintrag (und timestamp updated). Wenn nicht wird ein
Broadcast durchgeführt. Jeder Knoten(node) der ein frame schickt, wird in
der Tabelle gespeichert.

13. Q - What are the main advantages of a switch when compared with a hub?

A.- An einem hub sieht jede node den kompletten traffic (sniffing leicht ge-
macht). An einem Switch ist nur der eigene traffic (+ broadcasts) sichtbar.

Seite 3/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

14. Q - Whats switch poisoning?

A.- Ein host kann mehrere junk frames mit der falschen source- Adressen
an den switch senden. Dadurch füllt sich die switch-Tabelle und die ech-
ten Adressen werden überschrieben. Dadurch müssen broadcasts benutzt
werden und der Angreifer kann den traffic überwachen.

15. Q - Explain the ICMP protocol (purpose, on which layer, main properties,
why is it needed?)

A.- Das ICMP (Internet Control Message Protocol) dient dem Austausch
von Informations- und Fehlermeldungen über das Internet-Protokoll (IPv4,IPv6).
Dementsprechend wird es dem network layer zugeordnet. Beispiel: Wenn ein
router eine kleinere MTU (maximum transmission unit) als die Paketgröße
hat, sendet er eine ICMP message Typ 3 (Ziel nicht erreichbar) mit Code
4 (Fragmentierung erforderlich).

16. Q - Explain the IPv4 protocol (purpose, on which layer, main properties,
why is it needed?)

A.- IPv4 wird dem network layer zugeordnet.Das IPv4 Protokoll ist für
das Routing zuständig. Es verknüpft verschiedene Netzwerktechnologien in
ein einziges logisches internetwork“. Es basiert auf dem best effort delivery

Modell. Das bedeutet, das keine Garantie übernommen wird, das die Daten
tatsächlich ankommen. Die Information über source und destination adress
steckt im Paket (datagram). IPv4 Adressen bestehen aus 32 bit. Die Pake-
te bestehen aus header und payload. Im IPv4 Header sind Informationen
über Version (IPv4 in diesem Fall), IHL (Internet header Length), DSCP
(Differentiated Services Code Point), ECN (Explicit Congestion Notificati-
on), Total Length, Time to Live, Protocol, Flags, Fragment Offset, Header
Checksum, Source IP- Adresse, Destination IP- Adresse, Identification, Op-
tions).

17. Q - Explain the IPv6 protocol (purpose, on which layer, main properties,
why is it needed?)

A.- Siehe auch IPv4. Es werden 128 bit- Adressen benutzt, anstelle von 32
bit bei IPv4. Der IPv6 Header beinhaltet ebenfalls Source und Destination
IP- Adresse, Version, Payload Length (Header Length ist fixiert bei IPv6),
Traffic Class, Flow Label, Next Header, Hop Limit (maximale Anzahl an
Sprüngen aka TTL). IPv6 unterstützt kein Broadcasting. Das ICMP- Pro-
tokoll ist ein integraler Bestandteil von IPv6. NDP (Neighbor Discovery
Protocol) ist teil von ICMPv6. Es ersetzt ARP.

18. Q - Explain the HTTP protocol (purpose, on which layer, main properties,
why is it needed?)

Seite 4/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.- HTTP : Hyper Text Transfer Protocol. Es befindet sich am applicati-


on layer. Es dient der Übertragun von Daten über ein Netzwerk. Mithilfe
von HTTP- Requests kann ein Client mit einem Server kommunizieren.
Requestliste: GET, HEAD; OPTION, TRACE, POST, PUT, DELETE,
PATCH . Der Server schickt daraufhin eine HTTP-Response. Ein Hyper-
text ist ein Text mit netzartiger Struktur (Verknüpfungen, hyperlinks).
Mit HTTP lassen sich allerdings nicht nur Hypertexts übertragen. Es wird
mittlerweile für alle möglichen Daten genutzt.

19. Q - Explain the TCP protocol (purpose, on which layer, main properties,
why is it needed?)

A.- TCP (transmission control protocol) befindet sich am transport layer.


Es ist zuständig für congestion control, flow control, reliable transmission,
error detection, ordered delivery, multiplexing, connection oriented. Appli-
cations schreiben byte auf den TCP stack und TCP macht den Rest. Im
TCP - Header stehen Source Port und Destination Port (je 16 bit, sequence
number (32 bit), acknowledgment number (32 bits), data offset (4 bits), re-
served (3 bits), flags (9 bits) , window size (16 bits), checksum, urgent
pointer, options.

20. Q - Explain the ARP protocol (purpose, on which layer, main properties,
why is it needed?)

A.- ARP : Adress Resolution Protocol- gehört zu Data Link Layer bzw.
Network Layer. ARP wird benutzt um im lokalen LAN nach der MAC-
Adresse zu fragen, wenn etwas an eine IP - Adresse geschickt werden soll.
Der PC mit der gefragten IP- Adresse antwortet daraufhin mit der dazu-
passenden MAC- Adresse. Falls sich die MAC- Adresse ändert aber die IP-
Adresse die selbe bleibt (z.B. Backup- Gerät schaltet sich ein), kann man
Mithilfe eines gratuitous ARP-requests den ARP cache updaten.

21. Q - What does the ARP cache do?

A.- Informationen die durch die ARP- requests erhalten wurden (also Ver-
knüpfungen zwischen IP- Adresse und MAC- Adresse) werden hier gespei-
chert. (Verringerung von Overhead)

22. Q - Explain the VLAN concept.

A.- Ein VLAN ist ein logisches Teilnetz innerhalb eines Switches. Die
Idee ist das ein VLAN-fähiger Switch die Frames eines VLANs nicht in ein
anderes VLAN weiterleitet, obwohl die Teilnetze an gemeinsame Switches
angeschlossen sind. Das kann aus Sicherheitsgründen geschehen, oder auch

Seite 5/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

um Traffic zu verringern (kein Broadcast in andere VLANS). Verbindun-


gen zu VLANs werden aufgebaut wie zwischen 2 LANs, man benutzt einen
router (meistens im switch integriert). Um 2 switches zu verbinden, die die-
selben VLANs anbieten, wird ein sogenannter trunk port verwendet. Dabei
werden Daten aus unterschiedlichen VLANs über eine einzige Verbindung
weitergeleitet (asynchrones Multiplexing). VLAN wird spezifiziert in IEEE
802.1.q

23. Q - What is a collision domain in Ethernet terms?

A.- Eine collision domain ist ein Teilbereich des Netzwerks, in dem Daten-
pakete miteinander kollidieren können, wenn sie durch ein geteiltes Medium
geschickt werden.

24. Q - Explain gratuitous ARP messages: Which two methods can be used? In
terms of security: What can an attacker do with such messages? What is the
basic idea behind this attack?

A.- 2 methods : gratuitous ARP request, gratuitous ARP reply. In bei-


den Fällen wird die TARGET-MAC-Adresse als broadcast gesetzt. Ein An-
greifer kann einem anderen client mitteilen das die IP-Adresse des servers
zur MAC-Adresse des Angreifers gehört und dem Server mitteilen das die
IP-Adresse des clients ebenfalls zur MAC-Adresse des Angreifers gehört.
Daraufhin wird der traffic über ihn umgeleitet. Er agiert als sogenannter
man-in-the-middle.

25. Q - Which security mechanisms are in place in the ARP protocol? What
can an attacker do?

A.- Innerhalb des ARP- Protokolls ? - Eigentlich keine. Man sollte HTTPS
verwenden, und darauf achten keine falschen Zertifikate zu akzeptieren.

26. Q - Can ARP poisoning be applied in switched networks? Explain your


answer.

A.- Ja, die Frames werden zwar nur an den richtigen host geschickt (auf-
grund der Tabellen), aber genau die werden ja durch ARP- Poisoning über-
schrieben.

27. Q - What does move the intelligence to the hosts mean? What are the
advantages?

A.- Das nicht die Verbindungselemente /das Netz, überwacht wie Pake-
te genau aussehen /übermittelt werden, sondern die jeweiligen Endkno-
ten/ hosts. Flusskontrolle, congestion control, error handling, usw. wird

Seite 6/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

den hosts überlassen. Vorteile: Deutlich einfacher zu handlen, beispielswei-


se müsste jedesmal jedes einzelne mögliche Verbindungselement neu konfi-
guriert/ bzw. ausgetauscht werden, wenn ein bisher unbekanntes Protokoll
benutzt wird.

28. Q - TCP/IP model: Whats the task of the network layer? Is is based on the
best-effort model, why is it called in that way?

A.- Der network layer ist zuständig für die Übertragung von Datense-
quenzen variabler Länge von source zu destination, über ein oder mehrere
Netzwerke. (Host adressing, message forwarding (routing), connectionless
communication : ein Datenpaket kann verschickt werden, ohne ack). Es
basiert am best-effort-model (siehe IPv4 -Frage)

29. Q - IP Fragmentation: Explain how it works, how is it modeled within the


IP header?

A.- Wenn Daten über einen Link geschickt werden, der eine kleinere MTU
(maximum transmission unit) als die ursprüngliche Paketgröße besitzt, wird
das Paket fragmentiert. Das geschieht indem der router eine ICMP- Feh-
lermeldung an den Sender schickt. Im IP- Header gibt es einen Fragment
Offset (Offset des Originalpakets), Identification (Identifizierung fragmen-
tierter Pakete), Flags (DF (bit 1 ) : don’t fragment, MF (bit 2): more
fragments)

30. Q - What does the DF flag mean within IP? Why is it needed?

A.- DF flag wird benutzt um ein Feedback von Routern zu bekommen


(Paket wird gedropt), die kein ICMP unterstützen.

31. Q - Explain the structure of an IP address: size, its two parts

A.- Eine IP Adresse hat eine Länge von 32 bit (IPv6 : 128 bit). Sie besteht
aus einem network und einem host Teil. Die ersten 3 bit geben an zu welcher
Klasse eine IP- Adresse gehört. Ist die führende Stelle 0 ist es ein Klasse A
Netzwerk (7 bit für network 24 bit für host), sind die führenden 2 Stellen 10
handelt es sich um ein Klasse B Netzwerk (14 bit network, 16 bit host) und
sind die 3 führenden Stellen 110, handelt es sich um ein Klasse C Netzwerk
(21 bit network, 8 bit host). Das bedeutet beispielsweise das es 221 Klasse
C Netzwerke gibt, von denen jedes maximal 28 host Identifizierungen hat.
Da 0 keine gültige Identifizierung ist und 255 für Broadcast reserviert ist,
ergibt das also 254 host-identifier pro Klasse C Netzwerk.

32. Q - What is a subnet mask? How is it used within a router?

Seite 7/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.- Die subnet mask wurde eingeführt, um eine einzige IP Adresse ver-
schiedenen physischen Netzwerken zuzuordnen. Voraussetzung dafür ist das
diese Netzwerke nahe beieinander liegen (z.B. Campus), da sie von weit weg
wie eine einzelne Nummer erscheinen. Wendet man die subnet mask mit ei-
nem logischen UND auf die IP Adresse an, erhält man die subnet address.
Ein Router der subnetting unterstützt, besitzt in seinem forward table die
Einträge SubnetNumber, SubnetMask und NextHop. Der router wendet
nun ein logisches UND auf die destination address und SubnetMask an.
Wenn das Ergebnis mit der subnet number des Eintrags übereinstimmt,
dann ist das der richtige Eintrag.

33. Q - Assuming the notation: 192.168.4.4/30, how does the subnet mask look
like, which address is the network identifier, which address is the broadcast
address? Which are the possible host addresses?

A.- Die subnet Mask wird angegeben durch das /30 , was bedeutet die
ersten 30 bit sind 1 und die letzten 2 bit sind 0. D.h. die subet number ist
192.168.4.4, was gleichzeitig die erste Adresse ist- und somit der network
identifier. Die letzte Adresse berechnet sich aus 192.168.4.4 + die freien bits
der subnet mask 000....11 = 3 d.h. 192.168.4.7, und ist somit die Broadcast
Adresse.

34. Q - Assuming the notation: 192.168.4.4/30, is the address 192.168.4.7 within


this network? Can the address 192.168.4.5 used as host within this network?
Why can 192.168.4.4 not be used for a host within the network?

A.- siehe vorherige Frage: 192.168.4.7 ist die Broadcast Adresse, 192.168.4.5
kann als host benutzt werden und 192.168.4.4 ist der network identifier (und
kann deshalb nicht als host benutzt werden).

35. Q - How was the address space in IPv4 arranged before CIDR? What is
CIDR? Why was it invented?

A.- Das Problem war das es nur sehr wenig unterschiedliche Netzwerk-
Klassen gab. Subnet masks mit /8, /16, /24 und die 3 Klassen A/B/C. Da-
durch gab es mangelnde Granularität und deshalb wurde CIDR eingeführt -
CIDR: Classless Inter Domain Routing. Bei CIDR wird also auf Klassenzu-
ordnungen verzichtet, und nur durch Masken der genaue Bereich definiert.
IP Routing bei CIDR erfolgt mittels RIPv2. Broadcasts werden durch mul-
ticasts ersetzt, wodurch das Problem, das alle hosts die nicht am routing
teilnehmen die routing Information erhalten, umgangen wird.

36. Q - What does the concept private network mean within IPv4? What are
the main differences to a public network? Why do we need this concept? Which
address ranges are used for private networks?

Seite 8/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.- Die Adressen innerhalb von privaten Netzwerken, werden nicht im In-
ternet geroutet. Das ist nötig aufgrund des mangels an IP Adressen- Organi-
sationen bekommen nicht genug public-IP Adressen. Folgende Bereiche sind
für private networks reserviert: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.

37. Q - What is NAT? What is Source NAT? What is Destination NAT?

A.- NAT : Network Address Translation. Die Idee dahinter ist eine IP-
Adresse in eine andere umzuwandeln (private in public). Bei Destination
NAT wird destination IP Adresse eines Pakets umgewandelt (und umge-
kehrt bei Antworten). Source NAT ist quasi der Gegenpart dazu.

38. Q - What is an MTU?

A.- MTU: Maximum Transmission Unit - ist die maximale Anzahl an


Daten die der Link Layer tragen kann.

39. Q - When we route traffic over an IPv4 network, is the same MTU used
for each network segment? What happens with an IPv4 packet when a network
with an MTU, which is smaller than the IPv4 packet, is reached?

A.- Nein, unterschiedliche Router/Elemente können unterschiedliche MTUs


haben. Wenn das Paket zu groß ist, gibt es eine ICMP- Fehlermeldung vom
Router an den source host- das Paket muss fragmentiert werden.

40. Q - Whats MTU Path Discovery? How does the standard method work,
which protocols are used? Why could the standard method fail (and actually
does quite often)?

A.- Der sending host“ schickt IP Pakete mit wachsender Größe und ge-

setzter DF flag. Wenn ein router eine kleinere MTU hat als die Paketgröße,
dann sendet er eine ICMP message (siehe frühere Frage). Durch das Feed-
back ist es normalerweise möglich die geeignete MTU für diesen Pfad zu
ermitteln. Allerdings werden ICMP- Befehle oft geblockt (firewall). Deshalb
funktioniert das gerne mal nicht.

41. Q - Explain unicasting, broadcasting, anycasting? Give an example for any-


casting

A.-

• unicasting: 1 Sender/ 1 Empfänger


• broadcasting : Daten werden an alle Empfänger geschickt
• anycasting : Die Empfänger haben die selbe Adresse, aber Daten werden
nur an den jeweils nächsten geschickt (load balancing). Anwendung : DNS

Seite 9/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

42. Q - Multicasting: Which addresses are used for multicasting in IPv4? Whats
the problem when mapping an IPv4 multicast address to a Ethernet multicast
address? Does this problem exist in IPv6?

A.- 224.0.0.0/4 wird für multicasting reserviert. Wenn man eine multicast
IP Adresse auf eine MAC Adresse mapped, werden nicht alle nicht alle bits
gemapped, da die ersten 4 bit einer IP- multicast-Adresse fix sind. Dadurch
kann ein host multicasts für Gruppen erhalten, zu denen er nicht gehört.

43. Q - How does auto-configuration work in IPv4? Which address range is used?

A.- 169.254.0.0/16 Link-local. Der Netzwerk host wählt eine zufällige Adres-
se aus dem reservierten Bereich und benutzt ARP, um herauszufinden ob
die Adresse im Netzwerk bereits in Verwendung ist, bis eine gefunden wird
die noch nicht in Verwendung ist. Sobald eine solche Adresse gefunden wird,
sollte sie anstelle der Link-Local-Addresse benutzt werden.

44. Q - How do we cope with address depletion in IPv4? Which concept is used
to limit the amount of used public IP addresses? How does this concept work?

A.- Feinere Granularität bei der Vergabe durch CIDR (siehe CIDR-Frage),
Langfristige Lösung : IPv6 - 128 bit Adressen anstelle von 32 bit Adressen)

45. Q - Why do we need MTU-Path-Discovery in IPv6? Why could MTU-Path-


Discovery fail? If it does not work, what can we assume about the MTU?

A.- In IPv6 ist keine Fragmentierung möglich- man ist angewiesen auf die
ICMPv6 Statusmeldungen. (rest siehe MTU- Frage)

46. Q - Do the hosts or the routers check the packets for errors in IPv6? Explain
your answers and the reasons for the IPv6 behavior.

A.- Die Hosts sollen das Error- Handling in IPv6 übernehmen, eine Wei-
terführung von move the intelligence to the hosts“.

47. Q - Explain IPv6 scopes: link-local, unique-local, global

A.- Jede IPv6 Adresse hat einen scope, der bestimmt in welchem Bereich
sie einzigartig sind. Manche sind unique-local (also nur in einem lokalen
Bereich), manche global unique. link-local ist ein spezieller Bereich der für
auto-config benutzt wird.

48. Q - How does auto-configuration in IPv6 work? Describe the link between
IPv6 addresses and MAC addresses and the conversion process. Why could this
be a problem in terms of privacy?

10

Seite 10/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.-
• Bestimmung der link-local-address mithilfe der link-layer-address
• suche nach duplicate addresses (ausser bei anycast)
• router/prefix discovery ausführen um eine Adresse mit global/unique-local
scope zu erhalten.
Die 48-bit MAC-Adresse passt vollständig in die 64 bit für den address part
von IPv6. In die Mitte der MAC-Adresse setzt man 0xFFFE (16 bits) und
flipt ein Bit der MAC- Adresse (universal/local bit). Das ist insofern ein pri-
vacy Problem, da die MAC-Adresse benutzt wird um die public IP unique
zu machen. Dadurch werden Hardware- Informationen public. Ausserdem
ist der User somit leicht zu tracken, da er ein unique Handle besitzt.

49. Q - What are the tasks of the NDP protocol? NDP is part of another
protocol, which one?

A.- NDP : Neighbour Discovery Protocol - ist Teil von IPv6 bzw. genauer
gesagt von ICMPv6. Es ist zuständig für address resolution, duplicate ad-
dress detection, neighbor unreachability detection, router discovery, prefix
disocery, parameter discovery, redirection, next-hop determination, address
auto-configuration

50. Q - Explain the concept behind a VPN? What does tunnel mode mean?
What does transport mode mean? Give an overview about typical VPN setups.

A.- Die Ideen hinter einem VPN (Virtual Private Network) sind confiden-
tality (Daten werden verschlüsselt), source authentifcation (sicherstellen,
das das Paket von der Quelle ist), message integrity (sicherstellen das das
Paket nicht modifiziert wurde). Beim tunnel mode wird das komplette IP
Paket in VPN Pakete eingeschlossen- ein krytographischer Tunnel zwischen
2 Seiten. Im transport mode wird das IP- Paket direkt geschützt- nur das
höhere Protokoll das durch IP übermittelt wird ist geschützt. Typische
VPN- setups:
• company a network - VPN gateway - internet - VPN gateway - company
a network
• road warrior VPN IP - road warrior public IP - internet - VPN gateway -
company a network
• host public IP - internet - host public IP (transport mode)

51. Q - IPSEC protocol: Which sub-protocols are used, explain them. What are
the differences?

11

Seite 11/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.-
• AH (authentication header)
• ESP (encapsulating security payload)

• ISAKMP (internet security association and key management)


• IPSEC NAT-T (zuständig für NAT)

52. Q - Whats AH? Which parts of the IP packet does it cover? Which modes
can be used? Which services does it offer? Can we use NAT with AH (explain
your answer)?

A.- AH (authentication header) protocol gilt für IP header und payload. Es


bietet source authentication, message integrity aber keine confidentality. Es
unterstützt tunnel und transport mode. NAT kann nicht verwendet werden,
da das encrypted IP - Paket im payload steckt, NAT jedoch an einem router
den IP address space auf einen anderen IP address space remapt- wie wenn
die Information encrypted im payload ist?

53. Q - Whats ESP? Which parts of the IP packet does it cover? Which services
does it offer? Can we use NAT with ESP (explain your answer)?

A.- ESP (encapsulating security payload) unterstützt tunnel mode und


transport mode. Es bietet source authentication, message integrity und
confidentality. Im transport mode wird nur der IP payload genommen und
geschützt (also höhere Protokolle), es wird authenticated und encrypted
(aber nicht der IP header des neuen Paketes). Im tunnel mode wird das
ganze Paket eingeschlossen, authenticated und encrypted - aber nicht der
IP header des neuen Pakets. Da der Header weiterhin zugänglich ist, ist
NAT möglich.

54. Q - I want to make sure that the communication between my laptop and
my company server cannot be read by others. I want to deploy IPSEC for that
purpose. Which IPSEC specific protocol do I need to use? Explain your answer.

A.- ESP (NAT ist möglicht), IKE, ISKAMP für den key exchange und den
Aufbau der Verbindung.

55. Q - What is NAT-T within IPSEC? Why do we need it?

A.- Das Problem ist das ESP auf IP basiert und nicht auf einem transport
protocol wie TCP. Ohne Port-Nummern kann der gateway nicht entscheiden
zu welcher internen Maschine er den ESP traffic weiterleiten sollen. Die

12

Seite 12/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

Lösung ist NAT-T : NAT traversal verschachtelt ESP Pakete im UDP traffic
(port 4500).

56. Q - IPSEC: shared-keys vs. certificates? Explain the main differences between
these two concepts and their main advantages/disadvantages?

A.- Bei der shared-key- Methode setzt jemand den key und verschickt
ihn über einen sicheren Kanal an alle anderen Teilnehmer. Das Problem
liegt in der Skalierbarkeit (viele Mitarbeiter, einer verlässt die Firma..) und
ausserdem muss ein sicherer Kanal vorhanden sein. Ausserdem kann es
von road warriors nicht genutzt werden, da in dem Fall nicht ein tunnel
sondern viele tunnel vorhanden sind. In so einem Fall empfehlen sich X509
Zertifikate : gut skalierbar, revocation, chain of trust, etc.

57. Q - Assuming we use an IPSEC VPN with ESP traffic. Further assuming, we
want to deploy NAT. How can a NAT device assign the returning ESP packets
to the right hosts?

A.- Entweder mittels NAT-T oder durch SPI matching- dabei liest ein NAT
device SPI aus und nutzt das um den externen traffic auf interne hosts zu
mappen.

58. Q - Explain the differences between UDP and TCP (in terms of offered
services)

A.- UDP unterstützt error detection und multiplexing, TCP unterstützt


zusätzlich noch flow, control, congestion control, reliable transmission, or-
dered delivery, connection oriented.

59. Q - Why do we need ports within UDP and TCP?

A.- Ports werden für multiplexing benötigt. Der jeweilige Port spezifiziert
die jeweilige Applikation am selben host.

60. Q - Explain flow control, congestion control, reliable transmission, multiple-


xing, ordered delivery?

A.-
• flow control: soll gewährleisten das der sender den receiver nicht mit Pa-
keten überschwemmt, die der receiver gar nicht verarbeiten kann (andere
Bandbreite). Es wird ein buffer bei sender und receiver benötigt und flow
control soll dafür sorgen, das der receiver buffer nicht überladen wird.
Der Sender ermittelt die Bandbreite des Empfängers mit einem sliding
window. Es beinhaltet die Felder LastByteAcked, LastByteSent (gesendet

13

Seite 13/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

aber eben kein ack erhalten) und LastByteWRitten. Der Receiver be-
sitzt ebenfalls ein sliding window in dem folgende Felder vorhanden sind
: LastByteRead, NextByteExpected, LastByteReceived. Betrachtet man
den buffer des receivers, wird klar, das der Sender maximal so viele Daten
schicken kann, wie im Buffer derzeit frei sind. Die Anzahl an bytes die frei
sind nennt man advertised window, und es wird im TCP header abgespei-
chert. Es berechnet sich wie folgt: LastByteReceived - LastByteRead ≤
MaxReceiverBuffer woraus folgt AdvertisedWindow = MaxReceiverBuffer
- (LastByteReceived-LastByteRead).
• multiplexing : source ip address, source port, destination ip address und
destination port bilden einen einzigartigen key und bestimmten zu welcher
Applikation die Verbindung gehört
• ordered delivery : ist dafür zuständig das die Pakete in der richtigen Rei-
henfolge bei der jeweiligen Applikation (bestimmt durch Port Nummern)
ankommen- das wird durch eine 32 bit Sequenznummber gewährleistet,
mit der jedes byte der übertragenen Daten identizifiert wird. Für jede
Übertragungsrichtung gibt es eine eigene Sequenznnummber, die mit ei-
nem zufälligen Wert initialisiert wird (security).
• reliable transmission : ist wie der Name sagt Zuständig dafür das alle Pa-
kete ankommen, bzw. das handling von verlorenen Paketen (Handshake...)
• congestion control : soll vermeiden das das Netzwerk selbst überladen wird.
Unter TCP gibt es ein congestion windows das vergrößert wird wenn alle
Pakete acked werden, und verkleinert wenn Pakete verloren gehen (not
acked). Das congestion window wird vom TCP stack des senders verwaltet.
Es ist nicht Teil des TCP - Headers. Das congestion window wird additiv
vergrößert und multiplikativ reduziert.

61. Q - Explain the socket concept.

A.- siehe multiplexing- port + address (source/destination) = unique key

62. Q - How many ports exist in TCP/UDP? In which categories are they arran-
ged? Give an example how they are chosen when establishing a TCP connection
from the browser to a web server.

A.- Ports reichen von 0 bis 65535. Ports von 0 bis 1023 sind typische ser-
vices. 1024 bis 49151 sind proprietäre Applikationen. 49152 bis 65535 sind
dynamische/private Ports, die von clients während einer session benutzt
werden. Daraus ergibt sich auch das Beispiel für eine Verbindung mit ei-
nem web server. Nehmen wir an der web server benutzt port 80 (http),
der client wählt nun einen port über 49151 aus. Eine andere Applikation
vom selben client würde nun einen anderen port auswählen (ebenfalls über
49151).

14

Seite 14/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

63. Q - How can we uniquely identify a TCP connection within a subnet?

A.- siehe routing - logisches UND mit allen Einträgen

64. Q - Explain the TCP connection establishment between a client and a server:
describe which flags are used, how does the acknowledgement number, sequence
number fields look like?

A.- Server schaltet sich ein - socket (addresse + port) wird erzeugt - Sta-
tus : Listen - Browser schaltet sich ein: erzeugt socket (port 50xxx) und
schickt Paket mit SYN,SEQ=ISN C status:SYN-SENT - Server : erhält Pa-
ket und ändert Status auf SYN Received, sendet Paket : SYN,SEQ=ISN S,
ACK, ACK=ISN C+1 - Client : erhält Paket, Status: ESTABLISHED sen-
det Paket : SEQ=ISN C+1, ACK=ISN S+1 - Server: erhält Paket, Status:
ESTABLISHED

65. Q - TCP/IP network layer: Which services does the TCP/IP network layer
offer? Which services does the transport layer offer? Which main protocols are
used on the network layer, transport layer?

A.- Am network layer wird hauptsächlich IP benutzt, am transport layer


TCP und UDP. Services am network layer (bei IP) : best effort:) , services
am transport layer (TCP) : siehe vorige Frage.

66. Q - Why is congestion control needed? What is the difference to flow control
and what is missing there? What does TCP interpret as sign of congestion?

A.- siehe vorige Frage

67. Q - Explain congestion avoidance in TCP/IP. Why do we need it (since


there is already congestion control)? Whats RED? Whats the main idea behind
ECN? (Main differences between RED and ECN?)

A.- Es macht Sinn congestion zu verhindern, bevor sie tatsächlich auftritt.

• RED (random early detection) : Wenn ein router bemerkt“ das der traffic

bald seine Kapazitäten überschreitet, lässt er ein zufälliges Paket fallen“,

woraufhin die congestion control des clients das windows verkleinert. Die
Idee dahinter ist congestion zu verhindern bevor sie überhaupt auftritt.
Allerdings wird dabei nach wie vor ein Paket gedropt- das könnte manche
Applikationen beeinträchtigen.
• ECN (explicit congestion notification) : Die Idee ist ähnlich wie bei RED,
allerdings wird das Paket nicht gedropt sondern mit dem ECN bit geflagt.
Der receiver setzt daraufhin das ECE bit im TCP header der ACK und der

15

Seite 15/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

Sender reagiert darauf in der selben Weise wie bei RED. Der offensichtliche
Vorteil gegenüber RED ist, das keine Pakete gedropt werden, allerdings
müss ECE vom host unterstützt werden.

68. Q - Explain Fast Transmission.

A.- Annahme: es ist fast retransmit gemeint. Wenn ein Sender die Pakete
1,2,3,4 schickt und Paket 3 verloren geht, schickt der receiver ein ack für
Paket 2, wenn Paket 4 ankommt. Das bedeutet, das Paket 2 zweimal acked
wurde. Wenn das 3mal passiert, schickt der sender das fehlende Paket (in
diesem Fall 3 ), ohne auf den timeout zu warten.

69. Q - Explain the wrap-around problem in TCP/IP, and the associated pro-
blem with the 16 bit windows size field.

A.- Die MSL von 120 Sekunden gibt an, das ein Paket 120 Sekunden
Lebenszeit“ hat. Im TCP header wird die Sequenznnummer der Pakete in

einem 32 bit Feld gespeichert. Ein wrap-around tritt auf, wenn die Sequenz-
nummer (unsigned int) quasi einmal den kompletten unsigned int bereich
durchläuft. Bei einer Leitungsgeschwindigkeit von 1.2 GBIT/s wäre das
nach 28 Sekunden, was bei 120 Sekunden Lebenszeit der Pakete zu Proble-
men führen kann. Ein ähnliches Problem gibt es mit der window size (16
bit im TCP header) und der RTT (round trip time).

70. Q - Explain the basic structure of an HTTP request, the two MOST USED
HTTP requests and two further HTTP requests of your choice.

A.- Ein HTTP request ist wie folgt aufgebaut: type of request, headers
(cookies, language, encoding, etc.), message body (optional) e.g. form.
• GET: ist ein Aufruf an den Server die Informationen zu schicken, die durch
die request URL spezifiziert wurden. Ein typischer GET- Aufruf würde so
aussehen: GET /HTTP/1.1 Host:get.http.server.at
• HEAD: Ein HEAD - Aufruf ist ähnlich wie ein GET aufgebaut, allerdings
werden nur die Meta- Informationen im header zurückgeschickt. Quasi ein
GET ohne body in der response.
• POST: Bei POST werden Ressourcen am Server updated/erzeugt/hinzugefügt-
Beispiel: POST mybills.at/bills erzeugt eine Ressource und returniert my-
bills.at/bills/1
• DELETE: Die Ressource aus dem DELETE - Befehl wird gelöscht.

71. Q - When using HTTP, there is one special concept“, that needs to be

introduced in order to let the server keep track of different HTTP requests of
the same logged-in users.

16

Seite 16/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

• What’s the basic idea of this concept?


• Why is this necessary, shouldn’t the TCP protocol already solve this pro-
blem?
• Explain the three basic methods for transmitting the information required
by the server to keep track of the requests.
• Considering, you need to implement the concept by yourself. Explain one
of the many mistakes that can be made there.

A.- Das Konzept von dem die Rede ist nennt sich session id. Session ids
sind nötig weil HTTP ein stateless protocol ist. Das bedeutet jeder re-
quest wird als unabhängig von vorangegangenen requests betrachtet und
der server verwaltet die session information nicht. Das Konzept von sessi-
on ids führt einen unique identifier ein, der bei jedem request übermittelt
wird und für die gesamte session beibehalten/verwalted wird. Mithilfe von
diesem identifier kann die session verfolgt werden. Voraussetzungen für ses-
sion ids sind zufällige und große, einzigartiger key space, sie sollen nicht
vorhersehbar sein und es wird ein gutes session management framework
benötigt. Die session id muss auf jeden Fall geschützt sein. Wenn eine ses-
sion id in falsche Hände gerät, hat der Angreifer Zugang zu den Ressourcen
des Benutzers, ohne das er die login Daten benötigt. Die 3 Methoden zur
Informationsübertragung von session ids sind URL rewriting, cookies und
hidden fields in forms (werden im HTML page, body gespeichert). Bei URL
rewriting, wird die URL dazu benutzt die Daten zu kodieren (Nachteile sie-
he andere Frage). Bei forms,hidden values wird der POST request genutzt
um die Daten zu übermitteln. Das ist für den Benutzer nicht direkt sichtbar
(aber es steht im source). Die URL enthält in diesem Fall keine Information
über die session, allerdings muss jede Seite dynamisch sein, da die session id
vom Server für jede session/user eingesetzt werden muss. Cookies werden
mittels HTTP header an den server übermittelt - genauere Infos siehe coo-
kie - Frage.

72. Q - Assuming, you are within an open WLAN and use HTTP to talk to a
web server. Further assuming there is an attacker who executes ARP Poisoning.
• What is ARP poisoning, what can the attacker do with it?
• Consider you are using HTTPS. What can the attacker do with ARP
poisoning then?
• What can the attacker already do without ARP poisoning in the open
WLAN

A.- ARP poisoning (siehe frühere Frage), wenn man HTTPS benutzt, kann
sicher der attacker evtl. SSL strip anwenden. Oder wenn es sich um die NSA

17

Seite 17/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

handelt, sich die keys später besorgen falls sie nicht ephemeral waren. Bei
HTTP traffic kann er sich auch die session ids aus den Daten holen.

73. Q - How does a switch get to know which MAC addresses are on which
ports? Sketch the different scenarios...

A.- Sie benutzen eine Tabelle in der die Einträge gespeichert sind. Sollte
keine Adresse bekannt werden, sendet der switch einen Broadcast an alle,
wonach jede source eingetragen wird und einen timestamp bekommt, die
antwortet. Wenn die Zieladresse bereits in der Liste ist, wird die message
dorthin weitergeleitet und der timestamp der source updatet. Wenn die de-
stination MAC address des senders innerhalb des incoming segment port“

ist, wird die Nachricht gedropt (filter).

74. Q - Explain three fields (concepts) that are not present in IPv6 packets
(when compared to IPv4).

A.- Fragmentation (Identification, Flags, Fragment Offset) fehlt in Ipv6.


Die Intelligenz wird zu den clients geschoben (bzgl. packet switching), daher
sollte ein router das nicht tun. Internet Header Length ist ebenfalls nicht
vorhanden, da es keine variable Header-Länge im IPv6 gibt. Außerdem gibt
es keine header checksum - das soll von UDP und TCP gehandhabt werden.
Dadurch wird die Komplexität reduziert (IPv4 router müssen die checksum
dauernd neu berechnen durch die Änderung des TTL- Werts).

75. Q - Name and explain two differences between link-state routing protocols
and distance-vector based routing protocols.

A.- Bei link-state-routing protocols erzeugt jeder node eine map des ge-
samten Netzwerks, modelliert als Graph. Jeder node berechnet den besten
Pfad zu jedem Ziel innerhalb des Graphen. Jeder node erzeugt einen rou-
ting table, durch wählen des besten Pfades. Bei distance-vector Protokol-
len, kennen die router nicht den gesamten Pfad. Sie kennen lediglich die
Richtung in welche das Paket geschickt werden muss, und die Distanz zum
finalen Zielort. Ausserdem werden die Nachbarn des jeweiligen routers von
Änderungen in der Topologie benachrichtigt (bei link-state: alle).

76. Q - Explain the structure of an IPv6 unicast address (the different parts).
How are these different parts used when assigning networks, addresses to sites?
How many bits do the different parts have?

A.- Eine unicast Adresse besteht aus provider part (48 bit), site part
(16 bit) und host part (64 bit). Mit einer Größe von 64 bit kann man
die komplette link-layer-address in die IPv6 Adresse einkapseln. Dadurch
wird auto-configuration trivial, man benutzt einfach die MAC Adresse. Die
ersten 48 bits werden den companys“ gegeben, abhängig vom jeweiligen

18

Seite 18/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

prefix haben sie die Möglichkeit bis zu 16 bit davon zu benutzen um Netz-
werke an sub-provider zu vergeben. Der client kann die 16 bit subnet id
benutzen um weitere Hierarchien zu erzeugen.

77. Q - TCP header field Window size: Whats its purpose? How is it used for
flow control and congestion control? How does it work?

A.- siehe vorige Frage

78. Q - Why do we need ETags? Why could they be a problem for privacy?

A.- ETags werden benutzt für web cache validation- sie sind meistens
ein hash value des jeweiligen Inhalts der Ressource. Die Idee ist mittels
HTTP header die jeweilige Version der Ressource zu identifizieren. Der
Browser speichert den ETag der Ressource und beim nächsten Aufruf wird
der Header mit dem gespeicherten ETag an den Server geschickt und mit
dem dortigen verglichen. Wenn sie unterschiedlich sind wird neu geladen
(und ETag updated), ansonsten gibt es eine HTTP - Statusmeldung 304
(not modified). Das ganze kann insofern zu einem Problem werden, wenn
der Server anstelle von hash values unique ids als ETags benutzt, um somit
bestimmte Nutzer zu tracken.

79. Q - Why do we need sessions in HTTP? Isnt it already possible to handle


sessions via the underlying TCP protocol?

A.- HTTP ist ein stateless Protokoll. Jeder neue Aufruf wird so behandelt,
als wären es der erste.

80. Q - If we do not use secure for our cookies, what could happen?

A.- hijacking

81. Q - If we do not use httponly for our cookies, what could happen?

A.- hijacking

82. Q - Explain the REST concept.

A.- REST : Representational State Transfer. REST bezeichnet die Idee,


dass eine URL genau einen Seiteninhalt als Ergebnis einer serverseitigen
Aktion darstellt, wie es der Internetstandard HTTP für statische Inhalte
(Permalinks) bereits vorsieht.

83. Q - Explain the HTTP requests, GET, POST, PUT, DELETE, OPTIONS,
TRACE, PATCH, HEAD What does idempotent mean? Which requests are
idempotent?

19

Seite 19/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.- Abgesehen von PATCH und POST sind alle requests idempotent.
Das bedeutet das mehrfaches aufrufen das selbe Ergebnis hervorruft. GET,
HEAD, DELETE, POST siehe vorherige Frage.
• PUT : Erzeugt eine neue Ressource, oder ersetzt sie, falls bereits vorhan-
den. Beispiel: PUT mybills.at/bills/1 erzeugt diesen Subordner, wenn er
noch nicht vorhanden ist, ansonsten wird er ersetzt.
• OPTIONS : Eine options - Anfrage an den server returniert unter dem
Feld allow die erlaubten Aktionen und unter dem Feld public die Aktionen,
die allen erlaubt sind. Beispiel: Allow: OPTIONS, TRACE, GET, HEAD
Public : OPTIONS, GET, HEAD
• TRACE : Liefert ein echo des erhaltenen requests (sinnvoll um Änderun-
gen von intermediate servern zu detektieren)
• PATCH : Ändert eine bestehende Ressource. Im body der method werden
diese Änderungen beschrieben.

84. Q - How could HTTP TRACE be used by an attacker to get access to the
session id?

A.- Mit TRACE wird der empfangene request zurückreflektiert. Das ist
beim debuggen hilfreich, um Änderungen von dazwischenliegenden Servern
zu detektieren. Es kann allerdings auch benutzt werden um mittels eines
trace requests an den web server durch auslesen der Antwort cookies aus-
zulesen (die ebenfalls reflektiert werden).

85. Q - Whats the problem of the REFERER header when using URL rewriting
for session handling in HTTP? Explain some other problems associated with
URL rewriting?

A.- URL rewriting kann dazu benutzt werden um session ids innerhalb der
URL zu übermitteln. der HTTP referer header übermittelt Informationen,
von wo aus man eine Seite besucht an die neu aufgerufene Seite. Man möchte
wohl eher nicht, das irgendwelche Seiten die man als nächstes aufruft Zugriff
zu der session id haben die man für die vorhergehende Seite benutzt hat
(security/privacy). Generell ist es nicht ratsam session ids innerhalb der
URL zu haben- einerseits weil Leute gerne links mit anderen teilen, aber
auch wegen logs von web severn oder dem browser- Verlauf.

86. Q - Explain cookies: structure (what information is set by the server), whats
a session cookie, persistent cookie?

A.- Die cookie structure wird via HTTP header vom server gesetzt. Der
Browser speichert cookies und sendet sie zurück, wenn er die website erneut

20

Seite 20/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

besucht. Die Daten sind zwischen name value pairs“. Der Browser weis

wann er cookies senden muss anhand von cookie Parametern. Das wären
domain,path,exp date, secure (browser schickt cookies nur über HTTPS),
httponly (scripts erhalten keine Zugriff auf cookies). Mithilfe von domain
und path wird festgelegt, wann ein browser ein cookie senden soll. Ein
session cookie bleibt solange gültig bis der browser geschlossen wird, ein
persistent cookie bleibt solange gültig bis das exp date überschritten wird.

87. Q - Explain cross-document messaging in HTML5?

A.- Mithilfe der postMessage method der Messaging API, ist es möglich
plain text messages von einer domain zur anderen zu schicken. Dafür muss
der Autor zuerst das window object des receiving document erhalten. Da-
durch können Nachrichten an folgende Fenster geschickt werden: andere
frames/iframes innerhalb des Dokumentfenster des Senders, Fenster die
das Senderdokument explizit mittels JavaScript öffnet, das parent window
vom Senderdokument, das Fenster, das das Senderdokument geöffnet hat.
Das message event, das empfangen wird, hat folgende Attribute: data, ori-
gin (scheme,hostname,port), source (WindowProxy von dem das Dokument
kam (source window))

88. Q - How does the SSLSTRIP tool work? Explain the process in detail.

A.- Angenommen es findet im Open WLAN ARP poisoning statt- wenn


man nun zu seiner Bankseite geht erhält man einen HTTPS-Link für das
Login beim E-Banking. Der Angreifer kann zwar nicht den HTTPS traffic
modifizieren- aber den HTTP traffic. Er agiert als man-in-the-middle und
wenn die Bank den HTTPS -Link schickt, wandelt der Angreifer den Link
in HTTP um. Der Nutzer benutzt nun den HTTP - Link und der Angreifer
kann lesen, was der user an die Bank schickt, er ändert den Link in Richtung
Bank dann wieder auf HTTPS und die Bank denkt das alles normal läuft-
und so geht das immer weiter.

89. Q - Which attacks against HTTPS are possible in an open WLAN?

A.- SSL - Strip (siehe oberhalb) , gefälschte Zertifikate benutzen in der


Hoffnung der Benutzer akzeptiert sie, echte“ Zertifikate erstellen (MD5-

hash collission, von einem CA erhalten) und sie mittels malware im user
store ablegen.

90. Q - When using cookies, why do we need to be careful when switching from
HTTPS to HTTP? Which protection can be used to avoid this problem?

A.- Wenn man zwischen http und https wechselt kann es immer zu SSL-
strip kommen. Eine Lösung wäre die relevanten cookies für z.B. authenti-

21

Seite 21/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

cation getrentt von normalen cookies zu benutzen, und sie prinzipiell nur
dann zu versenden (browser spec) - wenn eine HTTPS Verbindung offen ist

91. Q - Explain the purpose and the problems of the P3P header.

A.- Die Idee hinter dem P3P header ist, das wenn cookies gesetzt werden,
ein P3P- header zur Verfügung gestellt wird. Der user (browser) kennt nun
die P3P-policy der Seite und kann die cookies entweder akzeptieren oder
ablehnen. Das Problem ist das das nicht verpflichtend ist und ausserdem
nicht ganz einfach für den Benutzer.

92. Q - Explain the concept of third-party-cookies. Why are they a problem for
privacy?

A.- Bei einem third-party cookie setzt eine Seite ein cookie für eine andere
domain. Das funktioniert deshalb, weil viele Webseiten Ressourcen von an-
deren Domänen benutzen (scripts,images, content via iframes). Auf diese
Ressourcen wird mittels HTTP requests zugegriffen und der externe Server
stellt cookies zur Verfügung die im Browser gesetzt werden. Das Problem
ist, das auf diese Art der Benutzer getrackt werden kann, ohne diese 3rd-
party-Seite jemals zu betreten. Nehmen wir an, er besucht Seite A die ein
Script von Seite C benutzt, das einen Cookie ablegt. Nun besucht benutzer
Seite B die ebenfalls ein Script von Seite C benutzt- cookie Informationen
werden ausgetauscht und nun hat Seite C die Information erhalten- aha
der Benutzer war nicht nur auf Seite B (und hat sich hier das und das
angesehen), sondern auch auf Seite A (wo er dies und jenes gemacht hat).

93. Q - Explain JSONP. How does it work? What are the shortcomings? Why
was it replaced by CORS?

A.- Bei JSONP wird SOP umgangen. Man macht sich zunutze, das der
script - Befehl von der SOP nicht geblockt wird. Im Gegensatz zu normalem
JSON wird bei JSONP, der Datensatz in einen Funktionsaufruf gewrapt.
Auf diese Art kann eine funktion, die im JavaScript environment definiert
ist, die JSON -Daten manipulieren. Da auf diese Art Daten von jeder be-
liebigen URL ausgeführt werden können, wurde es durch CORS ersetzt
(security).

94. Q - Explain CORS.

A.- Die Idee von CORS (cross origin resource sharing) war, ein frame-
work zur Verfügung zu stellen, das der API am Server die Möglichkeit gibt
den Zugriff zur API einzuschränken. Das bezieht sich auf Anfragen zur
Quelle (request source (origin)), Typ der Anfrage (GET,PUT,POST,etc.)
und ob credentials (cookies) erlaubt sind. Um einen cross-origin request zu

22

Seite 22/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

initiieren, schickt ein browser einen request mit einem origin HTTP hea-
der, dessen Wert die domain ist, die die Seite geliefert hat. Sprich wenn
mein Browser auf Seite B zugreifen will, weil Seite A ein Skript einge-
bunden hat, das diesen Aufruf macht, dann schickt der Browser (wenn er
CORS unterstützt) den domain Namen von Seite B in diesem header an
Seite A. Diese schickt, abhängig davon ob Seite B erlaubt ist, eine access-
control-allow-origin mit dem domain Namen von Seite B an den Brow-
ser. Im header (pre flight) befinden sich folgende Felder : access-control-
allow-origin (check auf Adresse), access-control-allow-methods (spezifizie-
rung der erlaubten HTTP requests), access-control-allow-headers, content-
type. Danach wird der tatsächliche request ausgeführt. Die Header inner-
halb der server response haben dann folgende Felder: access-control-allow-
methods, access-control-allow-origin, access-control-allow-credentials (coo-
kies), access-control-max-age (wie lange die Information gültig ist bis ein
neuer pre-flight-request gemacht werden muss).

95. Q - Same Origin Policy: Which elements are considered when comparing
two origins? How does the SOP work for cookies?

A.- Protokoll und hostname werden überprüft, wobei beim hostname ein
exakter match verlangt wird. Direkter Zugriff auf DOM, cookies und win-
dows von anderen origins“ sind verboten. Direkte HTTP- requests zu an-

deren origins“ sind verboten, mit Ausnahme von img,script,iframe,HTML5

postmessage, other tags.

96. Q - Ways around SOP: Describe how JSONP, AJAX Proxies, or simple tags
can be used to circumvent the SOP

A.-
• AJAX Proxies: Man setzt einen reverse proxy auf dem Server auf, der es
dem browser erlaubt relative Pfade zu den AJAX-requests zu nutzen.
• JSONP : JSON mit padding - Der Skript-Befehl erlaubt den Zugriff auf ei-
ne Resource (z.B. javascrip library) von einer anderen Domain. Die Daten
von der anderen Website können zwar nicht einfach ausgeführt werden,
aber wenn ein functionCall bereits auf der Seite definiert ist, dann könnte
der server die Daten in den functionCall padden.
• simple tag: siehe JSONP - script tags fallen nicht unter die same origin
policy

97. Q - Explain WebSockets (how does the handshake look like, what is their
purpose etc.)

A.- Websockets sind Teil von HTML5- sie ermöglichen bidirektionale Kom-
munikation und erlauben somit das entfernen des HTTP header overheads.

23

Seite 23/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

Sie werden initiiert mit einem GET request an den server, in dem der ser-
ver angewiesen wird, ein upgrade der connection von plain HTTP auf das
websocket- Protokoll durchzuführen (GET, Upgrade:websocket, connecti-
on:upgrade, sec-websocket-key, sec-websocket-protocol, sec-websocket-version,
origin). Der server returniert ein ACK mit Status: 101 (switchting proto-
cols), upgrade:websocket, connection:upgrade, sec-websocket-protocol (das
vom server akzeptierte Protokoll), sec-websocket-accept (SHA-1 codiertes
hash Ergebnis).

98. Q - Explain the Content Security Policy Standard. From which attack does
it protect the user?

A.- Es wird eine Richtlinie (policy) für Web- Applikationen am server er-
stellt. Der Browser setzt sie um. Die policy wird mittels dem CSP HTTP
header Feld an den client geschickt. Danach wird eine sandbox für die
Web- Applikation eingerichtet. Es wird spezifiziert von welchen Quellen
welche Ressourcen erlaubt sind, plain http wird verboten, die erlaubten
web-socket-targets werden definiert, vertrauenswürdige Quellen für Res-
sourcen (iframe,script, etc.) wercen definiert, usw. Dadurch kann z.B. XSS
gestopt werden. Injected code kann nicht auf targets zugreifen, die in der
policy nicht definiert wurden.

99. Q - Explain AJAX, COMET, WebSockets (their relation and the evolution
of the concepts)

A.- Die Idee hinter den Konzepten ist, das man davor statische pages
benutzt hatte, die jedesmal den kompletten Inhalt neu geladen haben, wenn
etwas geändert wurde.

• AJAX : Asynchronous JavaScript and XML. Bei AJAX wird mittels eines
XMLHTTP-requests polling durchgeführt. Der HTTP - header wird in
jeden reqest und jede Antwort eingefügt.
• COMET : ähnlich wie AJAX, nur mit long polling- der request bleibt
solange offen, bis die Daten verfügbar sind.

• Websockets: siehe vorige Frage

100. Q - Give an Overview of the EuroGrabber attack? How did the attack on
the banking web application work and the smartphone work?

A.-
• Desktop wird mit dem Zeus Trojaner infiziert (Mail, browser,..)
• Wenn der Benutzer sich nun in seinen Bank - Account einlogt wird javas-
cript von Zeus injected und der Benutzer wird informiert das Sicherheits

24

Seite 24/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

updates zu installieren sind. (Frage nach Mobiltelefonnummer, OS am


Mobiltelefon)
• Diese Information wird weitergeleitet an DropZone (Angreifer Server)
• Eurograbber schickt eine SMS an das Handy des Benutzers mit der Auf-
forderung ein Sicherheitsupdate zu installieren. Gleichzeitig wird über den
Desktop die Information an den Nutzer geschickt das er eine SMS erhalten
haben sollte.
• Desweiteren bietet der Desktop einen Alternativlink für das Handy an,
sollte die SMS nicht gekommen sein - und es wird darauf hingewiesen das
die Applikation einen Aktivierungscode übermitteln wird.
• Der User installiert die Malware am Handy und schickt den Aktivierungs-
code der angezeigt wird mittels Desktop ab. Daraufhin weis der Angreifer
das alles funktioniert hat.
• Der Benutzer wird informiert das das Sicherheitsupdate abeschlossen wur-
de.
Der Angriff selbst erfolgt bei der nächsten Überweisung- mittels javascript
wird eine eigene Überweisung initialisiert. Der SMS TAN den der user für
seine Überweisung erhält, wird abgefangen und an eine relay- Nummer des
Angreifers weitergeleitet. Der TAN wird am Angreiferserver abgespeichert.
Danach holt sich das javascript den TAN vom Angreiferserver und beendet
die versteckte Transaktion.

101. Q - Give an Overview of the Flame attack: How was the initial host in
the network infected? How did this host change the traffic flow of the other
hosts in the same network? Then, how were the Windows Updates replaced
with malicious ones?

A.- Die Erstinifizierung erfolgt mittels USB-Stick. Zur Verbreitung inner-


halb des LAN, wurden windows updates benutzt. Man bringt die anderen
hosts im LAN dazu, windows updates vom server des Angreifers zu laden.
Die Zertifikate wurden Mithilfe von md5-collission gefälscht- sie wurden als
echt erkannt. Damit die Daten vom Server des Angreifers geladen wurden,
anstelle von Microsoft, wurde WPAD (web proxy auto discovery proto-
col) benutzt. Die Idee dahinter war Proxy Informationen autoamtisch an
browser weiterzuleiten mithilfe des PAC (proxy auto-config) Dateiformats.
WPAD durchsucht DHCP, DNS und im Falle vom Internet Explorer auch
WINS und NETBIOS (beides Protokolle zur address resolution). Bei NET-
BIOS erfolgt die Namensauflösung mittels broadcasts, und der infizierte
host antwortet und schickt ein PAC-File. Dadurch werden die windows
updates über den Proxy des Angreifers geleitet. Windows Updates benut-
zen eigentlich HTTPS aber akzeptieren auch HTTP, somit war auch dieses
Problem umgangen. Und für die Zertifizierung - siehe oben.

25

Seite 25/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

102. Q - Explain the TLS handshake (in detail)

A.-
• client hello: Der Client schickt die TLS Version, eine zufällige Nummber,
die session id, unterstützte cipher suites, mögliche compression methods,
extensions
• server hello : Die Antwort hat die selbe Struktur wie das client hello, es
wird die gewählte cipher suite zurückgeschicht, selbiges gilt für compres-
sion method. Falls keine passende cipher suite gefunden wird gibt es eine
handshake error message
• server certificate : der server schickt eine certificate list, wobei jedes folgen-
de Zertifikat das Vorangehende zertifizieren muss. Das ROOT Zertifikat
kann weggelassen werden, da der client es ja sowieso bereits in seinem
trust store haben muss.

• serverkeyexchange : Wird nur geschickt wenn das im key exchange protocol


(ECDH) vorgesehen ist. In vielen Fällen steckt die Information bereits im
Zertifikat (RSA).
• certificate request (server) : wird oft nicht angefordert- clients haben mei-
stens keine eigenen certificates

• server hello done - teilt dem client mit das das hello und alle zugehörigen
messages übermittelt wurden
• client certificate : wird nur geschickt wenn der server eine certificate re-
quest schickt- meistens nicht der Fall

• client key exchange : ist im Gegensatz zum server key exchange immer
erforderlich - bei RSA wird beispielsweise eine 48 byte großer Zufallseintrag
erstellt der mit dem public key des server Zertifikats verschlüsselt wird
• certificate verify: Verifizierung des Zertifikats

• chance cipher spec : dem server wird mitgeteilt das ab jetzt alles ver-
schlüsselt ist
• finished (client) : hash und MAC der vorangegangenen handshake messa-
ges (verschlüsselt) wird an den server geschickt - der Server dekodiert die
Nachricht und überprüft die hashes

• application data : Verschlüsselter Datenaustausch beginnt.

103. Q - Explain the anti-spam method SPF.

26

Seite 26/27
www.egiraffe.at - Rechner- und Kommunikationsnetze - VO

Prüfungsfragenausarbeitung SS2014

A.- Sender Policy Framework. Die Idee dahinter ist DNS zu benutzen um
zu überprüfen welche Maschinen die Erlaubnis haben E-mails von einer
bestimmten domain zu schicken.

104. Q - Explain the anti-spam method DKIM.

A.- DomainKeys Identified Mail - hier signiert der SMTP- server email
body und header. Der public key ist als txt record innerhalb des DNS ge-
speichert. Wenn die Verifizierung erfolgreich ist, ist der sender ein trusted“

SMTP server.

105. Q - Explain the anti-spam method greylisting.

A.- Die Idee hinter greylisting ist, das ein SMTP server prinzipiell erstmal
eine Fehlermeldung schickt- das die Nachricht nicht übermittelt werden
konnte. Ein normaler SMTP server würde nach Erhalt dieser Meldung und
abwarten der timeout Zeit die Nachricht erneut senden. Eine SPAM- Email
folgt allerdings nicht zwingend dem normalen Protokoll- wenn Millionen
von Meldungen verschickt werden, dann besteht die Möglichkeit nicht, auf
einen Timeout zu warten (vermutlich).

106. Q - Explain the Perfert Forward Secrecy (PFS) Concept for TLS. Give
examples for ciphersuites that offer PFS and that dont. Give a short explanation
why the chosen examples have/dont have the PFS property.

A.- Die Idee hinter PFS ist, das Nachrichten auch dann nicht mehr ent-
schlüsselt werden können, wenn der private key (des Servers unter Druck der
Regierung z.B.) dem Angreifer bekannt wird. Die Lösung dafür sind eph-
emeral keys- also Schlüssel die vernichtet werden, nachdem sie benutzt wur-
den. ECDHE - Elliptic Curve Diffie Hellman Ephemeral wäre eine sichere
Methode für PFS (ECDHE RSA WITH AES 128 GCM SHA). Das bedeu-
tet key exchange mittels ECDHE, authentication mittels RSA , Bulk ciper
ist AES 128 GCM und message authentication ist SHA based MAC. client
hello und server hello messages beinhalten möglicherweise Parameter für
ECC. Der Server schickt ein certificate zum client. Der Server generiert ein
ephemeral key pair und schickt einen signierten public key und Parame-
ter zum client, und signiert mit dem privaten key des server certificates.
Der client generiert ebenfalls ein ephemeral key pair, wonach parameter
und keys mit der clientkeyexchange message zum server geschickt werden.
Mittels ECH wird nun das common secret berechnet.

27

Seite 27/27

Das könnte Ihnen auch gefallen