A High Performance Statistical Library for Big Data Analysis

Python
Security
Research
Algorithms
Open Source
Hardware

Our library is a tool for hardware security research, with our main features being centered around Side Channel Analysis (SCA). SCA is a way to extract encryption keys used by a processor by taking advantage of any extra information unintentionally leaked by a system (through a "side-channel", as opposed to the main methods of interaction they provide). Using our library starts with creating "traces", or readings of power draw or magnetic field strength around a processor over time. Then the user decides on a task to perform, either a side-channel attack or other analysis task. Currently we support two tasks: Correlation Power Analysis (CPA) and Signal-to-Noise Ratio (SNR) extraction. Our architecture allows for easy addition of tasks through standardized interfaces, such as new types of analysis, new leakage models, or other new supporting tasks. Correlation Power Analysis (CPA) works by trying to find a correlation between the possible keys and the measured traces. We first estimate how the possible keys will affect the traces using a "leakage model", then attempt to correlate the modelled leakage and true leakage values. Signal-to-Noise Ratio (SNR) extraction determines how much the data in a trace deviates from the average background noise level of the trace. This is useful as measurements of magnetic field strength will be done across a grid of locations above the processor, and some of those positions will be too far from the parts of the processor that are in use during encryption. While CPA would fail to find a key for these spots, SNR offers a less computationally expensive way to check if a spot has suitable leakage for side-channel analysis. See the heatmap of SNR values in the artifacts below for reference. The datasets we operate on are very large and the process of testing each key is very computationally expensive, so one of the primary challenges of this project was optimizating for speed. Our initial implementation running Correlation Power Analysis on a test dataset was estimated to take 28 days to run, while the current implementation takes only 9 minutes. The name of our project notScared is a play on the current leader in the open source Side Channel Analysis space: SCAred. We're not them.

0 Lifts 

Artifacts

Name Description
Github Repository This is where you can clone and use the library.   Link
Presentation Powerpoint This is the powerpoint used in the demonstration video.   Download
Project Demonstration Video This is a video that demonstrates what our project entailed.   Link