Designprinciper för säkerhet och Epilog
Marcus Bendtsen
Institutionen för Datavetenskap (IDA)
Avdelningen för Databas- och Informationsteknik (ADIT)
Designprinciper för säkerhet
• Tumregler och utgångspunkter för design
• Framtagna genom lång erfarenhet.
• Ersätter inte riskanalys.
• Grundprinciper:
• Enkelhet:
• Desto enklare en design eller mekanism är, desto mindre kan gå fel.
• Begränsning:
• En entitet har endast tillgång till information som den behöver.
• Entiteter kan endast kommunicera med varandra när det är nödvändigt, och
Designprinciper
• Least privilege
• Fail-safe defaults
• Economy of mechanisms
• Complete mediation
• Open design
• Separation of privilege
• Psychological acceptability
Least privilege
A subject should be given only those privileges necessary to complete its task.
• Subjektets funktion eller roll avgör rättigheter, inte identitet.
• Webbservern ska aldrig ha tillgång till filer i /etc katalogen, oavsett vem som kör webbläsaren.
• Rättigheter läggs till vid behov, tas bort när de inte längre behövs.
• Jag lånar ut min nyckel till mina grannar för att vattna blommorna när jag inte är hemma, tar tillbaka nyckeln när jag kommer hem.
• Rättigheter ett subjekt har kan inte missbrukas.
• Ge inte skrivrättigheter till kataloger där det räcker med att ha läsrättigheter, försök att se till att även om man blir hackad så kan ingen skada ske.
Fail-safe defaults
Unless a subject is given explicit access to
an object, it should be denied access to that object.
• Begränsar hur rättigheter sätts när subjekt eller objekt skapas.
• När man skapar en ny fil bör inte standard vara att ge alla användare skriv och läsrättigheter.
• T.ex: passerkort på LiU. När man får ett nytt kort så har man standardrättigheter, måste lägga till nya ”dörrar” när det behövs.
• Ett problem kan vara att ett system blir för säkert och inte tillåter något av någon.
Economy of Mechanism
Security mechanisms should be as simple as possible
• Förenklar design och implementation av säkerhetsmekanismer.
• Mindre risk för fel i enkla än i komplexa mekanismer.
• Gör det också lättare att förstå och korrigera fel när de inträffar.
Complete mediation
All accesses to an object should be checked to ensure that they are allowed.
• Om subjektet försöker läsa från en fil så kollar operativsystemet om subjektet får läsa från filen.
• Om subjektet försöker läsa från filen igen så kollar operativsystemet rättigheterna igen (för att se att de fortfarande gäller).
• Gör inga antagande baserat på gamla kontroller.
Open design
Security should not depend on secrecy of design or implementation.
• Implementationsdetaljer blir alltid kända.
• Data får givetvis hållas hemligt.
• Detta gäller också i designprocessen.
• Lita inte på security by obscurity
• Exempel:
• Design av krypteringsalgoritmer och säkra protokoll.
Separation of privilege
A system should not grant permission based on a single condition.
• Särskilt tillämpbart på känsliga/värdefulla resurser
• Exempel:
• Dubbla signaturer på juridiskt bindande dokument.
• Kontrollräkning av kontanter vid stora bankuttag.
Psychological acceptability
A security mechanism should not make a resource more difficult to access than if the security mechanism was not present.
• Erkänner den mänskliga faktorn i säkerhet.
• Människor är experter på att kringgå omständlig säkerhet.
• Behöver ofta balanseras mot faktiska säkerhetsbehov.
• Exempel:
• Automatisk utloggning i PC-PUL (musen på space tangenten).
• Säkerhetskontroller på flygplatser.
• Passerkod + kort + nyckel = Anställda sätter en kil i dörren.
EPILOG
Informationssäkerhet
Föreläsning 1
• Confidentiality – Integrity – Availability
• Hot vs Attack – Vem attackerar, varför?
• Policy och mekanism
• Tillit och försäkran
• Cost-benefit
Föreläsning 2
• Risk = konsekvens * sannolikhet
• Riskanalys – CORAS, ISRAM, Attack Träd
Informationssäkerhet
Föreläsning 3
• Accesskontrollmatris
• Formella policymetoder – Bell-LaPadula etc.
• Konfidentialitet
• Integritet
• Accesskontrollmekanismer
• ACL
• Capability
Informationssäkerhet
Föreläsning 4
• Stream cipher
• En bit i taget, PRNG, keystream, IV – (RC4)
• Block cipher
• Ett block i taget, Feistelnätverk – (DES, AES)
• RSA
• Public/Private key
• Diffie-Hellman
• Skapa symmetrisk nyckel över osäker kanal med asymmetriska tekniker.
Informationssäkerhet
Föreläsning 5
• Autentisering
• Något du vet, har, är och vart du är
• Certifikat
• Public key infrastructure
• Validering av certifikat
• Designprinciper
Säkerhet
• Informationssäkerhet har mer att ge (TDDD17):
• Network security – Design of secure networks
• Advanced user authentication
• System security – Hardware, filesystem, etc.
• Risk analysis and risk management
• Business continuity planning
• Disaster recovery planning and physical security
• Software security (TDDC90):
• Vulnerabilities and secure code
• Static and dynamic analysis