Cyber Battlefield Learning Outcomes

The first portion of the course begins with an introduction to the theoretical underpinnings of cyber security, then continues with an introduction to 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. Cyber Domain

    1. Describe the aspects of the cyber domain

    2. Describe the interaction of the aspects of the cyber domain

  2. Cyber Security.

    1. Explain the DoD Cyber Security Model ("Pillars of Cyber Security").

    2. Describe compromises of the Pillars of Cyber Security and mitigations.

  3. Digital Data.

    1. Define terms such as bit, byte, hex, encodings (ASCII).

    2. Convert between binary, decimal, and hex 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 "file name extension", and explain how a file name extension is used and abused.

  4. Computer Architecture.

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

    2. Identify and describe the major hardware components of a computer and their purpose.

    3. Explain how digital data moves between major hardware componets (HDD, RAM, CPU); e.g. program launch to fetch-decode-execute cycle.

    4. Describe a computer as a layered model of: Users/Programs, Operating System, Hardware.

  5. Operating Systems.

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

    2. Describe the interfaces an operating system provides to users and programs: GUI, shell, API.

    3. Explain the concept of absolute and relative file system pathnames.

    4. Perform shell commands on local and remote systems to accomplish common file system tasks.

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

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

    7. Explain the significance of a super-user account (Administrator, root).

  6. 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.

  7. 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. Describe how basic HTML will be rendered by a browser.

    4. Design, create, and upload a simple website using HTML and a secure file transfer protocol.

    5. Explain the concept of absolute and relative HTML references.

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

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

    8. Discuss trade offs between client-side and server-side scripts, and explain why client-side input validation is weaker than server-side.

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

    10. Explain how cookies are used by both the web browser and the web server.

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

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

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

  8. 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.

      1. Interpret their output to deduce information about network hosts, topology and services.

      2. Use the tools to construct a 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.