Security Certification: GPYC

Security Certification:

GIAC Python Coder (GPYC)

Description

A professional that can create and modify custom tools is a valuable member of any information security team. Code developers with information security skills can customize tools to their environment, create tools for the information security community, increase productivity by automating previously manual tasks, simulate advanced attacks, and more. The GPYC certification focuses on applying core programming concepts and techniques to the Python programming language. The certification has a special focus on skills and techniques that will assist an information security professional in penetration tests, daily work, and special projects. Certified individuals can create simple Python-based tools to interact with network traffic, create custom executables, test and interact with databases and websites, and parse logs or sets of data.

Target

The GPYC is targeted toward penetration testers and information security professionals who want to use the Python programming language to enhance their effectiveness during information security engagements or projects. It is also helpful to experienced Python developers who want to build additional information security skills.

Successful GPYC candidates will demonstrate an understanding of core programming concepts, and the ability to write and analyze working code using the Python programming language. They will be familiar with several common Python libraries, and be able to use that functionality in their programs. Successful candidates can also apply their skills to information security tasks, like creating custom tools, collecting information about a system or network, interacting with websites and databases, and automating testing.

*No Specific training is required for any GIAC certification. There are many sources of information available regarding the certification objectives' knowledge areas. Practical experience is an option; there are also numerous books on the market covering Computer Information Security. Another option is any relevant courses from training providers, including SANS.*

Requirements

  • 1 proctored exam
  • 75 questions
  • Time limit of 2 hours
  • Minimum Passing Score of 67%

Renew

Certifications must be renewed every 4 years. Click here for details.

Delivery

NOTE: All GIAC exams are delivered through proctored test centers and must be scheduled in advance.
GIAC certification attempts will be activated in your GIAC account after your application has been approved and according to the terms of your purchase. Details on delivery will be provided along with your registration confirmation upon payment. You will receive an email notification when your certification attempt has been activated in your account. You will have 120 days from the date of activation to complete your certification attempt. GIAC exams must be proctored through Pearson VUE. Please click the following link for instructions on How to Schedule Your GIAC Proctored Exam http://www.giac.org/information/schedule_proctored_exam.pdf. GIAC exams are delivered online through a standard web browser.

Links


Bulletin (Part 2 of Candidate Handbook)

Exam Certification Objectives & Outcome Statements

The topic areas for each exam part follow:

Control Structures and Iteration
The candidate will be able to create and analyze simple control structures, including conditionals (if/else/elif) and for/while loops using Python.
Creation of Executables
The candidate will have a basic understanding of creating a Python executable for Windows clients with a focus on penetration testing. This includes an understanding of backdoor functionality, the conversion of a Python program to an executable file, and the use of Veil and Metasploit to create an executable.
Data Analysis with Python
The candidate will demonstrate the ability to use Python for various data analysis techniques including parsing binary data with the struct module, common file formats, log analysis and statistics with freq.py, counters and sets, long tail and short-tail analysis.
Data Structures
The candidate will be able to create and manipulate variable types and data structures, including integers, strings, and sequential data structures, including dictionaries, lists, and tuples.
Database Interaction
The candidate will understand how to create a Python program to interact with SQL activity on a webpage, and optimize performance on injection attacks.
Exception Handling
The candidate will have a basic understanding of Python exception handling capabilities, and how to build these into a program.
Functions, Classes and Objects
The candidate will be able to demonstrate an understanding of Python functions, classes, and object oriented programming.
Network Interfaces
The candidate will be able to implement the TCP/UDP network modules of Python, using socket communications.
Packet Analysis with Python
The candidate will understand how to use extended functionality of Python and Scapy to create, read, analyze, and manipulate captured network traffic.
Python Basics
The candidate will be able to implement the more fundamental elements of Python, including creating, debugging and executing a program, and user/file input and output.
Regular Expressions
The candidate will have a basic understanding of regular expressions, and how to implement them in searches with Python.
Website Interaction
The candidate will understand how to use Python as a "browser" to interact with URLs and websites, handle cookies, and manipulate or capture traffic.

Where to Get Help

Training is available from a variety of resources including on line, course attendance at a live conference, and self study.

Practical experience is another way to ensure that you have mastered the skills necessary for certification. Many professionals have the experience to meet the certification objectives identified.

Finally, college level courses or study through another program may meet the needs for mastery.

The procedure to contest exam results can be found at http://www.giac.org/about/procedures/grievance.