Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 1 » Prüfungsprotokoll/Braindump mündl. Prüfung vom 2012-03-13   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:hauptstudium:ls1:appitesec_20120313_2 [22.03.2012 18:38] neverpanicpruefungen:hauptstudium:ls1:appitesec_20120313_2 [26.09.2012 19:43] (aktuell) mich
Zeile 11: Zeile 11:
 ---- ----
  
-** Dauer: ** ~ 30 min.+** Dauer: ** ~ 30 min.\\
 ** Prüfer: ** Prof. Felix Freiling\\  ** Prüfer: ** Prof. Felix Freiling\\ 
 ** Beisitz: ** (nicht ganz sicher, aber wahrsch.) Michael Spreitzenbarth\\  ** Beisitz: ** (nicht ganz sicher, aber wahrsch.) Michael Spreitzenbarth\\ 
Zeile 24: Zeile 24:
 =====Organisatorisches===== =====Organisatorisches=====
  
-P: (sicherheitshalber) Prüfung für "IT-Sicherheit" korrekt ?\\  +P: (sicherheitshalber) Prüfung für "IT-Sicherheit" korrekt?\\  
-schon mal mündl. Prüfung gehabt ?\\ +schon mal mündl. Prüfung gehabt?\\ 
 Wenn Frage nicht verstanden, nochmal nachfragen.\\  Wenn Frage nicht verstanden, nochmal nachfragen.\\ 
 Wenn Wissenslücke bei best. Frage/Gebiet, zwar mögl. alles relevante das man weiß sagen, aber dann lieber sagen, wenn einem nichts mehr einfällt, statt lange rumzuraten.\\  Wenn Wissenslücke bei best. Frage/Gebiet, zwar mögl. alles relevante das man weiß sagen, aber dann lieber sagen, wenn einem nichts mehr einfällt, statt lange rumzuraten.\\ 
Zeile 32: Zeile 32:
 =====1.Softwaresicherheit===== =====1.Softwaresicherheit=====
  
-P: Mit welchem Gebiet beginnen ?\\ +P: Mit welchem Gebiet beginnen?\\ 
 S: Softwaresicherheit\\  S: Softwaresicherheit\\ 
-P: Haben versch. Schwachstellen kennengelernt. Welche hat ihnen am besten gefallen ?\\ +P: Haben versch. Schwachstellen kennengelernt. Welche hat ihnen am besten gefallen?\\ 
 S: Stack-Overflow\\  S: Stack-Overflow\\ 
-P: Klassiker. Erklären, was ist ein Stack-Overflow, wie kann Angreifer das nutzen ?\\ +P: Klassiker. Erklären, was ist ein Stack-Overflow, wie kann Angreifer das nutzen?\\ 
 S: Prinzipiell Versuch, mit schlecht geprüften Eingaben/Parametern z.B. durch Buffer-Overflow Stack-Frame zerstören, dabei RIP überschreiben mit Speicher-Adresse von eigenem Code im Heap/Stack.\\  S: Prinzipiell Versuch, mit schlecht geprüften Eingaben/Parametern z.B. durch Buffer-Overflow Stack-Frame zerstören, dabei RIP überschreiben mit Speicher-Adresse von eigenem Code im Heap/Stack.\\ 
 Bei return aus aktueller Funktion wird dann zu Adresse in RIP gesprungen.\\  Bei return aus aktueller Funktion wird dann zu Adresse in RIP gesprungen.\\ 
Zeile 52: Zeile 52:
 P: ...(überlegt nächste Frage)\\  P: ...(überlegt nächste Frage)\\ 
 S: noch was eingefallen:\\  S: noch was eingefallen:\\ 
