Sicherheit in Rechnernetzen 2005

Aufgabe 1 Buffer Overflow (1+1 Punkte)

int main(int argc, char * argv[]) {
  char i[8];
  char str[40] = "Die Strings ";
  
  strcat(str,argv[1]);
  strcat(str," und ");
  strcat(str,argv[2]);
  strcpy(i, argv[1]);
  
  if (strcmp(i,argv[2]) == 0)
    strcat(str," sind gleich.");
  else strcat(str," sind ungleich.");

  printf("%s\n",str);
  return 0; 
}
1) Kennzeichne Programmzeilen mit Buffer-Overflow. Welcher Buffer ist jeweils betroffen?
2) Wodurch wird ein Buffer-Overflow zum Sicherheitsrisiko?

Aufgabe 2 DoS (1+2 Punkte)

1) Was versteht man unter DoS?
2) Wie versuchen moderne TCP-Anwendungen diese zu vermeiden + Verfahren erläutern.

Aufgabe 3 Diffie-Hellman (1+2+3 Punkte)

1) Welches Problem soll DH lösen?
2) Geg.: p=11, g=2, yA=9 und yB=
Ges.: privater Schlüssel xA von Alice und gemeinsamer geheimer Schlüssel
3) Man sollte angeben, gegen welches Problem DH schutzlos ist, zudem solch einen Angriff beschreiben. Welche Gegenmaßnahmen gibt es?

Aufgabe 4 DMZ (1+1+1+3 Punkte)

1) Was versteht man unter einer DMZ?
2) Soll eine DMZ mit zwei homogenen oder heterogenen Paketfiltern realisiert werden?
3) TCP erleichtert das Filtern, welche Eigenschaft hat TCP?
4) Geg.: DNS-Anfragen vom internen Netzwerk erlaubt, DNS-Anfragen vom externen Netzwerk nicht erlaubt

Gefragt war, warum diese Aufgabe nicht mit einem Paketfilter zu realisieren ist respektive welche Firewall dazu notwendig ist.

Aufgabe 5 PGP/GPG (7 Punkte)

1) Nenne 2 Aufgaben von Signaturen.
2) Wie funktionieren Vertrauensbeziehungen in der PGP-Welt? Begriff?
3) Unterschiede zu PKI-Systemen.
4) Vor- und Nachteile der beiden Systemen.

Aufgabe 6 RSA (1+2+2+1 Punkte)

1) Alice öffentlicher Schlüssel ist n=85 und e=3
(1) Warum ist Alices geheimer Schlüssel d=43?
(2) Bob will verschlüsselt Alice die Nachricht „42“ schicken. Wie lautet der Chiffretext?
2) Bob hat den öffentlichen Schlüssel n=15, e=5 gewählt
(1) Breche den Chiffre, d.h. bestimme den privaten Schlüssel d.
(2) Welche Besonderheit ist hier zu erkennen?