HoT-TAI-0003: Buffer Overflow


Summary:

CWE-119: The software performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. Certain languages allow direct addressing of memory locations and do not automatically ensure that these locations are valid for the memory buffer that is being referenced. This can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, orinternalprogram data. As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash. See example here.1 See also:

  • CWE-120 Classic Buffer Overflow
  • CWE-123 Write-what-where condition
  • CWE-125 Out-of bounds read
  • CWE-130 Improper handling of length parameter inconsistency
  • CWE-466 Return of pointer value outside of expected range
  • CWE-680 Integer overflow to buffer overflow
  • CWE-786 Access of memory location before start of buffer
  • CWE-787 Out-of-bounds write
  • CWE-788 Access of memory location after end of buffer
  • CWE-805 Buffer access with incorrect length value
  • CWE-822 Untrusted pointer dereference
  • CWE-823 Use of out-of-range pointer offset
  • CWE-824 Access of uninitialized pointer
  • CWE-825 Expired pointer dereference

The video below explains the basics of a buffer overflow.

Estimated Overall Risk Assessment: HIGH


  • Technical Impacts: HIGH

    • If the memory accessible by the attacker can be effectively controlled, it may be possible to execute arbitrary code, as with a standard buffer overflow. If the attacker can overwrite a pointer's worth of memory (usually 32 or 64 bits), he can redirect a function pointer to his own malicious code. Even when the attacker can only modify a single byte arbitrary code execution can be possible. Sometimes this is because the same problem can be exploited repeatedly to the same effect. Other times it is because the attacker can overwrite security-critical application-specific data -- such as a flag indicating whether the user is an administrator.

    • Out of bounds memory access will very likely result in the corruption of relevant memory, and perhaps instructions, possibly leading to a crash. Other attacks leading to lack of availability are possible, including putting the program into an infinite loop. In the case of an out-of-bounds read, the attacker may have access to sensitive information. If the sensitive information contains system details, such as the current buffers position in memory, this knowledge can be used to craft further attacks, possibly with more severe consequences. Out of bounds memory access will very likely result in the corruption of relevant memory, and perhaps instructions, possibly leading to a crash. Other attacks leading to lack of availability are possible, including putting the program into an infinite loop.

  • Business Impacts: HIGH

    • Data confidentiality, integrity, and availability could be compromised. An attacker could gain control over the IoT device and could establish a foothold within your network for further actions-on-objective (e.g. further exploitation of internal network OR to utilize the IoT device as part of a botnet to launch attacks against national critical infrastructure)
  • Detectability: MODERATE

  • Prevalence: UNKNOWN

  • Exploitability: EASY

Attack Surfaces Grouped By Layer of Cyberspace


  • Physical Network Layer
    • Device Firmware
    • Device Network Services
    • Device Web Interface
    • Mobile Application
  • Cloud Web Interface

Known Intrusion / Exploit / Attack Cases and Threats


TBD

Identify, Detect, Protect, Respond, and Recover (NIST FICIC)


This vulnerability page (and some information contained in the associated attack page) address the following:

  • IDENTIFY-RISK ASSESSMENT (ID.RA)

    • ID.RA-1: Asset vulnerabilities are identified and documented
      • See "Analysis Tools and Training" below.
    • ID.RA-2: Cyber threat intelligence and vulnerability information is received from information sharing forums and sources
    • ID.RA-3: Threats, both internal and external are identified and documented
    • ID.RA-4: Potential business impacts and likelihoods are identified
    • ID.RA-5: Threats, vulnerabilities, likelihoods, and impacts are used to determine risk
    • IS.RA-6: Risk responses are identified and prioritized
  • PROTECT-Information Protection Processes and Procedures (PR.IP)

    • PR.IP-12: A vulnerability management plan is developed and implemented
  • DETECT-Anomalies and Events (DE.AE)

    • DE.AE-2: Detected events are analyzed to understand attack targets and methods
  • DETECT-Security Continuous Monitoring (DE.CM)

    • DE.CM-1: The network is monitored to detect potential cybersecurity events

Analysis Tools and Training


  • Identify

  • Protect

    • Vendor patches / updates

    • In-house patches / updates (may void warranty or contracts)

  • Detect

    • Consider creating IDS signatures that are tailored specifically to each buffer overflow vulnerability. Do not rely on signatures that are tailored to generic exploit code, as an attacker can easily modify their exploit code to evade detection.

Associated CVEs / Manufacturers / Devices


Use this link to identify the latest buffer error vulnerabilities. This search query is not specific to the IoT.

Use this link to identify the latest out-of bounds read vulnerabilities. This search query is not specific to the IoT.

Use this link to identify the latest out-of-bounds write vulnerabilities. This search query is not specific to the IoT.

References


  1. http://cwe.mitre.org/data/definitions/119.html

results matching ""

    No results matching ""