IP Library Granted Patent US 8,108,933
Granted Patent B2
US 8,108,933 · App. 12/255,621 · Granted Jan 31, 2012

System and method for attack and malware prevention

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 8,108,933
App. No.
12/255,621
Granted
Jan 31, 2012
Kind
B2
Abstract

The present invention is a system and method for detecting and preventing attacks and malware on mobile devices such as a cell phones, smartphones or PDAs, which are significantly limited in power consumption, computational power, and memory. The invention enables mobile devices to analyze network data, executable data files, and non-executable data files in order to detect and prevent both known and unknown attacks and malware over vectors that are not typically protected by desktop and server security systems. Security analysis is performed by a combination of “known good,” “known bad,” and decision components. The invention identifies known good executables and/or known characteristics of network data or data files that must be present in order for the data to be considered good. Furthermore, known good and known bad identifier databases may be stored on a server which may be queried by a mobile device.

Claims (102)

1. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

applying a hash function to the data to create a hash identifier for the data;

comparing by the known good component, the data hash identifier against a database of hash identifiers of known good data stored in the mobile communications device memory;

if the comparison by the known good component results in a positive match, then allowing the data to be processed by the mobile communications device;

if the comparison by the known good component does not result in a positive match, then comparing by the known bad component, the data hash identifier against a database stored in the mobile communications device memory containing hash identifiers of known bad data;

if the comparison by the known bad component results in a positive match, then rejecting the data from being processed by the mobile communications device;

if the comparison by the known bad component does not result in a positive match, then using the decision component, performing an analysis on the data by the decision component to determine if the data is safe or malicious;

if the analysis determines that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis determines that the data is malicious, then rejecting the data from being processed by the mobile communications device.

2. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

applying by the known good component, logic on the data to determine if the data is safe;

if the known good component logic determines that the data is safe, then allowing the data to be processed by the mobile communications device;

if the known good component does not determine that the data is safe, then applying by the known bad component, logic on the data to determine if the data is malicious;

if the known bad component logic determines that the data is malicious, then rejecting the data from being processed by the mobile communications device

If the known bad component does not determine that the data is malicious, using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

3. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

applying by the known good component, logic on the data to determine if the data is safe;

if the known good component logic determines that the data is safe, then allowing the data to be processed by the mobile communications device;

if the known good component logic does not determine that the data is safe, then applying by the known bad component logic on the data to determine if the data is malicious;

if the known bad component logic determines that the data is malicious, then rejecting the data from being processed by the mobile communications device;

if the known bad component does not determine that the data is malicious, then using the decision component, applying logic on the data for performing an analysis to determine if the data is safe or malicious;

if the decision component determines that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the decision component determines that the data is malicious, then rejecting the data from being processed by the mobile communications device.

4. In a server connected through a telecommunications network to receive data from and send data to a mobile communications device, the server having a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

by the server, receiving a hash identifier for the data to be analyzed from the mobile communications device;

comparing, by the known good component, the data hash identifier against a database of hash identifiers of known good data stored in memory associated with the server;

if the comparison by the known good component results in a positive match, then sending an instruction to the mobile communications device to allow the data to be processed by the mobile communications device;

if the comparison by the known good component does not result in a positive match, then comparing by the known bad component the data hash identifier against a database stored in memory associated with the server containing hash identifiers of known bad data;

if the comparison by the known bad component results in a positive match, then sending an instruction to the mobile communications to reject the data from being processed by the mobile communications device;

if the comparison by the known bad component does not result in a positive match, then receiving the data from the mobile communications device;

using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the decision component determines that the data is safe, then sending an instruction to the mobile communications device to allow the data to be processed by the mobile communications device; and

if the decision component determines that the data is malicious, then sending an instruction to the mobile communications device to reject the data from being processed by the mobile communications device.

5. In a server connected through a telecommunications network to receive and send data, having a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

receiving data at the server from the mobile communications device;

applying by the known good component, logic on the data to determine if the data is safe;

if the known good component logic determines that the data is safe, then allowing the data to be processed by the mobile communications device;

if the known good component logic does not determine that the data is safe, then rejecting the data from being processed by the mobile communications device;

if the known good component logic does not determine that the data is safe, then applying by the known bad component logic on the data to determine if the data is malicious;

if the known bad component logic determines that the data is malicious, then rejecting the data from being processed by the mobile communications device;

if the known bad component does not determine that the data is malicious, using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the decision component determines that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the decision component determines that the data is malicious, then rejecting the data from being processed by the mobile communications device.

6. A non-transitory computer readable storage medium for use with a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, the non-transitory computer readable storage medium containing computer readable instructions, which when executed by a processor cause the processor to perform the steps of a method comprising:

applying a hash function to the data to create a hash identifier for the data

comparing by the known good component, the data hash identifier against a database of hash identifiers of known good data stored in the mobile communications device memory;

if the comparison by the known good component results in a positive match, then allowing the data to be processed by the mobile communication device;

if the comparison by the known good component does not result in a positive match, then using the known bad component, comparing the data hash identifier against a database stored in the mobile communications device memory containing hash identifiers of known bad data; and

