Cyber Security  ·  Level 5
Secure Software Application
Chapter 2: Establish tools for application security assessment
📚 6 Topics
What you will be able to do

By the end of this chapter, you will be able to:

  • Identify security assessment requirements by following your organization's policies and industry standards.
  • Select and use the right security assessment tools, including static analysis, dynamic analysis, penetration testing, and vulnerability scanning.
  • Plan a thorough security assessment that fits the scope of the software application and your organization's guidelines.
  • Conduct static application security testing (SAST) to find vulnerabilities in the source code accurately.
  • Perform dynamic application security testing (DAST) to detect vulnerabilities while the application is running.
  • Safely carry out penetration testing to simulate real-world attack scenarios and uncover security gaps.
  • Identify and document vulnerabilities related to authentication, authorization, input validation, and session management clearly.
  • Test third-party libraries, APIs, and integrations to spot any security weaknesses.
  • Analyze and prioritize your assessment results based on how severe, exploitable, and impactful the vulnerabilities are.
  • Generate a detailed vulnerability report that clearly explains security issues and their potential impact.

Mastering these skills prepares you to protect software applications effectively, keeping users and organizations safe from cyber threats in the real world.

Application security assessment is a critical discipline within cyber security, especially as Kenyan organizations increasingly rely on software applications to deliver services and manage sensitive data. This chapter explores the essential tools and techniques used to evaluate the security posture of software applications. By understanding and applying these tools, cyber security professionals can identify vulnerabilities early, reducing the risk of exploitation and data breaches in sectors such as banking, healthcare, and government services.

2.1 Types of tools used in software application security assessment

The landscape of software security assessment tools is diverse, each designed to address specific vulnerabilities or aspects of an application’s security. Kenyan cyber security professionals must be familiar with these tools to select the most effective ones for their organizational context. These tools range from automated scanners to manual testing frameworks, each providing unique insights into application weaknesses.

2.1.1 Static Application Security Testing (SAST) Tools

Static Application Security Testing tools analyze source code or compiled binaries without executing the program. They are effective in detecting coding errors, insecure coding practices, and potential vulnerabilities at an early development stage.

  • Early Detection: SAST tools help developers identify security flaws such as buffer overflows, SQL injection risks, and improper error handling before the software is deployed.
  • Integration in Development: These tools integrate with integrated development environments (IDEs) and continuous integration pipelines, allowing seamless security checks during coding.
  • Comprehensive Code Coverage: SAST examines all code paths, including rarely executed branches, which might not be tested during runtime.
  • Language Support: Many tools support multiple programming languages common in Kenya’s software industry, such as Java, C#, and Python.
  • Limitations: False positives can be frequent, requiring skilled personnel to interpret results accurately to avoid unnecessary remediation efforts.

2.1.2 Dynamic Application Security Testing (DAST) Tools

Dynamic Application Security Testing tools evaluate running applications from the outside, simulating attacks to identify vulnerabilities in real-time behavior.

  • Black-box Testing: DAST tools do not require source code access, making them suitable for testing third-party or legacy applications.
  • Runtime Analysis: They detect issues such as authentication bypass, session management flaws, and cross-site scripting (XSS) vulnerabilities.
  • Automated Scanning: These tools can scan web applications automatically, identifying common vulnerabilities in web interfaces used by Kenyan e-commerce platforms and government portals.
  • Integration with CI/CD: DAST can be incorporated into deployment pipelines to test applications before production release.
  • Limitations: They may miss vulnerabilities in inactive code paths and often require manual configuration to test complex application workflows.

2.1.3 Interactive Application Security Testing (IAST) Tools

Interactive Application Security Testing combines elements of SAST and DAST by monitoring applications during runtime and analyzing code execution paths.

  • Real-time Feedback: IAST tools provide detailed vulnerability information by analyzing code behavior as the application is tested.
  • Contextual Analysis: They reduce false positives by correlating runtime data with source code.
  • Developer-friendly: IAST supports developers in pinpointing exact lines of vulnerable code while the application is in use.
  • Suitable for Complex Applications: Kenyan financial institutions with multi-tiered applications benefit from IAST’s comprehensive analysis.
  • Limitations: Implementation complexity and resource consumption can be higher than other testing methods.

2.1.4 Software Composition Analysis (SCA) Tools

Software Composition Analysis tools identify vulnerabilities in third-party libraries and open-source components integrated into applications.

  • Supply Chain Security: SCA tools help organizations avoid risks from vulnerable or outdated dependencies, which is crucial for Kenyan startups relying on open-source frameworks.
  • License Compliance: They also verify license usage to prevent legal issues related to software distribution.
  • Continuous Monitoring: These tools alert security teams when new vulnerabilities are discovered in used components.
  • Integration with Development Workflow: SCA can be embedded in build processes to prevent introduction of insecure libraries.
  • Limitations: They do not detect vulnerabilities in custom code, focusing only on external components.

