The Border Gateway Protocol (BGP) is one of the foundations of the internet. It’s how the big routers that shift data around the Internet talk to each other, passing info on where they can send data to. It’s a simple protocol, with each router sending text messages that advertise the routes that they carry. The administrators of these routers create communities, each with an individual code, and this information is passed between routers. Most top-level ISPs don’t spread this data far, but [Ben Cox] realized that his ISP did. and that he could use this as an interesting way to transmit data over the Internet. What data to send? He decided to play battleships.
He did this by writing some code that encoded the battleship board into a new community announcement. By squishing the data representing the board down, he was able to send the entire board of blank spaces, hits and misses into a single 16-bit number that was sent as a part of this community announcement. At the other end of the game, a friend running the same software would receive this announcement, see the change and be able to send a move in response.
Needless to say, this is not something that should be done lightly. Both [Ben] in London and his opponent in New York are running large networks, and they didn’t want to break anything. So, they limited the system to one move every 30 seconds. This was to avoid what’s called BGP Route Flapping, where the routers start blocking BGP data because there are too many changes. Despite their precautions, the game was interrupted for 45 minutes when the routers sending the data began damping the connection, so they increased the time between moves to 90 seconds.
Is there any point or purpose to this hack? Not really, except to show that, with a bit of thought, it is possible to send data in ways that you might not expect.
“You sunk my Battlerouter!”
You won the internets!
You two game over!
“By squishing the data representing the board down, he was able to send the entire board of blank spaces, hits and misses into a single 16-bit number” – I’m not sure where you get this from, but this is of course not possible. If you read the article, a single *move* is represented by a 16-bit number.
I was very confused by that claim. Thank you for that clarification! I almost had to actually read the original article myself. *whew*
Great a new way to setup a DDOS. Small and limited to an ISP and there network.
Wonder when this attack vector will happen?
This already happened. Fake a letter of authorization for the target IP range and get a BGP feed set up to your router. Then announce their netblock. It will become unreachable for part of the internet.
“Is there any point or purpose to this hack? Not really, except to show that, with a bit of thought, it is possible to send data in ways that you might not expect.”
NSA, take note.
lol.. they probably play real battle ships this way o_O
Communication is pretty interesting. For most bad things you just need a few bits of information. This can be accomplished a lot of ways…
From a story: In the second world war there where was people smuggling, for the good. One of the boys was send out to get/sell either red cabbages or white cabbages. meaning, there is a people drop off to night or no drop off tonight. To the Germans it was meaningless. To them it was life or death.
In today’s tech:
Just turn on/off a website. Ping a know address. Visit a page or not. There are so many ways to distribute a few bits of information the NSA has the job cut out for them.
Meh. This guy made Nyancat with NTT’s BGP announcements.
https://stat.ripe.net/widget/routing-history#w.resource=as15562&w.starttime=2017-01-15T00%3A00%3A00&w.endtime=2017-06-23T00%3A00%3A00&show=Maxmized
For some reason this reminds me of POW tap code. https://en.wikipedia.org/wiki/Tap_code
Now I know what my ISP does when my connection suddenly breaks…
So that’s why my internet slowed down the other day…