Introduction to Computer Security
First lecture starts with a definition of computer security and
an explanation of why it is so difficult to achieve. The lecture
highlights the importance of proper threat modelling and risk
assessment. It then presents three complementary methods of
mitigating threats: protection, detection, reaction; and tries to
prove that security thru obscurity is not a good choice.
Real-life threats, vulnerabilities, exploits
and attacks
Second lecture discusses different vectors of attacks and
motives behind them, various types of attackers and ways they
exploit vulnerabilities. It includes studies of real-life cases and
scenarios. The conclusion drawn here is that while many problems can
be solved with cryptography, some lie outside the scope of
cryptographic solutions. Several miscellaneous issues like social
engineering threats are also covered in this part.
Security in different phases of software
development
Last lecture addresses the following question: how to create
secure software? It introduces the main security principles (like
least-privilege, or defense-in-depth) and discusses security in
different phases of the software development cycle. The emphasis is
put on the implementation part: most common pitfalls and security
bugs are listed, followed by advice on best practice for security
development. |