©2024 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. DOI: To be generated.

Koopman Operator-based Detection-Isolation of
Cyberattack: A Case Study on Electric Vehicle Charging

Sanchita Ghosh Department of Mechanical Engineering, Texas Tech University, Lubbock, TX 79409, US. Emails: [email protected], [email protected]. Tanushree Roy Department of Mechanical Engineering, Texas Tech University, Lubbock, TX 79409, US. Emails: [email protected], [email protected].
Abstract

One of the key challenges towards the reliable operation of cyber-physical systems (CPS) is the threat of cyberattacks on system actuation signals and measurements. In recent years, system theoretic research has focused on effectively detecting and isolating these cyberattacks to ensure proper restorative measures. Although both model-based and model-free approaches have been used in this context, the latter are increasingly becoming more popular as complexities and model uncertainties in CPS increases. Thus, in this paper we propose a Koopman operator-based model-free cyberattack detection-isolation scheme for CPS. The algorithm uses limited system measurements for its training and generates real-time detection-isolation flags. Furthermore, we present a simulation case study to detect and isolate actuation and sensor attacks in a Lithium-ion battery system of a plug-in electric vehicle during charging.

1 INTRODUCTION

Cyber-physical systems (CPSs) have become an integral part of the modern infrastructure attributing to their significant addition in improved control and computational efficiency [1]. However, the operational reliability of CPSs hinges on the accurate sensor measurements, and reliable actuation which may be corrupted by cyberattacks [2]. Thus, much research has been focused on ensuring attack detection under both sensor and actuation attacks [3, 4, 5, 6]. Authors in [7, 8, 9] have proposed control-theoretic frameworks for various cyberattack policies and analyzed fundamental limitations in detecting them. In addition to detection, isolating the source of the attack is equally important to ensure mitigation and quick recovery after attack [10]. In the context of cyberattack isolation, multiple observers-based filters have been designed to isolate actuation attacks and sensor attacks in [11, 12]. Similarly, a model-based data-driven isolation approach has been exploited in [13] for mobile robots. In these works [11, 12, 13], complete model knowledge and considerable training data have been used for isolation. However, reliable system model knowledge and sufficient training data are not always available for nonlinear systems with complex dynamics. Hence, data-driven model-free approaches are often preferable for such systems [14].

Model-free data-driven approaches based on the Koopman Operator (KO) have thus received a considerable amount of attention in recent years [15, 16]. Unlike other model-free data-driven approaches such as machine learning, the Koopman analysis can identify the presence of anomaly in the case of unforeseen scenarios and insufficient training data [14, 17]. In [18] and[17], authors focused on clustering of the Koopman Modes to identify the presence of anomalies and cyberattacks in system measurement, respectively. Moreover, [17] utilized embedding of spatial information in the Koopman modes to distinguish between sensor attacks and natural changes in system behavior. However, these model-free methods have not addressed the issue of isolation between the occurrence of an actuation attack vs a sensor attack on the system.

To address these research gaps, our contributions in this work are as follows.

  1. 1.

    We propose a KO-based real-time detection-isolation scheme for actuation and sensor attacks in CPS.

  2. 2.

    The proposed scheme assumes no knowledge of the system model, requires only system measurements, and is trained online with limited data.

  3. 3.

    We also derive the analytical conditions where actuation and sensor cyberattacks will be indistinguishable and thereby formalizing the fundamental limitations of the proposed isolation scheme.

  4. 4.

    Finally, we present a case study on compromised charging of a Lithium-ion battery system for a plug-in electric vehicle to illustrate the efficacy of our scheme.

The rest of the paper is organized as follows: Section 2 presents the theoretical background for Koopman analysis. Section 3 explains the framework for this work and Section 4 introduces the proposed detection- isolation scheme. Next, we present our simulation case study on the plug-in electric vehicles under cyberattack during charging in Section 5. Finally, Section 6 concludes our work.

Notations: In this paper, a˙˙𝑎\dot{a}over˙ start_ARG italic_a end_ARG denotes the time derivative of the vector a𝑎aitalic_a; ||||F||\cdot||_{F}| | ⋅ | | start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT denotes the Frobenious norm; Asuperscript𝐴A^{\dagger}italic_A start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT denotes the Moore-Penrose (Pseudo) inverse of the matrix A𝐴Aitalic_A.

2 PRELIMINARIES ON KOOPMAN OPERATOR

In this section, we first present a brief overview of the KO analysis and then discuss a data-driven approach for the practical implementation of the operator.

2.1 Definition

Let us first consider a CPS such that the physical part exhibits nonlinear dynamics defined as

x˙=f(x(t),u(t));y(t)=h(x(t)),formulae-sequence˙𝑥𝑓𝑥𝑡𝑢𝑡𝑦𝑡𝑥𝑡\displaystyle\dot{x}=f(x(t),u(t));\quad y(t)=h(x(t)),over˙ start_ARG italic_x end_ARG = italic_f ( italic_x ( italic_t ) , italic_u ( italic_t ) ) ; italic_y ( italic_t ) = italic_h ( italic_x ( italic_t ) ) , (1)

where x𝐗d𝑥𝐗superscript𝑑x\in\mathbf{X}\subset\mathbb{R}^{d}italic_x ∈ bold_X ⊂ blackboard_R start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT is the state vector, u𝐔p𝑢𝐔superscript𝑝u\in\mathbf{U}\subset\mathbb{R}^{p}italic_u ∈ bold_U ⊂ blackboard_R start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT is the control input, yq𝑦superscript𝑞y\in\mathbb{R}^{q}italic_y ∈ blackboard_R start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT is the output, and h:𝐗q:𝐗superscript𝑞h:\mathbf{X}\rightarrow\mathbb{R}^{q}italic_h : bold_X → blackboard_R start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT denotes the nonlinear output function. Here the system dynamics f:𝐗×𝐔d:𝑓𝐗𝐔superscript𝑑f:\mathbf{X}\times\mathbf{U}\rightarrow\mathbb{R}^{d}italic_f : bold_X × bold_U → blackboard_R start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT is a (continuously differentiable) nonlinear function and the flow map Φt(x,u)superscriptΦ𝑡𝑥𝑢\Phi^{t}(x,u)roman_Φ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ( italic_x , italic_u ) is a solution of the ODE (1) for the time between [0,t]0𝑡[0,t][ 0 , italic_t ]. Our primary objective in using KO theory is to obtain an linear, infinite-dimensional state dynamics that approximate the nonlinear, finite-dimensional state dynamics in (1) [19]. Additionally, data-driven approaches towards approximating the KO have enabled us to learn the dynamics of systems with uncertainty, nonlinearity, and complexity using computationally efficient algorithms and limited data (vide references in [15]).

To define the KO, let us consider an infinite-dimensional Hilbert space of observable functions \mathcal{F}caligraphic_F. Furthermore, since the boundedness of the KO is not guaranteed, we assume that our KO has infinitely many discreet eigenvalues corresponding to infinitely many eigen-observables. Then the set of KO on this space of observables, 𝒦t::superscript𝒦𝑡\mathcal{K}^{t}:\mathcal{F}\rightarrow\mathcal{F}caligraphic_K start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT : caligraphic_F → caligraphic_F is defined using the Koopman eigenfunctions (KEF), ϕitalic-ϕ\phi\in\mathcal{F}italic_ϕ ∈ caligraphic_F, and the corresponding Koopman eigenvalues (KEV), λ𝜆\lambda\in\mathbb{C}italic_λ ∈ blackboard_C, as [20]:

[𝒦tϕ](x,u)=ϕ(Φt(x,u))=eλtϕ(x,u);delimited-[]superscript𝒦𝑡italic-ϕ𝑥𝑢italic-ϕsuperscriptΦ𝑡𝑥𝑢superscript𝑒𝜆𝑡italic-ϕ𝑥𝑢\displaystyle\left[\mathcal{K}^{t}\phi\right](x,u)=\phi\left(\Phi^{t}(x,u)% \right)=e^{\lambda t}\phi(x,u);[ caligraphic_K start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_ϕ ] ( italic_x , italic_u ) = italic_ϕ ( roman_Φ start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ( italic_x , italic_u ) ) = italic_e start_POSTSUPERSCRIPT italic_λ italic_t end_POSTSUPERSCRIPT italic_ϕ ( italic_x , italic_u ) ; (2)

