New

SEC568: Combating Supply Chain Attacks with Product Security Testing

  • In Person (5 days)
  • Online
30 CPEs
Think Red, Act Blue  Attackers are using new methods of compromising software supply chains that bypass traditional security controls on products spanning multiple attack surfaces. SEC568 is a complete training program designed to equip you with the skills and knowledge necessary to execute product security assessments through deeply technical risk analysis.

What You Will Learn

Supply chain attacks go unnoticed on average for 235 days and do more damage as a result of us not having a deep understanding of the products being used on a network. Product security tests help obtain a comprehensive understanding of how choosing to use a particular product in your organization can increase your attack surface and affect your threat model and risk posture. This makes product security testing vital in preparing your organization to defend and recover from software supply chain attacks.

SEC568 is a practical on-ramp into the world of product security testing and risk analysis through more than 20 hands-on exercises designed to be challenging to both beginners and more advanced students. By utilizing offensive tactics with a defensive mindset, students will learn how to analyze the risk of introducing desktop, mobile, proprietary protocols, and hardware devices into your environment. You will use a wide variety of technical skills to gain a deep understanding of how a target operates.

Each section of the class will be accompanied by flow diagrams that provide each student a roadmap on how to navigate these complex topics with documented processes and clearly defined goals. As the class progresses, sections will increase in technical depth and difficulty. The number of hands-on exercises and the duration of them also increases proportionally as you gain new knowledge and develop new skills.

You will notice the class also gains a larger focus on networking as we dive deeper into product security testing. This networking focus is critical for a complete risk assessment in almost all organizations, as this threat vector has the highest likelihood to cause the most damage.

In the last section, the class culminates with a capstone event, a fully guided 5-hour exercise in which students will apply the entire product security testing process, starting with a closed-box analysis on a popular commercial application.

You Will Learn

  • Windows OS basics
  • Linux OS basics
  • Android OS basics
  • How to conduct efficient internet searching
  • Networking fundamental concepts
  • How to decrypt networking traffic
  • How to build custom Scapy networking layers
  • How to collect, prepare, and analyze data with Python, Pandas DataFrame, and Jupyter Notebooks
  • When to continue or stop a product security assessment
  • A variety of threat modeling concepts
  • Different methods for determining risk
  • Basics of network fuzzing
  • How to analyze decompiled code

You Will Be Able To

  • Conduct a product security test
  • Reduce the impact of supply chain attacks on your organization
  • Evaluate a Windows, Linux, or Android product for threats
  • Perform basic static firmware analysis to understand what is running on a device
  • Determine how a system changes because of installing new software
  • Use Exploratory Data Analysis (EDA) techniques to analyze and present a large amount of data
  • Dissect propriety protocols
  • Build a threat model to articulate the biggest risks and mitigations
  • Construct attack trees and use a risk scoring methodology to determine the risk of each threat discovered in previous phases

You Will Receive With This Course

  • A Corellium license
  • 3 virtual machines
  • Process flow charts
  • An electronic workbook with step-by-step instructions for 20+ fully functional labs that do not expire and can be repeated any time after the course

Syllabus (30 CPEs)

