heartbleed

18
SHIVA SAGAR B 12CO83 HEARTBLEED a review

Upload: shiva-sagar

Post on 16-Jul-2015

64 views

Category:

Education


0 download

TRANSCRIPT

SHIVA SAGAR B

12CO83

HEARTBLEEDa review

• It is a critical bug in the OpenSSL's implementation of the TLS/DTLS

heartbeat extension that allows attackers to read portions of the

affected server’s memory, potentially revealing users data, that the

server did not intend to reveal.

• That means data leakage in the Heartbeat protocol implementation,

specifically the OpenSSL implementation of the protocol.

• This bug was independently discovered by a team of security

engineers (Riku, Antti and Matti) at Codenomicon and Neel Mehta of

Google Security, who first reported it to the OpenSSL team.

Heartbleed

• Encryption is the backbone of Internet security. It protects users

data, passwords and transaction details from attackers.

• To achieve encryption over Internet, one of the famous and widely

used protocols is HTTPS. HTTPS is simply HTTP over SSL/TLS.

• OpenSSL library provides implementation of cryptographic protocols

such as SSL and TLS. It is open source software written in C

programming language.

Let’s Start with the Internet

Common Internet Layer Protocols

• The Heartbeat protocol runs on top of the TLS Record Layer and

maintains the connection between the two peers alive requiring them

to exchange a “heartbeat”.

• Negotiates and monitors the availability of a resource.

• It was introduced in 2012 by RPC 6520.

• Platform independent and device scale independent.

• Generates a signal that indicates normal operation or to synchronize

other parts of a system.

The Heartbeat Protocol

• Is the device on the other end Up ?

• Device could be server or client.

• Used to achieve active login sessions and website security

certifications.

• Social networks, E-commerce, E-governance, Internet banking.

• The heartbeat extension was introduced because the then-current

TLS/DTLS renegotiation technique to figure out if a peer is still alive

was a costly process.

Usage of Heartbeat Protocol

• The Heartbeat extension protocol consists of two message types:

HeartbeatRequest message and HeartbeatResponse message.

• One side of the peer sends HBrequest message to other peer, who

immediately responds with the same message and thus, keeping the

connection alive.

• If no response is received within a specified timeout, the TLS

connection is terminated.

• If the response does not contain the same message, the HBRequest

message is retransmitted for a specified number of retransmissions.

How Heartbeat Protocol Works

• Assigns one bit to specify it is a Hbrequest message, 16 bytes for

actual payload and padding and 2 bytes for payload size.

ARGUMENTS of Heartbeat Request:

• Payload: Contains some text information which is generated on both

the ends.

• payload length: Gives the size of the payload.

Heartbeat Request Message

• Assigns one bit to specify it is a Hbresponse message, 16 bytes for

actual payload and padding and 2 bytes for payload size.

RESPONSE to the Heartbeat Request:

• Finds the Payload in its active memory.

• Count the number of characters to be sent using payload length.

• Returns the text info.

The first device is acknowledged that the other end is online.

Heartbeat Response Message

A Simple Example

• No bound check mechanism.

• Maliciously crafted Heartbeat request with mismatching Payload and

payload length arguments would still work.

• For a Hbrequest with small payload value and large payload length,

Hbresponse returns with a extra data from the active memory of the

replying device.

• Provides unauthorised access to data which should have been

hidden and abstracted.

Flaw in the Heartbeat …

Malicious Heartbeat Request

• By exploiting the Heartbleed vulnerability, an attacker can send a

Heartbeat request message and retrieve up to 64 KB of memory from

the victim's server.

• Could potentially contain usernames, passwords, session IDs or

secret private keys or other sensitive information.

• This attack can be made multiple times without leaving any trace of

it. There is no limit on how many times these 64KB chunks could be

retrieved.

• This bleeding of confidential data can happen to both sides – the

servers as well as the clients.

Impact of the Heartbleed…

• require two systems running each one in a Separate Workstation an

attacker system (kali linux) and a vulnernable system (ubuntu 12.04).

• Then, we have to configure the Apache with SSL support on Ubuntu.

Implementation

Client Side Data Leakage

• All Heartbleed-vulnerable systems should immediately upgrade to

OpenSSL 1.0.1g.

• Implementing the patch by oneself by correcting and re-compiling

the source code.

• . If you are not sure whether an application you want to access is

Heartbleed vulnerable or not, try any one of the Heartbleed detector

tools.

• Stolen security keys need to be revoked and re-allocated.

• An important step is to restart the services that are using OpenSSL

(like HTTPS, SMTP etc.).

.

Tackling Heartbleed

• Open Source Projects should be funded well.

• Open Source makes flaw discovery and correction a faster process.

• Adoption of new piece of code should be accompanied by negative

testing of it.

• You are never completely safe, even if you follow the best practices.

Conclusion

THANK YOU