Settings

Theme

PingFS

shysecurity.com

102 points by ashleyblackmore 12 years ago · 16 comments

Reader

semenko 12 years ago

Reminds me of the IPv6 "Type 0" routing header disaster, where you could store data in routing loops.

See, e.g. slide 30 of: http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf

oakwhiz 12 years ago

So I take it this is the modern-day equivalent of the mercury delay line?

moyix 12 years ago

This idea has been around for a long time; see e.g. Zalewski's paper from 2003: http://lcamtuf.coredump.cx/juggling_with_packets.txt

Cool to see an implementation though!

bigiain 12 years ago

Heh - the logical abstraction/refactoring of "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it"

fennecfoxen 12 years ago

Would it be considered bad form to attach this application to a RFC 1149 network? It might actually increase the recoverability of the data in question.

philrt 12 years ago

How much data could you store if you pinged the voyager 2 probe?

  • adrianN 12 years ago

    When Voyager was at Jupiter, communications allowed for a bitrate of roughly 115kbit/s. The distance from Earth to Jupiter is about 5AU. The current distance to Voyager is 100AU, so let's say we still have a bitrate of 1kbit/s. According to WolframAlpha, Voyager 2 is about 50000 light seconds away from us. Now you can do the math.

1_player 12 years ago

By the way, the linked slideshow is hilarious, never seen it before: http://www.slideshare.net/tenderlove/worst-ideas-ever

jvdh 12 years ago

Link to Google Cache because the server seems to be overloaded:

http://webcache.googleusercontent.com/search?q=cache:786NsZY...

tws5 12 years ago

> PingFS is a set of python scripts ... > Each file ... sent over the wire in an ICMP echo request, and promptly erased from memory.

can you actually reliably erase anything from memory in python?

dantiberian 12 years ago

What exactly does this do?

  • skeletonjelly 12 years ago

    My understanding is this:

    It's a filesystem that stores it's data in a temporary packet. So when you ping a server to see if it's up, it sends back the data you sent so you can verify it's okay. It's implemented as a filesystem using FUSE (which allows for all kinds of user space filesystems) so the OS just uses it like a disk or network storage and so on. I believe it works by spamming out pings with the data in them, and when they come back just send them out again.

  • dbarlett 12 years ago

    As oakwhiz pointed out, this is conceptually similar to delay-line memory [1]. At least it doesn't require 100○ F mercury.

    [1] http://en.wikipedia.org/wiki/Delay_line_memory

  • chadillac83 12 years ago

    seems like it essentially keeps data stored by catching data from ICMP (ping) packets, rewrapping them in another ping packet and shoving them back on the network.

    Think of it kind of like network RAM, the data isn't stored anywhere persay and if either host fails to bounce back the payload the data is lost since it wasn't stored on any single machine and only kept alive in limbo.

    • teddyh 12 years ago

      The data is stored somewhere. It's stored in the cache memory of all the routers in between.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection