Information Security Professional Exam - Secure Programming Keywords

Basic Vulnerability Countermeasures

Injection Attack Countermeasures

  • SQL Injection - Placeholders, Prepared statements, Parameterized queries
    • Sub-keywords: Blind SQL injection, Second-order injection, ORM security
  • Cross-Site Scripting (XSS) - Escaping, Sanitization, Content Security Policy (CSP)
    • Sub-keywords: DOM-based XSS, Reflected XSS, Stored XSS
  • Command Injection - Shell command execution avoidance, Whitelist validation
    • Sub-keywords: OS command injection, Code injection, eval() vulnerabilities
  • LDAP Injection, XML Injection
    • Sub-keywords: XXE (XML External Entity), XPath injection, LDAP filter bypass

Authentication & Authorization

  • Password Management - Hashing (bcrypt, Argon2), Salt, Stretching
    • Sub-keywords: PBKDF2, Password complexity requirements, Credential stuffing
  • Session Management - Session ID, Session fixation attack countermeasures, Timeout
    • Sub-keywords: Session hijacking, Cookie security, Token-based authentication
  • Multi-Factor Authentication (MFA)
    • Sub-keywords: TOTP, Biometric authentication, SMS authentication
  • OAuth, OpenID Connect
    • Sub-keywords: JWT (JSON Web Tokens), Refresh tokens, Authorization code flow
  • Access Control - Principle of least privilege, Mandatory access control
    • Sub-keywords: RBAC (Role-Based Access Control), ABAC (Attribute-Based), DAC (Discretionary)

Cross-Site Attack Countermeasures

  • CSRF (Cross-Site Request Forgery) - Tokens, SameSite Cookie attribute
    • Sub-keywords: Anti-CSRF tokens, Double submit cookies, Origin header validation
  • Clickjacking - X-Frame-Options, frame-ancestors
    • Sub-keywords: UI redressing, Framebust defense, Transparent overlays

Input Validation and Data Processing

  • Whitelist/Blacklist Approach
    • Sub-keywords: Positive validation, Input filtering, Character encoding
  • Validation - Client-side/Server-side validation
    • Sub-keywords: Data type validation, Length constraints, Format validation
  • Regular Expressions - ReDoS (Regular Expression DoS) countermeasures
    • Sub-keywords: Catastrophic backtracking, Regex complexity analysis, Timeout limits
  • File Upload - Extension check, MIME type validation, File size limits
    • Sub-keywords: Magic number verification, Malware scanning, Quarantine mechanisms
  • Path Traversal - Directory traversal countermeasures
    • Sub-keywords: Canonicalization, Chroot jails, Path sanitization

Encryption and Data Protection

  • Encryption Methods - Symmetric encryption (AES), Public key encryption (RSA)
    • Sub-keywords: Block cipher modes (CBC, GCM), Key exchange, Elliptic curve cryptography
  • Hash Functions - SHA-256, SHA-3, MD5/SHA-1 deprecated
    • Sub-keywords: HMAC, Message authentication codes, Collision resistance
  • SSL/TLS - HTTPS communication, Certificate validation
    • Sub-keywords: Perfect forward secrecy, Certificate pinning, TLS handshake
  • Cryptographically Secure Pseudo-Random Number Generator (CSPRNG)
    • Sub-keywords: Entropy sources, /dev/urandom, SecureRandom
  • Key Management - No hard-coding prohibition
    • Sub-keywords: Key rotation, HSM (Hardware Security Module), Key escrow

Memory & Resource Management

  • Buffer Overflow - Boundary checks, Safe function usage
    • Sub-keywords: Stack overflow, Heap overflow, Canary values
  • Memory Leak
    • Sub-keywords: Resource cleanup, Dangling pointers, Memory profiling
  • Integer Overflow/Underflow
    • Sub-keywords: Arithmetic wraparound, Range validation, Safe math libraries
  • Resource Exhaustion Countermeasures - DoS countermeasures, Rate limiting
    • Sub-keywords: Throttling, Connection pooling, Circuit breaker pattern
  • Garbage Collection
    • Sub-keywords: Reference counting, Mark-and-sweep, Finalization vulnerabilities

Error Handling and Logging

  • Error Messages - Prevention of information leakage
    • Sub-keywords: Generic error pages, Stack trace suppression, Debug mode risks
  • Exception Handling - try-catch, Proper error handling
    • Sub-keywords: Fail-safe defaults, Exception chaining, Resource cleanup in finally
  • Log Output - Masking sensitive information, Log injection countermeasures
    • Sub-keywords: CRLF injection, Log tampering prevention, Audit trails
  • Debug Information - Disable in production environment
    • Sub-keywords: Source map removal, Verbose error suppression, Development vs production builds

Secure Coding Principles

  • Principle of Least Privilege
    • Sub-keywords: Privilege separation, Drop privileges, Capability-based security
  • Defense in Depth
    • Sub-keywords: Layered security, Multiple controls, Fail-safe mechanisms
  • Fail-Safe
    • Sub-keywords: Fail-closed vs fail-open, Default deny, Secure defaults
  • Secure by Default
    • Sub-keywords: Opt-in insecure features, Secure configuration templates, Hardening guides
  • Open Design Principle
    • Sub-keywords: Kerckhoffs's principle, Security through obscurity avoidance, Public review
  • OWASP Top 10 - Top 10 major vulnerabilities
    • Sub-keywords: Broken access control, Cryptographic failures, Security misconfiguration

API & Web Security

  • RESTful API - Proper authentication & authorization
    • Sub-keywords: API keys, Rate limiting, Input validation
  • CORS (Cross-Origin Resource Sharing)
    • Sub-keywords: Preflight requests, Access-Control headers, Origin validation
  • HTTP Headers - Strict-Transport-Security, X-Content-Type-Options
    • Sub-keywords: X-XSS-Protection, Referrer-Policy, Permissions-Policy
  • Same-Origin Policy
    • Sub-keywords: Origin definition, Port restrictions, JSONP risks
  • JSON Hijacking
    • Sub-keywords: Array hijacking, CSRF on JSON endpoints, Content-Type validation

Mobile & Others

  • Reverse Engineering Countermeasures
    • Sub-keywords: ProGuard, Code obfuscation, Anti-tampering
  • Code Obfuscation
    • Sub-keywords: Symbol stripping, Control flow obfuscation, String encryption
  • Root/Jailbreak Detection
    • Sub-keywords: SafetyNet, Integrity checking, Runtime environment validation
  • Secure Storage
    • Sub-keywords: Keychain (iOS), Keystore (Android), Encrypted shared preferences

Development Process

  • SSDLC (Secure Software Development Life Cycle)
    • Sub-keywords: Security requirements, Threat modeling phase, Security testing
  • Threat Modeling - STRIDE
    • Sub-keywords: Attack trees, DREAD, Data flow diagrams
  • Static Analysis (SAST), Dynamic Analysis (DAST)
    • Sub-keywords: Code scanning, Fuzzing, IAST (Interactive)
  • Penetration Testing
    • Sub-keywords: Black-box testing, White-box testing, Red team exercises
  • Code Review
    • Sub-keywords: Peer review, Security-focused review, Automated code review tools