The primary significance of (2) lies in the fact that the KO evolves the KEFs linearly. Now, we can consider ψ^(x)k^𝜓𝑥superscript𝑘{\hat{\psi}}(x)\in\mathbb{C}^{k}over^ start_ARG italic_ψ end_ARG ( italic_x ) ∈ blackboard_C start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT be any vector-valued observable function that lies on the space =span{ϕi}i=1spansuperscriptsubscriptsubscriptitalic-ϕ𝑖𝑖1\mathcal{F}=\text{span}\{\phi_{i}\}_{i=1}^{\infty}caligraphic_F = span { italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT where the KEFs ϕi:𝐗:subscriptitalic-ϕ𝑖𝐗\phi_{i}:\mathbf{X}\rightarrow\mathbb{C}italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : bold_X → blackboard_C are the eigen-observables. Then ψ^(x)^𝜓𝑥{\hat{\psi}}(x)over^ start_ARG italic_ψ end_ARG ( italic_x ) can be expanded in terms of KEFs as ψ^(x)=i=1ϕiviψ^.^𝜓𝑥superscriptsubscript𝑖1subscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖^𝜓{\hat{\psi}}(x)=\sum_{i=1}^{\infty}\phi_{i}v_{i}^{\hat{\psi}}.over^ start_ARG italic_ψ end_ARG ( italic_x ) = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT over^ start_ARG italic_ψ end_ARG end_POSTSUPERSCRIPT . Here the Koopman Modes (KM) viψ^ksuperscriptsubscript𝑣𝑖^𝜓superscript𝑘v_{i}^{\hat{\psi}}\in\mathbb{C}^{k}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT over^ start_ARG italic_ψ end_ARG end_POSTSUPERSCRIPT ∈ blackboard_C start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT are the coefficients of the projection of ψ^(x)^𝜓𝑥{\hat{\psi}}(x)over^ start_ARG italic_ψ end_ARG ( italic_x ) onto the span{ϕi}i=1superscriptsubscriptsubscriptitalic-ϕ𝑖𝑖1\{\phi_{i}\}_{i=1}^{\infty}{ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT [21]. Furthermore, such expansion in terms of KEFs and KMs is referred to as Koopman Mode Decomposition (KMD).

Remark 1.

It should be noted from (2), that the KEFs and KEVs are solely dependent on the system dynamics and the function space \mathcal{F}caligraphic_F. On the other hand, the KMs viψ^superscriptsubscript𝑣𝑖^𝜓v_{i}^{\hat{\psi}}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT over^ start_ARG italic_ψ end_ARG end_POSTSUPERSCRIPT are specific to the observable ψ^(x)^𝜓𝑥{\hat{\psi}}(x)over^ start_ARG italic_ψ end_ARG ( italic_x ).

Next, using assumptions in [15], if the observable function ψ^(x)^𝜓𝑥{\hat{\psi}}(x)over^ start_ARG italic_ψ end_ARG ( italic_x ) lies in the subspace spanned by the finite set of KEFs, a good approximation can be achieved by ψ^(x)=i=1nϕiviψ^^𝜓𝑥superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖^𝜓{\hat{\psi}}(x)=\sum\limits_{i=1}^{n}\phi_{i}v_{i}^{\hat{\psi}}over^ start_ARG italic_ψ end_ARG ( italic_x ) = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT over^ start_ARG italic_ψ end_ARG end_POSTSUPERSCRIPT. Moreover, we can assume that the measurements of the system (1) are special observable functions [16]. This is mathematically expressed in the following assumption.

Assumption 1.

There exist a finite subset of KEFs ϕi(x),i{1,2,,n}subscriptitalic-ϕ𝑖𝑥for-all𝑖12𝑛\phi_{i}(x),\forall i\in\{1,2,\cdots,n\}italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) , ∀ italic_i ∈ { 1 , 2 , ⋯ , italic_n } for n>d𝑛𝑑n>ditalic_n > italic_d, such that the system (1) can be represented as y=h(x)=i=1nϕi(x)vih.𝑦𝑥superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖y=h(x)=\sum\limits_{i=1}^{n}\phi_{i}(x)v_{i}^{h}.italic_y = italic_h ( italic_x ) = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT . In other words, we can estimate a finite subset of KEFs such that the h(x)𝑥h(x)italic_h ( italic_x ) lies in the subspace n=span{ϕ}i=1nsuperscript𝑛spansuperscriptsubscriptitalic-ϕ𝑖1𝑛\mathcal{F}^{n}=\text{span}\{\phi\}_{i=1}^{n}caligraphic_F start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT = span { italic_ϕ } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT. Here vihqsuperscriptsubscript𝑣𝑖superscript𝑞v_{i}^{h}\in\mathbb{C}^{q}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∈ blackboard_C start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT are the KMs asSOCiated with the measurements.

2.2 Implementation

Delay Embedding is a data-driven approach where Taken’s theorem is exploited to obtain a reliable approximation of system states from a consecutive measurement data sequence [22]. This also provides a means to learn a lower dimensional Koopman invariant space and the corresponding KMD [23]. We consider here that only the measurement and input data matrices are available and we arrange them as follows.

Yb=[D1D2Dmτ1],subscript𝑌𝑏matrixsubscript𝐷1subscript𝐷2subscript𝐷𝑚𝜏1\displaystyle Y_{b}=\begin{bmatrix}D_{1}&D_{2}&\cdots&D_{m-\tau-1}\end{bmatrix},italic_Y start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_D start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL italic_D start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL italic_D start_POSTSUBSCRIPT italic_m - italic_τ - 1 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , (3)
Ys=[D2D3Dmτ],subscript𝑌𝑠matrixsubscript𝐷2subscript𝐷3subscript𝐷𝑚𝜏\displaystyle Y_{s}=\begin{bmatrix}D_{2}&D_{3}&\cdots&D_{m-\tau}\end{bmatrix},italic_Y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_D start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL start_CELL italic_D start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL italic_D start_POSTSUBSCRIPT italic_m - italic_τ end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] , (4)
Ub=[u1+τu2+τum1].subscript𝑈𝑏matrixsubscript𝑢1𝜏subscript𝑢2𝜏subscript𝑢𝑚1\displaystyle U_{b}=\begin{bmatrix}u_{1+\tau}&u_{2+\tau}&\cdots&u_{m-1}\end{% bmatrix}.italic_U start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_u start_POSTSUBSCRIPT 1 + italic_τ end_POSTSUBSCRIPT end_CELL start_CELL italic_u start_POSTSUBSCRIPT 2 + italic_τ end_POSTSUBSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL italic_u start_POSTSUBSCRIPT italic_m - 1 end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] . (5)

