IP Library Granted Patent US 10,032,022
Granted Patent B1
US 10,032,022 · App. 14/984,556 · Granted Jul 24, 2018

System and method for self-protecting code

Inventors: Jeffrey Hague (New York, NY); John D. Rouse (New York, NY)
Assignee: JPMorgan Chase Bank, N.A.
G06F21/562G06F21/572G06F2221/033
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 10,032,022
App. No.
14/984,556
Granted
Jul 24, 2018
Kind
B1
Abstract

Embodiments of the presently disclosed invention provide a method and system for providing self-protecting code. In particular, embodiments provide security modules that may be embedded in a plurality of apps installed on one or more devices. In one embodiment, a central app security system is provided that facilitates the deployment and management of the formation of apps embedded with the security module. With the help of the embedded security modules, the plurality of apps, which may be referred hereinafter as a “secured formation” of apps, perform automated and dynamic scans of other apps within the same formation to ensure the integrity of each app is maintained. Each app in the secured formation may also detect viruses, malware, spyware, and other malicious software contained in the secured formation and perform curative operations in response. In this manner, the apps in any given secured formation collectively ensure that sensitive user information is protected.

Claims (81)

1. A system for providing an app formation comprising a plurality of apps embedded with a security module, the system comprising:

non-transitory computer memory storing at least executable computer instructions and an app database comprising identifying information of at least the plurality of apps associated with the app formation;

at least one computer processor, the computer processor executing executable computer instructions to perform operations associated with an app identification engine and a scanning engine;

wherein the app identification engine executes executable computer instructions using at least one computer processor at the system to identify the plurality of apps on the user device, each of the plurality of apps on the user device including an embedded security module that designates the app formation, and

wherein the scanning engine receives a first request from a code module embedded in a first app associated with the app formation; and

wherein, in response to receiving a first request from a code module embedded in a first app associated with the app formation, the at least one computer processor is automatically activated to perform at least the following operations: processing the first request from the first app by scanning each of the other apps associated with the app formation for malicious code;

returning a first response to the first request based on said processing step;

receiving a second request from a code module embedded in a second app associated with the app formation;

processing the second request from the second app by scanning each of the other apps associated with the app formation for malicious code; and

returning a second response to the second request based on said processing step.

2. A system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , wherein the scanning engine executes executable computer instructions using the at least one computer processor to further perform at least the following:

comparing a signature of the second app with the signature of an app stored in the app database in response to processing the first request from the first app; and

comparing a signature of the first app with the signature of an app stored in the app database in response to processing the second request from the second app.

3. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 2 , wherein a signature is generated by processing an app in accordance with a hash function.

4. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 2 , wherein a signature comprises at least one of the following:

an image included in the second app;

a video included in the second app;

a web address identified in the second app;

a term or phrase identified in the second app;

app identification value of the second app;

corporate association of the second app; and

version of the second app.

5. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , wherein the scanning engine receives a request from each of the apps associated with the app formation.

6. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , wherein the scanning engine executes executable computer instructions using the at least one computer processor to further perform at least one of the following:

cause the embedded code module of the first app to statically analyze at least one of the other apps associated with the app formation; and

cause the embedded code module of the first app to dynamically analyze at least one of the other apps associated with the app formation.

7. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , wherein the first response comprises at least one of the following:

an instruction to the user device to repair an app associated with the app formation on the user device;

an instruction to the user device to reinstall an app associated with the app formation on the user device; and

an instruction to the user device to uninstall an app associated with the app formation on the user device.

8. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , further comprising:

a malicious app database stored in memory storing a plurality of signatures that identifies

one or more malicious apps

wherein said processing the scan request from the first app comprises:

comparing a signature of the second app with the signature stored in the malicious app

database in response to the step of processing the first request.

9. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , further comprising:

a formation engine that executes executable computer instructions using the at least one computer processor to associate a third app embedded with a security module with the app formation based on the signature of the third app.

10. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , further comprising:

a prevention engine that executes executable computer instructions using the at least one computer processor to communicate a fraud alert message with at least one business unit associated with the system.

11. The system for providing an app formation comprising a plurality of apps embedded with a security module of claim 1 , wherein the fraud alert message includes information identifying the app associated with identified malicious code.

12. A computer readable storage medium comprising instructions of a first code module of a first app associated with a predetermined set of apps that, when executed on a first computing device, cause the first computing device to perform at least the following:

receiving, over a communication network, identifying information relating to the predetermined set of apps;

receiving an activation of the first app on the first computing device;

wherein, in response to receiving, over a communication network, identifying information relating to the predetermined set of apps and the activation of the first app on the first computing device, at least one processor of the first computing device is automatically activated to perform at least the following:

identifying, using at least one processor of the first computing device, other apps on the first computing device;

determining, based on step of identifying, other apps on the first computing device associated with the predetermined set of apps;

scanning each of the identified apps on the first computing device associated with the predetermined set of apps to detect malicious code;

detecting that at least one of the identified apps on the first computing device associated with the predetermined set of apps includes malicious code; and

removing at least the malicious code from the device.

13. The computer readable storage medium of claim 12 , further comprising instructions of a second code module of a second app associated with the predetermined set of apps that, when executed on the first computing device, cause the first computing device to perform at least the following:

identifying, using at least one processor of the first computing device, other apps on the first computing device;

determining, based on the step of identifying, apps on the first computing device associated with the predetermined set of apps, said identified app includes the first app; and

scanning each of the identified apps on the first computing device associated with the predetermined set of apps to detect malicious code.

14. The computer readable storage medium of claim 12 , wherein the operation of scanning further comprises:

comparing a signature of each of the identified apps with signatures in a signature database stored on the first computing device to detect malicious code.

15. The computer readable storage medium of claim 12 , wherein the operation of scanning further comprises:

transmitting a request to a remote server to scan at least one of the identified apps on the first computing device associated with the predetermined set of apps to detect malicious code; and

receiving a response from the remote server.

16. The computer readable storage medium of claim 12 , wherein the transmitting of the scan request causes the remote server to compare a signature of each of the identified apps with signatures stored in an app database associated with the apps in the predetermined set of apps.

17. The computer readable storage medium of claim 12 , wherein the transmitting of the scan request causes the remote server to compare a signature of each of the identified apps with signatures stored in a malicious app database.

18. The computer readable storage medium of claim 12 , wherein the scan request includes at least the signature of each of the identified apps.

19. The computer readable storage medium of claim 12 , wherein the scan request includes information of each of the identified apps.

20. The computer readable storage medium of claim 12 , wherein the operation of scanning further comprises:

comparing identifying information of each of the identified apps with identifying information in a database stored on the first computing device to detect malicious code.

21. The computer readable storage medium of claim 20 , wherein the identifying information comprises at least one of the following of each of the identified apps:

an image;

a video;

a web address;

a term or phrase;

app identification value;

corporate association; and

version.

22. The computer readable storage medium of claim 12 , further comprising instructions of a code module for each of a plurality of apps associated with the predetermined set of apps.

23. The computer readable storage medium of claim 12 , wherein the operation of scanning comprises at least one of the following:

statically analyzing at least one of the other apps in the predetermined set of apps on the user device; and

dynamically analyzing at least one of the other apps in the predetermined set of apps on the user device.

24. The computer readable storage medium of claim 12 , wherein the operation of removing further comprises at least one of the following:

uninstalling an app of the plurality of apps on the user device associated with the predetermined formation;

reinstalling an app of the plurality of apps on the user device associated with the predetermined formation; and

repairing an app of the plurality of apps on the user device associated with the predetermined formation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2016
From: HAGUE, JEFFREY; ROUSE, JOHN D.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 039531/0185 →
Continuity (1)
Provisional Application 62098817 · Dec 31, 2014
Cited By (4)
US 12,254,473 US 12,549,577 US 12,627,686 US 12,627,690