home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / c / cops_104.zip / cops_104 / docs / kuang.1 < prev    next >
Text File  |  1992-03-10  |  3KB  |  64 lines

  1. NAME
  2.     kuang -    rule based system to find inconsistencies in the security
  3.         configuration of a BSD 4.2 Unix.
  4.  
  5. SYSNOPSIS
  6.     edit init_kuang to reflect attackers initial goals
  7.     sh kuang > tracelog
  8.  
  9. DESCRIPTION
  10.     Kuang is a rule based system that searches for a path from an
  11. initial set of privileges to a desired set.  Given a goal, kuang uses
  12. rules to determine a set of subgoals which are sufficient to achieve the
  13. initial goal.  The rules are then applied to the subgoals to determine a
  14. set of sub-subgoals, etc.  This process repeats until there are no new
  15. goals to examine.  If a subgoal can be directly achieved using the
  16. attacker's initial privileges, then a line is added to the file
  17. 'Success' that describes how the attacker can achieve the top level goal.
  18.     The rules for Unix can be divided into three categories
  19. depending on whether they deal with files, users, or groups.  Kuang
  20. embodies these rules in three shell scripts, dofiles, douids, and
  21. dogids.  Goals that have been examined are recorded in the files
  22. files.p, uids.p, and gids.p.  The files files.n, uids.n, and gids.n
  23. record the goals that will be examined next.  The shell script, kuang,
  24. applies the goals in each .n file to the corresponding rule file.
  25.     The initial privileges and ultimate goal are set up in the shell
  26. script, init_kuang.  If the program finds a sequence of rules that
  27. connects the initial privileges to the ultimate goal, that sequence will
  28. be recorded in the file Success.  Each step in the sequence is recorded
  29. as a pair of words.  For example, the line "gids users, write
  30. /usr/bob/.login, trojan baldwin, grant staff, write /etc, replace
  31. /etc/passwd" means that the password file can be replaced because the
  32. group staff has write access to the directory /etc, and you can get
  33. access to the staff group because the .login file for the user bob can
  34. be written by members of the group users, which is one of your initial
  35. privileges.
  36.  
  37. FILES
  38.     *.n        - goals to process in the next round.
  39.     *.x        - goals currently being processed.
  40.     *.p        - goals that have been examined.
  41.     uids.*        - goals related to user IDs.
  42.     gids.*        - goals related to group IDs.
  43.     files.*        - goals related to files.
  44.     Success        - log of holes that are found.
  45.     tracelog    - step by step trace of search.
  46.  
  47. AUTHOR
  48.     Bob Baldwin, MIT Lab for Computer Science, Programming and
  49. Systems Group.  
  50. E-Mail Address   :
  51.  
  52. baldwin@xx.lcs.mit.edu
  53. ...!mit-eddie!baldwin
  54.  
  55. Kuang was inspired by William Gibson's book, Neuromancer, which won the
  56. 1984 Hugo award.  In honor of Gibon's book, systems that use rule based
  57. searching to find security holes should be called a kuang-type systems.
  58.  
  59. BUGS
  60.     Needs to be smarter about command files (e.g., it should look
  61. for writeable files executed via crontab).
  62.     Doesn't include rules for all the programs that run with
  63. their user id set to root.
  64.