Section 21.201 Application Security Flashcards
Objective 4.1 Given a scenario, you must be able to apply common security techniques to computing resources. Objective 4.5 Given a scenario, you must be able to modify enterprise capabilities to enhance security.
Application Security
Focuses on building secure applications and aims to prevent, detect, and remediate security vulnerabilities
Six Key Areas in Application Security
Input Validation
Acts as a gatekeeper to ensure that applications only act on well-defined and uncontaminated data
● Guards against attacks exploiting data input vulnerabilities (e.g SQL
injection, XSS, buffer overflows)
● Serves as a kind of quality control for data to ensure that every piece of
information is valid, secure, and correctly formatted
● Validation Rules: Delineate acceptable and unacceptable inputs (input expects phone number but receives alphabetical characters - needs to reject this)
While input validation is criticial to peform, it is not a cure all solution so it is used with other defense tools
○ Secure communication protocols
○ Regular security auditing
○ Implementing proper error handling
Six Key Areas in Application Security
Cookies
Small data pieces stored by web browsers used to maintain stateful information between the server and client
● Secure Cookies: Transmitted over HTTPS for enhanced security so cookie cannot be read or modified
● Best practices:
○ Refraining from persistent cookies for session verification
○ Enabling the Secure attribute
○ Enabling HttpOnly attribute
○ Configuring the SameSite attribute
Six Key Areas in Application Security
Static Code Analysis (SAST)
A method of debugging an application by reviewing and examining its source code before running the program
● Identifies issues like buffer overflows, SQL injection, and XSS
● Important for proper input validation in both front-end and back-end code
Six Key Areas in Application Security
Dynamic Code Analysis (DAST)
Analyses applications while they run
Common methods of DAST:
○ Fuzzing (Fuzz Testing)
■ Inputs random data to provoke crashes or exceptions
■ Helps uncover security flaws and weaknesses
○ Stress Testing:
■ Evaluates system stability and reliability under extreme
conditions
■ Reveals bottlenecks and assesses system recovery
Six Key Areas in Application Security
Code Signing
Confirms the software author’s identity and integrity
● Utilises digital signatures to verify code authenticity
● Protects against code tampering but doesn’t guarantee absence of
vulnerabilities
Six Key Areas in Application Security
Sandboxing
Isolates running programs, limiting their access to resources
● Prevents harmful actions on the host device or network
● Used to execute untrusted or untested programs securely