Module: Malicious programs and secure programming

Created: Nov 8, 2003
Updated: Nov 11, 2003

Module version number: Version 0.1
Author: Kwok-Bun Yue


Code: SECU001


Objectives

The module studies the classification and logics of common malicious programs: virus, trojan horses, worms, backdoors, logic bombs, etc. It discusses the principles and practices of writing secure programs that can make the systems and applications less prone to attack.


Prerequisite

CSCI 3333


Submodules

Submodule #
Title
code
Description
Prerequisite
*Referenced module
1
introduction to secure programming
SECU1001-1
General principles of secure programming; examples of insecure code; common problems of insecure programs; types of secure programs, tools for secure programming
fluency in programming

2
Common consideration in secure programming
SECU1000-2
Buffer overflow, user input validation, etc.
SECU1001-1

3
Operating Systems consideration in secure programming
SECU1000-3
OS consideration in secure programming using *nix as an example. An introduction to Unix security features and discussion on *nix security programming
SECU1001-1
 
4
Language consideration in secure programming
SECU1000-4
Language consideration in secure programming using Java as an example.An introduction to Java's security model and security related class and discussion on Java's secure programming
SECU1001-1, Java
5
Application consideration in secure programming
SECU1000-5
Application consideration using Web as an example. Secure programming consideration in CGI-Perl and/or JSP
SECU1001-1, Java, JSP, Javascript, CGI, HTTP.
 
6
Introduction to malicious programs
SECU1000-6
An introduction to malicious programs including virus, worms, backdoors, trojan horses, etc. Both technical and social aspects of malicious programs will be discussed.

SECU1001-1, programming.

 
7 Malicious programs: case studies SECU1000-7 A collection of technical case study of malicious programs such as love letter.

SECU1001-1, SECU1001-6

 


Resources


Assignments

Glossary