Please enable JavaScript to use CodeHS

Advanced Cybersecurity

Description

In this lesson, students will review the Caesar cipher and history of cryptography until the present day to bridge to the current topic of advanced cryptography. They will examine a high-level view of “hard” vs. “easy” problems. Symmetric vs. asymmetric encryption and public-key encryption will be emphasized.

Objective

Students will be able to:

  • Identify the problems with symmetric key encryption and why modern cryptography involves more complex mathematics

  • Explain the difference between symmetric and asymmetric encryption

Description

In this lesson, students will learn and use hashing functions. They will look at what hashing is, requirements of a good hashing algorithm, how hashing is used, what the ideal hash function does, collisions in hashing, and how hackers try to crack a hashing algorithm.

Objective

Students will be able to:

  • Identify what a hashing algorithm is and its related vocabulary, such as digest and collisions
  • Describe what makes an ideal hashing algorithm and why they are important in encryption and cybersecurity overall
  • Describe how malicious actors try to crack hashing algorithms
Description

In this lesson, students look at hash function development by delving into modulo math. Modulo math is very important in advanced cryptography since it’s a one-way function where the output hides the input very well. This makes it useful in creating hashing functions.

Objective

Students will be able to:

  • Solve simple modulo problems
  • Explain why modulo math is useful in hashing algorithms and protecting data in cybersecurity
Description

In this lesson, students learn how asymmetric encryption uses public and private keys to encrypt data and they learn how the RSA algorithm addresses the security issue of key authentication. Students also explore different examples of asymmetric encryption algorithms and evaluate them to determine what aspects make an algorithm strong.

Objective

Students will be able to:

  • Explain how asymmetric encryption uses a public and private key to encrypt data
  • Explain how the RSA algorithm addresses security vulnerabilities
  • Evaluate asymmetric encryption algorithms to determine what characteristics make an algorithm strong
Description

In this lesson, students will learn about SSL certificates: what they are, where they come from, how they work, and why they are essential to internet security.

Objective

Students will be able to:

  • Explain the role of SSL certificates in internet security
  • Explain how certificates work, including how to obtain one, their relationship with public and private keys, and how the chain of trust is used to create trust additional checks of authenticity
  • Explain how stapling and pinning strengthen the security of a certificate
Description

In this lesson, students review content with a 15 question Unit Quiz.

Objective

Students will be able to:

  • Demonstrate their understanding of advanced cryptography topics
Description

In this project, students will learn about steganography and how it is used to encrypt data. Students will develop their own encryption algorithm to hide a message in an image by manipulating the hexadecimal color codes of an image.

Objective

Students will be able to:

  • Define steganography and explain how it is used in cryptography
  • Use steganography to encrypt a message in an image by manipulating the hexadecimal color code of pixels
Description

This lesson is an introduction to network attacks. Students review how data is transmitted over the internet and learn how attacks occur by exploiting vulnerabilities in open ports.

Objective

Students will be able to:

  • Define vulnerability and exploits
  • Explain the role of open ports in a network attack
  • Explain how a network scan can help identify vulnerabilities
Description

In this lesson, students learn about the different types of malware as well as how to detect, prevent, and remove malware. Students learn how anti-malware software works and explore various tools different operating systems have to detect and prevent malware.

Objective

Students will be able to:

  • Explain how to prevent and remove malware using the following tools and methods: antivirus/anti-malware software, recovery console, backup/restore, and view running processes
  • Define malware and identify different types of malware: ransomware, trojan, keylogger, rootkit, virus, worm, spyware
Description

In this lesson, students learn about social engineering and how it is used in cyber attacks. Students also learn what DoS and DDoS attacks are and how they use internet protocols to overwhelm a network.

Objective

Students will be able to:

  • Explain what social engineering is and how it can be leveraged to attack a network
  • Explain how DoS and DDoS attacks work and their impact a network
Description

In this lesson, students learn about additional common cyber attacks, such as zero day attacks, botnet attacks, rainbow table attacks and man-in-the-middle attacks. Students will explore famous cyber attacks (3ve, Mirai, and Stuxnet) and reflect on what we can learn from past attacks to strengthen present network security.

Objective

Students will be able to:

  • Identify common social engineering attacks: dumpster diving, phishing, and impersonation/tailgating
  • Explain how the following cyber attacks work: zero-day, man-in-the-middle, rainbow table, brute force, dictionary, zombie, spoofing
Description

In this lesson, students will learn about and discuss cross-site scripting (XSS), which is another major OWASP (Open Web Application Security Project) cybersecurity risk.

