Hacker News new | past | comments | ask | show | jobs | submit login
PingFS (shysecurity.com)
102 points by ashleyblackmore on Aug 13, 2013 | hide | past | favorite | 16 comments



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


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


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!


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"


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.


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


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.


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



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

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


> 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?


What exactly does this do?


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.


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


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.


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: