Slides For Parasite Computing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

PARASITIC COMPUTING

Seminar by
Rubia Jasmin H.N, Roll No. 54, S7 CSE, MACE
CONTENTS
• Introduction • Implementation

• Basic of parasite computing • features and advantages

• Solvingproblems with • Challengesand


parasite computers disadvantages

• 2-SAT problem example • Conclusion

• Prototype and architecture


SOME FACTS
• There is millions of devices connected to internet.

• These devices can be exploited.

• There is a way of using the network infrastructure of these


devices for different tasks than they are designed for.

• This will cause slowing down Connection Speed.

• Itis not a cracking, these devices are victims of parasite


computing
WHAT IS PARASITE COMPUTING?
• First Reported in journal ‘Nature’ in 2001 by Barabasi, Freech, feong
and Brockman

• It is a technique of using the resources of one computer by


another computer without the knowledge of the former. Standard
protocols like TCP,IP and HTTP are exploited.

• Parasitic computing uses computation power of the computers


connected to the internet in solving complex mathematical
problems. eg: Traveling salesman problem, NP-SAT problems

• It is not Distributed computing, which turns home users’ computers


into part of a virtual super computer that can perform time-
intensive operations.
HOW DOES
IT WORKS?
Basics of parasite computing
INTERNET COMMUNICATION
• Whileopening a URL,
Sender:- Initiator
Node
Acceptor
Node

• Open a TCP connection to SYN

Time
web server SYN+ACK

• Issues
a HTTP request over ACK
Connection
Established

TCP connection
Figure 2: Establishing a TCP connection.
• TCP message is carried via IP
values of and and the checksum ( ) are shown in blue.
TCP is a connection-oriented protocol—meaning that a connection must first
INTERNET COMMUNICATION
• Whileopening a URL,
Actions at receiver :-

• Receive message through IP

• Validate checksum at TCP

• Validated pushed to HTTP

• Notvalidated discard the


packet HTTP > TCP > IP > TCP > HTTP
Parasite computer uses checksum
calculation method used in internet
communication infrastructure to do
computing

• Normal computer uses Voltage ON-OFF states