Objective

Students will be able to:

  • Explain what XSS is, how it works, and what kind of damage can occur from an XSS attack
  • Understand the fundamentals of how XSS attacks are prevented or at least mitigated
Description

In this lesson, students learn about how to increase the security of a network by keeping individual, physical devices secure. Students learn about best practices for ensuring only authorized users log into a device as well as consider how user permissions and data loss prevention (DLP) can ensure sensitive data remains secure.

Objective

Students will be able to:

  • Explain how the principle of least privilege relates to account management
  • Describe best practices for setting strong passwords and using passwords in a variety of settings, such as setting a BIOS/UEFI password and a screensaver password
Description

In this lesson, students conduct online research regarding topics of internet, cell phone, and video game addiction, synthesize the information, and determine their own conclusions.

Objective

Students will be able to:

  • Describe what addiction is and how it relates to current technologies.
  • Read technical sources and synthesize the information.
Description

In this lesson, students explore key cybersecurity concepts, including the differences between network vs. application attacks and threats vs. vulnerabilities. Students engage in interactive activities and a case investigation to apply their understanding of cyber threats and ethical decision-making.

Description

In this lesson, students examine real-world security breaches to understand how unauthorized access impacts data, systems, and services. Students analyze high-profile cases to identify vulnerabilities and apply cybersecurity principles for stronger protection.

Description

In this lesson, students explore key network security protocols like HTTPS, VPN, and MFA through an interactive challenge and research-based investigation. Students research each protocol’s purpose, features, and vulnerabilities, then compile their findings in a comparative chart to understand how these tools work together to secure digital communication.

Description

In this lesson, students review the concept of a security baseline and its role in maintaining strong cybersecurity practices. Through a skit activity and hands-on exploration of baseline tools, students learn how to identify and apply essential security measures.

Description

In this lab, students will research, install, configure, and document the process of setting up anti-virus software to secure a system. They will compare multiple anti-virus options based on effectiveness, system requirements, and cost, and then install and configure their chosen software to enhance system security.

Objective

Students will be able to:

  • Compare and evaluate different anti-virus software options based on features, system requirements, cost, and effectiveness.
  • Follow step-by-step procedures to install an anti-virus program on a system.
  • Configure key security settings within the anti-virus software to optimize protection.
  • Document and explain the process of installing and configuring the software.
Description

In this project, students will work through fictitious forensic cases to practice collecting, examining, analyzing and reporting on data that they have unveiled. In this portion of the project, students will learn what digital forensics is, what types of data can be used, and how the chain of custody must be kept throughout the whole process to protect the integrity of the data.

Objective

Students will be able to:

  • Explain the digital forensics process
  • Explain the importance of the chain of custody
Description

In this portion of the project, students will examine and analyze event log data collected from a system firewall. They will report on their findings to either support or refute the claim given in the introduction activity.

Objective

Students will be able to:

  • Examine and analyze an event log
  • Report on their findings to support or refute a claim
Description

In this portion of the project, students will examine and analyze file metadata collected from a word processing program. They will report on their findings to either support or refute the claim given in the introduction activity.

Objective

Students will be able to:

  • Examine and analyze file metadata
  • Report on their findings to support or refute a claim
Description

In this portion of the project, students will examine and analyze exif data collected from the inspector tool of an image viewing program. They will also use a command line interface simulation to unveil even more exif data. They will report on their findings to either support or refute the claim given in the introduction activity.

Objective

Students will be able to:

  • Examine and analyze exif data
  • Report on their findings to support or refute a claim
Description

In this lesson, students will build upon their foundational knowledge of networks to learn about advanced network devices. Students will delve into devices that enable communication and data sharing, such as servers and load balancers, as well as devices that increase network security, such as firewalls, IDP, IPD, and UTM. In sum, students will understand how complex networks use a variety of devices, each playing an important role in the functionality and security of the network.

Objective

Students will be able to:

  • Explain the purpose of advanced networking devices: load balancer, IDP/IPD, and UTM appliance
  • Describe the role of a variety of server types: web, file, DNS, printer, mail, and authentication
  • Explain how a network is configured using multiple devices and how each device plays an important role in the functionality and security of the network
Description

In this lesson, students will learn about the many protocols and standards that are used to send and receive information across a network. Students will learn how networks use specific ports and protocols, each with a specific purpose, such as sending and receiving emails. Students will also learn about wireless networking standards and how frequency and channels relate to speed of data transmission.

Objective

