<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>February</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Covert Channel Based on Workload Manipulation Through the CuPy Library</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gianluca De Lucia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessio Merlo</string-name>
          <email>alessio.merlo@unicasd.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Caviglione</string-name>
          <email>luca.caviglione@cnr.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>GPU Security</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Covert Channel</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CASD - School of Advanced Defense Studies</institution>
          ,
          <addr-line>Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Applied Mathematics and Information Technologies</institution>
          ,
          <addr-line>Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Turin</institution>
          ,
          <addr-line>Turin</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>0</volume>
      <fpage>3</fpage>
      <lpage>8</lpage>
      <abstract>
        <p>The ubiquitous difusion of Graphics Processing Units (GPUs) accounts for new threats and ofensive templates. An emerging attack scheme leverages covert channels, i.e., parasitic communication paths hidden within legitimate lfows of data or digital objects. In this perspective, this work explores the feasibility of creating covert channels through the manipulation of the workload ofered to the GPU. Specifically, we propose to take advantage of the widespread CuPy open source library to encode information in the evolution of the most relevant GPU performance metrics. Results demonstrate the feasibility of the approach and also allow to propose some prime countermeasures to prevent unwanted data leakages and to make modern GPUs more secure.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        With the increasing demands for computationally intensive applications, Graphic Processing Units
(GPUs) are becoming critical assets to protect. Unfortunately, the most complex ecosystems could be
plagued by a wide array of security concerns, such as the lack of documentation in open source tools,
dificulties in deallocating data in a secure manner, and subtle vulnerabilities arising from the adoption
of virtualization schemes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Even if improving the security posture of high-performance applications
is now a major research topic, many issues prevent proceeding quickly or applying pre-existing security
schemes over the GPU functional blueprint. For instance, the presence of multiple memory areas with
diferent access rights poses challenges in securing the entire software toolchain, and standard taint
analysis techniques may require a non-negligible re-engineering efort [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Another important aspect
regards the data-intensive nature of GPU-based applications, which often require processing sensitive
information or supporting mission-critical decisions. As a significant use case, GPUs are the basis of
deep learning and machine learning frameworks and thus make them a sensitive target for inferring
behaviors or leaking data [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        An important class of security threats takes advantage of the multitude of possible side-channel
ofensive templates or covert channels that can be built due to the broad attack surface characterizing
the most complex and heterogeneous GPU-based architectures (see, e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and the references
therein). In this vein, a relevant corpus of works has emerged to mitigate the impact of covert channels
that can leverage the CUDA framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or how they can be combined with other vulnerabilities
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Moreover, many research works now focus on how deep learning techniques can be used to
“understand” the complex interplay of GPU hardware/software layers to implement efective ofensive
schemes exploiting a side channel [
        <xref ref-type="bibr" rid="ref10 ref4 ref7 ref8 ref9">7, 8, 4, 9, 10</xref>
        ].
      </p>
      <p>
        Since covert channels are increasingly deployed by real-world malware [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and also demonstrated
their efectiveness to elude security frameworks of many hardware/virtualized ecosystems [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ],
      </p>
      <p>CEUR</p>
      <p>ceur-ws.org
in this work, we further investigate how GPU covert communications could be simply established by
leveraging a popular open source framework. In essence, we take advantage of the CuPy library1 for
GPU-accelerated environments to create a controlled load of operations that can alter some behavior
of the GPU with a global visibility scope. Specifically, CuPy-induced alterations of GPU metrics, such
as utilization, power consumption, and temperature, are used as the carrier to encode and transmit
information between two diferent execution kernels. Such a proof-of-concept implementation 2 can be
used as the basis to conduct tests for demonstrating how simple mechanisms can endow an attacker with
the ability to remain “beneath the radar” of traditional monitoring tools. At the same time, investigating
the feasibility of a novel covert communication scheme may open up the development of specific
countermeasures and contribute to a deeper understanding of GPU-related security vulnerabilities and
their potential implications.</p>
      <p>Summing up, the contributions of this work are: i) understanding whether shared and unharmful
information can be used to encode a proper alphabet to leak data; ii) demonstrate the feasibility of
implementing a proof-of-concept covert channel by using the CuPy library; iii) provide a preliminary
performance evaluation assessment.</p>
      <p>The remainder of the paper is structured as follows. Section 2 introduces the attack model, Section 3
