Cyber Security  ·  Level 6
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 what software security needs must be met
  • identify different types of software applications like desktop, web, mobile, and cloud-based that require security assessment
  • analyze how applications work, including their functions, workflows, and user roles, to spot potential security risks
  • document existing security controls and any vulnerabilities you find in the software clearly and accurately
  • recognize key software components such as databases, APIs, third-party libraries, and integrations to include in your security checks
  • prioritize which software to secure first based on its criticality, the sensitivity of data it handles, and its impact on the business

These skills help you protect important software systems, keeping data safe and businesses running smoothly in the real world.

1.1 Meaning of Terms

Every technician who installs, secures or audits software must first speak the same language as vendors, auditors and security teams. A term such as "patch", "licence" or "vulnerability" has a precise meaning, and mixing them up leads to wrong decisions. For example, a county revenue office that confuses an update with a licence renewal may leave its billing system unprotected while believing it is fully covered. This topic defines the key terms used throughout the unit, and later topics apply them in detail.

Core computing terms

These terms describe what software is and how it relates to the machine that runs it. Understanding them separates the physical equipment from the instructions that make it useful. For example, when a hotel front desk computer fails to boot, the technician must decide whether the fault lies in the hardware, the firmware or the software.

  • Software: The set of instructions, programs and related data that tell a computer what to do. It is intangible: it cannot be touched, but it can be stored, copied and executed.
  • Computer program: A complete set of instructions written to perform a specific task, such as calculating payroll or printing a receipt. A program is one piece of software, and several programs together often form a software package.
  • Source code: The human-readable instructions written by a programmer in a programming language. A developer at a software company writes source code before it is converted into a form the computer can run.
  • Executable: The machine-readable form of a program that the computer can run directly, for example a file ending in .exe on Windows. Users normally receive the executable and not the source code.
  • Hardware: The physical parts of a computer system, such as the processor, memory, storage drive, keyboard and monitor. Hardware does nothing useful without software to direct it.
  • Firmware: Permanent or semi-permanent software stored on a hardware device, such as the program inside a router or a printer. It sits between hardware and ordinary software and is updated less often.
  • Version: A numbered release of a software product, for example 2.4.1. Version numbers show which features and fixes a given installation contains, which is essential when checking whether a system is up to date.
Term Nature Example
Hardware Physical, can be touched Hard disk in a school computer laboratory server
Software Instructions stored on the hardware, changed easily Accounting program used by a SACCO
Firmware Software embedded in a device, changed rarely Program inside a branch office Wi-Fi router

Software ownership and licensing terms

Software is intellectual property, and the person who writes it keeps rights over how it may be used. A licence is the legal permission that sets those conditions. Organisations such as farms, banks and contractors must understand these terms so that every installed program is used legally and can be supported or updated by its owner.

  • Licence: A legal agreement that grants a user the right to install and use software under stated conditions. The conditions may limit the number of users, the number of computers or the period of use.
  • End User Licence Agreement (EULA): The licence text that a user accepts during installation. Ignoring it is risky, because it may restrict copying, sharing or commercial use.
  • Proprietary software: Software whose source code is kept private by the owner and which is normally sold or leased. Example: a contractor buys a licence for a design program and may not copy it to other computers.
  • Open-source software: Software whose source code is published and may be studied, modified and shared under the terms of its licence. Open source does not always mean free of conditions, because each licence sets its own rules.
  • Freeware: Software offered at no cost but still protected by copyright, so the user cannot freely modify or resell it.
  • Shareware: Software offered on a trial basis, after which the user must pay to continue using it.
  • Software piracy: The unauthorised copying, sharing or use of licensed software. A clinic running one purchased licence on ten computers is pirating software, and it also loses access to official updates.

Software security terms

