Outline for March 12, 2003

Reading: text, §22.1-22.5, 22.7, §18

Discussion Problem

Here's a little quiz to inspire you when you study for the final (answers are below the outline -- try it before you look!).

  1. How long did the Hundred Years War last?
  2. In which country are Panama hats made?
  3. Where does catgut come from?
  4. What is a camel's hair brush made of?
  5. What kind of creatures were the Canary Isles named after?
  6. What was King George VI's first name?
  7. What color is a purple finch?
There! Wasn't that easy?

Outline for the Day

  1. Malicious logic
    1. Quickly review Trojan horses, viruses, bacteria; include animal and Thompson's compiler trick
    2. Logic Bombs, Worms (Schoch and Hupp)
  2. Ideal: program to detect malicious logic
    1. Can be shown: not possible to be precise in most general case
    2. Can detect all such programs if willing to accept false positives
    3. Can constrain case enough to locate specific malicious logic
    4. Can use: writing, structural detection (patterns in code), common code analyzers, coding style analyzers, instruction analysis (duplicating OS), dynamic analysis (run it in controlled environment and watch)
  3. Best approach: data, instruction typing
    1. On creation, it's type "data"
    2. Trusted certifier must move it to type "executable"
    3. Duff's idea: executable bit is "certified as executable" and must be set by trusted user
  4. Practise: Trust
    1. Untrusted software: what is it, example (USENET)
    2. Check source, programs (what to look for); C examples
    3. Limit who has access to what; least privilege
    4. Your environment (how do you know what you're executing); UNIX examples
  5. Practise: detecting writing
    1. Integrity check files a la binaudit, tripwire; go through signature block
    2. LOCUS approach: encipher program, decipher as you execute.
    3. Co-processors: checksum each sequence of instructions, compute checksum as you go; on difference, complain
    4. Sandboxes: confine protection domain of process
  6. Assurance
    1. Trust and assurance
    2. Requirements
    3. Policy, design, implementation, operational assurance
    4. Quick review of life cycle

And Their Answers

  1. 116 years (from 1337 to 1453).
  2. Ecuador.
  3. From sheep and horses.
  4. Squirrel fur.
  5. A large breed of dogs. The Latin name was Insularia Canaria - "Island of Dogs."
  6. Albert. When he came to the throne in 1936 he respected the wish of Queen Victoria that no future king should be called Albert.
  7. The distinctively colored parts are crimson.
Courtesy of Peter Langston via the YUCKS digest.

Here is a PDF version of this document.