Software Security Engineering Final Report
Software Security Engineering Final Report
by Andy Vo
10/2/2024
CENG 5033
Abstract
Introduction
Software security engineering at its basic is the practice of applying security into software
processes during development to prevent vulnerabilities and cyber threat that are ever increasing
as technology progresses. This can be difficult due to the increasing complexity of software
systems. This allows them to be more susceptible to frequent attacks. There are many cases
where Cybersecurity flaws have caused dire consequences, including tremendous financial loss,
reputational damage, and legal ramifications for not only companies but for individuals.
According to a report by IBM, the average cost of a data breach in 2023 reached $4.45 million,
shows why software security is not just essential but a necessity (McGraw, 2006).
To go further into what Software Security Engineering is, this paper will discuss key principles
that help guide software development in security, relevant frameworks and standards, certain
challenges organizations face, advancements in security, and future research of what software
security can be used. Overall, this will outline a comprehensive understanding of Software
Security Engineering and why it is important in society.
Discussion of Topic
Software security is incredibly important in any device that we use today from computers to
phones, there are software security that helps protect sensitive data. There are several breaches
such as the Target and Equifax breaches the compromise sensitive data for customers which
caused decrease in user trust. This shows the potential damage that can occur when software
security fails (Allen et al., 2008). The increased reliance of software applications causes
organizations, software security is needed more than ever. According to the Verizon 2023 Data
Breach Investigations Report, about 83% of breaches involves human error, which highlights
more emphasis on training and awareness for more software security (Othmane et al., 2017).
Having software security protects organizations as well as maintain customer confidence which
results in successful long-term businesses. In regards to legal ramifications, software security is
embedded withing regulatory standards such as the General Data Protection Regulation (GDPR)
which dictates data protection services. Any organizations that fail to comply with these
regulations can face severe penalties. This highlights that software security is not just a best
practice, but an absolute necessity.
2. Risk Assessment:
o Know what and how risky vulnerabilities are can be recorded by tools such as the
Common Vulnerability Scoring System (CVSS) that helps assess the levels of
vulnerabilities. Risk assessments helps to evaluate the potential threats and
prioritize on the most critical issues at hand (Othmane et al., 2017).
4. Threat Modeling:
o This type of modeling helps to identify potential threats to software systems and
analyzes how these threats could be flawed (Allen et al., 2008). Using these
models can help organizations understand how vulnerabilities can become cyber
threats.
Frameworks and standards help guide organizations during software development using software
security.
OWASP (Open Web Application Security Project): This includes the OWASP Top
Ten that documents the most important security risks for web applications (Othmane et
al., 2017). By using this tool, organizations can prioritize security measures to decrease
risks effectively.
NIST (National Institute of Standards and Technology): This includes the NIST
Cybersecurity Framework which publishes guidelines and standards to help organizations
establish security measures (McGraw, 2006).
ISO/IEC 27001: This standard which outlines the information security management
systems helps to manage sensitive information for data security and compliance (Alberts
et al., 2010).
Even with the advent of software security advancements, there are still several challenges that
many face today.
3. Resource Constraints:
o There is a lack of experts the specializes in software security which can further
hinder software security being implemented (Othmane et al., 2017). This can be
often seen in smaller organizations where they lack the capabilities for software
security.
4. Stakeholder Engagement:
o During project development, it is important for all those involved in the project
understand the importance of software security. Ignorance can cause devastating
consequences during development (Alberts et al., 2010).
These are the recent advancements in software security that is being used today.
1. DevSecOps:
o This integrates security within the DevOps process which enhances security
among those in development (Othmane et al., 2017). This further emphasizes the
SDLC which incorporates security throughout the development cycle.
Future Research
As the world continues to evolve, software security engineering will also progress; here are some
potential future implementations of security.
Summary
In conclusion, Software Security Engineering is truly important in todays and the future that can
be ensured that software systems are resilient against cyber threats that are ever increasing in the
world. By utilizing and adapting these practices and frameworks that were discussed in the
paper, the risk of security vulnerabilities can be prevented. With the advancements in
DevSecOps, automated testing, and AI, software security can be further enhanced to increase
integration within software development. As technology grows, so will cyber threats that future
research is needed in order to prevent the incoming threats as well as maintain user and software
balance in order to protect sensitive information and data systems. By following these
approaches, software security engineering not only protects our sensitive information but also
gain trust in digital systems which is incredibly paramount in today’s world.
References
1. Alberts, C., et al. (2010). Integrated Measurement and Analysis Framework for Software
Security. CMU/SEI Software Engineering Institute. Available at:
https://insights.sei.cmu.edu/documents/2195/2010_004_001_15191.pdf.
2. Allen, J. H., et al. (2008). Software Security Engineering: A Guide for Project Managers.
Addison-Wesley Professional. Available at:
https://www.researchgate.net/publication/234798680_Software_security_engineering_a_
guide_for_project_managers.
3. Othmane, B. L., et al. (2017). Time for Addressing Software Security Issues: Prediction
Models and Impacting. Science Engineering, 2(2), 107–124. Available at:
https://link.springer.com/article/10.1007/s41019-016-0019-8.
4. McGraw, G. (2006). Software Security: Building Security In. Addison-Wesley
Professional. Available at: https://ieeexplore.ieee.org/document/4021964.