-* wenn "attacker code" auf Stack => Stack ausführbar machen z.B. gcc flag +  * wenn "attacker code" auf Stack => Stack ausführbar machen z.B. gcc flag 
-* evtl. Address-Space-Randomization ausschalten +  * evtl. Address-Space-Randomization ausschalten 
-* evtl. canaries(stack-guards) berücksichtigen +  * evtl. canaries(stack-guards) berücksichtigen 
-P: Warum Stack-Overflow schwerer mit Address-Layout-Randomization ?\\ +P: Warum Stack-Overflow schwerer mit Address-Layout-Randomization?\\ 
 S: genau weiß ichs nicht, aber prinzipiell werden Adressen/virtuelle Adressräume von Prozessen wohl zufällig verteilt und nicht etwa linear z.B. nach PID.\\  S: genau weiß ichs nicht, aber prinzipiell werden Adressen/virtuelle Adressräume von Prozessen wohl zufällig verteilt und nicht etwa linear z.B. nach PID.\\ 
 P: hmm ungefähr. Wichtig v.A., dass Adressen vom selben Programm auf eigenem Rechner nicht gleich sind auf anderem Rechner.\\  P: hmm ungefähr. Wichtig v.A., dass Adressen vom selben Programm auf eigenem Rechner nicht gleich sind auf anderem Rechner.\\ 
  note: TODO:  note: TODO:
  gilt das nur fürs Neu-compilen(=> Adress-Änderungen bei compiler-assembler-linker)  gilt das nur fürs Neu-compilen(=> Adress-Änderungen bei compiler-assembler-linker)
- oder auch auch für fertige binaries(=> Adress-Änderungen bei loader) ? + oder auch auch für fertige binaries(=> Adress-Änderungen bei loader)? 
-P: Was wenn Intel damals Architektur anders entworfen hätte ? z.B. RIP am unteren Ende des Stack-Frames oder Schreibrichtung Speicher von max.2min.\\  +        //Anmerkung: ASLR setzt den Start des Stacksegments (und auch Heap (mmap)) bei **jedem** ausfuehren eines Programmes zufaellig (im Rahmen der Moeglichkeiten, bei Linux ca. 19bit Entropy). Der Sinn dahinter ist das man somit nicht weiss wo der Stack liegt und man in seinem Exploit nicht einfach mit einem Stackoverflow Code in den Stack schreiben kann und dann in diesen Code springen kann. Waehrend ohne ASLR man ja einfach einmal herausfinden muss wo der Stack und somit auch der Exploit-Code liegt und man dann einfach die Ruecksprungaddresse mit dieser **statischen** Addresse ueberschreiben kann. Mit ASLR liegt der Exploit-Code immer an rand() und somit kann man dort nicht mehr (so einfach) hin springen.//\\ 
-Hätte man Problem, in aktueller Funktion eigenen RIP zu überschreiben ?\\ + 
 +P: Was wenn Intel damals Architektur anders entworfen hätte? z.B. RIP am unteren Ende des Stack-Frames oder Schreibrichtung Speicher von max.2min.\\  
 +Hätte man Problem, in aktueller Funktion eigenen RIP zu überschreiben?\\ 
 S: Prinzipiell kann man rel. zum ebp/esp alle Adressen auf Stack ansprechen.\\  S: Prinzipiell kann man rel. zum ebp/esp alle Adressen auf Stack ansprechen.\\ 
 (war etwas verwirrt, hab gezögert und nochmal nachgefragt und nicht gleich gerafft worauf Prüfer hinaus wollte)\\  (war etwas verwirrt, hab gezögert und nochmal nachgefragt und nicht gleich gerafft worauf Prüfer hinaus wollte)\\ 
-P: Wie würde man denn buf bei normaler Architektur konkret überschreiben ?\\ +P: Wie würde man denn buf bei normaler Architektur konkret überschreiben?\\ 
 Schreiben sie mal so ein minimal-sicheres Programm hin. (note: gemeint war, Programm anfällig für Stack-Overflow)\\  Schreiben sie mal so ein minimal-sicheres Programm hin. (note: gemeint war, Programm anfällig für Stack-Overflow)\\ 
 S: S:
Zeile 74: Zeile 76:
 } }
 </code> </code>
-P: genau. Wie könnte man aus strcpy heraus RIP von strcpy überschreiben, wenn z.B. andere Schreibrichtung ? buf wird ja an strcpy übergeben. (hint hint :P)\\ +P: genau. Wie könnte man aus strcpy heraus RIP von strcpy überschreiben, wenn z.B. andere Schreibrichtung? buf wird ja an strcpy übergeben. (hint hint :P)\\ 
 S: achso, wenn buf call-by-ref übergeben wird, kann buf den RIP von der anderen Seite aus überschreiben.\\  S: achso, wenn buf call-by-ref übergeben wird, kann buf den RIP von der anderen Seite aus überschreiben.\\ 
  note: egal wie genau eine Architektur jetzt schreibt oder den Stack-Frame zusammensetzt,  note: egal wie genau eine Architektur jetzt schreibt oder den Stack-Frame zusammensetzt,