shows the design of the workload-based covert channel, and Section 4 discusses its implementation
details. Section 5 presents numerical results obtained through laboratory tests, while Section 6 concludes
the article and outlines possible future research directions.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background and Attack Model</title>
      <p>
        A covert channel is a hidden communication path that allows two endpoints to secretly exchange data
or bypass blockages, security policies, or execution enclaves [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]. To this end, the secret sender and
receiver must agree on a shared resource, which constitutes the carrier. Possible examples of carriers
are an unused protocol field, data used to pad a software object, or physical behavior such as the core(s)
temperature that make up a CPU [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. With the increasing complexity of modern hardware/software
ecosystems, covert channels now represent a significant vulnerability as they can evade traditional
security controls such as firewalls, access policies, or data monitoring systems [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ]. Among the
various implemented threat models, covert channels are primarily used to exfiltrate sensitive data, such
as cryptographic keys or small chunks of high-value information. For instance, they can bypass the
security of hypervisors and establish cross-virtual-machine communication paths [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] or circumvent
isolation approaches deployed in cloud infrastructures [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        In general, evaluating the performance of a covert channel involves three tightly-coupled basic
properties [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]: i) the steganographic bandwidth, which quantifies the volume of information transmitted
per unit of time; ii) the robustness, which refers to the ability of the channel to maintain efective
communication despite noise, (unwanted) system variations, or external interference; iii) the undetectability
assessing how the channel blends into the expected behavior of the abused host/device.
      </p>
      <p>To create channels targeting the same host, leveraging shared resources commonly used by users and
system processes, e.g., CPU caches, GPU metrics, or the system memory, is a viable idea. Accordingly,
such quantities can be directly manipulated or influenced to encode and transmit information between
two processes.</p>
      <p>Figure 1 depicts the general attack model. Specifically, we consider two execution kernels that want
to communicate, i.e., they represent the secret sender and the secret receiver. Without loss of generality,
the secret endpoints could be co-located or implemented within two GPU processes. To efectively
implement such an attack scheme, the sender and receiver must agree on an alphabet/encoding. A
possible approach leverages the workload ofered to the various GPU cores, which accounts for the
visible alteration of shared resources. For instance, producing a burden of operations will cause an
increase in the GPU temperature, leading to a globally observable behavior. Hence, the sender could</p>
      <sec id="sec-2-1">
        <title>1CuPy homepage: https://cupy.dev 2GitHub repository: https://github.com/gigernau/Cupy-Covert-Channel</title>
        <p>encode the binary value 1 by applying a load to increase the temperature beyond a given threshold. In
contrast, the binary value 0 could be encoded by not performing operations. The receiver may then
infer a message by inspecting the temporal evolution of the targeted shared metric of the GPU, i.e., the
temperature.</p>
        <p>For the specific case of the proof-of-concept implementation proposed in this work, covert
communication is made possible since the secret sender performs operations directly mapped to binary
values that will influence the visible behavior of the GPU. Such operations allow for building a shared
alphabet. The receiver infers the binary digit to decode the secret value by classifying a specific GPU
trait observed through a given time window. In other words, a covert communication (see Figure 1) is
made possible by two disjoint/distinct GPU processes, where the first one (i.e., the sender) executes
operations to force specific metrics on the GPU, while the second one (i.e., the receiver) reads and
classifies the metric, understanding the hidden operation.</p>
        <p>Therefore, in this work, we consider a malicious threat actor who wants to implement the general
attack scheme of Figure 1 through GPU cores and uses as the carrier for secret data GPU metrics such
as temperature, power consumption, and percentage of usage. As detailed later, the first phase of
this attack chain should consider some form of reconnaissance, i.e., the attacker “snifs” metrics to
understand the action-reaction relationship between a load of operations and a global GPU behavior.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Covert Channel Design</title>
      <p>As hinted, to design the covert channel, we referenced the CuPy library since it allows us to produce
burdens of operations straightforwardly to indirectly influence the behavior of a shared resource. This
choice is motivated by CuPy providing a simple Python interface towards CUDA and operating directly
on the GPU cores. Establishing a covert communication path involves the transmission of a binary
digit composing a secret message. To this aim, each bit should be mapped against one or more CuPy
operations, leading to a specific signature in global GPU metrics that the receiver can infer. In more
detail, in this work, we focus on encoding the information by altering the following GPU metrics:
temperature [°C], power usage [watt], GPU usage [%], memory usage [Mb], cache usage [%], and the
frequency of the video clocks [MHz].</p>
      <p>To design a suitable “secret alphabet”, we performed several tests to understand possible
