CS 477 Lecture Notes
Week Eight, Thursday: Project Design and Other Issues
Ethics
Handout: Software Engineering Code of Ethics, Version 3.0
It is the responsibility of every software engineer to know and follow
this to-be-ratified code of ethics.
Security
There are two major aspects to security: keeping data and systems available
to their users and keeping information secret. For an adversary, these
two aspects take the form of denying the enemy the use of his uncorrupted systems
and obtaining secret information.
Availability
Data and systems must be available in an uncompromised form. Perhaps the most
insidious form of denial is to introduce small but potentially
devastating errors into a system without the knowledge of the operators.
Secrecy
Secrecy is the denial to the adversary of unauthorized knowledge. Usually
the world is divided into two sets: those who are authorized and everyone
else. Those not on an access list for a classification of information are
to be denied any view of that data. Authentication and encryption play
important roles in the technologies of secrecy.
Privacy
Privacy is micro-secrecy. It is the individual's right to the protection
of private information.
Threats
In evaluating security, the reasonable threats must be evaluated. First
make a list of all possible threats and evaluate each for liklihood
and impact.
Network Security
Networked systems, the Internet in particular, provide enormous security
challenges.
This page established March 4, 1998; last updated March 6, 2000.