US 12,254,085 B2
Software integrity checking systems and methods
Marko Caklovic, Palo Alto, CA (US)
Assigned to Intertrust Technologies Corporation, Berkeley, CA (US)
Filed by Intertrust Technologies Corporation, Berkeley, CA (US)
Filed on Nov. 27, 2023, as Appl. No. 18/519,542.
Application 18/519,542 is a continuation of application No. 18/063,960, filed on Dec. 9, 2022, granted, now 11,829,469.
Application 18/063,960 is a continuation of application No. 17/112,612, filed on Dec. 4, 2020, granted, now 11,531,751, issued on Dec. 20, 2022.
Application 17/112,612 is a continuation of application No. 16/670,701, filed on Oct. 31, 2019, granted, now 10,872,146, issued on Dec. 22, 2020.
Application 16/670,701 is a continuation of application No. 15/452,319, filed on Mar. 7, 2017, granted, now 10,496,814, issued on Dec. 3, 2019.
Claims priority of provisional application 62/304,771, filed on Mar. 7, 2016.
Prior Publication US 2024/0095343 A1, Mar. 21, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 21/54 (2013.01); G06F 21/51 (2013.01); G06F 21/57 (2013.01); G06F 21/64 (2013.01)
CPC G06F 21/54 (2013.01) [G06F 21/51 (2013.01); G06F 21/57 (2013.01); G06F 21/64 (2013.01); G06F 2221/033 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor of a system, cause the system to perform a method comprising:
detecting an initial execution of an application on the system, the application having been received from an application store system, the application comprising one or more functional integrity checks;
executing, at least in part in response to the detection of the initial execution, the one or more functional integrity checks of the application to verify that one or more portions of the application associated with the one or more functional integrity checks function according to a defined behavior, wherein executing the one or more functional integrity checks comprises verifying that one or more resource calls associated with the one or more portions of the application correspond with an expected resource call behavior;
generating, based on verifying that the one or more portions of the application function according to the defined behavior, one or more first integrity check values;
storing the one or more first integrity check values on a user device; and
allowing, based on the verifying that the one or more portions of the application function according to the defined behavior, the initial execution of the application to proceed.