Here Dl=[ylTulTyl+1Tul+1Tyl+τT]Tsubscript𝐷𝑙superscriptmatrixsuperscriptsubscript𝑦𝑙𝑇superscriptsubscript𝑢𝑙𝑇superscriptsubscript𝑦𝑙1𝑇superscriptsubscript𝑢𝑙1𝑇superscriptsubscript𝑦𝑙𝜏𝑇𝑇D_{l}=\begin{bmatrix}y_{l}^{T}&u_{l}^{T}&y_{l+1}^{T}&u_{l+1}^{T}&\cdots&y_{l+% \tau}^{T}\end{bmatrix}^{T}italic_D start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = [ start_ARG start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL italic_u start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL italic_y start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL italic_u start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL ⋯ end_CELL start_CELL italic_y start_POSTSUBSCRIPT italic_l + italic_τ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT; ylqsubscript𝑦𝑙superscript𝑞y_{l}\in\mathbb{R}^{q}italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT and ulpsubscript𝑢𝑙superscript𝑝u_{l}\in\mathbb{R}^{p}italic_u start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT for the system (1) at the l𝑙litalic_l-th time instant; τ𝜏\tauitalic_τ is the embedded delay. Next, we assume that for sufficiently embedded data matrices, we can obtain Koopman linear approximation for the system (1) from the optimization problem posed below.

YsAYb+BUb,subscript𝑌𝑠𝐴subscript𝑌𝑏𝐵subscript𝑈𝑏\displaystyle Y_{s}\approx AY_{b}+BU_{b},italic_Y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ≈ italic_A italic_Y start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT + italic_B italic_U start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , (6)
minΛYsΛΥF,Υ=[YbUb]T,subscriptΛsubscriptnormsubscript𝑌𝑠ΛΥ𝐹Υsuperscriptmatrixsubscript𝑌𝑏subscript𝑈𝑏𝑇\displaystyle\min\limits_{\Lambda}||Y_{s}-\,\Lambda\Upsilon||_{F},\,\,\,% \Upsilon=\begin{bmatrix}Y_{b}&U_{b}\end{bmatrix}^{T},roman_min start_POSTSUBSCRIPT roman_Λ end_POSTSUBSCRIPT | | italic_Y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - roman_Λ roman_Υ | | start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT , roman_Υ = [ start_ARG start_ROW start_CELL italic_Y start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_CELL start_CELL italic_U start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT , Λ=[AB].Λmatrix𝐴𝐵\displaystyle\,\,\,\Lambda=\begin{bmatrix}A&B\end{bmatrix}.roman_Λ = [ start_ARG start_ROW start_CELL italic_A end_CELL start_CELL italic_B end_CELL end_ROW end_ARG ] . (7)

The analytical least-square solution of (7) can be found as Λ=YsΥΛsubscript𝑌𝑠superscriptΥ\Lambda=Y_{s}\Upsilon^{\dagger}roman_Λ = italic_Y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT roman_Υ start_POSTSUPERSCRIPT † end_POSTSUPERSCRIPT. Notably, for our proposed scheme, the delay method is applied over a sliding window to first learn the model and subsequently predict it over a receding horizon. Hence, we define a moving window sequence of W𝑊Witalic_W observations and for W~<W~𝑊𝑊\tilde{W}<Wover~ start_ARG italic_W end_ARG < italic_W we split the window into two sub-sequence: Learning window:𝔏{sW,,sW~},Learning window:𝔏𝑠𝑊𝑠~𝑊\text{Learning window:}\,\,\quad\mathfrak{L}\in\{s-W,\cdots,s-\tilde{W}\},Learning window: fraktur_L ∈ { italic_s - italic_W , ⋯ , italic_s - over~ start_ARG italic_W end_ARG } , and Prediction window:𝔓{sW~+1,,s}Prediction window:𝔓𝑠~𝑊1𝑠\text{Prediction window:}\quad\mathfrak{P}\in\{s-\tilde{W}+1,\cdots,s\}Prediction window: fraktur_P ∈ { italic_s - over~ start_ARG italic_W end_ARG + 1 , ⋯ , italic_s }. We note here that the learning window 𝔏𝔏\mathfrak{L}fraktur_L is larger than the prediction window 𝔓𝔓\mathfrak{P}fraktur_P and the sliding window is moved ahead with W~1~𝑊1\tilde{W}-1over~ start_ARG italic_W end_ARG - 1 amount after every prediction window. Moreover, WW~𝑊~𝑊W-\tilde{W}italic_W - over~ start_ARG italic_W end_ARG is the m𝑚mitalic_m from (3). With these preliminaries on KO theory and the methods of its numerical computation, we are now ready to discuss the framework of our problem.

3 PROBLEM FRAMEWORK

Let us consider the nonlinear system (1) under cyberattack such that this cyberattack can be either an actuation attack δusubscript𝛿𝑢\delta_{u}italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT or a sensor attack δysubscript𝛿𝑦\delta_{y}italic_δ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT. The attacked physical part of the CPS is then given by:

x˙=f(x(t),u(t)+δu);y(t)=h(x(t))+δy.formulae-sequence˙𝑥𝑓𝑥𝑡𝑢𝑡subscript𝛿𝑢𝑦𝑡𝑥𝑡subscript𝛿𝑦\displaystyle\dot{x}=f(x(t),u(t)+\delta_{u});\quad y(t)=h(x(t))+\delta_{y}.over˙ start_ARG italic_x end_ARG = italic_f ( italic_x ( italic_t ) , italic_u ( italic_t ) + italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ) ; italic_y ( italic_t ) = italic_h ( italic_x ( italic_t ) ) + italic_δ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT . (8)

Here we assume that the system model is unknown and only the system measurements y𝑦yitalic_y and the control input signal u𝑢uitalic_u are available to us. Our objective is to detect and isolate the presence of these attacks δusubscript𝛿𝑢\delta_{u}italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT and δysubscript𝛿𝑦\delta_{y}italic_δ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT.

Assumption 2.

In this framework, stealthy attacks such as zero dynamic attacks or covert attacks which simultaneously manipulate actuation and measurements are not considered because of their inherent undetectability using residual-based detection systems [2, 24]. Similarly, sensor attacks that can spoof the behavior of actuation attacks are also not considered for the isolation scheme.

To achieve our objective, we utilize (6)-(7) to obtain the measurement prediction y^^𝑦\hat{y}over^ start_ARG italic_y end_ARG. Furthermore, we assume there is a prediction window 𝔓𝔓\mathfrak{P}fraktur_P over which the predictions are based on the uncompromised system learning while the corresponding measurements are from the compromised system. Therefore, a residual-based detection filter can capture the presence of cyberattacks in the prediction window 𝔓𝔓\mathfrak{P}fraktur_P. In particular,

following Assumption 1, we have

y^=i=1nϕi(x)vih.^𝑦superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖\displaystyle\hat{y}=\sum\limits_{i=1}^{n}\phi_{i}(x)v_{i}^{h}.over^ start_ARG italic_y end_ARG = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT . (9)

Then, y^^𝑦\hat{y}over^ start_ARG italic_y end_ARG is sent to the detection-isolation scheme to detect and isolate the presence of cyberattacks δusubscript𝛿𝑢\delta_{u}italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT and δysubscript𝛿𝑦\delta_{y}italic_δ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT as shown in the block diagram of the proposed scheme for a nonlinear CPS in Fig 1. From (9), it is evident that if either KEFs ϕisubscriptitalic-ϕ𝑖\phi_{i}italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or the KMs vihsuperscriptsubscript𝑣𝑖v_{i}^{h}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT of the system are changed, then the predicted y^^𝑦\hat{y}over^ start_ARG italic_y end_ARG will be different from the measured y𝑦yitalic_y. At the same time, it is clear from (8) that the actuation attack explicitly affects the system dynamics while sensor attack affects the system measurements or the observable functions. Consequently, referring to Remark 1, we can posit that actuation attack affects the KEFs ϕisubscriptitalic-ϕ𝑖\phi_{i}italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT part and the sensor attack affects the KMs vihsuperscriptsubscript𝑣𝑖v_{i}^{h}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT part of the system measurement. With this notion, we will present our proposed scheme.

Refer to caption
Figure 1: A block diagram showing the Koopman approximation-based detection-isolation scheme for a nonlinear CPS.

4 DETECTION- ISOLATION SCHEME

The KO-based detection-isolation scheme consists of three main steps. Generation of (i) an approximate linear model of the system, (ii) an attack detection decision a flag, (iii) an appropriate actuation or sensor attack isolation flag.

4.1 Detection scheme

Now, we can assert that there exists a prediction window 𝔓𝔓\mathfrak{P}fraktur_P during which the system (1) is under an actuation attack or a sensor attack. Consequently, during this prediction window 𝔓𝔓\mathfrak{P}fraktur_P, we can represent the corrupted system measurement using either the modified KEFs ϕ~i(x)subscript~italic-ϕ𝑖𝑥\tilde{\phi}_{i}(x)over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) for actuation attacks or the modified KMs v~ihsuperscriptsubscript~𝑣𝑖\tilde{v}_{i}^{h}over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT for sensor attacks. The corrupted measurement is then given by:

y={i=1nϕ~i(x)vih,if actuation attack;i=1nϕi(x)v~ih,if sensor attack.𝑦casessuperscriptsubscript𝑖1𝑛subscript~italic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖if actuation attacksuperscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript~𝑣𝑖if sensor attack{y}=\begin{cases}\sum\limits_{i=1}^{n}\tilde{\phi}_{i}(x)v_{i}^{h},&\text{if % actuation attack};\\ \sum\limits_{i=1}^{n}\phi_{i}(x)\tilde{v}_{i}^{h},&\text{if sensor attack}.% \end{cases}italic_y = { start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT , end_CELL start_CELL if actuation attack ; end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT , end_CELL start_CELL if sensor attack . end_CELL end_ROW (10)

Meanwhile, no attack is present in that learning window, and thus our prediction will solely be based on our learning of our nominal system model. This prediction is given by (9). Now, using the actual and predicted measurement (10)-(9), we define our detection residual as rD=yy^subscript𝑟𝐷𝑦^𝑦r_{D}=y-\hat{y}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = italic_y - over^ start_ARG italic_y end_ARG. For asyncrnous actuation and sensor attacks satisfying Assumption 2, this residual is given by

rD={i=1n(ϕ~iϕi)vih,if actuation attack;i=1nϕi(v~ihvih),if sensor attack.subscript𝑟𝐷casessuperscriptsubscript𝑖1𝑛subscript~italic-ϕ𝑖subscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖if actuation attacksuperscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖superscriptsubscript~𝑣𝑖superscriptsubscript𝑣𝑖if sensor attackr_{D}=\begin{cases}\sum\limits_{i=1}^{n}\left(\tilde{\phi}_{i}-{\phi_{i}}% \right)v_{i}^{h},&\text{if actuation attack};\\ \sum\limits_{i=1}^{n}\phi_{i}\left(\tilde{v}_{i}^{h}-{v}_{i}^{h}\right),&\text% {if sensor attack}.\end{cases}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = { start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ( over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT , end_CELL start_CELL if actuation attack ; end_CELL end_ROW start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ) , end_CELL start_CELL if sensor attack . end_CELL end_ROW (11)

We note here, we droped x𝑥xitalic_x from the variable ϕi(x)subscriptitalic-ϕ𝑖𝑥\phi_{i}(x)italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) for the brevity of notation. Now, it is evident from (11) that in the absence of any attack, the KEFs and KMs remain unchanged i.e. ϕ~iϕi=0subscript~italic-ϕ𝑖subscriptitalic-ϕ𝑖0\tilde{\phi}_{i}-{\phi}_{i}=0over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 and v~ihvih=0superscriptsubscript~𝑣𝑖superscriptsubscript𝑣𝑖0\tilde{v}_{i}^{h}-{v}_{i}^{h}=0over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT = 0. This implies that the residual rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT (11) will remain close to zero under no attack.

Our detection scheme utilizes this to make a no-attack decision, and when the residual rDnormsubscript𝑟𝐷\|r_{D}\|∥ italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ∥ first crosses a predefined threshold, the attack flag is turned on. This threshold is set above the fluctuations of the residual signal under nominal system conditions [25]. Additionally, we note here that this residual does not continue to cross the threshold after the next learning window as the algorithm starts to assimilate the attack signature into the system model. However, the residual again crosses the threshold once the attack has been removed from the system. Thus, the threshold crossing is utilized to generate (turn on or off) an attack flag.

4.2 Isolation scheme

Upon detection of a cyberattack, the proposed isolator is activated to ascertain if the attack is injected via actuation or measurement.

This isolation scheme is based on the behavior of the residual signal (11). In particular, we know that during actuation attack the generated detection residual rD=i=1nΔϕivihsubscript𝑟𝐷superscriptsubscript𝑖1𝑛Δsubscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖r_{D}=\sum\limits_{i=1}^{n}\Delta\phi_{i}v_{i}^{h}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT, where Δϕi=[ϕ~iϕi]Δsubscriptitalic-ϕ𝑖delimited-[]subscript~italic-ϕ𝑖subscriptitalic-ϕ𝑖\Delta\phi_{i}=\left[\tilde{\phi}_{i}-{\phi}_{i}\right]roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = [ over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ]. Alternatively, during sensor attack, the detection residual rD=i=1nϕiΔvisubscript𝑟𝐷superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖Δsubscript𝑣𝑖r_{D}=\sum\limits_{i=1}^{n}\phi_{i}\Delta v_{i}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_Δ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, where Δvi=[v~ihvih]Δsubscript𝑣𝑖delimited-[]superscriptsubscript~𝑣𝑖superscriptsubscript𝑣𝑖\Delta v_{i}=\left[\tilde{v}_{i}^{h}-{v}_{i}^{h}\right]roman_Δ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = [ over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ]. This implies that rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT is either a linear combination of {Δϕi}Δsubscriptitalic-ϕ𝑖\{\Delta{\phi}_{i}\}{ roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } with weights vihsuperscriptsubscript𝑣𝑖v_{i}^{h}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT during an actuation attack or a linear combination of {ϕi}subscriptitalic-ϕ𝑖\{{\phi}_{i}\}{ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } with weights ΔvihΔsuperscriptsubscript𝑣𝑖\Delta v_{i}^{h}roman_Δ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT during sensor attack.

However, we note here that the adversary can craft a sensor attack such that the output of the system is indistinguishable from a case of an actuation attack. Such actuation-attack-spoofing sensor attacks will satisfy:

y=i=1nϕ~i(x)vih=i=1nϕi(x)v~ih.𝑦superscriptsubscript𝑖1𝑛subscript~italic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript~𝑣𝑖\displaystyle y=\sum\limits_{i=1}^{n}\tilde{\phi}_{i}(x)v_{i}^{h}=\sum\limits_% {i=1}^{n}\phi_{i}(x)\tilde{v}_{i}^{h}.italic_y = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT . (12)

Thus, their signature on the detector residual will be identically equal to rD=i=1nϕiΔvi=i=1nΔϕivih.subscript𝑟𝐷superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖Δsubscript𝑣𝑖superscriptsubscript𝑖1𝑛Δsubscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖r_{D}=\sum\limits_{i=1}^{n}\phi_{i}\Delta v_{i}=\sum\limits_{i=1}^{n}\Delta% \phi_{i}v_{i}^{h}.italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT roman_Δ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT . Hence, these actuation-attack-spoofing sensor attacks will remain undetected and (12) gives the analytical condition on the measurement which creates fundamental limitation on this measurement-based isolation scheme. By Assumption 2, we do not consider such non-isolable attacks in this work.

Consequently, to isolate between actuation and sensor attacks satisfying Assumption 2, we check whether we can find a set of vectors Δϕ^isubscript^Δitalic-ϕ𝑖{\widehat{\Delta\phi}_{i}}over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT whose linear combinations using the unchanged KMs vihsuperscriptsubscript𝑣𝑖v_{i}^{h}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT match with the residual rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT. If such basis vectors are found, then the rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT is generated due to actuation attacks (since KMs are unchanged) and it is generated by sensor attack otherwise. Exploiting this idea, we define our isolation residual rI(t)subscript𝑟𝐼𝑡r_{I}(t)italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT ( italic_t ) as the following optimization:

rI=minΔϕ^ii=1nΔϕ^ivihrD.subscript𝑟𝐼subscriptsubscript^Δitalic-ϕ𝑖normsuperscriptsubscript𝑖1𝑛subscript^Δitalic-ϕ𝑖superscriptsubscript𝑣𝑖subscript𝑟𝐷\displaystyle r_{I}=\min_{\widehat{\Delta\phi}_{i}}\left\|\sum\limits_{i=1}^{n% }\widehat{\Delta\phi}_{i}v_{i}^{h}-r_{D}\right\|.italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT = roman_min start_POSTSUBSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ∥ . (13)

Essentially, this optimization (13) tries to find the basis for the residual signal rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT with the unchanged weights or KMs vihsuperscriptsubscript𝑣𝑖v_{i}^{h}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT over the prediction window. This implies that for some small positive ϵitalic-ϵ\epsilon\in\mathbb{R}italic_ϵ ∈ blackboard_R, we can define our isolation rule as: 0rIϵimplies actuation attack,formulae-sequence0subscript𝑟𝐼italic-ϵimplies actuation attack0\leqslant r_{I}\leqslant\epsilon\quad\text{implies actuation attack},0 ⩽ italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT ⩽ italic_ϵ implies actuation attack , and rI>ϵ>0implies sensor attack.formulae-sequencesubscript𝑟𝐼italic-ϵ0implies sensor attack.r_{I}>\epsilon>0\quad\text{implies sensor attack.}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT > italic_ϵ > 0 implies sensor attack.

Next, we prove the above intuition mathematically for two cases of actuation and sensor attack.

Case 1 (Actuation attack): For this case, rD=i=1nΔϕivihsubscript𝑟𝐷superscriptsubscript𝑖1𝑛Δsubscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖r_{D}=\sum\limits_{i=1}^{n}\Delta\phi_{i}v_{i}^{h}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and replacing this rDsubscript𝑟𝐷r_{D}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT in the definition of rIsubscript𝑟𝐼r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT (13) we get

rIsubscript𝑟𝐼\displaystyle r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT =minΔϕ^ii=1nΔϕ^ivihi=1nΔϕivih.absentsubscriptsubscript^Δitalic-ϕ𝑖normsuperscriptsubscript𝑖1𝑛subscript^Δitalic-ϕ𝑖superscriptsubscript𝑣𝑖superscriptsubscript𝑖1𝑛Δsubscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖\displaystyle=\min_{\widehat{\Delta\phi}_{i}}\left\|\sum\limits_{i=1}^{n}% \widehat{\Delta\phi}_{i}v_{i}^{h}-\sum\limits_{i=1}^{n}\Delta\phi_{i}v_{i}^{h}% \right\|.= roman_min start_POSTSUBSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ . (14)

Furthermore, rearranging the terms and noting that the minimization can be obtained for Δϕ^i=Δϕisubscript^Δitalic-ϕ𝑖Δsubscriptitalic-ϕ𝑖\widehat{\Delta\phi}_{i}=\Delta\phi_{i}over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT we can deduce

rI=minΔϕ^ii=1n[Δϕ^iΔϕi]vihϵ.subscript𝑟𝐼subscriptsubscript^Δitalic-ϕ𝑖normsuperscriptsubscript𝑖1𝑛delimited-[]subscript^Δitalic-ϕ𝑖Δsubscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖italic-ϵ\displaystyle r_{I}=\min_{\widehat{\Delta\phi}_{i}}\left\|\sum\limits_{i=1}^{n% }\left[\widehat{\Delta\phi}_{i}-\Delta\phi_{i}\right]v_{i}^{h}\right\|% \leqslant\epsilon.italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT = roman_min start_POSTSUBSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ ⩽ italic_ϵ . (15)

Case 2 (Sensor attack): Conversely, in the case of a sensor attack: rD=i=1nϕi(x)Δvisubscript𝑟𝐷superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥Δsubscript𝑣𝑖r_{D}=\sum\limits_{i=1}^{n}\phi_{i}(x)\Delta v_{i}italic_r start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) roman_Δ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Now, inserting this expression into the definition of rIsubscript𝑟𝐼r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT (13) and rearranging the terms:

rIsubscript𝑟𝐼\displaystyle r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT =minΔϕ^ii=1n[Δϕ^i+ϕi]vihi=1nϕiv~ih.absentsubscriptsubscript^Δitalic-ϕ𝑖normsuperscriptsubscript𝑖1𝑛delimited-[]subscript^Δitalic-ϕ𝑖subscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖superscriptsubscript~𝑣𝑖\displaystyle=\min_{\widehat{\Delta\phi}_{i}}\left\|\sum\limits_{i=1}^{n}\left% [\widehat{\Delta\phi}_{i}+\phi_{i}\right]{v}_{i}^{h}-\sum\limits_{i=1}^{n}\phi% _{i}\tilde{v}_{i}^{h}\right\|.= roman_min start_POSTSUBSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ . (16)

Using reverse triangle inequality for (16) yields:

rIsubscript𝑟𝐼\displaystyle r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT minΔϕ^i|i=1n[Δϕ^i+ϕi]vihi=1nϕiv~ih|.absentsubscriptsubscript^Δitalic-ϕ𝑖normsuperscriptsubscript𝑖1𝑛delimited-[]subscript^Δitalic-ϕ𝑖subscriptitalic-ϕ𝑖superscriptsubscript𝑣𝑖normsuperscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖superscriptsubscript~𝑣𝑖\displaystyle\geqslant\min_{\widehat{\Delta\phi}_{i}}\left|\,\left\|\sum% \limits_{i=1}^{n}\left[\widehat{\Delta\phi}_{i}+\phi_{i}\right]{v}_{i}^{h}% \right\|-\left\|\sum\limits_{i=1}^{n}\phi_{i}\tilde{v}_{i}^{h}\right\|\,\right|.⩾ roman_min start_POSTSUBSCRIPT over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT | ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ - ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ | . (17)

We note here that the second term in (17) is y(t)𝑦𝑡y(t)italic_y ( italic_t ). Since Assumption 2 is true, from (12) we claim that there exists no ϕ~i(x)subscript~italic-ϕ𝑖𝑥\tilde{\phi}_{i}(x)over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) such that i=1nϕ~i(x)vih=i=1nϕi(x)v~ihsuperscriptsubscript𝑖1𝑛subscript~italic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖superscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript~𝑣𝑖\sum\limits_{i=1}^{n}\tilde{\phi}_{i}(x)v_{i}^{h}=\sum\limits_{i=1}^{n}\phi_{i% }(x)\tilde{v}_{i}^{h}∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT. This in turn implies that the optimization in (17) is not able to find a Δϕ^isubscript^Δitalic-ϕ𝑖\widehat{\Delta\phi}_{i}over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT such that i=1n[Δϕ^i+ϕi(x)]vih=i=1nϕi(x)v~ihnormsuperscriptsubscript𝑖1𝑛delimited-[]subscript^Δitalic-ϕ𝑖subscriptitalic-ϕ𝑖𝑥superscriptsubscript𝑣𝑖normsuperscriptsubscript𝑖1𝑛subscriptitalic-ϕ𝑖𝑥superscriptsubscript~𝑣𝑖\left\|\sum\limits_{i=1}^{n}\left[\widehat{\Delta\phi}_{i}+\phi_{i}(x)\right]{% v}_{i}^{h}\right\|=\left\|\sum\limits_{i=1}^{n}\phi_{i}(x)\tilde{v}_{i}^{h}\right\|∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ over^ start_ARG roman_Δ italic_ϕ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) ] italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥ = ∥ ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ∥. Moreover, by Assumption 2, y(t)0not-equivalent-to𝑦𝑡0y(t)\not\equiv 0italic_y ( italic_t ) ≢ 0 as this will imply a zero-dynamics attack. Thus, these two restrictions on (17) guarantee that rI0subscript𝑟𝐼0r_{I}\neq 0italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT ≠ 0. Consequently, this proves that for some ϵ>0,italic-ϵ0\epsilon>0,italic_ϵ > 0 , the residual rI>ϵsubscript𝑟𝐼italic-ϵr_{I}>\epsilonitalic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT > italic_ϵ for the sensor attack case.

Choice of threshold for isolation residual: The choice of threshold for the isolation scheme relies on the choice of ϵitalic-ϵ\epsilonitalic_ϵ. This number can be determined by finding the isolation residual of the system under maximum actuation attack capacity i.e. δumaxumax.subscriptnormsubscript𝛿𝑢𝑚𝑎𝑥normsubscript𝑢𝑚𝑎𝑥\|\delta_{u}\|_{max}\leqslant\|u_{max}\|.∥ italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ⩽ ∥ italic_u start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ∥ .

5 A CASE STUDY ON ELECTRIC VEHICLE CHARGING

In this section, we present the simulation case study on cyberattack scenarios on a plug-in electric-vehicle (PEV) through the electric vehicle supply equipment (EVSE) at charging stations. A recent report from Sandia National Lab on the risk assessment of EVSE created a threat model and clearly indicated how the attacks on automotive charging will be exacerbated as more PEVs are equipped with extreme fast charging, DC fast charging, etc [26].

For this case study, following [26] we will consider: (i) the corruption of communication between the electric vehicle communication controller (EVCC) and supply equipment communication controller (SECC), (ii) the corruption of the battery management system (BMS) and charger firmware, and (iii) corruption of communication between EVSE and charging station cloud-based control. Here, the terminal voltage measurement of the PEV battery is sent from the BMS to the EVCC and finally to the cloud controller. Corruption of this measurement along this communication is considered as a sensor attack. Similarly, charging current policies are sent from the cloud controller to the EVCC and finally to BMS. The corruption of this current command is our actuation attack. Figure 2 shows these potential cyberattack vectors between the cloud-based charging control, EVSE, and PEV.

