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
|
|
@ -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}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue