Slashdot Mirror


Phony TCP Retransmissions Can Hide Secret Messages

Hugh Pickens writes "New Scientist reports that a team of steganographers at the Institute of Telecommunications in Warsaw, Poland have figured out how to send hidden messages using the internet's transmission control protocol (TCP) using a method that might help people in totalitarian regimes avoid censorship. Web, file transfer, email and peer-to-peer networks all use TCP, which ensures that data packets are received securely by making the sender wait until the receiver returns a 'got it' message. If no such acknowledgment arrives (on average 1 in 1000 packets gets lost or corrupted), the sender's computer sends the packet again in a system known as TCP's retransmission mechanism. The new steganographic system, dubbed retransmission steganography (RSTEG), relies on the sender and receiver using software that deliberately asks for retransmission even when email data packets are received successfully (PDF). 'The receiver intentionally signals that a loss has occurred,' says Wojciech Mazurczyk. 'The sender then retransmits the packet but with some secret data inserted in it.' Could a careful eavesdropper spot that RSTEG is being used because the first sent packet is different from the one containing the secret message? As long as the system is not over-used, apparently not, because if a packet is corrupted, the original packet and the retransmitted one will differ from each other anyway, masking the use of RSTEG."

188 comments

  1. Does it matter which data you send first? by drinkypoo · · Score: 3, Insightful

    Does it matter if you send the real data or the masking data first, if you're just going to "fail" it and resend with the other data?

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Does it matter which data you send first? by evanbd · · Score: 4, Informative

      You send the masking data first, since the recipient is the one who controls *which* masking data they ask for a retransmit on. Then the sender retransmits the real data. If you send the real data first, you have to know which piece to ask to resend. That requires some sort of framing or similar protocol, which would make it easier to spot.

    2. Re:Does it matter which data you send first? by drinkypoo · · Score: 2, Interesting

      If you send the real data first, you have to know which piece to ask to resend.

      If you know what the encrypted data looks like, you know which packet to ask for a resend on. The sender knows what the real data looks like. The receiver must necessarily know how to deal with the encrypted data. If you send the masking data first and then ask for a resend a third party can (expensively) detect the technique by reconstructing the data and deciding yourself if the data was valid or not; if you send the real data first and then the masking data this looks more like a bad packet with a request for a resend. It does, however, require that the receiver simply take the encrypted data on the sender's schedule (or terminate the connection.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Does it matter which data you send first? by DontBlameCanada · · Score: 5, Informative

      I believe the procedure will be something like this:

      Msg1: "The next character is part of a secret msg: /" --> Reciever NACK
      Msg2: "The next character is part of a secret msg: ." --> Reciever NACK
      Msg3: "The next character is part of a secret msg: R" --> Reciever NACK
      Msg4: "The next character is part of a secret msg: o" --> Reciever NACK
      Msg5: "The next character is part of a secret msg: x" --> Reciever NACK
      Msg6: "The next character is part of a secret msg: {ascii null}>"

      Secret msg: /.Rox

      It works because each tcp retransmission updates several fields in the tcp header as part of correct operation (check sum etc). So brute force comparison of the previous datagram to the new datagram will always fail. In order to detect this, the eavesdropper would need to strip the headers. That in itself isn't too hard, however since 1:1000 normal packets get a retransmit, the device doing the snooping will be hugely overwhelmed with noise.

      It be like trying to overhear whispered conversations in a huge auditorium with loudspeakers blaring a static hiss (white noise) at high volume.

    4. Re:Does it matter which data you send first? by Alarash · · Score: 2, Interesting

      That might work, but you'd get an insanely poor data rate since the TCP overhead is eating up all of the bandwidth. And some of the newer routing devices can monitor abnormal packet loss rates (normally to enforce SLA's) so it's pretty easy to detect that behavior.

    5. Re:Does it matter which data you send first? by ta+bu+shi+da+yu · · Score: 3, Insightful

      Ummm... hopefully the stenographers have a good solid connection with no data corruption!

      --
      XML is like violence. If it doesn't solve the problem, use more.
    6. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 2, Informative

      If the masking data is sent first, the intercepting party can only be certain of what the data looked like at the time it passed through whatever hop he's listening at. Obviously, corrupted data must become corrupted at some point, and just because the data appears good when you intercept it doesn't mean that the intended recipient necessarily saw it as good when it arrived. That's not a problem.

      The problem with sending the masking data first is that when the interceptor looks at the real data, it won't look valid to him. And it'll be real suspicious when the server doesn't ask for a resend.

      I think the obvious thing to do would be to seed the sent data with a large number of actually corrupted packets. The recipient can then at his leisure ask for a resend on a packet that was actually good. When this happens, the sender can send a packet of real data. As long as the connection is actually good enough, the man in the middle should be fooled into thinking the interlocutors have a really shitty connection, and most of the data should get through.

      That should work pretty well, even to the point of allowing the recipient to ask for a resend of any real data that might (ironically) actually get corrupted. All he has to do is ask for a resend on a packet the sender knew to contain real data.

    7. Re:Does it matter which data you send first? by gnick · · Score: 2, Informative

      Some people are willing to accept insanely high overhead to avoid censorship - Ever try Freenet?

      But I agree - You could conceivably configure a router to just shut this down (I assume - I'm not really an IT guy). If you notice that two IPs are trying to communicate with large amounts of traffic at a 0.1% success rate, you may just block that traffic to save your network.

      --
      He's getting rather old, but he's a good mouse.
    8. Re:Does it matter which data you send first? by DontBlameCanada · · Score: 5, Insightful

      >> you'd get an insanely poor data rate

      The target application is busting through mass censorship by government entities. Even the equivalent throughput of a 300baud modem is better than no connectivity at all. Heck, I bet most of the /. readers over the age of 35 spent a goodly portion of their youth msging each other on local BBs at 1200baud or less --> and we thought it was lightning speed (compared to pen n'paper over snail mail).

    9. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 1, Interesting

      If TCP does come with checksums in the header, then the packets should have the pattern

      transmit: packet payload = A, checksum is ok
      retransmit: packet payload = B != A, checksum is ok

      This is highly suspicious and indicates steganography.

      If on the other hand, the sender causes the checksum to fail on the first one, then isn't the network allowed to drop such packets along the way?

      Even if the network doesn't drop corrupted packets along the way, the exact quote is "on average 1 in 1000 packets gets lost or corrupted". What is the breakdown for "lost" and "corrupted" separately? It seems that this system will be causing a lot of the latter but not the first.

    10. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 0

      1 in 1000 packets may be dropped, but 1 in 1000 packets are most certainly not scrambled to look like random data.

    11. Re:Does it matter which data you send first? by drinkypoo · · Score: 0

      It be like trying to overhear whispered conversations in a huge auditorium with loudspeakers blaring a static hiss (white noise) at high volume.

      Well, no, it don't be like that mon, because the communications are digital in nature and sent over an unsecured network. It be easy to subject them to pattern analysis when you don't have to do any A to D don't ya know.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    12. Re:Does it matter which data you send first? by DarrenBaker · · Score: 1

      So then you just keep the bad data to a minimum, say, one substantive packet retransmit in every hundred thousand. If the information is the important thing, and you have time, you'll get what you need without alerting anyone.

      Just make sure you don't have a keylogger running on the transmitting computer.

    13. Re:Does it matter which data you send first? by camperdave · · Score: 4, Insightful

      I think you'd want that the other way around. Send the ecrypted data first, then retransmit the true data. That way, when an eavesdropper assembles all of the packets they will overwrite the "damaged" cipher packets with true data packets. They'll wind up with a perfectly clean file.

      --
      When our name is on the back of your car, we're behind you all the way!
    14. Re:Does it matter which data you send first? by Tony+Hoyle · · Score: 1

      Yes an intermediate router can drop an obviously corrupt packet (since the destination could be corrupt it's not safe to route it), or even request its retransmission... so the packets would have to be transmitted correctly with checksums intact and your detection method would work.

    15. Re:Does it matter which data you send first? by Maxo-Texas · · Score: 1

      Ooooo OOOOOO Weeeeee, oodle, oodle, TSSSSSSSSSSSSSSSSSSS.

      Welcome to the Atomic Cafe
      login:

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    16. Re:Does it matter which data you send first? by Maxo-Texas · · Score: 1

      Ooooo OOOOOO Weeeeee, oodle, oodle, TSSSSSSSSSSSSSSSSSSS.
      1200 connect

      Welcome to the Atomic Cafe
      login:

      (grr. first one ate the greater than less than symbols.)

      \"
      /
      .

      can't remember the escape for angle brackets.

      ~
      '

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    17. Re:Does it matter which data you send first? by Opportunist · · Score: 1

      Well, the receiver would "know" to a certain extent what kind of data to expect. He could easily signal the sender that the transmission was unsuccessful (independent from TCP's error checking mechanism), by implementing his own error checking on top of TCP.

      Yes, it's more overhead. But in the time of faster and faster connections being monitored tighter and tighter, it's pretty much the logical step.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    18. Re:Does it matter which data you send first? by Opportunist · · Score: 3, Funny

      Ooooo OOOOOO Weeeeee, oodle, oodle, TSSSSSSSSSSSSSSSSSSS.

      WHAT? How dare you, my mother was a saint!

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    19. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 0

      It be like trying to overhear whispered conversations in a huge auditorium with loudspeakers blaring a static hiss (white noise) at high volume.

      What would that be in terms of a car analogy ?

    20. Re:Does it matter which data you send first? by nabsltd · · Score: 1

      This detection method only works if you are monitoring at the last hop before the receiving system, since the packet can become corrupt on any hop after the current one.

    21. Re:Does it matter which data you send first? by Spaham · · Score: 1

      I still remember how excited I was when I got my first 1200 baud modem !
      It was amazing :) (really !)

    22. Re:Does it matter which data you send first? by I80c51 · · Score: 1

      Not even that - you would have to have it on the receiving system, as the packet can get corrupted in the very last hop - especially if it was fragmented. As to - if it matters which data is sent first - IMO encrypted should go anytime but last. So - one can imagine sending some data + NACK + encrypted data + NACK + some data + ACK.

    23. Re:Does it matter which data you send first? by simaolation · · Score: 1

      >> you'd get an insanely poor data rate

      The target application is busting through mass censorship by government entities. Even the equivalent throughput of a 300baud modem is better than no connectivity at all. Heck, I bet most of the /. readers over the age of 35 spent a goodly portion of their youth msging each other on local BBs at 1200baud or less --> and we thought it was lightning speed (compared to pen n'paper over snail mail).

      Yeah, but dude, most people get around firewalls to watch porn. You can't expect them to stream porn at 10 kb/s! (OK, maybe specially encoded ASCII porn) What would you propose next? Give those hungry people muffins without muffin tops? EH?

    24. Re:Does it matter which data you send first? by BrokenHalo · · Score: 1

      Hmmm. I still remember my first modem. It was about the size of a large stack of telephone directories, with a rotary-dial phone sitting on top of it. It was supposed to have been 300 baud, but I think in reality it might have been 16. :-{

    25. Re:Does it matter which data you send first? by Mister+Whirly · · Score: 1

      Yeah, it was 4 times faster than my old 300 baud modem. Connecting with a 300 baud modem was like watching a teletype slowly fill the screen with characters, line by line. Downloading a few thousand character file could take hours. (Especially if your copper phone lines were bad.)

      --
      "But this one goes to 11!"
    26. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 0

      Instead of a set order, why not change which is the real data and sending an indicator with the packet, perhaps in the other packet. Or even share the hidden data across the two packets in varying amounts according to some scheme or, again, an indicator.

    27. Re:Does it matter which data you send first? by VanessaE · · Score: 1

      Unless the eavesdropper has already thought of this and has configured his snooping tools to keep *all* of the received packets. A good tool would, of course, also run comparisons among packets, especially those having been re-sent. If "diff" can pick out the differing bits of text from two otherwise unknown sources, why couldn't one write a similar tool that's focused on pseudo-binary data?

    28. Re:Does it matter which data you send first? by ShaunC · · Score: 1

      Yes, I'd definitely advise a fountain pen as opposed to a quill.

      --
      Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
    29. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 0

      Double up - it's a diff

    30. Re:Does it matter which data you send first? by freaker_TuC · · Score: 1

      You Catholics are too fast with thinking things .. .. the only thing he said was that your mother was making morney!

      --
      --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
    31. Re:Does it matter which data you send first? by drinkypoo · · Score: 1

      That's what I said. The real data is the encrypted message. The masking data is the unencrypted (or possibly weakly encrypted) innocuous traffic. Please see sig. P.S. Why wouldn't they capture the rejected packets? They're packets, too. In any case, see sig.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    32. Re:Does it matter which data you send first? by beav007 · · Score: 1
      You're looking for HTML characters and entities:
      • & = &
      • > = >
      • &lt; = <

      HTH HAND

    33. Re:Does it matter which data you send first? by Anonymous Coward · · Score: 0

      Hmm guys, you only need to observe one non-network-corrupted phony TCP retransmission to detect that some guy's IP is using steganography, and 99.9% of packets are not corrupted by the network, so the common case is that you detect steganography right away.

    34. Re:Does it matter which data you send first? by Maxo-Texas · · Score: 1

      < Thanks! >

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  2. Might be a little obvious... by vintagepc · · Score: 3, Insightful

    Doesn't anyone think it might be a bit obvious if your system suddenly starts re-requesting/re-sending a large number of its packets?
    And, would your bandwidth not also double, if you use this and re-send one secret packet for every 'normal' packet?

    --
    Evolution - Est. 4500000000 B.C. Don't piss in the gene pool.
    1. Re:Might be a little obvious... by Exitar · · Score: 5, Insightful

      They probably have another paper ready "Detecting RSTEG use through resent packets frequency statistical analysis"...

    2. Re:Might be a little obvious... by caffeinemessiah · · Score: 1

      Doesn't anyone think it might be a bit obvious if your system suddenly starts re-requesting/re-sending a large number of its packets? And, would your bandwidth not also double, if you use this and re-send one secret packet for every 'normal' packet?

      Sigh....at least read TFS?!?

      As long as the system is not over-used

      In other words, this falls in the category of "probably not practical, but it can be done and its pretty nifty." If they didn't invent it, someone else would have, and not too many other people would give a damn. I doubt that it's of interest to crypto-geeks either, since it's so easily detected and just steganography at the end of the day.

      --
      An old-timer with old-timey ideas.
    3. Re:Might be a little obvious... by Anonymous Coward · · Score: 0

      Doesn't anyone think it might be a bit obvious if your system suddenly starts re-requesting/re-sending a large number of its packets?

      That is why you don't suddenly request a large number, but make sure that you keep the the re-transmits within normal levels (1 in 1000).

      And, would your bandwidth not also double, if you use this and re-send one secret packet for every 'normal' packet?

      See first point.

    4. Re:Might be a little obvious... by caffeinemessiah · · Score: 4, Informative

      They probably have another paper ready "Detecting RSTEG use through resent packets frequency statistical analysis"...

      Parent is correct. arXiv is full of papers that have really poor methodology, and quite often the authors "improve" upon their earlier papers. This is also common in the field of data mining, where crap is initially packaged to look shiny and then Crap++ is sold as an improvement, all the while racking up the author's publication count. And that, unfortunately, is the currency of research in computer science.

      --
      An old-timer with old-timey ideas.
    5. Re:Might be a little obvious... by wjh31 · · Score: 5, Insightful

      no, because you can simulate the normal faliure rate, and so send 1kB of steganographised data per 1MB of real data (on average). While this isnt a particularly high rate, it means that you can send a few kB of text to your friend when it seems you are just sending some photos of your holiday/party/whatever. A few kB of text sounds like a pretty reasonable amound of information to be sending, especially if compressed first.

    6. Re:Might be a little obvious... by click2005 · · Score: 3, Informative

      Doesn't anyone think it might be a bit obvious if your system suddenly starts re-requesting/re-sending a large number of its packets?
      And, would your bandwidth not also double, if you use this and re-send one secret packet for every 'normal' packet?

      From TFA...

      "Could a careful eavesdropper spot that RSTEG is being used because the first sent packet is different from the one containing the secret message? As long as the system is not over-used, apparently not,"

      This isnt designed to hide bittorrent traffic but should be able to hide someone posting on a web bog or some other low bandwidth activity.
      The downside seems to be it hides what you're sending but not who you're sending it to.

      --
      I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
    7. Re:Might be a little obvious... by Anonymous Coward · · Score: 3, Funny

      So this is how "C++" got created in the first place!

    8. Re:Might be a little obvious... by John+Hasler · · Score: 1

      > This isnt designed to hide bittorrent traffic...

      Then it is of no interest to the average Slashdotter.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    9. Re:Might be a little obvious... by beerbear · · Score: 1

      Since the point of steganography is not disguising the fact that you are talking to a specific person but to hide the real conversation in a seemingly legit one, the downside is kinda by design.

      --
      Hold my beer and watch this!
    10. Re:Might be a little obvious... by Anonymous Coward · · Score: 0

      Well the quote above is bollocks, isn't it.

      if a packet is corrupted, the original packet and the retransmitted one will differ from each other anyway, masking the use of RSTEG.

      Except that the original and the retransmitted one will both have correct checksums, indicating unequivocally that something funny is going on.

    11. Re:Might be a little obvious... by hal2814 · · Score: 4, Interesting

      I can tell you right now this research will get savaged in peer review. At my university, we were working on delaying ACKs to get a server to push the full window all at one time so a wireless device could power down between transmissions. Even though the server sent the packet and we sent the ACK, we were absolutely demolished in peer review because what we were doing wasn't proper TCP. If what we were doing isn't proper TCP even though it technically didn't violate the protocol at all, there's no way in hell this will fly.

    12. Re:Might be a little obvious... by hal2814 · · Score: 1

      How can you simulate the normal failure rate? The normal failure rate is how often normal packets will need to be resent. The expected number of extra packets sent assuming you don't go over the expected number of normal packets lost would be zero. You would have to be lucky to get a failure low enough to be able to shove these extra packets into the stream and keep the same number of resends.

    13. Re:Might be a little obvious... by Anonymous Coward · · Score: 0

      But this is why you use this method as a "header" message, a handshake if you will.

      So, say you send an IP and a key across using this method. (you could stream music on the site to disguise the dropped packets)
      Then they are redirected to IP and the page is decrypted using the key.
      A key is on the page as a meta-tag or something.
      Reader reads the page, clicks a button, page is nuked.
      The key that was on the page is to decrypt the next TCP message. (every one after it is now encrypted)

      This should be good enough to keep pretty much anyone out.
      The only way you'd get caught with that method is if you were being watched at the ISP to see if you got redirected after loading the site with the information.
      This could probably be disguised by opening a bunch of other random IPs (well, random IPs with a site so a connection is established)

    14. Re:Might be a little obvious... by Opportunist · · Score: 1

      With today's providers and their notorious stability and reliable loss-free packet transmission, where never ever for some miraculous reason you suddenly get transmission errors in the vicinity of 20+ percent?

      If (really big IF) they notice it, they'll probably be poking their routers because they'd (rightfully) expect the error to be somewhere on their side. In my experience, though, they don't bother until you get off your butt and poke their support endlessly for the packet loss and transmission errors.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    15. Re:Might be a little obvious... by Opportunist · · Score: 1

      And here the "beauty" of heavily oversubscribed providers shines.

      Have you ever tried what happens when you start using a provider that unscrupulously oversubscribes even worse than anyone could possible do without blushing with shame? Try using one of their subscriber lines at prime time. You'll be subject to packet loss and transmission errors, fluctuating wildly. One day is fine, next is crap, hell, one MINUTE is fine next is crap.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    16. Re:Might be a little obvious... by egcagrac0 · · Score: 1

      It isn't designed to hide bittorrent traffic, but it could easily hide inside bittorrent traffic.

      This means it's easier to look like you're just stealing movies and MP3's and pissing off the *AA, when you're really trading CP with your fellow preverts.

      If you figure that the typical MP3 is 3-4 megs, and a typical jpeg photo is 150-300k, you should be able to discreetly trade 1-2 pics per CD of music. YMMV. IANAL.

    17. Re:Might be a little obvious... by Opportunist · · Score: 2, Insightful

      It's no problem that you're talking to someone from the US when you're in China.

      What matters is what you're talking about.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    18. Re:Might be a little obvious... by Spaham · · Score: 3, Insightful

      I believe this is not intented to be rfc compliant, but
      rather cloak and dagger stealth message sending...
      so you can't compare what you tried to accomplish
      to what they offer.

    19. Re:Might be a little obvious... by hesaigo999ca · · Score: 2, Insightful

      The technology is sound, this is in let's say a military operation where the government being spied on knows they are begin spied on, and have all communications bugged. This is a new technology that has yet to be decoded, so technically, yes it would double the amount of data sent, and also raise a flag for dropped packets...but the whole premise is that the flag has already been risen, and everything is already under a microscope.

      An agent overseas, needing to send a confirmation that an operation has succeeded, needs only a few words to convey the message, they don't go on about a page and a half about what happened and where they went for lunch! Even morse code could easily piggy back unto this system, and low and behold, the through put would be lessened as such is the way of morse, you say only important abbreviations to convey the message!

    20. Re:Might be a little obvious... by machine321 · · Score: 0, Offtopic

      I understand Comcast uses a variation of this to hide BT traffic; they send an RST in response to a connection attempt.

    21. Re:Might be a little obvious... by jandrese · · Score: 2, Interesting

      To be fair, what you suggested and more is already in use in the industry. There are some QoS type appliances that will actually mess with the TCP window size on packets on the wire to reduce their bandwidth without adding unnecessary delays for instance. Some that can even "pause" a connection just by rewriting the window size to 0 on the stream.

      The reason you were likely demolished in the peer review is that by delaying the ACK, you're probably going to force the sender to retransmit the data, and when you turn your radio back on you'll have to receive multiple copies of it, blowing away any power savings you might have had from keeping the radio off for a bit longer.

      --

      I read the internet for the articles.
    22. Re:Might be a little obvious... by dr2chase · · Score: 1

      Demolished in peer review doesn't necessarily mean it is a bad or non-working idea. Certain CS communities have goofy norms; for instance, for a paper on a lock-free queue, I wrote the algorithms with all the necessary barrier points noted (i.e., so it could be used on a real computer). My co-author, with more experience in that conference to which the paper was submitted, said that they had to come out, that these guys prefer an idealized (aka, "non-existent") memory consistency model. The advantage of this approach is that example algorithms work equally well (i.e., not) on all real hardware, instead of having papers with a bias towards the favored memory models of Sparc, PowerPC, or x86.

      I can easily imagine a ban on proposals that "aren't TCP", no matter whether they would work or not.

    23. Re:Might be a little obvious... by Yaur · · Score: 1

      The eavesdropper will know when the packet passes if it is corrupt or not by looking at the checksum. If it is "corrupt" he is free to drop it and/or request retransmission if it is not it would be highly suspicious if the sender retransmitted data that was different. In order for this to occur naturally there would have to be a very specific and very rare (something on the order of 1 packet in 10 billion) error occurring before the eavesdropper intercepted the packet followed by loss or corruption after it forwarded the packet. The most aggressive case will get you 1 byte of data ,though 1 bit would be safer, per event so to make it look "natural" you would need to move at least 1 TB of masking data per KB of masked data, in addition to being incredibly inefficient it seems like uploading this much data, with abnormally high error rate, would be suspicious in and of its self.

    24. Re:Might be a little obvious... by Yaur · · Score: 1

      But almost all of that loss is congestion related, which doesn't introduce bit errors. You either get the whole packet or you don't get any of it.. bit errors are rare. In order for the two packets to be different you need 2 bit errors in one packet that cancel each other out in the checksum followed by a congestion loss or more, detectable corruption. If there are enough errors that this could go undetected normal traffic wouldn't be working anyway so you could disconnect the flow without impacting any normal users.

    25. Re:Might be a little obvious... by johanatan · · Score: 0

      That's absurd. Get better reviewers or ignore the ones you have.

    26. Re:Might be a little obvious... by Anonymous Coward · · Score: 0

      At my university, we were working on delaying ACKs to get a server to push the full window all at one time so a wireless device could power down between transmissions. Even though the server sent the packet and we sent the ACK, we were absolutely demolished in peer review because what we were doing wasn't proper TCP. If what we were doing isn't proper TCP even though it technically didn't violate the protocol at all, there's no way in hell this will fly.

      Forgive my ignorance of the arcane guts of TCP, but if it doesn't violate the protocol, I would say it's valid TCP.

      What am I missing?

  3. Real errors? by PhireN · · Score: 5, Interesting

    What happens when one of the packets actually gets corrupted?

    1. Re:Real errors? by evanbd · · Score: 5, Insightful

      Then your stego channel detects an error thanks to its checksumming. And it retransmits. Much like TCP. In fact, your stego channel could just be another layer of TCP.

    2. Re:Real errors? by Etylowy · · Score: 1

      That what an error correction is for. You know, error correction for messages hidden in error correction mechanism of TCP protocol - easy :P

    3. Re:Real errors? by gladish · · Score: 1

      you'd probably just tweak the tcp stack to flip between two modes. normal and fakey nack.

  4. torrents by Anonymous Coward · · Score: 0

    can this somehow be used to bypass Microsoft's ISA proxy and run torrents through it when p2p is blocked??

    1. Re:torrents by ShadowRangerRIT · · Score: 3, Informative

      Or you could just run your torrents over an unblocked port, with protocol encryption... Nah, I'm sure reducing your bandwidth by multiple orders of magnitude is the way to go...

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    2. Re:torrents by Jamie+Lokier · · Score: 2, Informative

      In a deeply censored regime, there are no unblocked ports, and all traffic which looks encrypted is blocked, and perhaps illegal.

    3. Re:torrents by ShakaUVM · · Score: 1

      >>In a deeply censored regime, there are no unblocked ports, and all traffic which looks encrypted is blocked, and perhaps illegal.

      I've always been curious what "regimes" these are. In China, I could go to an internet cafe and ssh back to my box in San Diego, and if they allow that, I don't really see what the point of steno is.

      In a country like Burma, they tend to just shut down the entire internet when the citizenry get "uppity".

    4. Re:torrents by ShadowRangerRIT · · Score: 1

      I'm really wondering how your reply is at all on topic. ISA proxy is a corporate firewall with other network security features. Last I checked, it's not the software of choice for any *country*. I was pointing out the inanity of using a protocol like this to bypass a corporate firewall, not saying steno is useless.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
  5. Why send diffrent packages? by Anonymous Coward · · Score: 1, Interesting

    You could transmit data over retransmission requests.. One retransmission request within 250 packages counts as a 1.. no retransmissions withing 250 packages counts as a 0. Then add an CRC on that, if the CRC doesn't match, throw it all away and resend your hidden message.

    This way you could stream a movie and send your data over the retransmissions, without even writing it down into the tcp stream.

    This could however of course be detected, if the government know about the algorithm and searches all TCP streams for it.
    If you on top of this add some sort of scramble key, it would be really hard to detect that a transmissions was ongoing.. Except the fact that one user constantly suffers from bad networking :-)

    1. Re:Why send diffrent packages? by vintagepc · · Score: 1

      I can get my messages across faster than that by yelling loudly in ones and zeros! Would anyone really want to wait for 2000 packets before receiving a single character?

      Seems to me like it would be old-school TTY speeds all over again.

      --
      Evolution - Est. 4500000000 B.C. Don't piss in the gene pool.
    2. Re:Why send diffrent packages? by ShadowRangerRIT · · Score: 1

      TCP/IP protocol overhead: 160 bits/packet (TCP) + 160 bits/packet (IPv4) = 320 bits/packet (assuming no data, and that might look a little suspicious)

      320 bits/packet * 250 packets/real bit = 80,000 bits/real bit

      80,000 bits/real bit * 700 MB (smallest common size of compressed movie) = 80,000 bits/real bit * 5,872,025,600 real bits = 469,762,048,000,000 bits transmitted, or 53.4 TB.

      Congratulations: Assuming you use the absurdly noticeable "empty packet" strategy, on a 20 megabit line with no other overhead, you could transmit one whole movie in "only" 272 days. No one will notice the absurd amount of empty traffic in that entire time I'm sure.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    3. Re:Why send diffrent packages? by Zerth · · Score: 1

      I'm pretty sure he suggested sending the message inside a streaming video file, not sending a video through this method.

      Through your suggested file size, he'd get about 10kb of data, which is plenty for text. If I were using this, I'd make a TerrorTube and use each clip to transmit something the size of a SMS.

    4. Re:Why send diffrent packages? by ShadowRangerRIT · · Score: 1

      Ouch... Yeah, on rereading that was a valid interpretation (my interpretation is still plausible, but yours is better).

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
  6. Security through Obscurity by ShadowRangerRIT · · Score: 4, Insightful

    I realize that all forms of steganography are basically security through obscurity, but this one is even more inane. Unless subjected to additional protection, anyone aware of this form of steganography could easily track it, and more importantly, it would look suspicious in traffic logs (drastically increased retrans requests, but only for a small subset of the TCP connections logged). Steganography should look innocuous, in addition to hiding information, if you want it to work.

    --
    $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    1. Re:Security through Obscurity by grommit · · Score: 4, Insightful

      Who said anything about drastically increased retrans requests? The method is meant for short messages to the effect of "Dmitry was arrested on false charges yesterday." that are hidden inside a transmission of a much larger file such as a picture.

    2. Re:Security through Obscurity by ShadowRangerRIT · · Score: 2, Insightful

      Or you could just hide the message inside the picture with one of a number of different techniques, which would be far less susceptible to detection, and get you more data transfer capacity for the buck. Assuming you don't want others to see your message, you can't put more than a bit or two per retrans request, and even your message would require quite a lot of retrans requests, such that statistical techniques would reveal the existence (if not the content) of the message unless it was hidden in an absolutely huge transmission.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    3. Re:Security through Obscurity by Anonymous Coward · · Score: 1, Insightful

      Why "Dmitry"? Censorship, repression, etc. is not the privilege of Russia or ex-socialist countries afaik.

    4. Re:Security through Obscurity by Ephemeriis · · Score: 3, Interesting

      Or you could just hide the message inside the picture with one of a number of different techniques

      Or you could do both. Or you could do neither. Or you could put a decoy message inside the picture with shoddy obfuscation, and the real message in the TCP stream. Or you could use the message in the TCP stream to decrypt the message in the picture. Or you could completely bypass the Internet entirely and use a telephone, or radio, or written letter, or whatever else.

      It's another option. Nothing more, nothing less.

      and get you more data transfer capacity for the buck.

      I'm not sure this is really necessary. The summary indicates that 1 in 1000 packets are normally corrupted... Which lets you put about 1KB data in a 1MB transmission... How many KB does it take to send a meaningful message? And just how much data do you want to risk if a single transmission is compromised?

      Assuming you don't want others to see your message, you can't put more than a bit or two per retrans request, and even your message would require quite a lot of retrans requests, such that statistical techniques would reveal the existence (if not the content) of the message

      Again, they're talking about duplicating what normally occurs - about 1 retransmission per 1000 packets. Which would not show up as anything terribly unusual statistically.

      unless it was hidden in an absolutely huge transmission.

      Again, just how much data do you need to transmit?

      If you were to employ this technique on a website like DeviantArt or flickr you'd have plenty of data being transmitted... Plenty of room to hide a message or two.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    5. Re:Security through Obscurity by Anonymous Coward · · Score: 0

      In Soviet Russia they retransmit YOU.

    6. Re:Security through Obscurity by Anonymous Coward · · Score: 1, Interesting

      I realize that all forms of steganography are basically security through obscurity, but this one is even more inane. Unless subjected to additional protection, anyone aware of this form of steganography could easily track it, and more importantly, it would look suspicious in traffic logs (drastically increased retrans requests, but only for a small subset of the TCP connections logged). Steganography should look innocuous, in addition to hiding information, if you want it to work.

      That makes very little sense, especially since the article specifically says "as long as you don't overuse it".

      Run some long-term traffic analysis over a normal connection. Heck, even do some preliminary data mining on the traffic over the connection you are actually going to use for the secret data. Then you can mimick the normal patterns of data loss over your link.
      You would generally want to just toss a retransmitted packet out at random intervals, interspersed with short bursts of 3 to 5 packets in a row. The trick is to not get greedy- have some patience. This isn't something you'd want to try & run an encrypted torrent over, for example. But this could have some very handy uses for text files or small amounts of other data.

      You still don't want to just rely on this type of obfuscation. This type of technique is very useful when you don't want anyone to know that you are even trying to send encrypted data... or in other words it doesn't protect the data itself, it protects the fact that you are delivering data in the first place. You can pre-encrypt the data (in fact I would recommend it) to protect it from packet inspection analysis or capture.

      Not a bad method depending on the actual implementation, but it is just another form of stenography.
      In most real-world cases it would be a lot simpler just to find an unsecured wifi spot and send your data through a proxy.
      Or save it to one of those micro-mini HD cards like the 4gig one I have in my phone, and glue the damn thing into a book binding or something and snail mail it.

    7. Re:Security through Obscurity by the+phantom · · Score: 4, Funny

      How many KB does it take to send a meaningful message?

      64. Because that should be enough for anyone.

    8. Re:Security through Obscurity by Anonymous Coward · · Score: 0

      Security through obscurity is unarguably the best form. Proof lies in many ancient texts that are undecipherable because the languages have not been spoken in 1000+ years.

      Using any open or proprietary standard instead of making up your own, will always lead to teams of researches using multiple methods to attempt to break it. Yet these same teams of researchers are completely unable to decipher these ancient texts. "Experts" that claim obscurity is worthless are laughable, and most often have nothing but weak anecdotes to attempt a rebuttal as to why they can't figure out these ancient texts.

      If obscurity is not security, why is the information contained in these ancient texts so secure?

    9. Re:Security through Obscurity by Anonymous Coward · · Score: 0

      If you were to employ this technique on a website like DeviantArt or flickr you'd have plenty of data being transmitted... Plenty of room to hide a message or two.

      Employ it on slashdot. It's probably already being employed - perhaps if you view at -1 then 1 in 1000 first posts will actually turn out to be subversive messages between dissidents in the People's Re### [Lost Carrier]

    10. Re:Security through Obscurity by JustOK · · Score: 1

      Probably not his real name.

      --
      rewriting history since 2109
    11. Re:Security through Obscurity by ShadowRangerRIT · · Score: 1

      At the risk of feeding a troll:

      And as long as your security through obscurity is ensured by killing everyone who knows the protocol, I'm sure it will work out just fine. Problem is, usually you need to communicate with other people. As Ben Franklin put it, "Three can keep a secret, if two of them are dead." The reason obscurity is disdained is that if one person blabs, the whole protocol may need to be discarded, while a secure protocol, in theory, examined by countless experts, only needs to change the key.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    12. Re:Security through Obscurity by DMUTPeregrine · · Score: 2, Informative

      Except that adding 1 retransmission per 1000 packets for the stego increases the error rate by 100%. To have only a 5% increase you want to send stego packets at a rate of 1 per 20,000.

      --
      Not a sentence!
    13. Re:Security through Obscurity by mcrbids · · Score: 1

      I realize that all forms of steganography are basically security through obscurity, but this one is even more inane. Unless subjected to additional protection, anyone aware of this form of steganography could easily track it, and more importantly, it would look suspicious in traffic logs (drastically increased retrans requests, but only for a small subset of the TCP connections logged). Steganography should look innocuous, in addition to hiding information, if you want it to work.

      I guess you haven't seen what it *really* looks like underneath your standard wifi connection, then? It's very normal to have packets, retry packets, duplicate packets, all kinds of weirdnesses. Just pinging my gateway in my *quite secure* WPA2 hotspot, I see at least 1 in 25 "duplicate packet" notices, and about 1/100 missing packets, and this is very typical, and this for a very small (56 byte) ping packet! Imagine what it's like when you are actually sending legit data?

      Having 1/1000 resends won't show up as weird at all, IMHO.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    14. Re:Security through Obscurity by johanatan · · Score: 0

      If they stick to 1 in 1000, then they'd essentially be doubling the failure rate. 2x is definitely detectable. It'd have to be more like 1 in 100000 to remain undetectable.

    15. Re:Security through Obscurity by jakykong · · Score: 1

      I've been pondering this statement since the first comment that mentioned it a ways above.

      I think there is an easy resolution to that statistical problem. Instead of *adding* error packets, just use the real errors for your message!

      It doesn't seem that far-fetched to see that this would be difficult to detect. The actual errors mean that you should expect the retransmitted packet would be different from the corrupted packet. And frequency analysis wouldn't show an increase in errors for any connection, since only real errors were used.

      Of course, a very low error rate would slow transmission significantly.

    16. Re:Security through Obscurity by ResidentSourcerer · · Score: 1

      As another option:

      Run the system all the time. But when you aren't transmitting a message, transmit noise. This makes statistical detection of communication much more difficult, especially if you can package the steno into a popular software package so that many users are doing this.

      The next effect is that the nation as a whole seems to have crappy connection issues.

      One of the goals of such a system is to overload the censor computers. And if much of the hidden traffic is the output of /dev/random then even if the channel is detected, you tie up huge amounts of computing power trying to decrypt noise.

      I'm curious as to why there needs to be a NACK.

      If we assume that there is a cover stream and a data stream
      then if the transmitter sends CCCCCCDCCCCCCCCCCCCCDCCCCC
      with the D having a packet number that is the same as some later packet. With the current setup, doesn't TCP sometimes get duplicate packets, and have a way to deal with them?

      --
      Third Career: Tree Farmer Second Career: Computer Geek First Career: Teacher, Outdoor Instructor, Photographer.
  7. How does this avoid censorship? by Anonymous Coward · · Score: 1, Interesting

    How does this get around censorship? The packets, even though retransmitted, is still from a blacklisted IP isn't it?

    1. Re:How does this avoid censorship? by Anonymous Coward · · Score: 0

      It really depends on the sending / receiving IP address. You could use a man-in-the-middle machine that specifically picks up the obscured packets, crafts it into an email message which then encrypts and trasmits the email to the intended recipient.

      Iran probably blocks Blogspot, but likely wouldn't block Foo's Networking Information, which gives detailed specifications about the TCP stack (as long as the host website was physically located in a location like Turkey).

    2. Re:How does this avoid censorship? by Aluvus · · Score: 1

      By avoiding the appearance of being suspicious, and therefore avoiding being blacklisted in the first place.

      --
      Never mistake "can" for "should".
  8. lost vs corrupted by Speare · · Score: 2, Insightful

    If no such acknowledgment arrives (on average 1 in 1000 packets gets lost or corrupted), the sender's computer sends the packet again in a system known as TCP's retransmission mechanism. ... [I]f a packet is corrupted, the original packet and the retransmitted one will differ from each other.

    I suppose it's now critically important to know more about lost vs corrupted statistics. If it's 999/1000 lost, and 1/1000 bit corrupted, then the sudden up-tick in "corrupted" packets could be noticed.

    I don't know a lot about the internals of TCP, but can't the sending party re-transmit even without being asked to do so? If so, you have a couple other possible channels for messages. For example, send a packet that says "if I double-send the next packet, take action."

    --
    [ .sig file not found ]
    1. Re:lost vs corrupted by bwindle2 · · Score: 1

      If there is a stateful firewall between the sender and receiver, the firewall may block "unexpected" packets, such as those who's sequence numbers are off, or unrequested retransmits.

    2. Re:lost vs corrupted by Tony+Hoyle · · Score: 1

      In fact if it's a working firewall it must. One of the primary functions of a firewall is to drop unexpected packets.

    3. Re:lost vs corrupted by machine321 · · Score: 1

      True, but the retransmits would be expected, since the receiver would send a retransmit request as part of a stream of data.

    4. Re:lost vs corrupted by againjj · · Score: 1

      You can't double send without acknowledgment for each send. This is because you can not know if the receiving end received both packets, since packets get arbitrarily dropped during intermediate hops.

  9. crimilization of ambiguity by epine · · Score: 4, Interesting

    For the purpose of this discussion it helps to bear in mind the criminalization of ambiguity. If I have a source of physical randomness and I use this source to write a multi-GB file to my hard drive, when the Mounties show up to repo my computer system (on false allegations under the Canadian DCMA soon to be shoved down our throats), and I'm unable to provide a password which unlocks my monolith of randomness into something with a lot less entropy, I expect I'll be successfully charged with obstruction of justice.

    Ignorance of law is no excuse. No one in the legal system has the balls to state this point blank, but it appears as things are shaping up that ambiguity of circumstance is no defense either.

    1. Re:crimilization of ambiguity by Anonymous Coward · · Score: 1, Interesting

      Theoretically you can make a one time pad password to transform random bytes into any data you want (ie you could transform a random block into something harmless). Any extra bytes on the end of your bogus transform and be transformed into a checksum. Of course if the government really is out to get you then there's not much you can do one way or the other

    2. Re:crimilization of ambiguity by phoenix321 · · Score: 3, Insightful

      If ambiguitiy of circumstances is no defense anymore, you have eliminated "in dubio pro reo". Which means you have reached THE definition - and hallmark - of repression, because everyone does ambiguos things sometimes with no ill intent at all and nobody is free when they have to judge their entire day if they're doong something ambiguous.

      And no, that's no slippery slope but the bottom of it. Rock bottom.

    3. Re:crimilization of ambiguity by jeffb+(2.718) · · Score: 1

      Without meaning to contest your deploration of current trends, I'd suggest a workaround.

      Accumulate a corpus of innocuous data comparable in size to your chunk-o-random. (I'd recommend a partial backup of your OS.) XOR them, keep the product, and toss the original. When They Come For You, present the product as the key, and instruct Them to XOR it with the chunk-o-random. Presto, intelligible and hopefully non-incriminating data.

    4. Re:crimilization of ambiguity by jeffb+(2.718) · · Score: 1

      Besides, we all know that OTPs will eventually be regulated as munitions.

  10. Even 1 bit per 1 megabyte might be a problem by Etylowy · · Score: 5, Informative

    With the packet size of ~1500 bytes a 1MB send means ~700 packets. With an average of 0.1% packets lost even sending a single bit of information (a single 0 or 1) per 1MB transfered gives you a 150% increase in lost packets
    With dialup and it's default packet size of ~500 bytes combined with much higher packet loss you might be able to sneak in 1-2 bytes per MB without making it possible at all to detect. Considering 56kbps modem upload speed and need for some error/fault correction in the protocol sending an equivalent of SMS (160 characters) would take more than 2 days.

    All that is assuming that someone is looking for that type of transmissions. If not it looks like a very nice method to send very short messages.

    1. Re:Even 1 bit per 1 megabyte might be a problem by Anonymous Coward · · Score: 0

      Buy more Ovaltine

    2. Re:Even 1 bit per 1 megabyte might be a problem by Anonymous Coward · · Score: 0

      >>If not it looks like a very nice method to send very short messages.

      Oh thats just great. Now it's impossible to avoid f***ing twitter!

    3. Re:Even 1 bit per 1 megabyte might be a problem by kasperd · · Score: 1

      I think the intention was to use the full packet. So fill up some packets with entirely encrypted covert channel data and ensure the TCP checksum is bad. Every packet retransmitted that way gives you more than 1400 bytes of actual payload. Of course if it is done that way, it can be distinguished from random corruption. Random corruption is more likely to flip individual bits.

      If you just flip single bits, you get around 13 bits of covert payload per corrupted packet, because the offset of the corrupted bit could be encoding your information. It increases to 26 bits if you flip two bits. Flipping two bits can probably be done without anybody figuring out it is a covert channel. The recipient will of course have to compare the good and corrupted message to know which bits were intentionally flipped.

      A covert channel done this way would still carry only a small amount of data, and even worse - it would have a huge error rate. The reason it would have a huge error rate is, that any actual bitflips would be misinterpreted as intentional. If however the sender and recipient have agreed beforehand on an algorithm for choosing which packets will carry the covert information, that source of corruption could get almost eliminated. They could share a common seed for a PRNG that choose 1 in 1000 packets to be corrupted. Then the recipient knows, any other corrupted packets are actual corruption. And if they agree on having two bits flipped in the covert packets, the recipient will know if the correct number of bits were flipped. Unfortunately dual bitflips may skew the statistics compared to real corruption, so single bitflips may be required.

      --

      Do you care about the security of your wireless mouse?
  11. You can do this with ICMP too by Viol8 · · Score: 2, Interesting

    Embedding a message in an ICMP (ping) packet is as old as the hills. Sure , you need root privs to send and receive the packet but you'll need the same privs to read the individual TCP control packets in this scenario anyway. Nice idea though but I imagine it could be extended to a number of different protocols.

    1. Re:You can do this with ICMP too by Vanders · · Score: 2, Interesting

      Hell, the TCP header has an entire 6 bits unused (Reserved, but will likely be usable). Just stick your data in there.

    2. Re:You can do this with ICMP too by Tony+Hoyle · · Score: 2, Informative

      A lot (most, probably) of firewalls will drop packets with reserved bits set to nonzero.

      It's this problem that means that ECN is still not usable, many years after its introduction... the reserved bits are effectively useless.

    3. Re:You can do this with ICMP too by 0x000000 · · Score: 1

      It is unfortunate that this is the case because by using ECN correctly ISP's would be able to maximize bandwidth throughput using reasonable means and without having to go to draconian measures involving baseball bats and kneecaps.

      --
      cat /dev/null > .signature
    4. Re:You can do this with ICMP too by Anonymous Coward · · Score: 0

      At a stretch, if you're smart enough to use those bits, you're smart enough not to use a firewall (or not to use one that would drop your packets). That doesn't mean the country you're in, or a network between you & the receiver, might not drop them: but then I suspect that may be an issue for any scheme that mucks about with networking protocols in this manner.

  12. Hide it in Bittorrent traffic by StCredZero · · Score: 1

    Deliberately hide the stego resend packets in encrypted Bittorrent traffic. That would make this very hard to detect. Even if the Bittorrent communication was unencrypted, you'd need to figure out which segment of which torrent it's associated with, then calculate the checksum. Since the Bittorrent traffic is encrypted, this makes that much harder. Of course, you could spy on the traffic with your own peer, but the stego could be used to communicate only between known peers, in which case the other peers will never see the stego packets. This would also make traffic analysis much harder.

    1. Re:Hide it in Bittorrent traffic by dr2chase · · Score: 1

      I wondered about this myself. Sagans and Sagans of international encrypted BitTorrent traffic, it just seems to me this cannot make the NSA happy.

  13. Better if roles are reversed by pz · · Score: 1

    This is definitely a cool idea, but is readily detectable as others have already pointed out because the transmitted and retransmitted packets will obviously differ, and it is easy for someone to detect such a transmission and recover the steganographic message.

    But, if you reverse the roles of sender and receiver, a much harder to detect mechanism can be embedded in the occurrence of each retransmission request. In the simplest scheme (which is easily detectable, so I would not recommend it), Alice wants to send a message to Bob. So, through a pre-arranged mechanism, Bob starts sending Alice a file. As each packet arrives, if Alice sends and ACK, she is sending Bob a 1, if Alice sends a re-transmission request, she is sending Bob a 0. The file being transmitted is acting as a carrier and has nothing to do with the steganographic message, which is encoded in the sequence of ACK / retransmit replies. To make this scheme less easily detectable, most packets will have to be handled normally (not encoding a reverse flow message), and only a relative few will be used to encode steganographic bits. And since TCP/IP is lossy, multi-failure CRC will have to be layered on top.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    1. Re:Better if roles are reversed by Anonymous Coward · · Score: 0

      This is definitely a cool idea, but is readily detectable as others have already pointed out because the transmitted and retransmitted packets will obviously differ

      it's still possible, that under the normal conditions that warrant a re-transmission, that the original packet and the re-transmitted packet will differ (for example, the hub that alice's PC is attached to is mangling packets). this stenographic technique is exploiting the fact that is can be difficult to tell if bob did in fact receive a corrupted/missing packet or not.

      it seems to me that the chances of eve detecting this technique in use is related to where eve is in relation to alice and bob (the closer eve is to bob, the better for alice and bob i think)

  14. Who cares about bandwidth? by PMBjornerud · · Score: 1

    Doesn't anyone think it might be a bit obvious if your system suddenly starts re-requesting/re-sending a large number of its packets?

    That would be an issue if the goal is to hide movie piracy.

    If you want to transfer textual descriptions of totalitarian regimes, you do not need a lot of bandwidth.

    --
    I lost my sig.
  15. Firewalls, Proxies, oh my.. by Thomas+Charron · · Score: 1

    This won't necessarily bypass the great firewall of china, etc..

        Really depends on the proxying in place.

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  16. Zero chance by Anonymous Coward · · Score: 0

    Too late. Packet scanners have been examining that since at least 2002. I know, since I wrote one for sale to various TL Agencies.

  17. Rube Goldberg by Ukab+the+Great · · Score: 1

    The receiver could have a website with empty pages pages titled 0.html and 1.html. To send the ascii character 'a', the sender accesses 0.html, 1.html, 0.html five more times, and then 1.html one last time. The receiver would then look in their web server log and see that the letter 'a' was transmitted.

    1. Re:Rube Goldberg by Anonymous Coward · · Score: 0

      Why even have pages?

      Server logs show failed requests as well, you know.

      You could even go as far as requesting sub-domains that don't exist.
      H.example.com
      i.example.com
      T.example.com
      h.example.com
      e.example.com
      r.example.com
      e.example.com

      etc
      Obviously this is a simple example, it would be better to encrypt the message in some way.

      This method has been used before by quite a few people to send messages to sysadmins. (mainly negative remarks, at that)
      In fact, i believe there is a DoSing program that does exactly this.

    2. Re:Rube Goldberg by Baron_Yam · · Score: 1

      Why not set up a fake vanity web page with hundreds of tiny sub-pages or photos, then check the log files.

      Nothing so suspicious as 0.htm x 5, 1.htm x 2... just what appears to be normal surfing of a web site.

  18. Re:Who is Rob Malda? by MojoRilla · · Score: 1

    Who modded this offtopic? It is a perfectly good example of stenography in a slashdot post. I'm just having a little trouble deciphering the hidden message.

  19. Poles did it again -- Enigma 2.0 by enterix · · Score: 1

    Last century Poles cracked Enigma

    Now TCP...

  20. Covert Channels aren't New by burris · · Score: 1

    Covert channels like this are well known and have been part of the common criteria for decades. This is why systems handling classified data are usually physically isolated from others. When data is transferred into the classified system there no ACKs and the wires that would normally carry them aren't connected.

    1. Re:Covert Channels aren't New by Anonymous Coward · · Score: 0

      Covert channel detected! Quick, someone cut the ACK wire!

  21. A dozen better stega strategies: by Ancient_Hacker · · Score: 3, Interesting

    Heh, I can think up a half dozen better stegas:

    (1) Encode the data as the packet length.
    (2) Encode the data as the packet checksum
    (3) Encode the data as the fragment offset.
    (4) Encode the data as the number of extra ACKS.
    (5) Encode the data as the starting connection sequence number.
    (6) Encode the data as the window size.
    (7) Encode the data as the inter-packet delay.

    Steganography has the fatal flaw that the method has to remain secret. One basic rule of encryption is to assume the method is discernible and
    the security must be all in some secret key.

    1. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      Steganography does not necessarily rely on a secret method. It can be used in combination with encryption to the effect that knowledge of the method without knowledge of the key reveals neither the hidden information nor its presence. (Encrypted information is supposed to be indistinguishable from noise, so there is an innocent explanation for its presence unless you can decipher it.)

    2. Re:A dozen better stega strategies: by Todd+Knarr · · Score: 2, Interesting

      You miss the point of steganography. Encryption assumes that it's acceptable for an attacker to know there's a communications channel, the requirement is to keep the attacker from finding out the contents of the channel. Steganography is intended to conceal the very existence of the communications channel from a potential attacker.

      Consider the situation a dissident in China might be in. Merely concealing what he's posting won't help him. The government doesn't care what the content is, the mere fact that he's hiding it from them's enough to convict him as far as they're concerned. For him encryption isn't required, an encrypted message the government can't read is just as damning as the plaintext would be. What he needs is a channel that's so unobtrusive that the government doesn't realize he's posting anything at all. And if the government doesn't realize there's a message there, they aren't even going to try to read it.

    3. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      Well in my jurisdiction, one basic rule of legal encryption is that the secret keys are known by the govt so that's fatally flawed too. Steganography is just another part of the security onion.

    4. Re:A dozen better stega strategies: by rgviza · · Score: 1

      Of course, now that this method is public knowledge the communications channel is no longer concealed.

      Security by obscurity never works because the truth can be probed out by an astute attacker. In this case it's no longer even obscure.

      -Viz

      --
      Don't kid yourself. It's the size of the regexp AND how you use it that counts.
    5. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      Which of those can you change without breaking normal TCP functionality? And which of those is normally changed repeatedly as part of a conversation?

    6. Re:A dozen better stega strategies: by Archangel+Michael · · Score: 2, Interesting

      Steganography has the fatal flaw that the method has to remain secret.

      Tis but a flesh wound.

      The beauty of Steganography is that it doesn't have to remain secret, it only has to remain secret while it is being used. The shear number of options for Steganography makes it nearly impossible to detect, unless you know what and where to look.

      A previous poster listed several other means for Steganography

      (1) Encode the data as the packet length.
      (2) Encode the data as the packet checksum
      (3) Encode the data as the fragment offset.
      (4) Encode the data as the number of extra ACKS.
      (5) Encode the data as the starting connection sequence number.
      (6) Encode the data as the window size.
      (7) Encode the data as the inter-packet delay.

      I can probably think of another couple of dozen ways, including layering the Steganography, by using any of the above methods in conjunction with other methods of obfuscation and encryption, where the TCP Steganography is combined with Image based Steganography, or Regular encryption methods or whatever.

      The point of Steganography isn't to encrypt, it is to hide in plain sight. Reminds me of the guy who used to shoplift, but he only took REALLY big things, like a canoe, from the store. His premise was that nobody asked him for a receipt for the thing he was walking out the front door with.

      Shoving clothes down your pants looks suspicious, walking out the door in plain view of everyone with one of the biggest things in the store, doesn't. Nobody would steal a boat like that. Of course now with security cameras everywhere, that doesn't work.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    7. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      Actually, encoding the data in the checksum sounds like a really good idea. Simply use an encryption technique that has blocks the same length as the checksum. Send a packet with a checksum different then the encrypted data, packet is seen as corrupt, resend a proper packet. On the recieving end, decrypt all corrupted packets, the truely corrupted will be meaningless, but the data will still decrypt to data.

      Only problem is if your hidden data becomes corrupted, you don't get to find out, might need to send a few copies to be sure the data was sent.

    8. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      The method does not have to remain secret. The fact that you are using it does. Once an individual is suspected of using it, determining the method is relatively easy.

      However, in a large population, determining what is 'normal' variation and what is a secret channel is too big a task for a current big brother.

    9. Re:A dozen better stega strategies: by wirelessbuzzers · · Score: 1

      Steganography has the fatal flaw that the method has to remain secret. One basic rule of encryption is to assume the method is discernible and
      the security must be all in some secret key.

      Not if you encode it in the sequence number. The sequence number is supposed to be a cryptographically strong random number, and if you replace it with part of an encrypted message, nobody should notice.

      --
      I hereby place the above post in the public domain.
    10. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      No, If the stenographic method is sound, then even if the method is known (with out the shared secret) the channel cannot be detected.

    11. Re:A dozen better stega strategies: by noidentity · · Score: 1

      Steganography has the fatal flaw that the method has to remain secret.

      No, just the fact that a message is hidden in some content. As long as you can't determine that, even knowing the method, then it works.

    12. Re:A dozen better stega strategies: by Anonymous Coward · · Score: 0

      His argument is that steganography is useless if the method becomes known because, so he assumes, if the attacker knows several methods of steganography, including the one actually used, then he can test for and detect hidden information in seemingly innocuous messages. If the point of steganography is to conceal the very existence of the communications channel, then such a method of detection would indeed render steganography useless. Fortunately, with proper steganographic methods, the recipient requires a key to decode or even detect the hidden message.

    13. Re:A dozen better stega strategies: by ericfitz · · Score: 1

      Heh, I can think up a half dozen better stegas:

      (1) Encode the data as the packet length.
      (2) Encode the data as the packet checksum
      (3) Encode the data as the fragment offset.
      (4) Encode the data as the number of extra ACKS.
      (5) Encode the data as the starting connection sequence number.
      (6) Encode the data as the window size.
      (7) Encode the data as the inter-packet delay.

      None of these are better, as they will all be interfered with or blocked by NATs and inline IDS. The sole exception is extra ACKs, which might be caught and cause a channel reset with some IDS devices.

      The payload in a retransmitted packet will be carried unaltered regardless of intervening network hardware.

      Detecting retransmits can be done and statistical anomalies detected. However most router, proxy & firewall vendors will probably not want to save the extra state per-connection (last seq# transmitted + retransmit count) per active connection which is required to do the detection.

      Nothing prevents the retransmit payload from being encrypted. However I suggest a more subtle strategy: copy the first X bytes of the original packet and then add encrypted payload. Anyone who happens to look at one of these packets will see the "garbled" message and assume it's a TCP stack bug on the transmitting host.

  22. Seems detectable... by shrtcircuit · · Score: 0, Offtopic

    -----"The new steganographic system, dubbed retransmission steganography (RSTEG), relies on the sender and receiver using software that deliberately asks for retransmission even when email data packets are received successfully (PDF). 'The sender then retransmits the packet but with some secret data inserted in it.' Could a careful eavesdropper spot that RSTEG is being used because the first sent packet is different from the one containing the secret message? As long as the system is not over-used, apparently not, because if a packet is corrupted, the original packet and the retransmitted one will differ from each other anyway, masking the use of RSTEG."------

    Ok so we're re-tran'ing on packets we claim to be corrupt, but that were received successfully. So by monitoring traffic and keeping careful note of which packet the retransmit is requested on, and seeing what the checksum of that packet was, we will know whether an anomalous request is being sent. Basically the checksum of an uncorrupted packet will be correct, so while not a conclusive test, it's a tip off that something is up (either malicious intent, or a network problem downstream between the monitor and the receiving host causing corruption). Some analysis can also be done at this point to compare the frequency of these with run of the mill retransmits and possibly detect odd behavior. Yes it will be mixed in with noise, but I think with some careful observation a pattern could be recognized.

    Some other ways off the top of my head to go about this:
    - Remote host intentionally sends a corrupt packet in response first, which is actually some creatively XOR'd version of what was expected but intended to look like typical upstream nonsense. The retransmit, which is now keyed off an actual corrupt packet, sends what should be there. The receiver can then combine the two into a meaningful secret message, while not actually sending retransmit req's for properly assembled packets. IMO this is only really detectable by abnormally high levels of retrans, or something which knows the trick and proactively tries to reassemble the information. Encrypt it and likely it will never appear as anything more than line garbage.
    - Since the only thing that must remain constant is the destination (or does it?), why not distribute this. Set it up using a botnet, and since these are very small messages now being spread out across a hundred hosts (or more), the requirements to monitor and detect traffic and then correlate it go up significantly. Will a single slightly "off" packet from a host trigger an alarm? Probably not. Spread out the signal distribution over a bunch of servers to receive the traffic as well and it will probably never be noticed.

    1. Re:Seems detectable... by Anonymous Coward · · Score: 0

      ...
      Ok so we're re-tran'ing on packets we claim to be corrupt, but that were received successfully. So by monitoring traffic and keeping careful note of which packet the retransmit is requested on, and seeing what the checksum of that packet was, we will know whether an anomalous request is being sent. Basically the checksum of an uncorrupted packet will be correct, so while not a conclusive test, it's a tip off that something is up (either malicious intent, or a network problem downstream between the monitor and the receiving host causing corruption). Some analysis can also be done at this point to compare the frequency of these with run of the mill retransmits and possibly detect odd behavior. Yes it will be mixed in with noise, but I think with some careful observation a pattern could be recognized. ...

      Both of these thoughts are already taken into account. The checksum is incorrect already, by design. So that method of detection won't work.
      The frequency of retransmits is exactly how this is hidden- Did you even RTFS?! That was that source of this method's Stenography.

  23. hi by Anonymous Coward · · Score: 0

    might help people in totalitarian regimes avoid censorship

    I'm assuming this includes the United States;)

  24. Secret Message From the DPRK: by Anonymous Coward · · Score: 0

    WE'RE HUNGRY

  25. How common are re-transmits due to corruption? by bmajik · · Score: 1

    These days, physical link layers seem to be pretty stinking good. How common are TCP retransmits for reasons of corruption?

    Why do this at the TCP layer? Why not the application layer? Consider all of the covert channels that might exist with the ability of POST, PUT, and even method=GET.

    I've thought off and on about botnets that use spamblogs or google search + zeitgeist queries to coordinate their activities. The web is the largest visible surface area of the internet, so if I wanted to hide something in plain sight, that's one avenue to look into.

    --
    My opinions are my own, and do not necessarily represent those of my employer.
  26. Well, don't TELL them about it! by Anonymous Coward · · Score: 0

    [...] using a method that might help people in totalitarian regimes avoid censorship.

    Shhh! Don't go BRAGGING about it! Geez, now they'll be on to it and find a way to block it already!

  27. Damn, I thought this was gonna be subtle... by argent · · Score: 1

    Like encoding the message in whether you request a retransmission of the packet or not.

  28. why is the reason always "avoiding censorship"? by dtolman · · Score: 2, Insightful

    Every time a new way to beat eavesdropping come out, the only thing mentioned is how we can now beat the censors of totalitarian regimes.

    What about its other fun uses? Terrorists sending messages to detonate a bomb (defeating the godless atheist liberal censors trying to read their messages), drug gangs sending messages about who to murder (defeating the overbearing fascist police trying to read their messages), spies sending messages with national or corporate secrets (defeating the evil counter-intel agents), etc.

    Are we really so naive that new techniques like this are only going to be used by oppressed do-gooders? Or that we'll agree that they shouldn't be oppressed and suppressed?

    1. Re:why is the reason always "avoiding censorship"? by Meski · · Score: 1

      What's your solution? There are thousands of technologies that are neither good nor evil, but have applications that are.

    2. Re:why is the reason always "avoiding censorship"? by dtolman · · Score: 1

      My solution is to stop moralizing about all the good some new technique or invention will be doing, when its obvious that there is nothing inherently good about it.

      If you've invented a technique to communicate in secret, then its easier for everyone to hide things. End of story.

  29. Bludgeoning algorithm by Anonymous Coward · · Score: 0

    if(retransmit_rate > .005) {
            beat_with_clubs();
    }

  30. This depends on evel gvmt not programming for it by Nicopa · · Score: 1

    ... so... wouldn't it be the same just putting your data in the body of an ICMP echo message (ping)?

  31. Sure by Rene+S.+Hollan · · Score: 1

    There is a principle that if there is any means of systems affecting each other, that mechanism can be used to communicate.

    Consider classified and unclassified processes in a "secure" operating system, separated by a process boundary, and disjoint credentials (so, they can't see the same resources, like files).

    The can communicate because the system has a finite amount of memory and simply requesting memory resources and noting successes and failures can be used to communicate.

    It's awfully inefficient, but it can be done.

    --
    In Liberty, Rene
  32. Wow, it's a good thing... by Ezekiel68 · · Score: 1
    ...the censors in totalitarian regimes don't keep up with these kinds of developments.

    Oh, wait...

    --
    Imagination is more important than knowledge -Einstien
  33. Nope. No one has thought of this yet. Yarly. by Twyst3d · · Score: 1

    Sorry but these people werent the first to think of this. Only the first to publicly announce they had. I mean really. I never tried but I had this idea in the late 90s. Others probably thought it up before even I conceived of it. Then again, the layers was probably the biggest snoozefest I ever had to sleep through in class. So maybe it took so long because people kept falling asleep while trying to do it. Oh well better find me a copy of netmon and start sniffin.

    --
    And this has been another installament of Captain Obvious! /whoosh
  34. over-used by Anonymous Coward · · Score: 0

    >As long as the system is not over-used

    This assumption only works if nobody uses it. If it's really useful, over-use is inevitable.

  35. Or even just count the retransmits? by davidwr · · Score: 1

    Even simpler, but more overhead:

    Every few minutes stop sending fake retransmits. This gives you an approximate real noise level.
    In the in-between times, send a lot of retransmits for a "1" and a few for a "0."
    Encode your message so it's tolerant of multi-bit errors.

    You should be able to get a few dozen bits per hour out of this scheme easily, without deliberately making bad packets. That's enough to say "We attack at dawn."

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  36. Re:Who is Rob Malda? by vintagepc · · Score: 1

    Indeed- You raise a valid point that one could hide secret messages in (especially) posts marked as "Troll"... since the bulk of the readers won't even see them.
    Mentioning any sort of xuniL-sv-swodniW argument is guaranteed to get you a Troll rating.
    If this gets modded as Troll for that previous statement, then this sort of stego must be in use at slas*SAjkljaw<NO CARRIER>

    --
    Evolution - Est. 4500000000 B.C. Don't piss in the gene pool.
  37. Once you make the details... by Anonymous Coward · · Score: 0

    ...of the implementation of a covert channel public, it's not a covert channel anymore. It would have been much more useful if they would have sold this research to a government or other organization who would use this technology to complete their mission. This https://abegetchell.com/code/covert_smtp_v0.1/covert_smtp.zip is a good idea, but since it has been publicly released (as well as a snort rule to detect this specific implementation), it cannot be counted on in the establishment of a covert channel.

  38. OK if you're not already being watched by Anonymous Coward · · Score: 0

    but if they already suspect you, all they have to do is watch your stream and see which retransmit requests correspond to a packet with a perfectly good checksum. Given the .1% error rate quoted, the odds of a false positive are only 1/1 000 000

  39. I dont get it by Bitman362 · · Score: 1

    Internet censorship relies on filtering all packets, retransmitted or not. How does retransmitting a 'failed' packet avoid censorship filters?

  40. The secrecy isn't a bug... by sean.peters · · Score: 1

    Steganography has the fatal flaw that the method has to remain secret. One basic rule of encryption is to assume the method is discernible and the security must be all in some secret key.

    Secrecy isn't a bug, it's a feature. For the target audience, if you get caught sending out encrypted messages, you immediately become a suspect. Which, in turn, can lead to a pleasant stay in the local version of Guantanamo until you decide to cough up the key. The object of the game is to prevent the authorities from knowing you've even sent a message. That's the whole point of steganography - if there was no need to hide the fact that a message existed, you wouldn't need steganography at all.

  41. By this logic... by sean.peters · · Score: 1

    ... we should also ban the terroristic device known as the "telephone" (because they can use it to coordinate their actions), the evil "postal service" (because they can send money through it), and the especially horrific "smoke signals" (highly secure because only people within range can see, dontcha know).

    Sure, these techniques can help bad guys communicate. That doesn't mean they should be banned.

    1. Re:By this logic... by dtolman · · Score: 1

      Who says they should be banned?

      But at the same time - why is there always editorial commentary about the "good" some invention X will cause, when we damn well know that the "good" use probably won't be its primary user base...

  42. The definition of steganograph.... by simaolation · · Score: 1

    Do these polish people understand the definition of steganography? If you reveal how you're secretly embedding information in this communication system, then your secret is out and the whole method is useless. This is why you can [should] publish [good] cryptographic systems but you don't go on the web and blare to everyone how you're hidding messages in the TCP/IP protocol. Let's hope those authoritarian censor state's IT people don't read slashdot...

  43. Completely unnecessary by gweihir · · Score: 1

    While the approach is obvious, you can do much better, e.g. by using the random initial sequence number to transport a (short) encrypted message. This is practically undetectable and doe not modify any TCP characteristic.

    I call this non-nwes...

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  44. James P Hogan Described This In '87 by tinman · · Score: 1

    I had a bit of a chuckle when I read this. The SciFi author James P Hogan described this technique in his book "Endgame Engima" back in 1987. His technique was not quite as fleshed out, but it didn't need to be for the story.

    ISBN 0553051695

  45. Pointless by dilvish_the_damned · · Score: 1

    Not only do they seemingly not understand cryptography, stenography, or data tracking, they do not understand how much of Asia's network will not let this pass even as it stands now. There is a lot of Asia that runs through SAT links and they use true TCP acceleration which proxies the TCP segments. The retransmission will be pointless here at best. At worst they will screw up the far side connection resulting in a RST.

    Also it would be like a little red flag saying "Look at me!" every time it was used. With data tracking equipment that stores terabytes of data for post analysis, it is almost assured to raise some questions. I can only assume that's not the effect they are looking for.

    They set out to find a weakness in TCP and only found weakness in themselves. I recommend they pool their resources and buy a cheap book on stenography. Or use encryption.

     

    --
    I think you underestimate just how much I just dont care.
    1. Re:Pointless by Anonymous Coward · · Score: 0

      steganography! not stenography! you fool...

  46. Asymmetric bandwidth border crossings by tlambert · · Score: 4, Interesting

    Whoever your peers were, they weren't familiar with best common practices for asymmetric bandwidth border crossings.

    We did this in 1996 for the Whistle InterJet, back when the idea was relatively new, but it's now common practice. The problem is that if you have a border router with a relatively fast network inside the border and a slow connection to the Internet, with a faster connection for the router on the other side of the slow connection (e.g. for a DSLAM, for example, then what you're going to end up with is any larger transmission starving interactive traffic (for example, an update download vs. transient mail traffic, or a large file download vs. an ssh session.

    The only reasonable way t deal with this situation from a bandwidth management perspective is to manage how full the buffer is on the routers on the other side of the slow connection, and that means banging the window size larger or smaller than it actually is in order to allow bandwidth control. Otherwise, your fast connection packs the router buffers full of data packets for the large transfers, and there's no room for packets not specifically related to the large data transfers, unless your router decides to do RED queueing. And that has its own performance issues (specifically, it increases the effective bandwidth delay product until it's the same as if it had been multiplied by your actual queue size divided by your high watermark at which pint you RED 50% of your incoming packets).

    PS: This is why I always laugh at things like AltQ, which try to flow rate limit in order to do traffic shaping, since you can do that, but unless you adjust the window size, you're still going to pack up your router buffers with data unrelated to the flows that you wanted to prefer.

    -- Terry

    1. Re:Asymmetric bandwidth border crossings by Anonymous Coward · · Score: 0

      I believe you're right. Most of the peers don't understand the research you're doing. My current research involves several tools from signal processing, control theory and statistics that are complex, applied to computer networks.

      Although, some peers find this idea interesting, some others fail to understand the whole picture and find mistakes on whatever they want.

      Moreover, some journal papers require comments from the peers only they accepted the paper. Ironically, the comments are not required if the paper is rejected. I think that model is broken, particularly when peers are selected at random and they can either be starting grad school or simply resentful professors/editors.

      Just have a well known professor added to your list of authors, and the paper will receive more appreciation.

  47. My firewall does random sequence numbers by tlambert · · Score: 2, Informative

    My firewall does random sequence numbers.

    It does this to make up for a number of commercial operating systems that *don't* do random initial sequence numbers. Then it rewrites the packets as they go through the TCP stream, including the checksum, on both the way in and the way out.

    This is a common method of mitigating "guessable" initial sequence numbers for older systems behind good firewalls.

    -- Terry

  48. In other news... by ivoras · · Score: 1

    In other news: Empty envelopes might be used to convey messages! News at 11!

    --
    -- Sig down
  49. Duh - no shit by Anonymous Coward · · Score: 0

    the people in China have been doing this for years now.

  50. Wow by Akita24 · · Score: 1

    I thought Windows 7 wasn't going to be released until the end of the year.

  51. Welcome to the world of stereotyping ... by freaker_TuC · · Score: 1

    What's worth the word Kleenex, Xerox or even Fax these days? It's not you and me defining words but everyone around us.

    Those who don't understand everything will try to find anything "most like it" to define something they don't fully understand...
    That definition is for them the most closest to steganography, which is a quite logical decision for those, knowing, packets normally don't involve secret injects of data...

    It's sure not just "a hidden message" either to my definition ... Rstego maybe? ;)

    --
    --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
  52. semi-related: MTU by Anonymous Coward · · Score: 0

    This past week I discovered why sites like Digg and Msdn/Technet have been failing to load at all for me for the past 6 months or so: my router's MTU was set to 1500 (default for ethernet), but it was connected to an ADSL modem using PPPoE, so the MTU should have been 1492 (the absolute max for PPPoE) or less.

    .

    Since most web pages are over 1.5KB these days, that means fragmentation is a given. And it turns out that if any of the fragmented IP packets are lost, then the entire packet has to be re-transmitted. The link between me and those sites was apparently flaky enough to guarantee at least one fragments would always get lost, so the pages never loaded.

    .

    Based on this experience, I think the 1 in 1000 number is an unrealistically low estimate of corruption/packet loss. For the sites I mentioned, it must be closer to 1 in 30.

    .

    (p.s. WTF is up with slashdot suddenly discarding blank lines in comments? It's impossible to read text that's totally void of blank lines, so I had to insert periods.)

  53. Covert Channels - other/prior ideas by Anonymous Coward · · Score: 0

    A pointers to a range of ideas for covert channels in IP networks (which is what the TCP scheme here actually is) can be found at:

    http://caia.swin.edu.au/cv/szander/cc/index.html

    and an interesting survey paper is:

    "A SURVEY OF COVERT CHANNELS AND COUNTERMEASURES IN COMPUTER NETWORK PROTOCOLS"
    http://caia.swin.edu.au/cv/szander/publications/szander-ieee-comst07.pdf

  54. A high rate of retransmission ... by WebManWalking · · Score: 1

    ... could just mean that the last leg of the route is noisy. Someone monitoring the line should get suspicious if the rate of retransmission varies according to source, but not if it happens all the time.

    The recipient software can mask the stego by requesting retransmission at roughly the same rate all the time. Only if the sending software is in on the stego would the retransmission be significant and (hopefully) encrypted.

  55. RE: USA Fascist State by Anonymous Coward · · Score: 0

    Great!

    Now we need to figure out how to jump-cross to the power circuits then into the house/apartment/building grid and blow the sucker to sticky-bits all over the pavement. Little calling cards from the Indignet Bastards to DHS and TSA Nazi trash.

    Obama's Thought Police are going to be masterbating each other 'til dawn on this one.

  56. Whats' the big deal by jay_desh9 · · Score: 1

    I do'nt see a big deal with this. I have worked with Cisco on their one of the firewall stacks and today's networking devices are much more stateful and smart to do soemthing like this. Typical devices has a TCP normalizer that maintains a SYN cache and is capable of detecting attacks such as TTL, Duplicates attacks etc.

  57. Or : A proxy in thousands of web sites by Anonymous Coward · · Score: 0

    Imagine someone wrote an anonymising web proxy that used RSA key encryption between server and client. On the client the key generation would be a little slow as it would have to be javascript based, but it'd be worth the wait. And it wouldnt be able to transmit images - but that'd be ok as it'd keep the kiddy-porn accusations away. Now imagine they wrote it in a single PHP file that could be dropped into any existing site with no configuration and no extra javascript imports or other dependencies and contained in such a way that it was easy to style and tweak to fit in with an existing web site's theme. Now its easy for any web site owner in any country to host their own proxy, and blacklisting them would essentially mean blacklisting the entire internet, and no government would be able to keep up or escape international sanctions if they did. The Chinese govt would hate it, the CIA would love to know who wrote it but once it was out there we'd have the internet back.

  58. RSTEG implementation by trackrn6 · · Score: 1

    Does anyone have a working implementation of RSTEG?