IP Library › Granted Patent US 9,635,048
Granted Patent B2
US 9,635,048 · App. 14/003,502 · Granted Apr 25, 2017

Method and system for dynamic platform security in a device operating system

Inventors: Paul Litva (Ottawa, CA); David Jones (Ottawa, CA); Ron Vandergeest (Ottawa, CA)
Assignee: Irdeto B.V.
H04L63/1441G06F21/554G06F21/575G06F21/62H04W12/08G06F2221/2141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,635,048
App. No.
14/003,502
Granted
Apr 25, 2017
Kind
B2
Abstract

A system and method is provided for implementing platform security on a consumer electronic device having an open development platform. The device is of the type which includes an abstraction layer operable between device hardware and application software. A secure software agent is provided for embedding within the abstraction layer forming the operating system. A secure store is provided for storing security information unique to one or more instances of the application software. The secure software agent uses the security information for continuous runtime assurance of ongoing operational integrity of the operating system and application software and thus operational integrity of the device.

Claims (70)

1. A system for improving security of a device, the system comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:

embed a secure software agent within an operating system kernel of an operating system executing on the device, wherein the secure software agent is configured to monitor the integrity of at least the operating system and one or more applications configured to execute within the operating system, wherein the secure software agent is integral to the operating system kernel such that the operating system will not function correctly without the secure software agent; and

store security information necessary to verify the integrity of at least the operating system and the one or more applications configured to execute within the operating system within a secure data store, wherein the secure data store is accessible solely by the secure software agent.

2. The system as claimed in claim 1 , wherein the one or more applications configured to execute within the operating system will not function correctly without the secure software agent.

3. The system as claimed in claim 1 , wherein the secure software agent is configured to verify the integrity of the operating system and at least one of the one or more applications configured to execute within the operating system in response to an operating system request by at least one of the one or more applications configured to execute within the operating system.

4. The system as claimed in claim 1 , wherein the secure data store comprises one of: a secured storage device external to a storage drive of the device, a secured portion of the storage drive of the device, or a secured memory on a chipset of the device.

5. The system as claimed in claim 1 , wherein the secure software agent is configured to utilize security information unique to at least one of the one or more applications configured to execute within the operating system to perform one or more of:

determining a presence of malware within or modification of at least one of the one or more applications configured to execute within the operating system;

identifying unauthorized use of at least one of the one or more applications configured to execute within the operating system;

providing platform access control of at least one of the one or more applications configured to execute within the operating system; or

providing secure media playback for at least one of the one or more applications configured to execute within the operating system, wherein the at least one application comprises a media application.

6. The system as claimed in claim 1 , wherein the secure software agent is configured to update in response to any one of:

indication of previously unknown security threats;

indication of a successful attack by a security threat; or

identification and analysis of a successful attack by a security threat or of an attack in development.

7. The system as claimed in claim 1 , wherein at least one of the one or more applications configured to execute within the operating system is a media application and wherein the secure software agent is configured to control or limit access to resources of the operating system kernel where such access allows unauthorized use of the media application or media played by the media application.

8. The system as claimed in claim 7 , wherein the secure software agent is configured to override known privileges of at least one of the one or more applications configured to execute within the operating system.

9. The system as claimed in claim 7 , wherein at least one of the one or more applications configured to execute within the operating system is a media player and wherein the secure software agent is configured to preclude one or more other applications from accessing a media rendering path, including a frame buffer, used by the media player.

10. The system as claimed in claim 7 , wherein the secure software agent is configured to preclude access by at least one of the one or more applications configured to execute within the operating system upon either:

an indication of the operating system kernel being compromised; or

an indication that the at least one application configured to execute within the operating system is automatically providing privacy related data of the device to an unauthorized remote server, wherein the privacy related data includes user specific data comprising one or more of: locational data indicative of device user location, device user call history, device user email data, device user photographic data, device user contact book data, or device user personal data.

11. The system as claimed in claim 1 , wherein the secure software agent is configured to verify that a secure boot process was implemented.

12. The system as claimed in claim 1 , wherein the secure software agent is configured to perform a runtime call stack signature validation sequence including:

examining a call stack to determine a return address identifying a calling code location from an address space;

verifying, based on the calling code location, legitimacy of a caller corresponding to the return address; and

repeating the examining and verifying from an application address space.

13. The system as claimed in claim 1 , wherein the secure software agent is configured to support commands from a remote entity so as to override predetermined permissions granted to at least one of the one or more applications configured to execute within the operating system, wherein the commands include one or more of:

disabling the device;

limiting operation of the at least one application configured to execute within the operating system;

