SI110 Learning Objectives

      1. Explain the DoD Information Assurance (IA) Model ("Pillars of IA")".
      2. Describe cyber attacks in terms of compromise to the pillars of IA.
      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.
      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.
      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.
      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.
      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.
      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.
      1. Design an access control list (ACL) for an idealized router to achieve a desired offering of services.
      2. Relate use of a firewall to the pillars of IA.
      3. Describe a firewall's role in implementing decisions concerning tradeoffs between service and security.
      1. Describe and contrast symmetric encryption, asymmetric encryption and hashing and explain their roles in protecting the Pillars of IA.
      2. Describe and contrast key management for symmetric and asymmetric encryption.
      3. Explain and actually use representative symmetric encryption and hashing techniques that are done "by hand" (e.g., Vigenere Cipher, Rubik's Hash).
      4. Identify the user's vs. the technology's responsibilities in situations where cryptography is used (e.g., HTTPS).
      5. Describe common tools such as AES and MD5, relate their use to Information Assurance, and demonstrate their use.
      6. Discuss authentication by password, password attacks, hashing, salt, and password strength.
      7. Discuss two-factor authentication.
      8. Explain the workings of attacks such as frequency analysis, chosen plaintext, and man-in-the-middle.
      9. Describe the purpose of Public Key Infrastructure (PKI) and how it works; relate PKI to man-in-the-middle attacks.
      10. Obtain an X.509 Certificate from a Certificate Authority. Explain the guarantee that comes with a valid certificate, describe reasons a certificate may be invalid, and how user actions with respect to certificates can affect security.
      1. For a given activity, state the forensic evidence it leaves behind and where it can be found.
      2. Describe and use MD5 in digital forensics.
      3. Perform file carving, browser and email forensics; analyze forensic evidence to trace activity.
      1. Classify various types of malware.
      2. Describe malware as an attack vector that in most cases depends on both a vulnerability and a user action; define "zero day".
      1. Describe the phases of a cyber attack, relating them to the pillars of IA.
      2. Conduct network reconnaissance.
      1. Give examples of defense-in-depth.
      2. Define and give examples of CNA. Conduct CNA, including actions that move through layered defenses.
      3. Define, give examples of, and conduct CND.
      1. Use knowledge of the Cyber Battlefield, Models and Tools, and Cyber Operations to analyze case studies to identify technical and human security failures.