CuPyoperations-to-metric mappings. As an example, Figure 2 showcases how the GPU metrics vary when a
burden of operations is created by a process executing the cupy.dot function, which is responsible
for performing a dot product of two arrays. Instead, Figure 3 reports a similar investigation for the
cupy.mean, which computes the arithmetic mean over a sequence. As it can be noticed, only cupy.dot
leads to some visible alterations, which can be used to encode information. When using cupy.dot, the
selected metrics seem insensitive to the load. Despite the used CuPy functions, the usage of resources
should be coherent with the undetectability of the channel, for instance, to not cause delays or lags at a
system-wide level that can reveal that the covert communication attempt is ongoing.</p>
      <p>
        As a final remark, we point out that part of the design pipeline at the basis of this covert channel
may resemble a side-channel attack. The proposed encoding/decoding process leverages a mapping
between the CuPy-generated workload and the behavior of the metric (e.g., the power usage as depicted
in Figure 2). However, our reference scenario is diferent from classic side-channel attacks since we are
not assuming the presence of an external malicious entity, see, e.g., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] and the references therein for
the case of inferring data through power consumptions of GPUs. Instead, we consider two colluding
GPU processes wanting to transfer information even without a direct software/hardware shared path
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Implementation and Testbed</title>
      <p>We decoupled the transmission and receiving phases to prepare a proof-of-concept implementation of
the proposed covert channel targeting GPU architectures. Specifically, the transmitting process (i.e., the
secret sender) is responsible for encoding the hidden message within a variable amount of operations
generated via functions of the CuPy library. As regards the receiving process, we implemented two
main functional components. The first is wrapped around the system management interface ofered by
NVIDIA for collecting information on its hardware. Thus, we used the nvidia-smi command to collect
all the metrics discussed in Section 3. The second is the decoding stage, which relies upon artificial
intelligence tools to prevent the need to develop suitable decoding rules.</p>
      <p>
        The adopted AI-based pipeline has been implemented by using the Random Convolutional Kernel
Transform method3 to extract temporal patterns from the considered GPU metrics [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ]. To decode
the binary digits 1 and 0, we took advantage of the RidgeClassifierCV model 4, mainly owing to its
automatic regularization capability via cross-validation. Although this approach may seem excessive
for a proof-of-concept, it allowed us to quickly validate the possibility of decoding the metric patterns
induced by CuPy operations. Replacing the AI-based decoding stage with lighter heuristics, possibly
optimized for real-time processing, is part of our future research.
      </p>
      <p>Implementing the overall testbed required to face several technical challenges. The main one deals
with the synchronization between the secret sender and the covert receiver (i.e., the two processes
in charge of implementing the covert communication approaches). In fact, without proper timing
constraints, metric patterns from consecutive operations could overlap, thus causing a misalignment
that prevents the decoding of the secret message. To fix this issue, controlled delays between the various
cupy.dot operations were introduced to guarantee adequate temporal separation and prevent the need
for more sophisticated synchronization schemes. Another dificulty we had to face was the “noise”
generated by competing processes on the GPU. In this case, the volume of operations executed over the
various execution cores could degrade the “envelope” conveying the information needed to implement
the covert channel. As a prime workaround, experiments have been done in a partially-controlled
environment. Nevertheless, non-deterministic variations in the behavior of the GPU required to repeat
the execution of operations to obtain consistent averaged data, useful for both model training and
analysis. Testing channels in more challenging environments or scenarios is part of our ongoing
research.</p>
      <p>The obtained dataset consists of 300 diferent runs of the following CuPy operations: matmul, dot,
linalg, sort, transpose, sum, sin, exp, log, rand, mean, and std. For each run, we sampled values
with a rate of 3 seconds, which allowed us to avoid overlaps and guaranteed a proper stabilization of
the measured metrics. The resulting dataset has been split so that the 70% of the entries were used for
the training phase, whereas the remaining 30% was used for tests.</p>
      <p>The sender process has been implemented with a Python script and the CuPy library. In contrast,
