Heartbleed Explanation
Heartbleed Explanation
[Caption above the panels:] How the Heartbleed Bug works:
[Meg, a girl with more curly hair than Megan, stands to the left in a panel. At the center of the panel is a black and gray server with red and green diode lights showing. During all six panels the server stays the same. Meg is standing with her arms down in four panels. It will be noted when she does not. Meg talks to the server. The server "thinks" all the time, i.e. we see its memory in all panels. The top and bottom line is breaking the edge of the thought bubble making it difficult to discern. In every second panel it replies to Meg. In these panels the number of letters requested by Meg is highlighted with yellow color.]
[Meg speaks, server thinks:] Meg: Server, are you still there? If so, reply "POTATO" (6 letters). Server thinking: wants pages about "boats". User Erica requests secure connection using key "4538538374224" User Meg wants these 6 letters: POTATO. User Ada wants pages about "irl games". Unlocking secure records with master key 5130985733435. Maggie (chrome user) sends this message: "Hi
[Server thinks, the same as above, although cut a little different at the edges, with POTATO highlighted in yellow and it replies the highlighted part in a rectangular speak bubble.] Server thinking: wants pages about "boats". User Erica requests secure connection using key "4538538374224" User Meg wants these 6 letters: POTATO. User Ada wants pages about "irl games". Unlocking secure records with master key 5130985733435. Maggie (chrome user) sends this message: "Hi Server: POTATO
[Meg speaks, server thinks:] Meg: Server, are you still there? If so, reply "BIRD" (4 letters). Server thinking: User Olivia from London wants pages about "man bees in car why". Note: Files for IP 375.381.283.17 are in /tmp/files-3843. User Meg wants these 4 letters: BIRD. There are currently 348 connections open. User Brendan uploaded the file selfie.jpg (contents: 834ba962e2ceb9ff89bd3bff8c ...
[Server thinks, the same as above, although cut a little different at the edges, with BIRD highlighted in yellow and it replies the highlighted part in a rectangular speak bubble. Meg has taken her hand to her chin thinking:]
Server thinking: User Olivia from London wants pages about "man bees in car why". Note: Files for IP 375.381.283.17 are in /tmp/files-3843. User Meg wants these 4 letters: BIRD. There are currently 348 connections open. User Brendan uploaded the file selfie.jpg (contents: 834ba962e2ceb9ff89bd3bff8c ... Server: BIRD Meg: Hmm...
[Meg has taken her hand down again and speaks, server thinks, now with her line at the top:]
Meg: Server, are you still there? If so, reply "HAT" (500 letters). Server memory: a connection. Jake requested pictures of deer. User Meg wants these 500 letters: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's master key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User
[Server thinks, the same as above, although cut a little different at the edges, with everything from (and including) "HAT" highlighted in yellow and it replies the highlighted part and even more in a rectangular speak bubble. Meg has taken a note book and a pen and it writing something.:]
Server memory: a connection. Jake requested pictures of deer. User Meg wants these 500 letters: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's master key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User Server: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User Amber requests pages

The Heartbleed bug has received a lot of news coverage recently and was also the topic of the previous comic 1353: Heartbleed . This comic explains how the bug may have been discovered and can be exploited to reveal a server's memory contents.
A Megan -like character named Margaret (or "Meg") sends heartbeat requests to the server, the server responds to the heartbeat request by returning the contents of the body of the request up to the number of letters requested. The first two requests are well formed, requesting exactly the number of characters in the request body. The server's memory is showing Meg's request with many other requests going on at the same time.
Meg then ponders this and tries to another request asking for "HAT" but requests that it be 500 letters long instead of only 3; the server —not checking it or simply unaware that 500 letters is larger than the request body— returns "HAT" plus 497 letters that happened to be next to the word "HAT" in its memory (more will follow than are shown in the server's speak bubble as there are only 251 letters/symbols in the shown reply). Included are many sensitive bits of information, including a master key and user passwords. One of the passwords shown is "CoHoBaSt", a reference to 936: Password Strength , which suggests using " co rrect ho rse ba ttery st aple" as a password.
Often popular explanations of security bugs require the issue to be simplified a lot and to leave out a lot of details. In this case Randall didn't have to do much simplifying; the bug is actually that simple. Also, it should be noted that any client which can connect to the server typically can exploit this bug in the underlying OpenSSL software — the use of the term "User Meg" does not imply that Meg had to authenticate first.
Although Randall shows Meg recording the data by hand, on paper, it is more likely that a person exploiting the bug would have a computer record the data, perhaps on its hard drive or on a flash drive.
The title text is a reference to Are You There God? It's Me, Margaret. , a novel by Judy Blume , and plays off of the "server, are you still there?" line in every panel where she did start a request. The novel is the theme of another comic 1544: Margaret too. Meg can be a nickname for Margaret as well as Megan who Margaret resembles.
[Caption above the panels:] How the Heartbleed Bug works:
[Meg, a girl with more curly hair than Megan, stands to the left in a panel. At the center of the panel is a black and gray server with red and green diode lights showing. During all six panels the server stays the same. Meg is standing with her arms down in four panels. It will be noted when she does not. Meg talks to the server. The server "thinks" all the time, i.e. we see its memory in all panels. The top and bottom line is breaking the edge of the thought bubble making it difficult to discern. In every second panel it replies to Meg. In these panels the number of letters requested by Meg is highlighted with yellow color.]
[Meg speaks, server thinks:] Meg: Server, are you still there? If so, reply "POTATO" (6 letters). Server thinking: wants pages about "boats". User Erica requests secure connection using key "4538538374224" User Meg wants these 6 letters: POTATO. User Ada wants pages about "irl games". Unlocking secure records with master key 5130985733435. Maggie (chrome user) sends this message: "Hi
[Server thinks, the same as above, although cut a little different at the edges, with POTATO highlighted in yellow and it replies the highlighted part in a rectangular speak bubble.] Server thinking: wants pages about "boats". User Erica requests secure connection using key "4538538374224" User Meg wants these 6 letters: POTATO. User Ada wants pages about "irl games". Unlocking secure records with master key 5130985733435. Maggie (chrome user) sends this message: "Hi Server: POTATO
[Meg speaks, server thinks:] Meg: Server, are you still there? If so, reply "BIRD" (4 letters). Server thinking: User Olivia from London wants pages about "man bees in car why". Note: Files for IP 375.381.283.17 are in /tmp/files-3843. User Meg wants these 4 letters: BIRD. There are currently 348 connections open. User Brendan uploaded the file selfie.jpg (contents: 834ba962e2ceb9ff89bd3bff8c ...
[Server thinks, the same as above, although cut a little different at the edges, with BIRD highlighted in yellow and it replies the highlighted part in a rectangular speak bubble. Meg has taken her hand to her chin thinking:]
Server thinking: User Olivia from London wants pages about "man bees in car why". Note: Files for IP 375.381.283.17 are in /tmp/files-3843. User Meg wants these 4 letters: BIRD. There are currently 348 connections open. User Brendan uploaded the file selfie.jpg (contents: 834ba962e2ceb9ff89bd3bff8c ... Server: BIRD Meg: Hmm...
[Meg has taken her hand down again and speaks, server thinks, now with her line at the top:]
Meg: Server, are you still there? If so, reply "HAT" (500 letters). Server memory: a connection. Jake requested pictures of deer. User Meg wants these 500 letters: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's master key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User
[Server thinks, the same as above, although cut a little different at the edges, with everything from (and including) "HAT" highlighted in yellow and it replies the highlighted part and even more in a rectangular speak bubble. Meg has taken a note book and a pen and it writing something.:]
Server memory: a connection. Jake requested pictures of deer. User Meg wants these 500 letters: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's master key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User Server: HAT. Lucas requests the "missed connections" page. Eve (administrator) wants to set server's key to "14835038534". Isabel wants pages about "snakes but not too long". User Karen wants to change account password to "CoHoBaSt". User Amber requests pages
