COMP 555 - Software Privacy
Overview
The pervasive collection of personal information by end-user and infrastructure software creates important implications for most stakeholders of software systems, including users, administrators, developers, and vendors. Engineering privacy in software requires both technical know-how and knowledge of regulatory standards and practices. As evidenced by the daily reporting of software vulnerabilities and privacy breaches, much remains to be done to improve the standards or privacy protection in software. This course will provide students with the knowledge and experience necessary to make informed privacy-related decisions both as software users and developers.
Course Topics
Conceptual Foundations
- Security and Cryptography Concepts: Passive vs. active attacks, confidentiality/integrity/availability, overview of cryptographic algorithms, symmetric and asymmetric encryption, cryptographic hash functions, digital signatures, public-key infrastructure.
- Information Privacy Concepts: Privacy by design, privacy engineering, privacy vs. security, privacy vs. utility, privacy audits.
- Information Privacy Requirements: Personal and personally-identifiable information, fair information practice principles, overview of privacy regulations, privacy standards, privacy best practices.
- Information Privacy Threats: Privacy threat taxonomies, threat model, privacy weaknesses and vulnerabilities, vulnerability databases.
Technical Controls
- Authorization and Authentication: Privileges, privacy concerns in system access, privacy authorizations, means of authentication, multi-factor authentication.
- Access Control: Subjects, objects, and access rights, access control policies, discretionary vs. role-based vs. attribute-based access control, identity management.
- Malicious Software Detection and Protection: Types of malware, malware protection techniques.
- Intrusion Detection and Protection: Firewalls, intrusion detection techniques.
Application-Specific Concerns
- Privacy in Databases: Re-identification vs. de-identification attacks, anonymization, pseudonymization, k-anonymity, L-diversity, privacy in queryable databases.
- Privacy in Web Applications: Web server/application/browser security, on-line privacy threats, transparent data practices, tracking techniques, privacy notices.
- Privacy in Mobile Applications: Mobile ecosystems, ad networks, mobile device vulnerabilities, information flow analysis.
- Privacy in Cloud Storage: Data collection, storage, and sharing models, IoT security, threats for cloud services users.
Learning Outcomes
After this course, students should be able to...
- Name, describe and explain: The important concepts of privacy in software, the privacy threats, the technical controls used to implement privacy protection, and the regulatory frameworks related to information privacy in software.
- Evaluate: The privacy protection levels of different software systems, and potential solutions for implementing and improving privacy protection in software.
- Apply: the concepts covered in the course in the development of a privacy-respecting software application.
Course Work and Evaluation
Most lectures will be dedicated to
active learning and involve the completion of in-class activities such as: synthesizing data breach reports, comparing privacy policies, searching vulnerability databases.
- In-class group activities: 20%. Students will be asked to complete a task in a small group, and the outcome of the task will be rated for basic quality attributes.
- Quizzes: 10%. These quizzes will be scheduled at the beginning of some lectures to test the students' knowledge of the assigned reading.
- Assignment (Privacy Analysis): 20%. Students will be required to conduct a privacy audit of an existing open-source system in a small group (2-3 students) and produce an oral and written report of their findings.
- Project (Software Development): 50%. In medium-sized groups of 4-6, students will develop a software application by following the principles of privacy by design, demonstrate the application to the class, and produce a written report of their work.
© Martin P. Robillard 2023