Cyber Security  ·  Level 5
Secure Software Application
Chapter 1: Identify software to be secured
📚 8 Topics
⚑ What you will be able to do

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

  • review organizational requirements and security policies to understand software security needs clearly.
  • identify different types of software applications—desktop, web, mobile, and cloud-based—that require security assessment.
  • analyze application functions, workflows, and user roles to spot potential security risks effectively.
  • document existing security controls and any vulnerabilities you find in the software accurately.
  • recognize software components like databases, APIs, third-party libraries, and integrations within the security scope.
  • prioritize which software to secure first based on its criticality, data sensitivity, and impact on the business.

Mastering these skills helps you protect important software systems, keeping data safe and supporting your organization’s success.

In the field of cyber security, identifying the software applications that require protection is foundational to developing effective security strategies. Cyber security professionals in Kenya face a diverse digital landscape, including public institutions, financial entities, and private enterprises, all relying heavily on software systems vulnerable to various threats. Understanding the terminology related to software security enables practitioners to communicate clearly, assess risks accurately, and implement appropriate safeguards. This chapter begins by defining key terms that form the basis for securing software applications within Kenyan cyber environments.

1.1 Meaning of Terms

Terminology in cyber security forms the common language through which professionals analyze, design, and implement security measures. In Kenya’s fast-evolving digital economy, clarity about terms such as vulnerability, threat, risk, and mitigation is essential. These concepts underpin risk management, compliance with legal frameworks like the Computer Misuse and Cybercrimes Act, and the deployment of security controls tailored to protect software in institutions ranging from banks to county governments.

1.1.1 Vulnerability: Understanding Weaknesses in Software

A vulnerability refers to a flaw or weakness in software that can be exploited by attackers to compromise the system’s security. Vulnerabilities may arise from coding errors, misconfigurations, or outdated components within the software. For instance, a banking application in Kenya with unpatched software libraries may allow unauthorized access due to known vulnerabilities.

Characteristics of Vulnerabilities

  • Software Bugs: Programming errors that create unexpected behaviors exploitable by attackers.
  • Design Flaws: Inadequate security design principles leading to insecure data handling.
  • Configuration Errors: Incorrect settings that expose services or data unnecessarily.
  • Outdated Components: Use of unsupported or legacy libraries that no longer receive security updates.
  • Lack of Input Validation: Failure to properly check user inputs, enabling injection attacks like SQL injection.

Impact of Vulnerabilities in Kenyan Context

Vulnerabilities can lead to data breaches, financial losses, and reputational damage for organizations such as county government offices handling citizen data. The 2019 data breach at a Kenyan insurance company highlighted how unpatched vulnerabilities led to unauthorized access to sensitive client information.

1.1.2 Threat: Sources of Potential Harm to Software

A threat is any circumstance or event with the potential to cause harm to software systems by exploiting vulnerabilities. Threats can be intentional, such as cybercriminals launching ransomware attacks, or unintentional, including software failures or natural disasters affecting data centers.

Types of Threats Relevant to Software Security

  • Malware Attacks: Viruses, worms, and ransomware targeting software applications.
  • Insider Threats: Employees or contractors misusing access privileges.
  • Phishing and Social Engineering: Techniques aimed at deceiving users to gain access credentials.
  • Denial of Service (DoS) Attacks: Overloading software resources to disrupt availability.
  • Environmental Threats: Power outages or hardware failures impacting software operation.

Kenyan Example of Threats

During the 2020 cyberattack on a Kenyan university’s student management system, attackers used phishing to obtain administrator credentials, demonstrating how social engineering threats compromise software security.

1.1.3 Risk: Assessing Likelihood and Impact of Threats

Risk in cyber security is the potential for loss or damage when a threat exploits a vulnerability. It is a function of the likelihood of the threat occurring and the impact it would have on the software and its users. Kenyan organizations use risk assessments to prioritize security investments and comply with regulations like the Data Protection Act.

