13.07.2015 Views

hp-security-research-cyber-risk-report-pdf-2-w-1408

hp-security-research-cyber-risk-report-pdf-2-w-1408

hp-security-research-cyber-risk-report-pdf-2-w-1408

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

HP Security Research | Cyber Risk Report 2015This activity rekindled the conversation around the <strong>security</strong> offered by open-source projectsand the lack of financial support provided to the projects used in critical infrastructure. Manyentities that rely heavily on OpenSSL to work correctly began donating financial support to theproject. Meanwhile, <strong>research</strong>ers were upping their efforts to review OpenSSL source code to findadditional vulnerabilities. It didn’t take long for another critical OpenSSL vulnerability to showup in the queues at the Zero Day Initiative. Jüri Aedla is credited for the original discovery ofthis vulnerability.The issue exists wholly within ssl/d1_both.c and occurs when handling Datagram TransportLayer Security (DTLS) fragments. DTLS has a fragmentation mechanism to break up largemessages for UDP. Each fragment contains a 3-byte length field, which should be the same forall fragments in a message. OpenSSL incorrectly assumes that all DTLS fragments specify thesame message size. Specifically, it trusts that the message length specified within the header ofthe first fragment will be invariant across all fragments.Another significant observation is that the Wireshark protocol decoder highlights the mismatchof the length values in the DTLS fragments as a protocol error. Unfortunately, OpenSSL did notrecognize this as an error condition.Just sending this single UDP packet results in the application segfaulting and causing a denialof-servicecondition, but more malicious actions are possible. An attacker could leverage thisissue to corrupt adjacent metadata, and possibly execute code in the context of the processusing OpenSSL.The OpenSSL code does some sanity checking on the length fields in the DTLS fragments but,unfortunately, the check occurs too late and could be bypassed. The developers even left aprophetic comment in the code about what would happen if the validation failed.This vulnerability is interesting from a development perspective. According to the commit logs,Robin Seggelmann introduced this vulnerability into the OpenSSL code base four years ago.Robin Seggelmann is also responsible for introducing the Heartbleed vulnerability. Seggelmannis not completely to blame, of course. OpenSSL is an open source project. The “many eyes” thatlook at this code failed to catch this bug prior to 2014, but a new breed of individuals are lookingat this code. This code is now known for having vulnerabilities and white-hat <strong>research</strong>ers arenow focusing their efforts on auditing and securing this critical infrastructure.Value of information disclosureDiscovery of information disclosure vulnerabilities such as Heartbleed is highly valued bythe exploitation community. These issues can also be used in conjunction with remote codeexecution vulnerabilities to bypass modern exploit mitigations. For example, Microsoft®Internet Explorer® relies heavily on a mitigation technology called Address Space LayoutRandomization (ASLR) to increase the complexity of exploitation of a vulnerability existing inthe browser.ASLR randomizes the base address of loaded DLLs. In the past, attackers relied on knownaddresses in DLLs to craft exploits. With the introduction of ASLR, attackers must either finda way to load a non-ASLR’d DLL or try to leak a DLL address. Using information disclosurevulnerabilities, attackers can render this mitigation useless by cherry-picking pointers withinthe leaked data, allowing them to learn the base address of the randomized DLLs.Heartbleed was a nice demonstration of a highly controllable information disclosurevulnerability due to a buffer over-read, but these types of issues can also occur due torace conditions in an application. In April, the HP Zero Day Initiative received an interestingvulnerability in Apache httpd mod_status from several Polish <strong>research</strong>ers. The root causeof the vulnerability was a race condition between the updating of httpd’s “scoreboard” andmod_status, leading to a heap overflow with attacker-supplied data. ZDI concluded it waspossible, with a well-crafted exploit, to disclose application memory containing internal serverconfiguration details, htaccess credentials, and other application data.14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!