Students will be able to:

  • Compare and contrast wireless networking protocols: 802.11.a 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ax
  • Compare and contrast TCP and UDP protocols
  • Explain how networks use ports and protocols, each with a specific purpose. Ports reviewed include 21, 22, 23, 25, 53, 80, 110, 143, and 443
  • Explain how wireless standards use frequencies and channels to transmit data
Description

In this lesson, students will build on their knowledge of networks and consider how to ensure the perimeter of a network is secure. Students will learn about different devices that can be used to secure a company’s intranet from the internet as well as ways to enable remote access to the intranet.

Objective

Students will be able to:

  • Secure a basic wireless network using multiple devices: DMZ, NAT, MAC filtering, firewall
  • Identify different network topologies
  • Explain the difference between the intranet and the internet
  • Explain how VPNs can be used to remotely access a company’s intranet
Description

In this lesson, students will extend their understanding of securing a network to include securing mobile devices. Students will learn about best practices for mobile device security as well as how BYOD (bring your own device) policies have impacted a company’s network security.

Objective

Students will be able to:

  • Explain methods for securing mobile devices
  • Define BYOD policy and MDM tools and evaluate their effectiveness
  • Evaluate the use of biometric authentication to unlock phones through the lens of privacy
Description

At this point, students have a strong understanding of how different devices can be used to configure a secure network. In this lesson, students will learn how access controls and the AAA protocol (authentication, authorization, and accounting) can be used to ensure only authorized personnel access a network.

Objective

Students will be able to:

  • Define access control and explain how it is used in relation to network security
  • Define the AAA (authentication, authorization, accounting) protocol and explain how each relates to network security
  • Explain how multi-factor authentication increases network security
Description

In this lesson, students review content with a 20 question Unit Quiz.

Objective

Students will be able to:

  • Demonstrate their understanding of advanced networking devices
Description

In this lesson, students learn about core networking concepts, including static vs. dynamic routing, common network topologies, and subnetting. Students engage in research, hands-on exploration, and design tasks to understand how networks are structured, routed, and segmented for efficiency and security.

Description

In this lesson, students explore how networks function through client-server models, intranet and extranet systems, and essential internet services like DNS, NAT, and DHCP. Students conduct research, complete creative submissions, and build visual illustrations to deepen their understanding of how these foundational technologies support online communication and connectivity.

Description

In this lab, students will explore Windows networking settings and how they can configure and customize their online experience.

Description

In this lab, students are introduced to CSMA/CD and CSMA/CA, two network protocols designed to manage data transmission and prevent or handle collisions on shared communication channels.

Description

In this lesson, students will design and create a magazine that explains key concepts related to Local Area Networks (LANs), including methodologies, topologies, Ethernet standards, and cabling. Through research and creative design, students will develop engaging magazine sections that illustrate technical information in a reader-friendly format.

Objective

Students will be able to:

  • Identify and describe different LAN methodologies and their advantages/disadvantages.
  • Explain common LAN topologies and evaluate their effectiveness.
  • Understand and illustrate Ethernet standards and their applications.
  • Compare and contrast various LAN cabling options.
  • Develop a visually appealing and informative magazine that communicates networking concepts effectively.
Description

In this lesson, students are introduced to the concept of risk assessment, and students learn about the role of vulnerability scans in detecting weaknesses. Students also learn about honeypots and packet sniffing and explore how these tools can be used to detect vulnerabilities and improve the security of a network.

Objective

Students will be able to:

  • Explain how vulnerability scans can improve network security
  • Define risk assessment and explain its role in network security
  • Explain how tools such as honeypots and packet sniffing can improve the security of a network
Description

In this lesson, students will identify, assess, and prioritize risks based on their potential impacts. Students will utilize prior knowledge to connect to the concept of prioritizing risks. They will learn new types of vulnerabilities such as input and error handling.

Objective

Students will be able to:

  • Identify risks such as race conditions, input and error handling, and buffer and integer overflow
  • Use a vulnerability scan and database to identify potential impacts and suggestedrisk mitigation
Description

In this lesson, students continue to deepen their understanding of risk assessment. Students learn how to prioritize and respond to different threats by calculating risk, both quantitatively and qualitatively.

Objective

Students will be able to:

  • Compare and contrast quantitative risk assessments and qualitative risk assessments as well as consider the challenges associated with each
  • Calculate risk using the formula SLE * ARO = ALE
  • Explain the different ways to respond to risk: avoidance, transfer, mitigation, and acceptance
Description

In this lesson, students learn about penetration testing and how pen tests extend vulnerability scans by attempting to exploit weaknesses in addition to finding them. Students have the opportunity to engage in a pen test simulation as well as learn about the next evolution of pen testing, chaos engineering.

