Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is nothing new. This is a form of covert channel: https://en.m.wikipedia.org/wiki/Covert_channel

Specifically from the Wiki artical see the Timing Channel section.

Another interesting concept is to hide the bits in the unused options in protocol header fields (see the "Data hiding in TCP/IP Protocol suite by covert channels" section on the same Wiki artical).

I was looking for example code snippets online and found some examples of hiding bits in packet headers but, not in inter-packet timings. I ended up writing a transmit and receive script one afternoon at my desk out of boredom (although, just as a proof of concept to myself, I didn't take the time to refine to the superior levels of the OP, such as bit rate or reliability, as I never intended to use it): https://null.53bits.co.uk/index.php?page=icmp-messages

It would be nice to combine the technique used in some header-bit-packing scripts with the OPs timing based script; whereby one specifies the destination IP we want to communicate to secretly and alter the buffering of packets only to that IP. I never bothered to refine my scripts beyond "Hello World" because the timing based approach requires one to generate traffic that possibly otherwise wouldn't exist between the source and destination IP. Encoding bits in the inter-packet delay of existing "legitimate" flows to the destination would require it to be relatively close in terms of latency.



Not sure if you spotted the links in the post itself, but there's a working (basic) proof of concept here: https://github.com/vimist/packet_differential_encoding

Boyan commented on the post itself suggesting applying coding & modulation theory, which I thought was an interesting point.




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

Search: