Abstract
Protocol security verification is one of the best success stories of formal methods. However, some aspects important to protocol security, such as time and resources, are not covered by many formal models. While timing issues involve e.g., network delays and timeouts, resources such as memory, processing power, or network bandwidth are at the root of Denial of Service (DoS) attacks which have been a serious security concern. It is useful in practice and more challenging for formal protocol verification to determine whether a service is vulnerable not only to powerful intruders, but also to resource-bounded intruders that cannot generate or intercept arbitrarily large volumes of traffic. A refined Dolev–Yao intruder model is proposed, that can only consume at most some specified amount of resources in any given time window. Timed protocol theories that specify service resource usage during protocol execution are also proposed. It is shown that the proposed DoS problem is undecidable in general and is PSPACE-complete for the class of resource-bounded, balanced systems. Additionally, we describe a decidable fragment in the verification of the leakage problem for resource-sensitive timed protocol theories.
Introduction
Protocol security verification is one of the best success stories of formal methods. Indeed, a number of attacks and corrections have been discovered since Lowe found an attack on the Needham–Schroeder protocol [48,55]. Valid verification relies on the careful formalization of all the relevant assumptions of a protocol execution. However, much of the use of formal methods does not consider some protocol aspects and assumptions such as the ones related to time. Timing aspects are particularly important in the verification of cyber-physical systems, including, e.g., distance-bounding protocols.
Another important aspect of protocol verification are resources. For the past decades, Denial of Service (DoS) attacks and their distributed version (DDoS) have been a serious security concern, as no service is, in principle, protected against them. Indeed, if an intruder, such as the Dolev–Yao (DY) intruder [23], has enough resources, he may render any service unavailable by sending a large number of messages (flooding attacks) or by intercepting all messages in the network (jamming attacks). What makes the DoS threat even worse is that these attacks do not necessarily have to be carried out by (extremely) powerful intruders with almost unbounded resources. Attacks such as slow DoS attacks [11,12,46,59–61,67,68], asymmetric DoS attacks [57,70], and amplification attacks [66,69], can all be carried out by intruders using limited resources. For example, web-servers, such as Apache [67] and NGinx [68] can be successfully attacked by intruders with limited resources using, for instance, mobile phones (SlowDroid [10]).
However, it is hard to determine whether a service is vulnerable to such attacks. While a very powerful intruder with unbounded resources would simply flood the service rendering it unavailable, a resource-bounded intruder carries out an attack by exploiting the protocols used by the target service. He not only triggers a particular sequence of events to consume the service’s resources, but also cleverly tries to minimize his effort by triggering events as lazily as possible, renewing service timeouts as late as possible, or by enlisting the help of other benign nodes in the network. Indeed, in many attacks [10,67], the volume of traffic generated by the intruder is comparable to the volume of a legitimate client, thus making it hard for network administrators to even identify when the service is under attack. Therefore, determining such vulnerabilities in advance may help prevent attacks by installing suitable countermeasures.
Intruders can also exploit a wide range of types of resources. For example, Slowloris consumes the limited number of workers web-servers possess; Software Defined Network (SDN) TCAM exhaustion attacks [59,60] consume the limited amount of TCAM memory of switches; TLS renegotiation DoS attacks [32] consume the server’s processing power; SIP forking amplification attacks on Voice-over-IP (VoIP) systems [31,64,66,69] consume the network bandwidth.
While security issues relevant for DoS attacks have been identified, e.g., in [54], where a taxonomy of DoS attacks is given, the main contribution of this paper is on formal verification of DDoS, pioneered by the cost-based framework for analyzing DoS attacks from [51]. The proposed formalization includes timing aspects such as network and processing delays, as well as protocol timeouts that have specific applications in a variety of protocols.
The main contributions of the paper are the following:
We formally define the DoS problem. In contrast to existing definitions, such as, the one proposed in [51], our DoS problem takes into account timing aspects, i.e., duration of the attack. All contributions listed below build on this conceptual advance. The key technical challenge is to formally specify behaviors, formalized as traces, where services behave as expected, e.g., triggering timeouts whenever applicable. This is accomplished by specifying configurations that are not allowed, called critical configurations. As we use dense time domains, the notion of a trace that does not involve critical configurations, called non-critical traces, becomes much more elaborate than in models using discrete domains, since in dense time one cannot list all the moments that the trace covers. Therefore, ensuring that a trace is non-critical requires checking that all possible decompositions of time advancements, and there are infinitely many, do not contain critical configurations.
Protocol resource theories are introduced, which refine protocol theories of [24,40] with resource usage and timing aspects, including action duration and timeouts. For the formalization, the existing Timed Multiset Rewriting (MSR) model with real time of [41] is extended;
Resource-bounded intruder models are introduced, which refine the DY intruder with resource usage and action duration. For formal verification, the traditional DY intruder [23] can trivially deny any service by, for example, blocking all communication. Furthermore, the traditional DY intruder is able to intercept and send messages anywhere at anytime, appearing, hence, faster than the speed of light. Hence, such an intruder is too powerful for the purposes of this paper. Inspired by the work [51], instead, a parametric resource-bounded intruder model is proposed, where intruder’s actions consume resources and time;
The expressiveness of the model is demonstrated by modeling different types of attacks. The expressiveness of the model with respect to timing aspects, is shown by specifying protocols with timeouts. Besides traditional DoS attacks, such as the SYN flooding attack, the model can also express the types of DoS attacks described above (Slow DoS, Asymmetric and Amplification attacks). Additionally, it is also shown how to model countermeasures based on traffic monitoring, such as, defenses [62] deployed in web-servers to mitigate the Slowloris attack;
We prove that under suitable conditions, the non-critical reachability problem for general MSR models with dense time is PSPACE-complete, which non-trivially advances previous reachability problems [41] that did not consider critical configurations. This result is essential for the complexity results of verification problems involving non-critical traces.
From the general result for non-critical reachability problem, we prove that our DoS problem is PSPACE-complete for a wide class of resource-bounded intruders. Moreover, it is proven that the DoS problem is undecidable in general;
Verification of the leakage problem related to resource-sensitive timed protocol and intruder theories is also investigated. General undecidability and a PSPACE-completeness result for a variation of the leakage problem is shown. This builds on the past work in which a rich complexity theory for problems has been developed, formulated in terms of (Timed) MSR [41]. However, here the focus is on specific application of MSR models to resource-sensitive timed protocol specification and verification;
Finally, we describe in detail the machinery implemented using the rewriting tool Maude [18] for discovering vulnerabilities. Our machinery takes as input an abstract specification of the resource usage and timeouts of protocols, in the form of a mode automaton, and performs symbolic search using rewriting modulo SMT [63] to discover attacks. Moreover, based on our theoretical study (balanced theories), we propose ways to improve search performance by performing bounded model-checking. This implementation is available at [49].
This paper combines and extends the conference papers [2,71]. More specifically, the description of the automated verification has been greatly expanded w.r.t. [71], including the specification of methodology and new experiments. Also, detailed complexity proofs are provided and theories have been elaborated to better incorporate both time and resource aspects. In particular, we extend our previous papers with more general protocol theories that incorporate timeout based countermeasures given in Section 4.4. In addition, we consider the leakage problem, a refined version of the secrecy problem that involves resource and time-sensitive protocol and intruder theories, which has not been previously investigated. Related complexity results are obtained.
The paper starts by describing the use of resources and timeouts in protocols, as well as presenting some examples of known DoS attacks in Section 2. In Section 3 the Timed MSR model of [41] is presented and the notion of non-critical traces for dense time MSR models is introduced. Applications of Timed MSR model to protocol specification and verification start with Section 4 where protocol resource theories are defined, while in Section 5 timed resource-bounded intruder model is introduced. It is described how the model can be used to specify intruders that can only generate bounded traffic or have bounded processing power. The expressivity of the theories is illustrated with some examples of protocol theories and attacks. In Section 6 verification problems are specified. The related complexities are studied in Section 7. Section 8 describes the results on automated search for DoS attacks. Finally, Section 9 concludes by discussing related work and points to future work.
Motivating examples
The importance of expressing timing and resource aspects of protocols in the protocol verification is illustrated with several examples. The first one is on the use of timeouts. The second example illustrates the essence of DoS attacks, that is, the consumption of resources.
Timeouts
Protocol session timeouts become relevant when considering timing aspects, such as network communication delays. Http/Https protocols use timeouts to limit waiting time in multiple situations: idle connections, client waiting for server response, server waiting for client to complete a request etc. The Session Initiation Protocol (used by VoIP and other communication protocols) uses timers to limit the waiting time during different steps of the protocol. For example, if the called party is not available, the initialization should not ring forever! The ability to reset timers provides readily available attack surfaces.
Lifetime/time-to-live is another important time related concept. Networking protocols (for example, TLS [33], Kerberos) often use tickets to control access. These tickets typically have a lifetime after which they are no longer valid. Packets traveling through the network (for example TCP/IP) often have a time-to-live to avoid loops and problems delaying delivery.
Related verification using the traditional DY intruder may lead to false positives, as the intruder impersonates the network, i.e., forwards messages instantaneously. In [2] a refinement of the DY intruder is proposed, which takes timing aspects, such as processing delays, into account.
Denial of service attacks
Traditional DoS attacks, known as flooding or brute-force attacks, target the main service resource by generating large amount of traffic. The most known example is the SYN flooding attack. Such attacks are always possible in the presence of very powerful intruders, who can send or intercept an unbounded number of messages. Resource-bounded intruders, on the other hand, exploit protocols used by the target service to perform attacks targeting specific service features related to, e.g., protocols or applications used by the service, as detailed in below examples. Hence, to fully capture various types DoS attacks, all relevant resources should be included in the verification model.
Some existing DoS attacks that can be carried out by intruders with bounded resources are reviewed here. Attacks aim to consume different resources of the target service, such as the service’s threads/workers, available memory, processing power, or even the network bandwidth. However, instead of generating a large amount of traffic, intruders exploit the protocol used by the target service to consume its resources in a lazy manner.
Attacks consuming workers/threads. Web-servers, such as Apache and NGinx, and VoIP servers, such as Asterisk, are subject to attacks that consume all the available workers in their pool of threads. Examples of such attacks include Slowloris, RUDY, Slowread, and Coordinated Call attacks.
For example, Slowloris [67] is an attack on (connection-based) web-servers such as Apache. The intruder exploits the fact that when a web-server receives a GET request with an incomplete header, it allocates one of its workers to attend to this new request. However, since the GET request is incomplete, the worker is left idle and waits for a new piece of the request header until a timeout is triggered (typically 40 seconds). If a new piece of header arrives and the header is complete, the worker answers the request, but if the header continues to be incomplete, the timeout is reset and the worker waits for another piece until the timeout is triggered. To carry out the Slowloris attack, an intruder sends a burst of incomplete GET requests large enough to occupy all workers (typically 300–400 requests). The intruder does not have to send another burst until a timeout gets close, generating, as a result, very little traffic.
Attacks consuming memory. Intruders can target the service’s memory. Examples include XML-bombs [70] and Second-Order DDoS attacks [57]. As demonstrated in [59,60], even sophisticated networks, such as Software Defined Networks (SDN), can be attacked by resource-bounded intruders. In SDN, switches are general devices that use specialized memories called Ternary Content-Addressable Memory (TCAM) for storing routing rules which are installed by a (powerful) SDN controller. Since TCAMs are expensive and require much energy, SDN switches have a limited amount of TCAM memory capable of storing typically at most 5000 rules.
This makes SDN switches subject to Slow-TCAM attacks where the intruder consumes a switch’s TCAM memory by forcing the installation of sufficiently many rules. Moreover, to avoid having rules removed, the intruder keeps them alive by sporadically sending new packets that trigger the forwarding rules installed in the switch. Indeed, the intruder can render an SDN switch unavailable by sending less than 4 packets per second.
Attacks consuming processing power. Attacks can also target the processing power of servers. An example of such attack is the Transport Layer Security (TLS) renegotiation DoS attack [32]. TLS [33] is a cryptographic protocol widely used in communication over the Internet. A private connection is established between parties by sharing a private symmetric key created during TLS initialization through a handshake using available public keys. Parties can, however, renegotiate the symmetric key. The initialization process, however, requires more processing power from the server (10 times more effort) than from the client. By issuing a large enough number of renegotiation requests, the attacker can thus consume the processing power of the server, causing the TLS renegotiation DoS attack [32].
Attacks consuming network bandwidth. Instead of targeting a specific resource on a designated server, an intruder with limited resources may target the entire network of servers by mounting an amplification DoS attack. The intruder floods the network with messages by expending minimal initial effort and exploiting the protocol to enlist the help of other servers in the network, causing the number of messages to amplify to an arbitrary large number while still requiring minimal (or no) further work by the intruder.
An example is the well-known amplification vulnerability in the Session Initiation Protocol (SIP) used to set up VoIP calls [31,64,66,69]. SIP uses a network of SIP proxies to help locate VoIP clients and establish sessions. Generally, to set up a call from client A to another client B, A sends a SIP
Timed multiset rewriting
We briefly review Timed Multiset Rewriting (MSR) with dense time of [41] which is the language extended here to specify resource-bounded intruders and protocols. Assume a finite first-order typed alphabet, Σ, with variables, constants, function and predicate symbols. Additionally, an unbounded number of fresh values [15,24] is allowed. Terms and facts are constructed as usual (see [27]), by applying symbols with correct type. For instance, if P is a predicate of type
Timestamped facts are used to specify systems that explicitly mention time. Timestamped facts are of the form
A special predicate
Configurations are modified by multiset rewrite rules which can be interpreted as actions of the system. There is only one rule,
The remaining rules are instantaneous actions, which do not affect the global time, but may rewrite the remaining facts of configurations (those different from
where
Finally, the variables
Facts
and the created facts
. Notice that an instantaneous action Eq. (2) may consume facts with timestamps in the past, present or future and create facts with timestamps only in the present or in the (near) future. In that sense, rules Eq. (2) do not change the past.
An instantaneous rule of the form
An instance of an instantaneous rule can only be applied if all of its constraints are satisfied. For example, the rule
can be applied to configuration
In a configuration, an instance of a timestamped fact
A timed MSR system with dense time
(Trace).
A trace of timed MSR system
Notice that by the nature of multiset rewriting there are various aspects of non-determinism in the model. For example, different actions and even different instantiations of the same rule may be applicable to the same configuration
Goal and critical configurations, non-critical traces
For protocol verification, not all possible traces are interesting, only those traces that do not contain undesired, critical configurations and reach some goal. The task of security verification is to check whether a system is vulnerable to an attack. For example, a goal configuration can denote that the service has suffered a DoS attack. The purpose of critical configurations will be to avoid traces where the service does not behave as expected, e.g., denying service when there are enough available resources. Such system behaviour is accomplished by only considering non-critical traces defined below.
(Critical/goal configurations).
A critical configuration specification
A configuration
For example, the configuration
Notice that nonce renaming is assumed as the particular nonce name should not matter for classifying a configuration as a critical or a goal configuration. Nonce names cannot be specified in advance, since these are freshly generated in a trace, i.e. during the execution of the process being modelled.
In discrete time setting [43], a trace is considered critical if it contains a critical configuration. This is not adequate for dense time models where the continuity of time flow is implicitly embedded in the MSR formalism. Namely, given arbitrary
(Non-critical traces).
Let
That is, one has to consider all possible ways to decompose
Balanced systems
Balanced systems, introduced in [65], represent an important class of systems, for which several reachability problems are decidable [39–41]. A rule is balanced if the number of facts appearing in its pre-condition and in its post-condition is the same. Balanced systems contain only balanced rules and have the following important property [65]:
Let
As described in [40], any unbalanced rule can be made balanced by using dummy facts, so-called empty facts. For example, the unbalanced rule
can be turned into a balanced rule by adding an empty fact D to its pre-condition, 
. However, the obtained balanced system is not equivalent to the original, unbalanced system as the set of reachable states and possible traces is reduced. Notice that the above balanced rule can only be applied if a D fact is available in the enabling configuration. That is not the condition for the application of the original, unbalanced rule.
For the complexity results related to balanced systems, it is important to additionally assume an upper-bound on the size of facts. The size of a timed fact
As in [40], empty facts represent available free memory slots. In order to model systems and intruders with bounded memory, we consider empty facts
There are important implications when using balanced systems in protocol specification and intruder models. Balanced systems used for protocol verification, as the ones in [40,41], implicitly bound the number of protocol sessions that can be executed concurrently. However, the total number of protocol sessions in a trace is unbounded. Moreover, the number of facts (and thus symbols) that the balanced intruder can remember is bounded. As shown in [40], however, many of the known attacks on protocols can be carried out by balanced intruders. This paper considers security protocol analysis in the symbolic (Dolev–Yao) model [9,22,24,28] and takes into account resource limitations of the attacker. In order to deal with a bounded amount of memory, only facts of bounded size are considered, where the size of facts is measured by the total number of symbols contained. It is an interesting question for further research how to consider the issues we study here in the computational cryptographic model [5,8,13].
The non-critical reachability problem for general MSR theories is recalled, which differently from the reachability problem, considers only non-critical traces. The verification problems we study in Sections 6 and 6.2 are special instances of non-critical reachability.
(Reachability problem).
Given a timed MSR system
(Non-critical reachability problem).
Given a MSR system
Summary of the complexity results for the reachability and non-critical reachability problems
Summary of the complexity results for the reachability and non-critical reachability problems
Reachability problems for MSR are undecidable in general [39]. However, by imposing some restrictions, such as using only balanced rules and bounding the size of facts, these problems become decidable, even in timed models with fresh values. A summary of known complexity results is shown in Table 1, together with the new result for the non-critical reachability for real-time MSR discussed in Section 7.
It has been shown in [41,43] that relaxing any of the main conditions on instantaneous rules leads to the undecidability of the reachability problems. For example, undecidability is obtained in systems with time constraints that involve three or more time variables. Furthermore, constants Ds and
The MSR model is applied to protocol verification, formalizing verification scenarios, including protocol and intruder theories. A language is introduced for formal specification of how resources are consumed during protocol execution and the timeouts, which specify when protocols may be terminated and resources recovered. This is obtained by extending protocol theories proposed in [24,40].
MSR signature for protocol verification
For the specification of the verification problems, signatures containing the constants, functions, and predicate symbols described below, are used.
Message expressions. Assume a message signature Σ of constants and function symbols. Constants include nonces, symmetric keys and player names. Messages are constructed as usual, using constants, variables and function symbols including: ∗ denoting a dummy constant;
Resources. For simplicity, resources are represented with natural numbers. A more abstract definitions as the ones used in [51], e.g., monoids, could also be used. The results in the paper are not affected by this change.
Each service provider (service, in short) is associated with an identifier
Predicates. Besides the predicate
denotes that message
denotes empty message slot available in the network from moment t;
where
denotes that the protocol state
denotes that service/intruder
denotes that the intruder
denotes that the service
denotes that the service
denotes that the intruder
denotes that a memory slot is available to bounded memory intruder
denotes empty memory slots available to service
For readability and simplification of exposition of the model and the related complexity results, protocol and intruder specifications contain exactly one resource. Generalization to multiple resources is straightforward, by including specific resource predicates for each of the relevant resources, such as service’s threads/workers, CPU time, network bandwidth, etc.
Protocol resource theory
The following definition specifies the types of rules used for the specification of protocol sessions carried out by services. They are constructed using the predicates described in Section 4.1.
(Protocol resource theory).
A protocol resource theory
where
where for

The protocol initialization rule specifies that the creation of a new protocol session requires
Protocol critical configuration specification. As rules can be applied in a non-deterministic fashion, undesirable traces where a service misbehaves are allowed. For example, it is possible to construct traces where the protocol state timeout rule is never applied, and thus the service never releases resources allocated to protocol sessions that should have been ended by a timeout. Such traces, where the service does not behave as expected, are classified as critical. This is formally achieved by protocol critical configuration specifications defined below:
(
).
The protocol critical configuration specification (
Intuitively, a service may run several protocols with a number of protocol sessions in parallel. Each instance of a protocol affects service resources, since, in order to maintain each protocol session, service
(Service).
A service A unique identification symbol A minimal service resource value An initial service resource value A set of protocol theories
Service Critical Configuration Specification (
Service availability rules specify that a service is denied when resources reach a minimum, and available if the resources are greater than the minimum.
Notice that critical configurations are necessary for the adequate specification of the expected behavior of services. Indeed, due to critical configuration specifications, such as
(Balanced protocol resource theory, balanced service).
A protocol resource theory is balanced if all of its rules are balanced. A service is balanced, if all its protocol theories are balanced. A balanced service
Balanced services formalize services that can only maintain a bounded number of parallel protocol sessions. Balanced rules of protocol theories are obtained using dummy facts
Notice also that protocol sessions and state transitions are usually triggered by a message receipt, typically denoting requests and data updates. Balanced protocol initialization and execution rules denote receipt of at most one message (a Protocol and intruder verification models can be further enhanced by specifying assumptions about the network being used, such as the availability of some transmission channel to a particular agent for sending or receiving messages, network distances etc. Faithful timing of message transmission for a given network topology between agents can be obtained by enhancing the transmission rules with constraints that involve relevant distances, e.g.,: where Execution and verification of security protocols may be affected by processing time. Specifying duration of actions is particularly important in verification of attacks that involve the variance of execution time, such as passport traceability attacks in [17]. Duration can be expressed in our model through timestamps of created facts, where a fact Again, for readability, we omit such duration functions in the specification of protocol theories, but this feature is demonstrated in Section 5 in the specification of time- and resource-sensitive intruder theories.

This section illustrates the expressiveness of the model and its suitability for the verification of protocols sensitive to time and resource consumption. Four examples of resource-sensitive protocol theories are described: GET-HTTP, SDN rule insertion, TLS renegotiation and SIP forking. While the GET-HTTP example is given in some detail along with its protocol theory specification, the other three examples are only briefly described. They can be modeled similarly to the GET-HTTP protocol, but using different types of resources and states.
GET-HTTP. (An abstract version of) the HTTP GET method is specified, which is subject to the Slowloris attack [67], exhausting web-server’s workers, as described in Section 2. The initialization and execution rules are given in Fig. 1. The protocol state timeout rule is elided.

Protocol resource theory for HTTP GET protocol method.
The protocol has three states,
Each protocol state requires one resource, corresponding to one worker as is the case with connection based web-servers, such as Apache. The timeout of each protocol state is 40 time units, that is, if no further interaction is performed within 40 time units, then the protocol session is terminated.
Rule INIT specifies the protocol initialization, where one worker is allocated and a fresh protocol session
SDN rule addition. Software Defined Networks (SDN) use protocols, such as OpenFlow [58], to install rules in SDN switches. These rules specify the behavior of flows, e.g., allowing or blocking flow of packets. The number of available rules that can be stored in an SDN Switch is limited with typically a total number of rules in the range of at most 5000–8000 rules. This can be exploited by attackers to carry out DoS attacks and this can be formalized by our model [59,60]. We use the number of available rule slots in a switch as the measure of resource.
Whenever an SDN switch receives a packet for which there is no applicable SDN forwarding rule, it installs a new rule after receiving rule installation approval from the centralized SDN controller. This is modeled by a protocol initialization rule. This rule reduces the number of available resources by one. If the number of resources reaches zero, the service is denied. This is modeled by the service availability rules.
Moreover, rules are associated with timeouts that work as follows: whenever a packet is received that triggers a rule in the switch, the timeout is reset. However, if no packet activates a rule after a timeout has elapsed, then the rule is deleted making the slot consumed by the rule available again. In our model, the reset of a timeout is specified by a protocol execution rule.
TLS renegotiation. Transport Layer Security (TLS) renegotiation protocol can also be modeled using the number of handshakes being processed as the resource. For example, according to [32] a server can handle between 150–300 handshakes per second. This is proportional to the CPU power of the server. Whenever a new renegotiation is requested, the server consumes processing power. TLS protocols also illustrate the use of messages involving cryptographic operators for DoS attacks. The use of asymmetric keys in handshakes and the creation of fresh keys causes overheads to the server.
SIP invite forking. A protocol theory of SIP specifies the mechanism of forwarding and forking invite messages, which is known to be vulnerable to amplification attacks [66,69]. As amplification targets the network’s bandwidth, the service is identified as the network and the resource as the network’s bandwidth (measured in terms of invite messages sent). When an invite message is first introduced, a session is created. A state in the protocol maintains the total number of forwarded or forked invite messages for a session, along with the session’s timeout. While both forwarding and forking messages reset the timeout of their corresponding sessions, only forking increases the amount of resources allocated for the session.
This section illustrates how the model can be extended to take into account countermeasures (CMs) for DDoS attacks based on timeouts, such as, ReqTimeOut [62] for mitigating the Slowloris attack. The basic idea of timeout based CM is to trigger a timeout whenever some condition on the traffic is satisfied, thus forcing that a connection is closed and the service’s resources are made available.
For example, for SYN flooding attacks, timeout based CMs monitor whether a SYN-ACK handshake is completed within some specified timeout. If a timeout is triggered, then the connection is closed and the resources allocated to this connection can be used by another connection. Similarly, ReqTimeOut is a time based CM which monitors whether a packet header or packet body is completed within some specified time. If a timeout is triggered, then the connection is closed and the allocated worker can be used to serve another connection. It is, therefore, used to mitigate attacks such as Slowloris which take too long to complete the header.
To formalize timeout based CM for service
Protocol initialization rules and protocol execution rules of type Eq. (4) set CM timers, while rules of type Eq. (5) may update
Additionally, the following critical configuration for CM is specified:
This is similar to the
ReqTimeOut. Using the above machinery, the ReqTimeOut [62] is specified, a time-based CM available in the Apache Web-Server for mitigating Slow-DoS attacks. Two natural numbers are specified:
The following protocol initialization rule with timeout countermeasure sets the 
The protocol execution rule with timeout countermeasure specifies that when the header is completed, the timeout is set for receiving the packet body: 
A similar rule specifies when the body of the packet is completed. This rule is elided.
It should be possible to model more refined time-based CMs by adding suitable facts and rules. For example, to model more advanced configurations of the ReqTimeOut, one can use a predicate that remembers the number of bytes received, which is activated depending on the traffic rate. The formalization of such extensions is left for future investigation of specific protocols and countermeasures.
Resource-bounded intruder model
This section introduces a novel parametric intruder model that is based on the powerful DY intruder [23], but has bounded resources. In contrast to the DY intruder, the resource-bounded intruder can only consume a bounded number of his resources in any given time window.
Definition of the resource-bounded intruder
Provided he has enough resources, the resource-bounded intruder can compose, decompose, encrypt and decrypt messages for which he knows the appropriate key, and generate fresh values. The rules corresponding to these actions, depicted in Fig. 2, are based on the DY intruder rules [24], but refined with the notion of time as in Timed DY intruders [56] and with resource consumption.

Resource-bounded intruder theory.
Each rule has an associated cost, specified by
As with protocol theories introduced in Section 4, intruder resources may represent e.g., traffic generation or CPU consumption. Again, for simplicity, resources are to be represented by natural numbers and only one resource is used.
In order to model the presence of multiple intruders, an identification
Bounded resource intruder rules, given in Fig. 2, denote the following intruder actions:
RECrule specifies the intruder action of receiving a message from the network. The rule’s cost is given by
SNDrule specifies sending of a message to the network with the cost
CMPrule specifies composing two messages known to the intruder, costing
DCMrule specifies decomposing, costing
USErule specifies copying of a known message, costing
ENCrule specifies encryption, having the cost
DECrule specifies decryption, costing
GENrule specifies creation of a fresh value, e.g., a nonce or a fresh key. Its cost is
RESrule denotes recovery of available resources.
A resource-bounded intruder,
Notice that if for all rules R,
Types of resource-bounded intruders
Different bounded intruders can be specified by using different definitions of
Bounded traffic intruder model. Bounded Traffic Intruder Model represents an intruder that can send only a number of messages at a given rate, e.g., messages per second. This is achieved by specifying
For example, setting
One could refine this even further by specifying
Bounded processing intruder model. One can also specify an intruder that can only carry out a bounded number of actions in a given time window according to his processing power. The maximum resources may be expressed in terms of percentage of available CPU, i.e.,
Bounded memory intruder models. Bounded memory intruder models represent intruders with fixed total memory. Such models are specified using balanced intruder models as described in [40]. An upper-bound on the size of facts is also assumed, so that all configurations denoting the intruder knowledge have a fixed number of facts, m, each of size bounded by k, modelling, hence, intruder memory of
For example, the balanced version of the 
Notice that empty facts are consumed when a message is received. Since the number of empty facts in a configuration is bounded, the number of messages that can be learned from the network is bounded. Hence, memory bounded intruders should also be able to manage their memory. This is specified by the following memory maintenance rule that enables the intruder to delete information form his memory: 
All the rules of a balanced bounded resource intruder theory are given in Fig. 3.

Balanced resource-bounded intruder theory.
A balanced resource-bounded intruder,
Attack example: HTTP GET
This section illustrates a DoS attack on a verification scenario involving the protocol theory of the HTTP GET described in Section 4.3. The attack is very close to the Slowloris attack [67]. The values for service timeout and number of packets sent by the intruder are the same as used in practice.
Assume a service with the HTTP GET protocol theory given in Fig. 1 with initially 300 workers available, that is,
Consider a bounded traffic intruder I, with the function
The attack is performed by the intruder applying the USE rule with
Notice that this attack, while captured by the model, has a great deal of non-determinism, e.g., different rules can be applied to a configuration. Moreover, the length of the witness trace is quite large, making it challenging for automated verification to find. In Section 8, it is shown how Rewriting Modulo SMT [63] can help automate the search for DoS attacks by using symbolic search.
Finally, traditional flooding attacks, such as SYN flooding can also be modelled. For such attacks, the attacker(s) has resources that allow him to send a very large number of messages.
Verification problems
This section investigates some verification problems for resource-sensitive timed protocol and intruder theories. Given protocol and intruder theories and an initial configuration representing the knowledge of participating agents and intruders, one looks for a trace representing an attack. For that purpose, a goal configuration will denote that a protocol has suffered an attack.
DoS problem
DoS attacks are now formulated within the proposed framework, and contrasted with notions of DoS attacks from existing literature. In [51] a DoS attack is viewed as “the resource exhaustion attack, in which an attacker, by initiating a large number of instances of a protocol, causes a victim to exhaust his resources”. According to [14], a DoS “is characterized by an explicit attempt by attackers to prevent legitimate users of a service from using that service”. As per US Department of Homeland Security official website [21], a DoS attack occurs “when legitimate users are unable to access information systems, devices, or other network resources due to the actions of a malicious cyber threat actor”. Formulation of DoS attacks proposed here addresses the issues from the above definitions.
The notion of DoS attack from [51] is further refined by an additional duration parameter that is relevant for the following reasons. Flooding attacks are always possible in the presence of powerful attackers. However, very short service interruptions may be tolerated in practice, while prolonged unavailability of service would be considered as a successful DoS attack. As the access to server resources is not instant, due to, e.g., network delays, users may tolerate short service delays, i.e., short service interruptions may not be considered as actual denials of service.
Intuitively, a DoS attack on a service is successful if the service’s resources are exhausted for some duration,
In the definition of the DoS problem given below, we consider a number of services. This models an operation of a group of services, each of which should be available to clients. In addition, the DoS problem involves a number of intruders, thus specifying DDoS attacks as well.
(DoS verification scenario).
A (respectively, balanced) DoS verification scenario A finite set of (respectively, balanced) services A finite set of (respectively, balanced) resource-bounded intruders natural numbers the facts in the facts denoting the initial setting including key distribution, for balanced DoS verification scenario only,
The initial configuration of DoS verification scenario
The goal of the DoS verification scenario
Finally, the critical configuration specification of the DoS verification scenario
The DoS problem associated to a DoS verification scenario is reduced to searching for non-critical traces as defined below. This involves critical configurations relating to protocol state timeouts of all protocols, and resource availability of all services in the scenario.
(DoS problem).
Let
(Balanced DoS problem).
The balanced DoS problem is a DoS problem with a balanced DoS verification scenario.
Notice the role of
Notice that
Leakage problem
While the availability of service due to resource consumption is the main verification problem of this paper, in principle, resource-sensitive timed protocol theories may lead to other types of attacks. Consider, for example network coding, which is a technique to improve information transfer, especially useful in bandwidth limited mobile networks [45,53]. A related example scenario consists of two groups passing quickly with a large data object to share. Many senders in one group send small redundant parts of a data object, quickly captured by receivers in the other group. Later members of each group can cooperate to reassemble the received data objects. Related issues to consider are size of the object parts, amount of redundancy, depending factors such as time available for transfer and network loss rate, which clearly relate to the theories introduced in this paper.
In the future we intend to investigate such additional issues of security verification involving services and intruders that are resource- and time-sensitive. We start here by investigating the problem of whether services may leak some confidential information, such as cryptographic keys. This is of importance for protocols, such as TLS, that involve both resource consumption and cryptography. Also, the operation of a service when its resources are limited may switch to some special working policies and disabled features, such as “safe mode” operation, where security issues may be further compromised. Furthermore, security properties of services may be verified w.r.t. parametric resource-bounded intruder models of different types.
The leakage problem is related to the standard secrecy problem in security protocol analysis [24], which is the problem of whether or not an intruder can discover a secret originally known to another protocol participant. The following definition of the secrecy problem is paraphrased from [24].
(Secrecy problem).
Let
In our previous work, we studied the secrecy problem for untimed protocol and intruder MSR theories [40] and timed theories [2] (without resource aspects). We now consider a more subtle version of the problem involving resource-sensitive timed protocol and intruder theories, both for general and for balanced MSR theories. In order to avoid the confusion in terminology, we refer to this new and generalized problem as the leakage problem.
In the leakage problem, we assume there is a constant in the initial configuration which denotes confidential information, such as an encryption key, that should not be leaked to an intruder.
(Leakage verification scenario).
A (respectively, balanced) leakage verification scenario A finite set of (respectively, balanced) services A finite set of (respectively, balanced) resource-bounded intruders A constant α known only to some agent.
The initial configuration of leakage verification scenario
The goal of the leakage verification scenario
Finally, the critical configuration specification of the leakage verification scenario
(Leakage problem).
Let
(Balanced leakage problem).
The balanced leakage problem is a leakage problem with a balanced leakage verification scenario.
Notice that, differently from [40], the leakage problem not only generalizes the verification to resource and time sensitive theories, moreover, it may involve several different protocol theories from the relevant scenarios, enabling the verification of multi-protocol environments.
Similarly to the bounded-time problems introduced in [36], a bounded-time version of the leakage problem could be considered, e.g., by bounding the total time in a trace or by bounding the total number of protocol sessions.
Complexity results
Resource-sensitive timed protocol and intruder theories defined in Sections 4 and 5 represent a fragment of general timed MSR. Hence, some of the relating complexity results are obtained by relying on the relevant results for general MSR theories and related problems. However, the DoS problem is defined as non-critical reachability problem for dense time MSR (Section 6), for which the complexities were previously unknown. We first provide complexity results for non-critical reachability problem for MSR theories with dense time next. These general results are essential in providing complexities of the DoS problem.
Complexity results for non-critical reachability problem for dense time MSR
When dealing with the complexity of verification problems in timed MSR with dense time there are several challenges that need to be addressed, starting with the underlying nondeterministic nature of the multiset rewriting formalism. Then, an unbounded number of fresh values can appear in a trace. Additionally, in our timed MSR there is no bound on the global time value, i.e., on represented time periods. Furthermore, in the dense time model, there is the additional non-determinism in the choice of ε in time advancement
Some of the above issues have been addressed for balanced MSR theories with a bound on the size of facts, by using the abstractions called circle-configurations [41]. It has been shown in [41] that, with respect to the reachability problem (without critical configurations) for such MSR, traces over circle-configurations are a sound and complete representation of traces with dense time. In particular, the
However, additional challenges appear when non-critical traces in dense time setting are considered. As discussed in Section 3, the notion of non-critical traces in dense time setting is much more elaborate than in the untimed and discrete time models. Recall that, as per Definition 3.5 showing that a trace of a dense time MSR is non-critical involves not only the configurations it contains, but also an infinite number of configurations obtained by decomposing
(Non-critical reachability problem).
The non-critical reachability problem is undecidable in general.
Handling the complexity of the balanced non-critical reachability problem involves a new auxiliary notion of immediate successor configurations, related to satisfiability of relevant time constraints. Using immediate successor configurations reduces the search space when checking that a trace of a dense time MSR is non-critical. Furthermore, there is only a finite number of abstractions related to a given balanced non-critical reachability problem, which bounds the length of solution traces, resulting in a polynomial space search space. Full details of this approach appear in the Technical Report [38]. For space restrictions, here we only present the main ideas behind the proof.
Given a balanced non-critical reachability problem, a natural number d is syntactically inferred as an upper-bound on the numbers appearing in time constraints and timestamps of the problem specification, i.e., in the initial configuration
(Immediate successor configurations).
Given a timed MSR There exists For all
When
For example, configuration
There is a clear connection between non-critical traces and immediate successor configurations. Notice that if neither
Let
Let
Since
The above result is then used to show bisimulation of non-critical traces with traces over circle-configurations. This allows the search for a solution non-critical trace symbolically, reducing the search space from an infinite number of traces (recall the
The non-critical reachability problem for balanced timed MSR with dense time is PSPACE-complete when assuming a bound on the size of facts.
Complexity results for DoS problems
The undecidability of the general version of the DoS problem follows from the undecidability of secrecy problem for general untimed MSR theories [39,40]. It is shown how to encode the secrecy problem as an instance of a DoS problem in the proof of Lemma 7.6.
The complexity of the balanced DoS problem relies on the PSPACE-completeness of the secrecy problem for bounded memory intruder and balanced untimed MSR protocol theories [40] and on the complexity of the non-critical reachability problem for dense time MSR presented in Section 7.1. It clearly follows from Definition 6.2 and Definition 6.3 that the non-critical reachability problem is the DoS verification scenario.
The (balanced) DoS problem is an instance of the (balanced) non-critical reachability problem for MSR with real time.
The following lemma gives the lower bound for the complexity of DoS problems. We recall that the secrecy problem is undecidable in general [24], and PSPACE-complete for bounded memory intruder and balanced untimed MSR protocol theories [40] when a bound on the size of facts is assumed.
The secrecy problem for Dolev–Yao intruder and MSR protocol theories is an instance of the DoS problem. The secrecy problem for bounded memory Dolev–Yao intruder and balanced MSR protocol theories is an instance of the balanced DoS problem.
The secrecy problem is encoded as an instance of the DoS problem. In particular, it follows from the encoding that the DoS problem occurs if and only if the intruder discovers the secret. The case of balanced intruder and protocol theories is described. The general case follows by simply ignoring the empty facts.
Let
Let
(Untimed) Bounded memory intruder theory [40].
To the secrecy problem given above, the following DoS verification scenario
To the intruder theory 
followed by the RES rule of 
results in facts
Initial configuration contains all the facts of
Protocol resource theory
Notice that the above protocol initialization rule Eq. (8) is the only rule with a non-zero resource cost. It has the cost 1, and is applicable only when the secret α is released to the network, available to the intruder to learn the secret. Recall that the related
It follows that the secrecy problem
The DoS problem is undecidable in general.
The lower bound is inferred from Lemma 7.6 and the undecidability of the secrecy problem for DY intruder and untimed MSR protocol theories [40]. □
From Lemma 7.5 and Lemma 7.6, we obtain the following complexity result for the balanced DoS problem.
Assuming a bound on the size of facts, the balanced DoS problem is PSPACE-complete.
Complexity results for leakage problems
By relying on the previous complexity results for the secrecy problem [40] and for the non-critical reachability problem for timed MSR, the complexity result for the resource-sensitive timed version of secrecy problem is obtained.
The (balanced) leakage problem for resource-sensitive timed theories is an instance of the (balanced) non-critical reachability problem for MSR with real time.
This trivially follows from Definition 6.6 and Definition 6.7. Namely, the non-critical reachability problem is the leakage verification scenario. □
The secrecy problem for Dolev–Yao intruder and MSR protocol theories is an instance of the leakage problem for resource-sensitive timed theories. The secrecy problem for bounded memory Dolev–Yao intruder and balanced MSR protocol theories is an instance of the balanced leakage problem for resource-sensitive timed theories.
The secrecy problem
The encoding is similar to the encoding given in the proof of Lemma 7.6, but without the protocol theory defined in Eq. (8)-Eq. (10), and relating to the leakage verification scenario instead of the DoS scenario. In particular, the same constant α denotes the secret. Only one intruder i and one service s is involved. All the timestamps in the initial configuration are set to 0. Protocol states of timed protocol theories have timeouts of 1 time unit and zero resource cost for all protocol rules, and with
Exact values of timestamps have no particular impact to the attack trace because the resource and time cost of all intruder rules is zero. Indeed, the attack trace does not have to contain a single
From Lemma 7.10 and the undecidability of secrecy problem for DY intruder and untimed MSR protocol theories [40], the following result is obtained.
The leakage problem is undecidable in general.
The balanced leakage problem is PSPACE-complete when assuming a bound on the size of facts.
The lower bound is inferred from Lemma 7.10. We recall the PSPACE-completeness of the secrecy problem The upper bound relies on Lemma 7.9 and the PSPACE-completeness of balanced the non-critical reachability problem, obtained in Section 7.1. □ (Balanced leakage problem).
While the main focus of this paper is on laying the foundations for the specification and verification of resource-sensitive timed protocol theories, we elaborate in this section how existing symbolic machinery enables automated verification. We also point out challenges we faced which shall be dealt in future work towards the construction of verification tools.
As with protocol security, the challenge is to reduce automated search by using symbols constrained by a set of constraints instead of enumerating traces with concrete terms and values. In this way, a trace containing such symbols denotes a possibly infinite set of traces each obtained by replacing these symbols by concrete values that satisfy the set of attached constraints. However, differently from the symbolic methods used for protocol verification, that use symbols denoting messages that can be constructed by the intruder, our problems involve constraints on the amount of resources used by services and by the intruder.
For example, to find the Slowloris attack in the scenario used in the example in Section 5.3, one would need to search a tree of depth of at least 500. Moreover, it is not possible to instantiate all values of ε in the time advancement rule as there are infinite possibilities.
We have built a prototype in Maude, available at [49], to validate the hypothesis that, despite the high complexity of the verification problems, in practice it is possible to verify whether services are well configured to mitigate some of the DDoS attacks described above. For example, our prototype can answer whether services have appropriate timeout values for the given assumptions on the intruder. In the following sections, we describe our Maude implementation and the experimental results focusing on how design options improve the scalability of the tool, and point out future work directions.
Formal specification model
Specification of protocol resource usage. The first challenge encountered is how to specify services and their resource usage. While MSR is suitable for building the foundations given its simple and clear semantics, it is not suitable as a programming language as it is hard to enforce good software engineering practices, such as modularity and separation of concerns. Instead of encoding protocol behavior as MSR theories, we specify protocols and their resource usage by extending Mode Automata, which are finite state machines typically designed for specifying the modes of operation of services.
A mode automaton is a finite state machine, i.e., it contains a set of states,

Example of a mode automaton for the HTTP GET protocol extended with resource usage.
Figure 5 illustrates the Mode Automaton for the HTTP Get Service extended with resource consumption. Service resources are measured by the number of workers, while client resources by the number of messages. For example, the protocol starts at state I after the client spends one resource. To maintain this state, the service requires one worker and sets the timeout at 40 time units. If a Com message denoting a complete header is received, protocol session moves to state DONE, i.e., it ends. Alternatively, if the service receives a GET message, it moves to mode G and keeps at this state if the header is incomplete. Once it is complete the protocol session ends.
There is a relation between Mode Automaton and protocol resource theory (Definition 4.1). The Automaton initial state corresponds to the protocol initialization rule, the state transitions correspond to the protocol execution rules and the timeout rules. Thus, the Mode Automaton depicted in Fig. 5 corresponds exactly to the specification of the GET protocol shown in Section 4.3.
As mentioned above, keeping track of all protocol sessions does not scale, e.g., requiring all 500 protocol sessions for denying a web-server. Instead, we keep track of the bursts of protocol sessions initiated by the intruder. A burst of protocol sessions has the form
Finally, notice that the mode automaton could be extended by keeping track of more resources, such as the number of resources consumed by the service to transit from one mode to another, or by including a timeout in the transitions. However, for the examples we encountered such extensions were not required.
Service and intruder configurations. Our model is an actor-based model containing at least two types of actors, services and intruders, that interact among themselves, by generating and maintaining burst of protocol sessions.
A service configuration has the following form
Intuitively, a service configuration corresponds to all the facts in a MSR configuration related to a service. For example, it collects all protocol sessions in which the service is involved in, the protocols that it can execute and its available resources.
For example,
An intruder configuration has the form
Similarly as with the service configurations, intruder configurations corresponds to all the facts in an MSR configuration, such as the protocol sessions in which the intruder is participating, and the number of available resources. For example,
Notice that one could imagine to represent the recovery time
Scheduler. The intruder can start a protocol session burst of size
The scheduler has the form
Intuitively, the scheduler enforces the critical configuration in the MSR theory by forcing timeouts whenever they are due and that the intruder recovers resources whenever the recovery time has passed.
System configurations and symbolic operational semantics. A system configuration consists of some number of service and intruder actors and a single scheduler. Moreover, as already anticipated above, to improve search space, symbolic search is used through Rewriting Modulo SMT [63]. This allows one to perform symbolic search relying on the power of off-the-shelf SMT solvers. There are the following three types of symbols:
The symbolic rewrite rules accumulate constraints on the values and the search stops whenever the set of accumulated constraints is not satisfiable. Therefore, the system configuration also contains the set of constraints that specify the values that the symbols appearing in the configuration can have. Intuitively, a (symbolic) system configuration denotes a possibly infinite set of (concrete) configurations.
Formally, a system configuration has the following form
Notice that the constraints on time symbols are disjoint from the constraints on the remaining symbols. This means that the SMT-solver has less effort in checking the consistency of the constraints, as it can check the constraints independently.
We specified the rules that rewrite system configurations. Intuitively, rewrite rules can generate new symbols and generate new constraints. We informally describe the implemented rewrite rules. They closely match the rules of resource protocol theories and a subset of the intruder theories, namely, the send and recover rules. Each rule creates a fresh time symbol,
We describe the rewrite rules informally:
Given the rules above, we can use Maude’s search engine to check whether a system configuration can be reached containing service whose resources are depleted for some given duration
We carried out a collection of experiments involving the scenarios for the Slowloris, Slow-TCAM and TLS Renegotiation attacks. Our focus was to understand how well does our symbolic approach scale. Besides the symbolic reasoning and to further improve performance, we considered bounded model-checking based on the following parameters:
As with bounded model-checking, the values of these parameters are not known in advance. So typically, one starts with lower values and increases the bound until either an attack is found or one is satisfied with the evidence collected supporting the security of the services.
Verification results: results in terms of number of states and time taken for our machinery to find an attack. The scenarios are parametric where a greater number specifies a scenario where the service is more resilient to DDoS attacks. Search was interrupted after 10 mins and we indicate with – whenever no attack has been found within this time
Verification results: results in terms of number of states and time taken for our machinery to find an attack. The scenarios are parametric where a greater number specifies a scenario where the service is more resilient to DDoS attacks. Search was interrupted after 10 mins and we indicate with – whenever no attack has been found within this time
Table 2 summarizes our results. For the attacks, we considered different scenarios discussed in Section 4.3 with increasing difficulty for finding the attacks. For the Slowloris scenario, we set different duration parameters (
The Slowloris attack is discovered using different values for
Regarding the effect of bounding the number of messages or the number of parallel protocol sessions, it seems that bounding the number of parallel protocol sessions has a greater improvement to search, but not always as witnessed by the experiments for
For determining which bounds were necessary, we carried out a sequence of experiments with increasing bounds. For most experiments, the bound of 1 for
This paper introduces a new framework for analyzing the security of systems against DoS and related resource and timing attacks, which allows a finer analysis then the existing verification models. With respect to formalization of time, the paper builds on [3,37,41,42] and introduces a uniform and extensible framework for expressing a wide range of timing properties of protocols enabling the investigation of the complexity of different verification problems. Thus, this work is complementary to the related works that focus on more limited languages in order to automate analyses.
The framework also allows reasoning about service’s and intruder’s resources and service timeouts. The power of the model is illustrated with a number of examples and intruder models. The complexity of the DoS problem and the leakage problem is studied. Finally, the use of Rewriting Modulo SMT for efficiently automating the verification task is demonstrated.
While inspired by the work [51], the model mentions time explicitly, enabling the reasoning about service timeouts, essential for discovering vulnerabilities to Slow and Asymmetric Attacks. This leads to a more refined definition of DoS attacks than the one proposed in [51]. The DoS attack is defined as exhausting the target service’s resource for a certain period of time, reflecting the intuitive notion of a DoS attack, which is to take down a service temporarily or indefinitely. Finally, the proposed model can also specify time-based counter-measures that issue timeouts whenever some condition is applicable.
In [54] a taxonomy of DoS attacks and defense mechanisms is presented. Some of the relevant security issues have clearly been covered in the model presented in this paper. For example, attack rate dynamics issue resulting in constant or variable rate attacks is captured by recovery of resources within associated time through
MSR frameworks [2,24,40,41] have been proposed for security verification. However, they relate to authentication and secrecy-related problems, to distance-bounding protocols and not to DoS attacks, which is the main goal here. This paper also builds on the work of [40] which considers bounded memory intruders. Intruders proposed here can be bounded with respect to a wider range of types of resources.
Authors in [66] demonstrate a model checking technique, called measure checking, for finding amplification attacks on VoIP using rewriting logic (implemented in Maude). They do not provide, however, general intruder models, nor the corresponding complexity results. Finally, this paper also considers a wider range of attacks, such as slow and CPU exhaustion attacks.
A number of other frameworks have been developed for the verification of timing properties of systems. Early examples include [7,29,30]. Basin et al. [6] and Cremers et al. [19] present a formalism for representing and analyzing cyber-physical security protocols that is implemented in Isabelle/HOL. They model physical properties of communication, location, and time. Similar to the approach taken here, both honest players and intruders are subject to physical constraints. Cheval et al. [16] present a decidability result relating to timing attacks in security protocols. The result is based on the reduction of time-trace equivalence to length-trace equivalence, and is applied, in particular, on verification of privacy properties. Similar to the parametrized action execution, formalized using
Timed automata (TA) [4] have been used for the verification of many systems involving real-time. The framework proposed in this paper is more closely related to security, as resources, intruder models, and DoS problems are considered. This is obtained by means of adding explicit notions of timeouts and also of resources to rules. Using first-order rules in MSR versus finite number of states and rules in TA, further affects comparisons of complexity results. Also, the model of this paper has the additional feature of non-critical traces, distinguishing among potential reachability solutions only those traces that have no negative properties, i.e., are non-critical.
Protocol verification in [34], using timed automata, also involves timing aspects of security protocols in the presence of DY intruder, as well as automated tools. They investigate timed authentication properties, based on expected time intervals for completion of successful protocol sessions. Such an approach may not be as adequate for our DoS problems, as the service resources may also be consumed by sessions that have not successfully completed. Also, this paper considers more general protocol theories with varied execution time of correct sessions, due to, e.g., possibility of sending incomplete headers in a correct protocol execution, or even loops in protocols which are, differently from [34], allowed in the protocol theories etc. Also, we investigate the computational complexity related to the verification.
The paper [56] introduces a timed protocol language and addresses the issue of timed intruder models, showing that one DY intruder per honest player is sufficient. This work was built on earlier formalizations in Timed MSR [35,42] and in turn has suggested new modeling challenges addressed in the present paper. We believe it may be possible to extend the verification model from a concrete topology of agents and intruders of [2] to general topologies by combining the models with SMT solvers, similarly to [56].
Also, we expect that in our model we are able to capture a larger class of security problem closely related to DoS attacks, including other types of attacks that may include a DoS as a component, attempts to prevent a particular individual from accessing a service, attempts to disrupt service to a specific system or person, as well as poor service performance resulting from intruder interference.
Another direction for application of the model could be on the analysis of Distance-Bounding protocols [3,50,52], possibly by extending the model with probabilities. One of the ways of such probabilistic extensions of the models might involve branching actions introduced in [43]. Statistical Model Checking has also been used to investigate the effectiveness of attack defense [1,3,20,25,26,47]. We believe that the search space reduction due to the use of symbolic search can improve the performance of these methods for the verification of defense.
Finally, we would like to investigate how different resource-bounded intruder models can be compared. For example, whether it is possible to define a partial order relating the strength of intruders. This is left for future work.
Footnotes
Acknowledgments
We thank the anonymous reviewers for their valuable comments and suggestions. Part of this work was done during the visits to the University of Pennsylvania by Alturki, Ban Kirigin, Kanovich, Nigam, and Talcott, which were partially supported by ONR grant N00014-15-1-2047 and by the University of Pennsylvania. Ban Kirigin is supported in part by the Croatian Science Foundation under the project UIP-05-2017-9219. The work of Max Kanovich was partially supported by EPSRC Programme Grant EP/R006865/1: “Interface Reasoning for Interacting Systems (IRIS).” Nigam is partially supported by NRL grant N0017317-1-G002, and CNPq grant 303909/2018-8. Scedrov is partially supported by ONR grants N00014-20-1-2635 and N00014-18-1-2618. Talcott was partially supported by ONR grants N00014-15-1-2202 and N00014-20-1-2644, and NRL grant N0017317-1-G002. Nigam has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 830892.