Objective

Students will be able to:

  • Define penetration testing and describe the steps involved
Description

In this portion of the project, students will come up with a fictitious company and feel the impact of reacting to a security breach without any pre-developed policy in place. Students will then learn about some of the common policies companies put in place and set forth on the task of developing strong policies for their company.

Objective

Students will be able to:

  • Reflect on why policy documentation is important for security
  • Identify examples of policy documentation
Description

Incident response plans are essential to ensure that companies are prepared to effectively respond to any breach in security. In this portion of the project, students will develop a set of policies regarding strong passwords and employee training. They will test their policies against a series of employee negligence scenarios and reflect on what would need to be added to strengthen their policy.

Objective

Students will be able to:

  • Develop a set of policies regarding strong passwords and employee training
  • Reflect on the strength of policy documentation
Description

In this portion of the project, students will create an abbreviated Incident Response plan. They will respond to a cyber attack using their IR plan and reflect on how they were able to handle this attack as well as how to strengthen their policy.

Objective

Students will be able to:

  • Develop an incident response plan
  • Reflect on the strength of policy documentation
Description

Data can be one of a company’s most valuable resources, not to mention most regulated. Developing a strong plan for keeping data secure is essential, especially as more and more companies turn to the cloud to keep track of the massive amounts of data that are being collected every day. In this portion of the project, students will review an example privacy policy and then complete their own abbreviated policy. They will test their data policies against a data breach and reflect on what would need to be added to strengthen their policy.

Objective

Students will be able to:

  • Develop a data privacy policy
  • Reflect on the strength of policy documentation
Description

Change management is the approach to preparing and supporting individuals and/or teams to successfully adopt organizational change. When implementing changes within a company, it is essential to consider how you will present the change to employees and support them in adopting and implementing the change. In this portion of the project, students will synthesize the changes that need to be made to strengthen their policies. They will develop a change management plan to implement new policies effectively.

Objective

Students will be able to:

  • Develop a change management plan
Description

In this lesson, students will explore the language of computers, including programming languages, variables, and data types.

Objective

Students will be able to:

  • Identify different types of programming languages and their hierarchical structure
  • Demonstrate an understanding of how to use variables
  • Differentiate between various data types, including integers, floating points, Strings, and Booleans
Description

In this lesson, students will learn how to make the most basic python program- one that displays text on the screen. Students will learn how to print in python using the print statement. They will also learn how to use quotations, apostrophes, and strings.

Objective

Students will be able to:

  • Print text in Python
Description

In this lesson, students will be reintroduced to the concept of variables, which store information in a program to be used later. Students will also learn about three different variable types- strings, integers, and floating point numbers.

Objective

Students will be able to:

  • Define Python variables and types
Description

In this lesson, students revisit user input. They learn how to request user input as both strings and integers, learn where the input is stored, and learn how to convert strings and integers.

Objective

Students will be able to:

  • Incorporate user input into their programs
  • Convert between variable types
Description

In this lesson, students will learn about using mathematical operators in their Python programs. They will work through multiple examples to get comfortable with operator precedence and using different types of operators.

Objective

Students will be able to:

  • Describe the different mathematical operators that can be used in their programs
  • Create programs that use basic math to compute useful things
  • Create programs that take in user input, do simple computations with the input, and produce useful output
Description

In this lesson, students will be able to perform string operations in order to concatenate values together.

Objective

Students will be able to:

  • Use mathematical operators with strings
Description

In this lesson, students revisit the concept of comments. Comments are helpful because they allow programmers to leave notes about the program they are writing.

Objective

Students will be able to:

  • Incorporate comments into their programs in order to make them more readable
Description

In this lesson, students review content with a 20 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple choice quiz
Description

In this lesson, students will revisit the concept of boolean values. Booleans refer to a value that is either true or false. Named after English-born mathematician, philosopher and logician, George Boole, Booleans are used to test whether a condition is true or false.

Objective

Students will be able to:

  • Create boolean variables to represent meaningful yes/no values
  • Print out the value of a boolean variable
Description

In this lesson, students will review how to use If and if/else statements. These statements allow programmers to use conditions to determine how their code should run.

Objective

Students will be able to:

  • Use if statements for control flow in their programs
Description

In this lesson, students will dive into comparison operators. Comparison operators give the ability to compare two values. Using comparison operators in programming is similar to math in that less than <, greater than >, less than or equal to <=, and greater than or equal to >= are the same. The differences are that operators for equal to are == and not equal are !=. Using comparison operators allow programs to make decisions.

Objective

Students will be able to:

  • Explain the meaning of each of the comparison operators (<, <=, >, >=, ==, !=)
  • Create programs using the comparison operators to compare values
  • Predict the boolean result of comparing two values
  • Print out the boolean result of comparing values
Description

In this lesson, students will look at logical operators. Logical operators give the ability to connect or modify Boolean expressions. Three logical operators are NOT (!), or and and. These logical operators can be used in combination. With these logical operators, logical statements can be constructed, such as “I go to sleep when I am tired OR it’s after 9pm”, “I wear flip flops when I am outside AND it is NOT raining”.

Objective

Students will be able to:

  • Describe the meaning and usage of each logical operator: or, and, and NOT (!)
  • Construct logical statements using boolean variables and logical operators
Description

In this lesson, students learn about the intricacies of floating point numbers. When using comparison operators with floating point numbers in Python, we will sometimes see strange behavior because of bizarre rounding methods. When using a comparison operator with floating point numbers, you should use round(x) to avoid strange rounding behavior. round(x, n) will round the float x to n decimal places. round(x) will round the float x to 0 decimal places.

Objective

Students will be able to:

  • Use floating point numbers
  • Round values in their programs
Description

In this lesson, students will be introduced to the basics of shell scripting. The lesson covers what shell scripting is and allows students to write basic scripts.

Objective

Students will be able to:

  • Write basic shell scripts
  • Explain when and where shell scripts can be used
Description

In this lesson, students review content with a 15 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of conditionals through a multiple choice quiz
Description

In this lesson, students learn the basics of the Engineering Design Process. This is a step-by-step process that helps developers and entrepreneurs develop their products while considering their end-users and testing out products before releasing them.

Throughout the module, students will use the design process to develop an app, tool, or strategy that provides a solution to a cybersecurity issue.

Objective

Students will be able to:

  • Apply the Engineering Design Process to develop a cybersecurity solution that addresses a critical digital security issue
  • Collaborate in teams, assuming specific roles (Project Manager, Researcher, Designer, Tester) to enhance communication, accountability, and project management skills
  • Develop and document their brainstorming, research, design, and testing processes using an Engineering Design Notebook
  • Consider real-world constraints (cost, efficiency, environmental impact) when designing their solution
Description

In this lesson, students learn more about the value of Empathy in the design process. Empathy is the ability to understand and share the feelings of another, and is the most important tenet of design thinking. Students will practice building empathy by interviewing classmates and evaluating the accessibility of existing tools/apps/websites.

Objective

Students will be able to:

  • Define and use Empathy in creating products
  • Successfully interview peers and users
  • Collect and analyze survey data to gather data about user needs
  • Collect survey data using a computational tool
  • Clean survey data to increase the data reliability
  • Compare findings from an external dataset with their user survey results to assess similarities, differences, and insights
Description

In this lesson, students will take the information that they gathered in their interviews with peers to define a specific problem that needs to be solved. Students will create Point of View statements and composite characters to make a profile of the users who are in need of a fix to the problem that students define.

Objective

Students will be able to:

  • Define a problem related to user needs
  • Create a composite character
  • Create and articulate Point of View Statements
Description

In this lesson, students will learn strategies to help them ideate solutions to the problems they have been exploring throughout the module. Students will spend class time brainstorming with classmates, and encouraging one another to come up with out of the box solutions.

Objective

Students will be able to:

  • Effectively brainstorm solutions with a team
  • Articulate the purpose of ideating, and strategies to make the ideation process work
Description

In this lesson, students learn the basics of prototyping. Students will create a prototype based on ideas they came up with for their design project, and present prototypes to classmates for critiquing.

Objective

Students will be able to:

  • Create prototypes
  • Narrow brainstorms to just a few concrete and realistic ideas
Description

In this lesson, students will test one another’s prototypes and provide constructive feedback about its usability and aesthetic appeal. Students will also ask thoughtful questions of the testers to get a better understanding of their experience interacting with the prototype.

Objective

Students will be able to:

  • Provide appropriate feedback after testing prototypes
  • Ask users thoughtful questions about their user experience
  • Articulate how to best test products on users
Description

In this lesson, students will deliver a 10-minute presentation showcasing their findings and final product.

Objective

Students will be able to:

  • Define a cybersecurity issue and explain its significance.
  • Apply the Engineering Design Process to create a viable cybersecurity solution.
  • Present research findings, design decisions, testing results, and final recommendations in a structured and engaging manner.