01-01-2013, 04:50 PM
Parasitic Computing
1Parasitic Computing[.pdf (Size: 169.27 KB / Downloads: 68)
INTRODUCTION
THE NET is a fertile place where new ideas/products surface quite often. We have
already come across many innovative ideas such as Peer-to-Peer file sharing, distributed
computing and the like. Parasitic computing, which harnesses the computing power of
machines that spread across the Net to accomplish complex computing tasks, is new in
this category. The successor to distributed computing has opened up a whole new can of
worms. It works by exploiting a weakness in the TCP/IP system's error checking system.
The problem is that forcing target machines into performing calculations puts a greater
load on them than a regular packet would, and the server owner has not agreed to take
part - in effect the technique is stealing processing power, but without breaking any laws.
Although the technique is too slow to have much practical value at present, it does raise
questions for the future. The report discusses the technical aspects of what has already
been carried out and the related issues.
DETAILS OF PARASITIC COMPUTING
Parasitic computing is a concept by which one can use the resources of machines that
are connected on the Internet. This technology exploits open Internet protocols to use the
resources of remote machines. As the name suggests, the machine that requires the
services of others does not need to be authorized by the latter. Any machine, which is
connected to the Internet, has to carry out minimum processing of any packet they
receive without any authorization. This concept is exploited by parasitic computing in
order to make use of computing powers of remote machines and web servers all around
the globe. So one cannot really stop their machines from being utilized in this manner.
It is not cracking.
Parasitic computing though works without authorization it is entirely different from
the concept of cracking. In cracking data is sent to the remote computer with malicious
intentions and in order to corrupt some resource of the remote machine whereas in this
case we are utilizing those resources for a constructive purpose and also accessing only
those parts of remote machines, which are made open on the Internet and that is done
without any malicious intentions but it can cause delay of services in the remote
machines as resources are being utilized without the knowledge of the owner.
IMPLEMENTATION USING TCP
Sending a message over an internet is a very sophisticated process as the message is
processed across many layers from HTTP then to TCP then to IP layer, going through
data link layer finally to the physical layer and in the same manner the message is
constructed back at the destination. To implement this concept of parasitic computing we
can choose to exploit processing theoretically any of these layers but below TCP layer it
is not very beneficial.
TCP Checksum:
The checksum field is the 16 bit one's complement of the one's complement sum of
all 16-bit words in the header and text. If a segment contains an odd number of header
and text octets to be checksummed, the last octet is padded on the right with zeros to
form a 16-bit word for checksum purposes. The pad is not transmitted as part of the
segment. While computing the checksum, the checksum field itself is replaced with
zeros. This information is carried in the Internet Protocol and is transferred across the
TCP/Network interface in the arguments or results of calls by the TCP on the IP.
APPLICATION: SOLVING 2-SAT AND 3-SAT PROBLEMS
The problem that we are addressing is called the “satisfiablity” problem, which
means, deciding whether a given Boolean formula in conjunctive normal form has an
assignment that makes the formula "true." In 1971, Cook showed that the problem is NPcomplete.
Before we define what the problem is, we must know what a conjunctive
normal form means and what is NP-completeness.
Conjunctive Normal Form
A statement is in conjunctive normal form if it is a conjunction (sequence of ANDs)
consisting of one or more conjuncts, each of which is a disjunction (OR) of one or more
literals. Every statement in logic consisting of a combination of multiple , , and s
can be written in conjunctive normal form. A disjunctive normal form (DNF) is a similar
expression, which joins the clauses together with ORs.
Satisfiability arises whenever we seek a configuration or object that must be consistent
with (i.e. satisfy) a given set of constraints. The input to the problem could be a set of
clauses in conjunctive normal form. The problem is to determine whether there is a truth
assignment to the Boolean variables such that every clauses is simultaneously satisified.
Satisfiability is the original NP-complete problem. Despite its applications to constraint
satisfaction, logic, and automatic theorem proving, it is perhaps most important
theoretically as the root problem from which all other NP-completeness proofs originate.
Now let us understand how such problems were tackled by parasitic computing. Note
that all packets are inserted at the IP level, bypassing the TCP layer of the host, to avoid
the client side TCP( which buils it s own checksum).
ISSUES IN PARASTIC COMPUTING
Basic protocols are exploited by parasitic computing to use resources of remote
computer without any authentication as messages are exchanged based on a trust
relationship. As it uses basic Internet protocols one cannot stop anyone from launching it.
Disrupting functions used by parasitic computing will eliminate remote computers ability
to communicate with rest of the Internet!
It can cause delay in services of the remote computer (denial of service attacks). It
also causes problems in Internet service. It can clog the network and effectively bring the
Internet down. It never compromises the security of the computer as it sends standard
packets and no malicious packets and also one has many other efficient ways of hacking
than using standard protocols functions. It probably never breaks any law, but it still leads
to certain ethical issues.
For the parasite, it may not be the best way to solve as it takes large number of
computational cycles to process the possible solution but it introduces the way in which
common protocols, like TCP, can be exploited. Also it cannot guarantee the correctness
of the result due to the possibility of false negatives and false positives. So at present
parasitic computing may be a slow technique to solve, but it could be used to load heavy
requests on a server and also get the solution for its problem. So, It does raise the
question for future by exploiting TCP layer.