Components of Risk Analysis

  • Likelihood: Probability that a threat will exploit a vulnerability.
  • Impact: Consequences of a successful exploit on confidentiality, integrity, and availability.
  • Asset Value: Importance of the software and data to organizational operations.
  • Existing Controls: Current security measures reducing risk.
  • Residual Risk: Remaining risk after controls are applied.

Risk Management in Practice

A SACCO in Nairobi conducting a risk assessment might find that its mobile banking app has a high risk of unauthorized access due to weak authentication. The SACCO can then allocate resources to strengthen multi-factor authentication mechanisms.

1.1.4 Mitigation: Reducing Vulnerabilities and Risks

Mitigation involves the implementation of controls and measures to reduce the likelihood or impact of threats exploiting software vulnerabilities. Cyber security professionals in Kenya apply mitigation techniques as part of a layered defense strategy to protect software applications.

Common Mitigation Strategies

  • Patch Management: Regularly updating software to fix vulnerabilities.
  • Access Controls: Restricting user permissions based on roles.
  • Encryption: Protecting data in transit and at rest.
  • Security Testing: Conducting penetration tests and code reviews.
  • User Awareness Training: Educating staff on secure software usage and threat recognition.

Example of Mitigation Efforts

At a county government office in Mombasa, implementing strict access controls and encrypting sensitive citizen data within their software systems has significantly reduced the risk of data breaches.

