Claims
- 1. A method for securing a computing system, comprising:
monitoring control flow transfers for a program running on said computing system; and enforcing a security policy on said control flow transfers.
- 2. A method according to claim 1, wherein:
said step of enforcing includes restricting execution privileges based on code origins.
- 3. A method according to claim 1, wherein:
said step of enforcing includes restricted control transfer enforcement.
- 4. A method according to claim 1, wherein:
said step of enforcing includes restricting control transfers based on instruction class.
- 5. A method according to claim 1, wherein:
said step of enforcing includes restricting control transfers based on instruction source.
- 6. A method according to claim 1, wherein:
said step of enforcing includes restricting control transfers based on instruction target.
- 7. A method according to claim 1, wherein:
said step of enforcing includes preventing bypass of sandboxing checks placed around a program operation.
- 8. A method according to claim 1, wherein:
said step of enforcing includes restricting execution privileges based on code origins, preventing bypass of sandboxing checks placed around a program operation and restricting control transfer based on at least any one of source, destination or instruction class.
- 9. A method according to claim 1, wherein:
said step of enforcing includes preventing execution of modified code
- 10. A method according to claim 1, wherein:
said step of enforcing includes ensuring that libraries are entered only through exported entry points
- 11. A method according to claim 1, wherein:
said step of enforcing includes verifying every branch instruction.
- 12. A method according to claim 1, wherein:
said step of enforcing includes requiring that a return instruction only target an instruction after a call.
- 13. A method according to claim 1, wherein:
said step of enforcing includes allowing execution of code if said code is from an original application or library image on disk and is unmodified.
- 14. A method according to claim 1, wherein:
said step of enforcing includes verifying targets of calls can be verified against a predefined list.
- 15. A method according to claim 1, wherein:
said security policy includes multiple policy components.
- 16. A method for securing a computing system, comprising
accessing a set of rules for transferring control flow of a program running on said computing system; monitoring control flow transfers for said program; and enforcing said rules for said control flow transfers for said program.
- 17. A method according to claim 16, wherein:
said step of enforcing includes restricting execution privileges based on code origins.
- 18. A method according to claim 16, wherein:
said step of enforcing includes restricting control transfers based on instruction class.
- 19. A method according to claim 16, wherein:
said step of enforcing includes restricting control transfers based on instruction source.
- 20. A method according to claim 16, wherein:
said step of enforcing includes restricting control transfers based on instruction target.
- 21. A method according to claim 16, wherein:
said step of enforcing includes preventing bypass of sandboxing checks placed around a program operation.
- 22. A method according to claim 16, wherein:
said step of enforcing includes restricting execution privileges based on code origins, preventing bypass of sandboxing checks placed around a program operation and restricting control transfer based on at least any one of source, destination or instruction class.
- 23. An apparatus for securing a computing system, comprising:
means for monitoring control flow transfers for a program running on said computing system; and means for enforcing security rules on said control flow transfers.
- 24. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising monitoring control flow transfers for a program during execution of said program to enforce a security policy.
- 25. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes restricting execution privileges based on code origins.
- 26. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction class.
- 27. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction source.
- 28. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction target.
- 29. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes preventing bypass of sandboxing checks placed around a program operation.
- 30. One or more processor readable storage devices according to claim 24, wherein:
said enforcing of said security policy includes restricting execution privileges based on code origins, preventing bypass of sandboxing checks placed around a program operation and restricting control transfer based on at least any one of source, destination or instruction class.
- 31. An apparatus for securing a computing system, comprising:
a processor readable storage device; and a processor in communication with said processor readable storage device, said processor performs a method comprising monitoring control flow transfers for a program during execution of said program to enforce a security policy.
- 32. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes restricting execution privileges based on code origins.
- 33. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction class.
- 34. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction source.
- 35. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes restricting control transfers based on instruction target.
- 36. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes preventing bypass of sandboxing checks placed around a program operation.
- 37. An apparatus according to claim 31, wherein:
said enforcing of said security policy includes restricting execution privileges based on code origins, preventing bypass of sandboxing checks placed around a program operation and restricting control transfer based on at least any one of source, destination or instruction class.
Parent Case Info
[0001] This application claims the benefit of provisional patent application serial No. 60/435,304 filed Dec. 19, 2002; the disclosure of which is incorporated herein by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH
[0002] This invention was made with government support under Contract No. F29601-01-200166, awarded by the Defense Advanced Research Projects Agency (DARPA). The government has certain rights in the invention.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60435304 |
Dec 2002 |
US |