Software security is the practice of protecting programs and the data they handle from misuse, damage or unauthorised access. The terms below describe how weaknesses in software lead to harm. For example, if a hospital records system has a flaw that an attacker can reach through the network, the flaw is the vulnerability, the attacker is the threat, and the possible loss of patient data is the risk.

  • Vulnerability: A weakness in software design, code or configuration that could be used to cause harm. A program that accepts a password of any length without checking it may contain such a weakness.
  • Threat: Any person, program or event that could take advantage of a vulnerability, for example a criminal or a malicious program.
  • Exploit: A method, tool or piece of code that uses a vulnerability to gain access or cause damage.
  • Risk: The likelihood that a threat will use a vulnerability, combined with the damage that would follow. A weakness in a rarely used, offline program carries less risk than the same weakness in an internet-facing banking system.
  • Malware: Malicious software designed to damage systems, steal data or disrupt operations, such as viruses, worms and ransomware.
  • Patch: A small piece of software released by the vendor to correct a specific fault or close a security weakness.
  • Update: A newer release of installed software that may include patches, bug fixes and improved features. The process of checking for and applying them is covered in the topic on security updates.
  • CVE (Common Vulnerabilities and Exposures): A public catalogue of known security weaknesses, in which each entry has a unique identifier in the form CVE-year-number. Using the identifier, a technician at a county office can look up the same weakness that a vendor or auditor describes. Researching these entries is covered in the topic on CVE vulnerabilities.
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 different types of software that require protection is fundamental for professionals tasked with safeguarding digital assets. Software in various sectors, from financial institutions like Equity Bank to…

🔒1.3 Classification of software and their application

In Kenya’s dynamic cyber security landscape, understanding the classification of software is crucial for professionals tasked with securing digital assets. Different types of software serve distinct roles within organizations ranging from county offices to fin…

🔒1.4 Factors influencing software selection

Selecting software to secure within a cyber security context in Kenya requires careful consideration of multiple factors that affect both the technical suitability and the organizational impact of the software. Cyber security professionals must evaluate softwa…

🔒1.5 Identify Software That Needs Security

In Kenya's dynamic cyber security landscape, identifying software that requires protection is critical for safeguarding sensitive data and maintaining operational integrity. Cyber security professionals must assess various software types across sectors such as…

🔒1.6 Identify existing list of installed software

In the Kenyan cybersecurity landscape, knowing the precise inventory of software installed on organizational systems is fundamental to securing those systems effectively. Cybersecurity professionals in banks, hospitals, county offices, and universities must ma…

🔒1.7 Check Software Security Updates

In the Kenyan cyber security landscape, regular verification of software security updates is critical to protect organizational assets from evolving threats. Cyber security professionals must ensure that all software applications, from enterprise resource plan…

🔒1.8 Research CVE Vulnerabilities for Listed Software

In Kenya's cybersecurity landscape, identifying and mitigating vulnerabilities in software applications is crucial for protecting sensitive information across sectors such as banking, healthcare, and government services. The Common Vulnerabilities and Exposure…

Chapter Summary

This chapter began by clarifying key terms related to software and security, establishing a foundation for understanding the subject. It then explored various types of software, highlighting their distinct roles and functionalities. The classification of software and their specific applications were examined to provide insight into how different software serves diverse operational needs. Factors that influence software selection were discussed, emphasizing considerations such as compatibility, functionality, and security requirements. The chapter proceeded to outline methods for identifying software that requires security measures, stressing the importance of safeguarding critical applications. It also covered approaches to compiling an existing list of installed software within an organization to maintain visibility and control. The necessity of regularly checking for software security updates was underscored as a vital practice to mitigate vulnerabilities. Finally, the chapter detailed the process of researching Common Vulnerabilities and Exposures (CVE) for the listed software, enabling proactive identification and management of security risks.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the difference between system software and application software? (2 marks)
  2. Identify three common types of software that require security measures in a banking environment. (3 marks)
🔒20 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 security and explain its importance in safeguarding banking applications used by institutions like KCB Bank. (4 marks)
  2. Differentiate between system software and application software, providing examples relevant to a county government office. (4 marks)
🔒18 more in this section.
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 what software security needs must be met
  • identify different types of software applications like desktop, web, mobile, and cloud-based that require security assessment
  • analyze how applications work, including their functions, workflows, and user roles, to spot potential security risks
  • document existing security controls and any vulnerabilities you find in the software clearly and accurately
  • recognize key software components such as databases, APIs, third-party libraries, and integrations to include in your security checks
  • prioritize which software to secure first based on its criticality, the sensitivity of data it handles, and its 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.