Parasitic Computing
b0r0din writes: "CNN has this article about a way to force computers to solve complex computational problem using the checksum algorithm used by the TCP/IP protocol. For more technical details, see their website." You probably thought learning TCP/IP was useless. No! You can use it to make an extremely inefficient computer...
Nuff said.
You can't fight ideas with bullets - NSF Terrorist Leader, Level One of Deus Ex
...as if viruses and SPAM didn't take up enough bandwidth.
I have one of those -- it's running Windows ME.
InstaPundit! Ahead of the Curve Since 30 Minutes Ago
to do with their time?
Christ, hiring a few hundred thousand third-worlders and teaching them to use an abacus would be faster.
Or course, the globalization protestors would never go for it... carry on then.
Such online piracy does not violate the security of hapless servers, using only areas specifically earmarked for public access, according to the researchers.
But it could slow the machines down by engaging them in mindless conversation while they unwittingly work for their remote master, Barabasi said.
Isn't this theft of resources? The researchers are literally stealing bandwidth and clock cycles. Maybe it's just me, but this seems very ethically wrong. I wonder if an IDS or firewall can be configured to protect against such leeching. Any lawyers or firewall experts in the house?
Wow! Could you imagine a Beowulf cluster choking on one of these?
"Mod, mod, mod...and another troll bites the dust."
Is it legal to steal someone else's computing power without their knowledge or consent? I know I wouldn't want it happening to me.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
...but hardly anything but a proof of concept.
"Below, we present an implementation of a parasitic computer using the checksum function.
In order for this to occur, one needs to design a special message that coerces a target server into
performing the desired computation."
What I can't find is any proof that computing this specially designed message is less computationally intensive than actually running the TCP checksum yourself. What is the actual scaling factor achieved? You must still design one of these special messages for every iteration of the NP complete problem you're trying to solve...
Anyway, other than the TCP checksum, are there any other protocols out there that do something more computationally intense to the data before returning it?
You can get a pill now that kills these things. I heard that they can grow in your stomach. They were like worms or something.
Um, this is my sig.
"online piracy", "parasitic computing", "unwittingly work for their remote master"
You'd think they were talking about Code Red.
I know this will get modded down into 'goatse.cx' land, but seriously, ME is approximately 10x faster than Gnome 1.4 and Nautilus. Nautilus is very pretty, but it's terribly slow on even a 1.4GHz/512MB DDR/UDMA100 Athlon.
I'm sure you'll be modded up for "+1 Windowsbash."
I mean, of course this idea is an absolute trashing of the intent of TCP/IP and all, but inefficient? Anyone ever try to load and run a Java applet on a windoze machine? I can't imagine much worse...
political_news.c: warning: comparison is always true due to limited range of data type
Sending a TCP/IP packet takes far more computing power than calculating the checksum yourself.
I know, they really are.
You can't fight ideas with bullets - NSF Terrorist Leader, Level One of Deus Ex
This does raise a lot of questions. I'd say it falls somewhere in the big grey area between unethical and illegal a lot closer towards the unethical, so long as there is no visible impact on the host system, but that's just me.
I don't think we'll be having to worry about it becoming endemic anytime soon, as it appears the type of problem that can be solved is somewhat limited.
The truth about Scientology, Xenu, and you: Operation Clambake
This is EXACTLY why I disable checksumming on all my serevrs. I work for an R&D company, I sure as hell wouldnt want another R&D using our servers to solve their problems.
Poepele used to think Iw sa paranoid, but now I have the proof.
In Soviet Russia you dant have to put up with these crappy jokes
The network is the computer
This will make an EXTREMLY slow computer, and if anyone out there knows anything about routing (which I am sure you do :) The time it would take to recieve and compile all of the data would take longer and require more bandwith than would be viable on the economy of scale.
Example --- need to send 4,000,000 packets out and recieve the TCP packet back.
To do this with any speed, and also to not lose a fair majority of packets, you have to have a huge backhaul.. (T-3, OC3 or larger) TCP will not continue sending packet so you will loses them. Cost for large backhaul. $4800 month, (as by what my company chages..)
4,800 x 12 $57,600
So for one year of a huge pipe to the net you will be paying 57,600 (through my provider)
This still will not fix latent packets that never get back to the user, or any other problems.. (such as someone on your network running bearshare and eating all of your bandwidth)
Now lets look at the amount of money used for that large amount of bandwidth.
$57,600 for the amount we could have spent on that line in one year we can build a beowulf cluster with 30 nodes (and that is being very liberal on the cost of the nodes)
Now, looking at the article that I read, it seems as if the computing style using TCP/IP is very very ineffiecint.
Personally, for the amount needed to make this work, on the scale of actually getting any real work done, I would much rather build a Athlon Beowulf cluster.
This looks like in reality this could only be implimented in the real world as a new type of DOS attack.
Blah Blah Blah.
i luv u 2
You can't fight ideas with bullets - NSF Terrorist Leader, Level One of Deus Ex
If the distributed computation happened to be a routine to circumvent content protection, would all those receiving these packets be in breach of the DMCA?
My next sig will be ready soon, but subscribers can beat the rush
Could figure out Pi to the umpteenth trillionth decimal place, A program that could run forever (or as long as TCP/IP was around anyway) stealing just a tiny fraction of CPU time from every computer it contacted.. Sort of like the guy who wrote the code at the bank to take 1/1000th of a cent out of each transaction, nobody would notice .... but it is still wrong...Just one more reason to be completely paranoid!!
*narf!*
wouldn't that be fun?
"Oh yeah? I have a multi homed gigabit 486!"
It appears that people can still puplish their findings and not get sued for violation of some law, I wonder if the group who developed TCP/IP will sue these guys now because they "Violated" some law or something.
It's not the OS it's the user that sucks. If it's user friendly, you get stupider people. - clinko
Hey, I could turn CodeRed into a SETI@Home client!
Opus: the Swiss army knife of audio codec
This particular technique will likely not become commonplace because the effort to make it work is far greater than the possible computational return.
True, but it could be modified and used to launch a DOS attack on a specific server, couldn't it?
Those in Central, Mountain & further timezones might be able to catch it later today, or listen to it tomorrow on the ATC web site.
Just like people dialing a wrong number are stealing your time and resources. But part of the deal in having a phone that other peopls can call you on is that OTHER PEOPLE CAN CALL YOU.
But the people dialing the wrong number are doing it unintentionally. These folks are intentionally using my resources.
It is one thing to waste my resources do to an honest mistake. It is another to intentionally do this. Those are called crank calls (or telemarketers).
Steve M
Now that *would* be an efficient use of this technology...
Its seems silly except maybe to point out that it can be done. Just about any modern computer can checksum data faster than it can read the data from main memory. By the time the nic has pulled the data from main memory the CPU could have already gotten an answer.
"Being annoying" isn't illegal, but if it was, the people whining that this is wasting their resources would all be in jail. On top of that the vulnerability is theoretical - they waste more resources sending the work to you than if they had done the work themselves. This is the analog of a telemarketer that pays $40 per call to try to get people to buy as $30 product (1 per customer). Take a fucking midol.
ICMP echo packets (ping packets) also includes a checksum. By using the ICMP checksum instead of the TCP checksum, almost every computer connected to the Internet could be used for computation, not only web servers.
--CTH
--Got Lists? | Top 95 Star Wars Line
You could write a DeCSS client to find a decryption key by sending the computations out to the MPAA's servers. :)
Q.
I have been running a Mandrake 8 KDE machine for a week now, up from Red Hat 7.1. PIII 800/128 MB RAM.
:)
It doesn't run, it flies very, very fast.
I really think one of the main positive points of Linux is allowing one to configure a good system regarless of the underlying hardware. There are options. Lots of them. If one will not fit your needs or your machine, try another. For free. As in beer and freedom...
But variations could be engineered to make online piracy much more efficient, he cautioned.
Uh, oh, now the RIAA, MPAA, and any other ??AA organizations will want to ban TCP/IP!
Does this mean the Internet is in violation of the DMCA?
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
I Have DONE THIS! I Did it years ago (steal cpu cycles remotely for local computational tasks in a distributed network manner without having account priveledges on any target systems)
,117 K-12 schools or school districts , 22 Local, state, and federal government agencies ,16 Healthcare organizations , 111 Libraries , 21 Other non-profit organizations ,28 Businesses . Most were Amdahl mainframes (IBM clones).
Many unitversities in the 1980s used the MERIT network and many still do.
A feture of MERIT allows logging onto any other system from another system and during a login process a free command line feature allows use of the CALC calculator line command.
This exotic command would only work for a while before they severed the line after about two minutes, unless you finally logged in validly so they could charge you the 9600 baud access fees.
The calculator command was great. It allowed a truly dumb terminal to do simple math functions. Other 1980's terminals such as Liberty Freedom Ones and other terminals have built in desk calculators modes.
You can use the calculator function to do multiplication and other operations without owning a system account. It even worked during modem connections and tou could tie up several connections by "hopping" during a login.
I created tools to use the math functions of the MERIT network to perform computations FOR FREE.
Merit is a private, non-profit corporation, governed by thirteen of Michigan's four-year publicly supported universities. In addition to the thirteen members there are 230 affiliates with a combined total of 425 dedicated network attachments from 398 separate locations. Merit affiliates include: 85 Colleges and universities,25 Community colleges
Stealing free cpu cycles of innocent target machines as a parasite to perform complex computational tasks of a larger state machine, using network protocols is fun, especially if distributed across multiple systems and limitless.
I proudly did it first in the early 1980s.
(I have a life though and achieved many other more useful things by the way)
F.E.
Three priests are talking to each other how they split the money they get during the service between themselves and the part for the church.
:-)
The first priest says: I draw a line in the middle of the table and throw all the money on the table. Everything left of the line is for me, everything right of the line is for the church.
The second priest says: I draw a circle in the middle of the table. Everything which lands in the circle is for me, everything which lands outside is for the church.
The third priest says: I throw all the money in the air. Everything god grabs is for the church, the everything which lands on the floor is for me.
This project works the same: they send a request to a million webservers, everything which doesn't time out is good for them
bash$
Most of the posts here have been of two schools:
Both valid points, but I think that it's foolish to dismiss this out of hand. First of all, it's a pretty slick hack. Very inventive, if nothing else. Secondly, it brings up some very interesting questions. Can this ever be made practical? What would it take? Would it be ethical to make it work? Can this be used to augment a DOS attack, or something similar? If so, how do we defend against it?
Maybe I'm talking out of my ass here. I don't know TCP/IP very well. However, I know that others of you out there really know your stuff. I'd like to hear from you.
This
Akin to:
If I steal something from you, and you never, ever notice that thing is gone (ie, out of your posession), have I really stolen from you, from your viewpoint?
I mean, if you don't know, you don't know, right?
Reason is the Path to God - Anon
Anyone remember Jane from the later books in this series, and the philotic connections?
After I have received the wisdom of good teaching, I will untiringly teach all people. - The Teachings of Buddha
This is reminiscent of the Chinese Lottery method for cryptanalysis. Give a billion people a free tv/radio/whatever, then start broadcasting random numbers over the airwaves that are used to crack some problem. As soon as a tv solves the problem it breaks.
The person who calls in to get their TV repaired has the TV with the answer.
I thought KDE was a bit sluggish on the same system the couple of times I tried it, IIRC, at least compared to 98, but Gnome/Nautilus is barely usable on one of the fastest newest computers out there. That's inexcusable to me.
Maybe I'll give KDE another shot. I seem to recall the scroll wheel not working at all - and I'm not talking about that funny little patch just for Netscape 4.x. Does it work in KDE, for file browsing and/or net browsing? Also, do you know of any thumbnailing picture browsers for KDE?
NPR had a much better interview with the parties involved from ND. It aired during All Thing Considered earlier today.
i can't see how making the packet is less computationally intensive than computing the checksum. In the 2-SAT case, they're anyway generating all the 2^n cases, so the complexity is still exponential. ... so if that one in a million packets which represents the actual solution times out then all your effort goes down the drain.
And another factor is of reliability. What if a packet times out. Not all the packets you send are responded to
User agreement: I'll let you access the information on my site at no direct cost to you IF you'll allow me access to your computer (not to exceed specified limitations) in return.
Click here to agree.
Don't you think it's time to start communicating?
Such online piracy does not violate the security of hapless servers, using only areas specifically earmarked for public access, according to the researchers.
Eh, there's that word again, pretty handy word isn't it?
Piracy: anything you do that someone else doesn't want you to do.
If it will make piracy more efficient, I'm pretty sure the pirates would be very interested in finding out more about it.
Hell, in my experience, most pirates would use a modem that belched huge clouds of carbon monoxide and was powered by grinding up kittens in a big hopper if it got them an extra 10k/s on their downloads.
Could it be said that, using this technique, there are plenty of free MIPS at your disposal? If so, then game on for the corporate raiders seizing the moment for this unused CPU cycle (and since they would have been used anyways, not illegal).
Who cares??? 1% of 1% of 1% of 1% of computer users, that's who!!!
Was this actually more efficient than just doing the calculations on your own system? If you were on a dumb terminal, i might understand the benefit, but you say you wrote a program to hop from one connection to another -- wasn't all this overhead more computationally intensive (even just for your own system) than doing the math yourself?
--
Mod up a post Rob doesn't like and you'll never mod again
It's running Linux!! Hahaha! I am so funny!!
Parasitic Computing is a great example of what will happen once machines (or the Internet itself) become intelligent and self-aware. They could use the Internet in ways we could barely guess or understand in order to do data computations, data transportation, or data storage (the only 3 things any living creature needs).
To really be useful, you need a longer time to do a more complicated calculation. So:
/. types, they'd probably have JavaScript turned off.
1) Create a compeling website that will get people to stick around for a while (free pr0n would probably work).
2) Put all your pages into frames with a hidden, 0 pixel frame.
3) Create dynamic pages (JSP/ASP/whatever) that will pipe down JavaScript to the hidden frame with the algorythm that needs to be run.
4) Let the calculation run while the user browses your site, then POST the results back to the server when it's done.
This would all be relatively transparent to the user... Of course, if they're all paranoid
The scroll wheel works fine under X (and in KDE) ... you just have to make sure your ZAxis lines are set in your XF86Config, and (from my experience) that your mouse type is set as IMPS/2.
... Enlightenment gives me all the "prettiness" I need with nowhere near the footprint of KDE/Gnome.
gqview is what I like to use for "thumbnailing picture" browsing. electronic eyes (ee) works too. There are a bazillion of those types of proggies out there now.
I don't use KDE though
Dlugar
Why not make this a feature? Write an extremely simple virtual machine that would perform calculations as asked. Way smaller than java. Simple enough that you could write a proof that it couldn't try to play outside its sandbox.
You could give it a small chunk of memory to use, run it at a VERY low priority, and use SSH like transmission where the packets are automaticaly compressed and only a list of certain IPs would be accepted. All you would have to do is download the IPs of the distributed projects you wanted to work on and the virtual machine would accept packets from them. No specific clients to download for each project, and you would get distributed computing easily on all your machines.
Any projects like this? It would be great to have an always on and client secure distributed computing platform.
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
I thought this was IP address related. Ah well, such is life. What I want, is not to be tied down to some stupid IP address, which is what I am. This pretty much sucks big time! For instance, I need a public open_hh key, that want's my stupid IP address to work. Why the heck not get a button to do this in real life, instead of this half life. What the heck is a button? I think dallas semi has some buttons, but that isn't the true key. I want me, to be me, and _uck the people that think they can be whoever they want to be. This whole thing of IP this, IP that really sucks. Remove the IP slave, and you get a real person.
Hmmm, what the heck?
Finally a 'good' use for a distributed denial of service attack!
For full effect, use avian transport for the
TCP/IP packets. And write an interface to this
so that you can use it for SetiAtHome.
Can we stop talking about him now?
Ha! I kill me!
I disagree. I used an apple II.
Admittedly the 6502 chip is not that shabby even at 1 Mhz. Steve Wozniak wrote some math routines for floating point and also the Sweet16 math libraries. But serial modem IO was probably provably less expesive than 64 bit floating point precision math. The year was 1982. The IBM PC had not even shipped yet, and even when it did it was only 64K RAM and cassette.
There was a minor round trip delay, and I bet local floating point math might be sligthly faster than using my method, even with hopping between 4 systems round robin because of the delays, but what about parallelism?
But even if you are correct and a 1 Mhz Apple ][ using a 8 bit cpu (same as nintendo years later), was capable of beating the amdahl multimillion dollar mainframe due to initial latency on the time slice, The apple could be free to compute in parallel, thus your assumption is wrong that it was wortheless to do.
Plus there are some very subtle characteristics worht considering...
You have to rememember that every hard linefeed, ESPECIALLY during login time, runs for a spit second at ultra high priority. Its a design defect on several systems. Both for timeslice and for priority. It is a shortlived timeslice but is meant to aid in showing "responsiveness" of the system under heavy loads. The theory is that each user is waiting for a cursor action to acknowledge their return.
It is part of the evil "Coffee Mug" Exploit I discoverred. It would be "infamous" but i never shared it.
For example, If you rest a coffee mug on the return key of a terminal not logged in, and the terminal is conventionally hooked up to a large minicomputer, even those with completely separate subsystem boxes for all serial IO and packet IO.... YOU WILL DRAG THE SYSTEM TO A CRAWL if the terminal is set to high speed auto keyrepeat.
A 13 thousand dollar Tektronix 2d Cad terminal hooked to a 19,200 baud serial line would emit hundreds of carriage returns per second, if preset to.
The system normally syncs on a single or double carraige return to test a table to determine what baud to interpret in autobaud modes of a connecting modem, but this is not why its so slow. These were fixed baud lines. The cpu of the mainframe was slowed because it was trying to give hundreds of high priority time slices to the terminal. One for each return key byte. And because the terminal was not even a logged in user yet, it was running totally as a parasitic system level process with no history to govern its agregate timeslice priority.
I never disclosed this defect in Primes Primos, and though i was one of only a few private citizens with Prime's Primos source code to every tool and routine in the system, I myself never bothered patching the defect. I did have fun testing other OS's.
the parasitic "Coffe Mug" was dramatic..... it brought minicomputers and mainframes to their knees.
But one thing is for certiain, an apple II can use its serial card with so little overhead that using the CALC calculator console command do do long division was provably a useful technique.
At that time I was busy infiltrating DOD computers, ATT systems, cracking PIN algorithms, and so many other things besides programming that I spent little time having fun with my simple technologies to steal cycles from Merit, other than to prove it conclusively.
An apple II using ORCA assembler (a macro assembler based on ibm 360 in some ways) could be used to do many things including a 16 bit CCITT CRC without a table lookup in so few lines of code it would blow your mind. (A 6502 can do decrement test and loop branch in one opcode). Therefore I conclude that the original article we are referring to is ludicrous even if the years was 1982 and a apple ii was employed, but i can conclusively state the authors could find nothing lacking in what I divuged in my initial post.
This CRC article is way off the mark and useless when you consider the overhe3ad for the protocol stacks and the fact that little computation is possible per crc packet of info.
desingning a computer emulator using nothing more than boolean bit vector math is challenging, I admit, but you might as well buy a box of NAND gates and design a homebrew four bit math calculator just to show it can be done.
Ahhhh the good old days.....
But todays fun will be nostalgic history one day too 20 years from now. (writing full DVD decryptors, Macrovision SD2 pattern negators, and other more trendy modern hobby wonders)
I might not be at my coding peak in another 20 years though, unless medical wonders are created.
F.E.
I realized a moment ago I mispoke about a MOS opcode while looking for the 6502 crc routines others have written, but i did find the historic 1976 source code to the 32 bit floating point library by the amazing Steve Wozniak for his Apple computer.
http://www.6502.org/source/floats/wozfp1.txt
Its cool source. uppercase naturally.
Woz is more famous for his hardware than his software but he is amazing in both areas. once he used all of an Apple II to compute "E" including the video ram area. Old disk programs used to do the same thing (use video memory for storage).
In hardware Steve Wozniak designed a floppy disk controller using the bare minimum number of chips and gates and also the bare minimum of drill holes through the cicuit board. That floppy controller was able to format and copy a 143 Kilobyte floppy disk in 18.33 seconds years later using special copy programs written by idiot savant 15 year olds at Canton High School MI (Mark Harris (?), aka "The Stack"). I say "idiot savant" because he was in remedial math at the time. 18.33 secdonds on a standard apple disk drive!!! It did not work from card slot 5, and it did not verify the output was being written (you could put karft cheese in the target drive and not get a warning) but millions of americans duplicated their disks onto raw blanks in 18.33 seconds total using the amazing 1978-79 floppy disk controller from Apple.
Too bad it pathologically sometimes takes longer thatn 18.33 second just to insert and view a directory and look at a 1 K text file on a modern 2001 ibm pc system using the latest bloatware OS's.
....sigh
F.E.
I got a PII 350 / 256 Mo Ram.
Can you tell me :
1/ Why it cannot stay online for more than 2 days
(because Network stack has a memory leak the size of Indiana and it eats up all my 256 Mo)
2/ why, after a fresh start, I only have 160 Mo free ? (hmmm ! because...I start too much Dll ?)
3/ Why, everytime I close an app, I have to use Memturbo (c) to free the memory it was occupying ?
Ok This was my "Bad MEmory Windows"
I propose we meet tomorow to speak about Inerface, and the day after on Filesystem ! 8)
This Post AutoModerated -1 (Offtopic) +4 (NiceGuy)
It takes 40+ muscles to frown, but only four to extend your arm and bitchslap the motherfucker
...would be to make a DeCSS that uses this technique to decrypt DVDs with the 'help' of MPAA's web servers!
A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
You wouldn't have to do it all from a single node. If you had, say, 10 "willing" participants on seperate pipes you could send them each 1/10th of the work and they could utilize their bandwidth seperatly to get the packets processed.
And if your talking about 4 million packets, you'd probably want at least a thousand "willing" participants.
Krispy Cream is people
Did your English teacher skip the part that if the use of a word matches for a SINGLE definition (only one out of hundreds, even), then the word has been used properly. You don't have to use the word for every possible meaning in order to have properly communicated using the word.
Sheesh. Learn something, man.
Scientific American pointed me to this website on the topic, looks like the source:
http://www.nd.edu/~parasite/
Krispy Cream is people
Turning scripting off isn't necessarily a solution. I forget the exact details, but some browsers simply look for <script... tags and ignore the contents. If the page embeds the ascii codes for <script the 'turning off' never happens and the script is executed anyway. In such cases you (may) need a firewall which will block active content.
funny - an example story for the other /. thread!
http://slashdot.org/articles/01/08/29/2334243.shtm l
for the info. Of course, now that I told someone the scroll wheel wasn't working, now it start working for no apparent reason. I just need to complain about these problems so that they go away, and then I look like I don't know what's going on. Maybe I'll try Enlightenment alone. KDE seemed a lot faster last night, but I tried it for more than 5 minutes as well. It's a little cartoonish looking, but functional, and reasonably zippy.
This reminds me of one of the Works in Progress papers from the this year's USENIX security symposium on Villain-to-Victim.
Basically you store data by sending off an icmp echo request containing arbitrary data to a site or sites that you know have slow links and wait for it to come back. You are using the routers etc in between as a storage medium.
How is this piracy? Nothing was stolen in the classical sense of the word. Software wasn't even coppied illegally. It seems more analagous to someone playing minesweeper on the catalog computers in a public library (it wasn't the intended use, but it is available for public use and nothing has been changed on the computer). I certainly wouldn't call that "piracy".
This seems like another example of journalists drumming up readership by using words in a context they don't really understand.
science is a religion
I don't think we're going to have to worry about ethical or legal implications, simply because this is too expensive and too complex. Just buy yourself a cheapo duron, or start a real DC project and make some cool stats so all the stats freaks will join.
Note, I haven't read the pdf's yet, so I don't know how well this type of computing scales, or how much power is available.
The best way to accelerate a windows box is at 9.8 meters per second square.
Admittedly I only glanced at the "Nature" article, but it looks like the computation involved in creating the so-called "parasitic" packets for their example eclipses the actual csum computation.
They have yet to show that a problem can be mapped to their scheme in a usefull fashion...
I've done that once or twice, who cares. Well they used to make me work for 6 bucks an hour, so I think I deserve a pee at their cost once in a while. :)
What time is it/will be over there? Check with my iPhone app!
So the above is "off-topic", but this later post saying the same thing is a "+3 Funny"? I'd like to moderate, if it means I can get some of what this moderator's been smoking. Fuckwit.
My next sig will be ready soon, but subscribers can beat the rush