Download PDF
  • Overview

    The first section of this course describes the principles associated with both supply chain attacks and product security testing. We start to navigate the "why" and the "what" to product security testing, followed by which skills are important for success. We introduce our main methodology, our toolbox included in the supplied virtual machines, and the name of our fictitious company you will be working for during the class, "Think Red, Act Blue". The main technical emphasis for section one will be to explore the basic, yet critical concept, of online product research followed by our first sections of basic enumeration and threat modeling. Through lectures and 3 hands-on exercises we will explore how to use simple tools such as binwalk, Corellium, APKLab, APKLeaks and associated product security methodologies to begin to understand how your target accomplishes its main goals. Students will be provided with access to a cloud-based mobile emulation platform (Corellium) to complete the last lab of this section.

    Exercises
    • Initial recon of product, existing CVEs, and vendor website
    • Unpacking firmware and examining components
    • Basic enumeration of an Android Package Kit (APK) with Corellium
    Topics

    Course overview and methodology

    • This module is focused on an introduction to product security assessments and its application to combating supply chain attacks. We will start by covering the who, what, when, where, and how methodologies for product security assessments, with a particular emphasis on online product research and basic enumeration.

    General and software supply chain application

    • In this module we will explore several practical examples of when you want to deploy the concepts and processes of this course in real-world scenarios not related to supply chain attacks, followed by diving into supply chain attacks and ultimately demonstrating how product security testing is a critical component of your defenses.

    Online product research

    • With an overview of the process under our belt, in this module we will start to follow the Product Security Testing flow chart. We will look at how to effectively acquire system requirements and efficiently perform online product research, a concept that is recurring and critical to product security testing.

    Basic enumeration on hardware devices, Linux & Android

    • In this module we will embark on understanding the core technical concepts needed to start evaluating a target using basic enumeration. We will start with the overall methodology of basic enumeration and then dive into the specific core concepts and tools needed for hardware devices, Linux, and Android.

  • Overview

    The second section of the course will close out our study of basic enumeration by looking at the Windows platform and networking concepts that fit within the basic enumeration methodology. This will include using tools such as Microsoft Attack Surface Analyzer (ASA), Microsoft Sysinternal Suite, ProcDOT and more. This will allow for an in-depth conversation around the important role threat modeling plays in product security assessments and is a crucial first step to reducing the impact of supply chain attacks. Doing threat modeling and answering questions related to product security testing requires sifting through a large amount of data. In this section, we will introduce Exploratory Data Analysis (EDA), a common workflow to conduct analysis used to try to make sense of the data and present the results. Through lectures, demos, and hands-on exercises we will learn how to explore this data using data science tools like Python, Jupyter Notebooks, Pandas DataFrame, and graphical libraries like Matplotlib, among others. Lastly, this section will start to segue into the course's deeper technical concepts by introducing deep enumeration.

    Exercises
    • Basic enumeration on Windows
    • Initial network traffic profiling with Pandas DataFrame & Jupyter Notebooks
    • Investigating network traffic on Android
    • Threat modeling products

    Topics

    Basic enumeration on Windows

    • Continuing to build on concepts from the previous section on basic enumeration, this section will look at how to apply basic enumeration to the Windows platform, arguable the most used platform in enterprise make it a critical component to understand. We will cover important concepts related to product security testing, walk through relevant Windows fundamentals, and provide useful tools for performing basic enumeration on Windows.

    Basic networking analysis

    • This module will introduce network analysis at a basic level as it pertains to basic enumeration. Besides exploring important fundamental networking concepts, this module will leverage some basic data analysis and traffic profiling with Jupyter Notebooks and Pandas DataFrame to help demonstrate how to turn complex analysis into a more simplistic and visual task.

    Threat modeling

    • Threat modeling is a crucial concept in successful product security testing but even more important is when to perform threat modeling. This module will discuss different types of threat modeling, demonstrate one suggested approach within product security testing, and cover the information required to build a useful model. This module will conclude with a review of how our process up to this point has impacted the way we defend against supply chain attacks.

    Deep enumeration

    • Section 2 will just begin to explore the concept of deep enumeration. We will introduce deep enumeration, explore how a threat model influences deep enumeration, and discuss when to deploy these techniques. This module will begin increasing the technical depth of the course and push students' knowledge of finer topics and conclude with a section on networking concepts related to deep enumeration.
  • Overview

    This section is all about deep enumeration, the process of deeper technical analysis to answer critical questions from a threat model. We will focus on two deep enumeration skills: binary code analysis and network analysis of unknown protocols. In the first half of section 3, we will learn how to use decompiler tools to access the underlying code of an application and unpack archives when needed. This will culminate in a hands-on lab using JetBrain's dotPeek to answer critical questions related to supply chain attacks regarding how an application is being updated. Network traffic is often a key input to a system and a common entry point for attackers. To dive deeper into network analysis, this section will also take a pause to provide a primer into Scapy, a Python framework designed to manipulate networking packets. Armed with the knowledge and skills covered in this section, you will be better prepared to dissect proprietary or unknown protocols later in the course.

    Exercises
    • Using APKLab and HTTP Toolkit to defeat cert pinning
    • Learning from decompiled source code
    • Using Scapy to create a 3-way handshake
    • Searching for networking artifacts within payloads
    • Bonus: Learning from decompiled source code on Android
    Topics

    Intro to Deep Network Analysis

    • This module will build on the principles discussed during basic network analysis but dive deeper starting with encryption. While encryption is a great tool for security, we will discuss how to verify if it's implemented in a way that makes it more difficult for an attacker to access your information. This module will include a lab providing the student with hands-on experience bypass encryption used on a popular Android application.

    Binary code analysis

    • The ground truth to how a target or system works is its source code. Unless the application or device you are auditing is open source, you will not have access to this code. Binary code analysis is the concept of performing a code review without having access to the source code. This module walks through some basic skills to apply binary code analysis during product security testing as one of the two core concepts covered in this course within deep enumeration.

    Scapy primer

    • In order to dive deeper into network analysis, it is beneficial to be able to programmatically analysis and create networking packets. Scapy is a python module that helps take our analysis and testing to the next level. This module of section 3 will teach the basics of Scapy needed for product security testing.

    Understanding proprietary protocols

    • We will leverage the knowledge of Scapy acquired in the previous module and apply it to the deep enumeration concept of understanding unknown or proprietary protocols. This last module of section 3 will be an introduction to proprietary protocols that will be continued in section 4.
  • Overview

    This section will conclude our exploration of deep enumeration and work toward finalizing a product security test project. We begin with a continuation and finalization of dissecting proprietary protocols using Scapy to create custom layers and explain the basics of networking fuzzing. This will bring us to our final risk analysis section where we will focus on creating attack trees and applying risk scoring methods to assess the risk of supply chain attacks, among other risks to the Think Red, Act Blue organization. The section will conclude with important final topics that will allow us to wrap up our product security assessment, such as reporting and vulnerability disclosure.

    Exercises
    • Learning through enumerating patterns
    • Finding your network traffic's heartbeat
    • Using basic Linux tools to analyze unknown payloads
    • Basic fuzzing with Scapy
    • Results analysis
    Topics

    Dissecting proprietary protocols

    • This module is one of the most technically challenging sections of the course, as we discuss how to use techniques such as enumerating patterns and finding heartbeat packets to help gain a glimpse of the purpose of every byte in a packet payload. We will examine several real protocols and lean on previous modules such as data analysis with Pandas DataFrame and Scapy to gain as much insight as possible.

    Fuzzing

    • Every threat model should contain a risk of unknown vulnerabilities. While fuzzing is often considered a vast and sometimes daunting topic in security, it can help reduce the risk of unknown vulnerabilities plaguing your network. This module will explore the basic concepts of networking fuzzing as part of deep enumeration and the value it can bring to a product security test.

    Risk analysis

    • Determining the risk associated with our technical findings is the most important step of a product security test event. This module will focus on questions like: What does this mean for my organization? What steps can I take to mitigate my findings? Here we will study how to turn your previous threat model into realistic attack trees and quantify the risk for each scenario using a modified and improved version of the DREAD risk scoring method.

    Reporting

    • In many cases it will be required to report your findings and processes throughout your organization. This module will talk about industry best practices in reporting your findings from product security testing and highlight important items directly related to supply chain attacks.

    Vulnerability disclosure

    • In some cases, your analysis will result in the discovery of new vulnerabilities. This module will highlight best practices in reporting your team's finding to the affected vendors.
  • Overview

    The course culminates in an all-day hands-on lab designed to give each student the experience of completing a product security test from start to finish. Students will be given a real application to test during this course section, which will apply the most crucial concepts learned throughout each previous section using the toolbox included in the supplied virtual machines and cloud-based labs.

    Exercises
    • Basic enumeration: Installation analysis
    • Basic enumeration: Execution analysis
    • Threat modeling
    • Deep enumeration: Network analysis
    • Results analysis
    Topics

    Introduction to target

    • The section will start with an introduction to the target application and the basics of how it functions. This will help frame the following exercises and reduce the time needed to learn the basics of the program.

    Hands-on product security testing event

    • The product security test for this section has been broken down into 5 hands-on exercises. Each exercise will guide the student through one of the core concepts of the product security testing process, including basic enumeration, threat modeling, deep enumeration, and results analysis.

    Instructor-led discussion

    • Each lab exercise will be followed by an instructor-led discussion on what was uncovered during the lab. This will help ensure all students stay on the best path to provide the highest amount of value from the event.

