OddThinking

A blog for odd things and odd thoughts.

Happy-New-Year protocol DOS vulnerability

Protocol Description

Through observation and experimentation last night, I determined the following elements of the Happy New Year protocol.

The protocol is initiated by one peer, who pings “Happy New Year!” This may be sent single-cast to another individual, multi-cast to a group or broadcast by shouting it out aloud.

Peers who receive this message SHOULD respond back to the sender, with an acknowledgement message, viz “Happy New Year!”

It may be that no responses are received.

Protocol Analysis

There are a number of simple flaws in this protocol.

  • The chief flaw is that the SYN and ACK packets are identical and lacking any unique identifiers. For example, rather than yelling “SYN Message 9162: Happy New Year” and receiving the response “ACK Message 9162”, the call-response is “Happy New Year”, “Happy New Year”.
  • The expected response time is not stated in the standard, and may vary between implementations.
  • There is no digital signing of the message nor any other secure channel specified, making authentication difficult or impossible.

Result: Race Condition

As a result, a race condition may occur, leading to a denial of service attack.

Consider Alice broadcasting an initial “Happy New Year!” message. She waits for 4 seconds, and times out, considering the protocol handshake to be completed.

Meanwhile, Bob has received the message, during an alcohol-induced fail-over period, and takes 5 seconds before standing up and single-casting “Happy New Year!” back to Alice.

Alice hears the response as an initiation request, and responds promptly “Happy New Year!”

Bob likewise responds to what he believes is an initial packet “Happy New Year!”

The two are now stuck in an infinite loop, each believing they are politely responding to the others initiation, and wondering when the other will stop.

Result: Vulnerability

Worse, this introduces a vulnerability. Charlie can deliberately whisper “Happy New Year!” into Alice’s ear, in Bob’s accent, and both resources will be permanently tied up until they pass out.

Conclusion

The protocol should be patched to include serial numbers and robust authentication. We only have a year to get this in place before the malicious hackers may put on a full-scale attack.

The old protocol should be immediately deprecated – if someone says “Happy New Year!” to you, reply only with “Ack: Happy New Year 20120101000305.19232 G8l0+aIjsSjUpE~lzAo9-TP” – i.e. with a timestamp (or preferably a unique key provided by the sender) and a hash of the message encrypted with your private key.


Comment

  1. No.

Leave a comment

You must be logged in to post a comment.