TDT4237 Lectures

Lecture 1: Security principles

Some examples of threats and attacks

Basic security goals

Security recommendations

  1. Secure the weakest link
  2. Practise defense in depth, use layers of defence
  3. Fail securely, expect failure of security features
  4. Compartmenalize, separate systems*
  5. Be reluctant to trust, don't trust code libraries, don't trust users
  6. Follow the principle of least privilege, only provide minimal necessary access
  7. Keep it simple, complexity creates vulnerabilities
  8. Promote privacy, "nice to have" vs. necessary information
  9. To hide secrets is hard, a fault of security by obscurity
  10. Use your community resources, share known vulnerabilites

Lecture 2: OWASP Testing Guide - part one

Information gathering

Why information gathering?

What information to gather?

Tools for information gathering

Injection attacks

All input is evil. - Michael Howard, Microsoft

SQL injection countermeasures

Session management attacks

Why session management?

Where to store session token

Session management attacks

Lecture 3: OWASP Testing Guide - part two

XSS

Reflected vs Stored

Mitigation

Cross-Site Request Forgery (CSRF)

Server-Side Request Forgery (SSRF)

Software and data integrity failure

Identification and authentication failure

Authentication

Hashing

Other password security techniques

Security logging and monitoring failures

Clickjacking

Lecture 4: Cryptography

You are expected to learn basic concepts of popular cryptography algorithms and how to use them

Secure communication has two steps

  1. Establish a shared secret key
  2. Transmit data using the shared secret key

Lecture 5: Autorization and stuff

Access control

Privilege creep: People end up wih more access than necessary

Access control on different levels

Access control models

Comparison

x Advantages Disadvantages
DAC Simple and efficient access right management. Scalability. Weak control over information flow.
MAC Strict control over information flow. Strong exploit containment. Cumborsome administration.
RBAC Easy authorization management. Maps to real-world role hierarchy.

Discretionary access control (DAC)

Access control implementation Figure
Access control matrix
Authorization table
Access control list (ACL)
Capabilities

Mandatory Access Control

Bell-LaPadula model
Biba model

Role-Based Access Control

Attribute Based Access Control

Authentication and Single Sign On (SSO)

Control hijacking