Identifying Vulnerabilities

Identifying Vulnerabilities

What is a Vulnerability?

  • A vulnerability in the context of computer science refers to a weakness or loophole in a computer system’s design, implementation, operation or management that could potentially be exploited, leading to an adverse impact on the system’s confidentiality, integrity, availability, or other security measures.
  • This vulnerability can be utilised by attackers or malware to gain unauthorised access, perform unauthorised actions, or provoke unwanted system behaviours.

Common Types of Vulnerabilities

  • Software bugs are common types of vulnerabilities. They often occur due to programming errors or flaws in a software system that can be exploited to cause harm or unauthorised access.
  • A buffer overflow vulnerability happens when an application is fed more data than it was designed to handle. This extra data can overflow into adjacent memory locations, causing erratic program behaviour, including incorrect results, a process crash, or a breach of system security.
  • Operating system vulnerabilities are susceptibilities or weak spots within an operating system that can be exploited by attackers.
  • Web application vulnerabilities, such as SQL Injection or Cross Site Scripting, exist in a web application’s code and can be exploited when user input is either incorrectly filtered or insufficiently secured.
  • An Insecure Direct Object Reference (IDOR) occurs when an application grants direct access to objects based on user-supplied input, potentially allowing attackers to bypass authorisation and access resources in the system directly.

Methods Used to Identify Vulnerabilities

  • Regular security audits and risk assessments can help organisations identify vulnerabilities in their systems.
  • Dark and deep web intelligence can be helpful in identifying zero-day vulnerabilities which are unknown to those interested in fixing them.
  • Vulnerability scanners and automated tools such as Nessus, OpenVAS and Nexpose can be used to discover weaknesses in a system.
  • Organisations can employ Penetration Testing (Pen Testing) where ethical hackers try to break into the systems in order to find vulnerabilities.