MITRE ATT&CKmitigation
M1013 Application Developer Guidance
- Domain
- enterprise, mobile
- Version
- 1.2
- Created
- 2017-10-25
Description
Application Developer Guidance focuses on providing developers with the knowledge, tools, and best practices needed to write secure code, reduce vulnerabilities, and implement secure design principles. By integrating security throughout the software development lifecycle (SDLC), this mitigation aims to prevent the introduction of exploitable weaknesses in applications, systems, and APIs. This mitigation can be implemented through the following measures:
Preventing SQL Injection (Secure Coding Practice):
• Implementation: Train developers to use parameterized queries or prepared statements instead of directly embedding user input into SQL queries.
• Use Case: A web application accepts user input to search a database. By sanitizing and validating user inputs, developers can prevent attackers from injecting malicious SQL commands.
Cross-Site Scripting (XSS) Mitigation:
• Implementation: Require developers to implement output encoding for all user-generated content displayed on a web page.
• Use Case: An e-commerce site allows users to leave product reviews. Properly encoding and escaping user inputs prevents malicious scripts from being executed in other users’ browsers.
Secure API Design:
• Implementation: Train developers to authenticate all API endpoints and avoid exposing sensitive information in API responses.
• Use Case: A mobile banking application uses APIs for account management. By enforcing token-based authentication for every API call, developers reduce the risk of unauthorized access.
Static Code Analysis in the Build Pipeline:
• Implementation: Incorporate tools into CI/CD pipelines to automatically scan for vulnerabilities during the build process.
• Use Case: A fintech company integrates static analysis tools to detect hardcoded credentials in their source code before deployment.
Threat Modeling in the Design Phase:
• Implementation: Use frameworks like STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) to assess threats during application design.
• Use Case: Before launching a customer portal, a SaaS company identifies potential abuse cases, such as session hijacking, and designs mitigations like secure session management.
Tools for Implementation:
• Static Code Analysis Tools: Use tools that can scan for known vulnerabilities in source code.
• Dynamic Application Security Testing (DAST): Use tools like Burp Suite or OWASP ZAP to simulate runtime attacks and identify vulnerabilities.
• Secure Frameworks: Recommend secure-by-default frameworks (e.g., Django for Python, Spring Security for Java) that enforce security best practices.
Related
Mitigates · MITRE ATT&CK (24)
- T1496.003 SMS Pumping sub-technique
- T1564.012 File/Path Exclusions sub-technique
- T1593.003 Code Repositories sub-technique
- T1647 Plist File Modification technique
- T1626 Abuse Elevation Control Mechanism technique
- T1635 Steal Application Access Token technique
- T1635.001 URI Hijacking sub-technique
- T1474.001 Compromise Software Dependencies and Development Tools sub-technique
- T1559.003 XPC Services sub-technique
- T1564.009 Resource Forking sub-technique
- T1593 Search Open Websites/Domains technique
- T1574.001 DLL sub-technique
- T1574 Hijack Execution Flow technique
- T1195.001 Compromise Software Dependencies and Development Tools sub-technique
- T1564 Hide Artifacts technique
- T1559 Inter-Process Communication technique
- T1550 Use Alternate Authentication Material technique
- T1550.001 Application Access Token sub-technique
- T1517 Access Notifications technique
- T1513 Screen Capture technique
- T1474 Supply Chain Compromise technique
- T1195 Supply Chain Compromise technique
- T1212 Exploitation for Credential Access technique
- T1078 Valid Accounts technique