limiting the predetermined permissions granted to the at least one application configured to execute within the operating system;

removing the at least one application configured to execute within the operating system from the device;

terminating operation of the at least one application configured to execute within the operating system; or

removing the at least one application configured to execute within the operating system from memory of the device.

14. The system as claimed in claim 13 , wherein the secure software agent is configured to report anomalous behavior back to the remote entity.

15. A method for improving security of a device, said method comprising:

embedding a secure software agent within an operating system kernel of an operating system executing on the device, wherein the secure software agent is configured to monitor the integrity of at least the operating system and one or more applications configured to execute within the operating system, wherein the secure software agent is integral to the operating system kernel such that the operating system will not function correctly without the secure software agent; and

storing security information necessary to verify the integrity of at least the operating system and the one or more applications configured to execute within the operating system within a secure data store, wherein the secure data store is accessible solely by the secure software agent.

16. The method of claim 15 , wherein the one or more applications configured to execute within the operating system will not function correctly without the secure software agent.

17. The method of claim 15 , wherein the secure software agent is configured to verify the integrity of the operating system and at least one of the one or more applications configured to execute within the operating system in response to an operating system request by at least one of the one or more applications configured to execute within the operating system.

18. The method of claim 15 , wherein the secure data store comprises one of: a secured storage device external to a storage drive of the device, a secured portion of the storage drive of the device, or a secured memory on a chipset of the device.

19. The method of claim 15 , wherein the secure software agent is configured to utilize security information unique to at least one of the one or more applications configured to execute within the operating system to perform one or more of:

determining a presence of malware within or modification of at least one of the one or more applications configured to execute within the operating system;

identifying unauthorized use of at least one of the one or more applications configured to execute within the operating system;

providing platform access control of at least one of the one or more applications configured to execute within the operating system; or

providing secure media playback for at least one of the one or more applications configured to execute within the operating system, wherein the at least one application comprises a media application.

20. The method of claim 15 , wherein the secure software agent is configured to update in response to any one of:

indication of previously unknown security threats;

indication of a successful attack by a security threat; or

identification and analysis of a successful attack by a security threat or of an attack in development.

21. The method of claim 15 , wherein at least one of the one or more applications configured to execute within the operating system is a media application and wherein the secure software agent is configured to control or limit access to resources of the operating system kernel where such access allows unauthorized use of the media application or media played by the media application.

22. The method of claim 21 , wherein the secure software agent is configured to override known privileges of at least one of the one or more applications configured to execute within the operating system.

23. The method of claim 21 , wherein at least one of the one or more applications configured to execute within the operating system is a media player and wherein the secure software agent is configured to preclude one or more other applications from accessing a media rendering path, including a frame buffer, used by the media player.

24. The method of claim 21 , wherein the secure software agent is configured to preclude access by at least one of the one or more applications configured to execute within the operating system upon either:

an indication of the operating system kernel being compromised; or

an indication that the at least one application configured to execute within the operating system is automatically providing privacy related data of the device to an unauthorized remote server, wherein the privacy related data includes user specific data comprising one or more of: locational data indicative of device user location, device user call history, device user email data, device user photographic data, device user contact book data, or device user personal data.

25. The method of claim 15 , wherein the secure software agent is configured to verify that a secure boot process was implemented.

26. The method of claim 15 , wherein the secure software agent is configured to perform a runtime call stack signature validation sequence including:

examining a call stack to determine a return address identifying a calling code location from an address space;

verifying, based on the calling code location, legitimacy of a caller corresponding to the return address; and

repeating the examining and verifying from an application address space.

27. The method of claim 15 , wherein the secure software agent is configured to support commands from a remote entity so as to override predetermined permissions granted to at least one of the one or more applications configured to execute within the operating system, wherein the commands include one or more of:

disabling the device;

limiting operation of the at least one application configured to execute within the operating system;

limiting the predetermined permissions granted to the at least one application configured to execute within the operating system;

removing the at least one application configured to execute within the operating system from the device;

terminating operation of the at least one application configured to execute within the operating system; or

removing the at least one application configured to execute within the operating system from memory of the device.

28. The method of claim 27 , wherein the secure software agent is configured to report anomalous behavior back to the remote entity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: IRDETO CANADA CORPORATION
To: IRDETO B.V.
Reel/Frame 043482/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2017
From: LITVA, PAUL; VANDERGEEST, RON; JONES, DAVID
To: IRDETO CANADA CORPORATION
Reel/Frame 042419/0947 →
Continuity (1)
Related Publication 20150040224A1 · Feb 5, 2015