Refer to caption
Figure 2: Potential cyberattack vectors between the cloud-based charging control, EVSE, and PEV.

For this study, we generated the terminal voltage measurements for the battery of the PEV using a nonlinear equivalent circuit model for a prismatic cell Li-ion battery [27]:

X˙=A(X)X+B(X)Ic,where˙𝑋𝐴𝑋𝑋𝐵𝑋subscript𝐼𝑐where\displaystyle\quad\quad\quad\quad\quad\quad\dot{X}=A(X)X+B(X)I_{c},\quad\text{where}over˙ start_ARG italic_X end_ARG = italic_A ( italic_X ) italic_X + italic_B ( italic_X ) italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , where (18)
X=[V1˙V2˙ξ˙]T,B(X)=[1C1(ξ)1C2(ξ)1Q]T,formulae-sequence𝑋superscriptmatrix˙subscript𝑉1˙subscript𝑉2˙𝜉𝑇𝐵𝑋superscriptmatrix1subscript𝐶1𝜉1subscript𝐶2𝜉1𝑄𝑇\displaystyle X=\begin{bmatrix}\dot{V_{1}}&\dot{V_{2}}&\dot{\xi}\end{bmatrix}^% {T},\quad B(X)=\begin{bmatrix}\frac{1}{C_{1}(\xi)}&\frac{1}{C_{2}(\xi)}&-\frac% {1}{Q}\end{bmatrix}^{T},italic_X = [ start_ARG start_ROW start_CELL over˙ start_ARG italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG end_CELL start_CELL over˙ start_ARG italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG end_CELL start_CELL over˙ start_ARG italic_ξ end_ARG end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT , italic_B ( italic_X ) = [ start_ARG start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_ξ ) end_ARG end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_ξ ) end_ARG end_CELL start_CELL - divide start_ARG 1 end_ARG start_ARG italic_Q end_ARG end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ,
A(X)=diag([R1(ξ)C1(ξ)]1,[R2(ξ)C2(ξ)]1,0).𝐴𝑋diagsuperscriptdelimited-[]subscript𝑅1𝜉subscript𝐶1𝜉1superscriptdelimited-[]subscript𝑅2𝜉subscript𝐶2𝜉10\displaystyle A(X)=\text{diag}\left(-[{R_{1}(\xi)C_{1}(\xi)}]^{-1},-[{R_{2}(% \xi)C_{2}(\xi)}]^{-1},0\right).italic_A ( italic_X ) = diag ( - [ italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_ξ ) italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_ξ ) ] start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT , - [ italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_ξ ) italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_ξ ) ] start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT , 0 ) .