2.1.5 Penetration Testing Tools

Penetration testing tools simulate real-world attacks to uncover security weaknesses across applications.

  • Manual and Automated Testing: Tools like Metasploit and Burp Suite provide frameworks for both scripted and manual penetration tests.
  • Comprehensive Vulnerability Identification: They test authentication, authorization, input validation, and business logic flaws.
  • Exploitation Simulation: Penetration tests demonstrate the impact of vulnerabilities by attempting exploitation.
  • Regulatory Compliance: Many Kenyan organizations use penetration testing to meet data protection and cyber security standards.
  • Limitations: Requires skilled testers and can be time-consuming and costly.

Practice Questions

  1. Explain how Static Application Security Testing (SAST) tools support secure software development. (5 marks)
  2. Describe the differences between Dynamic Application Security Testing (DAST) and Interactive Application Security Testing (IAST) tools. (6 marks)
  3. Discuss why Software Composition Analysis (SCA) tools are important for managing third-party components in software development. (5 marks)
  4. What are the key limitations of penetration testing tools in application security assessment? (4 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒2.2 Assessing software application

Effective software application security assessment requires a detailed analysis of specific security aspects such as input validation, session management, and error handling. These areas are critical because they are common attack vectors exploited by cybercri…

🔒2.3 OWASP Security Knowledge Framework (SKF) Threat Modelling

The OWASP Security Knowledge Framework (SKF) is a comprehensive open-source tool designed to assist software developers and security professionals in building secure applications. In Kenya's growing cyber security landscape, where software vulnerabilities can…

🔒2.4 Perform Common Vulnerabilities

In cyber security, identifying and addressing common software vulnerabilities is fundamental to protecting applications from exploitation. Kenyan cyber security professionals tasked with securing applications at institutions like Kenyatta National Hospital or…

🔒2.5 Assess the security posture of a web application

In the Kenyan cybersecurity landscape, assessing the security posture of web applications is critical for protecting sensitive data and ensuring operational continuity. Web applications used by financial institutions, county governments, and healthcare facilit…

🔒2.6 Conduct security assessment using tools

Different tools address various aspects of web application security, from code analysis to network scanning. Kenyan cybersecurity teams at institutions such as the Kenya Revenue Authority (KRA) rely on a combination of these tools to secure their digital platf…

Chapter Summary

This chapter explored various types of tools used in software application security assessment, highlighting their roles in identifying vulnerabilities and enhancing application protection. It examined key aspects of assessing software applications, focusing on input validation, session management, and error handling as critical areas for securing applications against common threats. The chapter introduced the OWASP Security Knowledge Framework and its approach to threat modelling, providing a structured method for understanding potential security risks. It also covered the performance of common vulnerability tests to detect weaknesses effectively. Assessing the overall security posture of a web application was discussed, emphasizing evaluation techniques that determine the strength of security controls. Finally, the chapter detailed how to conduct a comprehensive security assessment using appropriate tools, ensuring thorough examination and mitigation of security risks in software applications.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What are the main categories of tools used in software application security assessment? Provide at least three examples. (4 marks)
  2. Explain why input validation is critical in securing web applications. (2 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with model answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the role of static application security testing (SAST) tools in assessing the security of a banking software application used by Equity Bank. (4 marks)
  2. Differentiate between input validation and session management in the context of web application security. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Identify and Categorize Application Security Assessment Tools

Cyber Security · Level 5
Secure Software Application
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Identify and categorize three software application security assessment tools (OWASP ZAP, Burp Suite, SonarQube) by demonstrating their use on the provided vulnerable web application.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Laptop with Windows 10 OSSample vulnerable web application code (DVWA)
OWASP ZAP tool
Burp Suite Community Edition
SonarQube Scanner
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Laptop with Windows 10 OS1 Pc per Candidate
2Pre-installed OWASP ZAP tool1 Pc per Candidate
3Pre-installed Burp Suite Community Edition1 Pc per Candidate
4Pre-installed SonarQube Scanner1 Pc per Candidate
5Sample vulnerable web application code (e.g. DVWA)1 Set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Tool Installation and Setup
Launched OWASP ZAP and verified it runs without errors
(Award 2 marks for successful launch or zero)
2
Launched Burp Suite Community Edition and configured proxy settings
(Award 2 marks for correct launch and configuration or zero)
2
Setup SonarQube Scanner and connected it to the sample code repository
(Award 2 marks for successful setup or zero)
2
Sub-Total6
TASK 2: Security Assessment Execution
Used OWASP ZAP to perform automated vulnerability scan on the sample web app
(Award 3 marks for scanning process and report generation or zero)
3
Used Burp Suite to intercept and analyze HTTP requests to identify security issues
(Award 3 marks for interception and correct analysis or zero)
3
Ran SonarQube scan on the sample code and generated a detailed code quality and security report
(Award 3 marks for running scan and report or zero)
3
Sub-Total9
TASK 3: Tool Categorization and Reporting
Categorized OWASP ZAP as a Dynamic Application Security Testing (DAST) tool
(Award 2 marks for correct categorization or zero)
2
Categorized Burp Suite as an intercepting proxy and vulnerability scanner tool
(Award 2 marks for correct categorization or zero)
2
Categorized SonarQube as a Static Application Security Testing (SAST) tool
(Award 2 marks for correct categorization or zero)
2
Prepared a brief report summarizing each tool’s purpose and findings
(Award 3 marks for clear, concise report or zero)
3
Sub-Total9
PRODUCT CHECKLIST
Complete and accurate demonstration of tool usage with evidence of vulnerability detection
(Award up to 5 marks for completeness and accuracy)
5
Correct and clear categorization of all three tools according to their security assessment purposes
(Award up to 5 marks for correct categorization)
5
Sub-Total10
GRAND TOTAL34
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Perform input validation testing on a web application login form

Cyber Security · Level 5
Secure Software Application
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Perform input validation testing on the provided web application login form URL to identify vulnerabilities including SQL injection and cross-site scripting.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Laptop with Kali Linux installedWeb application login form URL (test environment)
Burp Suite Community EditionInternet access
Notepad or text editor
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Laptop with Kali Linux installed1 Pc per Candidate
2Web application login form URL (test environment)1 Pc per Candidate
3Internet access1 connection per Candidate
4Burp Suite Community Edition1 Pc per Candidate
5Notepad or text editor1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Preparation and Setup
Candidate uses appropriate PPE such as anti-static wristband or ensures secure environment for testing
(Award 1 mark for correct PPE or secure setup or zero)
1
Candidate launches Kali Linux and opens Burp Suite Community Edition
(Award 2 marks for successful launch of OS and tool or zero)
2
Candidate configures browser proxy settings to route traffic through Burp Suite
(Award 2 marks for correct proxy configuration or zero)
2
Sub-Total5
TASK 2: Perform Input Validation Testing
Candidate intercepts login form requests using Burp Suite
(Award 3 marks for correctly capturing HTTP requests or zero)
3
Candidate injects common SQL injection payloads (e.g. ' OR '1'='1) into username and password fields
(Award 4 marks for testing with multiple valid SQL injection payloads or zero)
4
Candidate injects common cross-site scripting payloads (e.g. <script>alert(1)</script>) into input fields
(Award 4 marks for testing with multiple valid XSS payloads or zero)
4
Candidate analyzes responses to identify signs of vulnerability (e.g. error messages, script execution)
(Award 3 marks for correct analysis or zero)
3
Candidate documents all payloads used and observed responses
(Award 2 marks for clear and complete documentation or zero)
2
Sub-Total16
PRODUCT CHECKLIST
Complete report detailing all input validation tests performed, payloads used, vulnerabilities found or absent, and recommendations
(Award up to 9 marks for clear, accurate, and comprehensive report or zero)
9
Sub-Total9
GRAND TOTAL30
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Evaluate Session Management Security of a Web ApplicationPractical 3
🔒Analyze Application Error Handling for Security GapsPractical 4
🔒Apply OWASP SKF Threat Modeling for E-commerce Web ApplicationPractical 5
🔒Conduct a Full Security Assessment of a Web Application 1200mm x 800mm x 400mmPractical 6
🔒Security Assessment of a Web Application using Vulnerability Scanning ToolsPractical 7
🔒Simulate Exploitation of Common Vulnerabilities on a Test Web ApplicationPractical 8
🔒Integrate Input Validation and Session Management Controls in Security AssessmentPractical 9
🔒Document and report application security assessment resultsPractical 10
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 18 questions Start quiz ▾
0%
0 / 2
🔒

16 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Identify security assessment requirements by following your organization's policies and industry standards.
  • Select and use the right security assessment tools, including static analysis, dynamic analysis, penetration testing, and vulnerability scanning.
  • Plan a thorough security assessment that fits the scope of the software application and your organization's guidelines.
  • Conduct static application security testing (SAST) to find vulnerabilities in the source code accurately.
  • Perform dynamic application security testing (DAST) to detect vulnerabilities while the application is running.
  • Safely carry out penetration testing to simulate real-world attack scenarios and uncover security gaps.
  • Identify and document vulnerabilities related to authentication, authorization, input validation, and session management clearly.
  • Test third-party libraries, APIs, and integrations to spot any security weaknesses.
  • Analyze and prioritize your assessment results based on how severe, exploitable, and impactful the vulnerabilities are.
  • Generate a detailed vulnerability report that clearly explains security issues and their potential impact.

Tick each one you can genuinely do.

Prove it — in the simulator

Sample simulation — try how the simulator works. A version built for this chapter's practical is coming.

Prepare Kenyan PilauLocked ▸

Free: practical guides, quick cards, workplace scenarios and more.

Now — are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.