Python & MATLAB source code to capture traces & generate the results used in 'Side-Channel Based Intrusion Detection for Industrial Control Systems' (doi:10.1007/978-3-319-99843-5_19) and 'Security and Privacy in the Smart Grid' (PhD Thesis, ISBN 978-94-6473-209-2).Industrial Control Systems are under increased scrutiny. Their security is historically sub-par, and although measures are being taken by the manufacturers to remedy this, the large installed base of legacy systems cannot easily be updated with state-of-the-art security measures. In these publications we use a technique from cryptographic side-channel analysis, multivariate templating, to detect anomalous behaviour in Programmable Logic Controllers. Our solution uses side-channel measurements of the electromagnetic emissions of an industrial control system to detect behavioural changes of the software running on them. To demonstrate the feasibility of this method, we show it is possible to profile and distinguish between even small changes in programs on Siemens S7-317 PLCs, using methods from cryptographic side-channel analysis.The code consists of python source files for capturing electromagnetic traces,and python & MATLAB source files for analysing the resulting dataset.The raw EM traces used to obtain the results in the aforementioned publications are currently available as a separate dataset at doi:10.17026/dans-ztf-vrz9.
Date Submitted: 2023-08-23
Modified: 2023-08-22
Modified: 2017-06-23