CSE 634 Network/System Attack Methods (Spring 2002)
Homework III
Deadline: 4PM, 4/19/2002



Reading Assignments

Chapter 10-12 of the textbook "Hacking Exposed".

Writing/Programming Assignments

  1. Turn in the System Architecture and Software Design sections of your project report.
  2. Write a software tool that can take an arbitrary Linux binary, encrypt it, and package it into another program, which, when executed, will first decrypt the encrypted binary, and successfully run it.
  3. Pick a security protocol, analyze each of its messages exchanged, and explain the rationale of the contituents of each message in terms of the four fundamental principles of computer security: confidentiality, integrity, authentication, and non-repudiation. Each of you should pick a separate security protocol. Try to pick a less known protocol for this exercise.
  4. Study the detailed software architecture of post-Napster peer-to-peer file swapping systems such as Gnutella and Freenet, and devise detailed attacks against them. Based on this experience, suggest protection mechanisms that peer-to-peer systems should include to defend themselves against these attacks.
  5. Although the principle of sandboxing foreign code execution is relativley well understood, identifying the target for sandboxing remains a problem. Describe this problem in more detail based on the Windows 2000 vulnerabilities presented in the class and provide a solution to this sandbox target identification problem.