Ontwikkeling van veilige software

Ga naar: navigatie, zoeken
FrankPiessens.jpg

Je vragen zo volledig mogelijk uitschrijven. Tijdens het mondeling leest hij die dan zorgvuldig na en begint dan zo veel mogelijk vragen te stellen om die kleine details die er nog bijhoorden ook eruit te krijgen.

2005-2006

15 januari (burgies)

  1. Project bespreken
  2. Bespreek Kerberos (single sign-on, key distribution, ... heel de reutemeteut)
  3. Access control in Win2000: bespreek de algemene concepten en pas concreet toe.

maandag 23 januari

  • project bespreken bij tine
  • entity authentication: wat is dat? hoe dat men dat?
  • beschrijf hoe men mobiele code uitvoert in platformen als Java en .net
  • beschrijf de fout in volgend programma:
int main(int argc, char *argv) {
  if( argc < 2 ) { exit(1); } // argc is het aantal command line argumenten + 1
  a( argv[1] ); // argv[1] is het eerste argument
}

void a( char* a ) {
  char b[200];
  strcpy( a, b ); // kopieer alles van a naar b tot het speciale "end of string" karakter wordt tegengekomen
}

dinsdag 20 januari 2006

  • Bespreek de cryptografische primitieven en geef voor- en nadelen (en bespreek aan welke voorwaarden ze moeten voldoen (= known text only, .. die dinges).
  • Hoe werkt toegangscontrole in Windows 2000/XP
  • Bespreek certifivaatvalidatie in een PKI
  • Project: overview geven / stackwalking (authorization) uitleggen / authentication uitleggen / andere security beveiligingen omschrijven en die Discretionnary forumowner uitleggen: NIET mogelijk via policy omdat die niet dynamisch gemaakt kan worden, moet dus extra in code gecontroleerd worden.

30 januari 2006 (burgies)

  1. Mondelinge bespreking van het project. (5 punten)
  2. Bespreek de principiële werking van cryptografische protocols voor data protection, zowel voor het geval van synchrone (sessie-georiënteerde) communicatie als asynchrone (bericht-georiënteerde) communicatie (5 punten)
  3. Wat is het belang van de enable_permission() en disable_permission() stack walk modifiers? (5 punten)
  4. Wat is een "non-atomic check-and-use vulnerability"? Geef een voorbeeld. (5 punten)

Voor 2006

  • Bespreking project (5pt)
  • Geef een definitie van volgende begrippen: (1pt per begrip)
    • collision-resistant
    • opaque en transparent keys
    • type sound
    • single sign-on
    • buffer overflow attack
    • chosen-plaintext attack
    • DAC
    • Operation Modes (bij Block Ciphers)
    • Key Authentication / Key Confirmation
  • Geef een overzicht van de belangrijkste cryptografische primitieven, en zeg welke bescherming ze bieden. (5pt)
  • Ontwikkel een veilig systeem om een garagedeuropener te laten werken met een poort zodat een vijand die alle radiosignalen opvangt niet de poort kan openen. Analyseer de veiligheid van het door u ontwikkelde systeem (zwakheden e.d.) de poort kan niet terugsturen naar de zender (dus 1 richtingsverkeer)
  • digi cash volledig uitleggen
  • wat betekent het als een taal safe is, wat is type soundness in deze context, en wat is de invloed van deze twee begrippen op de veiligheid van software?
  • in het kerberos protocol houden de clients de tickets bij als een soort "capabilities". de servers houden geen informatie bij over hun clients. men zou het protocol zo kunnen aanpassen dat de servers een soort tokens bij houden, waarbij deze tokens de informatie bevatten over de identiteit van de client en de sessiesleutel die gebruikt wordt voor deze client. beschrijf welke aanpassingen er nodig zijn aan het protocol om op deze alternatieve manier te werken, welke voordelen en nadelen je aan het nieuwe systeem ziet.
  • Ontwerp een beveiliging voor een garagepoort met afstandsbediening. Het moet onmogelijk zijn om de radiogolven op te nemen en later opnieuw af te spelen. De afstandsbediening stuurt 1 digitale boodschap. Hoe ziet die er uit? Geef beveiligingsaspecten bij je ontwerp. Hoe gaat het algoritme in de garagepoort te werk?
  • Leg Mandatory Acces Control uit en laat zien hoe het omgaat met Trojans.
  • Bespreek Kerberos (5punten) zowel single sign-on als authenticatie als ..(nog iets)
    • bijvraag: wat als je in stap 3 de authenticator {A,T}Ka weglaat?
      • antwoord: meer aanvallen mogelijk op KDC
  • Bespreek Access Control in Win2000 (5p)
    • bijvraag: kan je tot meerdere groepen tegelijk horen (antwoord = JA)
  • Wat is sandboxing? En waarvoor dient het? (5p)
  • leg buffer overflow uit
    • bijvraag: hoe kunt ge als ge een gecompileerd C programma koopt en ge wilt niet testen op bufferoverflow toch zorgen dat ge niet met een bufferoverflow wordt aangevallen ?
    • antwoord:zorgen dat uw OS onderscheid maakt tussen code en data in het geheugen data kan nooit worden uitgevoerd (ook niet als ge daar code overschrijft)
  • leg stack walking uit voor mobiele code
  • wat is MAC, + Trojaanse paard en verband tussen beide (5punten)
  • geef commentaar op "SSL is waardeloos zonder deftige PKI" (5 punten)
  • wat is het belang van enable_permission(0 en disable_permission() bij stackwalking
  • Wat is een "man-in-the-middle" aanval? Geef een concreet voorbeeld.
  • Geef een overzicht van hoe de Java Cryptografie Architectuur en Extensies werken.
  • Geef een overzicht van mogelijke oorzaken van software beveiligings-zwakheden (vulnerabilities).
  • Wat is een "Cryptographic Service Provider (CSP)"? Hoe werken CSP's en wat zijn de voordelen ervan?
  • Bytecode verificatie van mobiele code en verificatie van handtekeningen op mobiele code zijn twee mechanismen die de JVM gebruikt om te beschermen tegen "kwaadaardige" code. Bespreek in hoeverre het nuttig is om beide mechanismen te combineren. Of met andere woorden: is het al dan niet nog zinvol om bytecode verificatie te doen van een klasse waarvan de handtekening al correct geverifieerd is?
  • Bespreek het systeemmodel voor een multi-user besturingssysteem
  • Bespreek verificatie van een certificaat in een PKI
  • Mac's en Digitale handtekeningen zorgen beiden voor integrity controle en origin authentication, definieer beiden, geef verschillen en gelijkenissen, voor en nadelen. (5ptn)
  • Geef een threatanalyse van een p2p file sharing systeem, bespreek de architectuur en bespreek de threats die je ziet. (gelijkaarding aan geziene emailsysteem) (5ptn) toch wil ie hier graag horen wat de assets zijn van het systeem en dan via het STRIDE model (laatste slides) zo de threats gaan identificeren...