Zeile 80: Zeile 82:
  und das ABI der Architektur (z.B. CDECL c calling convention wird vom gcc verwendet)  und das ABI der Architektur (z.B. CDECL c calling convention wird vom gcc verwendet)
  z.B. Reihenfolge die Parameter-Ablage, Stack-Frame-Aufbau, ...  z.B. Reihenfolge die Parameter-Ablage, Stack-Frame-Aufbau, ...
-P: Haben sie Erfahrung aus der Praxis, sind Stack-Overflows immer noch relevant ?\\  +P: Haben sie Erfahrung aus der Praxis, sind Stack-Overflows immer noch relevant?\\  
-S: Hmm nicht sicher, aber ich glaub die LSASS-Schwachstelle in einer der Windows-DLLs war einer ?\\ +S: Hmm nicht sicher, aber ich glaub die LSASS-Schwachstelle in einer der Windows-DLLs war einer?\\ 
 note: und afaik war auch der vom Sapphire genutzte Exploit im MS-SQL-Server einer\\  note: und afaik war auch der vom Sapphire genutzte Exploit im MS-SQL-Server einer\\ 
  
Zeile 87: Zeile 89:
 =====2. Cybercrime===== =====2. Cybercrime=====
  
-P: Wenn sie so eine Schwachstelle entdeckt haben, wie können sie das zu Geld machen ?\\ +P: Wenn sie so eine Schwachstelle entdeckt haben, wie können sie das zu Geld machen?\\ 
 S: Mehrere Wege.\\  S: Mehrere Wege.\\ 
 Erstmal grob entscheiden ob auf "Angebot"-Seite oder "Nachfrage"-Seite. Erstmal grob entscheiden ob auf "Angebot"-Seite oder "Nachfrage"-Seite.
Zeile 96: Zeile 98:
  In der Vorlesung steht dazu bestimmt noch mehr.  In der Vorlesung steht dazu bestimmt noch mehr.
 Mit ner vulnerability ist man erst mal auf der "Angebot"-Seite, aber man kann sie ja auch ohne Vermittler selbst zu Geld machen. Aber spezialisierter ist es wahrsch. effektiver.\\  Mit ner vulnerability ist man erst mal auf der "Angebot"-Seite, aber man kann sie ja auch ohne Vermittler selbst zu Geld machen. Aber spezialisierter ist es wahrsch. effektiver.\\ 
-"Nachfrage"-Seite: Hmm, kann ich hier mit der Sicherheitslücke Geld machen ?? ja, doch z.B. wenn ich von der "Angebot"-Seite wertvolle Daten kaufe\\ +"Nachfrage"-Seite: Hmm, kann ich hier mit der Sicherheitslücke Geld machen? ja, doch z.B. wenn ich von der "Angebot"-Seite wertvolle Daten kaufe\\ 
 und dann mittels einer Sicherheitslücke z.B. Geld von Konten mit ausgespähtem Login an mein schweizer Konto überweise.\\  und dann mittels einer Sicherheitslücke z.B. Geld von Konten mit ausgespähtem Login an mein schweizer Konto überweise.\\ 
  note: wie gesagt, das passt so noch nicht.  note: wie gesagt, das passt so noch nicht.
