False Economies Sabotage Product Development
Andy Burns
Principal Technical Project Manager, Lean-Agile Portfolio Coach, PMP, PMI-ACP, DAC, SPC, RTE
Short-Term Savings, Long-Term Disaster: Neglecting Securitys Impact in Product Development
Software is eating the world.? Right now, your doorbell is probably arguing with your toaster about an IP address.? The Internet of Things (IoT) marches onward to the future, perhaps in dangerous ways.? Most product development companies deal with software or cyber-physical systems and face an ever-escalating gauntlet of security challenges. All company’s security issues are unique.? Fortunately, a common principle can be applied to remedy all.? ‘Building Security In’ is undoubtedly the principle to adopt.? Yet, product development companies stumble now facing an old nemesis, believing in false economies.? This perverse reasoning has an infamous track record. ??Here are some examples of false economies.
Lessons Learned, Again
A false economy is a decision that appears to save time or money in the short term but ends up costing more time and resources in the long run. These decisions are usually characterized by an initial perceived efficiency or savings, which are overshadowed by the negative consequences. ?Here’s an abridged catalog of common enough misjudgments:
?
Skimping on Quality Assurance (QA) and Testing
Neglecting Technical Debt
Underestimating or Eliminating Documentation
Opting for the Cheapest Solutions
Overlooking Employee Training and Development
Rushing to Release
Avoiding User Feedback
Cutting Corners in Design
?
Addressing these false economies requires a balance between short-term gains and long-term goals, ensuring that cost-saving measures don't compromise the overall quality and viability of the product. Today, false economies also jeopardize product security.
False economies Subvert Security.
So let’s add to our list of false economies.? Presently product security runs the false economies gauntlet.? Here’s a bit more twisted logic and a host of consequences:
Failing to Build Security In
Data Breaches
Loss of Customer Trust and Brand Damage
Legal and Regulatory Consequences
Operational Disruption
Intellectual Property Theft
Increased Security and Remediation Costs
领英推荐
Impact on Shareholder Value
Employee Impact
?
Building Security In
Though misguided notions of a false economy erode Security, modern product development can, ‘Build Security In’ cost effectivly.? The foundational practices of Continuous Integration (CI), Continuous Deployment (CD), and DevSecOps can streamline development workflows, enhance product quality, and integrate security throughout the product development lifecycle.? What's the way?
Continuous Integration (CI)
CI is a product creation practice where developers frequently merge their code changes into a central repository, ideally multiple times a day. Each merger triggers an automated building and testing process, allowing teams to detect and fix integration errors quickly, improve software quality, and accelerate the development cycle. Security can be checked during continous product creation, even if only a nominal set of Security tests are run. This lowers rework when issues are found on Deployment.
Continuous Deployment (CD)
CD extends CI by automatically deploying all Product changes to a production or (production like) environment after the build stage. This means that besides integration and testing, the deployment process is also automated, enabling a seamless flow from code commit to deployment. Quite extensive “after the fact” security testing may then be run versus the newly built (proposed to become live) environment. White Hat hackers can continously engage in Rsik Baxed and Exploratory security testing.
DevSecOps
DevSecOps integrates security practices into the CI/CD pipeline. It ensures that security considerations are an integral part of the product development process from the outset. It's about breaking down the silos between Product Management, Software Development, Quality Assurance (QA), User Experience (UX) / User Interface (UI) Design, Technical Support, Marketing, Sales, Human Resources (HR), Finance, Legal, Customer Success, and Security. It’s about optimizing the whole with security in mind.? The entire team developing a comprehensive catalog of security tests to run is both the initial and a continuous task. There are many great resources to help.
Building and Buying Your Catalog of Security Tests
?
It is entirely feasible and desirable to create some custom Security tests.? Ideas about these abound. The SANS Institute, in collaboration with MITRE, develops the CWE/SANS Top 25 Most Dangerous Software Errors list, a comprehensive guide highlighting the most critical programming errors that can lead to serious software vulnerabilities. This initiative is part of a broader effort to address software security issues by identifying common errors that developers make, which can compromise security. The list is instrumental for developers, security professionals, and organizations to understand and mitigate vulnerabilities effectively. It includes errors such as Out-of-Bounds Write, Cross-Site Scripting (XSS), SQL Injection, and many others, each ranked based on factors like prevalence, severity, and the potential impact on security. Additionally, the CWE (Common Weakness Enumeration) website, maintained by MITRE with support from the US Department of Homeland Security's National Cyber Security Division, offers detailed descriptions, prevention, and remediation steps for each error listed in the Top 25, along with information on over 700 additional software errors.
For more information on the Top 25 Most Dangerous Software Errors, visit the SANS Institute and the CWE website:
?
CWE Top 25 Lists
?
The OWASP Top 10 is an authoritative guide that outlines the most critical security risks to web applications, developed and maintained by the OWASP Foundation, a worldwide not-for-profit organization dedicated to improving the security of software. The foundation is known for its openness, with the community being at the heart of its projects. The OWASP Top 10 reflects a broad consensus about the most critical security risks to web applications. It is updated periodically, with contributions from security experts around the world who provide data, insights, and feedback. The 2021 edition, for example, introduced new categories and updates based on a blend of contributed data and the insights garnered from the OWASP community survey, showcasing a concerted effort to balance historical data with emerging trends in application security. The process for updating the OWASP Top 10 continues to be inclusive, and data driven. For the 2024 edition, the OWASP Foundation plans to collect data and contributions during the early part of 2024, reflecting the ongoing commitment to leveraging the collective expertise of the security community. This approach ensures that the OWASP Top 10 remains a relevant and practical resource for addressing current and emerging web application security risks.
The OWASP Foundation's role extends beyond curating the OWASP Top 10; it serves as a central resource for technological knowledge, tools, and methodologies related to software security. It operates under an open community model, where anyone can participate and contribute to OWASP projects and initiatives, reinforcing its mission to make software security visible so that individuals and organizations can make informed decisions.
For more information on OWASP and its projects, including the OWASP Top 10, you can visit the official OWASP website.? Between SANS and OWASP alone it becomes apparent that there are many avenues needing defense.
Security Tools
Security applications are another tool in the defense arsenal.? In the world of software and application security, many tools are available to professionals aiming to detect vulnerabilities, ensure adherence to security standards, and bolster overall security measures. These tools span various methodologies, including static application security testing (SAST), dynamic application security testing (DAST), and interactive application security testing (IAST). Here's an overview of several popular security testing tools:
1.????? SonarQube - Known for continuous inspection of code quality and security, identifying bugs, and security vulnerabilities within the codebase. Supports multiple languages and integrates seamlessly with CI/CD pipelines.
2.????? Fortify by Micro Focus - Offers SAST and DAST solutions, covering a broad spectrum of programming languages and frameworks. It's designed to fit into the SDLC for early vulnerability detection.
3.????? Checkmarx - A SAST tool recognized for scanning uncompiled/unbuilt code and detecting security vulnerabilities across various coding and scripting languages, including mobile app security.
4.????? Veracode - Delivers a cloud-based service encompassing SAST, DAST, and software composition analysis (SCA), aimed at enabling secure software development at high speed and scale.
5.????? Burp Suite - A suite primarily offering DAST capabilities, providing a comprehensive web application security testing solution, including both automated scanning and manual testing tools.
6.????? OWASP ZAP (Zed Attack Proxy) - An open-source DAST tool by OWASP, designed to find security vulnerabilities in web applications during development and testing.
7.????? Qualys - Offers cloud-based security and compliance solutions, including vulnerability management, compliance monitoring, and web application scanning, known for its extensive scanning capabilities.
8.????? Coverity - A Synopsys tool, Coverity stands out for its SAST capabilities, offering deep, full-path analysis to uncover vulnerabilities in both proprietary code and open-source components. Coverity is designed to integrate into the SDLC, providing fast feedback to developers and aiding in the quick remediation of detected issues.
?
Each tool has unique strengths, catering to specific stages of the product development life cycle or types of applications. It's common practice for organizations to employ a mix of these tools to establish a comprehensive security posture that adequately covers the full spectrum of their application inventory.
?
We must attend to security.? ‘Build Security In’ to the entire product development lifecycle.? It’s malpractice not to!
?