Practice Questions

  1. Define the term "vulnerability" and explain five characteristics that make software vulnerable to attacks. (10 marks)
  2. Identify and describe five types of threats that can affect software security in Kenyan organizations. (10 marks)
  3. Explain the components of risk analysis and how they contribute to managing software security risks. (10 marks)
  4. Discuss five mitigation strategies used to protect software applications and provide an example of their application in a Kenyan context. (10 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
🔒1.2 Types of software

In the Kenyan cyber security landscape, understanding the various types of software is critical for professionals tasked with securing digital assets. Different categories of software present unique security challenges and vulnerabilities, necessitating tailor…

🔒1.3 Classification of Software and Their Application

In the context of cyber security within Kenya, understanding the classification of software is essential for effective protection strategies. Diverse software types serve different purposes across industries such as banking, healthcare, government, and educati…

🔒1.4 Factors influencing software selection

Selecting software to secure within a cyber security framework requires a nuanced understanding of multiple factors that affect not only the functionality of the software but also the security risks it entails. In Kenya’s diverse digital landscape, organizatio…

🔒1.5 Identify Software That Needs Security

In Kenya's evolving digital landscape, cyber security professionals must prioritize securing software critical to national infrastructure, private enterprises, and government agencies. Identifying software that requires protection is fundamental to safeguardin…

🔒1.6 Identify Existing List of Installed Software

In the context of Kenyan cyber security practice, identifying the existing list of installed software on organizational systems is a critical step in securing software applications. Accurate software inventories enable cyber security professionals to understan…

🔒1.7 Check Software Security Updates

In the Kenyan cyber security landscape, ensuring that software applications are up to date with the latest security patches is vital to protect organizational assets from evolving cyber threats. Many institutions such as banks, county government offices, and h…

🔒1.8 Research CVE Vulnerabilities for Listed Software

In Kenya's cyber security landscape, professionals tasked with securing software applications must vigilantly track vulnerabilities that expose systems to attacks. The Common Vulnerabilities and Exposures (CVE) system provides a globally recognized catalog of…

Chapter Summary

This chapter began by defining key terminology related to software security, establishing a foundational understanding essential for further study. It then explored various types of software, highlighting their distinct characteristics and roles in computing environments. The classification of software was examined, focusing on how different categories are applied across sectors to meet specific needs. Factors that influence the selection of software were discussed, including compatibility, functionality, and security considerations. The process of identifying software requiring security measures was outlined, emphasizing the need to prioritize protection efforts. Methods for compiling an existing list of installed software on systems were described to facilitate effective management. The chapter also covered the importance of verifying software security updates to maintain protection against emerging threats. Finally, it addressed researching Common Vulnerabilities and Exposures (CVE) for the identified software, underscoring the role of vulnerability databases in proactive security management.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the difference between system software and application software? (3 marks)
  2. List and explain three types of software that require security measures in a banking environment. (4 marks)
🔒33 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Define the term "software classification" and explain its importance in securing software applications used in Kenyan banks. (4 marks)
  2. Differentiate between system software and application software, providing examples relevant to cybersecurity in a county government office. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Define and Demonstrate Key Software Security Terminology

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.  Prepare a document defining and exemplifying five key software security terms with practical scenarios, each term explained in 100-150 words.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer workstation with internet accessReference materials on software security terminology (printed or digital)
Text editor software (e.g. Visual Studio Code, Notepad++)
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer workstation with internet access1 Pc per Candidate
2Text editor software (e.g. Visual Studio Code, Notepad++)1 Pc per Candidate
3Reference materials on software security terminology (printed or digital)1 Set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Define Software Security Terms
Candidate selects and lists five relevant software security terms
(Award 1 mark per correctly selected term or zero x 2 = 2 Marks)
2
Candidate writes clear definitions for each term
(Award 1 mark for each accurate and clear definition or zero x 5 = 5 Marks)
5
Candidate provides practical examples or scenarios for each term
(Award 1 mark for each relevant example or zero x 5 = 5 Marks)
5
Candidate uses correct spelling and grammar in the document
(Award 2 marks for correct spelling and grammar or zero = 2 Marks)
2
Candidate submits the document as a saved file with appropriate file name
(Award 1 mark for correct file submission or zero = 1 Mark)
1
Sub-Total15
PRODUCT CHECKLIST
Document contains five software security terms defined and exemplified clearly
(Award 2 marks per well-explained and exemplified term or zero x 5 = 10 Marks)
10
Sub-Total10
GRAND TOTAL25
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Identify and classify software types with their applications

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 classify 10 different software types including system, application, utility, and malware software, and explain their typical applications in a secure software environment.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with installed software identification toolsList of software samples
Internet accessAssessment sheets for classification and application notes
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1List of software samples (including system, application, utility, and malware types)1 set per Candidate
2Computer with internet access and installed software identification tools (e.g., software inventory tool)1 Pc per Candidate
3Assessment sheets for classification and application notes1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Identification and classification of software types
Checked and prepared the computer and software identification tools
(Award 2 marks for correct setup, zero if incomplete)
2
Identified 10 different software samples correctly
(Award 1 mark for each correctly identified software type, zero for incorrect)
4
Classified each software into correct categories (system, application, utility, malware)
(Award 1 mark for each correctly classified software, zero otherwise)
4
Explained the typical application or purpose of each software type in a secure environment
(Award 0.5 marks per clear and relevant explanation, zero if missing or incorrect)
5
Sub-Total15
PRODUCT CHECKLIST
Completed classification sheet with all software types correctly identified and classified
(Award 1 mark for completeness, 2 marks for accuracy of classification and explanations)
3
Sub-Total3
GRAND TOTAL18
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 and Select Appropriate Software Based on Security and Functional RequirementsPractical 3
🔒Identify Software Requiring Security Controls in an Enterprise SystemPractical 4
🔒Generate and document a list of installed software on a Windows systemPractical 5
🔒Check and verify software security updates on a Windows 10 workstationPractical 6
🔒Research and Document CVE Vulnerabilities for Installed SoftwarePractical 7
🔒Prepare a Software Security Risk Assessment Report for Identified SoftwarePractical 8
🔒Demonstrate software classification impact on securityPractical 9
🔒Select software based on security update availability and influencing factorsPractical 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:

  • review organizational requirements and security policies to understand software security needs clearly.
  • identify different types of software applications—desktop, web, mobile, and cloud-based—that require security assessment.
  • analyze application functions, workflows, and user roles to spot potential security risks effectively.
  • document existing security controls and any vulnerabilities you find in the software accurately.
  • recognize software components like databases, APIs, third-party libraries, and integrations within the security scope.
  • prioritize which software to secure first based on its criticality, data sensitivity, and impact on the business.

Tick each one you can genuinely do.

So, 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.