-P: Ja, das war jetzt schon eher in die Richtung, was sie mit der Schwachstelle anfangen. Wenn sie nur Schachstelle entdecken, gibts Parteien, die ihnen für diese Information Geld geben würden ?\\ +P: Ja, das war jetzt schon eher in die Richtung, was sie mit der Schwachstelle anfangen. Wenn sie nur Schachstelle entdecken, gibts Parteien, die ihnen für diese Information Geld geben würden?\\ 
 S: Ja, z.B. das SW-Unternehmen, von dem die SW stammt. Oder Agenturen, die Informationen über solche Exploits sammeln und an ihre Kunden verkaufen z.B. SW-Unternehmen, Regierungen oder wichtige Persönlichkeiten. Gibt auch Agenturen, die extra solche Exploits suchen.\\  S: Ja, z.B. das SW-Unternehmen, von dem die SW stammt. Oder Agenturen, die Informationen über solche Exploits sammeln und an ihre Kunden verkaufen z.B. SW-Unternehmen, Regierungen oder wichtige Persönlichkeiten. Gibt auch Agenturen, die extra solche Exploits suchen.\\ 
 P: Ja, das war jetzt sozusagen die "legale" Seite.\\  P: Ja, das war jetzt sozusagen die "legale" Seite.\\ 
  note: Erpressung hatte ich nicht explizit erwähnt  note: Erpressung hatte ich nicht explizit erwähnt
-Aber wichtige Persönlichkeiten oder Privat-Leute wollen doch eher wissen, wie sie sich schützen und nicht wie der Exploit geht ?\\ +Aber wichtige Persönlichkeiten oder Privat-Leute wollen doch eher wissen, wie sie sich schützen und nicht wie der Exploit geht?\\ 
 S: Natürlich kaufen das auch Leute um illegales zu tun.\\  S: Natürlich kaufen das auch Leute um illegales zu tun.\\ 
 P: Genau, also z.B. Kriminelle aber auch Geheimdienst-Mitarbeiter\\  P: Genau, also z.B. Kriminelle aber auch Geheimdienst-Mitarbeiter\\ 
  
 =====3. ethische/rechtliche Aspekte===== =====3. ethische/rechtliche Aspekte=====
-P: Wir haben auch Gesetzgebung angeschaut. Haben sie Lieblings-Paragraph z.B. "Hacker-Paragraph" und können sie den Paragraph nennen und was ungefähr drinsteht ?\\ +P: Wir haben auch Gesetzgebung angeschaut. Haben sie Lieblings-Paragraph z.B. "Hacker-Paragraph" und können sie den Paragraph nennen und was ungefähr drinsteht?\\ 
 S: Leider nicht so genau. Aber grundsätzl. wichtig war Unterscheidung, dass man sich nicht nur strafbar mach, wenn man eine Schwachstelle wirklich ausnutzt oder eine Malware wirklich anwendet,\\  S: Leider nicht so genau. Aber grundsätzl. wichtig war Unterscheidung, dass man sich nicht nur strafbar mach, wenn man eine Schwachstelle wirklich ausnutzt oder eine Malware wirklich anwendet,\\ 
 sonder schon wenn man das vorbereitet/plant, die Malware entwickelt und Malware/Exploit verbreitet. Weiß nicht obs jetzt im "Hacker-Paragraph" war oder irgendwo anders.\\  sonder schon wenn man das vorbereitet/plant, die Malware entwickelt und Malware/Exploit verbreitet. Weiß nicht obs jetzt im "Hacker-Paragraph" war oder irgendwo anders.\\ 
-P: OK. Aber wenn sie jetzt z.B. eine Sicherheitslücke finden und an so eine "Agentur" weiterverkaufen, ist das für sie intuitiv legal oder nicht und ist das evtl. nach dem Wortlaut eines Gesetztes strafbar ?\\ +P: OK. Aber wenn sie jetzt z.B. eine Sicherheitslücke finden und an so eine "Agentur" weiterverkaufen, ist das für sie intuitiv legal oder nicht und ist das evtl. nach dem Wortlaut eines Gesetztes strafbar?\\ 
 S: Hmm, also im Graubereich ist es auf jeden Fall. Intuitiv wärs für mich schon eher illegal. Aber nach Wortlaut eines Paragraphen weiß ich nicht.\\  S: Hmm, also im Graubereich ist es auf jeden Fall. Intuitiv wärs für mich schon eher illegal. Aber nach Wortlaut eines Paragraphen weiß ich nicht.\\ 
  
Zeile 119: Zeile 121:
   * gemeinsames Geheimnis k   * gemeinsames Geheimnis k
   * Haben Message Authentication Codes kennen gelernt.   * Haben Message Authentication Codes kennen gelernt.