• Parasite Computer user TCP Checksum Valid-Invalid
States
J@?68@L769J -! <9??5B9? L962994 6=9 658B96?3 W9:57?9 ;4HO <9??5B9?
:;465@4@4B I5H@J ?;H76@;4? 6; 6=9 1"# K8;LH9< K5?? 6=8;7B= #FGM
6=9 658B96 29L ?98I98 89:9@I9J ;4HO I5H@J ?;H76@;4?3 #=@? @? @4698U
K8969J 5? 54 X##G 89N79?6M L76 @6 @? ;A :;78?9 <954@4BH9?? @4 6=@? a
P = (x1 x2) (x3 x4) (x5 x6) (x7 x8) (x9
:;469V63 "? 89N7@89J LO X##GM 6=9 658B96 29L ?98I98 ?94J? 5 89?K;4?9
6; 6=9 K585?@6@: 4;J9M @4J@:56@4B 6=56 @6 J@J 4;6 74J98?654J 6=9 b

CALCULATING CHECKSUM
X Y X Y X
89N79?63 #=9 K585?@69 4;J9 @4698K896? 6=@? 89?K;4?9 5? 5669?6@4B 6; 6=9
0 0 0
I5H@J@6O ;A 6=9 ?;H76@;43 "? 9VK9:69J 54J LO J9?@B4M @4:;889:6
0 1 1
1 0 1
1 1 0
N bits
c M = 0x1 0x3 0x5 0x7 0x9 0x110x130x15 0
a S1 S2 Sk
E = 01 00 01 01 00 01 01 01 0
16 bit S1
S1 + d
0x1 0x3 0x5 0x7 0x9 0x11 0x130x15 S1
0x2 0x4 0x6 0x8 0x10 0x12 0x14 0x16 S2
S2 +
Parasite node (sender)

SUM
b SUM
01 10 01 01 10 01 10 01
Sk

SUMP 1110101011011011 f Transmitted message


1001101001100110 01000101000
SUMP 0001010100100100 S1
Tc
c Create a new message of length N + 16
!"#$%& , O&$-6-2= (.3-(L.7-0-38 )(-2= $%&$'()*
SUMP S1 S2 Sk >? :.5-.70&( [% > ! % A ! !! % >? \ .26 3%& 4/&5.345(
41 PQR, KFO .26 3%& 7-2.58 ()* ;!<+ M2 456&5
(%492 -2 (&/.5.3& /.5&23%&(&( -2 ( 2&&6( 34 7
d SUMT = SUMP + S1 + S2 + ... + Sk :.0)& 41 $ 9& =&2&5.3& . TA@7-3 *&((.=& & 3%.
Target (receiver)

message correct 78 . U&54+ K( .2 -00)(35.3-42, 9& (%49 . /4((-70


1111111111111111 : 5&$&-:&6 *&((.=& -2 394 >?@7-3 (&=*&23 .26 .6
to HTTP
IF SUMT = 3%-( 9-00 5&()03 -2 .66-2= &.$% ;% ( ! % (!> < /.-5 34=&3
message corrupt
otherwise : 4)3$4*&(+ "4*/.5-2= 3%& ()* 9-3% 3%& ;!< $40)
drop
.2(9&5 145 3%& PQR $0.)(& ;% ( ! % (!> < $4-2$-6&
C-*-0.508, -1 3%& $0.)(& %.( .2 KFO 4/&5.345, ;% (
SOLVING PROBLEMS USING
PARASITE COMPUTING
TYPE OF PROBLEMS
• NP-complete - Traveling salesman problem and the satisfiability problem

• `Satisfiability' (or SAT) problem

• involves finding a solution to a Boolean equation that satisfies a number of


logical clauses.

• Example : (x1 XOR x2) AND (x2 AND x3)

• 2-SAT problem - each clause, shown in parentheses, involves two variables,

• 3 - SAT problem - each clause, shown in parentheses, involves three


variables.

• There is no known algorithm which solves it

• we follow a brute-force approach, for the 2n potential solutions.


SOLVING A PARASITE COMPUTING
PROBLEM

• Generate large number of candidate solutions.

• Send each solutions to destination node.

• Test the candidates for their adequacy.

• If response is true, the solution is valid, else drop.

• The result from each were used to build a solution


SOLVING PROBLEMS...
• Problem is split into a large number of simple logic problems.

• They tag a logic problem onto checksum with TCP message.

• Web server would process the request.

• The whole result combine to form the result of the mathematical


problem.

• Target nodes are answering logical questions without knowing of


doing so.

• This does not violate the security of the unknowing server.

• Potential candidate protocol includeTCP, IP, HTTP


2 - SAT PROBLEM
Example of a parasite computing problem and discussion on
how it is evaluated
K585?@69 4;J9 @4 6=9 :=9:>? K8;I@J9J LO 6=9 6854?K;86 H5O98M ?7:= 5? 988;8? @4
;4HO <9??5B9?
6=8;7B= #FGM
#=@? @? @4698U
a
2 - SAT PROBLEM
4@4BH9?? @4 6=@?
P = (x1 x2) (x3 x4) (x5 x6) (x7 x8) (x9 x10) (x11 x12) (x13 x14) (x15 x16)

<
4J? 5 89?K;4?9
4J98?654J 6=9 b
X Y X Y X Y X+ Y
5669?6@4B 6; 6=9
0 0 0 0 00
@B4M @4:;889:6
0 1 1 0 01
1 0 1 0 01
1 1 0 1 10

c M = 0x1 0x3 0x5 0x7 0x9 0x110x130x15 0x2 0x4 0x6 0x8 0x10 0x12 0x14 0x16
E = 01 00 01 01 00 01 01 01 00 00 01 00 01 01 01 00
S1 S2
d e
0x1 0x3 0x5 0x7 0x9 0x11 0x130x15 S1 01 00 01 01 00 01 01 01
0x2 0x4 0x6 0x8 0x10 0x12 0x14 0x16 S2 00 00 01 00 01 01 01 00
SUM 01 00 10 01 01 10 10 01
SUM 10 11 01 10 10 01 01 10
01 10 01 01 10 01 10 01 (Real checksum)
10 01 10 10 01 10 01 10
f Tc
Transmitted message
1001101001100110 0100010100010101 0000010001010100
Tc S1 S2
2 - SAT PROBLEM - DETAILED
• The 2-SAT problem involves 16 • The sum can have 4 outcomes
variables with the operations
AND and XOR • If the clause has an XOR
operator, is true only when the
• In order to get a TRUE answer checksum is (01).
for P, each clause shown in
separate parentheses needs to • If the clause has an AND
be independently TRUE operator, is true only when the
checksum is (10)
• To evaluate, we generate a 32 bit
message M that contains all 16 • To turn a package into parasitic
variables, each preceded by a message the parasitic node
zero prepares a package, preceded by
a checksum, and continued by a
• TCP groups the bits in two 16 bit 32 bit sequence(S1,S2)
segments and add them together.
ALGORITHM
S= create TCP segments (x1, x2, x3, x4……….x15)
S.checksum = checksum
for each x
S.data = pad with zeros (x)
send S
receive answer
if answer = true
write x as a solution
C9S569
FPAC9I9C6@9 :;<E7656D;4
D4698E89656D;4 6;H;8:9
:;7C> 5 89<;69
8;7698?658S96
6; ?;CI9 I5C79 ;H 6@9
:;465D4? 54 :@9:O?7<K
FP @95>98K 52@D:@ D? D4 6@9
#^P @95>98K 54>#^P
5 :5@
6 ?7:@ 54 D<EC9<94656D;4
D<EC9<946 D6 56 6@9 #^P:89569? 7425469>
;8 @DS@98 C;:5C
C9I9C?3 VI5C79?
4;>9 H;8 !#95:@
D4U9:6? Y3 #@9<9??5S9
;E9856;8?D46;
D4 6@9 \;;C954
6@9 9[756D
4962;8O 56
687CR >9C9S569
6;:;C? D4:C7>9
99> 6; D<EC9<946
?;:O96
6@9#^PK
PROTOTYPE OF PARASITIC
:;<E7656D;4
=F#PK ;86; 94:8RE6D;4X
5 89<;69 658S96
C5R98 V11*Y3D6 56 6@9 #^P ;8 @DS@98 C9I9C?3
I5C79 ;H 6@9
BRE5??D4S
4;>9
6@9 >565
#^P3
D4U9:6?
:@9:O?7<K 2@D:@ D?6@9
"H698 89:9DID4S
95:@ <9??5S9
D469S8D6R ;H 6@9D46;#^P
D4 <9??5S9K
6@9 #^P @95
6@9 4962;8O
6@9
?9S<94656 6@9
BR
?9:789 ?;:O96 C5R98 V11*Y3 COMPUTER
>569 E8;6;:;C? D4:C7>9 #^PK =F#PK ;8 94:8RE6D;4X BRE5??D4S #^P3 "H698 89:9DID4S 6@9 <9??5S9K 6@9 658
6@9 >565 D469S8D6R ;H 6@9 #^P ?9S<946 BR :5

a b Parasite node Target web server


Parasite
a node b Parasite node Target web server
Parasite 0 0}

interfaces
node ... HTTP HTTP
0 0} NIF
{00 0

interfaces
... HTTP HTTP
0
{00 ALUNIF
} {00 TCP TCP Segment
1 1 0 ALU
TCP TCP dropped

Logical
... 1} ..{.000 Segment
0 1 10 .. dropped
due to invalid

Logical
1 d . . . } .1
{0 a li 10 0} due to invalid
checksum
V {0 l id IP IP
Va IP IP checksum

Physical
Physical
Network
Network interface Network
Network
interface

NIF NIF NIF NIF Correct


Correct solution
solution
success
success
ALU ALU ALUALU
Invalid solution
Invalid solution
failure
failure

)(&*+&% ,- ,.+ /+,','0/$ /&+&1('(" ",%/.'$+2 (3 4 1(5*6$ /&+&1('$ ",51'+."'(,5 ,- '#$ %$11&*$ (1 1."# '#&' &5 (5=&6() 1,6.'(,5 -&(61 '#$
-'$1
,.+'#$/+,','0/$ /&+&1('(" ",%/.'$+2 (3 4 1(5*6$ /&+&1('$
",%/.'&'(,51 ,"".++(5* +$%,'$60 (5 '#$ 95'$+5$' /+,',",612 9'
",51'+."'(,5 ,- '#$ %$11&*$ (1 1."# '#&' &5 (5=&6() 1,6.'(,5 -&(
)+,//$)3 <#("# (1 (66.1'+&'$) :0 '#$ :6&"@ /&'# 6&:$66$) H-&(6.+$F2 G
%/.'&'(,51
+."'$) ,"".++(5*
%$11&*$1 +$%,'$60
', 1,%$ 5.%:$+(5,-'#$ 95'$+5$'
'&+*$'$) /+,',",612
5,)$1 9'
7:6.$ :,;$183 )+,//$)3
1,6.'(,51<#("# (1 (66.1'+&'$)
/+,/&*&'$ ./ '#+,.*#:0'#$
'#$DGE
:6&"@ /&'#6&0$+
/+,',",6 6&:$66$) H-&(6.+$
', JDDE3 (66.
COMPONENTS
•A single parasite node coordinates the computations
occurring remotely in the internet protocols.

• Each target node consist of

• Arithmetic and Logic Unit (ALU)

• Network InterFace (NIF)

•A single home parasite initiates the computation, sends


messages to the , directing them to test and tabulates the
result.
IMPLEMENTATION
• There is 2 methods

• Concurrency: Largenumber of target nodes, requires a


separate a TCP connections to http host

• Connection reuse: Once TCP connection is opened, same


connections is used for multiple calculations

• In reality this 2 methods can be used together


DIFFERENCE WITH CLUSTER
COMPUTING
• Parasite
computing does not require the willingness of target
machine,

• Parasite
computing does not need special software on any
target machine, as in cluster computing

• Parasitecomputing is an ethically challenging alternative for


cluster computing
FEATURES AND ADVANTAGES
• Theoreticallyoffers the chance to use the vast computational
power of the whole internet.

• Several large computational problems can be solved by


engaging various web servers physically located in different
parts of the world, each of which unknowingly participated in
the experiment.

• Itdoes not compromise the security of the targeted servers,


and access only those parts of the servers that have been
made explicitly available for Internet communication
CHALLENGES AND DISADVANTAGES
• For parasites

• Several computational cycles are taken to process the possible


solutions

• Possibility of false negatives

• Possibility of false positives

• For servers

• Delays due to processing the parasitic messages could cause a denial of


service

• Almost impossible to prevent someone from running a parasitic job on


your server
DEALING WITH UN-
RELIABILITY

• Ask every question multiple times

• Ask a question, Q, and its complement !Q


CONCLUSION
• Enablingall the computers to swap information and services
they are needed, could lead to unparalleled emergent
behavior, drastically altering the current use of the internet.

• Parasitic
Computing logically moves computation onto the
communication infrastructure of internet, blurring the distance
between computation and communication

• The current internet infrastructure permits one computer to


instruct other computer to perform computational tasks that
are beyond the target’s immediate scope
REFERENCE
• Barabasi et.al. Parasitic Computing, NATURE 412, 30 Aug 2001.

• Barabasi et.al. Supplement material for Parasitic Computing: http://


www.nd.edu/~parasite/

• Barger N. Robert & Crowell R. Charles, The ethics of Parasitic Computing,


Sept 2003 : www.nd.edu/~ccrowell/Parasitic%20Computing.pdf

• Ivars Peterson, Sneaky Calculations, Science News 160, 17 Nov 2001.

• www.hindu.com/thehindu/2001/09/13/stories/08130001.htm

• http://en.wikipedia.org/wiki/Parasitic_computing
QUESTIONS
?
THANK YOU
SUPPLEMENTARY
TCP MESSAGE FORMAT
EXAMPLE HTTP - HTML
RESPONSE
<html>
<head>
<Title> Notre Dame Computer Science and Engineering </Title>
</head>
<body bgcolor=white>

<center>
<img align=middle src=http://www.nd.edu/NDGrafix/NDCSE.gif
alt="[ U_N_I_V_E_R_S_I_T_Y___o_f___N_O_T_R_E___D_A_M_E ]">
<h1></h1><h2><p> That feature is not implelemented on this server (501): <br> /index.html </h2>

<H2> If you feel this message is in error, please contact <br>


<em><a href="mailto:[email protected]">[email protected]</a>
</em></h2>
<H4> Please include the full URL that you are trying to access,
<br>or we may not be able to provide you with any assistance.<br><p>
<img align=bottom src=http://www.nd.edu/NDGrafix/NDBarThin.gif>

<p> <a href=http://www.cse.nd.edu/>


<img align=top src=http://www.nd.edu/NDGrafix/NDCSEHome.gif
alt="[BACK TO ND CSE HOME PAGE]"></a>
</center> </body></html>

Figure 3: Response from HTTP server

therefore, there is a single checksum for all tests. In the main loop of the algorithm, a test solution is placed
into the data field of the segment. Then the packet is sent, and we wait for an answer.

You might also like