Patent ID: 9680876
Date: 2017-06-13
CPC Classifications: G06F,H04L

Claim:
1. A data flow policy evaluation system for a mobile computing device, embodied as executable instructions in one or more non-transitory machine-accessible storage media, the data flow policy evaluation system comprising: one or more computing devices; and executable by the one or more computing devices: a system call monitor to monitor system calls made by a plurality of software applications during execution of the software applications at the mobile computing device; and a data flow policy engine to generate policy decisions to enable the software applications to prevent the execution of system calls that would violate a data flow policy, wherein the data flow policy defines security labels, associates data flow policies with the security labels, and assigns the security labels to data objects, and the data flow policy engine is configured to: cause an executing process of a software application to inherit a security label of a data object when the executing process accesses the data object to which the security label is assigned; when the executing process inherits a security label of a data object, apply a policy associated with the security label of the data object to a future activity of the executing process that does not involve the data object; as a result of the security label of the data object being inherited by the executing process, associate another executing process with the security label of the data object accessed by the executing process when the other executing process is in communication with the executing process; and when the security label of the data object inherited by the executing process is associated with any conflicting security labels, determine a policy type, the policy type being either strict or relaxed; wherein a strict policy determination results in a policy violation and a relaxed policy determination results in further evaluation to determine whether the executing process of the software application is expressly authorized to read the data objects having a security label in common with the security label of the data object inherited by the executing process.