Information Security (3 semester hours) is a comprehensive study of the principles and practices of computer system security including operating system security, network security, software security and web security. Topics include common attacking techniques such as virus, trojan, worms and memory exploits; the formalisms of information security such as the access control and information flow theory; the common security policies such as BLP and Biba model; the basic cryptography, RSA, cryptographic hash function, and password system; the real system implementations, with case study of UNIX, SE-Linux, and Windows; network intrusion detection; software security theory; web security; legal and ethical issues in computer security.
Student Learning Outcomes
The learning outcome is students shall be able to understand what are the common threats faced today, what are the foundational theory behind information security, what are the basic principles and techniques when designing a secure system, how to think adversarially, how today's attacks and defenses work in practice, how to assess threats for their significance, and how to gauge the protections and limitations provided by today's technology
- Course introduction (syllabus, policies, projects, and recent cyber threats overview)
- An overview of information security: confidentiality, integrity, and availability
Understanding the Threats
- Malicious software (Viruses, trojans, rootkits, worms, botnets)
- Memory exploits (buffer overflow, heap overflow, integer overflow, format string)
- Access control theory, access control matrix
- Information flow
- Security policies
- Confidentiality policies (BLP model)
- Integrity policies (Biba, and Clark-Wilson model)
- Hybrid policies (Chinese Wall model, role-based access control)
IMPLEMENTATION I: Cryptography
- Block and stream ciphers
- Cryptographic hash functions, Message Authentication Codes (MAC)
- Public and private key systems
- Message digests. Approximate strength of ciphers
- Password system
IMPLEMENTATION II: Systems
- Secure design principles (Least-privilege, fail-safe defaults, complete mediation, separation of privilege)
- TCB and security kernel construction
- System defense against memory exploits
- UNIX security and Security-Enhanced Linux (SELinux)
- Windows security
- TCP/IP security issues
- DNS security issues and defenses
- Network Intrusion detection and prevention systems
- Vulnerability auditing, penetration testing
- Control flow integrity
- User authentication, authentication-via-secret and session management
- Cross Site Scripting, Cross Site Request Forgery, SQL Injection
Legal and Ethical Issues
- Cybercrime and computer crime
- Intellectual property, copyright, patent, trade secret
- Hacking and intrusion
- Privacy, identity theft.
NOTE: please access all the lecture notes posted in e-learning.
Tuesday, Thursday 5:20PM - 6:20PM
- CS 3340 Computer Architecture
- CS 3376 C/C++ Programming in a UNIX Environment
- CS 4348 Operating Systems Concepts
- CS 4393 Computer and Network Security
- CS 4394 Implementation of Modern Operating Systems
- CS 4389 Introduction to Data and Applications Security
- Developing memory exploits with 5 vulnerable programs
- Exploiting security features in SE-Linux for the access control
- Password system analysis
- Web-security vulnerability analysis
- Alternative projects require instructor's approval
- There will be four homeworks. Details for each homework is TBA
- 5% Class participation
- 30% Class Project
- 20% Homework
- 10% Midterm
- 30% Final
- 5% iCTF
No late submission. Otherwise, it will be penalized or may not be graded.
Students are encouraged to collaborate, particularly on the course project.
But we will limit the team member to at most two students.
We will strictly follow the university policy on cheating and plagiarism which
is available here.
There are also several examples of
If you have any questions regarding this issue, please contact the instructor.