change hidden references, add result table for 2wexp
This commit is contained in:
parent
ca1bd2becf
commit
22c1c5ef06
2 changed files with 57 additions and 19 deletions
|
|
@ -99,6 +99,14 @@ series = {MobiSys '17}
|
||||||
note = {Accessed: 2010-03-26}
|
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,
|
@inbook{278e1df91d22494f9be2adfca2559f92,
|
||||||
title = "A data management platform for personalised real-time energy feedback",
|
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",
|
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},
|
title={Mitre ATT\&CK - T1486 Data Encrypted for Impact},
|
||||||
url = {https://attack.mitre.org/versions/v13/techniques/T1486/},
|
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}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ Acoustic emissions \cite{belikovetsky2018digital}, heat pattern signature \cite{
|
||||||
Side-channel information collection generally results in time series objects to analyze.
|
Side-channel information collection generally results in time series objects to analyze.
|
||||||
|
|
||||||
There exists a variety of methods for analyzing time series.
|
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.
|
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.
|
Another solution for detecting intrusions is the definition of security policies.
|
||||||
Security policies are sets of rules that describe wanted or unwanted behavior.
|
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:}
|
\textbf{Lab Captures:}
|
||||||
NUCPC-0, NUCPC-1, WAP-ASUS and WAP-LINKSYS correspond to lab-captured machine activity power consumption.
|
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.
|
We considered two types of machines.
|
||||||
The NUCPC-* are small form factor general-purpose computers.
|
The NUCPC-* are small form factor general-purpose computers.
|
||||||
The WAP-* are wireless access points from two different brands.
|
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).
|
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.
|
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.
|
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}
|
\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*}
|
\begin{table*}
|
||||||
\centering
|
\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}}
|
\begin{tabular}{p{0.03\textwidth} | p{0.25\textwidth} | p{0.37\textwidth} | p{0.25\textwidth}}
|
||||||
Rule & Description & STL Formula & Threat\\
|
Rule & Description & STL Formula & Threat\\
|
||||||
\toprule
|
\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\\
|
4 & No "REBOOT" occurence. & $R_4 := \neg \square_{[1h,2h40]}(s[t]=3)$ & Malware Installation\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Security rules applied to the detected states of the machine. $s[t]$ represent the label at time $t$.}
|
|
||||||
\label{tab:rules}
|
\label{tab:rules}
|
||||||
\end{table*}
|
\end{table*}
|
||||||
|
|
||||||
\subsection{Results}
|
\subsection{Results}
|
||||||
The performance measure represent the ability of the whole pipeline (\gls{mad} and rule checking) to detect anomalous behavior.
|
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 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}).
|
The main metrics are the micro and macro $F_1$ score of the rule violation detection.
|
||||||
It is important to note that the attack frequency was intentionally increase compared to the expected attack frequency in the real world.
|
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}
|
\section{Discussion}\label{sec:discussion}
|
||||||
In this section we highlight specific aspects of the proposed solution.
|
In this section we highlight specific aspects of the proposed solution.
|
||||||
|
|
||||||
Side-channel based state detection enables a more robust security policy enforcement.
|
%\textbf{}
|
||||||
Let us consider the classic case of some security policies in a company.
|
%Side-channel based state detection enables a more robust security policy enforcement.
|
||||||
The office hours are set between 8 am and 8 pm.
|
%Let us consider the classic case of some security policies in a company.
|
||||||
Outside of office hours, a security policy specifies that no computer should be on --- or should not be awake.
|
%The office hours are set between 8 am and 8 pm.
|
||||||
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.
|
%Outside of office hours, a security policy specifies that no computer should be on --- or should not be awake.
|
||||||
Both cases are highly susceptible to bypass.
|
%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.
|
||||||
A local attacker could boot a system on a secondary OS and immediately disable all agents on the machine.
|
%Both cases are highly susceptible to bypass.
|
||||||
A remote attacker could infect the machine and forge the reported data.
|
%A local attacker could boot a system on a secondary OS and immediately disable all agents on the machine.
|
||||||
Any attacker that can disable the network connection would make the activities invisible to the policy enforcement system.
|
%A remote attacker could infect the machine and forge the reported data.
|
||||||
All of these methods have no impact on a side-channel intrusion detection system.
|
%Any attacker that can disable the network connection would make the activities invisible to the policy enforcement system.
|
||||||
Whatever the motivations of the attacker, there are no malicious operations that do not require the machine to consume power.
|
%All of these methods have no impact on a side-channel intrusion detection system.
|
||||||
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.
|
%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 proposed method have some limitations that are important to acknowledge.
|
||||||
The current version of \gls{mad} is tailored for a specific use case.
|
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.
|
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.
|
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.
|
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 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.
|
\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.
|
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.
|
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.
|
\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}.
|
\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.
|
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}.
|
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.
|
\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.
|
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}
|
\section{Conclusion}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue