ECSP: EC-Council Certified Secure Programmer | IT Training & Certification | Info Trek
Respect Your Dreams
Follow through on your goals with courses

ECSP: EC-Council Certified Secure Programmer

  • Public Class Icon
    Public Class
    • HRDF SBL Claimable
    • Certificate of Attendance available
    Starting From
    RM 4700.00
    3 Days
  • Private Class Icon
    Private Class
    • All of our private classes are customized to your organization's needs.

      Click on the button below to send us your details and you will be contacted shortly.
    3 Days

Course Details

Expand All

EC-Council Certified Secure Programmer lays the basic foundation required by all application devel­opers and development organizations to produce applications with greater stability and posing lesser security risks to the consumer. The Certified Secure Application Developer standardizes the knowledge base for application development by incorporating the best practices followed by experienced experts in the various domains.

The distinguishing aspect of ECSP is that unlike vendor or domain specific certifications, it exposes the aspirant to various programming languages from a security perspective. This drives greater appreciation for the platform / architecture / language one specializes on as well as an overview on related ones.

The ECSP certification is intended for Programmers who are responsible for designing and building secure Windows / Web based applications with .NET / Java Framework.

It is designed for Developers who have C#, C , Java, PHP, ASP, .NET and SQL development skills

You must have programming fundamental knowledge.

CERTIFICATION

The ECSP 312-92 exam will be conducted on the last day of training.

Students need to pass the online Prometric exam to receive the ECSP certification

This program will be conducted with interactive lectures, PowerPoint presentation, discussions and practical exercise

Upon completion of this program, participants should be able to :

  • Know to scan, test, hack and secure own system
  • Understand the current essential security system
  • How perimeter defenses work
  • Steps taken to secure coding
  • Know about secure coding principles, secure vulnerabilities, secure architecture, software methodology models and cryptographic techniques

Modules

