Abstract:
A computer implemented method (200) for preventing rowhammer attack in a computing device is disclosed. The device has memory which includes a plurality of untrusted memory portions and a plurality of trusted memory portions, the plurality of untrusted memory portions and trusted memory portions being distributed within the memory. The method comprises: determining (202) respective trusted memory portions that are arranged physically contiguous to respective at least one untrusted memory portion to provide an identified set of trusted memory portions, the respective untrusted memory portions being accessible to perform the attack on the respective trusted memory portions; determining (204) trusted memory portions in the identified set of trusted memory portions that are movable to a different memory location in the memory; moving (206) the movable trusted memory portions to an available memory location in the memory to form a block of trusted memory portions; generating (208) at least one memory guard portion; and configuring (210) the memory guard portion to be arranged at an end of the block of trusted memory portions that is physically contiguous to an untrusted memory portion. The memory guard portion prevents electrical-interaction between the block of trusted memory portions and the untrusted memory portion to prevent the attack.
Abstract:
A technology for mutually isolating accessors of a shared electronic device from leakage of context data after a context switch comprises: on making the shared electronic device available to the plurality of accessors, establishing a portion of storage as an indicator location for the shared electronic device; when a first accessor requests use of the shared electronic device, writing at least one device-reset-required indicator to the indicator location; on switching context to a new context, after context save, when a second accessor requests use of the shared electronic device, resetting context data of the shared electronic device to a known state and reconciling the first device- reset- required indicator and a second device-reset-required indicator for the new context.
Abstract:
Suspicious file prospecting activity is detected based on patterns of file system access. A user's file system access is monitored over a specific time period. A sequence of the file accesses (e.g., represented as path names) made by the user during the time period is recorded. Distances between the recorded file accesses are determined, for example as edit distances. A distance sequence is recorded, comprising a record of the determined distances. The distance sequence is reduced to one or more baseline statistics describing the pattern of the user's access of the file system during the given period of time. At least one subsequent anomaly in the user' s access of the file system is detected, by comparing at least one subsequently calculated statistic representing at least one subsequent pattern of the user's file system access to the at least one baseline statistic.
Abstract:
Technologies are generally described for a framework to automatically estimate cross-VM covert channel capacity for channels such as central processing unit (CPU) load, CPU L2 cache, memory bus and disk bus. In some examples, the framework may include automated parameter tuning for various cross-VM covert channels to achieve high data rate and automated capacity estimation of those cross-VM covert channels through machine learning. Shannon Entropy formulation may be applied to estimate the capacity of cross-VM covert channels established on any given cloud platform. Furthermore, the noise of a cross-VM covert channel under a specific cloud platform may be statistically modeled to eliminate the covert channel implementations which perform poorly, thereby narrowing the parameter space. A number of sample signals may be collected with their corresponding ground truth labels, and machine learning tools may be utilized to cross-validate the samples and estimate the capacity of the covert channels.
Abstract:
A computing device may use machine learning techniques to determine the level, degree, and severity of its vulnerability to side channel attacks. The computing device may intelligently and selectively perform obfuscation operations (e.g., operations to raise the noise floor) to prevent side channel attacks based on the determined level, degree, or severity of its current vulnerability to such attacks. The computing device may also monitor the current level of natural obfuscation produced by the device, determining whether there is sufficient natural obfuscation to prevent a side channel attack during an ongoing critical activity, and perform the obfuscation operation during the ongoing critical activity and in response to determining that there is not sufficient natural obfuscation to adequately protect the computing device against side channel attacks.
Abstract:
Described systems and methods allow protecting a computer system from malware, such as return-oriented programming (ROP) exploits. In some embodiments, a set of references are identified within a call stack used by a thread of a target process, each reference pointing into the memory space of an executable module loaded by the target process. Each such reference is analyzed to determine whether it points to a ROP gadget, and whether the respective reference was pushed on the stack by a legitimate function call. In some embodiments, a ROP score is indicative of whether the target process is subject to a ROP attack, the score determined according to a count of references to a loaded module, according to a stack footprint of the respective module, and further according to a count of ROP gadgets identified within the respective module.
Abstract:
There is described a method of protecting an item of software so as to obfuscate a condition which causes a variation in control flow through a portion of the item of software dependent on whether the condition is satisfied, wherein satisfaction of the condition is based on evaluation of one or more condition variables. The method comprises: (i) modifying the item of software such that the control flow through said portion is not dependent on whether the condition is satisfied; and (ii) inserting a plurality of identity transformations into expressions in said portion of the modified item of software, wherein the identity transformations are defined and inserted such that, in the absence of tampering, they maintain the results of the expressions if the condition is satisfied and such that they alter the results of the expressions if the condition is not satisfied, wherein each identity transformation is directly or indirectly dependent on at least one of the one or more condition variables. New variables may be defined as part of this method There are also described associated apparatuses, computer programs and the like.
Abstract:
Determining sensitive information and preventing the unauthorized or unintended dissemination of such information are disclosed. Terms are determined from documents associated with users in a network. Distributions among users and relative frequencies with which the terms are used are determined. Link strengths between users are calculated. Based on the distribution of the terms, the relative frequencies of use among the user profiles and link strengths between users conducting information transactions that include the terms, a sensitivity level for each term can be determined. To determine whether a particular information transaction with particular terms may be conducted between two users in the network, a combination of link strength between the users and sensitivity level of the terms with respect to the users or users' profiles are considered. If the information transaction includes terms that are unknown to one of the users, then a warning or alarm can be raised.
Abstract:
Disclosed are devices, systems, apparatus, methods, products, and other implementations, including a method that includes identifying a process to obtain timing information of a processor-based device, and in response to identifying the process to obtain the timing information, delaying delivery of the timing information for a time-delay period. In some embodiments, identifying the process to obtain the timing information may include identifying a request to obtain the timing information of the processor-based device. In some embodiments, identifying the process to obtain the timing information may include identifying a memory-access process.
Abstract:
Technologies for preventing software -based side-channel attacks are generally disclosed. In some examples, a computing device may receive a cryptographic program having one or more programming instructions for performing a key handling operation and may add one or more programming instructions for performing an anti-attack operation to the one or more programming instructions for performing the key handling operation. The computing device may transmit the resulting cryptographic program with the anti-attack operation to an execution device. The execution device, such as a cloud computing system, may execute the cryptographic program, thereby causing execution of the anti-attack operation. The execution of cryptographic program may prevent a side-channel attack by masking the number of key performance events that occur.