
Information Assurance Design
CIS 105: Structured Programming
Overview:
Suggested Time: 3 class periods
Course Length: 3 Hours Pre-Requisite : None
Target Audience
|
Levels |
Disciplines |
||
|
CS |
|
CIS |
|
|
Undergraduate |
x |
|
x |
|
Graduate |
|
|
|
Description: This course
introduces students to the concepts of Information Assurance as it relates
to Structured Programming. It
includes a very brief overview of the topic of secure programming methods,
ethical issues in programming security, and the use of class loaders and
security managers.
Objective(s): The primary purpose
of this course is to:
Goals/Outcome: The students will be
able to: ·
Understand
the importance of program security and how to implement secure control
structures such as modularity and data hiding. ·
Identify
class loaders and their responsibility for determining when and how
classes can be added to a running Java environment, as well as making sure
that important parts of the Java runtime environment are not replaced by
impostor code. ·
Identify
security managers and the methods that could be used with it.
Outline: ·
Secure
programs Ř
What is a
secure program? Ř
Unexpected
program behavior Ř
Types of
flaws o
validation
error (incomplete or inconsistent) o
domain
error o
serialization
and aliasing o
inadequate
identification and authentication o
boundary
condition violation o
other
exploitable logic errors ·
Class
Loaders Ř
What is a
class loader? o
enable
the JVM to load classes without knowing anything about the underlying file
system semantics o
allow
applications to dynamically load Java classes as extension modules Ř
How are they
used? ·
Security
Managers Ř
What are
security managers? o
Establishes
a custom security policy for Java applications Ř
What are
the different security manager methods and how are they implemented? o
checkRead o
checkWrite o
checkConnect Suggested Assignments: References: ·
Hoffman,
Lance J. Modern Methods for Computer Security and Privacy. ·
Mahmoud, Qusay H.
“Understanding Network Class Loaders.” Sun Microsystems. October
2004. April 11, 2005.< http://java.sun.com> ·
Oaks,
Scott. Java Security. ·
Pfleeger, Charles P. and ·
Venners, Bill. “Java security: How to install the security
manager and customize your security policy.” Java World. November
1997. April 11, 2005.< http://www.javaworld.com>