Expand All
  • Case Study : Secure Coding Cuts Application Maintenance Costs
  • Secure Coding
  • Vulnerabilities Statistics For The Year 2008 and 2009
  • Programming Errors
  • Why Security Mistakes are made
  • Need for Secure Programming
  • Why Secure Coding is Important
  • Building Blocks of Software Security
  • Types of Security Vulnerabilities
  • Software Vulnerability Life Cycle
  • Types of Attacks
  • Secure Coding Principles
    • Security Principles
    • Security Through Obscurity
    • Buffer Overflows
    • Format String Vulnerabilities and Race Conditions
    • Locking Problems
    • Exception Handling
    • Fundamentals of Control Granularity
    • Fail-Safe Design Strategies
    • Fault Tolerance and Detection
    • Fault Removal and Avoidance
    • Input and Parameter Validation
    • Encrypting Secrets in Memory and Storage
    • Scrubbing Information
    • Privilege Levels for Information Access
    • Loose Coupling
    • High Cohesion
    • Change Management and Version Control
    • Guidelines for Developing Secure Codes
    • Validate All User’s Input
    • Sanitize Input Values
    • Use the Principle of Least Privilege
    • Do Fail Safe
    • Handle Sensitive Security Information with Care
    • Practice Defense-in-Depth
    • Do Not Provide Hints to Attackers
    • Do Not Add Comments Telling What the Code Does
    • Make (Code) Buddies
    • Study and Fix the Defects
    • Consider Security Issues During Design
    • Avoid Common Security Problems
    • Scan Existing Applications for Code Weaknesses
    • Use Threat Models
    • Perform Software Testing
    • Use Automated Source Code Vulnerability Scanning Tools
    • Software Security Checklists
    • Authentication
    • Authorization
    • Data Validation
    • Session Management
    • Logging
    • Error Handling
    • Cryptography
    • Performance
    • Use of Privilege
    • User-Server Authentication
  • Introduction to Secure Architecture
  • Secure Architecture
  • Application Security
  • Factors Affecting Application Security
  • Software Engineering and System Development Life Cycle (SDLC)
  • SDLC Phases
    • System Requirements
    • Specifications
    • Design
    • Coding
    • Testing
    • Maintenance
  • Software Methodology Models :
    • Waterfall Model
    • RAD (Rapid Application Development)
    • JAD (Joint Application Development)
    • Fountain Model
    • Spiral Model
    • Build and Fix
    • Synchronize-and-Stabilize
  • Agile Methodologies
  • Extreme Programming (XP)
    • Rules and Practices of Extreme Programming
    • XP Practices
  • Unified Modeling Language (UML)
    • Primary Goals
    • Diagram
    • UML Tool
  • Rational Rose
  • Borland Together
  • Threat Modeling
    • Aspects of Security Threat Modeling
    • STRIDE Threat Model
  • Common Criteria
  • Software Development Best Practices
  • Microsoft SDL Threat Modeling Tool
  • Borland® TeamInspector™
  • Introduction to Cryptography
  • Encryption
  • Symmetric Encryption
  • DES Symmetric Encryption Process
  • Asymmetric Encryption
  • Asymmetric Encryption vs Symmetric Encryption
  • Decryption
  • Use of Cryptography
  • Cryptographic Techniques
    • Classic Cryptographic Techniques
    • Modern Cryptographic Techniques
  • Cipher
  • RSA (Rivest Shamir Adleman)
  • Example of RSA Algorithm
  • RSA Attacks
  • Implementation of RSA in C++
  • The Diffie-Hellman Key Agreement Standard
    • The Diffie-Hellman Key Algorithm
    • Diagrammatical Representation of Diffie-Hellman Key Algorithm
  • Data Encryption Standard (DES)
  • DES Overview
  • Implementation of DES in Java
  • Rijndael Algorithm
  • RC4, RC5, RC6, Blowfish Overview
  • RC5
  • Blowfish Algorithm in C
  • Message Digest Functions
  • One-way Bash Functions
  • MD5
  • Implementing MD5 in Java
  • Generating a Key and IV for Private-key Encryption
  • SHA (Secure Hash Algorithm)
  • Implementing SHA in Java
  • Collision Search Attacks on SHA1
  • Modern Cipher Breaking
  • The Keyed-Hash Message Authentication Code (HMAC)
  • SSL (Secure Sockets Layer)
  • What is SSH?
  • SSH (Secure Shell)
  • Algorithms and Security
  • Disk Encryption
  • Government Access to Keys (GAK)
  • Digital Signature
  • Components of a Digital Signature
  • Method of Digital Signature Technology
  • Use of Digital Signature
  • Digital Signature Standard
  • Digital Signature Algorithm : Signature Generation / Verification
  • Digital Signature Algorithms : ECDSA, ElGamal Signature Scheme
  • Hashing Technique
    • Hashing, MACs and Digital Signatures using C# in .NET
  • Challenges and Opportunities
  • Digital Certificates
  • Creating and Verifying a Simple XML Digital Signature in C#
  • Cleversafe Grid Builder http://www.cleversafe.com/
  • PGP (Pretty Good Privacy)
  • CypherCalc
  • Command Line Scriptor
  • CryptoHeaven
  • JavaScrypt : Browser-Based Cryptography Tool
  • Steps to use JavaScrypt Encryption and Decryption Tool
  • Cryptanalysis
  • Cryptography Attacks
  • Brute-Force Attack
  • The distributed.net Organization
  • Statistics : MS08-067 Exploit Activity from October 2008 to January 2009, Detected as MS.DCERPC.NETAPI32.Buffer.Overflow
  • Buffer Overflows
  • Reasons for Buffer Overflow Attacks
  • Why are Programs / Applications Vulnerable?
  • Understanding Stacks
  • Understanding Heaps
  • Stack-based Buffer Overflow
  • A Simple Uncontrolled Overflow of the Stack
  • Stack Based Buffer Overflows
  • Heap-based Buffer Overflow
  • Heap Memory Buffer Overflow Bug
  • Heap-based Buffer Overflow
  • Countermeasure against Buffer Overflow Attacks
  • Buffer Overflow Defenses
  • Attacking a Real Program
  • Defense Against Buffer Overflows
  • Return Address Defender (RAD)
  • StackGuard
  • Immunix System
  • Vulnerability Search – ICAT
  • Valgrind
  • Insure++
    • Insure++ : Features
  • Buffer Overflow Protection Solution : Libsafe
  • Comparing Functions of libc and Libsafe
  • Simple Buffer Overflow in C
  • Code Analysis
  • Introduction of C / C++
  • Important Features of Object Oriented Programming
  • Vulnerable C / C++ Functions
  • Strcpy()
  • Strncat()
  • Strncpy()
  • Sprintf()
  • Gets()
  • C / C++ Vulnerabilities :
  • Buffer Overflow
    • StringsPage 12 http://www.eccouncil.org EC-Council
  • Counter Measures
  • Stack-Based Buffer Overflow
  • Heap-Based Buffer Overflow
  • Off by One / Five Errors
  • Dangling Pointers
  • Stack Smashing
  • GCC Extension to Protect Stack-Smashing Attacks
  • Integer Vulnerabilities
  • Truncation
  • Sign Error
  • Pointer Subterfuge
  • Bugs with Pointers and Memory
  • Dynamic Memory Management
  • Double Free Vulnerability
  • Secure Memory Allocation Tips
  • Symmetric Encryption
  • Symmetric Encryption in C++
  • Blowfish Algorithm in C
  • Public Key Cryptography
  • Public Key Cryptography in C++
  • Networking
  • Creating an SSL Client in C++
  • Creating an SSL Server
  • Random Number Generation Problem
  • Anti-Tampering
    • Anti-Tampering Techniques
  • Erasing Data from Memory Securely using C / C++
  • Preventing Memory From Being Paged to Disk
  • Using Variable Arguments Properly
  • Signal Handling
  • Encapsulation in C++
  • Best Practices for Input Validation
  • Code Profiling And Memory Debugging Tool : Val grind
  • Viva64 Tool
  • Introduction to Java
  • The Java Programming Language
  • JVM
  • Bytecode Basics
  • Java Security
  • Access Control
  • Sandbox Model
  • Security Issues with Java
  • SQL Injection Attack
  • SQL Injection using UNION
  • Preventive Measures for SQL Injection
  • URL Tampering
  • Denial-of-Service (DoS) Attack on Applet
  • Sample Code for DoS Attack
  • DoS from Opening Untrusted Windows
  • Preventing DOS Attacks
  • .Class File Format
  • Byte Code Attack
  • Reverse Engineering / Decompilation by Mocha
  • Obfuscation Tools : Jmangle
  • Cinnabar Canner
  • Byte Code Verifier
  • Class Loader
  • Building a SimpleClassLoader
  • Security Manager
  • jarsigner - JAR Signing and Verification Tool
  • Signing an Applet Using RSA - Signed Certificates
  • Signing Tools
  • Getting RSA Certificates
  • Bundling Java Applets as JAR Files
  • Signing Java Applets Using Jarsigner
  • Signing Java Applets Using Netscape Signing Tool
  • Security Extensions
  • Java Security Overview : Basic Security Architecture
  • Java Authentication and Authorization Service (JAAS)
  • Java Cryptographic Extension (JCE)
  • Java Cryptography Architecture
  • JCE : Pseudo Code for Encryption
  • JCE : Pseudo Code for Decryption
  • Java Cryptography Architecture (JCA)
  • Sample Code for Encryption and Decryption
  • Secure Communication
  • Java™ Secure Socket Extension (JSSE)
  • Creating Secure Client Sockets
  • Creating Secure Server Sockets
  • Choosing the Cipher Suites
  • Java GSS Security
    • Code for GSS Server
    • Code for GSS Client
  • Java Server Page (JSP)
    • Problem of Untrusted User Input
    • JSP Security Issues : Sensitive Data in GET Requests and Cookies
    • JSP Best Practices
  • Security with Untrusted User Input
  • Cross Site Scripting
  • Overcoming Cross Site Scripting Problem
  • Authentication in Java
  • Permissions in Java
  • How to create new types of permissions?
  • Security Policy
  • Specifying an additional Policy File at runtime
  • Policy Tool
    • Policy Tool : Creating a new Policy File
  • Best practices for developing secure Java Code

  • Script : Introduction
  • JavaScript Vulnerability
  • Cross-Site Scripting (XSS)
  • Cross-Site Scripting Attacks
  • Avoiding XSS
  • JavaScript Hijacking
  • Defending Against JavaScript Hijacking
  • Declining Malicious Requests
  • Prevent Direct Execution of the JavaScript Response
  • Malicious Script Embedded in Client Web Requests
  • Malicious Script Embedded in Client Web Request : Effects
  • Malicious Script Embedded in Client Web Requests : Solution
  • Tool : Thicket Obfuscator for JavaScript
  • JavaScript Security in Mozilla
    • JavaScript Security in Mozilla : Same Origin Policy
    • Same Origin Check
    • JavaScript Security in Mozilla : Signed Script Policy
  • Netscape’s SignTool
    • Netscape’s SignTool : Signing a File
  • Privileges
  • Tool for Encryption : TagsLock Pro
  • JavaScript Shell (Jash) : Javascript Command-Line Debugging Tool
  • Tool : Script Encoder
  • Tool : Scrambler
  • VBScript : CryptoAPI Tools
  • Signing A Script (Windows Script Host)
  • Verifying a Script
  • Signature Verification Policy
  • Software Restriction Policies for Windows XP
  • Software Restriction Policies for Windows Vista and Server 2008
  • Designing a Software Restriction Policy
  • Creating Additional Rules
  • Blocking Malicious Scripts
  • Rule for Blocking Malicious Scripts
  • Microsoft .NET : Introduction
  • .NET Framework
    • .NET Framework Security Policy Model
  • Security Policy Levels
  • Security Features in .NET
  • Key Concepts in .NET Security
  • Code Access Security (CAS)
  • Using Code Access Security in ASP.NET
  • Steps to use CAS in ASP.NET Applications
  • Evidence-Based Security
  • Role-Based Security
    • Role-Based Security : Windows Principal
    • Role-Based Security : Generic Principal
  • Declarative and Imperative Security
  • Cryptography
  • Generate Key for Encryption and Decryption
  • Symmetric Encryption in .Net
  • Asymmetric Encryption in .Net
  • Symmetric Decryption in .Net
  • Asymmetric Decryption in .Net
  • Protecting Client and Server Data Using Encryption Sample
  • Cryptographic Signatures
  • Writing a Signature in .Net
  • Verifying a Signature in .Net
  • Ensuring Data Integrity with Hash Codes
  • Hash Code Generation
  • Verification of Hash Code
  • Classes Implementing Public-key Encryption Algorithms
  • Security Checklist for .NET Framework
  • Permission
  • Code Access Permissions
  • Identity Permissions
  • Role-Based Security Permissions
  • SkipVerification
  • SkipVerification Sample Code
  • Stack Walk
  • Writing Secure Class Libraries
  • Runtime Security Policy
  • Step-By-Step Configuration of Runtime Security Policies
  • Creating a Security Policy Deployment Package
  • Type Safety
  • Canonicalization
  • Access Control List Editor
  • Securing User Credentials and Logon Information
  • Obfuscation
  • Dotfuscator : .NET Obfuscator Tool
  • Administration Tool : Authorization Manager (AzMan) with ASP.Net
  • ASP.NET Security Architecture
  • Authentication and Authorization Strategies
  • URL Authorization
  • File Authorization
  • Windows Authentication
  • Forms Authentication
  • Passport Authentication
  • Custom Authentication
  • Implementing Custom Authentication Scheme
  • Security Checklist for ASP.NET
    • Design Considerations
    • Application Categories Considerations :
      • Auditing and Logging
      • Authentication–Forms
      • Authorization
      • Communication Security
  • Steps to Encrypt Configuration Sections in ASP.NET using DPAPI
  • Configuring Security with Mscorcfg.msc
  • Process Identity for ASP.NET
  • Impersonation
  • Impersonation Sample Code
  • Secure Communication
  • Storing Secrets
  • Options for Storing Secrets in ASP.NET
  • Web.config Vulnerabilities :
    • Default Error Message
    • Leaving Tracing Enabled in Web-Based Applications
    • Enabled Debugging
    • Cookies Accessible through Client-Side Script
    • Enabled Cookieless Session State
    • Enabled Cookieless Authentication
    • Failure to Require SSL for Authentication Cookies
    • Sliding Expiration
    • Non-Unique Authentication Cookie
    • Hardcoded Credential
  • Securing Session and View State
  • Web Form Considerations
  • Securing Web Services
  • Web Application Security Frame
  • Web Application Security Frame Threats, Attacks and Countermeasures
  • Secure Remoting
  • Create a Remotable Object
  • Secure Data Access
  • Protecting ASP.NET from SQL Injection Attack
  • SQL Injection Example
  • Steps to Prevent Cross-Site Scripting in ASP.NET
  • .NET Security Tools
  • Code Access Security Policy Tool
    • Caspol.exe
    • Caspol.exe Parameters
  • Certificate Creation Tool : Makecert.exe
  • Options in Makecert.exe
  • Certificate Manager Tool : Certmgr.exe
  • Certificate Verification Tool : Chktrust.exe
  • Permissions View Tool : Permview.exe
  • PEVerify Tool : Peverify.exe
  • Options in Peverify.exe
  • List of Security Questions in ASP.NET
  • Best Practices for .NET Security


  • Introduction to PHP (Hypertext Preprocessor)
  • PHP Security Blunders
  • Unvalidated Input Errors
  • Example of PHP Attack
  • Solution for Access Control Flaws
  • Solution for Session ID Protection
  • Error Reporting
  • Data Handling Errors
  • Security Sensitive PHP Functions : File Functions
  • Security Sensitive PHP Functions : ezmlm_hash
  • PHP Exploits
    • Forms and Data
    • Semantic URL Attacks
    • File Upload Attacks
    • Cross-Site Scripting (CSS / XSS)
    • Cross-Site Request Forgeries
    • Spoofed Form Submissions
    • Spoofed HTTP Requests
    • Sessions and Cookies
    • Cookie Theft
    • Exposed Session Data
    • Session Fixation
    • Session Hijacking
  • PHP Vulnerabilities
    • Informational Vulnerabilities
    • Common File Name Vulnerability
    • Revealed Source Code Vulnerability
    • Revealing Error Message Vulnerability
    • Sensitive Data in Web Root Vulnerability
    • Session File in Shared Server Vulnerability
    • Sensitive Data in Globally Readable File Vulnerability
    • Revealing HTML Comment Vulnerability
    • Web Application Fingerprint Vulnerability
    • Packet Sniffing Vulnerability
    • Attack Vulnerabilities
    • Global Variable Vulnerability
    • Default Password Vulnerability
    • Online Backup Vulnerability
  • Common PHP Attacks
  • Remote Code Execution
  • Cross-Site Scripting Attack (CSS)
  • Cross Site Scripting Attack : Example
  • Cross-Site Request Forgeries (CSRF, Sea-Surf or XSRF)
  • Workaround for Cross-Site Request Forgeries
  • SQL Injection
  • Defending SQL Injection Attacks
  • PHP Configuration Attacks
  • Preventing PHP Configuration Attacks
  • File System Attacks
  • Defending File System Attacks
  • Information Gathering Attacks
  • PHP Injection Attacks
  • Ten PHP Best Practices
  • Secure PHP Practices
    • Safe Mode
    • Disable Register Globals
    • Validating Input
    • PHP Input Filter Class
  • PHP Encoders
    • Acunetix Web Vulnerability Scanner
    • Encryption Software : PHP Code Lock
    • Zend Guard
    • POBS stands for PHP Obfuscator / Obscurer
    • eAccelerator
  • Best Practices for PHP Security

  • Bots
  • Botnet
  • The Botnet Life Cycle
  • Botnet Threats
  • Robot.txt
    • Creating “robots.txt” file
  • Blocking Bad Bots and Site Rippers
  • Protecting Web Application Forms from Spam Bots
    • CAPTCHA
  • Advantages of CAPTCHA
    • Anti-Spam Security Question
    • Menu Option Matching
    • Honeypot Spam Trap
    • Input Length Regulation
  • Guidelines to Protect Network from Bots
  • Bot Detection Tool : BotHunter
  • Cyber Clean Center
  • Structure of Cyber Clean Center
  • Introduction
  • SQL Server Security Model
  • SQL Server Security Model : Login
  • Creating an SQL Server Login
  • Database User
  • Guest User
  • Permissions
  • Database Engine Permissions Hierarchy
  • Roles
    • Public Role
    • Predefined Roles
  • Fixed Server Roles
  • Fixed Database Roles
  • User-Defined Roles
  • Application roles
  • Security Features of MS-SQL Server 2005
  • Added Security Features in MS-SQL Server 2008
  • SQL Server Security Vulnerabilities :
    • Buffer Overflow in pwdencrypt()
    • Extended Stored Procedures Contain Buffer Overflows
  • SQL Injection Attacks
  • Prevent SQL Injection Attacks
  • Sqlninja :
    • SQL Server Injection & Takeover Tool
    • Finding Target
  • Data Encryption
  • Built-in Encryption Capabilities
  • Encryption Keys
  • Encryption Hierarchy
  • Transact-SQL
  • Create Symmetric Key in T-SQL
  • Create Asymmetric Key in T-SQL
  • Certificates
  • Create Certificate in T-SQL
  • SQL Server Security: Administrator Checklist
  • Database Programming Best Practices
  • SQL Server Installation :
    • Authentication
    • Authorization
  • Best Practices for Database Authorization
  • Auditing and Intrusion Detection
  • Enabling Auditing
  • Database Security Auditing Tools :
    • AppDetectivePro
    • NGSSquirrel
    • AuditPro
  • Rootkits
  • SQL Server Rootkit
  • Threats of SQL Rootkits
  • Evolution of SQL Rootkits
  • How a Rootkit Works
  • SQL Server 2000
    • Rootkit Attack on SQL Server 2000
    • Screenshot : Password Tampering
  • SQL Server 2005
    • Step 1 : Copy and attach the hidden resource database
    • Step 2 : Login via Dedicated Administrator Connection (DAC)
    • Step 3 : Alter the sys.server_principalsview Script
    • Step 4 : Introduce the Rootkit
  • Detecting SQL Server Rootkits
  • Rootkit Detection Tool
    • DB Audit
    • ApexSQL Audit
    • Audit DB
    • DbProtect
  • Software Development Life Cycle (SDLC)
  • Introduction to Testing
  • Types of Testing
  • White Box Testing
  • Types of White Box Testing
  • Dynamic White-Box Testing
  • Integration Test
  • Regression Testing
  • System Testing
  • Black Box Testing
  • Load Testing
  • Strategies For Load Testing
  • Functional Testing
  • Testing Steps
  • Test Strategy
  • Creating Test Plan
  • Creating Test Cases and Test Data
  • Executing, Bug Fixing and Retesting
  • Classic Testing Mistakes
  • User Interface Errors
  • Good User Interfaces
  • Using Automatic Testing and Tools
  • Generic Code Review Checklist
  • Software Testing Best Practices
  • Testing Tool:
    • QEngine
    • LoadRunner
  • Real Time Testing
  • Remote Debugging
  • Recording Debugging Process
  • Security Issues in Remote Recording and Debugging
  • The Eclipse Integrated Virtual Debugger
    • Introduction
    • Overview
    • Eclipse Launch Configurations
    • Setting Up the Eclipse Integrated Virtual Debugger Environment
    • Managing Virtual Machine Launch Configurations
  • Application Configurations to Start Applications in a Virtual Machine
    • Steps to Create, Duplicate, or Edit a Launch Configuration to Start an Application in a Virtual Machine
  • Application Configurations to Attach to Applications Running in a Virtual Machine
    • Steps to Create, Duplicate, or Edit a Configuration that Attaches to a Running Application in a Virtual Machine
    • Steps to Delete Configurations
    • Running and Debugging Applications in Virtual Machines
    • Steps to Start an Application Debugging Session in a Virtual Machine
    • Steps to Start an Application in a Virtual Machine Without Debugging
    • Steps to Attach the Debugger to an Application Running in a Virtual Machine
  • Visual Studio Integrated Virtual Debugger
    • Overview
    • Configuration Options When Starting an Application in a Virtual Machine
    • Configuration Options When Attaching to a Process Running in a Virtual Machine
    • Setting Up the Visual Studio Integrated Virtual Debugger Environment
  • Managing Virtual Machine Configurations
    • Creating Configurations
    • Setting Configuration Properties
    • Setting Virtual Machine Properties
    • Running and Debugging Applications in Virtual Machines
    • Starting a Debugging Session in a Virtual Machine
    • Starting a Session Without Debugging in a Virtual Machine
    • Attaching the Debugger to a Process Running in a Virtual Machine

  • Error Message
  • Common Error Messages
  • Error Messages : Categories
  • Good Error Message
  • Error Message in a Well-designed Application
  • Good Error Message Example
  • Miscommunication in Error Messages
  • Error Message Usability Checklist
  • Guidelines For Creating Effective Error Messages
  • Best Practices while Designing Error Messages
  • Error Messages: Examples
  • Security Issues in an Error Message
  • Security Precautions in Documentation
  • ASP- Introduction
  • Improving ASP Design
  • Using Server-Side Includes (SSI)
    • Using Server Side Includes (SSI) with ASP
    • Using Server-Side Includes : Example
    • Using Server-Side Includes : Protecting the Contents of Include Files
  • Taking Advantage of VBScript Classes
  • Using Server.Execute
  • Using Server.Transfer
  • #include Directive
  • .BAK Files on the Server
  • Detecting Exceptions with Scripting Language Error-Handling Mechanisms
  • Using VBScript to Detect an Error
  • Using Jscript to Detect an Error
  • Notifying the Support Team When an Error Occurs Using CheckForError
  • Attacks on ASP
  • Insufficient Validation of Fields in SQL queries
  • ASP DypsAntiSpam : A CAPTCHA for ASP
  • Preventing Automatic Submission with DypsAntispam
  • CAPTCHA : Examples
  • Using Database and ASP Sessions to Implement ASP Security
  • Step 1 : Create A User Database Table
  • Step 2 : Create And Configure The Virtual Directory
  • Step 3 : Create The Sample Pages
  • Step 4 : Add Validation Code To Pages
  • Protecting ASP Pages
  • Encoding ASP Code : Script Encoder
  • Protecting Passwords of ASP Pages with a One-way Hash Function
  • ASP Best Practices
  • ASP Best Practices : Error Handling
  • Introduction : PERL
  • Common Terminology
  • Security Issues in Perl Scripts
  • Basic User Input Vulnerabilities
  • Overcoming Basic User Input Vulnerabilities
  • Insecure Environmental Variables
  • Algorithmic Complexity Attacks
  • Perl : Taint, Strict, and Warnings
  • Taint Mode
  • How Does Taint Mode Work?
  • Taint Checking
  • Using Tainted Data
  • Securing the Program Using Taint
  • Strict Pragma
  • Setuid Command
    • Setuid Sample Code
    • Authenticating the user with setuid
    • Security bugs with Setuid
  • The Perl crypt() Function
  • Logging Into a Secure Web Site with Perl Script
  • Secure Log-in Checklist
  • Program for Secure Log-in
  • Securing open() Function
  • Unicodes
  • Displaying Unicode As Text
  • Web Application and Web Services
  • Web Application Vulnerabilities
    • Coding Errors
    • Design Flaws
  • XML- Introduction
  • XSLT and XPath
  • XML Signature
    • Applying XML Signatures to Security
  • An Enveloped, Enveloping and Detached XML Signature Simultaneously
  • XML Encryption
    • The abstract <Encrypted-Type> Element
  • Security Considerations for the XML Encryption Syntax
  • Canonicalization
  • Validation Process in XML
  • XML Web Services Security
  • XML-aware Network Devices Expand Network Layer Security
  • Security of URI in XML
  • Security of Opaque Data in XML
  • XML Web Services Security Best Practices
  • XML Tools
    • Stylus Studio® 2010 XML Enterprise Suite
    • V-Sentry
    • Vordel SOAPbox
  • AJAX
    • AJAX- Introduction
    • Anatomy of an AJAX Interaction (Input Validation Example)
    • AJAX : Security Issues
    • How to Prevent AJAX Exploits
    • Tool : HTML Guardian ™
    • Tool : Sprajax- AJAX Security Scanner
    • HP WebInspect Software
  • RPC Introduction
  • RPC Authentication
  • RPC Authentication Protocol
  • NULL Authentication
  • UNIX Authentication
  • Data Encryption Standard (DES) Authentication
    • Data Encryption Standard (DES) Authentication on Server Side
  • Diffie-Hellman Encryption
  • Security Methods
  • Security Support Provider Interface (SSPI)
  • Security Support Providers (SSPs)
    • Writing an Authenticated SSPI Client
    • Writing an Authenticated SSPI Server
  • Secure RPC Protocol
  • RpcServerRegisterAuthInfo Prevents Unauthorized Users from Calling your Server
  • RPC Programming Best Practices
  • Make RPC Function Calls
    • Making RPC Function Calls : Using Binding Handles
    • Making RPC Function Calls : Binding Handles and Protocol Sequence
  • Using Context Handles
  • RPC and the Network
  • Write a Secure RPC Client or Server
  • ActiveX Programming : Introduction
  • Preventing Repurposing
  • SiteLock Template
    • SiteLock Template : Implementation Guide for ATL Controls
  • IObjectSafety Interface
  • Code Signing
    • Creating a Code Signing Certificate and Signing an ActiveX Component in Windows
  • Protecting ActiveX Controls
  • DCOM : Introduction
  • Security in DCOM
  • Application-Level Security
  • Security by Configuration
  • Programmatic Security
  • Run As a Launching user
  • Run As a Interactive User
  • Run As a Specific User
  • Security Problem on the Internet
  • Security on the Internet
  • Heap Overflow Vulnerability
  • Workarounds for Heap Overflow Vulnerability
  • Tool : DCOMbobulator
  • DCOM Security Best Practices
  • Introduction
  • Open Source and Security
  • Linux – Basics
  • Linux File Structure
  • Basic Linux Commands
  • Linux Networking Commands
  • Linux Processes
  • POSIX Capabilities
  • UTF-8 Security Issues
  • UTF-8 Legal Values
  • Secure Linux Programming Advantages
    • Security Audit
    • Communication
    • Encryption
    • Identification and Authentication
    • Security Management
  • Requirements for Security Measure Assurance
  • Enabling Source Address Verification
  • Linux iptables and ipchains
  • Code to save the ip6tables state
  • Controlling Access by MAC Address
  • Permitting SSH Access Only
  • Network Access Control
  • Layers of Security for Incoming Network Connections
  • Prohibiting Root Logins on Terminal Devices
  • Authentication Techniques
  • Authorization Controls
  • Running a Root Login Shell
  • Protecting Outgoing Network Connections
  • Logging in to a Remote Host
  • Invoking Remote Programs
  • Copying Remote Files
  • Public-key Authentication between OpenSSH Client and Server
  • Authenticating in Cron Jobs
  • Protecting Files
  • File Permissions
  • Shared Directory
  • Encrypting Files
  • Listing the Keyring
  • Signing Files
  • Encrypting Directories
  • POP / IMAP Mail Server (cont’d)
  • Testing an SSL Mail Connection
  • Securing POP / IMAP with SSL and Pine
  • SMTP Server
  • Testing and Monitoring
  • Testing Login Passwords (John the Ripper)
  • Testing Login Passwords (CrackLib)
  • Testing Search Path
  • Searching Filesystems Effectively
  • Finding Setuid (or Setgid) Programs
  • Securing Device Special Files
  • Looking for Rootkits
  • Tracing Processes
  • Observing Network Traffic
  • Detecting Insecure Network Protocols
  • Detecting Intrusions with Snort
  • Log Files (syslog)
  • Testing a Syslog Configuration
  • Logwatch Filter
  • Structure Program Internals and Approach
  • Minimize Privileges Sample Code
  • Filter Cross-Site Malicious Content on Input
  • Filter HTML / URIs that may be Re-Presented
  • Avoid Buffer Overflow
  • Language−Specific Issues :
    • C / C++
    • Sample Codes
    • Perl
    • Ada
    • Java
    • Tcl
    • Tcl Sample Code
    • PHP
