Software Security

CompSci 725 FC 02
Clark Thomborson
Handout 1: General Information

Lecturer

Prof Clark Thomborson (Supervisor). Email: <cthombor@cs.auckland.ac.nz>

Published prerequisites

(CompSci 330 Language Implementation or CompSci 333 Functional Programming & Language Implementation) and CompSci 320 Algorithmics.

Acceptable prerequisites

Any two of the following: CompSci 330 Language Implementation, CompSci 333 Functional Programming & Language Implementation, CompSci 320 Algorithmics, CompSci 313 Computer Organisation, CompSci 314 Data Communications Fundamentals, CompSci 340 Operating Systems, CompSci 335 Distributed Objects and Algorithms, CompSci 350 Mathematical Foundations of Computer Science, CompSci 702 Topics in Software Engineering, CompSci 720 Advanced Design and Analysis of Algorithms, CompSci 735 Object-Oriented Systems, CompSci 742 Data Communications and Networks.

Scheduled Lecture Times

First semester 2002, City campus, Math/Phys/CS room 246, TWF 9-10.

Required Reading

You will read approximately 40 technical articles during the first eight weeks of this paper. These will be the basis of our in-class discussions. Some of these articles are available online, and I will hand out the others in hardcopy.

Description

Software security is taking on new importance as e-commerce moves from hype to reality. Software systems are susceptible to a variety of attacks including eavesdropping, playback, denial of service, and unauthorised use. In this paper we will survey the field of software security, with a particular focus on technical and legal means for protection against unauthorised use.

Content

Denial of service, privacy violations, primary and collateral damage. Eavesdropping, playback, binary tampering during delivery, introduction of hostile code, malicious hosts. Unauthorised use by copying, dongle mimicry, decompilation and recompilation, reverse engineering. Software patents, copyrights, trade secrets. Sandbox, blackbox, and cryptographic security. Steganography. Obfuscation, robust and fragile watermarks, fingerprints.

All students in this paper will prepare and deliver an oral presentation based on a published article in this field. Each student will write a 10-page term paper, which may be based either on additional reading or on practical work undertaken during the term.

Assessment

60% exam, 25% project, 15% seminar. If you write a term paper for your "project", it must demonstrate your critical and appreciative understanding of at least three professional publications. If you write a project report, it must demonstrate your competence and creativity in practical work. Your seminar must be a coherent explanation of an advanced topic in software security, showing your careful reading and understanding of one professional publication.

Tentative Schedule

Warning

We will discuss vulnerabilities in widely-deployed computer systems. This is not an invitation for you to exploit these vulnerabilities! Instead you are expected to behave responsibly. Don't break into computer systems that are not your own. Don't attempt to subvert any security system in any other way, for example by taking over someone else's "digital identity". See Department of Computer Science Computer System Regulations and University of Auckland Computer System Regulations.


Updated 4 March 2002 by CDT.