Here ξ𝜉\xiitalic_ξ and Q𝑄Qitalic_Q denote the state of charge (SOC) and the nominal capacity of the battery, respectively. The states V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are the voltages across the two resistance capacitance pair, representing the diffusion of lithium in the solid and electrolyte. The SOC dependent resistances R1,R2subscript𝑅1subscript𝑅2R_{1},R_{2}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and capacitances C1,C2subscript𝐶1subscript𝐶2C_{1},C_{2}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in (18) are defined as Ri=Ri0+Ri1ξ+Ri2ξ2,andCi=Ci0+Ci1ξ+Ci2ξ2+T(Ci3+Ci4ξ+Ci5ξ2)formulae-sequencesubscript𝑅𝑖subscript𝑅𝑖0subscript𝑅𝑖1𝜉subscript𝑅𝑖2superscript𝜉2andsubscript𝐶𝑖subscript𝐶𝑖0subscript𝐶𝑖1𝜉subscript𝐶𝑖2superscript𝜉2𝑇subscript𝐶𝑖3subscript𝐶𝑖4𝜉subscript𝐶𝑖5superscript𝜉2R_{i}=R_{i0}+R_{i1}\xi+R_{i2}\xi^{2},\,\text{and}\,\,C_{i}=C_{i0}+C_{i1}\xi+C_% {i2}\xi^{2}+T\left(C_{i3}+C_{i4}\xi+C_{i5}\xi^{2}\right)italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_R start_POSTSUBSCRIPT italic_i 0 end_POSTSUBSCRIPT + italic_R start_POSTSUBSCRIPT italic_i 1 end_POSTSUBSCRIPT italic_ξ + italic_R start_POSTSUBSCRIPT italic_i 2 end_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , and italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_i 0 end_POSTSUBSCRIPT + italic_C start_POSTSUBSCRIPT italic_i 1 end_POSTSUBSCRIPT italic_ξ + italic_C start_POSTSUBSCRIPT italic_i 2 end_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_T ( italic_C start_POSTSUBSCRIPT italic_i 3 end_POSTSUBSCRIPT + italic_C start_POSTSUBSCRIPT italic_i 4 end_POSTSUBSCRIPT italic_ξ + italic_C start_POSTSUBSCRIPT italic_i 5 end_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }.

The parameters are given in Table 1. We also note here that T=298K𝑇superscript298𝐾T=298^{\circ}Kitalic_T = 298 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K represents the ambient temperature. Finally, the measured terminal voltage Vtsubscript𝑉𝑡V_{t}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT of the battery is defined in terms of the system states as Vt=OCVIcRsV1V2subscript𝑉𝑡𝑂𝐶𝑉subscript𝐼𝑐subscript𝑅𝑠subscript𝑉1subscript𝑉2V_{t}=OCV-I_{c}R_{s}-V_{1}-V_{2}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = italic_O italic_C italic_V - italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, where OCV denotes the open circuit voltage of the battery which has a strong dependence on the SOC instant of the battery and can be obtained from OCV-SOC plot [27]. Furthermore, Ic<0subscript𝐼𝑐0I_{c}<0italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT < 0 specifies charging, and Ic>0subscript𝐼𝑐0I_{c}>0italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT > 0 specifies discharging scenario. The PEV is charged with a constant current constant voltage (CCCV) policy and the charging cycle is generated by the cloud-based controller of the charging station. Additionally, the rated battery capacity is assumed to be Q=5Ah𝑄5𝐴Q=5Ahitalic_Q = 5 italic_A italic_h and the internal series resistance is considered as Rs=0.0048Ωsubscript𝑅𝑠0.0048ΩR_{s}=0.0048\Omegaitalic_R start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = 0.0048 roman_Ω.

We note here that our analysis is based on the model of a battery cell, instead of a battery pack. However, our work can be extended to the battery pack by cascading multiple battery cells [28]. This will be addressed in our future work.

R10=0.0701135μΩsubscript𝑅100.0701135𝜇ΩR_{10}=0.0701135\mu\Omegaitalic_R start_POSTSUBSCRIPT 10 end_POSTSUBSCRIPT = 0.0701135 italic_μ roman_Ω, R20=0.0288Ωsubscript𝑅200.0288ΩR_{20}=0.0288\Omegaitalic_R start_POSTSUBSCRIPT 20 end_POSTSUBSCRIPT = 0.0288 roman_Ω,
R11=0.043865μΩsubscript𝑅110.043865𝜇ΩR_{11}=-0.043865\mu\Omegaitalic_R start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT = - 0.043865 italic_μ roman_Ω, R21=0.073Ωsubscript𝑅210.073ΩR_{21}=-0.073\Omegaitalic_R start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT = - 0.073 roman_Ω,
R12=0.023788μΩsubscript𝑅120.023788𝜇ΩR_{12}=0.023788\mu\Omegaitalic_R start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT = 0.023788 italic_μ roman_Ω, R22=0.0605Ωsubscript𝑅220.0605ΩR_{22}=0.0605\Omegaitalic_R start_POSTSUBSCRIPT 22 end_POSTSUBSCRIPT = 0.0605 roman_Ω,
C10=335.4518Fsubscript𝐶10335.4518𝐹C_{10}=335.4518Fitalic_C start_POSTSUBSCRIPT 10 end_POSTSUBSCRIPT = 335.4518 italic_F, C20=31.881kFsubscript𝐶2031.881𝑘𝐹C_{20}=31.881kFitalic_C start_POSTSUBSCRIPT 20 end_POSTSUBSCRIPT = 31.881 italic_k italic_F,
C12=1.3214kFsubscript𝐶121.3214𝑘𝐹C_{12}=-1.3214kFitalic_C start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT = - 1.3214 italic_k italic_F, C22=104.93kFsubscript𝐶22104.93𝑘𝐹C_{22}=104.93kFitalic_C start_POSTSUBSCRIPT 22 end_POSTSUBSCRIPT = 104.93 italic_k italic_F,
C14=65.4786F/Ksubscript𝐶14superscript65.4786𝐹𝐾C_{14}=-65.4786F/^{\circ}Kitalic_C start_POSTSUBSCRIPT 14 end_POSTSUBSCRIPT = - 65.4786 italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K, C24=10.1755kF/Ksubscript𝐶24superscript10.1755𝑘𝐹𝐾C_{24}=10.1755kF/^{\circ}Kitalic_C start_POSTSUBSCRIPT 24 end_POSTSUBSCRIPT = 10.1755 italic_k italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K,
C11=3.1712kF,subscript𝐶113.1712𝑘𝐹C_{11}=3.1712kF,italic_C start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT = 3.1712 italic_k italic_F , C21=115.93kFsubscript𝐶21115.93𝑘𝐹C_{21}=-115.93kFitalic_C start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT = - 115.93 italic_k italic_F,
C13=53.2138F/K,subscript𝐶13superscript53.2138𝐹𝐾C_{13}=53.2138F/^{\circ}K,italic_C start_POSTSUBSCRIPT 13 end_POSTSUBSCRIPT = 53.2138 italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K , C23=60.3114F/Ksubscript𝐶23superscript60.3114𝐹𝐾C_{23}=60.3114F/^{\circ}Kitalic_C start_POSTSUBSCRIPT 23 end_POSTSUBSCRIPT = 60.3114 italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K,
C15=244.3761F/K,subscript𝐶15superscript244.3761𝐹𝐾C_{15}=244.3761F/^{\circ}K,italic_C start_POSTSUBSCRIPT 15 end_POSTSUBSCRIPT = 244.3761 italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K , C25=9.5924F/Ksubscript𝐶25superscript9.5924𝐹𝐾C_{25}=-9.5924F/^{\circ}Kitalic_C start_POSTSUBSCRIPT 25 end_POSTSUBSCRIPT = - 9.5924 italic_F / start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT italic_K.
Table 1: List of parameters required in (18).

