FreenetWiki : HardStego

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

High latency steganographic transports


Long term, we need Freenet to be usable in hostile environments where it may be actively attacked. This means DarkNet, but it also means that Freenet traffic must be hard to identify through firewalls etc.

Stage One: Session Bytes


China blocked Freenet 0.5 at the session bytes level in 2005. Freenet 0.7 is not susceptible to this kind of blocking because it does not have any predictable session bytes.

Stage Two: Darknet


Freenet 0.5 can also be identified quickly by harvesting. An attacker can run a hacked node and quickly identify every node, because Freenet 0.5 is strictly an OpenNet. So, Freenet 0.7 supports both DarkNet and OpenNet functionality, and will warn users when running OpenNet that they should get some DarkNet peers or their node will be not only harvestable but also much easier to attack.

Stage Three: Simple Stego


Although Freenet 0.7 does not have fixed session bytes, it can still be identified relatively easily, by its packet size, and by the fact that it isn't any other known protocol (obviously this has a significant cost of potentially blocking other traffic).

So, once we have transport plugins, we can have plugins that impersonate specific other traffic types - VoIP, for example.

We can also have "trap-door" transports on TCP. Freenet can for example proxy an HTTP port; normally it goes through to the local webserver, but when the magic word is sent, it turns into a TCP-based FNP connection.

Stage Four: Everything Goes


At this point, the big threat is traffic flow analysis. How do we beat it? Well, maybe we can't. Steganography is hard. Some people say it's impossible. Generally it comes down to whether the steganographer or the steganalyst has the better model of the underlying process which is being faked: hence it is an eternal arms race. So, you get things like nodes pretending to place voice calls, in order to transfer data, and trying to fake the timing, while the attacker tries to model it better to identify the nodes. Note that most of the below require support for very high latency transports; obviously this implies very high latency requests. IMHO it is possible with a good user interface and with the right request semantics (something close to passive requests perhaps?) to build a useful system in such conditions.

However I'm not going to take no for an answer. Here are some possibilities:
- Impersonating usage as well as form. So, for example, a private games server which is used regularly by a group of friends. This is closest to what is normally understood by steganography as described above.
- Parasitic transports. Using the video stream from a VoIP call, but only connecting when a call is actually made, for example.
- Physical rendezvous. Either you carry a PDA which wirelessly exchanges with your peers' PDA when you are in the same room (see Pocket Switched Networking here and here, for example), or you exchange boxes of disks - in person, periodically transporting a whole bunch of boxes, sticking a DVD in a dead letter box, sending them through the mail etc. See wikipedia on Sneakernet.
- Wifi, optical, laser links etc. Possible to detect of course, but a lot harder to analyse than the commercial internet. Can be highly directional while still being hidden from obvious view. The downside is that even with wifi these things must be highly directional and probably rooftop mounted for good range/performance. And long range is very difficult (possible with high power 802.11a for example, but only because it's licensed!).

A better alternative


Using Freenet traffic himself as steganographic basis. At present freenet users are a conspiration group of peoples, who have one problem with the locally valid laws. Freenet needs a legal main use. Freenet integration to operating systems may create this legal main use. By increasing of data security and decreasing CO2 pollution, the freenet technologie has the opportunity to become a widly accepted computer technologie.
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.2
Page was generated in 0.0447 seconds