Essential Skills For Security in Modern Application Development
Essential Skills For Security in Modern Application Development
By William Dupre
Application developers must learn new skills to ensure applications are securely developed
to reduce risk with traditional and DevSecOps delivery. From leadership and architecture to
development and operations, application technical professionals must obtain and cultivate
necessary security skills.
Overview
Key Findings
ÿ
Application vulnerabilities that can be exploited by malicious actors continue to proliferate,
requiring organizations to deliver secure applications using modern development practices.
With the limited number of security engineers available and organizations moving to faster
delivery models like DevSecOps, application developers cannot continue to rely solely on
security teams to ensure the security of applications.
ÿ
DevSecOps processes are providing application developers with more capabilities not only
to deliver code artifacts to various environments, but also to provision resources in those
environments. This is increasing the exposure of developers to operational environments.
ÿ
Understanding the organizational rationale for ensuring secure applications is critical to
navigating a charged political environment. Prioritizing application security often causes
conflicts between groups, while working to secure applications in this environment requires
diplomacy and effective evangelism of application security across the organization.
ÿ
Selecting which security skills and technologies to invest in is difficult for application
developers because of the breadth and depth of the security domain; developers simply do
not have the time and resources to become security experts.
Machine Translated by Google
Recommendations
To develop security skills that reduce risk in deployed applications, application technical
professionals must:
ÿ Acquire and reinforce core skills first, including performing threat modeling, using secure
coding standards, verifying application security and prioritizing vulnerabilities. Also, gain
proficiency in application security processes and technology in the operational environment.
ÿ Prioritize skills that fundamentally improve application security practices, help reduce
business risk and enable other application security skills. These include using secure coding
practices, identifying security requirements, threat modeling and championing security.
ÿ Develop new skills after mastering core skills to keep up with the changing application
security landscape. Focus on skills that align with current and future application
development and security needs, while ensuring that the skill sets continue to be valuable.
Examples include securing the software delivery pipeline and protecting APIs.
ÿ Evangelize application security and promote a culture of learning by joining and initiating
communities of practice, “lunch and learns,” “hackathons,” security sprints, and book clubs.
Skills Analysis
Vulnerabilities in web applications, mobile apps and APIs have become primary attack vectors
malicious actors to breach organizations. web-based
1 Organizations
products,move
it has more
become
quickly
impossible
to deliver
forfor
security engineers alone to verify the security of applications. Application technical professionals
must learn new skills to understand and implement application security.
Organizations need to build and deploy secure applications, especially as they deploy them
to modern, cloud-based infrastructure. To do this effectively in agile environments, application
developers need to learn how to design, develop and deploy applications with security as a
primary focus. Waiting to learn skills until there is a business requirement introduces security
risks, including added pressure to learn and implement skills too quickly. Yet learning the right
skills will critically improve application security, thereby reducing risk to the organization and
creating new career opportunities for developers.
two
The challenge for application developers is that application security has many areas to
consider. Determining which skills to invest in is difficult.
Machine Translated by Google
This research helps to answer that question by describing and prioritizing the essential
application security skills that developers need to learn to be successful.
Figure 1 illustrates that breakdown for the top application developer skills with respect to
security.
Machine Translated by Google
The relevance, impact, learning curve, and impedance position and values shown in Figure
1 are relative to how they affect the application developer and application development as
well as how they improve application security.
Developers should consider the following criteria and questions, also illustrated in the legend in
Figure 1. They should also use these criteria to identify the most appropriate skills to learn.
relevance
Is the skill currently relevant for application security and currently lacking within the
organization? This is represented by the concentric rings. Closeness to the center indicates
more relevance to current application security and, therefore, a higher urgency to learn now.
The relevance positions are:
ÿ Core: This identifies skills that a developer should be using now as long as the skill aligns
with the area of focus and organizational needs. These skills are widely adopted, heavily
used and proven to provide significant benefits. Additionally, these skills benefit from more
mature frameworks, tools and community support. Developers should prioritize core skills
over the others because they are fundamentally valuable in staying relevant as application
security continues to evolve. For example, all developers should be knowledgeable in and
Machine Translated by Google
use the secure coding practices for the language and frameworks being used in their current
development environment.
ÿ Valuable: This identifies skills that have proven valuable and are likely to become a future
core part of secure application development. These skills have reasonable adoption, but are
not fully adopted as core skills. Developers should prioritize these skills based on alignment
with their area of focus as an application developer, the current organizational needs and
their desired future state as a developer.
ÿ Security contribution: New skills will help the development of more secure applications. This
forms the strongest impact on application security.
ÿ Security awareness: New skills will help promote a culture of awareness with respect to
application security. This includes awareness across roles within the organization.
ÿ Risk reduction: New skills will reduce the security risks in the deployment of applications.
Learning Curve
How difficult is it to learn the skill? This is represented by the numerical value (1 through 3)
shown next to the skill. The higher the value, the more difficult the learning curve. Also,
developers should apply their existing knowledge as they review the learning curve. For
example, a developer who acts as a mentor and is capable of explaining complex engineering
topics to different organizational roles will be better equipped to evangelize application security
across those roles. Considerations for learning curve include:
ÿ Available resources: Are there experienced peers, coaches, books, online classes, boot
camps, hackathons, communities of practice, vendor documentation, SDKs or sample
projects available? Is there a security engineer available in the organization to provide
support?
Machine Translated by Google
ÿ Time: Are there difficult-to-grasp concepts, or a large amount of information that must be
absorbed to learn the skill? Is this a skill you can learn as part of your normal work time?
ÿ Required proficiency: How much proficiency is required to effectively gain value from this
skill?
Impedance to Apply
How hard will it be to begin applying the skill in the current application development processes?
This is represented by the points on the shape next to the skill. The more points on the shape,
the heavier the impedance factors to successfully begin applying the skill. Typical impedance
factors include cultural/process shifts, costs, effort and required coordination. All things being
equal, developers should learn skills with a darker shade (positive impact) and few points
(minimal impedance). Also, keep in mind that, even if the skills already exist or the organization
hires for the skills, applying them requires overcoming these impedance factors.
Categories
Is the skill something that fits well in a specific area of focus? This is represented by the four
quadrants described in the following bullet list that break the skills into specific areas of focus.
Note that most of the skills listed have aspects that touch the other quadrants, requiring
developers to acquire skills from multiple quadrants. For example, architecture practices will
influence practices in development and operations quadrants. The four quadrants are:
ÿ Architecture/design practices: Prioritize these skills when the focus is applying security
methods and practices to the architecture and design of the application; for example, using a
threat modeling exercise to uncover common injection vulnerabilities within a system design.
Key skills include: security requirements definition and threat modeling.
ÿ Development and verification practices: Prioritize these skills when the focus is on applying
security methods and practices to the development and verification of an application; for
example, developing and testing input validation for an application request to prevent common
injection attacks. Key skills include: secure coding practices, secure code verification, pipeline
protection, and in-app protection.
ÿ Operations knowledge: Prioritize these skills when the focus is on learning technologies to
mitigate security issues in a production environment. The expectation with these skills is that
developers have knowledge in the particular area in order to support security efforts, not
necessarily implementation skills; for example, identifying web application firewall (WAF) rules
to prevent common injection attacks from reaching an application. Key skills include: data
security, WAF rules and API security and workload protection.
ÿ Leadership skills: Prioritize these skills when the focus is on influencing the organization on
Machine Translated by Google
application security practices and processes; for example, educating product owners on the
risks of not addressing common injection vulnerabilities. Key skills include: champion security
and vulnerability prioritization.
The first skills in this section — secure coding practices, secure code verification, vulnerability
prioritization and threat modeling — are fundamental to application security. These should be
learned first and be the foundation for learning additional skills.
Developers code, and secure coding practices and standards enable them to develop
applications with fewer vulnerabilities. Such practices have a high impact on application
security because they limit the number and severity of vulnerabilities that escape into
downstream environments. They also ease the burden on development processes by limiting
the number of issues found later in verification tools, thus reducing the time and effort for
rework.
Machine Translated by Google
“Less than 25% of global developers feel that the secure coding
education they're currently receiving is adequate.”
The Open Web Application Security Project (OWASP) provides a Secure Coding Practices
Quick Reference Guide. Some of these practices include:
ÿ Input validation
ÿ Access control
ÿ Data protection
ÿ Database security
Other frameworks to consider include the Microsoft SDL, the NIST Secure Software
Development Framework and the OWASP Mobile Security Project.
Any set of organizational coding practices must also account for the specific features and
controls of the various languages and platforms being used. For example, mobile application
development practices must take into account the use of secure storage areas (eg, iCloud
Keychain) and the setting of appropriate application permissions (eg, Android manifest files).
Web APIs often carry enough uniqueness that they deserve their own sets of practices. For
details on platform-/framework-specific coding practices, see A Guidance Framework for
Establishing and Maturing an Application Security Program.
Depending on the industry, an application security program may have to account for specific
regulations. Financial Industry Regulatory Authority (FINRA), Health Insurance Portability and
Accountability Act (HIPAA), General Data Protection Regulation (GDPR) and Payment Card
Industry Data Security Standard (PCI DSS) all include requirements for securing systems and/
or data. These regulations may have specific requirements for secure coding practices, which
must be understood by developers. As an example, PCI DSS requires the use of secure coding
guidelines with some requirements calling out the OWASP Top 10 web application security
risks for developer guidance.
Machine Translated by Google
Along with these practices, developers should be skilled at writing security-focused unit tests.
These tests should be used to verify that proper controls are in place for techniques like input
validation and output encoding, but should also be used as regression tests against security
findings from other testing practices (eg, penetration tests).
Secure code verification consists of practices that include application security testing (AST)
and secure code reviews. These efforts have a high positive impact on application security
because they provide insight into application vulnerabilities and unsecure coding practices
early on in development processes.
There are three main styles of AST that developers should learn:
ÿ Static AST (SAST): Technology that contains an application's source code, bytecode or
binary code for security vulnerabilities, typically in the development and/or testing phases.
ÿ Dynamic AST (DAST): Technology that applications in their dynamic, running state during
testing or operational phases. DAST simulates attacks an application (typically web
applications and APIs), against the application's reactions and thus, identifies any possible
vulnerabilities.
ÿ Interactive AST (IAST): Technology that identifies vulnerabilities during normal testing
practices by blending static and dynamic analysis techniques through instrumentation of the
running code.
Along with the above testing styles, developers must learn to use software composition
analysis (SCA) technology, which identifies open-source and third-party components in use in
an application, along with their known security vulnerabilities. Third-party components make up
3 and can
about 70% of modern applications Gaining be theand
visibility source of most
enabling vulnerabilities
developers found.these
to address 4
issues early in the development process are imperative to improving application security.
Developers should be skilled at analyzing the output from these various tools and be able to
remediate the identified issues. It is preferable that developers be skilled at using integrated
development environment (IDE) plug-ins for some of these tools (eg, SAST and SCA) so that
the issues can be identified and addressed before code is committed to a central repository.
Machine Translated by Google
Figure 2 shows a typical software build pipeline and where AST and SCA scanning usually
takes place.
Developers should also be skilled in reviewing code for possible security issues, including
coding standards violations and design flaws. Such reviews help identify weaknesses and
vulnerabilities within code and create learning opportunities across development staff. To
support the review process, developers should use secure coding standards (both internal to
the organization and platform-/framework-dependent), automated review tools, threat models
and output from AST tools. 5
All of these practices together require an intermediate level of learning for developers. Being
proficient in the different AST/SCA tools and what their individual focuses are and prioritizing
their findings require training. Secure code review skills, however, should require less effort if
developers are already skilled in general code review practices and relevant tooling.
Vulnerability Prioritization
An application security verification process (as described in the Secure Code Verification
section) is one source for identifying vulnerabilities within applications. However, organizations
may also have vulnerability management (VM) processes that identify issues in third-party
libraries, external services and frameworks that are used within applications. Also, the penetration
testing program may regularly identify vulnerabilities within applications. All of these possible
application-impacting vulnerabilities must be prioritized appropriately in order to be remediated
within the SDLC process.
Prioritization is necessary because security verification and VM processes can identify many
issues within applications, not all of which can be addressed within a timely manner.
Developers must balance their time between developing business features and addressing
various categories of defects, including security vulnerabilities. Effective prioritization can
balance these trade-offs while having a positive impact on limiting organizational risk.
ÿ CVEs and CWE standards: Common vulnerabilities and exposures (CVEs) and common
weakness enumeration (CWE) are community standards for identifying vulnerabilities and
software weaknesses. The CVE provides a reference to a publicly known vulnerability in
software (including open-source components) and is assigned a unique identifier and
severity. CWEs are a list of software and hardware weaknesses types. The various tools
identifying application vulnerabilities will use these standards to reference found issues.
Developers must have some understanding of these standards in order to investigate the
risk of a discovered vulnerability.
ÿ Vulnerability scoring: Security verification and VM tools typically score vulnerabilities based
upon some industry or product standard, eg, the Common Vulnerability Scoring System
(CVSS). Understanding these scores and knowing when and how they can be adjusted
require some knowledge of specific vulnerabilities, where they exist within the application,
ease of exploitation, what data might be impacted and if they are mitigated by other means.
ÿ Risk tolerance: Not all identified vulnerabilities can be resolved in a manner consistent with
reducing risk. Developers must understand when risk from not remediating a vulnerability
can be tolerated. However, whether or not to accept the risk should not be a decision left
solely to developers — it must be a collaborative effort with security and business, informed
by the risk tolerance of the organization.
Threat Modeling
Threat modeling is a form of risk assessment that attempts to identify threats against and
weaknesses in a system. The primary goals of threat modeling are to:
ÿ
Understand the relevant system components as well as user and machine interactions with
the system (or systems)
In the 2021 OWASP Top 10 Web Application Security Risks, unsecure design debuts at No. 4. It
states, unsecure design “focuses on risks related to design and architectural flaws, with a call for
more use of threat modeling, secure design patterns and reference architectures.”
Application developers must learn this skill in order to apply it during the design phase of the
development process. There is a high-positive impact if this task is performed early in the SDLC
because it allows for a vulnerable design to be addressed quickly before it becomes realized
during implementation. However, there is also a benefit in using a threat model to understand and
improve an existing implementation. In addition, threat modeling has a positive impact on
collaboration since most exercises require input from security, operations, and development
teams.
developers should understand the concepts and purpose of threat modeling and be able to use
at least one of these methodologies proficiently. Which methodology to use will depend on
personal preference, organizational/product/project need and current industry trends.
Methodology Description
attack trees Models attack in a tree form with the root of the tree being the goal of
the attack. Typically used with other methodologies.
To learn threat modeling, application developers should work with security teams to
Machine Translated by Google
understand the typical and current threats to applications. There are also gamification
exercises that help teams learn threat modeling techniques (eg, Microsoft's Elevation of
Privilege and OWASP Cornucopia), as well as tools that facilitate the process. Initially, threat
modeling can be an informal exercise for developers as they learn the techniques and
processes. All of these approaches increase the ability of developers to learn threat modeling
while reducing the overall impedance of the practice.
In modern development processes, like DevSecOps, developers are typically part of a team that
creates requirements for application features. While business analysts write requirements for
business functionality, developers provide input and requirements for features such as
maintainability, reusability, testability and resilience. Security requirements typically come from
security professionals, but developers must take on this responsibility with collaboration from
security teams. In the end, though, security requirements must be treated just like functional and
other nonfunctional requirements and be just as visible to development teams.
Some security requirements will be considered acceptance criteria in a business user story. For
example, a user story that requests functionality to accept user input, should contain acceptance
criteria requiring that the input be properly validated and sanitized before being processed. This
can help prevent security issues like injection vulnerabilities. Other security requirements may
need to be user stories themselves. Also, developers should help define abuse cases; that is,
specifications “of a type of complete interaction between a system and one or more actors, where
the results of the interaction are harmful to the system, one of the actors, or one of the
6
stakeholders in the system.”
Developers should be skilled in providing acceptance criteria and user stories to address
security requirements. The OWASP Application Security Verification Standard provides
guidance on specific security requirements that you need to be considered during the design
and development of applications. Examples include requirements for input validation and
output encoding, authentication controls, and data protection requirements.
As mentioned above in the Secure Coding Practices section, organizations falling under certain
regulatory authorities (eg, FINRA, HIPAA, GDPR, PCI DSS) may be required to implement
Machine Translated by Google
specific protections for systems and data. Developers must know when and how to design
application requirements to support these compliance policies.
Data Security
1 shows
the The Verizon 2021 Data Breach Investigations Report resultthat 39%application
of web of all breaches were
attacks.
These breaches included unauthorized access to application and other organizational data.
Application developers must understand how data can be exfiltrated and how it is protected in
a production environment in order to influence development processes and incident response
practices.
As developers use techniques such as infrastructure as code (IaC), they must take into account
security controls for the infrastructure they will be provisioning. For instance, when provisioning
a database instance, that database may need to be encrypted. Also, cloud storage systems may
need to have restrictive configurations applied so as not to be exposed publicly.
Unfortunately, misconfigurations of such data assets have become a growing problem for the
confidentiality of an organization's data.
In light of these problems, developers must understand some of the following controls in order
to secure data properly:
ÿ
Transparent data encryption (TDE): File-level encryption for databases, protecting data at
rest. TDE does not protect data in transit or in use.
ÿ
Secure data transport: Encrypting data in transit, typically with transport layer security (TLS)
— the standard security protocol for web applications and APIs.
ÿ
File encryption: Encrypting individual files or folders on a server that need to be protected
from unauthorized user access.
ÿ
Key and secret management: Managing keys and secrets to maintain security and
availability, especially for data-at-rest encryption and API integration.
ÿ Cloud storage security: Configuring cloud storage services to prevent unauthorized access.
For details on these concepts, see Guide to Data Security Concepts and Building the
Foundations for Basic Security Hygiene.
Machine Translated by Google
In a DevSecOps environment, security and operations teams should apply specific controls that
confine developers to secure resource provisioning. Such controls, or “guardrails,” identify when
infrastructure has been provisioned in a way that violates security policies, along with possible
remediation actions.
Champion Security
The reality for most organizations is that an application security team, if one exists, will never
be large enough to support all applications and application development in the enterprise. A
decentralized approach with delegation of some responsibilities is almost always required to
ensure application security work is completed appropriately. This is where developers, acting
as security champions, can provide a high positive impact on application security.
Security champions should have a good balance of technical aptitude, soft skills and project
management proficiency so that they can communicate within their teams and complete
security tasks. They will also need to be key points of contact for security teams in order to
deliver on and monitor security requirements.
Along with the skills identified elsewhere in this research, developers will need some of the
following capabilities to champion security:
ÿ Political navigation: Advocating for application security support can be challenging. It will
require diplomacy and tact to navigate the politics that comes about when prioritizing
application development tasks. It is the role of the security champion to socialize application
security within the team and appropriately communicate risk. Being able to do so logically
and factually will be important to reducing the perception of security being an inhibitor of
product delivery.
Machine Translated by Google
The learning curve to acquire these skills is steep. Some skills will require training and
guidance, while others will require developers to establish leadership capabilities. However,
being a security champion should not be looked upon as an all or nothing skill. Many
champions' programs are tiered and award individuals based upon levels of attainment. One
example is a progressive model using belts based loosely on Brazilian jiujitsu. Figure 3 shows
an example of this model.
One form of training for security champions is gamification as mentioned in the Threat
Modeling section. For more on security champions and gamification, see A Guidance
Framework for Establishing and Maturing an Application Security Program.
“We are also beginning to see some organizations use satellite (security
champion) members to bootstrap the 'sec' functions they require for
Machine Translated by Google
A developer as a security champion has a high positive impact on application security because
it ensures that there is a voice of security in the development team. This is an imperative for
reducing organizational risk due to the quick pace of development in DevSecOps processes
and the typical lack of dedicated application security personnel.
Pipeline Protection
Listed below are some of the pipeline security controls for which developers should acquire
skills. Compliance with these practices will be dependent upon whether the organization has
these controls in place.
ÿ multifactor
authentication
Application developers must use trusted components to build their applications. This process
includes pulling artifacts from approved repositories, using approved container registries and
using SCA tools (as mentioned in the Secure Code Verification section). Many organizations
use local repositories and registries that are managed for compliant components.
Development and security teams must work together to make sure these sources have the
necessary and compliant components available for application build processes.
For more information on these topics, see Using Cloud-Native 'Policy as Code' to Secure
Deployments at Scale, How Software Engineering Leaders Can Mitigate Software Supply Chain
Security Risks and Guide to Application Security Concepts.
Modern application and data integration designs make heavy use of web APIs. They are the
backbone of web and mobile applications, with cloud and container deployments, Internet of
Things (IoT) platforms, and microservices architectures also accelerating their development.
This has driven API development to become a core skill for application developers (see
Essential Skills for Modern Application Development). Along with this growth, organizations
7 It isthat
have seen a tripling of attacks against their APIs in recent years. then, of high importance,
developers
understand how APIs are secured in a production environment.
WAFs and API gateways are just baseline technology that is needed for
application security and should not be considered as complete solutions.
Other technologies are emerging that provide behavioral analysis, bot
detection and API discovery. All of these technologies are components
of web application and API protection (WAAP) solutions.
Another component of API protection is the use of API gateway technology. This technology
can come in the following forms:
ÿ Enterprise API Gateway: Typically at the network perimeter to secure inbound and outbound
API traffic.
service mesh.
For more information, see Decision Point for Mediating API and Microservices Communication.
Both WAF and API gateway technology are important security controls that sit between end
users and application functionality. API gateways can also provide application developers
with better visibility into the API inventory within an environment. Figure 4 provides a common
picture of this architecture.
Workload Protection
Machine Translated by Google
Modern applications are being deployed into cloud and container environments. To protect
these environments, organizations are utilizing container-focused cloud workload protection
platforms (CWPPs) — solutions that include build-time, delivery-time and runtime security
features to verify and protect workloads throughout their life cycle. These capabilities span
from system integrity, memory protection, application and network controls to behavioral
monitoring, intrusion prevention and anti-malware protection. Figure 5 illustrates the simple
architecture for a CWPP production deployment.
For more information on these technologies, see Solution Criteria for Container-Focused Cloud
Workload Protection Platforms.
Application developers that understand these technologies are better able to assist in incident
response efforts and secure application design. It is their knowledge of the application stack
and data flow, for instance, that can best assist in interpreting RASP alerts. This has a significant
positive impact for the organization. Learning these technologies, however, can be
Machine Translated by Google
difficult, especially in the area of CWPP, due to the changing vendor landscape and complexity
of container environments.
In-App Protection
Table 3 illustrates some of the different in-app protections with which developers should be
familiar. For details on these controls, see Market Guide for In-App Protection.
ÿ stand alone
keyboard
ÿ Polymorphism
Source: Gartner
This skill will have a difficult learning curve and heavy impedance to apply due to the many
different techniques involved. However, developers along with organizations should determine
which specific techniques align best with their goals and environments. This analysis can help
limit the learning and impedance curves. The benefit, though, is significant because protecting
the integrity of an organization's mobile apps helps protect back-end processes and data, as
Machine Translated by Google
Application developers should consider the following recommendations as they begin applying the
principle of continuous learning in application security:
ÿ Start with learning the core skills: The skills identified as “core” in this research are
foundational and will satisfy the security needs of the majority of today's applications.
Additionally, they provide the building blocks to more efficiently learn additional skill sets.
ÿ Prioritize skills that have the highest positive impact on reducing risk within the
organization: Developers should focus on skills that can quickly and effectively improve the
application security of the product they are developing. This will include some of the skills listed in
the Core Skills section. Enlisting help from internal security experts will be imperative to understand
which skills have the highest impact for an organization.
ÿ Adopt skills using the three E's: The three E's are education, experimentation and execution.
This approach enables developers to get experience and apply it correctly. Developers should
enlist others to share experiences, relay best practices and promote a culture of learning
through communities of practice and security sprints.
ÿ Prioritize skills with the highest positive-impact-to-impedance ratio: These skills are essentially
the low-hanging fruit to get the greatest effect in an organization. Developers will need to determine
what it will take to overcome the skill's impedance factors based upon their own current skill set and
the culture within their particular organization.
ÿ Learn with others: Developers should look for opportunities to learn with other developers in their
organization or even in external groups and meetups. They should also look for guidance from
security engineers to help them understand some of the concepts mentioned in this research.
Learning with others provides an opportunity to share code, experiences, tool configurations, lessons
learned, resources and quick-start tips.
ÿ Prioritize skills that can be learned on the job: Developers should look for opportunities to work on
projects with other developers who have expertise in application security skills.
Working with others as part of a production application is a major advantage over learning skills
alone. Also, developers should seek out internal security engineers to help with learning the
security concepts and controls needed for secure application development.
ÿ Enlist the help of management: Management can provide opportunities for learning by
Machine Translated by Google
sponsoring activities such as hackathons, developer days, security sprints, book clubs,
lunch-and-learn sessions and online training.
ÿ Look for quick-start guides, tutorials and sample apps: As developers begin to learn, they
should look for resources from technology vendors or online training that help them quickly
become familiar with what is involved in learning the skill. One example would be the OWASP
WebGoat project that helps developers understand security vulnerabilities in Java applications.
Heavy documentation and SDKs are better-used as long-term resources once a developer
already has some level of proficiency and understanding of the skill.
ÿ Own application security: With web applications and APIs being a primary target for
malicious actors, application security skills must be considered a core capability for
application developers. Security of applications is no longer a siloed activity for security
engineers. Application technical professionals must take ownership of the security of their
products.
Evidence
two
DevOps Secure Coding Education Infographic, Cyber Security Hub.
6
Using Abuse Case Models for Security Requirements Analysis, James Madison University
(JMU).
Structuring Application Security Tools and Practices for DevOps and DevSecOps
Recommended Multimedia
VIDEO
VIDEO
VIDEO
VIDEO
VIDEO
Supporting Initiatives
Application Development for Technical Professionals
follow
Machine Translated by Google
Following
© 2022 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. and its
affiliates. This publication may not be reproduced or distributed in any form without Gartner's prior written permission. It
consists of the opinions of Gartner's research organization, which should not be constructed the statements of fact. While
the information contained in this publication has been obtained from sources believed to be reliable, Gartner disclaims all
warranties as to the accuracy, completeness or adequacy of such information. Although Gartner research may address
legal and financial issues, Gartner does not provide legal or investment advice and its research should not be constructed
or used as such. Your access and use of this publication are governed by Gartner's Usage Policy. Gartner prides itself on
its reputation for independence and objectivity. Its research is produced independently by its research organization without
input or influence from any third party. For further information, see "Guiding Principles on Independence and Objectivity."
About Gartner Careers Newsroom Policies Privacy Policy Contact Us Site Index help