The PEV is considered to start charging with 35%percent3535\%35 % SOC with a 5A5𝐴5A5 italic_A current under the CCCV policy. Furthermore, we consider a control protocol to charge the PEV up-to 94%percent9494\%94 % SOC, since typically PEVs are not charged fully [28]. To implement our detection-isolation scheme for this PEV charging scenario, we adopted the delay embedding based data-driven approach for Koopman-operator approximation. We considered a moving window of W=23𝑊23W=23italic_W = 23 snapshots in time with the embedded delay τ=13𝜏13\tau=13italic_τ = 13 (3). This moving window consisted of a learning window of 15, followed by a prediction window of 8. Then, using the nominal terminal voltage measurement data, we define our detection threshold as 0.0020.0020.0020.002 [25]. To define the isolation threshold, we plotted the isolation residual with maximum actuation attack capacity for this battery, which we consider to be 5C rate charging current or 25A25𝐴25A25 italic_A. Considering the maximum isolation residual for an actuation attack for 25A25𝐴25A25 italic_A, we defined the isolation threshold as 0.120.120.120.12. Next, we will present the two case studies of actuation attack and sensor attack scenarios on this battery and demonstrate the efficacy of our scheme.

5.1 Case I: Actuation attack

Refer to caption
Figure 3: Plot shows the nominal and corrupted terminal voltage, SOC, charging current, detector and isolator residuals for actuation attack.

In this scenario, we consider that the input signal Icsubscript𝐼𝑐I_{c}italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is corrupted by the adversary to achieve overcharging. The battery model under attack can be obtained from (18) as

X~˙=A(X~)X~+B(X~)(Ic+δu),V~t=OCV(Ic+δu)RsV~1V~2.formulae-sequence˙~𝑋𝐴~𝑋~𝑋𝐵~𝑋subscript𝐼𝑐subscript𝛿𝑢subscript~𝑉𝑡𝑂𝐶𝑉subscript𝐼𝑐subscript𝛿𝑢subscript𝑅𝑠subscript~𝑉1subscript~𝑉2\displaystyle\dot{\tilde{X}}=A(\tilde{X})\tilde{X}+B(\tilde{X})\left(I_{c}+% \delta_{u}\right),\quad\tilde{V}_{t}=OCV-\left(I_{c}+\delta_{u}\right)R_{s}-% \tilde{V}_{1}-\tilde{V}_{2}.over˙ start_ARG over~ start_ARG italic_X end_ARG end_ARG = italic_A ( over~ start_ARG italic_X end_ARG ) over~ start_ARG italic_X end_ARG + italic_B ( over~ start_ARG italic_X end_ARG ) ( italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ) , over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = italic_O italic_C italic_V - ( italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ) italic_R start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . (19)

To achieve overcharging, a high charging current is given to the battery, between 700s700𝑠700s700 italic_s and 1600s1600𝑠1600s1600 italic_s (shown in 3rdsuperscript3rd3^{\text{rd}}3 start_POSTSUPERSCRIPT rd end_POSTSUPERSCRIPT plot of Fig. 3). This causes the battery to overcharge, as is evident from Vtsubscript𝑉𝑡V_{t}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (top plot) and SOC (2ndsuperscript2nd2^{\text{nd}}2 start_POSTSUPERSCRIPT nd end_POSTSUPERSCRIPT plot) of Fig. 3. Now, from the 4thsuperscript4th4^{\text{th}}4 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot in Fig. 3, we observe that the detector residual crosses the threshold twice – once when the attack begins and once when the attack ends. Hence, the detection flag is set to 1 between the subsequent threshold crossings (shown in 5thsuperscript5th5^{\text{th}}5 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot of Fig. 3). The detection occurs within 1s1𝑠1s1 italic_s of the attack, which shows the efficiency of our detection algorithm. Next, we analyze the performance of our isolation scheme. From the 6thsuperscript6th6^{\text{th}}6 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot of Fig. 3, we observe that the isolation residual remains below the isolation threshold for actuation attack, and the isolation flag in set to 1 in the last plot of Fig. 3. Thus, the scheme correctly identifies the detected attack is an actuation attack, and achieves cyberattack isolation.

5.2 Case II: Sensor attack

In this scenario, the adversary alters the measured terminal voltage Vtsubscript𝑉𝑡V_{t}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, without corrupting the charging current command Icsubscript𝐼𝑐I_{c}italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT generated by the cloud-based controller. Hence, the corresponding battery model can be defined as

X˙=A(X)X+B(X)Ic,V~t=OCVIcRsV1V2+δy.formulae-sequence˙𝑋𝐴𝑋𝑋𝐵𝑋subscript𝐼𝑐subscript~𝑉𝑡𝑂𝐶𝑉subscript𝐼𝑐subscript𝑅𝑠subscript𝑉1subscript𝑉2subscript𝛿𝑦\displaystyle\dot{X}=A(X)X+B(X)I_{c},\quad\tilde{V}_{t}=OCV-I_{c}R_{s}-V_{1}-V% _{2}+\delta_{y}.over˙ start_ARG italic_X end_ARG = italic_A ( italic_X ) italic_X + italic_B ( italic_X ) italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = italic_O italic_C italic_V - italic_I start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_δ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT . (20)
Refer to caption
Figure 4: Plot shows the nominal and corrupted terminal voltage, SOC, charging current, detector and isolator residuals for sensor attack.

The adversary can force the battery to overcharge by corrupting the sensor data and communicating lower Vtsubscript𝑉𝑡V_{t}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT to the controller, since the battery charging protocol is based on Vtsubscript𝑉𝑡V_{t}italic_V start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. We simulated this particular scenario by injecting a false voltage data to the controller from 700s700𝑠700s700 italic_s to 1600s1600𝑠1600s1600 italic_s (shown in top plot of Fig. 4). Due to this terminal voltage corruption, the 2ndsuperscript2nd2^{\text{nd}}2 start_POSTSUPERSCRIPT nd end_POSTSUPERSCRIPT plot of Fig. 4 shows the SOC of the battery exhibiting eventual overcharging of the cell. Additionally, such sensor attack delays the constant voltage charging of the battery as shown in the 3rdsuperscript3rd3^{\text{rd}}3 start_POSTSUPERSCRIPT rd end_POSTSUPERSCRIPT plot of Fig. 4. Under this sensor attack scenario, the detection residual crosses the threshold (4thsuperscript4th4^{\text{th}}4 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot) in the beginning and the end of the attack injection. The detection flag is thus set to 1 between these two crossing to indicate the presence of a cyberattack. The generated detection flag is shown in the 5thsuperscript5th5^{\text{th}}5 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot of Fig. 4. After detection, the isolation scheme is activated and the isolation residual rIsubscript𝑟𝐼r_{I}italic_r start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT is calculated. For this case, we observe that the isolation residual crosses the isolation threshold (as shown in the 6thsuperscript6th6^{\text{th}}6 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot). Accordingly, the isolation flag is set to 2 to indicate the presence of sensor attack in the system (as shown in the 7thsuperscript7th7^{\text{th}}7 start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT plot of Fig. 4). Thus, we validate the performance of the isolation scheme.

