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
- Basic concepts: cypher, transposition, substitution
- Symmetric and asymmetric ciphers
- Hash functions, digital signatures and PKI
- Vulnerabilities in digital signature schemes and in PKI
- Why all of the above is almost useless as a security defense
3) Authentication
- The three ways of authentication
- Multifactor authentication
- Authentication technologies evaluation; bypassing authentication control
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
- Hacking real web applications (*)
- Code review and fuzzing: finding bugs in real world applications
6) Secure networking architectures
- Network protocol attacks: sniffing, denial of service, spoofing, DNS poisoning, ARP poisoning
- Firewall: taxonomy and technologies
- Secure network architectures (DMZ and multi-zone networks)
- Virtual private networks (VPN)
- Secure connections and transactions: the tale of SSL and SET and their weaknesses
7) Malicious software
- The evolution of malicious software: from the Morris worms to modern malware
- Mobile malware: the case of malicious Android apps
- Botnets and underground economy
- Malware analysis and honeypots
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" will be available, where students can practice how to bypass and secure computer applications.
|