ARMET Approach
ARMET Approach
ARMET: Behavior-Based
Secure and Resilient
Industrial Control Systems
By M u h a M M a d T a i Mo or K h a n , d i M i T r ios s e r pa nos , and h owa r d s h robe
Fig. 3. Deductive program synthesis through sound refinements. Listing 1. Water tank specification.
sensor data to be lower than it should be will result in the
controller issuing a “FILL” command when it should not).
Thus, while it is certainly an advantage to have constructed
a provably correct and secure controller, one must also
actively monitor the runtime behavior of the system to guar-
antee that the controller continues to behave correctly.
I V. RU N T I M E SEC U R I T Y MON I T OR
The workflow of our runtime security monitor (RSM)
is shown in Fig. 4. The RSM requires both the specifica-
tion (AppSpec) and implementation (AppImpl) of an ICS
application for monitoring [17]. Since the specification and
Listing 2. Water tank code. implementation of the application operate at different levels
of abstraction, the “Wrapper” wraps the implementation in
order to share the observed data of interest with the RSM
value (see L.8). At each time stamp (see L.10), the water in a way that is comparable to the executable specification
tank is either in of the application. During monitoring, the RSM checks for
the consistency of the runtime behavior (observations gen-
• FILLing state, i.e., the pump is pumping in the water
erated by the “Wrapper”) of the application and the appli-
such that water tank does not overflow (see L.13-14)
cation’s expected behavior (predictions generated by the
and the water tank attains a new water level (see
“AppSpec”). The RSM raises an alarm if an inconsistency is
L.19); or
detected. To support the real-time constraints of ICSs, the
• DRAINing state, i.e., the water is draining at a con- alarm can be used by AWDRAT [18], which may first sus-
stant GRAVITY_RATE assuring that the tank 1) does pend the execution and later resume the execution in a safe
not underflow (see L.15–16) and 2) attains a new state, after diagnosis.
water level (see L.20). In detail, the “AppSpec” allows us to model the behavior
Based on design decisions and synthesising the speci- of cyber and physical resources of ICSs as first class models
fication (Listing 1), we derive the Java implementation through description of
(Listing 2). • the normal behavior (“good behavior”) of the (cyber
Analogous to specification description, water tank and physical) resources by decomposing their behav-
implementation (Listing 2) says that initially water tank is ior into various submodules, by encoding precondi-
empty (see l.4). We accept any value from a user command tion and postconditions and invariant(s) for each
(see L.7). At each time stamp, we submodule;
• FILL the water tank to attain new height of the water • the flow and control model of values as data-flow and
(see L.14), if the tank does not overflow (see L.11-13); or control-flow links connecting the submodules;
• DRAIN the water tank to attain new height of the • the exceptional behavior of the resources, known
water (see L.17), if the tank does not underflow (see attacks, and suspected attack plans to rigorously
L.16); or characterize the misbehavior (“bad behavior”) of a
• do NOTHING (see L.20), if all the water has been module/submodule.
drained.
Although deductive synthesis produces a correct-and-
secure-by-construction controller, this by itself is inad-
equate. The proof is constructed under the assumption that
the operating system and runtime environment in which
the controller executes are correct. These assumptions are
not generally correct; the runtime libraries supporting C
(and other language) code are known to contain vulner-
abilities and these vulnerabilities can be exploited to change
the code that executes in the controller. Furthermore, FDI
attacks (i.e., corrupting the sensor data before it reaches the
controller) can cause the control algorithm to issue com-
mands that will have disastrous effects, even if the control-
ler is unmodified (for example, corrupting the water level Fig. 4. Runtime security monitor (RSM).
Fig. 5. Top level syntactic domains.
A. Example
In order to demonstrate our approach, we provide an
example using a variation of the water tank that we have
analyzed through the paper, as shown in Fig. 2. In this vari-
ation, the water tank has two pumps, one with incoming
water and one with outgoing water, each pump with one
Fig. 7. ICS control loop. sensor measuring its water rate (rin and rout for the incoming
and outgoing flow, respectively) and one actuator, opening
it to a specified flow rate. Furthermore, we assume that the
system has one sensor measuring the water level. With this
model, we analyze a system with three sensors rather than
the trivial case of two sensors, as the gravity-draining water
tank. For convenience, we consider that the rates rin and
rout are real numbers in the range { 0, 1} and the horizontal
cross-section area of the tank is 1. These normalized values
lead to the property that the volume of water in the tank has Listing 6. Example water tank specification.
the same value as the height of the water in it, making the
state function expression clearer.
For the example water tank, we consider that it operates attack surface. For example, one can decide that rin should be
in discrete time and at the beginning of every time unit the an integer, i.e., 0 or 1, rather than a real number, reducing
state of the pumps may change. The state of system, which the attack surface significantly. A similar constraint on the
is monitored by the monitor mon(x, z ), is expressed with value of rout will make the potential attacks quite few, lead-
the function H(t + 1) = H(t) + rin (t + 1) − rout (t + 1) that ing to a new design and a significantly more robust system. It
represents the height H( ) of the water at the end of the time should be noted that the gravity-draining water tank that we
unit t + 1. have analyzed in this paper is a constrained system (rout is not
Let us consider the following scenario: at time t, a parameter), which provides a smaller attack surface than
(t) = 5, and at time (t + 1) the system is configured with the two-pump tank we analyze here; this is the reason why it
rin (t + 1 ) = 0.5 and rout (t + 1) = 0. Clearly, H(t + 1 ) = 5.5. constitutes a trivial example for this analysis.
If the sensors of the system provide to the monitor the correct Clearly, this methodology can be applied to any system
values rin (t + 1 ) = 0.5, rout (t + 1 ) = 0, and H(t + 1 ) = 5.5, with a monitoring function that can be input to an SMT solver
the monitor will accept the state of the system, based on like dReal. We have applied our method to more complex
H(t) = 5. However, an attacker could compromise the systems, specifically alternating current (ac) state estimators
values for rin (t + 1), rout (t + 1), and H(t + 1) and provide for smartgrids [27], with successful results. We have ana-
fake values to the monitor. The monitor will accept them, lyzed benchmark power distribution networks, based on the
if they are consistent with the function for H(t + 1), and IEEE 14-Bus, 30-Bus, 157-Bus, and 300-Bus benchmark suite,
reject them, i.e., detect the attack, if the fake values are demonstrating not only the effectiveness of the approach,
not consistent with the function H(t + 1). For example, but also its feasibility for realistic and practical systems. As
if an attacker provides as input the values rin (t + 1 ) = 1, we have demonstrated in our power state analysis, FDI vul-
rout (t + 1) = 0, and H(t + 1) = 8, then the monitor nerabilities are identified successfully with analyses that are
will detect an inconsistency since H(t + 1) ≠ H(t) + efficient, independently of the size of realistic networks. Fig.
rin − rout ⇔ 8 ≠ 5 + 1 − 0. However, if the attacker 2 in [27] shows that the time required to analyze benchmark
provides the values rin (t + 1 ) = 1, rout (t + 1 ) = 0, and power networks for FDI on state estimation is in the order
H(t + 1 ) = 6, the monitor will accept them because they of seconds or minutes, depending on the exact network con-
satisfy H(t + 1) = H(t) + rin − rout ⇔ 6 = 5 + 1 − 0 figuration and the constraints on node branches and buses.
although they are not the real values; this demonstrates However, for a design cycle of a practical power distribution
that the system is vulnerable to an FDI attack when (sen- network, this performance of the analysis makes the approach
sors) values rin, rout, and H are compromised. We can iden- an indispensable tool for the development of networks that
tify such an FDI attack with our method through the use of are robust against FDI attacks.
the SMT solver, providing the monitoring function H( ) as
an input and asking if there is a solution to this equation V I. R EL AT ED WOR K
with parameter values rin, rout, and H in the defined ranges,
which is different from the real action. Listing 6 shows the This section includes state of the art for each component of
input to dReal for our described example scenario as well as our design methodology, i.e., secure-by-design ICS applica-
the result, which is a successful FDI attack to the system as tions, runtime security monitoring, and vulnerability analy-
depicted by results in Listing 7. Analyzing the system, one sis for FDI attacks, respectively.
can easily realize that the space of existent FDI attacks is
large, considering all the combinations of values that sat-
isfy H( ) and are different from the specific real values of
the example.
Based on the above and considering the large space of
potential attacks, a designer can introduce constraints on the
vulnerable parameters (rin, rout and H), in order to reduce the Listing 7. Example FDI detection.
A. Reliable-and-Secure-by-Design ICS Applications In contrast to the aforementioned approaches, our
Based on the principle of correct-by-construction approach derives correct and secure implementation from
approach [28], we have devised an approach to develop a specification that treats models of cyber and physical
secure-by-design ICS applications. Here, the challenge resources as first class models with complex behavioral
is to model behavior of both cyber and physical as first characteristics. The derivation is based on stepwise refine-
class models, though they possess fundamentally different ments of the hybrid model using Coq. We encode such com-
semantics (i.e., discrete and continuous) and characteristics plex models (including security and reliability properties)
(i.e., linear and nonlinear). Yet another challenge here is to and characteristics (including discrete and continuous) as
adequately model uncertain physical environmental varia- abstract data types (ADTs) in Coq and then derive imple-
tions that may influence behavior of physical resources of mentations through deductive synthesis of ADTs using Coq
an ICS on one hand, and operate on variable levels of infor- that is secure and correct by construction with a formal
mation abstraction about physical environment on the other proof. As far as we are aware, no other design methodology
hand. Based on Fiat [15], secure-by-design approach allows allows the derivation of secure, correct, and efficient imple-
to derive correct and secure implementation from specifica- mentations of ICSs from a specification treating cyber and
tion through stepwise refinements using Coq. Thus, allow- physical models as first class models.
ing to construct reliable and secure ICS applications by 2) ADT-Based CPS Modeling: There have not been more
design, the approach has advanced existing approaches in results in the modeling of cyber–physical resources using
at least one of the following ways: 1) reliability and security ADTs. Recently, in [33], based on VDM, the authors have
by design; 2) ADT-based CPS modeling; and 3) deductive developed a design methodology that allows comodeling of
synthesis of security properties. cyber and physical resources using operations defined over
1) Reliability and Security by Design: For the last decade, ADTs. The methodology allows to interpret the model as
there have been various efforts to develop approaches that a bond graph, which is a directed graph that compares the
allow reliable and secure implementations by design. For comodel at the end.
instance, Ur/Web [29] is a language for developing reliable 3) Deductive Synthesis of Security Properties: As far as we
and secure web applications by construction/design. For are aware, deriving correct and secure implementations
reliability, the language assures that the application will from a given ADT-based CPS model through deductive syn-
1) not crash during generating web pages; 2) not return inva- thesis has not been addressed so far. However, there have
lid HTML; and 3) not produce dead intra-application links, been efforts to derive correct implementations for simple
to name a a few. Furthermore, Ur/Web assures that the domains from a given specification through a deductive
application 1) does not suffer from code-injection attacks; synthesis. For instance, Paige and Henglein [34] show the
and 2) does not attempt invalid SQL queries, to name a few. derivation of initial implementations of the ADT-based
The language supports a rich-type system based on depend- specification employing fix-point iterations, and later opti-
ent types that guarantees that the developed application mizing the implementation using finite differencing. Lately,
respects the aforementioned features. However, the goal in [35], Hawkins et al. have applied the deductive synthe-
of Ur/Web was to provide a unified web model, where a sis to derive ADT-based implementations based on abstract
programmer develops web application in a single program- relational descriptions for various database operations, e.g.,
ming language that can be compiled to other web standards query and update.
supporting encapsulation of state and concurrency of mul- Our approach extends the above works by allowing to
tithreaded applications. In [10], Yang et al. have developed encode the specification in a general purpose theorem
a language Jeeves whose runtime enforces security policies prover, Coq, which enables us to perform sound synthesis
and guarantees that the programs respects security prop- by checking the proof for consistency. However, our goal
erties by construction. However, the goal of Jeeves was to is to apply the same method to the CPS domain, by algo-
enforce security policies at runtime. Recently, there has rithmically generating secure-and-reliable implementations
been some efforts that focused on applying the aforemen- from ADT-based specifications through a deductive synthe-
tioned alike approaches in ICS domain. For instance, the sis using Coq.
ROSCoq framework [30] has been developed in Coq to
model cyber and physical resources of robots. The frame-
work has extended logic of events to model the resources of B. Runtime Security Monitoring
CPS involving CoRN theory of constructive real analysis and Runtime security monitoring of ICSs is a complex and
then to assure various properties of the model. In [31] and challenging task, as it involves physical processes and criti-
[32], the authors have developed a Coq library “VeriDrone” cal infrastructures. In order to address these challenges, we
as a reasoning framework to ensure security of CPS mod- have developed a runtime security monitor that advances
els at different but independent levels, i.e., from high level the existing techniques in at least one of the following ways:
models to CPS implementation in C. 1) formalism of our specification language; 2) modeling
security properties; 3) monitoring based on executable properties of ICSs. For instance, a language ASLan++ [45]
specification; 4) modular and abstract specification; and allows to model security properties of ICSs for a watar treat-
5) performance efficiency. ment plant in discrete time. Here, our approach is similar
to APEX [50] which employs recent results in reachability
1) Formalism: Formalism of our specification language
analysis [51] to verify hybrid systems. In detail, APEX allows
consists of monadic second-order logic (MSL) [36] and
to model discrete and continuous system constraints and
event calculus [37] operating over algebraic data structures.
then checks whether the system reaches unsafe regions. The
This formalism is the most appropriate to model cyber and
tool suffers from scalability issues due to the state explosion
physical resources of ICSs and their security properties, with
problem in model checking. However, the goal of our work
strict real-time requirements. Based on equivalence results
is to check the consistency between hybrid system con-
of finite automaton and MSL [38]–[41], any MSL formula
straints and a “run” of the system at runtime. In fact, we
can be efficiently translated into a machine code [19], ena-
deal with a single instance of execution at a time and thus
bling our monitor to perform efficient comparison of pre-
avoid scalability concerns.
dictions and observations respecting real-time constraints
of ICSs. In order to handle potential unknown attacks, our 3) Monitoring Based on Executable Specifications: Building
language allows to specify various attack plans that are later runtime security monitors from executable specifications
exploited by the monitor for timely detection of such attacks for monitoring real-time systems has recently started get-
and threats including advanced persistent threats and zero- ting attention [52]. However, executable specifications are
day attacks. Crash Hoare-logic [42] is similar to our formal- powerful in detecting any violation of real-time constraints
ism, as it also allows to specify the unsafe behavior of a file while executing the specification in parallel to the applica-
system. In order to specify fundamentally different charac- tion are more suitable for the runtime security monitoring
teristics (e.g., hybrid systems with a mix of discrete and con- of ICSs. In [53], an executable specification ASML for runt-
tinuous behaviors) and semantics of physical and cyber mod- ime monitoring has been developed at Microsoft. ASML is
els, our formalism allows composition and construction of developed based on state transition systems whose states
high-level system behavior (i.e., discrete) from semantically are first-order algebras [54]. An executable specification
different low-level behavior(s) (i.e., continuous) by employ- language for runtime monitoring of timed systems has been
ing a method analogous to classical set builder together with proposed by Chupilko and Kamkin [55] who use extended
closure property of MSL formulas under function composi- time interval as a pair of a time event and a time interval to
tion [43], [44]. The formalism of most of the existing ICS model properties, which is used by the monitor to check the
security monitors is based on temporal logic [45], [46], rule conformance of an implementation word and the specifica-
systems [47], regular expressions and grammars [48], to tion trace. Also in [56], Ghezzi et al. developed executable
name a few. However, the expressive power of these formal- specification specification and environment (TRIO/TRIO+)
isms does not comprehend ICS requirements for modeling based on events and their relationship, interpreted in first-
physical processes and security properties as first class spec- order temporal logic. However, the language is not suitable
ifications, integral with functional specification. for modeling real-time systems, as it does not support mod-
eling hierarchical and modular specifications [57]. Recently,
2) Modeling Security Properties: Adequate modeling of an
the authors have developed a method for attack detection
ICS application is a complex task, as it involves modeling of
in ICSs (a water treatment plant) by deriving physical pro-
both cyber and physical resources that have different char-
cess invariants for each stage of the CPS from its design and
acteristics and real-time constraints [49]. Therefore, as a
then monitoring the invariants at runtime. Like [58], we
prerequisite of a security model of an ICS application, our
also specify physical process invariants to detect any secu-
language allows to describe physical processes/resources
rity threat to ICSs. Additionally, we also specify other func-
as first class models along with cyber resources. However,
tional and nonfunctional constraints, e.g., performance. In
with cyber and physical models as first class models, mod-
contrast to aforementioned executable specification lan-
eling and monitoring security properties become challeng-
guages, the set theoretic formalism of our specification lan-
ing because security properties need to combine the discrete
guage directly supports classification of observed behaviors
and continuous behaviors of cyber and physical processes.
that belong to different sets of specification. Furthermore,
Therefore, we model a security property as a relationship
our language enables modeling hierarchical and modular
between a set of discrete behavior of cyber processes and a
specifications.
set of continuous behavior of physical processes based on
event calculus. In fact, in a typical CPS, cyber processes 4) Modular and Abstract Specification: The ICS physical
are realized as discrete controllers that are responsible for processes are dynamic, as they depend on physical environ-
making decisions, while the physical processes are realized mental conditions, and thus, are abstract in nature, subject
as continuous controllers that determine physical dynam- to evolution. For instance, the filtering membrane of a water
ics and execute the decisions of the discrete controllers. desalination plant may start filtering at a different rate with
Recently, there has been some effort to model security respect to the amount of humidity in the environment.
Thus, in order to support modeling of such systems and below the real-time constraints of ICSs for various applica-
their evolving constraints, we have introduced model-based tion domains. For example, water or power management
abstract [59] and modular specification, whose syntax (i.e., systems have a desired response delay of a few milliseconds.
constructs) and operational semantics (i.e., execution) are Additionally, we will develop a mechanized proof show-
not directly dependent on the structure of the ICS applica- ing that the monitor only alarms if there is an attack, and
tion implementation. In contrast to our language, classical- vice versa, using some proof assistant, e.g., Coq. We have
model-based specification languages, for instance [60], already shown in [17] and [20] that our proof method works
allow only a contract-based model, whose execution flow in principle.
operation (i.e., structure and semantics) representation
is dependent on the syntactic structure of the application C. Vulnerability Analysis for FDI Attacks
implementation. Such models 1) do not support the mod-
eling of information that is independent of the applica- FDI attack modifies the measurement values that are
tion implementation, e.g., nonfunctional constraints; and exchanged among various ICS subsystems. Such values
2) supports limited modularity, only in the case when the eventually mislead the controller application to conclude
application implementation is modular. Furthermore, our undesired results [8]. Most of the existing approaches have
language is highly modular and abstract, e.g., in our case, attempted to model linear state estimates of power grids
application specification (AppSpec) is independent of the [23], [64]–[67]. In fact, analysis of realistic nonlinear state
application’s implementation (AppImpl). Hence, our lan- estimation models is much harder [22], [24], [66]. Many of
guages allow modeling those behavioral details that operate the existing nonlinear models bypass solving complete non-
on top of the implementation, for instance, component spe- linear constraints involved in state estimation, for instance,
cific workflow execution under additional (dynamic) con- flow equations in power grid. Thus, such solutions only
straints or (evolving) security policies/requirements. The offer analysis of system topology or data based on statistical
syntax of our language is similar to that of the executable techniques.
specification language OBJ [61]. Since our language is devel- In contrast to the aforementioned approaches, we aim to
oped in Lisp, the efficiency and the strength of the abstrac- develop FDI free models by design based on recent results
tion and modularity of our language lie in Lisp’s underlying in delta-decision procedures [68]. Our approach allows to
expert system Joshua [62]; Joshua provides deductive facili- specify nonlinear ICS models in dReal [26], which then
ties to our language, based on forward and backward chain- searches those input values of the variables for which the
ing rules that are realized as generic functions to support monitor does not alarm by reasoning about nonlinear logical
arbitrary abstraction. Furthermore, Joshua has builtin sup- constraints over real numbers.
port for modularity that is identifiable and reusable. Joshua
enables the selection of arbitrary data structures to achieve V II. CONC LUSION A N D F U T U R E WOR K
the desired efficiency.
We have introduced a complete behavior-based approach to
5) Efficiency: Developing runtime security monitors to the design of secure ICSs. Our method targets to produce
meet real-time ICS constraints is a tradeoff between secu- an industrial control application implementation that satis-
rity and efficiency of the ICS application. Thus, in order to fies desired security properties (secure-by-design) as well as
meet the strict real-time ICS constraints, we have devel- a runtime security monitor that identifies runtime attacks
oped a tunable runtime security monitor that monitors by comparing the expected application behavior with the
adequate behavior (i.e., all preconditions, postconditions, behavior of the executed code. The method is feasible and
and invariant) at the time of high threat, and monitors par- practical because it originates from an executable specifica-
tial (i.e., any combination of preconditions, postconditions, tion of the application. Importantly, our approach includes
and invariant) behavior otherwise. There are no fixed per- a method to develop systems that are resistant not only to
formance metrics for runtime security monitoring of ICS computational attacks but also FDI attacks, through the use
applications [63]. However, an evaluation of such moni- of a vulnerability analysis technique that leads to secure
tors is required against the real-time constraints of ICSs. application designs or identification of FDI attack values
In principle, the real-time constraints are periodic, i.e., that can be monitored at runtime. We have demonstrated
the response of a certain component or a certain decision the effectiveness and practicality of our method through
is expected to be completed within a certain time period, detailed descriptions of the development of a secure appli-
say T. Therefore, we ensure that the longest execution of cation for a simple water tank management ICS.
our monitor’s implementation completes in time T, thus Our approach leads to a proposed design methodology
respecting the real-time constraints of the associated com- that is composed of three components: secure-by-design
ponent of the monitored application. Furthermore, our application development, production of a security runtime
results (see Section IV-A) show that, even in highly threat- monitor, and production of an FDI attack monitor through
ened scenarios, our monitor executes in less than 1 ms, vulnerability analysis. In our experiments, up to date, we
well
have been using Coq and dReal for the secure-by-design com- developments will allow our RSM and other associated com-
ponent and the vulnerability analysis component, while we ponents (e.g., control application, operating system) to run at
have developed the security runtime monitor, ARMET. the same level of abstraction (i.e., specification language), thus
In future work, we will be working on the automation of ensuring computation overhead to be negligible on one hand,
all required procedures to develop a unified design method- and no scalability issues on the other hand. Furthermore, to
ology, envisioning the ability to produce reliable and secure achieve even higher performance, our RSM allows to monitor
application code, runtime security monitors, and runtime desired ICS behavior on demand, e.g., to monitor, any or all,
FDI attack value monitors automatically from a single exe- among preconditions, postconditions, and invariant.
cutable specification of the ICS application.
Furthermore, with the recent great developments in for- Acknowledgment
mal verification of software applications and operating sys- The authors would like to thank Prof. A. Chlipala, Prof. A.
tems [69], [70], our monitoring component will run without Solar-Lezama, and Dr. S. Gao for their indispensable col-
any performance and scalability issues in real-time ICSs. Such laboration and support of this project.
REFERENCES [13] I. Matteucci, “Automated synthesis of information against smart power grids,” in
[1] W. A. Conklin, “IT vs. OT security: A time enforcing mechanisms for security Proc. IEEE Global Commun. Conf.
to consider a change in CIA to include properties in a timed setting,” Electron. Notes (GLOBECOM), Dec. 2012, pp. 3153–3158.
resilienc,” in Proc. 49th Hawaii Int. Conf. Syst. Theor. Comput. Sci., vol. 186, pp. 101–120, [25] M. A. Rahman, E. Al-Shaer, and M. A.
Sci. (HICSS), Jan. 2016, pp. 2642–2647. Jul. 2007. Rahman, “A formal model for verifying
[2] M. Zeller, “Myth or reality—Does the aurora [14] R. Soulat, “Synthesis of correct-by-design stealthy attacks on state estimation in power
vulnerability pose a risk to my generator?” in schedulers for hybrid systems,” Ph.D. grids,” in Proc. IEEE 4th Int. Conf. Smart Grid
Proc. 64th Annu. Conf. Protective Relay Eng., dissertation, École Normale Supérieure Commun. (SmartGridComm), Vancouver, BC,
Apr. 2011, pp. 130–136. Paris-Saclay—ENS Cachan, Cachan, France, Canada, Oct. 2013, pp. 414–419.
Feb. 2014. [26] S. Gao, S. Kong, and E. M. Clarke, “dReal:
[3] R. Langner, “Stuxnet: Dissecting a
cyberwarfare weapon,” IEEE Security Privacy, [15] B. Delaware, C. Pit-Claudel, J. Gross, and An SMT solver for nonlinear theories over
vol. 9, no. 3, pp. 49–51, May 2011. A. Chlipala, “Fiat: Deductive synthesis of the reals,” in Proc. 24th Int. Conf. Autom.
abstract data types in a proof assistant,” in Deduction, 2013, pp. 208–214.
[4] B. Kang, K. McLaughlin, and S. Sezer, Proc. 42nd Annu. ACM SIGPLAN-SIGACT
“Towards a stateful analysis framework for [27] S. Gao, L. Xie, A. Solar-Lezama,
Symp. Principles Programm. Lang. (POPL), D. N. Serpanos, and H. E. Shrobe,
smart grid network intrusion detection,” in Mumbai, India, Jan. 2015, pp. 689–700.
Proc. 4th Int. Symp. ICS SCADA Cyber Secur. “Automated vulnerability analysis of AC
Res., 2016, pp. 1–8. [16] C. A. R. Hoare, “Proof of correctness of data state estimation under constrained false
representations,” Acta Inf., vol. 1, no. 4, data injection in electric power systems,” in
[5] U. Lindqvist and P. G. Neumann, “The pp. 271–281, 1972. Proc. 54th IEEE Conf. Decision Control (CDC),
future of the Internet of Things,” Commun. Dec. 2015, pp. 2613–2620.
ACM, vol. 60, no. 2, pp. 26–30, Jan. 2017. [17] M. T. Khan, D. Serpanos, and H. Shrobe, “A
rigorous and efficient run-time security [28] E. W. Dijkstra, “A constructive approach to
[6] R. Mitchell and I.-R. Chen, “A survey of monitor for real-time critical embedded the problem of program correctness,”
intrusion detection techniques for cyber- system applications,” in Proc. IEEE 3rd World Circulated Privately, Tech. Rep., Aug. 1967.
physical systems,” ACM Comput. Surv., vol. Forum Internet Things (WF-IoT), Dec. 2016,
46, no. 4, pp. 55-1–55-29, Mar. 2014. [29] A. Chlipala, “Ur/Web: A simple model for
pp. 100–105. programming the Web,” Commun. ACM,
[7] S. Cheung, B. Dutertre, M. Fong, [18] H. Shrobe, “AWDRAT: A cognitive vol. 59, no. 8, pp. 153–165, Aug. 2016.
U. Lindqvist, K. Skinner, and A. Valdes, middleware system for information
“Using model-based intrusion detection for [30] A. Anand and R. Knepper, ROSCoq: Robots
survivability,” in Proc. 18th Conf. Innovative Powered by Constructive Reals. Berlin,
scada networks,” in Proc. SCADA Secur. Sci.
Appl. Artif. Intell., vol. 2. 2006, pp. 1836–1843. Germany: Springer-Verlag, 2015, pp. 34–50.
Symp., Jan. 2007, pp. 1–12.
[19] B. Courcelle and J. Engelfriet, Graph [31] G. Malecha, D. Ricketts, M. M. Alvarez, and
[8] Y. Liu, P. Ning, and M. K. Reiter, “False data
Structure and Monadic Second-Order Logic: A S. Lerner, “Towards foundational
injection attacks against state estimation in
Language-Theoretic Approach. Cambridge, verification of cyber-physical systems,” in
electric power grids,” ACM Trans. Inf. Syst.
MA, USA: Cambridge Univ. Press, 2012. Proc. Sci. Secur. Cyber-Phys. Syst. Workshop
Secur., vol. 14, no. 1, pp. 13-1–13-33, Jun.
2011. [20] M. T. Khan, D. Serpanos, and H. Shrobe, (SOSCYPS), Apr. 2016, pp. 1–5.
“Sound and complete runtime security [32] M. Chan, D. Ricketts, S. Lerner, and
[9] A. A. Cárdenas, S. Amin, Z.-S. Lin, Y.-
monitor for application software,” Dept. G. Malecha, “Formal verification of stability
L. Huang, C.-Y. Huang, and S. Sastry,
“Attacks against process control systems: Comput. Sci. Artif. Intell. Lab., MIT, properties of cyber-physical systems,” in
Risk assessment, detection, and response,” in Cambridge, MA, USA, Tech. Rep. MIT- Proc. CoqPL, Jan. 2016.
Proc. 6th ACM Symp. Inf., Comput. Commun. CSAIL-TR-2016-017, Dec. 2016. [33] J. Fitzgerald, K. Pierce, and C. Gamble,
Secur., 2011, pp. 355–366. [21] C. Kwon, W. Liu, and I. Hwang, “Analysis “A rigorous approach to the design of
[10] J. Yang, K. Yessenov, and A. Solar-Lezama, “A and design of stealthy cyber attacks on resilient cyber-physical systems through
language for automatically enforcing privacy unmanned aerial systems,” J. Aerosp. Inf. co-simulation,” in Proc. IEEE/IFIP 42nd Int.
policies,” in Proc. 39th Annu. ACM SIGPLAN- Syst., vol. 11, no. 8, pp. 525–539, 2014. Conf. Depend. Syst. Netw. Workshops (DSN-W),
SIGACT Symp. Principles Programm. Lang., [22] G. Hug and J. A. Giampapa, “Vulnerability Jun. 2012, pp. 1–6.
New York, NY, USA, 2012, pp. 85–96. assessment of ac state estimation with [34] R. Paige and F. Henglein, “Mechanical
[11] M. Zhang, Y. Duan, Q. Feng, and H. Yin, respect to false data injection cyber-attacks,” translation of set theoretic problem
“Towards automatic generation of security- IEEE Trans. Smart Grid, vol. 3, no. 3, specifications into efficient RAM code—A
centric descriptions for android apps,” in pp. 1362–1370, Sep. 2012. case study,” J. Symbolic Comput., vol. 4, no. 2,
Proc. 22nd ACM SIGSAC Conf. Comput. [23] A. Teixeira, S. Amin, H. Sandberg, pp. 207–232, Aug. 1987.
Commun. Secur., New York, NY, USA, 2015, K. H. Johansson, and S. S. Sastry, “Cyber [35] P. Hawkins, M. Rinard, A. Aiken, M. Sagiv,
pp. 518–529. security analysis of state estimators in and K. Fisher, “An introduction to data
[12] F. Martinelli and I. Matteucci, “An approach electric power systems,” in Proc. 49th IEEE representation synthesis,” Commun. ACM ,
for the specification, verification and Conf. Decision Control (CDC), Dec. 2010, vol. 55, no. 12, pp. 91–99, Dec. 2012.
synthesis of secure systems,” Electron. Notes pp. 5991–5998. [36] J. Henriksen, “Mona: Monadic second-order
Theor. Comput. Sci., vol. 168, pp. 29–43, [24] M. A. Rahman and H. Mohsenian-Rad, logic in practice,” in Tools and Algorithms for
Feb. 2007. “False data injection attacks with incomplete the Construction and Analysis of Systems
(Lecture Notes in Computer Science), [48] F. Chen and G. Rosu, “MOP: An efficient [59] J. M. Wing, “A specifier’s introduction to
vol. 1019. 1995, pp. 89–110. and generic runtime verification formal methods,” Computer, vol. 23, no. 9,
[37] G. C. Borchardt, “Event calculus,” in Proc. framework,” ACM Sigplan Notices, vol. 42, pp. 8–23, Sep. 1990.
9th Int. Joint Conf. Artif. Intell., vol. 1. 1985, no. 10, pp. 569–588, 2007. [60] T. Gary Leavens and Y. Cheon (2006). Design
pp. 524–527. [49] I. Ruchkin, S. Selva, S. Bradley, R. Amanda, by Contract With JML. A Tutorial. [Online].
[38] R. J. Büchi, “Weak second-order arithmetic and G. David, “Challenges in physical Available: ftp://ftp.cs.iastate.edu/pub/
and finite automata,” Zeitschrift Mathe. modeling for adaptation of cyber-physical leavens/JML/jmldbc.pdf
Logik Grundlagen Math., vol. 6, nos. 1–6, systems,” in Proc. IEEE World Forum [61] J. A. Goguen, T. Winkler, J. Meseguer,
pp. 66–92, 1960. Internet Things MARTCPS, Dec. 2016, K. Futatsugi, and J.-P. Jouannaud, Introducing
pp. 210–215. OBJ. Boston, MA, USA: Springer-Verlag,
[39] J. R. Buechi, “On a decision method in
restricted second-order arithmetic,” in Proc. [50] M. O’Kelly, H. Abbas, S. Gao, S. Shiraishi, 2000, pp. 3–167.
Int. Congr. Logic, Methodol. Philos. Sci., 1962, S. Kato, and R. Mangharam, “APEX: [62] S. Rowley, H. Shrobe, R. Cassels, and
pp. 1–11. Autonomous vehicle plan verification and W. Hamscher, “Joshua: Uniform access to
execution,” in Proc. SAE World Congr., vol. 1. heterogeneous knowledge structures or why
[40] M. O. Rabin, “Decidability of second-order Apr. 2016, pp. 1–13.
theories and automata on infinite trees,” joshing is better than conniving or
Trans. Amer. Math. Soc., vol. 141, nos. 1–35, [51] S. Kong, S. Gao, W. Chen, and E. Clarke, planning,” in Proc. AAAI, Seattle, WA, USA,
p. 4, 1969. dReach: δ-Reachability Analysis for Hybrid 1987, pp. 48–52.
Systems. Berlin, Germany: Springer-Verlag, [63] A. Kane, “Runtime monitoring for safety-
[41] C. C. Elgot, “Decision problems of finite
2015, pp. 200–205. critical embedded systems,” Ph.D.
automata design and related arithmetics,”
Trans. Amer. Math. Soc., vol. 98, no. 1, [52] M. Blum and H. Wasserman, “Software dissertation, Dept. Electr. Comput. Eng.,
pp. 21–51, 1961. reliability via run-time result-checking,” Carnegie Mellon Univ., Pittsburgh, PA,
J. ACM, vol. 44, pp. 826–849, 1994. USA, 2015.
[42] H. Chen, D. Ziegler, T. Chajed, A. Chlipala,
M. F. Kaashoek, and N. Zeldovich, “Using [53] M. Barnett and W. Schulte, “Runtime [64] G. Dán and H. Sandberg, “Stealth attacks
crash hoare logic for certifying the FSCQ file verification of.NET contracts,” J. Syst. Softw., and protection schemes for state estimators
system,” in Proc. 25th Symp. Oper. Syst. vol. 65, no. 3, pp. 199–208, 2003. in power systems,” in Proc. 1st IEEE Int. Conf.
Principles, 2015, pp. 18–37. Smart Grid Commun. (SmartGridComm), Oct.
[54] E. Borger and R. F. Stark, Abstract State
2010, pp. 214–219.
[43] R. Alur, A. Durand-Gasselin, and A. Trivedi, Machines: A Method for High-Level System
“From monadic second-order definable Design and Analysis. New York, NY, USA: [65] O. Kosut, L. Jia, R. J. Thomas, and L. Tong,
string transformations to transducers,” Springer-Verlag, 2003. “Malicious data attacks on the smart grid,”
in Proc. 28th Annu. ACM/IEEE Symp. IEEE Trans. Smart Grid, vol. 2, no. 4,
[55] M. M. Chupilko and A. S. Kamkin, “Runtime
Logic Comput. Sci. (LICS), Mar. 2013, pp. 645–658, Dec. 2011.
verification based on executable models:
pp. 458–467. On-the-fly matching of timed traces,” in [66] A. Teixeira, I. Shames, H. Sandberg, and
[44] B. Courcelle, “Monadic second-order Proc. 8th Workshop Model-Based Test., 2013, K. H. Johansson, “Revealing stealthy attacks
definable graph transductions: A survey,” pp. 67–81. in control systems,” in Proc. 50th Annu.
Theor. Comput. Sci., vol. 126, no. 1, Allerton Conf. Commun., Control, Comput.
[56] C. Ghezzi, D. Mandrioli, and A. Morzenti, (Allerton), Oct. 2012, pp. 1806–1813.
pp. 53–75, 1994. “Trio: A logic language for executable
[45] M. Rocchetto and N. O. Tippenhauer, specifications of real-time systems,” [67] L. Xie, Y. Mo, and B. Sinopoli, “Integrity
“Towards formal security analysis of J. Syst. Softw., vol. 12, no. 2, pp. 107–123, data attacks in power market operations,”
industrial control systems,” in Proc. ACM May 1990. IEEE Trans. Smart Grid, vol. 2, no. 4,
Asia Conf. Comput. Commun. Secur., 2017, pp. 659–666, Dec. 2011.
[57] S. Gérard, H. Espinoza, F. Terrier, and
pp. 114–126. B. Selic, “Modeling languages for real-time [68] S. Gao, J. Avigad, and E. M. Clarke, “δ-Complete
[46] A. Bauer, M. Leucker, and C. Schallhart, and embedded systems: Requirements and decision procedures for satisfiability over the
“Runtime verification for LTL and TLTL,” standards-based solutions,” in Proc. Int. reals,” in Proc. 6th Int. Joint Conf. Autom.
ACM Trans. Softw. Eng. Methodol., vol. 20, Dagstuhl Conf. Model-Based Eng. Embedded Reasoning-(IJCAR), Manchester, U.K., Jun.
no. 4, pp. 1–68, 2011. Real-Time Syst., 2010, pp. 129–154. 2012, pp. 286–300.
[47] H. Barringer, D. E. Rydeheard, and K. [58] S. Adepu and A. Mathur, Using Process [69] Deepspec. [Online]. Available: https://
Havelund, “Rule systems for run-time Invariants to Detect Cyber Attacks on a Water deepspec.org/page/Research/
monitoring: From eagle to ruler,” J. Logic Treatment System. Cham, Switzerland: [70] Certikos. [Online]. Available: http://flint.
Comput., vol. 20, no. 3, pp. 675–706, 2010. Springer-Verlag, 2016, pp. 91–104. cs.yale.edu/certikos/