6 CONCLUSIONS

In this work, we have used a Koopman operator-based model-free approach for the detection and isolation of actuation and sensor attacks in CPS. We have utilized delay embedding method to show that signature of the actuation and sensor attack on the Koopman operator modes and eigenfunctions can be used to detect and isolate cyberattacks in CPS. Most importantly, this detection-isolation scheme uses only system measurement and learns the system model with limited data. This is important for faster and efficient generation of attack flags in presence of cyberthreats. Additionally, we have derived conditions where such isolation scheme will fail owing to the presence of actuation-attack-spoofing sensor attack. We also presented a case study of cyberattack on a Lithium-ion battery powered PEV, charged by EVSE. The simulation results show that our proposed scheme can detect and isolate the presence of corrupted charging policies (actuation attack) and corrupted measurement (sensor attack).

References

  • [1] M. Taheri, K. Khorasani, N. Meskin, and I. Shames, “Data-driven koopman operator based cyber-attacks for nonlinear control affine cyber-physical systems,” in 2022 IEEE 61st Conference on Decision and Control (CDC), pp. 6769–6775, IEEE, 2022.
  • [2] F. Pasqualetti, F. Dörfler, and F. Bullo, “Attack detection and identification in cyber-physical systems,” IEEE transactions on automatic control, vol. 58, no. 11, pp. 2715–2729, 2013.
  • [3] T. Roy and S. Dey, “Actuator anomaly detection in linear parabolic distributed parameter cyber-physical systems,” IEEE Transactions on Control Systems Technology, 2023.
  • [4] A.-Y. Lu and G.-H. Yang, “Secure luenberger-like observers for cyber–physical systems under sparse actuator and sensor attacks,” Automatica, vol. 98, pp. 124–129, 2018.
  • [5] T. Roy and S. Dey, “Actuator anomaly detection in linear parabolic distributed parameter cyber-physical systems,” IEEE Transactions on Control Systems Technology, pp. 1–12, 2023.
  • [6] S. Ghosh and T. Roy, “Security of cyber-physical systems under compromised switching,” in 2023 IEEE Conference on Control Technology and Applications (CCTA), pp. 1034–1039, IEEE, 2023.
  • [7] A. Teixeira, I. Shames, H. Sandberg, and K. H. Johansson, “Revealing stealthy attacks in control systems,” in 2012 50th Annual Allerton Conference on Communication, Control, and Computing (Allerton), pp. 1806–1813, IEEE, 2012.
  • [8] Y. Chen, S. Kar, and J. M. Moura, “Optimal attack strategies subject to detection constraints against cyber-physical systems,” IEEE Transactions on Control of Network Systems, vol. 5, no. 3, pp. 1157–1168, 2017.
  • [9] K. Zhang, C. Keliris, T. Parisini, and M. M. Polycarpou, “Stealthy integrity attacks for a class of nonlinear cyber-physical systems,” IEEE Transactions on Automatic Control, vol. 67, no. 12, pp. 6723–6730, 2021.
  • [10] A. Kanellopoulos and K. G. Vamvoudakis, “A moving target defense control framework for cyber-physical systems,” IEEE Transactions on Automatic Control, vol. 65, no. 3, pp. 1029–1043, 2019.
  • [11] X. Zhang, F. Zhu, J. Zhang, and T. Liu, “Attack isolation and location for a complex network cyber-physical system via zonotope theory,” Neurocomputing, vol. 469, pp. 239–250, 2022.
  • [12] S. Ghosh, N. Saha, and T. Roy, “A cyberattack detection-isolation scheme for cav under changing driving environment,” arXiv preprint arXiv:2305.11328, 2023.
  • [13] P. Guo, H. Kim, N. Virani, J. Xu, M. Zhu, and P. Liu, “Exploiting physical dynamics to detect actuator and sensor attacks in mobile robots,” arXiv preprint arXiv:1708.01834, 2017.
  • [14] M. Bakhtiaridoust, M. Yadegar, N. Meskin, and M. Noorizadeh, “Model-free geometric fault detection and isolation for nonlinear systems using koopman operator,” IEEE Access, vol. 10, pp. 14835–14845, 2022.
  • [15] S. L. Brunton, “Notes on koopman operator theory,” Universität von Washington, Department of Mechanical Engineering, Zugriff, vol. 30, 2019.
  • [16] A. Surana and A. Banaszuk, “Linear observer synthesis for nonlinear systems using koopman operator framework,” IFAC-PapersOnLine, vol. 49, no. 18, pp. 716–723, 2016.
  • [17] S. P. Nandanoori, S. Kundu, S. Pal, K. Agarwal, and S. Choudhury, “Model-agnostic algorithm for real-time attack identification in power grid using koopman modes,” in 2020 IEEE International Conference on Communications, Control, and Computing Technologies for Smart Grids (SmartGridComm), pp. 1–6, IEEE, 2020.
  • [18] A. Gholami, A. Vosughi, and A. K. Srivastava, “Denoising and detection of bad data in distribution phasor measurements using filtering, clustering, and koopman mode analysis,” IEEE Transactions on Industry Applications, vol. 58, no. 2, pp. 1602–1610, 2022.
  • [19] B. O. Koopman, “Hamiltonian systems and transformation in hilbert space,” Proceedings of the National Academy of Sciences, vol. 17, no. 5, pp. 315–318, 1931.
  • [20] D. Bruder, X. Fu, and R. Vasudevan, “Advantages of bilinear koopman realizations for the modeling and control of systems with unknown dynamics,” IEEE Robotics and Automation Letters, vol. 6, no. 3, pp. 4369–4376, 2021.
  • [21] I. Mezić, “Spectral properties of dynamical systems, model reduction and decompositions,” Nonlinear Dynamics, vol. 41, pp. 309–325, 2005.
  • [22] M. Kamb, E. Kaiser, S. L. Brunton, and J. N. Kutz, “Time-delay observables for koopman: Theory and applications,” SIAM Journal on Applied Dynamical Systems, vol. 19, no. 2, pp. 886–917, 2020.
  • [23] H. Arbabi and I. Mezic, “Ergodic theory, dynamic mode decomposition, and computation of spectral properties of the koopman operator,” SIAM Journal on Applied Dynamical Systems, vol. 16, no. 4, pp. 2096–2126, 2017.
  • [24] T. Roy and S. Dey, “Secure traffic networks in smart cities: Analysis and design of cyber-attack detection algorithms,” in 2020 American Control Conference (ACC), pp. 4102–4107, IEEE, 2020.
  • [25] S. X. Ding, Model-based fault diagnosis techniques: design schemes, algorithms, and tools. Springer Science & Business Media, 2008.
  • [26] J. Johnson, B. Anderson, B. Wright, J. Quiroz, T. Berg, R. Graves, J. Daley, K. Phan, M. Kunz, R. Pratt, et al., “Cybersecurity for electric vehicle charging infrastructure.,” tech. rep., Sandia National Lab.(SNL-NM), Albuquerque, NM (United States), 2022.
  • [27] N. A. Samad, J. B. Siegel, and A. G. Stefanopoulou, “Parameterization and validation of a distributed coupled electro-thermal model for prismatic cells,” in Dynamic systems and control conference, vol. 46193, p. V002T23A006, American Society of Mechanical Engineers, 2014.
  • [28] S. Dey and M. Khanra, “Cybersecurity of plug-in electric vehicles: Cyberattack detection during charging,” IEEE Transactions on Industrial Electronics, vol. 68, no. 1, pp. 478–487, 2020.