Linux Application Auditing Tool : grsecurity
  • Introduction
  • Building a Linux Kernel
  • Procedures to Follow Post-Build
  • Linux Kernel Configuration Menu
  • Compiling a Linux Kernel
  • Introduction to Xcode
  • Mac OS X applications
  • Cocoa
  • Carbon
  • AppleScript
  • Script Editor
  • Script Window
  • Common Data Security Architecture
  • CDSA
  • Secure Transport API Set and Cryptographic Service Provider (CSP)
  • Creating SSL Certificate on Mac OS X Server
  • Using SSL with the Web Server
  • Setting up SSL for LDAP
  • Protecting Security Information
  • Security in Mac OS X
  • Security Management Using System Preferences
  • Authentication Methods
  • Encrypted disk images
  • Networking Security Standards
  • Personal firewall
  • Checklist of recommended steps required to secure Mac OS X
  • Introduction : PL / SQL
  • PL / SQL in Oracle Server
  • Security Issues in Oracle
  • SQL Injection Attacks
  • Defending Against SQL Injection Attacks
  • SQL Manipulation
  • Code Injection Attack
  • Function Call Injection Attack
  • Buffer Overflow and Other Vulnerabilities
  • DBMS_SQL in PL / SQL
  • Protecting DBMS_SQL in PL / SQL
  • Types of Database Vulnerabilities / Attacks
  • Establishing Security Policies
  • Password Management Policy
    • Password Management Policy : Password History
  • Auditing Policy
  • Oracle Policy Manager
  • Oracle Label Security (OLS)
  • Create an Oracle Label Security Policy
    • Step 1 : Define the Policy
    • Step 2 : Define the Components of the Labels
    • Step 3 : Identify the Set of Valid Data Labels
    • Step 4 : Apply Policy to Tables and Schemas
    • Step 5 : Authorize Users
    • Step 6 : Create and Authorize Trusted Program Units (Optional)
    • Step 7 : Configure Auditing (Optional)
  • Using Oracle Label Security with a Distributed Database
  • Oracle Identity Management
  • Security Tools
  • Oracle Secure Backup Tool
  • Obfuscation
  • Obfuscation Sample Code
  • Encryption Using DBMS_CRYPTO
  • Advanced Security Option
  • Row Level Security
  • Oracle Database Vaults : Tool
  • Auditing
  • Auditing Methods
  • Audit Options
  • View Audit Trail
  • Fine-Grained Auditing (FGA)
  • Oracle Auditing Tools
  • Testing PL / SQL Programs
  • SQL Unit Testing Tools
    • SPUnit
    • TSQLUnit
    • utPLSQL
  • Steps to Use utPLSQL
  • Basic Network Concepts :
    • Network
    • Protocols
    • Client Server Model
  • Basic Web Concepts
  • Network Programming
  • Benefits of Secure Network Programming
  • Network Interface
  • Securing Sockets :
    • Server Program
    • Client Program
  • Ports
  • UDP Datagram and Sockets
  • Internet Address
  • Connecting to secure websites
  • URL Decoder
  • Reading Directly from a URL
  • Content Handler
  • Cookie Policy
  • RMI Connector
  • .Net : Internet Authentication
  • Network Scanning Tool : Security Manager Plus
  • Network Programming Best Practices
  • Introduction to Windows Sockets
  • Windows NT and Windows 2000 Sockets Architecture
  • Socket Programming
  • Client-Side Socket Programming
    • The Socket Address Structure
  • The Socket Address Structure Code Analysis
  • Initializing a Socket and Connecting
  • Server-Side Socket Programming
  • Creating a Server
  • Winsock 2.0
  • Winsock Linking Methods
  • Starting a Winsock 2 API
  • Accepting Connections :
    • AcceptEx
  • WinSock : TransmitFile and TransmitPackets
  • Grabbing a Web Page Using Winsock
  • Generic File – Grabbing Application
  • Writing Client Applications
  • TCP Client Application Sample Code
  • Writing Server Applications
  • TCP Server Application Sample Code
  • Winsock Secure Socket Extensions
  • WSADeleteSocketPeerTargetName
  • WSAImpersonateSocketPeer
  • WSAQuerySocketSecurity
  • WSARevertImpersonation
  • WSASetSocketPeerTargetName
  • WSASetSocketSecurity Function
  • SOCKET_SECURITY_SETTINGS
  • Using WinSock to Execute a Web Attack
  • Using Winsock to Execute a Remote Buffer Overflow
  • MDACDos Application
  • Shellcode Introduction
  • Shellcode Development Tools
  • Remote Shellcode
  • Port Binding Shellcode
  • FreeBSD Port Binding Shellcode
  • Clean Port Binding Shellcode
    • Clean Port Binding Shellcode : sckcode
  • Socket Descriptor Reuse Shellcode
    • Socket Descriptor Reuse Shellcode in C
    • Socket Descriptor Reuse Shellcode : Sample Code
  • Local Shellcode
  • execve
  • Executing / bin /sh
  • Byte Code
  • setuid Shellcode
  • chroot Shellcode
  • Breaking of chroot jails in Traditional Way
  • Breaking Out of Chroot Jails on Linux Kernels
  • Windows Shellcode
  • Shellcode Examples
  • Steps to Execute Shell Code Assembly
  • The Write System Call
  • Linux Shellcode for “Hello, world!”
  • The Write System Call in FreeBSD
  • execve Shellcode in C
  • FreeBSD execve jmp / call Style
  • FreeBSD execve Push Style
  • FreeBSD execve Push Style, Several Arguments
  • Implementation of execve on Linux
  • Linux Push execve Shellcode
  • System Calls
  • The Socket System Call
    • The Socket System Call : Sample Code Analysis
  • The Bind System Call
  • The Listen System Call
  • The Accept System Call
  • The Accept System Call: Sample Code
  • The dup2 System Calls
  • The execve System Call
  • Linux Port Binding Shellcode
  • Compile, Print, and Test Shellcode
  • Reverse Connection Shellcode
  • Socket Reusing Shellcode
  • Linux Implementation of Socket Reusing Shellcode
  • Reusing File Descriptors
  • Using the setuid Root
    • Executing the setuid Program
    • System calls used by the setuid Root program
  • Using ltrace utility
  • Using GDB
  • Assembly Implementation
  • SysCall Trace
  • RW Shellcode
  • Encoding Shellcode
  • Decoder Implementation and Analysis
  • Decoder Implementation Program
  • Results of Implementation Program
  • OS-Spanning Shellcode
  • Assembly Creation
  • Introduction
  • Targeting Vulnerabilities
  • Remote and Local Exploits
  • A Two-Stage Exploit
  • Format String Attacks
    • Example of a Vulnerable Program
  • Using %n Character
  • Fixing Format String Bugs
  • User-Supplied Format String Vulnerability CVE-2000-0763 in xlockmore
  • TCP / IP Vulnerabilities
  • Race Conditions
  • File Race Conditions
  • Signal Race Conditions
  • Input Validation Error in man Program
  • Input Validation Error in man Program (Snippet 1)
  • Input Validation Error in man Program (Snippet 2)
  • Writing Exploits and Vulnerability Checking Programs
    • Writing Exploits and Vulnerability Checking Programs Sample Code
  • Stack Overflow Exploits
  • Memory Organization
  • Stack Overflows
  • Finding Exploitable Stack Overflows in Open-Source Software
  • Finding Exploitable Stack Overflows in Closed-Source Software
  • Heap Corruption Exploits
  • Doug Lea Malloc
  • Dlmalloc Chunk
  • Freed Dlmalloc Chunk
  • Vulnerable Program Example
  • Figures : Fake Chunk, Overwritten Chunk
  • OpenSSL SSLv2 Malformed Client Key Remote Buffer Overflow Vulnerability CAN-2002-0656
  • Exploitation
  • Exploitation Sample Code
  • The Complication
  • Improving the Exploit
  • Integer Bug Exploits
  • Integer Wrapping
  • Program : Addition-Based Integer Wrapping
  • Multiplication-Based Integer Wrapping
  • Bypassing Size Checks
    • Unsigned Size Check Without Integer Wrapping
    • Signed Size Check Without Integer Wrapping
  • Using the Metasploit Framework
  • Determining Attack Vector
  • Finding the Offset : Overwriting the Return Address
  • The First Attack String
  • Overwriting EIP with a Known Pattern
  • Selecting a Control Vector
  • Finding a Return Address
  • Selecting the Search Method in the Metasploit Opcode Database
  • Search Method in Metasploit Opcode Database
  • Using the Return Address :
    • Inserting the Return Address
    • Verifying Return Address Reliability
  • Nop Sleds : Increasing Reliability with a Nop Sled
  • Choosing a Payload and Encoder
    • Listing Available Payloads
    • Determining Payload Variables
    • Generating the Payload
    • msfencode Options
  • List of Available Encoders
  • Choosing a Payload and Encoder : msfencode Results
  • msfweb Payload Generation
  • Setting msfweb Payload Options
  • msfweb Generated and Encoded Payload
  • Integrating Exploits into Framework
  • Simple Port Scanners
  • Prerequisites for Writing a Port Scanner
    • Port Scanner in C++
    • Port Scanner in C#
    • Building a Simple Port Scanner in VC++
    • Port Scanner in Java
    • Example JavaScript Port Scanner
    • Port Scanner in ASP.Net
    • Port Scanner in Perl
    • Port Scanner in PHP
    • UDP Port Scanning in PHP
    • UDP Port Scanner in XML
  • libpcap
    • Capturing Packets
  • Packet Capturing Example
  • Saving Captured Packets to a File
  • The wiretap Library
  • Adding a new file format to the wiretap library
  • wtap Struct
  • Creating a New Dissector
  • Programming the Dissector
  • Adding a tap Module
  • Nessus Attack Scripting Language (NASL)
  • Writing Personal-Use Tools in NASL
  • Programming in the Nessus Framework
  • Porting to and from NASL
    • Porting to NASL
    • Porting from NASL
  • Metasploit Framework (MSF)
  • msfweb Interface
  • Selecting the Exploit Module
  • msfconsole Interface
  • Using msfconsole Interface
  • Executing an Exploit using msfconsole
  • msfcli Interface
  • Using the msfcli Interface
  • Updating the MSF
  • Writing Basic Rules
  • The Rule Header
  • Rule Options
  • Writing Advanced Rules : Perl-Compatible Regular Expressions (PCRE)
  • Byte_test and Byte_jump Functions
  • Optimizing Rules
  • Testing Rules
  • Writing Detection Plugins
  • Netcat Source Code
  • Mobile Phone Programming
  • Different OS Structure in Mobile Phone
  • Symbian Operating System
  • Guidelines for Securing Symbian OS
  • PalmOS
  • PalmOS Vulnerabilities
  • HotSync Vulnerability
  • Creator ID Switching
  • Windows Mobile
  • Calling Secure Web Services
  • Security Practices for Windows Mobile Programming
  • Comparison of Common Programming Tasks
  • PDA Programming
  • PDA Security Issues
  • Security Policies for PDAs
  • PDA Security Products
  • PDA Security Vendors
  • Java Platform, Micro Edition (Java ME)
  • Java ME Architecture
  • Java ME Security Issues
  • CLDC Security
  • Mobile Information Device Profile (MIDP)
  • MIDP Security
  • Programming the BlackBerry With Java ME
  • Security and Trust Services API (SATSA) for Java ME : The Security APIs
  • Certificate Enrollment in SATSA
  • Generating a Private Key and Certificate Signing Request in SATSA
  • Verifying the CSR
  • Storing a Certificate into the Certificate Local Store
  • Data Integrity with Message Digests
  • Generating a Message Digest
  • Verifying a Message Digest
  • Authentication With Digital Signatures
  • Signing a byte Array for Authentication Purposes
  • Verifying a Digital Signature using SATSA
  • Data Confidentiality - Using Ciphers for Data Encryption
  • Using Cipher to Encrypt Data using a Symmetric Encryption
  • Using Cipher to Decrypt Data using a Symmetric Encryption
  • Security Issues in Bluetooth
  • Security Attacks in Bluetooth Devices
  • Bluetooth security
  • Bluetooth Security : Key Management
  • Tool : Bluekey
  • Tool : BlueWatch
  • Tool : BlueSweep
  • Tool : Bluediving
  • Tool : Smartphone Security Client
  • Tool : BlueFire Mobile Security Enterprise Edition
  • Mobile Phone Security Tips
  • Defending Cell Phones and PDAs Against Attack
  • Antivirus Tools for Mobile Devices
  • F-Secure Antivirus for Palm OS


  • Game Designing Introduction
  • Type of Games :
    • Console Games
    • Mobile Games
    • Online Games
    • Off-line Games
    • Wii Games
  • Threats to Online Gaming
  • Threats to Online Gaming: Cheating
  • Multimedia Fusion Screenshot
  • Adventure Game Studio Screenshot
  • Game Maker Screenshot
  • FPS Creator Screenshot
  • Stagecast Creator Screenshot
  • RPG Maker XP Screenshot
  • The Scrolling Game Development Kit
  • Visual3D.NET Screenshot
  • Game Engine
  • Best Practices for Secure Game Designing
  • Summary


  • Purpose of Secure E-Commerce Application
  • E-Business Concepts: Secure Electronic Transaction (SET)
  • Using SET
  • Secure Socket Layer (SSL)
  • SSL Certificates
  • VeriSign SSL Certificates
  • Entrust SSL Certificates
  • Digital Certificates
  • Digital Signature
  • Digital Signature Technology
  • Digital Signature Algorithm :
    • Signature Generation / Verification
    • ECDSA, ElGamal Signature Scheme
  • Guidelines for Developing Secure E-Commerce Applications


  • Software Activation : Introduction
  • Software Activation Process
  • Process of Software Activation
  • Software Activation : Advantages
  • Activation Explained
  • Online License Management Server
  • Activation Policies
  • Policy Control Parameters
  • Piracy
  • The Effects of piracy
  • Piracy Blocking
  • Digital Right Management (DRM)
  • Software Piracy Protection Strategies
  • Copy protection for DVD
  • Application Framework – DVD Copy Protection System
  • Content Protection During Digital Transmission
  • Watermark System Design Issues
  • Cost Effectiveness
  • False Positives Rate
  • Interaction with MPEG compression
  • Detector Placement
  • Copy Generation Management
  • Tool : Crypkey
  • EnTrial Key Generation
  • EnTrial Distribution File
  • EnTrial Product & Package Initialization Dialog
  • Windows Automatic Updates
  • Options for Setting up Windows Automatic Updates on XP
  • Automatic Updates Option on AVG Antivirus
  • Automatic Updates for Internet Explorer
  • Automatic Updates for Mozilla Firefox
  • What is PCI compliance
  • PCI Data Security Standard
  • PCI web application requirements
  • OWASP top 10 vulnerabilities
  • Avoiding Injection Flaws
  • Avoiding XSS flaws
  • Avoiding broken authentication and session management
  • Avoiding insecure direct object references
  • Avoiding CSRF flaws
  • Avoiding security misconfiguration
  • Avoiding URL access control flaws
  • Avoiding unvalidated redirects and forwards
  • Avoiding insecure cryptographic storage
  • Avoiding insufficient transport layer


Trainers

Reviews

0
based on 0 ratings reviews