Prerequisites

  • Basic Python coding skills
  • Basic OS fundamentals
  • Basic networking knowledge
  • Understanding of core security principals
  • Experience using VMware and virtual machines

Laptop Requirements

Important! Bring your own system configured according to these instructions.

A properly configured system is required to fully participate in this course. If you do not carefully read and follow these instructions, you will not be able to fully participate in hands-on exercises in your course. Therefore, please arrive with a system meeting all of the specified requirements.

Back up your system before class. Better yet, use a system without any sensitive/critical data. SANS is not responsible for your system or data.

MANDATORY SEC568 SYSTEM HARDWARE REQUIREMENTS
  • CPU: 64-bit Intel i5/i7 (8th generation or newer), or AMD equivalent. A x64 bit, 2.0+ GHz or newer processor is mandatory for this class.
  • CRITICAL: Apple systems using the M1/M2 processor line cannot perform the necessary virtualization functionality and therefore cannot in any way be used for this course.
  • BIOS settings must be set to enable virtualization technology, such as "Intel-VTx" or "AMD-V" extensions. Be absolutely certain you can access your BIOS if it is password protected, in case changes are necessary.
  • 16GB of RAM or more is required.
  • 100GB of free storage space or more is required.
  • At least one available USB 3.0 Type-A port. A Type-C to Type-A adapter may be necessary for newer laptops. Some endpoint protection software prevents the use of USB devices, so test your system with a USB drive before class.
  • Wireless networking (802.11 standard) is required. There is no wired Internet access in the classroom.
