Claims
- 1. A security infrastructure for a network of individual computer resources wherein each individual computer resource in the network of individual computer resources has an independent operating system which includes a portion of the operating system for supporting applications running in the user space of the independent operating system and a portion of the operating system, which is invisible to the user, for operating the individual computer resource and is resident in the kernel space of the independent operating system, said security infrastructure comprising:
a computer code set constructed and arranged for loading into the kernel space of the independent operating system of each computer resource in the network of computer resources; said computer code set including means for identifying and preventing attempts to insert computer instructions into the kernel space and/or through the kernel space into one or more user spaces from either within or without the network of individual computer resources which computer instructions would alter the operation of the independent operating system of each computer resource in the network of computer resources; security manager means in secure communication with said computer code set for monitoring the security of the operating system of each individual computer resource in the network of computer resources.
- 2. The security infrastructure as defined in claim 1 wherein said computer code set is further constructed and arranged to trap entries in the call table of the independent operating system for intercepting communication between the operating system code resident in the user space and the operating system code resident in the kernel space.
- 3. The security infrastructure as defined in claim 1 wherein said computer code set is further constructed and arranged to cause the network device drivers in a computer resource to capture and inspect communication to and from the operating system code resident in the kernel space to other computer associated hardware used with the computer resources in the network
- 4. The security infrastructure as defined in claim 3 wherein unwanted communications can be taken out before being transmitted to or received from other computer resources in the network.
- 5. The security infrastructure as defined in claim 2 wherein said computer code set traps communication between the operating system code resident in the kernel space and other computer associated hardware used with the computer resources in the network.
- 6. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for authenticating programming instructions and associated configuration data in the application to be used by the operating system code resident in the user space before the application is allowed to run in the user space or in the kernel space.
- 7. The security infrastructure as defined in claim 6 wherein said means for authenticating programming instructions and associated configuration data includes digital signing of said programming instructions and associated configuration data.
- 8. The security infrastructure as defined in claim 6 wherein said means for authenticating programming instructions and associated configuration data includes keeping track of a cryptographic digital hash on each of said programming instructions and associated configuration data.
- 9. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for identifying and limiting the access of one or more predetermined administrators to the operating system code resident in the kernel space.
- 10. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for synchronizing the internal clock of each computer resource in the network of computer resources in a secure manner.
- 11. The security infrastructure as defined in claim 1 wherein said computer code set further includes means to authenticate communications from the application in the user space to said computer code set resident in the kernel space.
- 12. The security infrastructure as defined in claim 11 wherein said computer code set further includes means to assure that communications between a first authenticated application resident within the user space are secure as said communications move through the kernel space to a second authenticated application.
- 13. The security infrastructure as defined in claim 11 wherein said computer code set includes means to route communication between a first application in the user space of a first computer resource and a second application in the user space of a second computer resource through the kernel spaces of the computer resources.
- 14. The security infrastructure as defined in claim 1 wherein said computer code set includes means for securing communication with said computer code set resident in the kernel space of computer resources using kernel space encryption and authentication technology.
- 15. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for securing communication between the operating system code resident in the kernel space and the independent operating systems of the computer resources in the network of computer resources by authentication of said communication using public-private key certificates and standard encryption algorithms for encrypting data communicated between the computer code in the kernel space and the independent operating systems in the individual computer resources in the network of individual computer resources.
- 16. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for preventing the operating system code resident in the kernel space from locating one or more operating system call tables or portions thereof.
- 17. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for preventing the operating system code resident in the kernel space from loading new sets of computer instructions.
- 18. The security infrastructure as defined in claim 12 wherein said computer code set prevents the operating system code resident in the kernel space from locating one or more operating system call tables or portions thereof by encrypting one or more symbol tables or portions thereof in the operating system code resident in the kernel space.
- 19. The security infrastructure as defined in claim 13 wherein said computer code set prevents the operating system code resident in the kernel space from loading new sets of computer instructions by encrypting one or more symbol tables or portions thereof in the operating system code resident in the kernel space.
- 20. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for hiding and/or restricting directories and files.
- 21. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for hiding and/or restricting selected kernel space information from user space.
- 22. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for hiding and/or restricting information contained in one set of computer instructions in kernel space from at least one other set of computer instructions.
- 23. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for assuring that all secure security manager communications between applications in the user space use prioritized message queues.
- 24. The security infrastructure as defined in claim 22 wherein said prioritized message queues assure that all secure security manager communications messages within said communications between applications in the user space have a higher priority than other messages.
- 25. The security infrastructure as defined in claim 1 wherein said computer code set further includes means for moving files in a secure fashion between computer resources in the network.
- 26. The security infrastructure as defined in claim 1 wherein said computer code set further includes a method for generating one or more configurable sets of events, to include security and intrusion management events for each computer resource in the network of computer resources.
- 27. The security infrastructure as defined in claim 26 wherein said method for generating one or more configurable sets of events copies said configurable sets of events directly to one or more applications resident in user space, said analysis system queries said computer code set resident in the kernel space.
- 28. The security infrastructure as defined in claim 27 wherein said one or more configurable sets of events is copied directly to one or more files from said computer code resident in the kernel space.
- 29. The security infrastructure as defined in claim 26 wherein said method for generating one or more configurable sets of events aggregates the events from multiple individual computer resources in the network of individual computer resources to provide security infrastructure-wide functions, to include security and intrusion management.
- 30. An individual computer resource constructed and arranged for inclusion in a network of individual computer resources, which network includes at least one network security manager, said individual computer resource comprising:
an independent operating system which includes a user space and a kernel space; said independent operating system further including a portion for supporting applications running in said user space, and a portion, invisible to the user, for operating the computer resource resident in said kernel space; a security infrastructure including a computer code set constructed and arranged for loading into said kernel space of said operating system; said computer code set further including means for identifying and preventing attempts to insert computer instructions into said kernel space and/or through said kernel space into said user space from either within or without the network of individual computer resources which would alter the operation of said independent operating system of the individual computer resource; means for secure communication between said computer code set and the at least one network security manager.
- 31. A network of individual computer resources, said network of individual computer resources including a plurality of individual computer resources and at least one network security manager, wherein each individual computer resource in the network comprises:
an independent operating system which includes a user space and a kernel space; said independent operating system further including a portion for supporting applications running in said user space and a portion, invisible to the user, for operating the computer resource resident in the kernel space; a security infrastructure including a computer code set constructed and arranged for loading into said kernel space of said independent operating; said computer code set including means for identifying and preventing attempts to insert computer instructions into said kernel space and/or through said kernel space into said user space from either within or without the network of individual computer resources which would alter the operation of the independent operating system of each individual computer resource in the network of individual computer resources; means for secure communication between said computer code set and the at least one network security manager.
- 32. A method for adding a security infrastructure to a network of individual computer resources wherein each individual computer resource in the network of individual computer resources has an independent operating system which includes a portion of the operating system for supporting applications running in the user space of the independent operating system and a portion of the operating system code, which is invisible to the user, for operating the individual computer resource and is resident in the kernel space of the independent operating system, said method for adding a security infrastructure to a network of individual computer resources comprising the steps of:
loading a computer code set into the kernel space of the independent operating system of each computer resource in the network of computers, said computer code set including means for identifying and preventing attempts to insert computer instructions into the kernel space and/or through the kernel space into one or more user spaces from either within or without the network of individual computer resources which would alter the operation of the operating system of each computer resource in the network of individual computer resources; monitoring the security of the operating systems of the individual computer resources in the network of computer resources by secure communications between said computer code set and a security manager.
- 33. The method as defined in claim 32 wherein said computer code set is further constructed and arranged to trap entries in the call table of the independent operating system for intercepting communication between the operating system code set resident in the user space and the operating system code resident in the kernel space.
- 34. The method as defined in claim 32 wherein said computer code set is further constructed and arranged to cause the network device drivers in a computer resource to capture and inspect all communication from the operating system code resident in the kernel space to other computer associated hardware used with the individual computer resources in the network.
- 35. The method as defined in claim 34 wherein unwanted communications can be taken out before being transmitted to or received from other computer resources in the network.
- 36. The method as defined in claim 33 wherein said computer code set traps communication between the operating system code resident in the kernel space and any other computer associated hardware used with the computer resources in the network.
- 37. The method as defined in claim 32 wherein said computer code set further includes means for authenticating programming instructions and associated configuration data in the application to be used by the operating system code resident in the user space before the application is allowed to run in the user space or in the kernel space.
- 38. The method as defined in claim 37 wherein said means for authenticating programming instructions and associated configuration data includes digital signing of said programming instructions and associated configuration data.
- 39. The method as defined in claim 37 wherein said means for authenticating programming instructions and associated configuration data includes keeping track of a cryptographic digital hash on each of said programming instructions and associated configuration data.
- 40. The method as defined in claim 32 wherein said computer code set further includes means for identifying and limiting the access of one or more predetermined network administrators to the operating system code resident in the kernel space.
- 41. The method as defined in claim 32 wherein said computer code set further includes means for synchronizing the internal clock of each computer resource in the network of computer resources in a secure manner.
- 42. The methods defined in claim 32 wherein said computer code set further includes means to authenticate communications from the application in the user space to the operating system code set resident in the kernel space.
- 43. The method as defined in claim 42 wherein said computer code set further includes means to assure that communications between a first authenticated application resident within the user space are secure as said communications move through the kernel space to a second authenticated application.
- 44. The method as defined in claim 42 wherein said computer code set includes means to route communication between a first application in the user space of a first computer resource and a second application in the user space of a second computer resource through the kernel spaces of the computer resources.
- 45. The method as defined in claim 32 wherein said computer code set includes means for securing communication with said computer code set resident in the kernel space of computer resources using kernel space encryption and authentication technology.
- 46. The method as defined in claim 32 wherein said computer code set further includes means for securing communication between the operating system code resident in the kernel space and the independent operating systems of the computer resources in the network of computer resources by authentication of said communication using public-private key certificates and standard encryption algorithms for encrypting data communicated between the computer code in the kernel space and the independent operating systems in the individual computer resources in the network of individual computer resources.
- 47. The method as defined in claim 32 wherein said computer code set further includes means for preventing the operating system code resident in the kernel space from locating one or more operating system call tables or portions thereof.
- 48. The method as defined in claim 32 wherein said computer code set further includes means for preventing the operating system code resident in the kernel space from loading new sets of computer instructions.
- 49. The method as defined in claim 43 wherein said computer code set prevents the operating system code resident in the kernel space from locating one or more operating system call tables or portions thereof by encrypting one or more symbol tables or portions thereof in the operating system code resident in the kernel space.
- 50. The method as defined in claim 44 wherein said computer code set prevents the operating system code resident in the kernel space from loading new sets of computer instructions by encrypting one or more symbol tables or portions thereof in the operating system code resident in the kernel space.
- 51. The method as defined in claim 32 wherein said computer code set further includes means for hiding and/or restricting directories and files.
- 52. The method as defined in claim 32 wherein said computer code set further includes means for hiding and/or restricting selected kernel space information from user space.
- 53. The method as defined in claim 32 wherein said computer code set further includes means for hiding and/or restricting information contained in one set of computer instructions in kernel space from at least one other set of computer instructions.
- 54. The method as defined in claim 53 wherein said computer code set further includes means for assuring that all secure security manager communications between applications in the user space use prioritized message queues.
- 55. The method as defined in claim 53 wherein said prioritized message queues assure that all secure security manager communications messages within said communications between applications in the user space have a higher priority than other messages.
- 56. The method as defined in claim 32 wherein said computer code set further includes means for moving files in a secure fashion between computer resources in the network.
- 57. The method as defined in claim 32 wherein said computer code set further includes a method for generating one or more configurable sets of events, to include security and intrusion management events for each computer resource in the network of computer resources.
- 58. The method as defined in claim 57 wherein said method for generating one or more configurable sets of events copies said configurable sets of events directly to one or more applications resident in user space, said analysis system queries said computer code set resident in the kernel space.
- 59. The method as defined in claim 58 wherein said one or more configurable sets of events is copied directly to one or more files from said computer code resident in the kernel space.
- 60. The method as defined in claim 57 wherein said method for generating one or more configurable sets of events aggregates the events from multiple individual computer resources in the network of individual computer resources to provide security infrastructure-wide functions, to include security and intrusion management.
PRIORITY STATEMENT UNDER 35 U.S.C. §119 & 37 C.F.R. §1.78
[0001] This non-provisional patent application claims priority from prior U.S. Provisional Patent Application Serial No. 60/343,098 filed Dec. 20, 2001 in the name of Daniel M. Teal, entitled “Network Security Infrastructure.”
Provisional Applications (1)
|
Number |
Date |
Country |
|
60343098 |
Dec 2001 |
US |