-  * Was ist das und wofür ist das gut ?+  * Was ist das und wofür ist das gut?
 S: kryptographischer Hash abhäng. von symm. Schlüssel und Nachrichten-Inhalt. Unklar ob immer mit oder ohne plain-text von m. Glaub mit.\\  S: kryptographischer Hash abhäng. von symm. Schlüssel und Nachrichten-Inhalt. Unklar ob immer mit oder ohne plain-text von m. Glaub mit.\\ 
-P: Mal aufschreiben. Warum wird authenticity gewährleistet ?\\ +P: Mal aufschreiben. Warum wird authenticity gewährleistet?\\ 
 S:  S: 
  A->B  A->B
Zeile 131: Zeile 133:
  => authentisch, wenn nur A & B "k" kennen    => authentisch, wenn nur A & B "k" kennen  
  Zusätzlich integrity von m.  Zusätzlich integrity von m.
-P: Was, wenn nicht h_k() verwenden sondern h() ?\\ +P: Was, wenn nicht h_k() verwenden sondern h()?\\ 
 A: am einfachsten z.B. k konkatenieren mit h(k||m)\\  A: am einfachsten z.B. k konkatenieren mit h(k||m)\\ 
-P: Zwar authenticity, aber noch replay-anfällig. Schutz-maßnahme ?\\ +P: Zwar authenticity, aber noch replay-anfällig. Schutz-maßnahme?\\ 
 A: Mehrere Mögl., prinzipiell muss man MAC zustands-abhäng. machen.\\  A: Mehrere Mögl., prinzipiell muss man MAC zustands-abhäng. machen.\\ 
   -   -
Zeile 168: Zeile 170:
 P: Nachfrage (weil zu schwammig. Weiß nicht mehr was genau, was gefragt wurde.)\\  P: Nachfrage (weil zu schwammig. Weiß nicht mehr was genau, was gefragt wurde.)\\ 
 P: Genau, also als Einmal-Passwörter. \\  P: Genau, also als Einmal-Passwörter. \\ 
-Und wenn sich B die Kette merkt (note: oder wars nur h_n oder h_1 ? Würde evtl. schon ausreichen), ist auch Replay von B erkennbar\\ +Und wenn sich B die Kette merkt (note: oder wars nur h_n oder h_1? Würde evtl. schon ausreichen), ist auch Replay von B erkennbar\\ 
  note: und Änderung der Sequenz-Reihenfolge  note: und Änderung der Sequenz-Reihenfolge
 S: Mit der rekursiven Verschachtelung kann man auch MAC-Ketten berechnen (siehe pdf S.13)\\  S: Mit der rekursiven Verschachtelung kann man auch MAC-Ketten berechnen (siehe pdf S.13)\\ 
  note: dann ist replay erkennbar und Manipulation des Inhalts oder der Reihenfolge einer Message-Sequenz.  note: dann ist replay erkennbar und Manipulation des Inhalts oder der Reihenfolge einer Message-Sequenz.
  Vorteil ist hier auch, dass die Kette (theoret.) beliebig lang sein kann.  Vorteil ist hier auch, dass die Kette (theoret.) beliebig lang sein kann.
-P: Das hatten wir aber nicht in der Vorlesung dran ?\\ +P: Das hatten wir aber nicht in der Vorlesung dran?\\ 
 S: Nein , nur in der Übungs-Lösung.\\  S: Nein , nur in der Übungs-Lösung.\\ 
 P: Zwar authenticity und integrity der Nachricht gegeben, aber immer noch gemeinsames Geheimnis k. Um auch das Problem zu lösen, braucht man z.B. Zertifikate. Erklären bitte ...\\  P: Zwar authenticity und integrity der Nachricht gegeben, aber immer noch gemeinsames Geheimnis k. Um auch das Problem zu lösen, braucht man z.B. Zertifikate. Erklären bitte ...\\ 
Zeile 183: Zeile 185:
  note: z.B. Signaturen vom e-mails etc.  note: z.B. Signaturen vom e-mails etc.
  
-P: Vor- & Nachteile von Zertifikaten gegenüber Ansätzen mit symm. Verschlüsselung ?\\ +P: Vor- & Nachteile von Zertifikaten gegenüber Ansätzen mit symm. Verschlüsselung?\\ 
 S:  S: 
   * Vorteile: kein shared key   * Vorteile: kein shared key