5 ms·
The reason we haven't solved DDoS attacks is because we're working on solving the problem at the wrong level. We're trying to solve the wrong problem. This vide
by runeks 15y ago
The reason we haven't solved DDoS attacks is because we're working on solving the problem at the wrong level. We're trying to solve the wrong problem. This video explains very clearly how this is the case:
http://www.youtube.com/watch?v=8Z685OF-PS8 http://www.youtube.com/watch?v=8Z685OF-PS8
Short(er) explanation: we no longer use the internet primarily for the purpose of communicating between two parties. But the infrastructure of the internet forces us to obtain data by having a conversation with a supposedly trusted party, even though a line of communication is not really what we want; we want a specific piece of data (an internet page, the latest exchange rate of USD to EUR, the ISO for the daily image of Ubuntu 12.04, etc.). It doesn't matter where we get it from (location is irrelevant), it only matters that it's the right data. Our use of the internet today is all about data. Yet, the infrastructure of the internet (TCP/IP) is location-centric; not data-centric. Data is shuttled between computers based, not on the data, but on the location of the computers. This creates the possibility of DoS attacks. The TCP/IP protocol is designed to efficiently route packages from a source to a destination, and a DoS attack simply uses this feature maliciously. When someone is hit by a DoS attack, the routers aiding in this are just following the rules of TCP/IP: routing packages to a destination. That's their job.
What we need is a data-centric infrastructure. An infrastructure where data is not obtained via a connection to some location, but an infrastructure where data is simply accessed by sending a request for a specific piece of data into the cloud, and receiving the data from someone (and verifying that piece of data via its hash and signature).
Instead of me obtaining the NY Times front page like this:
* Wireless USB dongle sends out signal. Signal is picked up by my router (and everyone else's routers in near proximity, but all these other routers discard the signal). Router sends out a signal which my dongle (and all other routers/dongles pick up), but only my dongle uses this signal to obtain an IP address that the router knows. Over this connection I tell the router I want to connect to nytimes.com. Router connects to a server (name server) and asks it what the IP address is for nytimes.com. Router establishes a connection to nytimes.com, based on the IP it got from the nameserver. I send some commands over this connection where I ask for data, nytimes.com sends data, router hands it over to me. I now assume that I have the correct data - the front page of the NY Times, because some name sever said some IP address corresponds to nytimes.com, and this IP address sent me this data.
I would obtain it like this:
* Wireless USB dongle sends out a "data ID" for the NY Times front page. Any of the routers in my near vicinity that has a copy of the NY Times front page sends out a signal containing this data. My USB dongle pick up this data (and all other routers/dongles do so as well, the difference is that they are able to use this data as well, if they're looking for it). My computer checks if the data is signed using the public key of the New York Times. If the "date" field of the data is equal to or newer than, say, "now minus on hour", I accept this data as the NY Times' current front page.
A DoS attack is easy in the former case, because there is a connection. Not so easy in the latter case, because routers don't willingly forward any data; they are data-aware and if they receive a copy of the NY Times that isn't signed by the NY Times' signature, it's discarded/ignored.
If you want to understand it better, watch that video. It's an excellent talk. Really puts things in perspective.
- chc 15y agoIt sounds like you're essentially talking about caching proxies, since if the data only lived on NYT's server, it wouldn't matter whether you were looking it up by "data ID" or IP address. Don't we have that already? Is there some significant difference I'm missing?
- dhx 15y agoYou can try it today: https://en.wikipedia.org/wiki/Freenet#Distributed_storage_and_caching_of_data https://en.wikipedia.org/wiki/Freenet#Distributed_storage_an... Trust is still needed for a variety of reasons including the prevention of a DoS attack on global storage capacity (injecting 10Tb/s of junk into the peer-to-peer data store).
- mjschultz 15y agoGoogle, NYT, Amazon, et al. have data caching and it conceptually works in the same way as the idea of named data networking (on of the names of the idea above). However, named data networking would push a cache to every network device between the requester and the provider for every piece of data. Unless an attacker is very close to the provider, they won't be able to take down the resource. The best they could do is take down the resource for themselves and their nearest neighbors.
- Retric 15y agoUntil someone poisons the cache by writing and requesting random junk and takes everyone offline at the same time. Remember DOS may be controlled by a few machines, but compromised machines tend to be randomly distributed throughout the world (ed: random but not uniform).
- runeks 15y agoThe difference is that a caching proxy is a layer over the TCP/IP protocol. In other words, we're using a location-centric protocol to build a data-centric network. Now I'm not saying that this can't be done, it most certainly can. I'm saying that we would be able to, much easier, build a well-functioning, distributed data-centric network if the foundational protocol, on which we build the network ,is inherently data-aware and location-agnostic, instead of being location-aware and data-agnostic (as the TCP/IP protocol is).