the receiver process exploits the Scikit-learn 5 and Scikit-time 6 frameworks. For this preliminary
investigation, we did not further tune the model hyperameters, since they already provided satisfactory
results. To perform tests, we used a host with Intel Core i7-9750H and 8 Gbyte of RAM and an NVIDIA
RTX 2060 with 30 trace cores, 240 tensor cores, 1, 920 CUDA cores, 6 Gbyte of RAM, and a clock
frequency in the 960 − 1, 200 MHz range. The host ran Linux with Ubuntu 24.04 LTS. The various CuPy
operations were repeated several times on matrices of 4, 000 × 4, 000 elements for proper statistical
relevance. This allowed the generation of workloads capable of altering the metric sensibly, i.e., to
produce proper patterns.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Experimental Results</title>
      <p>In this section, we present results obtained through our proof-of-concept implementation. First, we
investigate the “best” metrics to implement covert communications, especially from the perspective
of developing a suitable AI-based receiver. Then, we focus on analyzing the obtained covert channel.
Lastly, we briefly introduce some countermeasures and mitigation techniques.</p>
      <sec id="sec-5-1">
        <title>5.1. Feature Selection</title>
        <p>GPU metrics serve as input features for training the classification model. To build an eficient classifier,
feature selection was performed by using feature importance and permutation importance, which are
3Random Convolutional Kernel Transform reference documentation: https://www.sktime.net/en/latest/api_reference/auto_
generated/sktime.transformations.panel.rocket.Rocket.html
4RidgeClassifierCV reference documentation: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.
RidgeClassifierCV.html
5Scikit-learn reference documentation: https://scikit-learn.org/stable/
6Scikit-time reference documentation: https://www.sktime.net/en/latest/index.html
• Feature Importance: it quantifies the relative contribution of each GPU metric to the correct
classification of GPU operations according to four statistical values: mean, standard deviation,
minimum, and maximum. The relationship between values and GPU metrics is calculated through
a Random Forest classifier that can handle high-dimensionality data and directly provide feature
importance scores for each statistical value. The importance score of each GPU metric is calculated
by averaging its statistical values. Figure 4 suggests that the most important are the mean power
usage and the mean GPU usage.
• Permutation Importance: it evaluates the relevance of the metrics by measuring the accuracy
drop when the feature values are shufled randomly. Significant accuracy losses imply critical
features for classification. According to Figure 5 power and GPU usage are the most relevant
indicators for the classification task.</p>
        <p>Table 1 shows the accuracy of the classifier when used against the various CuPy operations.
Specifically, the table reports the bit-to-operation mapping, which is the result of encoding a single binary
digit with a specific CuPy function, e.g., cupy.dot to encode the digit 1. As shown, the best encodings
are those with an accuracy higher than 60%, denoted in bold in the table. Specifically, best results are
achieved when the covert channel is built via operations producing a relevant burden on the GPU, e.g.,
the cupy.dot and the cupy.matmul. The table also reports “advanced” mappings, i.e., when diferent
binary values are associated with diferent CuPy functions. For instance, an accuracy higher than 99% is
achieved by encoding the value 1 with the cupy.matmul and the value 0 with the cupy.sort.</p>
        <p>Single Operation Encoding Per-digit Encoding
Name Accuracy Name Accuracy
dot 68.71% matmul, dot 56.45%
exp 29.03% matmul, linalg 81.45%
linalg 90.32% matmul, sort 99.84%
log 29.68% matmul, transpose 99.19%
matmul 61.61% dot, linalg 82.26%
mean 22.90% dot, sort 98.39%
rand 24.52% dot, transpose 99.68%
sin 26.13% linalg, sort 99.84%
sort 99.68% linalg, transpose 99.19%
std 44.84% sort, transpose 99.84%
sum 36.77%
transpose 61.94%</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Covert Channel Analysis</title>
        <p>To showcase the behavior of the proposed hidden communication approach, Figure 6 depicts an example
of a transmission cloaked within three diferent GPU metrics when the covert endpoints operate in a
controlled environment. Specifically, the example considers the exfiltration of the 101001 message. Each
digit has been encoded via suitable operations generated by the cupy.sort and cupy.dot functions
Encoding {1, 0}
matmul-sort
matmul-transpose
dot-transpose
linalg-sort
linalg-transpose
sort-transpose
for the binary value 1 and 0, respectively. As shown, the cache, GPU, and power utilization GPU
metrics suggest the presence of some encoded hidden data. The receiver exploits this behavior to
decode the secret but leaves a visible signature that could be exploited to reveal the presence of covert
communication. However, the various patterns will be less detectable when the attacker operates in a
more realistic environment, i.e., when other processes compete for the GPU.</p>
        <p>In this vein, we also performed a round of tests in a more realistic scenario. Specifically, during