MANDATORY SEC568 HOST CONFIGURATION AND SOFTWARE REQUIREMENTS
  • Your host operating system must be the latest version of Windows 10, Windows 11, or macOS 10.15.x or newer.
  • Fully update your host operating system prior to the class to ensure you have the right drivers and patches installed.
  • Linux hosts are not supported in the classroom due to their numerous variations. If you choose to use Linux as your host, you are solely responsible for configuring it to work with the course materials and/or VMs.
  • Local Administrator Access is required. (Yes, this is absolutely required. Don't let your IT team tell you otherwise.) If your company will not permit this access for the duration of the course, then you should make arrangements to bring a different laptop.
  • You should ensure that antivirus or endpoint protection software is disabled, fully removed, or that you have the administrative privileges to do so. Many of our courses require full administrative access to the operating system and these products can prevent you from accomplishing the labs.
  • Any filtering of egress traffic may prevent accomplishing the labs in your course. Firewalls should be disabled or you must have the administrative privileges to disable it.
  • Download and install VMware Workstation Pro 16.2.X+ or VMware Player 16.2.X+ (for Windows 10 hosts), VMware Workstation Pro 17.0.0+ or VMware Player 17.0.0+ (for Windows 11 hosts), or VMWare Fusion Pro 12.2+ or VMware Fusion Player 11.5+ (for macOS hosts) prior to class beginning. If you do not own a licensed copy of VMware Workstation Pro or VMware Fusion Pro, you can download a free 30-day trial copy from VMware. VMware will send you a time-limited serial number if you register for the trial at their website. Also note that VMware Workstation Player offers fewer features than VMware Workstation Pro. For those with Windows host systems, Workstation Pro is recommended for a more seamless student experience.
  • On Windows hosts, VMware products might not coexist with the Hyper-V hypervisor. For the best experience, ensure VMware can boot a virtual machine. This may require disabling Hyper-V. Instructions for disabling Hyper-V, Device Guard, and Credential Guard are contained in the setup documentation that accompanies your course materials.
  • Download and install 7-Zip (for Windows Hosts) or Keka (for macOS hosts). These tools are also included in your downloaded course materials.

Your course media is delivered via download. The media files for class can be large. Many are in the 40-50GB range, with some over 100GB. You need to allow plenty of time for the download to complete. Internet connections and speed vary greatly and are dependent on many different factors. Therefore, it is not possible to give an estimate of the length of time it will take to download your materials. Please start your course media downloads as soon as you get the link. You will need your course media immediately on the first day of class. Do not wait until the night before class to start downloading these files.

Your course materials include a "Setup Instructions" document that details important steps you must take before you travel to a live class event or start an online class. It may take 30 minutes or more to complete these instructions.

Your class uses an electronic workbook for its lab instructions. In this new environment, a second monitor and/or a tablet device can be useful for keeping class materials visible while you are working on your course's labs.

If you have additional questions about the laptop specifications, please contact laptop_prep@sans.org

Author Statement

In our many years of experience conducting security assessments, we have observed the importance of being able to develop a holistic picture of the major areas of risk of an organization, while at the same time being prepared to zero-in on the risks introduced by a particular device or a specific product. However, the reality is that many organizations lack the knowledge and skills required to do a proper product security assessment. Some of these often rely on vulnerability scans that offer minimal information, with a focus on patching the systems evaluated and implementing generic security controls. Many others simply choose to ignore these threats altogether, closing their eyes to the reality and hoping for the best, while silently transferring the risk to their users, customers, and other stakeholders.

While it is true that threat actors still use unpatched vulnerabilities to obtain initial access into their victims, we are now seeing how attackers are more commonly using new methods of compromising software supply chains, undermining trust in the patching process by inserting malicious code into legitimate products. Think about it this way: Each time your organization deploys and installs new software on desktop, mobile, and cloud platforms, you can be creating new "holes" in your cyber defenses, from which sensitive data can leak.

We have designed this course to address this gap. Throughout five sections filled up with case studies, techniques, instructor-led demos and over 20 hands-on labs in realistic lab settings (including a final end-to-end capstone exercise), we will provide you with the knowledge and skills required to "Think Red, Act Blue" and combat these supply chain attacks employing product security testing. Our goal as authors is to make this class as practical and valuable to you and your organization as possible. To fulfill this promise, all the exercises we have created can be repeated at your own pace, both during and after class, and are thoroughly documented to maximize your learning experience.

Armed with the knowledge and skills we teach you in this class, you will obtain deep technical understanding of how product security testing works and how it can help mitigate the risks that any organization faces when it comes to supply chain attacks.

- Douglas McKee and Ismael Valenzuela

Reviews

This is hard.... But very fun!
Phillip Locke
Government Organization
The material and instructors are excellent. Doug and Ismael have shared information on this topic that I have not found anywhere else.
Brian Wiggins
National Hockey League
This is exactly what we've been talking about at work with threat modeling and software being added to the network.
Steven Ostrander
Booz Allen Hamilton

    Register for SEC568

    Prices below exclude applicable taxes and shipping costs. If applicable, these will be shown on the last page of checkout.

    Loading...