EC-Council Certified Secure Programmer
Service Times: 9am and 10:30am
6399 North Wells Road, Bigtownville, CO 32748
  • Loading

EC-Council Certified Secure Programmer (CSP)

Email Print Export to ical format


Academy of Management & Science (AMS)
House # 89/E, Road # 13/C, Block # E, Banani, Dhaka 1213, Bangladesh
Telephone: +880 (2) 9891190, +880 (2) 8836875, Cell No: (88) 01680878839, (88) 01193070284

EC-Council Certified Secure Programmer (CSP)


EC-Council Certified Secure Programmer lays the basic foundation required by all application developers 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.

Course Details:

Module 01: Introduction to Secure Coding
> 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
o Security Principles
o Security Through Obscurity
o Buffer Overflows
o Format String Vulnerabilities and Race Conditions
o Locking Problems
o Exception Handling
o Fundamentals of Control Granularity
o Fail-Safe Design Strategies
o Fault Tolerance and Detection
o Fault Removal and Avoidance
Course Outline v3
Page 5 EC-Council
o Input and Parameter Validation
o Encrypting Secrets in Memory and Storage
o Scrubbing Information
o Privilege Levels for Information Access
o Loose Coupling
o High Cohesion
o Change Management and Version Control
> Guidelines for Developing Secure Codes
o Validate All User’s Input
o Sanitize Input Values
o Use the Principle of Least Privilege
o Do Fail Safe
o Handle Sensitive Security Information with Care
o Practice Defense-in-Depth
o Do Not Provide Hints to Attackers
o Do Not Add Comments Telling What the Code Does
o Make (Code) Buddies
o Study and Fix the Defects
o Consider Security Issues During Design
o Avoid Common Security Problems
o Scan Existing Applications for Code Weaknesses
Page 6 EC-Council
o Use Threat Models
o Perform Software Testing
o Use Automated Source Code Vulnerability Scanning Tools
> Software Security Checklists
o Authentication
o Authorization
o Data Validation
o Session Management
o Logging
o Error Handling
o Cryptography
o Performance
o Use of Privilege
o User-Server Authentication
Module 02: Designing Secure Architecture
> Introduction to Secure Architecture
> Secure Architecture
> Application Security
> Factors Affecting Application Security
> Software Engineering and System Development Life Cycle (SDLC)
> SDLC Phases
o System Requirements
Page 7 EC-Council
o Specifications
o Design
o Coding
o Testing
o Maintenance
> Software Methodology Models:
o Waterfall Model
o RAD (Rapid Application Development)
o JAD (Joint Application Development)
o Fountain Model
o Spiral Model
o Build and Fix
o Synchronize-and-Stabilize
> Agile Methodologies
> Extreme Programming (XP)
o Rules and Practices of Extreme Programming
o XP Practices
> Unified Modeling Language (UML)
o Primary Goals
o Diagram
o UML Tool
> Rational Rose
> Borland Together
> Threat Modeling
o Aspects of Security Threat Modeling
o STRIDE Threat Model
> Common Criteria
> Software Development Best Practices
Page 8 EC-Council
> Microsoft SDL Threat Modeling Tool
> Borland® TeamInspector™
Module 03: Cryptography
> Introduction to Cryptography
> Encryption
> Symmetric Encryption
> DES Symmetric Encryption Process
> Asymmetric Encryption
> Asymmetric Encryption vs. Symmetric Encryption
> Decryption
> Use of Cryptography
> Cryptographic Techniques
o Classic Cryptographic Techniques
o 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
o The Diffie-Hellman Key Algorithm
o 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
Page 9 EC-Council
> 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
o Hashing, MACs, and Digital Signatures using C# in .NET
> Challenges and Opportunities
Page 10 EC-Council
> Digital Certificates
> Creating and Verifying a Simple XML Digital Signature in C#
> Cleversafe Grid Builder
> 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 Organization
Module 04: Buffer Overflows
> Statistics: MS08-067 Exploit Activity from October 2008 to January 2009, Detected as
> 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
Page 11 EC-Council
> 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++
o Insure++: Features
> Buffer Overflow Protection Solution: Libsafe
> Comparing Functions of libc and Libsafe
> Simple Buffer Overflow in C
> Code Analysis
Module 05: Secure C and C++ Programming
> Introduction of C/C++
> Important Features of Object Oriented Programming
> Vulnerable C/C++ Functions
> Strcpy()
> Strncat()
> Strncpy()
> Sprintf()
> Gets()
> C/C++ Vulnerabilities:
> Buffer Overflow
o Strings
Page 12 EC-Council
> Countermeasures
> 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
o Anti-Tampering Techniques
> Erasing Data from Memory Securely using C/C++
> Preventing Memory From Being Paged to Disk
Page 13 EC-Council
> Using Variable Arguments Properly
> Signal Handling
> Encapsulation in C++
> Best Practices for Input Validation
> Code Profiling And Memory Debugging Tool: Val grind
> Viva64 Tool
Module 06: Secure Java and JSP Programming
> Introduction to Java
> The Java Programming Language
> 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
Page 14 EC-Council
> 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(TM) Secure Socket Extension (JSSE)
> Creating Secure Client Sockets
> Creating Secure Server Sockets
> Choosing the Cipher Suites
> Java GSS Security
o Code for GSS Server
Page 15 EC-Council
o Code for GSS Client
> Java Server Page (JSP)
o Problem of Untrusted User Input
o JSP Security Issues: Sensitive Data in GET Requests and Cookies
o 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
o Policy Tool: Creating a new Policy File
> Best practices for developing secure Java Code
Module 07: Secure Java Script and VB Script Programming
> 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
Page 16 EC-Council
> Malicious Script Embedded in Client Web Requests: Effects
> Malicious Script Embedded in Client Web Requests: Solution
> Tool: Thicket Obfuscator for JavaScript
> JavaScript Security in Mozilla
o JavaScript Security in Mozilla: Same Origin Policy
o Same Origin Check
o JavaScript Security in Mozilla: Signed Script Policy
> Netscape’s SignTool
o 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
Module 08: Secure Microsoft.NET Programming
> Common Terminology
> Microsoft .NET: Introduction
Page 17 EC-Council
> .NET Framework
o .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
o Role-Based Security: Windows Principal
o 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
Page 18 EC-Council
> Permissions
> 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
Page 19 EC-Council
o Design Considerations
o 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:
o Default Error Message
o Leaving Tracing Enabled in Web-Based Applications
o Enabled Debugging
o Cookies Accessible through Client-Side Script
o Enabled Cookieless Session State
o Enabled Cookieless Authentication
o Failure to Require SSL for Authentication Cookies
o Sliding Expiration
o Non-Unique Authentication Cookie
o Hardcoded Credential
> Securing Session and View State
> Web Form Considerations
> Securing Web Services
Page 20 EC-Council
> 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
o Caspol.exe
o 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
Module 09: Secure PHP Programming
> Introduction to PHP (Hypertext Preprocessor)
> PHP Security Blunders
> Unvalidated Input Errors
> Example of PHP Attack
> Solution for Access Control Flaws
Page 21 EC-Council
> Solution for Session ID Protection
> Error Reporting
> Data Handling Errors
> Security Sensitive PHP Functions:
File Functions
> Security Sensitive PHP Functions: ezmlm_hash
> PHP Exploits
o Forms and Data
o Semantic URL Attacks
o File Upload Attacks
o Cross-Site Scripting (CSS/XSS)
o Cross-Site Request Forgeries
o Spoofed Form Submissions
o Spoofed HTTP Requests
o Sessions and Cookies
o Cookie Theft
o Exposed Session Data
o Session Fixation
o Session Hijacking
> PHP Vulnerabilities
o Informational Vulnerabilities
o Common File Name Vulnerability
o Revealed Source Code Vulnerability
o Revealing Error Message Vulnerability
o Sensitive Data in Web Root Vulnerability
o Session File in Shared Server Vulnerability
o Sensitive Data in Globally Readable File Vulnerability
o Revealing HTML Comment Vulnerability
Page 22 EC-Council
o Web Application Fingerprint Vulnerability
o Packet Sniffing Vulnerability
o Attack Vulnerabilities
o Global Variable Vulnerability
o Default Password Vulnerability
o 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
o Safe Mode
o Disable Register Globals
o Validating Input
o PHP Input Filter Class
> PHP Encoders
o Acunetix Web Vulnerability Scanner
Page 23 EC-Council
o Encryption Software: PHP Code Lock
o Zend Guard
o POBS stands for PHP Obfuscator/Obscurer
o eAccelerator
> Best Practices for PHP Security
Module 10: Securing Applications from Bots
> Bots
> Botnet
> The Botnet Life Cycle
> Botnet Threats
> Robot.txt
o Creating “robots.txt” file
> Blocking Bad Bots and Site Rippers
> Protecting Web Application Forms from Spam Bots
> Advantages of CAPTCHA
o Anti-Spam Security Question
o Menu Option Matching
o Honeypot Spam Trap
o Input Length Regulation
> Guidelines to Protect Network from Bots
> Bot Detection Tool: BotHunter
> Cyber Clean Center
> Structure of Cyber Clean Center
Module 11: Secure SQL Server Programming
> Introduction
Page 24 EC-Council
> SQL Server Security Model
o SQL Server Security Model: Login
> Creating an SQL Server Login
> Database User
> Guest User
> Permissions
> Database Engine Permissions Hierarchy
> Roles
o Public Role
o 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:
o Buffer Overflow in pwdencrypt()
o Extended Stored Procedures Contain Buffer Overflows
> SQL Injection Attacks
> Prevent SQL Injection Attacks
> Sqlninja:
o SQL Server Injection & Takeover Tool
o Finding Target
> Data Encryption
> Built-in Encryption Capabilities
> Encryption Keys
> Encryption Hierarchy
Page 25 EC-Council
> 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:
o Authentication
o Authorization
> Best Practices for Database Authorization
> Auditing and Intrusion Detection
> Enabling Auditing
> Database Security Auditing Tools:
o AppDetectivePro
o NGSSquirrel
o AuditPro
Module 12: SQL Rootkits
> Rootkits
> SQL Server Rootkit
> Threats of SQL Rootkits
> Evolution of SQL Rootkits
> How a Rootkit Works
> SQL Server 2000
o Rootkit Attack on SQL Server 2000
o Screenshot: Password Tampering
Page 26 EC-Council
> SQL Server 2005
o Step 1: Copy and attach the hidden resource database
o Step 2: Login via Dedicated Administrator Connection (DAC)
o Step 3: Alter the sys.server_principalsview Script
o Step 4: Introduce the Rootkit
> Detecting SQL Server Rootkits
> Rootkit Detection Tool
o DB Audit
o ApexSQL Audit
o Audit DB
o DbProtect
Module 13: Secure Application Testing
> 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
Page 27 EC-Council
> Creating 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:
o QEngine
o LoadRunner
> Real Time Testing
Module 14: VMware Remote Recording and Debugging
> Remote Debugging
> Recording Debugging Process
> Security Issues in Remote Recording and Debugging
> The Eclipse Integrated Virtual Debugger
o Introduction
o Overview
o Eclipse Launch Configurations
o Setting Up the Eclipse Integrated Virtual Debugger Environment
o Managing Virtual Machine Launch Configurations
> Application Configurations to Start Applications in a Virtual Machine
o Steps to Create, Duplicate, or Edit a Launch Configuration to Start an Application in a
Virtual Machine
Page 28 EC-Council
> Application Configurations to Attach to Applications Running in a Virtual Machine
o Steps to Create, Duplicate, or Edit a Configuration that Attaches to a Running Application
in a Virtual Machine
o Steps to Delete Configurations
o Running and Debugging Applications in Virtual Machines
o Steps to Start an Application Debugging Session in a Virtual Machine
o Steps to Start an Application in a Virtual Machine Without Debugging
o Steps to Attach the Debugger to an Application Running in a Virtual Machine
> Visual Studio Integrated Virtual Debugger
o Overview
o Configuration Options When Starting an Application in a Virtual Machine
o Configuration Options When Attaching to a Process Running in a Virtual Machine
o Setting Up the Visual Studio Integrated Virtual Debugger Environment
> Managing Virtual Machine Configurations
o Creating Configurations
o Setting Configuration Properties
o Setting Virtual Machine Properties
o Running and Debugging Applications in Virtual Machines
o Starting a Debugging Session in a Virtual Machine
o Starting a Session Without Debugging in a Virtual Machine
o Attaching the Debugger to a Process Running in a Virtual Machine
Module 15: Writing Secure Documentation and Error Messages
> Error Message
> Common Error Messages
> Error Messages: Categories
> Good Error Message
> Error Message in a Well-designed Application
Page 29 EC-Council
> 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
Module 16: Secure ASP Programming
> ASP- Introduction
> Improving ASP Design
> Using Server-Side Includes(SSI)
o Using Server Side Includes (SSI) with ASP
o Using Server-Side Includes: Example
o 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
Page 30 EC-Council
> 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
Module 17: Secure PERL Programming
> 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
Page 31 EC-Council
> Setuid Command
o Setuid Sample Code
o Authenticating the user with setuid
o 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
Module 18: Secure XML, Web Services and AJAX Programming
> Web Application and Web Services
> Web Application Vulnerabilities
o Coding Errors
o Design Flaws
> XML- Introduction
> XSLT and XPath
> XML Signature
o Applying XML Signatures to Security
> An Enveloped, Enveloping and Detached XML Signature Simultaneously
> XML Encryption
o The abstract Element
> Security Considerations for the XML Encryption Syntax
> Canonicalization
Page 32 EC-Council
> 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
o Stylus Studio® 2010 XML Enterprise Suite
o V-Sentry
o Vordel SOAPbox
o AJAX- Introduction
o Anatomy of an AJAX Interaction (Input Validation Example)
o AJAX: Security Issues
o How to Prevent AJAX Exploits
o Tool: HTML Guardian ™
o Tool: Sprajax- AJAX Security Scanner
o HP WebInspect Software
Module 19: Secure RPC, ActiveX and DCOM Programming
> RPC Introduction
> RPC Authentication
Page 33 EC-Council
> RPC Authentication Protocol
> NULL Authentication
> UNIX Authentication
> Data Encryption Standard (DES) Authentication
o Data Encryption Standard (DES) Authentication on Server Side
> Diffie-Hellman Encryption
> Security Methods
> Security Support Provider Interface (SSPI)
> Security Support Providers (SSPs)
o Writing an Authenticated SSPI Client
o Writing an Authenticated SSPI Server
> Secure RPC Protocol
> RpcServerRegisterAuthInfo Prevents Unauthorized Users from Calling your Server
> RPC Programming Best Practices
> Make RPC Function Calls
o Making RPC Function Calls: Using Binding Handles
o 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
Page 34 EC-Council
> Preventing Repurposing
> SiteLock Template
o SiteLock Template: Implementation Guide for ATL Controls
> IObjectSafety Interface
> Code Signing
o 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
Page 35 EC-Council
Module 20: Secure Linux Programming
> 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
o Security Audit
o Communication
o Encryption
o Identification and Authentication
o 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
Page 36 EC-Council
> 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
Page 37 EC-Council
> 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:
o C/C++
o Sample Codes
o Perl
o Ada
o Java
o Tcl
o Tcl Sample Code
> Linux Application Auditing Tool: grsecurity

Training Calendar

<<  February  2018  >>
 S  M  T  W  T  F  S 
      1  2  3
  4  5  6  7  8  910


AMS Campus Facilities

  • Two Air conditioned seminar halls with projector & audio system [Maximum Capacity up to 50 persons] including video recording capacity.
  • Two different PC Labs (Air conditioned)
  • Centralized server
  • Internet / WIFI facilities
  • Practice facilities in LABS
  • Online Exam Centre
  • Cafeteria & Own cook facility
  • Large lobby with natural surroundings
  • Huge Parking Space
  • Waiting Lounge
  • Distance education facilities
  • Printer, Scanner etc logistics facilities
  • Special Guest Room
  • Registration Booth Arrangement Space
  • 3 Star Accommodation arrangements for foreign guests on demand in walking distance from the center.
    ………and many more

Contact AMS

Academy of Management & Science (AMS)
House #450, Road # 31, New DOHS,Mohakhali, Dhaka-1206, Bangladesh
Cell No: (88) 01616004108
Email: This email address is being protected from spambots. You need JavaScript enabled to view it.

Academy Location