the covert communication, the host is loaded with user-defined operations, such as using Google
Chrome to simulate a browsing session. Despite being simple, this configuration allowed us to conduct
a prime assessment of the robustness of the channel. Evaluating the channel in more realistic settings
is left as a future development. Table 2 provides results when the covert endpoints exfiltrate a 8-bit
long message. As shown, the time needed to transmit the secret information (i.e., the steganographic
bandwidth) is insensitive from the used CuPy functions, mainly due to the pseudo-syncing mechanism
used to “decouple” the patterns within the metrics for preventing overlaps. Instead, the BER is highly
influenced by the encoding scheme. In our setting, best results are achieved when the binary digit 1
is encoded through a volume of operations performed with the cupy.sort and the digit 0 with the
cupy.transpose.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. Covert Channel Mitigation</title>
        <p>
          An essential aspect concerns the mitigation of threats taking advantage of covert channels targeting
the GPU. Our findings prove the intuition that having a resource with a “global” visibility should
be considered a suitable carrier for hiding information (see, e.g., for the case of virtualized software
components sharing portions of the /proc filesystem [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]). Therefore, countermeasures could be
designed to act at diferent software layers. For instance, the most important computing libraries (i.e.,
CuPy in our work) could be checked at the design stage to identify and limit the behaviors that can be
manipulated by disjoint processes sharing some visibility properties [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Moreover, according to the
security requirements, most sensitive deployments could use hardened device drivers that introduce
some variability in the scheduled operations, for instance, when they have a commutative relation.
Another possible approach is to make the overall OS more secure, e.g., by not reporting precise GPU
metrics. In our case, it could be suficient to patch the nvidia-smi command for returning noisy data
to untrusted processes.
        </p>
        <p>
          When eliminating the channel is impossible, detecting colluding GPU processes at runtime would
be desirable. To this aim, the results obtained when designing the AI-based detector can play a major
role (see Section 5.1). In fact, despite being simple, the model trained demonstrated its efectiveness
in decoding the hidden information starting from patterns within the various GPU metrics. Hence,
suitable models could be deployed to recognize processes trying to exfiltrate data via a covert channel
[
          <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this paper, we presented a new, proof-of-concept implementation of a covert channel targeting
GPU architectures. To this aim, we exploited the CuPy library to create “suitable” signatures within
globally-observable metrics (e.g., the % of used cache) to encode secret information. Results indicate the
feasibility of this class of covert attacks, especially when using the cupy.sort and cupy.transpose
functions. The limitations of this prime investigation are the use of a partially controlled environment
and the adoption of an AI-based decoder. Removing such constraints is part of our current research
work.</p>
      <p>A relevant ongoing research item focuses on creating suitable countermeasures against threats
endowed with covert communication capabilities. To this aim, we are working towards a more robust
implementation (e.g., through a larger encoding alphabet based on additional CuPy operations) to
have more advanced test conditions. For instance, a viable approach concerns the introduction of
random “fluctuations” on the GPU workload to disrupt the secret data or impair the various hidden
communication paths. Yet, this approach should be carefully engineered, as it could degrade the
performance of legitimate operations flows. Another idea is to act at the device driver/software level,
for instance, by not reporting precise GPU metrics (e.g., by patching the nvidia-smi command) to
process not considered trusted or by reducing its accuracy.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was partially supported by project SERICS (PE00000014) under the NRRP MUR program
funded by the EU - NGEU.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <sec id="sec-8-1">
        <title>The authors have not employed any Generative AI tools.</title>
        <p>• GitHub: Covert Channel.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Mittal</surname>
          </string-name>
          ,
          <article-title>Sparsh and Abhinaya, SB and Reddy, Manish and Ali, Irfan, A survey of techniques for improving security of gpus</article-title>
          ,
          <source>Journal of Hardware and Systems Security</source>
          <volume>2</volume>
          (
          <year>2018</year>
          )
          <fpage>266</fpage>
          -
          <lpage>285</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          ,
          <article-title>Zhiting and Kim, Sangman and Rozhanski, Yuri and Hu, Yige and Witchel, Emmett and Silberstein, Mark, Understanding the security of discrete GPUs</article-title>
          ,
          <source>in: Proceedings of the General Purpose GPUs</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Tan</surname>
            , Sijun and Knott, Brian and Tian, Yuan and Wu,
            <given-names>David J</given-names>
          </string-name>
          ,
          <article-title>CryptGPU: Fast privacy-preserving machine learning on the GPU, in: 2021 IEEE Symposium on Security and Privacy (SP)</article-title>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>1021</fpage>
          -
          <lpage>1038</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Hettwer</surname>
          </string-name>
          ,
          <article-title>Benjamin and Gehrer, Stefan and Güneysu, Tim, Applications of machine learning techniques in side-channel attacks: a survey</article-title>
          ,
          <source>Journal of Cryptographic Engineering</source>
          <volume>10</volume>
          (
          <year>2020</year>
          )
          <fpage>135</fpage>
          -
          <lpage>162</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Pietro</surname>
            ,
            <given-names>Roberto</given-names>
          </string-name>
          <string-name>
            <surname>Di</surname>
          </string-name>
          and Lombardi, Flavio and Villani, Antonio, Cuda leaks:
          <article-title>a detailed hack for cuda and a (partial) fix</article-title>
          ,
          <source>ACM Transactions on Embedded Computing Systems (TECS) 15</source>
          (
          <year>2016</year>
          )
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , Sangho and Kim, Youngsok and Kim, Jangwoo and Kim, Jong,
          <article-title>Stealing webpages rendered on your browser by exploiting GPU vulnerabilities</article-title>
          ,
          <source>in: 2014 IEEE Symposium on Security and Privacy</source>
          , IEEE,
          <year>2014</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Dutta</surname>
            ,
            <given-names>Sankha</given-names>
          </string-name>
          <string-name>
            <surname>Baran</surname>
          </string-name>
          ,
          <article-title>Covert-and Side-Channel Attacks on Integrated and Distributed GPU Systems</article-title>
          , University of California, Riverside,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Sankha</given-names>
            <surname>Baran</surname>
          </string-name>
          <article-title>Dutta and Hoda Naghibijouybari and Arjun Gupta and Nael B</article-title>
          .
          <article-title>Abu-Ghazaleh and Andrés Márquez</article-title>
          and
          <string-name>
            <surname>Kevin J. Barker</surname>
          </string-name>
          ,
          <article-title>Spy in the GPU-box: Covert and Side Channel Attacks on Multi-GPU Systems</article-title>
          ,
          <year>2022</year>
          . URL: https://api.semanticscholar.org/CorpusID:247793965.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Kim</surname>
            , Hodong and Hahn, Changhee and Kim,
            <given-names>Hyunwoo J</given-names>
          </string-name>
          and
          <string-name>
            <surname>Shin</surname>
          </string-name>
          , Youngjoo and Hur, Junbeom,
          <article-title>Deep learning based detection for multiple cache side-channel attacks</article-title>
          ,
          <source>IEEE Transactions on Information Forensics and Security</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Wei</surname>
          </string-name>
          , Junyi and Zhang, Yicheng and Zhou, Zhe and Li, Zhou and Al Faruque,
          <article-title>Mohammad Abdullah, Leaky dnn: Stealing deep-learning model secret with gpu context-switching side-channel</article-title>
          ,
          <source>in: 2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)</source>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Caviglione</surname>
          </string-name>
          ,
          <article-title>Luca and Mazurczyk, Wojciech, Never mind the malware, here's the stegomalware</article-title>
          ,
          <source>IEEE Security &amp; Privacy</source>
          <volume>20</volume>
          (
          <year>2022</year>
          )
          <fpage>101</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Cabaj</surname>
          </string-name>
          ,
          <article-title>Krzysztof and Caviglione, Luca and Mazurczyk, Wojciech and Wendzel, Stefen and Woodward, Alan and Zander, Sebastian, The new threats of information hiding: The road ahead</article-title>
          ,
          <source>IT professional 20</source>
          (
          <year>2018</year>
          )
          <fpage>31</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Betz</surname>
          </string-name>
          ,
          <article-title>Johann and Westhof, Dirk and Müller, Günter, Survey on covert channels in virtual machines and cloud computing</article-title>
          ,
          <source>Transactions on Emerging Telecommunications Technologies</source>
          <volume>28</volume>
          (
          <year>2017</year>
          )
          <article-title>e3134</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Saenger</surname>
          </string-name>
          , Jens and Mazurczyk, Wojciech and Keller, Jörg and Caviglione, Luca,
          <article-title>VoIP network covert channels to enhance privacy and information sharing</article-title>
          ,
          <source>Future Generation Computer Systems</source>
          <volume>111</volume>
          (
          <year>2020</year>
          )
          <fpage>96</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Wendzel</surname>
          </string-name>
          ,
          <article-title>Stefen and Zander, Sebastian and Fechner, Bernhard and Herdin, Christian, Patternbased survey and categorization of network covert channel techniques</article-title>
          ,
          <source>ACM Computing Surveys (CSUR) 47</source>
          (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Bartolini</surname>
          </string-name>
          ,
          <string-name>
            <surname>Davide</surname>
            <given-names>B</given-names>
          </string-name>
          and
          <string-name>
            <surname>Miedl</surname>
          </string-name>
          , Philipp and Thiele, Lothar,
          <article-title>On the capacity of thermal covert channels in multicores</article-title>
          ,
          <source>in: Proceedings of the Eleventh European Conference on Computer Systems</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Caviglione</surname>
          </string-name>
          ,
          <article-title>Luca, Trends and challenges in network covert channels countermeasures</article-title>
          ,
          <source>Applied Sciences</source>
          <volume>11</volume>
          (
          <year>2021</year>
          )
          <fpage>1641</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Makhdoom</surname>
          </string-name>
          ,
          <article-title>Imran and Abolhasan, Mehran and Lipman, Justin, A comprehensive survey of covert communication techniques, limitations and future challenges</article-title>
          ,
          <source>Computers &amp; Security</source>
          <volume>120</volume>
          (
          <year>2022</year>
          )
          <fpage>102784</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , Yinqian and Juels, Ari and Reiter,
          <string-name>
            <surname>Michael</surname>
            <given-names>K</given-names>
          </string-name>
          and Ristenpart, Thomas,
          <article-title>Cross-VM side channels and their use to extract private keys</article-title>
          ,
          <source>in: Proceedings of the 2012 ACM conference on Computer and communications security</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>305</fpage>
          -
          <lpage>316</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Mazurczyk</surname>
          </string-name>
          ,
          <article-title>Wojciech and Caviglione, Luca, Steganography in modern smartphones and mitigation techniques</article-title>
          ,
          <source>IEEE Communications Surveys &amp; Tutorials</source>
          <volume>17</volume>
          (
          <year>2014</year>
          )
          <fpage>334</fpage>
          -
          <lpage>357</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Luo</surname>
          </string-name>
          ,
          <article-title>Chao and Fei, Yunsi and Luo, Pei and Mukherjee, Saoni and Kaeli, David, Side-channel power analysis of a GPU AES implementation</article-title>
          ,
          <source>in: 2015 33rd IEEE International Conference on Computer Design (ICCD)</source>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>281</fpage>
          -
          <lpage>288</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Bier</surname>
          </string-name>
          ,
          <article-title>Agnieszka and Jastrzebska, Agnieszka and Olszewski, Paweł, Variable-length multivariate time series classification using ROCKET: a case study of incident detection</article-title>
          ,
          <source>IEEE Access 10</source>
          (
          <year>2022</year>
          )
          <fpage>95701</fpage>
          -
          <lpage>95715</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Dempster</surname>
          </string-name>
          , Angus and Petitjean, François and Webb,
          <string-name>
            <surname>Geofrey</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <article-title>ROCKET: exceptionally fast and accurate time series classification using random convolutional kernels</article-title>
          ,
          <source>Data Mining and Knowledge Discovery</source>
          <volume>34</volume>
          (
          <year>2020</year>
          )
          <fpage>1454</fpage>
          -
          <lpage>1495</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Zuppelli</surname>
          </string-name>
          ,
          <article-title>Marco and Guarascio, Massimo and Caviglione, Luca and Liguori, Angelica, No Country for Leaking Containers: Detecting Exfiltration of Secrets Through AI and Syscalls</article-title>
          ,
          <source>in: Proceedings of the 19th International Conference on Availability, Reliability and Security</source>
          ,
          <year>2024</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Kemmerer</surname>
          </string-name>
          ,
          <string-name>
            <surname>Richard</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <article-title>Shared resource matrix methodology: An approach to identifying storage and timing channels</article-title>
          ,
          <source>ACM Transactions on Computer Systems (TOCS) 1</source>
          (
          <year>1983</year>
          )
          <fpage>256</fpage>
          -
          <lpage>277</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>