From 22c1c5ef0664a50a5106e186fd07235765f7142e Mon Sep 17 00:00:00 2001 From: Arthur Grisel-Davy Date: Thu, 20 Jul 2023 15:21:11 -0400 Subject: [PATCH] change hidden references, add result table for 2wexp --- DSD/qrs/biblio.bib | 17 +++++++++++++ DSD/qrs/main.tex | 59 +++++++++++++++++++++++++++++++--------------- 2 files changed, 57 insertions(+), 19 deletions(-) diff --git a/DSD/qrs/biblio.bib b/DSD/qrs/biblio.bib index 070813b..82141b7 100644 --- a/DSD/qrs/biblio.bib +++ b/DSD/qrs/biblio.bib @@ -99,6 +99,14 @@ series = {MobiSys '17} note = {Accessed: 2010-03-26} } +@misc{hidden-palitronica, + title = {Reference hidden for peer-review}, +} + +@misc{hidden-articlemlcs, + title = {Reference hidden for peer-review}, +} + @inbook{278e1df91d22494f9be2adfca2559f92, title = "A data management platform for personalised real-time energy feedback", keywords = "smart homes, real-time energy, smart energy meter, energy consumption, Electrical engineering. Electronics Nuclear engineering, Electrical and Electronic Engineering", @@ -632,3 +640,12 @@ year={2023}, title={Mitre ATT\&CK - T1486 Data Encrypted for Impact}, url = {https://attack.mitre.org/versions/v13/techniques/T1486/}, } + +@misc{opitz2021macro, + title={Macro F1 and Macro F1}, + author={Juri Opitz and Sebastian Burst}, + year={2021}, + eprint={1911.03347}, + archivePrefix={arXiv}, + primaryClass={cs.LG} +} diff --git a/DSD/qrs/main.tex b/DSD/qrs/main.tex index 9d4145f..8c326db 100644 --- a/DSD/qrs/main.tex +++ b/DSD/qrs/main.tex @@ -132,7 +132,7 @@ Acoustic emissions \cite{belikovetsky2018digital}, heat pattern signature \cite{ Side-channel information collection generally results in time series objects to analyze. There exists a variety of methods for analyzing time series. -For signature-based solutions, a specific extract of the data is compared to known-good references to assess the integrity of the host \cite{9934955, 9061783}. +For signature-based solutions, a specific extract of the data is compared to known-good references to assess the integrity of the host \cite{9934955, hidden-articlemlcs}. This signature comparison enables the verification of expected and specific sections and requires that the sections of interest can be extracted and synchronized. Another solution for detecting intrusions is the definition of security policies. Security policies are sets of rules that describe wanted or unwanted behavior. @@ -509,7 +509,7 @@ The dataset is publicly available \cite{zenodo}. \textbf{Lab Captures:} NUCPC-0, NUCPC-1, WAP-ASUS and WAP-LINKSYS correspond to lab-captured machine activity power consumption. -A commercial solution \cite{palitronica}, placed in series with the main power cable, measures the global power consumption of the machine. +A commercial solution \cite{hidden-palitronica}, placed in series with the main power cable, measures the global power consumption of the machine. We considered two types of machines. The NUCPC-* are small form factor general-purpose computers. The WAP-* are wireless access points from two different brands. @@ -613,7 +613,7 @@ This step greatly reduces the measurement noise and the processing time, and inc The final sampling rate of 20 samples per seconds was selected empirically to be around one order of magnitude highter than the typical length of the patterns to detect (around 5 seconds). For each comrpessed day of experiment (4 hours segment, thereafter refered as days), the \gls{mad} performs state detection and returns a label vector. -This label vector associate a label to each sample of the power trace following the mapping: -1 is UNKNOWN, 0 is SLEEP, 1 is IDLE, 2 is HIGH and 3 is REBOOT. +This label vector associate a label to each sample of the power trace following the mapping: -~1 is UNKNOWN, 0 is SLEEP, 1 is IDLE, 2 is HIGH and 3 is REBOOT. The training dataset comprise one sample per state, captured during a the run of a benchmark script that interatively place the machine in each states to detect. \agd{make dataset available} @@ -626,6 +626,7 @@ The rules are formaly defined using the \gls{stl} syntax which is bespoke for de \begin{table*} \centering + \caption{Security rules applied to the detected states of the machine. $s[t]$ represent the label at time $t$.} \begin{tabular}{p{0.03\textwidth} | p{0.25\textwidth} | p{0.37\textwidth} | p{0.25\textwidth}} Rule & Description & STL Formula & Threat\\ \toprule @@ -635,33 +636,52 @@ The rules are formaly defined using the \gls{stl} syntax which is bespoke for de 4 & No "REBOOT" occurence. & $R_4 := \neg \square_{[1h,2h40]}(s[t]=3)$ & Malware Installation\\ \bottomrule \end{tabular} - \caption{Security rules applied to the detected states of the machine. $s[t]$ represent the label at time $t$.} \label{tab:rules} \end{table*} \subsection{Results} The performance measure represent the ability of the whole pipeline (\gls{mad} and rule checking) to detect anomalous behavior. The script on the machine generates logs that serves as ground truth to verify the results of rule checking. -The main metrics are the \agd{name of metric chosen} for each rule (micro-\agd{name}) and the global \agd{name} (macro-\agd{name}). -It is important to note that the attack frequency was intentionally increase compared to the expected attack frequency in the real world. +The main metrics are the micro and macro $F_1$ score of the rule violation detection. +The macro-$F_1$ score is defined as the arithmetic mean over individual $F_1$ scores for a more robust evaluation of the global performance as described in \cite{opitz2021macro}. +Table~\ref{tab:rules-results} presents the performance for the detection of each rule. +\agd{add comment about the results} + + +\begin{table} + \centering + \caption{Performance of the complete rule violation detection pipeline.} + \begin{tabular}{lcc} + Rule & Micro-$F_1$ & Macro-$F_1$\\ + \toprule + Night Sleep & ?? & \multirow{4}*{0.??} \\ + Work Hours & ?? & \\ + Evening Sleep & ?? & \\ + Reboot & ?? & \\ + \bottomrule + \end{tabular} + \label{tab:rules-results} +\end{table} \section{Discussion}\label{sec:discussion} In this section we highlight specific aspects of the proposed solution. -Side-channel based state detection enables a more robust security policy enforcement. -Let us consider the classic case of some security policies in a company. -The office hours are set between 8 am and 8 pm. -Outside of office hours, a security policy specifies that no computer should be on --- or should not be awake. -The traditional way of enforcing such policies would be to have a server evaluates the state of each computer remotely (via a PING command, for example) or to have an agent on each computer sending the state to a server. -Both cases are highly susceptible to bypass. -A local attacker could boot a system on a secondary OS and immediately disable all agents on the machine. -A remote attacker could infect the machine and forge the reported data. -Any attacker that can disable the network connection would make the activities invisible to the policy enforcement system. -All of these methods have no impact on a side-channel intrusion detection system. -Whatever the motivations of the attacker, there are no malicious operations that do not require the machine to consume power. -The capability to detect the state of the system independently of the willingness of the system itself is a major step forward in enabling robust security policies enforcement on computing devices. +%\textbf{} +%Side-channel based state detection enables a more robust security policy enforcement. +%Let us consider the classic case of some security policies in a company. +%The office hours are set between 8 am and 8 pm. +%Outside of office hours, a security policy specifies that no computer should be on --- or should not be awake. +%The traditional way of enforcing such policies would be to have a server evaluates the state of each computer remotely (via a PING command, for example) or to have an agent on each computer sending the state to a server. +%Both cases are highly susceptible to bypass. +%A local attacker could boot a system on a secondary OS and immediately disable all agents on the machine. +%A remote attacker could infect the machine and forge the reported data. +%Any attacker that can disable the network connection would make the activities invisible to the policy enforcement system. +%All of these methods have no impact on a side-channel intrusion detection system. +%Whatever the motivations of the attacker, there are no malicious operations that do not require the machine to consume power. +%The capability to detect the state of the system independently of the willingness of the system itself is a major step forward in enabling robust security policies enforcement on computing devices. +\textbf{Limitations: } The proposed method have some limitations that are important to acknowledge. The current version of \gls{mad} is tailored for a specific use case. The goal is to enable high-level security policies with a secure and reliable state detection of a machine from a time series. @@ -676,18 +696,19 @@ While there is nothing particularly difficult in the selection, it is still a hi Finally, the states must be consistent. If a state has an unpredictable signature --- i.e., each occurence display a significantly different pattern ---, \gls{mad} will not be able to detect the occurences reliably. +\textbf{Extension to Multi-shot Classification: } \gls{mad} is not limited to one-shot cases and can leverage more labeled data. \gls{mad} is based on a \gls{1nn}, so the evolution to \gls{knn} is natural. If more than one pattern is available for one state, \gls{mad} will apply the same detection method only with multiple patterns leading to the same label. The number of training samples per class can be unbalanced, and the training samples within a class can have different lengths. \gls{mad} preserves the versatility of a \gls{knn} solution in this regard. +\textbf{Time Efficiency: } \gls{mad} remains time-efficient compared to a classic \gls{1nn}. Although there are more operations to perform to evaluate all possible windows around a sample, the impact on detection time is small. Over all the datasets considered, the time for \gls{mad} was, on average, 14\% higher than the time for the \gls{1nn}. \gls{mad} is also slower than \gls{svm} and faster than \gls{mlp}, but comparison to other methods is less relevant as computation time is highly sensitive to implementation, and no optimization was attempted. Finally, because \gls{mad} is distance-based and window-based, parallelization is naturally applicable and can significantly reduce the processing time. -\agd{add subsection or bold titles to discussions topic, add discussion about why a simple threshold does not work} \section{Conclusion}