if the comparison by the known bad component does not result in appositive match, then using the decision component to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

7. A non-transitory computer readable storage medium for use with a server connected through a telecommunications network to receive and send data, having a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, the non-transitory computer readable storage medium containing computer readable instructions which when executed by a processor cause the processor to perform the steps of a method comprising:

applying a hash function to the data to create a hash identifier for the data;

comparing by the known good component, the data hash identifier against a database of identifiers of known good data stored in memory associated with the server;

if the comparison by the known good component results in appositive match, then allowing the data to be processed by the mobile communications device;

if the comparison by the known good component does not result in appositive match, then comparing by the known bad component, the data hash identifier against a database stored in memory associated with the server containing hash identifiers of known bad data

if the comparison by the known bad component results in a positive match, then rejecting the data from being processed by the mobile communication device;

if the comparison by the known bad component does not result in a positive match, then using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

8. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

comparing by the known good component, the data against a database of characteristics for known good data stored in the mobile communications device;

if the comparison by the known good component does not result in a positive match, then rejecting the data from being processed by the mobile communications device;

if the comparison by the known good component results in a positive match, then comparing by the known bad component, the data against a database stored in the mobile communications device memory containing at least one of the data selected from the group consisting of characteristics for known bad data, known bad data signatures, and known bad data patterns;

if the comparison by the known bad component results in a positive match, then rejecting the data from being processed by the mobile communications device;

if the comparison by the known bad component does not result in a positive match, then using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

9. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

applying a hash function to the data to create a hash identifier for the data;

comparing by the known good component, the data hash identifier against a database of hash identifiers of known good data stored in the mobile communications device memory;

if the comparison by the known good component does not result in a positive match, then rejecting the data from being processed by the mobile communications device;

if the comparison by the known good component results in a positive match, then comparing by the known bad component, the data hash identifier against a database stored in the mobile communications device memory containing hash identifiers for known bad data;

if the comparison by the known bad component results in a positive match, then rejecting the data from being processed by the mobile communications device;

if the comparison by the known bad component does not result in a positive match, then using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

10. In a mobile communications device having a network interface for receiving and sending data, a memory and a microprocessor, and further having software components for processing, analyzing and storing data, including at least a known good component for identifying data that is recognizably safe, a known bad component for identifying data that is recognizably malicious, and a decision component for analyzing whether data is safe or malicious and for determining a disposition of the data as a result of the analysis, a method comprising:

providing data on the mobile communications device;

applying by the known good component, logic on the data to determine if the data is not safe;

if the known good component logic determines that the data is not safe, then rejecting the data from being processed by the mobile communications device;

if the known good component logic does not determine that the data is not safe, applying by the known bad component, logic on the data to determine if it is malicious;

if the known bad component determines that the data is malicious, then rejecting the data from being processed by the mobile communications device;

if the known bad component does not determine that the data is malicious, then using the decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component shows that the data is safe, then allowing the data to be processed by the mobile communications device; and

if the analysis by the decision component shows that the data is malicious, then rejecting the data from being processed by the mobile communications device.

11. On a server having a network interface for receiving from and sending data to a mobile communications device having software components for processing and analyzing data, a method comprising:

after the mobile communications device receives data, and creates a hash identifier for the data, receiving the data hash identifier at the server;

then, at the server, using a known bad component, comparing the received data hash identifier against a database stored in memory associated with the server containing hash identifiers of known bad data;

if the data hash identifier comparison by the known bad component results in a positive match, then sending an instruction from the server to the mobile communications device to reject the data from being processed by the mobile communications device;

if the data hash identifier comparison at the server by the known bad component does not result in a positive match, then at the server, using a known good component, comparing the received data hash identifier against a database of identifiers of known good data stored in a memory associated with the server;

at the server, if the comparison by the known good component results in a positive match, then sending an instruction by the server to the mobile communications device to allow the data to be processed by the mobile communication device;

if the comparison by the known good component does not result in a positive match, then, at the server, using a decision component, performing an analysis on the data to determine if the data is safe or malicious;

if the analysis by the decision component at the server determines that the data is safe, then sending an instruction from the server to the mobile communications device to allow the data to be processed by the mobile communications device; and,

if the analysis by the decision component at the server determines that the data is malicious, then sending an instruction from the server to the mobile communications device to reject the data from being processed by the mobile communications device.

Assignments (9)
SECURITY INTEREST Recorded Oct 7, 2025
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 073028/0189 →
SECURITY INTEREST Recorded Oct 2, 2025
From: LOOKOUT, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS AGENT
Reel/Frame 072989/0675 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: OBSIDIAN AGENCY SERVICES, INC.
To: LOOKOUT INC.
Reel/Frame 054716/0923 →
SECURITY INTEREST Recorded Jun 6, 2019
From: LOOKOUT, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 049408/0861 →
SECURITY INTEREST Recorded Oct 29, 2018
From: LOOKOUT, INC.
To: SILICON VALLEY BANK
Reel/Frame 048208/0947 →