Python Security | Introduction to Python Programming for Security Analysts & Professionals (TTPS4894)

Implement Better Defenses in Python | Python Essentials, File Operations, Binary Data, Networking Services, Python Security & More

TTPS4894

Introductory and Beyond

4 Days

Course Overview

Geared for experienced security professionals new to Python, Python Programming for Security Analysts & Professionals is practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. 

This course is tailored specifically for Security Analysts and others who wish to use Python functionality for security-related tasks such as log manipulation or forensics. This course is essential for security professionals that are performing security reviews and audits of Python applications or are supporting development teams in implementing better defenses in Python.

Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Read and write files with both text and binary data
  • Search and replace text with regular expressions
  • Get familiar with the standard library and its work-saving modules
  • Use lesser known but powerful Python data types
  • Create "real-world", professional Python applications
  • Work with dates, times, and calendars
  • Know when to use collections such as lists, dictionaries, and sets
  • Understand Pythonic features such as comprehensions and iterators
  • Write robust code using exception handling
  • Write Secure Python Applications
  • Perform Log File Analysis
  • Work with Security Filters, Packet Analysis and related Analytics
  • Time Permitting / Bonus Content: Working with RESTful Services

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional python, security, web development, data science, machine learning and other related topics that may be blended with this course for a track that best suits your goals. Our team will collaborate with you to target the course to focus on your specific learning objectives.

Course Objectives

Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Read and write files with both text and binary data
  • Search and replace text with regular expressions
  • Get familiar with the standard library and its work-saving modules
  • Use lesser known but powerful Python data types
  • Create "real-world", professional Python applications
  • Work with dates, times, and calendars
  • Know when to use collections such as lists, dictionaries, and sets
  • Understand Pythonic features such as comprehensions and iterators
  • Write robust code using exception handling
  • Write Secure Python Applications
  • Perform Log File Analysis
  • Work with Security Filters, Packet Analysis and related Analytics
  • Time Permitting / Bonus Content: Working with RESTful Services

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional python, security, web development, data science, machine learning and other related topics that may be blended with this course for a track that best suits your goals. Our team will collaborate with you to target the course to focus on your specific learning objectives.

Course Prerequisites

This course is tailored specifically for Security Analysts and others new to Python, who wish to learn and use Python functionality for security-related tasks such as log manipulation or forensics.  Students are required to have some basic programming experience and exposure prior to attending this course. Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.

Follow On Courses:  Our Python tracks include a wide variety of follow-on courses and learning paths for leveraging Python for next-level web development, data science / machine learning, networking, task automation, security and other topics. Please see the attached Python Training Suite list of courses, or inquire for recommendations based on your specific role and goals.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.

  1. An Overview of Python
  • What is python?
  • Python Timeline
  • Advantages/Disadvantages of Python
  • Getting help with pydoc
  1. The Python Environment
  • Starting Python
  • Using the interpreter
  • Running a Python script
  • Python scripts on Unix/Windows
  • Editors and IDEs
  1. Getting Started
  • Using variables
  • Builtin functions
  • Strings
  • Numbers
  • Converting among types
  • Writing to the screen
  • Command line parameters
  1. Flow Control
  • About flow control
  • White space
  • Conditional expressions
  • Relational and Boolean operators
  • While loops
  • Alternate loop exits
  1. Sequences
  • About sequences
  • Lists and list methods
  • Tuples
  • Indexing and slicing
  • Iterating through a sequence
  • Sequence functions, keywords, and operators
  • List comprehensions
  • Generator Expressions
  • Nested sequences
  1. Working with files
  • File overview
  • Opening a text file
  • Reading a text file
  • Writing to a text file
  • Reading and writing raw (binary) data
  • Converting binary data with struct
  1. Dictionaries and Sets
  • About dictionaries
  • Creating dictionaries
  • Iterating through a dictionary
  • About sets
  • Creating sets
  • Working with sets
  1. Functions
  • Defining functions
  • Parameters 
  • Global and local scope
  • Nested functions
  • Returning values
  1. Sorting
  • The sorted() function
  • Alternate keys
  • Lambda functions
  • Sorting collections
  1. Errors and Exception Handling
  • Syntax errors
  • Exceptions
  • Using try/catch/else/finally
  • Handling multiple exceptions
  • Ignoring exceptions
  1. Modules and Packages
  • The import statement
  • Module search path
  • Creating modules and Using packages
  • Function and Module aliases
  1. Working with Classes
  • About o-o programming
  • Defining classes
  • Constructors
  • Methods
  • Instance data
  • Properties
  • Class methods and data
  1. Regular Expressions
  • RE syntax overview
  • RE Objects
  • Searching and matching
  • Compilation flags
  • Groups and special groups
  • Replacing text
  • Splitting strings
  1. The standard library
  • The sys module
  • Launching external programs
  • The string module
  • Reading CSV data
  1. Dates and times
  • Working with dates and times
  • Translating timestamps
  • Parsing dates from text
  1. Working with the file system
  • Paths, directories, and filenames
  • Checking for existence
  • Permissions and other file attributes
  • Walking directory trees
  • Creating filters with fileinput
  • Security and File Access
  1. Network services
  • Grabbing web content
  • Detecting Malformed Input
  1. Writing secure Python applications
  • Parsing command-line options
  • Getting help with pydoc
  • Safely handling untrusted data
  • Managing eval() permissions
  • Potential insecure packages
  • Embedding code snippets in Python
  • Embedding authentication data in Python
  • Potentially dangerous operations:
  • File access
  • Operating system access
  • Calls to external services
  • Called to external data sources
  • Static analysis tools such as Bandit
  1. Log File Analysis
  • Raw log file manipulation
  • Fail2Ban
  • Customizing Fail2Ban with Python
  1. Security Filters
  • SQL-Injection Detection
  • ModSecurity CRS filtering
  1. Packet Analysis
  • Packet Sniffing in Python
  1. Analytics
  • Security Logging and Analytics
  • Attack Detection and Defense
  • Python and Spark High-Level Overview

Bonus Content / Time Permitting

  1. RESTful Web Services
  • What is Flask?
  • Developing a Flask Web service
  • Mapping resources using URLs
  • Mapping resources using HTTP
  • Negotiating data content
  1. Python application security
  • OWASP 2021 Top Ten Overview
  • Python Code Access Control
  • Options for Protecting Data
  • Injection and Python
  • Python and Data Validation
  • Python and XML Processing
  • Python and Known Vulnerable Components
  • Python and Serialization/Deserialization

Course Materials

Student Materials: Each student will receive a Student Guide with course notes, code samples, software tutorials, diagrams and related reference materials and links (as applicable). Our courses also include step by step hands-on lab instructions and and solutions, clearly illustrated for users to complete hands-on work in class, and to revisit to review or refresh skills at any time. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More