1) Introduction to information security
- What is information security: examples
- Vulnerabilities, Risks, Exploits, Attackers: definitions
- Security as risk management
2) A short introduction to cryptography
- Brief history of cryptography, highlighting paradigm shifts
- Definition of perfect and computational confidentiality, and constructions to achieve them
- Definition of data integrity, and Message Authentication Codes (MACs)
- Definition of cryptographic hash functions, and their uses
- Asymmetric cryptographic primitives: definition of key agreement, key exchange, digital signatures
- Structure of a Public Key Infrastructure (PKI), and analysis of practical instances
- Critical analysis of engineering mishaps in digital signature schemes and in PKI
3) Authentication
- The three factors of authentication
- Multifactor authentication
- Authentication technologies evaluation; bypassing authentication controls
4) Authorization and access control
- Discretionary (DAC) and mandatory (MAC) access control policies
- Multilevel security and its applications: military secrets management
5) Software vulnerabilities
- Design, implementation and configuration bugs
- Typical memory errors: buffer overflow and format string bugs
- Exploiting applications and local privilege escalation (*)
- Web application security: introduction
- Typical code-injection vulnerabilities: cross-site scripting and SQL injections
- Exploiting real web applications (*)
6) Secure networking architectures
- Network protocol attacks: sniffing, denial of service, spoofing
- Firewall: taxonomy and technologies
- Secure network architectures (DMZ and multi-zone networks)
- Virtual private networks (VPN)
- Secure connections and transactions: SSL and SET
7) Malicious software
- The evolution of malicious software: from the Morris worms to modern malware
- Botnets and underground economy
- Malware analysis
- Antimalware techniques
- Rootkits
The course is complementary and not alternative to cryptography courses such as "095947 CRYPTOGRAPHY AND ARCHITECTURES FOR COMPUTER SECURITY". The overlap with such courses is minimal.
The course has a strong "hands-on" philosophy. Practical exercises will be conducted for all the topics marked with a (*) in the following syllabus. A virtual "hacking lab" experience will be available, where students can practice how to bypass and secure computer applications.
|