Secure Application Review
Secure Application Review
Example
Secure Application
Review
Anonymized report
imima
Table of Contents
TABLE OF CONTENTS ............................................................................................................................................................ 2
DISTRIBUTION...................................................................................................................................................................... 4
FINDINGS ........................................................................................................................................................................... 16
CONCLUSION ..................................................................................................................................................................... 17
RECOMMENDATIONS ......................................................................................................................................................... 18
REFERENCES....................................................................................................................................................................... 19
Security rating
In total there were 25 security issues in the application. These 25 security issues resulted in a security
rating of D. The security expert(s) recommended a security rating of at least B because of the
sensitive nature of the customer’s data.
Client: D 67% concerns valid 1 critical and 6 high 9 OWASP patterns with
issues issues
Recommendations
Because Client is a startup, it will need help managing security risks within. A recent study shows that
small-medium businesses do not have the resources to comply with security standards. (V. van Dijk,
2022).
To help Client effectively manage security, consortium could provide the necessary resources to:
• Implement a Secure Development standard for a complete security approach.
• Supply the necessary resources to implement improvements.
• Conduct security reviews on each major release of the application
Distribution
Version Date Send to Send by
1.0 31 October 2022 Vincent van Dijk
1,1 4 November 2022 Vincent van Dijk
1.2 15 November 2022 Vincent van Dijk
The Secure Application Review aims to identify security risks early in the development process so that
they can be mitigated or eliminated before the application is deployed. By performing a Secure
Application Review, organizations can significantly reduce the risks of their applications.
Design Review: Verification of the high-level and low-level design of the code and the associated
services and API’s.
Security Testing: Testing the code against known security vulnerabilities and standards by using
best-practices tools
Code Review: An expert will review the code on insecure and risky code patterns based on the OWASP
(Open Web Application Security Project) top 10. The expert uses his years of experience working with
developers to figure out common patterns of potential risk.
The Secure Application Review supplies the three verification components of the Software Assurance
Maturity Model (Open SAMM)
First, the security expert evaluates the design on potential concerns in the "Design" review
component. Next, the "code review" component must review the application's coding practices.
Finally, the security expert analyzes the application's source code to identify potential security
vulnerabilities in the 'Security Testing" component. By following this comprehensive research
process, security can answer the primary questions of the research.
The design review lists all of the initial concerns of the security expert(s), and then each concern is
investigated and concluded on its validity. This process helps to ensure that only genuine security
concerns are investigated and tested on validity.
In the code review step, the security expert(s) reviews the code for insecure and risky code patterns
based on the OWASP Top 10. Furthermore, the security expert(s) uses his years of experience in
auditing and developing secure code to find common patterns of mistakes that the developers repeat.
These mistakes are crucial to address early in the development lifecycle because they tend to multiply
over time, increasing the risk of potential security incidents.
Step 5 - Conclusion
The conclusion of the security analysis will answer the primary research questions concisely based on
the findings and the professional opinion of the security expert(s). The professional statement will be
formulated by logical reasoning based on the insights of the review. The conclusion provides
necessary input for the decision makers to make grounded decisions on the following steps regarding
the application.
The design review lists all the initial concerns of the security expert(s). Then each concern is
investigated and concluded on its validity.
Client uses Auth0 to provide authentication. Using Auth0 reduces the risks of authentication failures
because the provider manages authentication according to best practices. In 2021, Gartner
recognized Auth0 as the leader domain of Access Management.
However, Auth0 cannot remove all the complexities. Client manages these complexes within the code
correctly by using an API on top of Auth0 that ensures that permissions schemes are set up when
accessing the data.
Client has separated the storage of sustainability documents, users and their customers’ sites. Each
customer has their own Client instance. Documents are stored separately in Azure Blob Storage, with
each customer on their tenant. Users are managed on MongoDB and Auth0, where each customer has
their own tenant.
However, the deployment of the instances is inside one single Kubernetes instance. Secondly, the
MongoDB databases store the metadata on all customers to translate blockchain identification to
companies. An adversary could metadata for all customers if he acquires access to one database.
Lastly, all the application’s logs are stored in a centralized location, and customer logs are mixed.
The development environment of Client is publicly accessible, exposing the risky functionality and
code to the world. Furthermore, the Client code base is not separated. Front-end, back-end, libraries,
scripts, and hosting details are stored in one code base. Any developer could access and modify all the
code and configuration anytime.
Results
Code Analysis Scanner Security issues
DeepSource 2 critical, 18 high
SonarCube 2 medium, 5 low
Codacy 29 medium
Snyk 2 critical, 55 high, 112 medium, 161 low
Total 4 critical, 72 high, 143 medium, 166 low
Summary:
• 7 Good practices found by the code review
• 11 issues found by the code review
• 9/10 OWASP patterns with issues
Good practices
• Strong permissions schemes were set up. These schemes were built on top of Auth0 and are
incorporated in the backend and the frontend of the application
Issues found
• You are able to access all the data from the API without verification by the front end.
2. Cryptographic Failures
Cryptographic failures can have devastating consequences. A small error in the design or
implementation of a cryptographic system can allow an attacker to break the system's security,
potentially exposing sensitive data or allowing unauthorized access. Cryptographic failures can occur
for various reasons, including poor design, weak implementations, and faulty random number
generators.
Good practices
• Sharing documents is done through a strong encryption mechanism
• HTTPS has been set up for all the resources
Issues found
• Documents that are stored are not encrypted.
• Passwords are stored inside the code repositories.
• SSL certificates are stored inside the code repositories.
• Data stored in MongoDB is not encrypted, even though it contains sensitive data.
• Encryption libraries are downloaded and stored inside code repository. You won’t be aware of
updates. Furthermore, local storage of those libraries is sensitive to manipulation and
mistakes.
Good practices
• Excel sheets are being properly validated.
Issues found
• Unvalidated input is placed inside errors. Also covered in Review → A. Design review
4. Insecure design
There were issues found that are covered in Review → A. Design review
5. Security misconfiguration
There were issues found that are covered in Review → B. Security Testing
Good practices:
• Auth0 is a secure SaaS provider for authentication. Auth0 has by default protections against
identification and authentication failures.
No issued found apart from the issues discovered by “Review → B. Security Testing”
Issues found:
• Auditable events, such as high-value transactions, are not logged.
Issues found:
• All the development and production environments of each customer can be found by viewing
the domains mentioned in the SSL certificate.
* From a code review perspective you cannot get 100% coverage on all the potential issues. You need
access to the network and firewall rules to discover all these issues.
However, the findings also suggest that the developers of Client made a few good choices. These
choices indicate that Client is interested in a skilled workforce to improve the application. But Client
requires more attention to security.
The results show that Client made security considerations within the design of Client. However, these
considerations were limited. 2 out of 3 security concerns tested in the design review were valid.
Secondly, the security expert(s) found 11 issues within the code review. Third, 11 were discovered by
the security expert(s) during the security tests. In total, 25 of the review uncovered security issues. All
in all, these findings resulted in a security rating of D.
These issues are too severe to use for Client to store sensitive information in Client. The design
review shows that the development environment of Client is insecure, resulting in the potential full
compromise of all the instances of Client. Furthermore, data needs the necessary encryption. In the
case of a compromise, malicious individuals can expose all the sensitive data of Client. The security
expert recommends improving the security rating to at least B.
Client: D 67% concerns valid 1 critical and 6 high 9 OWASP patterns with
issues issues
Because Client is a startup, it will need help managing security risks within. A recent study shows that
small-medium businesses do not have the resources to comply with security standards. (V. van Dijk,
2022).
To help Client effectively manage security, consortium could provide the necessary resources to:
• Implement a Secure Development standard for a complete security approach.
• Supply the necessary resources to implement improvements.
• Conduct security reviews on each major release of the application.
OWASP. (n.d.). OWASP top 10:2021. Retrieved October 31, 2022, from https://owasp.org/Top10/
Oxford Learning Dictonaries. (n.d.). Review. Retrieved October 31, 2022, from
https://www.oxfordlearnersdictionaries.com/definition/english/review_2
Samm, O. (2009, March 5). The open software assurance maturity model. OpenSAMM | A Guide to
Building Security into Software Development; OpenSAMM. https://www.opensamm.org
https://owasp.org/Top10/
van Dijk, V. (2022, July 4). Research - A cybersecurity standard for SME. Security Scientist.
https://www.securityscientist.net/blog/research-a-cybersecurity-standard-for-sme/