Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method to Detect False Data From Operating Systems

IP.com Disclosure Number: IPCOM000214406D
Publication Date: 2012-Jan-26
Document File: 3 page(s) / 39K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a probabilistic method to determine whether the operating system (OS) is presenting truthful or false information to the application. This invention makes use of copies of existing data taken at different points in time. The application can then use algorithms to create a number or array of numbers that represent the amount of change from one query of the OS state to another. If these numbers exceed or fall below a threshold, then the application can determine with some probability if the OS is presenting false information.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Method to Detect False Data From Operating Systems

Users generally trust cellular telephone applications (apps) less than desktop apps. Cell phone apps can do more harm to users. One way to limit the harm is for the operating system (OS) to limit what is available to the cell phone apps.

However, just changing a function call to fail will sometimes prevent the app from working. Consequently, one technique to increase privacy and security is to have the phone OS provide false data to the application. This is typically set on an application-by-application basis.

The disclosed idea is a way to detect this behavior. With the advent of operating system (OS) layers that can present false information to an application as a means of preventing information leakage, (1) applications may want to know whether they are receiving false or truthful information when they ask the OS. This invention disclosure presents a probabilistic method to determine whether the OS is presenting truthful or false information to the application.

The basic idea is that an app can capture data at one point, then capture it at some future point or points and compare the changes using some sort of function. This invention makes use of copies of existing data taken at different points in time. The application can then use algorithms to create a number or array of numbers that represent the amount of change from one query of the OS state to another. If these numbers exceed or fall below a threshold, then the application can determine with some probability if the OS is presenting false information.

The function depends on the kind of the data the system is retrieving. For instance, when querying the contacts, an app might save a copy, and then in the future compare it to another saved copy. Depending on the amount of difference between the copies, the app can then use a comparison function to assign a probability that it is receiving false data, either if the contact information changes too much (indicating that it is random, perhaps) or too little (indicating that the receipt of static data)

Similarly, with something like location, the app can store multiple copies of the location, and then use a comparison function to determine distance over time. In this case, travelling too fast at some point or not moving for too long might indicate the flow of false data.

When the application first starts, it takes a snapshot of the data that it believes may be falsely reported to it by the OS. This may be a small piece of information such as phone number, International Mobile Equipment Identity (IMEI), or location, or a larger collection of information such as a contact list or a call log. This information is stored as a resource (typically on storage card but possibly in application memory depending on the architecture of the device). For larger collections of information, this information may be compressed before storage. The compression may be lossy (such as storing only pho...