ISSN 2320-9194 8 International Journal of Advance Research, IJOAR.org Volume 1, Issue 11, November 2013, Online: ISSN 2320-9194 PARASITIC COMPUTING: PROBLEMS AND ETHICAL CONSIDERATION Abstract Parasitic computing is programming technique where a program in normal authorized interactions with another program manages to get the other program to perform computations of a complex nature. It is, in a sense, a security exploit in that the program implementing the parasitic computing has no authority to consume resources made available to the other program.the paper takes a look at the ethical issues of parasitic computing and suggest a look into the current operation of the internet TCP/IP. Keyword: parasitic computing, internet, TCP/IP
ISSN 2320-9194 9 Introduction Parasitic computing is programming technique where a program in normal authorized interactions with another program manages to get the other program to perform computations of a complex nature. It is, in a sense, a security exploit in that the program implementing the parasitic computing has no authority to consume resources made available to the other program. In this model, which we call `parasitic computing ; one machine forces target computers to solve a piece of a complex computational problem merely by them in standard communication. Consequently, the target computers are unaware that they have performed computation for the benefit of a commanding node. As experimental evidence of the principle of parasitic computing, we harness the power of several web servers across the globe, whichunknown to them-work together to solve an NP complete problem. Unlike `cracking' (breaking into a computer) or computer viruses, however, parasitic computing does not compromise the security of the targeted servers, and accesses only those parts of the servers that have been made explicitly available for Internet communication. Like the S e a r c h f o r E x t r a t e r r e s t r i a l I n t e l l i g e n c e SETI@home project Philips(1999), parasitic computing decomposes a complex problem into computations that can be evaluated independently and solved by computers connected to the Internet; unlike the SETI project, however, i T h e d i s t r i b u t e d c o m p u t i n g u t i l i z e d i n S E T I i n v o l v e s v o l u n t e e r s f r o m a r o u n d t h e w o r l d w h o a l l o w t h e i r l o c a l c o m p u t e r s t o b e u s e d f o r o n g o i n g a n a l y s i s o f v a s t a m o u n t s o f d a t a o b t a i n e d f r o m a r a d i o t e l e s c o p e c o n s t a n t l y s c a n n i n g t h e h e a v e n s. S E T I a l l o w s a n y o n e w i t h a co m p u t e r a n d I n t e r n e t c o n n e c t i o n t o d o w n l o a d s o f t w a r e t h a t w i l l r e a d a n d a n a l y z e s m a l l p o r t i o n s o f t h e a c c u m u l a t e d d a t a. I n e f f e c t, S E T I h a s c r e a t e d a s u p e r c o m p u t e r f r o m m i l l i o n s o f i n d i v i d u a l c o m p u t e r s w o r k i n g i n c o n c e r t. i t does so without the knowledge of the participating servers.(robert et al,2003) This is a type of distributed computing technique known as parasitic computing invented by computer scientists of the University of Notre Dame and questions its practice ethically. In August 2001, four researchers at the University of Notre Dame Albert László Barabási, Vincent W. Freeh, Hawoong Jeong and Jay B. Brockman invented a very sophisticated computing technique known as parasitic computing based upon this behavior of TCP/IP (Barabási, Freeh, Jeong, & Brockman, 2001). A reliable communication over internet via TCP/IP is a complex process and requires a significant amount of computation to validate the integrity of the datagram being sent and received between two nodes. The integrity of a data segment is maintained by validating the result of certain operations on the bytes of 16 bit Checksum field in its TCP packet. Figure below displays a TCP pseudo header with 16 bit checksum field starting at bit offset 224.
ISSN 2320-9194 10 TCP checksum function C h e c k s u m i s t h a t p a r t o f T C P l a y e r o p e r a t i o n t h a t i s r e s p o n s i b l e f o r i n s u r i n g i n t e g r i t y o f p a c k e t d a t a b e i n g s e n t o v e r t h e I n t e r n e t. B e f o r e a p a c k e t i s r e l e a s e d t o t h e I P l a y e r ( s e e F i g. 1 ) o f t h e s e n d i n g c o m p u t e r, T C P d i v i d e s t h e p a c k e t i n f o r m a t i o n i n t o a s e r i e s o f 1 6 - b i t w o r d s a n d t h e n c r e a t e s a o n e s c o m p l e m e n t b i n a r y s u m o f t h e s e w o r d s. T h e r e s u l t i n g s o - c a l l e d c h e c k s u m v a l u e i s a u n i q u e r e p r e s e n t a t i o n o f t h e t o t a l i t y o f i n f o r m a t i o n i n t h a t p a c k e t. T h e b i t - w i s e b i n a r y c o m p l e m e n t o f t h i s c h e c k s u m i s t h e n s t o r e d i n t h e T C P h e a d e r b e f o r e t h e p a c k e t i s s e n t. W h e n t h e p a c k e t a r r i v e s a t t h e r e c e i v i n g c o m p u t e r, t h e T C P l a y e r t h e r e p e r f o r m s i t s o w n b i n a r y s u m o f a l l t h e i n f o r m a t i o n i n t h e p a c k e t i n c l u d i n g t h e c h e c k s u m c o m p l e m e n t. I f t h e p a c k e t w a s r e c e i v e d w i t h o u t c o r r u p t i o n, t h e r e s u l t a n t s u m s h o u l d b e a 1 6 - b i t v a l u e w i t h a l l b i t s e q u a l t o 1 s i n c e t h e original c h e c k s u m ( i. e., t h e t o t a l a r r i v e d a t b y t h e s e n d i n g c o m p u t e r ) a n d i t s e x a c t c o m p l e m e n t w o u l d b e a d d e d t o g e t h e r f o r m i n g a u n i t a r y v a l u e ( B a r a b a s i, e t a l., 2 0 0 1 ). I f t h i s o c c u r s, t h e p a c k e t i s r e t a i n e d a s g o o d a n d i s p a s s e d t o t h e a p p l i c a t i o n l a y e r f o r a c t i o n ; i f n o t, t h e p a c k e t i s d r o p p e d a n d T C P w a i t s f o r a p r e - a r r a n g e d r e t r a n s m i s s i o n o f t h e p a c k e t b y t h e s e n d i n g c o m p u t e r. F r e e h ( 2 0 0 2 ) i n d i c a t e s, t h e T C P c h e c k s u m f u n c t i o n p e r f o r m e d b y t h e r e c e i v i n g c o m p u t e r i s, i n e s s e n c e, a f u n d a m e n t a l a d d - a n d - c o m p a r e p r o c e d u r e, w h i c h f o r m s t h e b a s i s f o r a n y o t h e r B o o l e a n o r a r i t h m e t i c o p e r a t i o n. A s a c o n s e q u e n c e, T C P c a n b e e x p l o i t e d t o p e r f o r m c o m p u t a t i o n s w i t h o u t i n v a d i n g ( i. e., h a c k i n g o r c r a c k i n g i n t o ) t h o s e s y s t e m s i n d u c e d t o p a r t i c i p a t e ( B a r a b a s i, e t. a l, 2 0 0 1 ;
ISSN 2320-9194 11 F r e e h, 2 0 0 2 ). I n t h i s s e n s e, t h e n, p a r a s i t i c c o m p u t i n g i s a n o n - i n v a s i v e f o r m o f c o v e r t e x p l o i t a t i o n t h a t d o e s n o t p e n e t r a t e b e y o n d t h e T C P / I P l a y e r s o f t h e h o s t. T h i s d i f f e r e n t i a t e s p a r a s i t i c c o m p u t i n g f r o m t h e o t h e r m e t h o d s d e s c r i b e d a b o v e f o r cap i t a l i z i n g o n I P - r e l a t e d v u l n e r a b i l i t i e s. Fig.1 Literature review How communication over internet via TCP/IP works Consider a scenario where a user is trying to visit a website. When user informs a browser the website URL (uniform resource locator), the browser opens a transmission control protocol (TCP) connection and connects to the web server. After establishing this connection, browser issues a hyper text transmission protocol (HTTP) request via already opened TCP connection. This TCP message is then carried to the destination (web server) via internet protocol (IP). In this process of transmitting message from source (user) to destination, IP might break entire message into several pieces commonly addressed as TCP packets. These packets are then transmitted to the destination IP address via different routes. Once the destination receives all packets, a response is returned to the source via the same TCP channel. The original message is then reassembled via consecutive steps involving TCP and IP and is interpreted as HTTP request. After that, the web server sends a response (webpage HTML) back to the user (CISCO). Thus, even such a simple communication over internet requires significant amount of computation at all network stages and only cooperation and trust between all involved parties can guarantee a successful communication over internet.
ISSN 2320-9194 12 In parasitic computing, this trust based relationship of machines connected to the network is exploited to make other machines perform a certain mathematical operations on certain data without an authorization. Albert László, Vincent, Hawoong and Jay used a parasitic computer to solve the well known NP complete satisfiability problem, by engaging various web servers physically located in North America, Europe, and Asia, each of which unknowingly participated in the experiment Babarasi etal,2001. Like SETI@home project, parasitic computing decomposes a problem into several small problems which are mutually exclusive and can be solved independently via machines connected to the network. Parasitic computing can be a very effective technique when it comes to solve NP Complete problems such as Circuit SAT, 3 SAT, etc. These problems are currently considered as some of world s most complex and time consuming problems. These problems generally have a set of solutions which itself is a subset of a set of possible solutions. This behaviour can be described as the following: S {s1,s2,s3...sn}, n>0 Although any possible solution to such problems can be verified quickly, there is no known efficient way to identify a solution in the first place. In fact, the most notable characteristic for such problem is that there is no fast solution. The time required to solve such problem is exponentially proportional to the size of the problem. So, as the size of the problem grows, the time required to find all solutions of the problem grows exponentially. In fact, time required to solve a moderately large NP Complete problem can easily reach billions if nottrillions of years using any kind of modern computing technology we have available today. For this reason, even just determining whether there is a fast solution to such problems or not is one of the principal unsolved problems of computer science. Methodology Two computers communicating over the Internet, under disguise of a standard communications session. The first computer is attempting to solve a large and extremely difficult 3-SAT problem; it has decomposed the original 3-SAT problem in a considerable number of smaller problems. Each of these smaller problems is then encoded as a relation between a checksum and a packet such that whether the checksum is accurate or not is also the answer to that smaller problem. The packet/checksum is then sent to another computer. This computer will, as part of receiving the packet and deciding whether it is valid and wellformed, create a checksum of the packet and see whether it is identical to the provided checksum. If the checksum is invalid, it will then request a new packet from the original computer. The original computer now knows the answer to that smaller problem based on the second computer's response, and can transmit a fresh packet embodying a different subproblem. Eventually, all the sub-problems will be answered and the final answer easily calculated.
ISSN 2320-9194 13 F i g u r e 1. L a y e r s o f t h e T C P / I P p r o t o c o l. A d a p t e d f r o m Fig 2.How parasitic computing works
ISSN 2320-9194 14 Figure 3. Figure 2 describes how parasitic computing works. As described in figure 3.1, the parasitic computer starts the process by transmitting specially generated messages to number of targeted web servers consisting of arithmetic and logic unit (ALU) and a network interface (NIF). The packet carrying one of possible solutions to the problem is inserted into the IP level bypassing the parasitic node s TCP. This can be seen in figure 3.2. The parasitic computer generates a message in such a way that if the solution is not valid, it will fail the TCP checksum on the destination machine and the packet will be dropped. But in the case when the solution is correct, it will be propagated to the HTTP layer via TCP. Since it is a behavior of a web server to respond to any requests coming to an HTTP layer regardless of whether it understands the request or not, the web server will send a response back to the parasitic computer that it has received an HTTP request Mujal(2010). Thus the parasitic computer sends out a message for each possible solution as described in figure 3.1 with black arrow, it only receives responses back from the server when the possible solution is a one of the actual solutions of the problem. This is displayed with a red arrow in the figure 3.1
ISSN 2320-9194 15 Ethical considerations Worms, Viruses, and Trojan Horses Exploitation of computing resources has taken many forms over the years, some more malicious than others. Perhaps the most notorious examples are those involving what is called malware, short for malicious software, designed to damage or disrupt a system (Wiggins, 2001). Malware often takes the form of worms, viruses or Trojan horses, problems that have become all too common in recent years and do not need to be explored further here. IP-related Vulnerabilities W i t h t h e a d v e n t o f n e t w o r k i n g, a n d t h e a t t e n d a n t i n c r e a s e i n e m a i l u s a g e, m a n y o t h e r m e t h o d s b e c a m e a v a i l a b l e f o r g a i n i n g u n a u t h o r i z e d a c c e s s t o c o m p u t i n g r e s o u r c e s. W h i l e e m a i l s t i l l m a y b e t h e m o s t c o m m o n m e t h o d u s e d t o a c h i e v e t h e s p r e a d o f m a l w a r e ( W i g g i n s, 2 0 0 1 ), c e r t a i n f o r m s o f c o v e r t e x p l o i t a t i o n a s s o c i a t e d w i t h v u l n e r a b i l i t i e s i n t h e T C P / I P p r o t o c o l h a v e b e e n k n o w n f o r s o m e t i m e. I P s p o o f i n g, d e n i a l s o f s e r v i c e, a n d c o v e r t c h a n n e l s. E a c h r e p r e s e n t s e x p l o i t a t i o n o f t h e t r u s t r e l a t i o n s h i p s B a r a b a s i e t a l. ( 2 0 0 1 ) d e s c r i b e a s b e i n g i n h e r e n t i n t h e T C P / I P p r o t o c o l. IP spoofing, a s d e s c r i b e d b y V e l a s c o i s a m e t h o d w h e r e b y a p r o s p e c t i v e i n t r u d e r i m p e r s o n a t e s a t r u s t e d m e m b e r o f a n e t w o r k b y d i s c o v e r i n g i t s I P a d d r e s s a n d t h e n c o n s t r u c t i n g n e t w o r k p a c k e t s t h a t a p p e a r t o h a v e o r i g i n a t e d f r o m t h i s s o u r c e. i n t r u d e r s h a v e u s e d t h i s t e c h n i q u e t o e s t a b l i s h c o m m u n i c a t i o n s w i t h r e m o t e c o m p u t e r s, t h e r e b y p o t e n t i a l l y s p o o f i n g t h e m i n t o f u r t h e r v u l n e r a b i l i t i e s a n d / o r u n a u t h o r i z e d a c c e s s. Denials of DoS) i n v o l v e m a l i c i o u s a t t e m p t s t o d e g r a d e o r d i s r u p t t h e a c c e s s o f n e t w o r k
ISSN 2320-9194 16 m e m b e r s t o a p a r t i c u l a r h o s t b y c o n s u m i n g t h e T C P / I P r e s o u r c e s o f t h e h o s t o r t h e b a n d w i d t h o f t h e n e t w o r k i t s e l f. D e n i a l o f s e r v i c e u s u a l l y e x p l o i t T C P / I P t r u s t a n d a l s o n o r m a l l y i n v o l v e s o m e e f f o r t t o c o n c e a l t h e i d e n t i t y o f t h e p e r p e t r a t o r. B y t h e i r o w n a d m i s s i o n, B a r a b a s i e t a l. ( 2 0 0 1 ) w e r e a w a r e o f t h e e t h i c a l i s s u e s i n v o l v e d i n t h e i r d e m o n s t r a t i o n o f p a r a s i t i c c o m p u t i n g. O n t h e p r o j e c t w e b s i t e t h e y s t a t e : " P a r a s i t i c c o m p u t i n g r a i s e s i m p o r t a n t q u e s t i o n s a b o u t t h e o w n e r s h i p o f t h e r e s o u r c e s c o n n e c t e d t o t h e I n t e r n e t a n d c h a l l e n g e s c u r r e n t c o m p u t i n g p a r a d i g m s R o b e r t ( 2 0 0 3 ) Since most of the computers connected to the network will be using TCP/IP, the resources available to the parasitic computer are virtually unlimited and almost all of the computer can be exploited. Furthermore, there is a very high possibility that servers can allocate their valuable CPU cycles to do the processing commanded by the parasitic node thus degrading overall performance of the applications running on the server and access efforts of the normal application user similar to that in the Denial of Service attack (DoS). Ganti & Xiao, 2008). In order for this technique to be widely accepted, potential users need to answer some important ethical questions. the speed at which this technique is capable of solving NP Complete problems is thrilling! But what about the possibility of a DoS (unintentional or intentional) attack as discussed above? Another ethical questions like what if terrorists gain their expertise on this technique? But the final question I would like to ask is: just like we patch security holes in our applications, is this possibly a time to rethink a better and more secured protocol for communication over the internet? Shouldn t the security of underlying internet protocols used by billions of users worldwide have equal priority for its updates and patches if not higher than any of normal applications? U n d e r t h e r u b r i c o f I n t e r n e t E t h i c s a r e b a s i c a l l y v a r i a n t s o f o l d e r e t h i c a l i s s u e s ( e. g., 1. T h e f t 2. C o p y r i g h t i n f r i n g e m e n t 3. I n v a s i o n o f p r i v a c y ) d i s g u i s e d i n m o d e r n - d a y ( i. e., e l e c t r o n i c o r d i g i t a l ) c l o t h i n g ( R o b e r t, 2 0 0 3 ) T h e e t h i c a l g r a y a r e a h e r e a r i s e s f r o m t h e f a c t t h a t t h e s p e c i f i c h o s t r e s o u r c e s t a r g e t e d b y t h e p a r a s i t e a l r e a d y w e r e p a r t o f t h e p u b l i c d o m a i n b y v i r t u e o f b e i n g a t t a c h e d t o t h e I n t e r n e t. M o r e o v e r, t h e s e r e s o u r c e s
ISSN 2320-9194 17 w e r e n o t i n s t i g a t e d t o d o a n y t h i n g m a l i c i o u s o r e v e n o u t o f t h e o r d i n a r y. H o w e v e r, t h e u s e s t o w h i c h t h e h o s t r e s o u r c e s w e r e p u t b y t h e p a r a s i t e c l e a r l y w e r e n o t s a n c t i o n e d i n a n y e x p l i c i t w a y b y t h e h o s t o w n e r s. In a white paper published by the Computer Ethics Institute, Barquin (1992) presented what he called the Ten Commandments of Computer Ethics, which amounts to a list of moral imperatives to guide ethical behavior related to the use of computing and information technology resources. These guidelines have become fairly well known and have been endorsed by other professional societies (e.g., Computer Professionals for Social Responsibility, 2001). Barquin s commandments overlap with similar strictures contained in a statement published by the Association for Computing Machinery entitled the ACM Code of Ethics and Professional Conduct (Association for Computing Machinery, 1992). For purposes of the present discussion, certain of Barquin s commandments appear directly relevant to the ethics of parasitic computing. Thou shalt not use a computer to harm others or interfere with their computer work These imperatives, abstracted from Commandments 1 and 2, clearly position as unethical any form of malware or other type of covert exploitation of computer resources with harmful purpose or consequences. Benign forms of exploitation without mal-intent, like the Barabasi et al. (2001) demonstration of parasitic computing, would seem under this mandate to be an instance of no harm, no foul. One difficulty here, however, lies with the assessment of harm. Directly harmful effects to a user as a result of someone else s covert exploitation are one thing, but indirect consequences may be quite another. Conclusion We can t deny patch security holes in our applications, is this possibly a time to rethink a better of transmitting information and more secured protocol for communication over the internet. References 1.Parasitic Computing by Munjal Patel,January 30, 2010 2. Barabási, A. L., Freeh, V. W., Jeong, H., & Brockman, J. B. (2001, August 30). Parasitic computing. letters to nature, 412, pp. 894 897. 3. Phillips, D. T. (1999, May 23). ET, phone SETI@home! Retrieved January 20, 2010, from NASA: http://science.nasa.gov/newhome/headlines/ast23may99_1.htm 4. Parasitic Computing Seminar by:kunal Goswami 05IT6006
ISSN 2320-9194 18 5. Ganti, R. K., & Xiao, L. (2008). Detection of Parasitic Computing. Indiana: University of Notre Dame. 6. R o b e r t N. B a r g e r a n d C h a r l e s R. C r o w e l l, 2 0 0 3 T H E E T H I C S O F P A R A S I T I C C O M P U T I N G : F A I R U S E O R A B U S E O F T C P / I P O V E R T H E I N T E R N E T? C o m p u t e r A p p l i c a t i o n s P r o g r a m U n i v e r s i t y o f N o t r e D a m e, N o t r e D a m e, I N 4 6 5 5 6 7. S E T I @ h o m e. ( 2 0 1 2 ). R e t r i e v e d S e p t e m b e r 9, 2 0 1 2, o n t h e W o r l d W i d e W e b : h t t p : / / s e t i a t h o m e. s s l. b e r k e l e y. e d u / 8. S t e v e n s, W. R. ( 1 9 9 4 ). TCP/IP Illustrated, Volume 1. R e a d i n g, M A : A d d i s o n - W e s l e y. 9. W i g g i n s, G. ( 2 0 0 1 ). L i v i n g w i t h m a l w a r e. S a n s I n s t i t u t e. 1 0. F r e e h, V. W. ( 2 0 0 2 ). A n a t o m y o f a P a r a s i t i c C o m p u t e r. Dr. Dobb's Journal, J a n u a r y, 6 3-6 7. 1 1. A s s o c i a t i o n f o r C o m p u t i n g M a c h i n e r y. ( 1 9 9 2 ). A C M C o d e o f E t h i c s a n d P r o f e s s i o n a l C o n d u c t 1 2. B a r q u i n, R. C. ( 1 9 9 2 ). I n p u r s u i t o f a t e n c o m m a n d m e n t s f o r c o m p u t e r e t h i c s. C o m p u t e r E t h i c s I n s t i t u t e