Patent ID: 8819772

Claim:
A system for in-line filtering of applications for mobile devices, comprising: a hardware processor of an inline filtering device configured to: intercept a request for downloading an application to a mobile device; quarantine the application at the inline filtering device until receipt of an acknowledgement of potential threats associated with the application are presented in a display on the mobile device, wherein the application is blocked from completing a transfer to the mobile device while it is quarantined at the inline filtering device, wherein the quarantining of the application comprises: perform an application analysis of the application based on a risk profile, wherein the risk profile is based on an application risk policy that includes custom rules for scanning of the application based on security requirements; generate a risk score based on the application analysis of the application based on the risk profile, wherein the generation of the risk score comprises: check an application cache comprising: determine whether the application has been previously analyzed; and in the event that the application has been previously analyzed, return the previously determined risk score of the application; extract metadata associated with the application, the metadata comprising application permissions, file and version name, author of the application, application ID, package name, or any combination thereof; query public application market data relating to the application, the public application market data including application description, application ranking in a store, vendor reputation of the application, or any combination thereof; and perform a disassembly/byte code pass comprising: determine whether the application performs a function based on an inspection of byte code or assembly language of the application, the function including sending text/SMS messages without user's permission, using GPS/location services without user's permission, or any combination thereof; and modify a response to the request for downloading the application to the mobile device using the hardware processor; and a memory coupled to the hardware processor and configured to provide the hardware processor with instructions.