home *** CD-ROM | disk | FTP | other *** search
/ Cuteskunk BBS / cuteskunk.zip / cuteskunk / Unix-Hacking-Documents / bump.txt < prev    next >
INI File  |  2003-06-29  |  8KB  |  151 lines

  1. [Image]
  2.  
  3. Things that Go Bump in the Net
  4.  
  5. This is a brief look at some of the more colorful characters in the
  6. menagerie of network security threats, with an emphasis on how they relate
  7. to agent-based systems. The Massively Distributed Systems group in IBM
  8. Research conducts research into these and other emergent concerns in future
  9. distributed systems.
  10. ----------------------------------------------------------------------------
  11.  
  12. Trojan horses
  13.  
  14. A Trojan horse is a program that does something that the programmer
  15. intended, but the user would not approve of if he knew about it in advance.
  16. Because most current security systems are based primarily on user-level
  17. privilege rather than program-level privilege, any program that you run can
  18. read any object you have read-access to, write to any object that you have
  19. write-access to, and execute any program or command that you are authorized
  20. to execute.
  21.  
  22. A Trojan horse concealed in a random game program downloaded from your
  23. favorite newsgroup can read any file you have read access to, and mail it
  24. anywhere in the world. It can erase, or just shuffle around a few bytes in,
  25. any file you can write to. It can send obscene messages to the White House,
  26. or post embarassing things to random newsgroups.
  27.  
  28. And it can copy itself into any program that you have write access to (see
  29. Viruses and Worms below).
  30.  
  31. In a mobile-agent system, it is critical to ensure that arriving agents
  32. execute in a controlled environment, and are able to do only those things
  33. that they are authorized to do. Agents should be trusted only as far as the
  34. least-trusted entity that may have been able to alter the program or
  35. internal state of the agent; secure authentication methods (such as digital
  36. signatures) must be used carefully when it is necessary to establish the
  37. real author or sender of an agent. See Itinerant Agents for Mobile Computing
  38. for some related security considerations in these sorts of systems.
  39. ----------------------------------------------------------------------------
  40.  
  41. Viruses and Worms
  42.  
  43. A virus is a program (generally a Trojan horse) that spreads, by making
  44. copies of iteslf in one way or another. In the microcomputer environment,
  45. viruses generally spread by writing copies of themselves into other
  46. programs, or into boot records of disks and diskettes. (For more information
  47. on computer viruses in PC-compatible machines, see the IBM Computer Virus
  48. Information Center.)
  49.  
  50. A worm in a networked environment is generally a self-sufficient program
  51. that spreads by spawning copies of itself on other hosts in the network. One
  52. famous worm caused great disruption on the Internet in 1988. There is no
  53. hard line between viruses and worms; in general, if the spreading entity is
  54. a self-sufficient program, it will be called a worm, whereas if it embeds
  55. itself inside other programs or boot code, it will be called a virus.
  56.  
  57. Can a virus spread between agents in a mobile-agent system? So far, the
  58. consensus seems to be that there is no particular reason to allow one agent
  59. to alter the code of another already-existing agent. If the agent
  60. infrastructure does not allow this, no virus will be able to spread from
  61. agent to agent. On the other hand, if the infrastructure accidentally or
  62. purposely does allow one agent to alter another, inter-agent viruses will be
  63. possible.
  64.  
  65. Are worms possible in mobile-agent systems? If one agent can create another
  66. agent, the possibility of runaway worm reproduction exists. Agent
  67. reproduction must be controlled in one way or another to limit the
  68. possibility; if agents can create other agents, they must be charged in some
  69. scarce currency, or limited in how large their tree of descendants can get,
  70. or otherwise kept from having children and grandchildren without bound.
  71. ----------------------------------------------------------------------------
  72.  
  73. Flash Crowds
  74.  
  75. The term Flash Crowd was first used by Larry Niven, in a science fiction
  76. short story. In the story, cheap local teleportation has become possible;
  77. now, the sites of attractive news stories are instantly innundated with
  78. rubberneckers teleporting in to watch.
  79.  
  80. As systems become more interconnected and more powerful, we have the
  81. equivalent of cheap teleportation; if a Web site becomes known as
  82. particularly interesting, its usage curve can go exponential, causing
  83. network bottlenecks and server crashes. In networks of agents, a vast number
  84. of similarly-programmed agents, like a horde of similarly-programmed trading
  85. programs causing a market crash, can cause network congestion and server
  86. overload. And if the agents all adopt similar fallback strategies in
  87. response to overload, the flash crowd can migrate from server to server on
  88. the net, leading to surging hard-to-remedy travelling overloads.
  89. ----------------------------------------------------------------------------
  90.  
  91. Weeds, Freeloaders and Flying Dutchmen
  92.  
  93. A weed is a program (or anything else in a system) that does no one any
  94. good, but that uses such a small amount of resources that it's often not
  95. cost-effective to do anything about it. Eventually, weeds start to
  96. accumulate, and it's time to get out the clippers. Or the herbicide.
  97.  
  98. A freeloader is a program that uses some system or server resources to
  99. survive and possibly benefit its creator, without paying for them. Servers
  100. may provide some minimal service for free, in order to attract paying
  101. customers, or unintentionally, as an unintended effect of complex cost
  102. structures; there may be ways to arrange for some transaction charges,
  103. especially small ones, to be lost in the shuffle. A freeloader exploits
  104. these sorts of things to operate free of charge.
  105.  
  106. Named for the legendary ghost-ship, a Flying Dutchman is a freeloader that
  107. manages to become effectively immortal, without paying for the resources
  108. that it uses to survive. A Flying Dutchman may move from host to host, never
  109. quite using enough resources to be killed; it may spawn a copy of itself on
  110. another host just before it is terminated, ensuring an unending gene-line.
  111.  
  112. A Zombie is similar to a Flying Dutchman; it is a program that has been
  113. terminated, but continues to consume some resources anyway, due to
  114. (sometimes infinite) delays in cleaning up all the resources associated with
  115. it. Zombies can sometimes get enough resources to do actual processing; more
  116. often, they exist only as the undead owners of various kinds of space.
  117.  
  118. A single freeloading or immortal program will not in itself damage a
  119. distributed system, and we anticipate that a typical agent-based system will
  120. tolerate a low level of freeloading. An analogy is to physical stores, which
  121. will tolerate a certain number of people coming in to get out of the rain
  122. and using the restrooms, on the chance that they may eventually buy
  123. something.
  124.  
  125. Uncontrolled, a large number of weeds can waste significant amounts of
  126. system resources; distributed systems will need the ability to monitor this
  127. sort of activity, and impose controls if it gets out of hand. Requests from
  128. known freeloaders may be charged for, even in cases that are normally free.
  129. Intelligent monitoring processes may be needed to identify and terminate
  130. intentionally or accidentally immortal programs that are serving no useful
  131. purpose. Other sorts of weeds will no doubt require other sorts of
  132. solutions; the unexpected is likely.
  133. ----------------------------------------------------------------------------
  134.  
  135. The Usual Suspects
  136.  
  137. As well as these new and somewhat speculative threats, most of the
  138. traditional computer-security worries, such as basic access control,
  139. authentication, secure encryption, and so on, also apply to network and
  140. agent security. IBM Research has various other security-related projects. Or
  141. follow this link for some good leads on both traditional and non-traditional
  142. computer security topics in the rest of the universe.
  143. ----------------------------------------------------------------------------
  144. David Chess, chess@watson.ibm.com
  145.  
  146. Thanks to Gene Spafford at Purdue, whose talk "Viruses, Worms, and Things
  147. that go Bump in the Net" may have inspired the title for this page; tricky
  148. things, replicators!
  149. ----------------------------------------------------------------------------
  150. [ IBM home page | Order | Search | Contact IBM | Help | (C) | (TM) ] 
  151.