The Cyber Battlefield Learning Objectives.

The first portion of the course introduces the basic components of "cyberspace". We start with digital data, the physical computer, operating systems and programs, and continue to the Web, the Internet, and both wired and wireless networks. These components comprise the basic physical systems, data and protocols that are the building blocks of cyberspace. Specific objectives are:
  1. Digital data.

    1. Define terms such as bit, byte, ASCII, hex.

    2. Convert between binary and decimal number representations.

    3. Use tools to determine a file's type by examining its digital content.

    4. Explain what is meant by the terms "file type", "file format", "file header", and "filename extension", and explain how a filename extension is used and abused.

  2. The Physical Computer.

    1. Describe a computer as a device that manipulates digital data through input, processing, and output.

    2. Name the major physical components of a computer, describe their function, remove them from and reassemble them into a working computer.

    3. Explain program launch and the CPU fetch-decode-execute cycle.

  3. Operating Systems.

    1. Define the purpose of an Operating System (OS) and these core services it provides: access control; and filesystem, process, and user account management.

    2. Describe how the shell is the OS interface for both users and programs, and contrast it with the GUI and API interfaces.

    3. Explain the concept of absolute and relative filesystem pathnames.

    4. Issue shell commands on local and remote systems to accomplish common filesystem tasks.

    5. Describe the distinction between a program and a process.

    6. Explain the role of the OS with respect to security as relates to user accounts, logins, and file/process ownership and access permissions.

    7. Explain the significance of an Administrator ("root") account.

    8. Perform basic OS and network related tasks in both Windows and UNIX.

  4. Programming.

    1. Explain the concepts of data types, expressions and variables, and correctly use them to modify the behavior of simple programs.

    2. Given a simple code example involving branching and loops, explain how the code inputs, processes, and outputs data.

    3. Discuss the implications on program execution of unexpected data input by a user.

    4. Relate an understanding of simple Javascript programs to complex programs and information systems.

  5. The Web.

    1. Describe the World-Wide-Web ("web") as a client-server system involving the HTTP protocol.

    2. Explain the components of a URL.

    3. Given a simple HTML file, describe how it will be rendered by a browser.

    4. Create an HTML file that uses relative and absolute paths, and make it viewable on a webserver.

    5. Describe client-server interaction for a static web page, and the processing done by the browser on the data it receives.

    6. Describe client-server interaction for a dynamic web page that involves user input to a form and server-side scripts.

    7. Discuss tradeoffs between client-side and server-side scripts, and explain why client-side input validation is weaker than server-side.

    8. Explain how an email containing HTML with embedded scripts is a risk to security.

    9. Explain how cookies are used by both the web browser and the webserver.

    10. Explain how reflection, injection attack, and cross-site scripting work and why they may fail.

    11. Analyze scenarios involving the web in terms of services, risk, security and forensics.

    12. Relate to other network services an understanding of the web as a client-server based network service.

  6. Networks.

    1. Explain the basic functioning of the Internet in terms of hosts, packets, routers and IP addresses.

    2. List the layers in the protocol stack of the TCP/IP Model. Describe each layer in terms of its function and the hardware devices used. Contrast TCP and UDP transport.

    3. For each of the following protocols: describe its purpose, state the protocol stack layer it uses, and identify commands or tools that use the protocol: HTTP(S), DNS, DHCP, SSH, RDP, SMB, SSL/TLS, TCP, UDP, ICMP, ARP. Relate ports, services, and protocols.

    4. Describe the Domain Name System (DNS) and security issues with name resolution.

    5. Describe each of the following: IP Address, subnet mask, network address, broadcast address, private address, MAC address, BSSID, ESSID.

    6. Appropriately use these commands and tools and explain their output: ipconfig/ifconfig, netstat, arp, ping, traceroute, nmap, nslookup, netcat. Interpret their output to deduce information about network hosts, topology and services, and to construct a physical wired network and an encrypted wireless network, both connected to a simple internet.

    7. Describe the purpose of encryption on a wireless network, and compare WEP, WPA, WPA2.