Patent Description:
Direct attacks on Voice over Internet Protocol service (VoIP) to induce Denial of Services (DOS) create service impacting issues by overloading a network element of an internet protocol multimedia subsystem (IMS). A network element may be, for instance, user equipment (UE) or an IMS Application Server (AS), e.g. the multimedia telephony service application server (MMtel AS). Due to DOS attacks, available resources corresponding to occupancy rates of these application servers are consumed. Thus, regular traffic cannot be handled by the application servers in this case. Regulation of regular traffic may be partially or completely impossible for application servers being affected by attacks. Usually, each IMS network entity has means to protect itself from overload scenarios in order to provide services although it suffers attacks.

Some attack pattern affects the CS PLMN, Fixed Network IMS and Mobile Network IMS. The abbreviation CS PLMN refers to a circuit service of the public land mobile network.

Some attacks are caused by a single user or user equipment of another network that is massively calling a subscriber of a network service provider. A Subscriber is an entity (comprising one or more users) that is engaged in a subscription with a service provider. The subscriber is allowed to subscribe and unsubscribe services, to register a user or a list of user authorized to enjoy these services, and also to set the limits relative to the use that users make of these services.

The calls to the attacked subscriber enter the network via so-called inter-operator interconnections. Several hundreds of CAPS (call attempts per second) are possible with varying attack durations, from several seconds to even several minutes. It is problematic that these DOS attacks are not blocked by protection means at the interconnection border even in the case of several hundred of CAPS. Protection against those attacks cannot be provided at this stage due to elements at the interconnection border do not survey traffic on a single end-user/UE level. Rather, network nodes at the network border provide protection on an interconnection point level. Several hundreds of CAPS are not critical on this level, because an interconnection handles a higher degree of traffic volume/CAPS, which is in a degree of some tens or hundreds of thousands. This means that they have load limiting capabilities taking into account the traffic being transmitted within the interconnection as a whole.

The attacker uses appropriate user equipment in order to provide a critical attack pattern. For example, a softphone allows creating critical values for CAPS. A possible scenario for the attacker is the scenario of a "car dealer": The attacker provides, as an end user, a car selling offer in an internet portal. The attacker wants to block the destination number as given within the internet portal for a defined period of time so that nobody else can place an offer and can make the deal. The attacker uses one of some numbers from which he can choose. Frequently, the numbers vary. Usually, callbacks to these numbers are not answered.

Actually, interconnection nodes limit the number of calls/CAPS entering the network. However, these nodes are not appropriate for protection based on per calling/called subscriber level. Furthermore, several interconnection points exist in a network. Thus, the aforementioned DOS attack pattern cannot be detected and no countermeasures are possible since the attack pattern does not exceed the interface thresholds.

Most network elements limit the traffic load/CAPS based on total traffic values corresponding to the occupancy rate of the network element. For example, if the occupancy rate corresponds to <NUM>% of the node capacity (interface throughput, CPU, RAM), the network element will limit the traffic load. However, the aforementioned DOS attack does not exceed the corresponding thresholds so that the aforementioned attack scenario cannot be detected and no countermeasures are possible at this stage.

Some network elements provide Session Initiation Protocol (SIP) request throttling capabilities on a SIP method type level. However, this feature is only available on a per user basis on the Proxy Call Session Control Function (P-CSCF) corresponding to a User-to-Network Interface. Other network elements do not provide any user specific throttling capabilities. Thus, the aforementioned DOS attack countermeasures cannot be used for protecting an application server in the terminating use case; the P-CSCF is passed after the application server.

Even, network elements that are user/subscriber aware use common resources like processing queues which are vulnerable to the aforementioned DOS attack. These resources get stuck resulting in that the targeted subscriber cannot be serviced properly. Even other subscribers are impacted: It may be impossible that they are serviced or they experience service degradation, as well.

<CIT>; <CIT>; <NPL>; and <CIT>, as well as <CIT>, are documents concerning related art.

The objective of the present invention is to provide means which allow protecting application servers, and particularly end points, against overload and DoS attacks more effectively.

According to the invention there is provided a control system for controlling requests to contact an end point of a network, particularly of an Internet Protocol Multimedia Subsystem network, comprising receiving means being configured to receive requests from a sender via the network to contact an end point, control means being configured to limit a number of requests to contact the end point according to initial filter criteria, iFC, defining a predetermined number of allowed requests in a predetermined period of time T1, and transmitting means being configured to transmit a request to an application server if the request fulfills the iFC, wherein the application server is configured to host at least one connection to the at least one end point.

Furthermore, according to the invention there is provided a method for use in a control system, in particular a control system according to any one of the preceding claims, for controlling requests to contact an end point of a network, particularly of an Internet Protocol Multimedia Subsystem network, comprising receiving requests from a sender via the network to contact an end point, limiting a number of requests to contact the end point according to iFC, defining a predetermined number of allowed requests in a predetermined period of time T1, and transmitting a request to an application server if the request fulfills the iFC, wherein the application server is configured to host at least one connection to the at least one end point.

The invention has the advantage that it allows protecting all kind of application servers that are invoked by the control means, particularly by the Service-Call Session Control Function (S-CSCF) against overload. For example, the MMTel application server that is used by GSMA IR. <NUM>) for VoLTE speech communication is protected against attack patterns. The abbreviation VoLTE means Voice-over-IP over LTE. VoLTE is defined by the IR. <NUM> LTE and EPC roaming guidelines V1 <NUM>. Any IMS service that is provided by an application server can be protected, including Rich Communication Suite (RCS) services as defined by the GSMA RCS/joyn specifications, SMS over IMS, Push-to-Talk over Cellular, etc..

The invention allows adapting protection means corresponding to the control means, and particularly the CSCF, to individual properties of application servers, i.e. individual maximum occupancy rates and capacities of the application servers are taken into account. The method and the system according to the invention can be used in any IMS environment, e.g. in Mobile Network IMS, Fixed Network IMS and in Business IMS Networks. The invention is based on the iFC (initial Filter Criteria) of the control means, particularly comprised by the CSCF, more preferably comprised by the S-CSCF.

The system and the method according to the invention are granular, which means that they provide protection on a per served user basis, per IMS session case (originating, terminating, etc.) basis, per SIP method, per IMS service on basis or combinations thereof.

The method and the system according to the invention are, for example, applicable in the case that invocation of an IMS application server is done via iFC according to the technical specifications 3GPP TS <NUM>, 3GPP TS <NUM>, 3GPP TS <NUM>, 3GPP TS <NUM> and 3GPP TS <NUM> V14. <NUM>, for example according to the versions <NPL>), <NPL>), <NPL>), <NPL>) and <NPL>).

According to the invention it is taken into account that an application server, such as the MMtel application server, is configured to handle service requests on a user/destination number basis. Particularly, the system and the method take into account that an application server can cope much better with attack patterns than interconnection border elements on a user-aware level.

The invention provides that, for example within the Mobile IMS, in which the used product has a plurality of input queues which are shared by a plurality of users/subscribers that one user's requests cannot impact the service of other users. In other words, it can be avoided that one user gets hundreds of terminating call attempts inducing that the shared queue is filled up and due to limited processing capabilities.

In particular, it can be avoided that such an attack results in that the more the queue is filled, the higher is the resulting request processing delay because of FIFO and that, in particular delays up to <NUM> in the Mobile IMS do not occur.

Also, it will be avoided that a Call Setup Time (CST) of other subscribers will be increased and that normal callers without sending a critical attack pattern give up calls.

The incident may be avoided that the S-CSCF determines that the application server has service problems or is out of service. This may result in that the S-CSCF blacklists the application server triggering a failover to a redundant application servers. Therefore, toggling and service issues in case the service restoration does not cover this case properly can be avoided, as well.

Preferably, the application server is configured to provide access to the at least one end point via at least one of a plurality of queues, wherein particularly the at least one queue of the plurality of queues is shared by a plurality of the end points, wherein particularly the iFC defines an occupancy rate of the application server, wherein particularly the occupancy rate of the application server takes into account a number of sessions in the at least one of the plurality of queues.

Preferably, in case that from a certain or arbitrary sender the number of requests in the predetermined period of time T1 exceeds the predetermined number of requests, the control means, particularly the CSCF, is configured to reject access to the application server to the sender. This allows reducing processing capacities: In the case that the control means recognizes a critical attack pattern it does not need to check occupancy rates of any application server.

Preferably, in case that the predetermined number of requests in the predetermined period of time T1 is exceeded, the control means, particularly the CSCF, is configured to send a special response back to the sender of the request. Preferably, the special response comprises at least one response code, wherein the control means, CSCF, is configured to send the at least one response code to the sender for rejecting the request, wherein the at least one response code is defined by at least one parameter of the iFC.

Particularly, the at least one parameter of the iFC relates to a trigger target address of the application server, and wherein the trigger target address of the application server is invoked when iFC Service Point Triggers, SPTs, match with the incoming request from the sender.

Preferably, the control means, more preferably the CSCF, is configured to reject access for another predetermined period of time T2, wherein the other predetermined period of time T2 is equal to or different from, particularly longer than, the predetermined period of time T1.

Preferably, the iFC comprises an invocation-count limit and/or an invocation window and/or an invocation-rate.

Preferably, the control means, more preferably the CSCF, is configured to limit a number of requests to contact the end point according to the iFC comprising at least one parameter specifying application server destination addresses that are resolved via a Domain Name System. The Domain Name System (DNS) translates memorized domain names to the numerical IP addresses needed for locating and identifying end points with underlying network protocols. The control means defines application server addresses in the iFC. The end points are contacted via the application servers so that by defining the application server addresses in the iFC, requests to end points being permitted to be contacted are limited, too.

Preferably, a precursor means being configured to drop or to reject all requests of the sender is provided, wherein the precursor means is connected to the network, wherein the precursor means is located closer to the sender than the application server, wherein particularly the precursor means is located at a border of a network of an operator.

Preferably, the precursor means is configured to drop or to reject all requests of the sender to contact the end point for which the sender sent a plurality of requests succeeding the number of requests to contact the end point according to the iFC limits.

Preferably, the precursor means is configured to drop or to reject all requests according to at least one criterion which is defined by the at least one signaling information element.

Preferably, the at least one signaling information element is comprised in the at least one response code, in particular in a header field of the at least one response code.

Preferably, the method comprises accordingly defined processing steps to implement the afore-mentioned preferable features of the system as described before.

<FIG> depicts a conceptual view of the control system <NUM> according to the invention. The control system <NUM> is configured to control requests to contact an end point <NUM> being connected to a network <NUM>. Requests are sent from sender <NUM> via the network <NUM>.

The control system <NUM> comprises at least one control means <NUM>, which is particularly a Call Session Control Function (CSCF), more preferably a Service-Call Session Control Function (S-CSCF). The control means <NUM> is configured to administer access to at least one application server <NUM>. The application server <NUM> is configured to host at least one connection to the at least one end point <NUM>. That is, the application server <NUM> controls access to the end points <NUM>. Access to end points <NUM> is provided by queues <NUM>. Preferably, at least one end point <NUM> can be accessed by a queue <NUM>. More preferably, a plurality of the end points <NUM> share the at least one queue <NUM>.

The control means <NUM> is configured to control requests from senders <NUM> to contact end points <NUM>. That is, the control means <NUM> is configured to transmit a limited number of requests to the end point <NUM> for which the sender <NUM> sends the requests. Preferably, configuration of the control means <NUM> is defined by initial Filter criteria, iFC.

IFCs trigger service point triggers (SPTs) in order to send session initiation protocol requests (SIP requests) to a requested application server <NUM>. The iFC may contain the following information: address of the application server <NUM>, sequence of filter criteria, trigger points composed of service point triggers, service point triggers chained through Boolean operators, default handling and optional info to be added to the message body.

The iFC determines a predetermined number of allowed requests in a predetermined period of time T1. The iFC may address an individual application server <NUM>. An end-user corresponding to an end-point <NUM> may be subscribed to multiple services provided by different application servers <NUM>. For this, a plurality of iFC may be provided by the control means <NUM>.

Preferably, iFC defines an occupancy rate of each of the application server <NUM>, wherein the occupancy rate takes into account a number of sessions in the at least one of the plurality of queues <NUM> which is established by the application server <NUM>. In other words, the control means <NUM> takes into account the numbers of sessions which each of the application servers <NUM> has established. The control means <NUM> may select an appropriate application server <NUM> for which the occupancy rate has not exceeded a predetermined rate of invocations.

The system <NUM> comprises besides the control means <NUM> at least one receiving means and at least one transmitting means which are not depicted in <FIG>. The receiving means is configured to receive requests from the senders <NUM> via the network <NUM> to contact an end point <NUM>. The transmitting means is configured to transmit a request to the application server <NUM> if the request fulfills the iFC, wherein the application server <NUM> is configured to host at least one connection to the at least one end point <NUM>.

When the receiving means receives a request from the sender <NUM> via the network <NUM> to contact an end point <NUM>, the control means <NUM> checks the number of requests of this sender <NUM> in the period of time T1. That is, the control means <NUM> checks if the current request fulfills the iFC, particularly taking into account a history of requests of this sender <NUM>. In the case that the number of requests is less than a predetermined number in the predetermined period of time T1, the transmitting means transmits the requests to an application server <NUM>.

When the receiving means receives a request from the sender <NUM> via the network <NUM> to contact an end point <NUM>, the control means <NUM> checks the number of requests of this sender <NUM> in the period of time T1. In the case that the control means <NUM> determines after checking if the request fulfills the iFC that the iFC is not fulfilled, the transmitting means is configured not to transmit the request to any of the application servers <NUM>.

The transmitting means and/or the control means <NUM> may be configured to drop the request of the sender <NUM>. That means that the request is not forwarded to be received by the end point <NUM> and that the control means <NUM> and/or the transmitting means does not communicate with the sender <NUM>. Alternatively, the transmitting means and/or the control means <NUM> may be configured to reject the request of the sender <NUM>. That means that the request is not forwarded to be received by an end point <NUM> and that the control means <NUM> and/or the transmitting means communicates with the sender <NUM> that the request of the sender <NUM> is rejected. The activity of rejecting may comprise answering negatively, e.g. with an error response, such as a code <NUM> which corresponds to the incident of an internal error within a server.

Preferably, the control means <NUM> and/or the application server <NUM> is configured to reject the session initiation protocol request with a final response/error code, e.g. <NUM>, <NUM>, <NUM>, <NUM>. The application server <NUM> and/or the control means <NUM> may be configured to use the CSCF, more preferably the S-CSCF, in this case.

Preferably, in case that from a certain or arbitrary sender <NUM> the number of requests in the predetermined period of time T1 exceeds the predetermined number of requests, the control means <NUM>, particularly the CSCF, is configured to reject access to the application server <NUM> to the sender <NUM>. A certain sender <NUM> is a sender <NUM> which has already been identified by the control means <NUM> and/or by any other means of the system <NUM>, for example when sending a request in a previous time. An arbitrary sender may be any sender <NUM> which is not known to the control means <NUM> and/or to any other means of the system <NUM>.

Preferably, in case that the predetermined number of requests in the predetermined period of time T1 is exceeded, the control means <NUM>, more preferably the CSCF, is configured to send a special response back to the sender <NUM> of the request. Particularly, the special response comprises at least one response code, wherein the control means <NUM>, particularly the CSCF, is configured to send the at least one response code to the sender <NUM> for rejecting the request, wherein the at least one response code is defined by at least one parameter of the iFC.

Preferably, the at least one parameter of the iFC relates to a trigger target address of the application server <NUM>, wherein the trigger target address of the application server <NUM> is invoked when iFC service point triggers match with the incoming request from the sender <NUM>. Preferably, one iFC comprises several service point triggers.

The following service point triggers may be possible: initial service point trigger methods (INVITE, OPTIONS, etc.), registration type, existence of specific headers, content of specific headers or request-uniform resource identifies (URI), or identification of the user, that is mobile-originated or mobile-terminated and session description information. Service point triggers may be logically combined as follows: INVITE and speech service and terminating call.

Preferably, the control means <NUM>, more preferably the CSCF, is configured to reject access for another predetermined period of time T2. The other predetermined period of time T2 is particularly equal to or different from, more particularly longer than, the predetermined period of time T1. Most preferably, the predetermined period of time T2 is determined based on a recognized duration of identified critical attack patterns.

Preferably, the iFC comprises an invocation-count limit and/or an invocation window and/or an invocation-rate. The invocation-count limit may take into account how many times the application server <NUM> was invoked in order to forward requests of different senders <NUM>. The invocation window may be the predetermined period of time T1 in which the control means <NUM> receives requests from one or a plurality of senders <NUM> to contact an end point <NUM>. Additionally or alternatively, the invocation window may be the predetermined period of time T1 in which the control means <NUM> receives requests from one or a plurality of senders <NUM> to contact a plurality of end points <NUM>, wherein access to the end points <NUM> may be given via one application server <NUM>. The invocation rate may be a predetermined number defining how many times the iFC invokes the application server <NUM> after having received the request from the sender <NUM> to contact the end point <NUM>.

Particularly, the control means <NUM>, more particularly the CSCF, is configured to limit a number of requests to contact the end point <NUM> according to the iFC comprising at least one parameter specifying application server destination addresses that are resolved via a Domain Name System.

Preferably, the system <NUM> comprises a precursor means being configured to drop or to reject all requests of the sender <NUM>. The precursor means is not depicted in the figures. The precursor means is connected to the network <NUM> and is located closer to the sender <NUM> than the application server <NUM>. More preferably, the precursor means is located at a border <NUM> of a network <NUM> of an operator. That is, a border <NUM> of a network <NUM> of an operator is a boundary between the networks of different service providers.

Particularly, the precursor means is configured to drop or to reject all requests of the sender <NUM> to contact the end point <NUM> for which the sender <NUM> sent a plurality of requests succeeding the number of requests to contact the end point <NUM> according to limitations of the iFC.

Preferably, the precursor means is configured to drop or to reject all requests according to at least one criterion which is defined by the at least one signaling information element. Preferably, the at least one signaling information element is comprised in the at least one response code, in particular in a header field of the at least one response code.

A more detailed configuration of the system <NUM> is shown in <FIG>.

Preferably, the control means <NUM> comprises a Service-Call Session Control Function (S-CSCF) <NUM>. The system <NUM> comprises, besides the aforementioned components, preferably a Proxy Call Session Control Function (P-CSCF) <NUM> and an Interconnect Border Control Function (IBCF) <NUM>. Particularly, the IBCF <NUM> is located closer to the border <NUM> of the network <NUM> than other components of the system <NUM>. In the case that the precursor means is provided, this precursor means may be located closer to the border <NUM> than the IBCF <NUM>.

The control means <NUM>, which is the S-CSCF <NUM>, in this case, is configured to execute iFCs defining a limitation of the invocation rate of the application server <NUM>. Preferably, the control means <NUM> frequently checks the occupancy rate of the application server <NUM>, or at least checks the occupancy rate of the application server <NUM> when the control means <NUM> receives a request of the sender <NUM> to contact the end point <NUM> via the application server <NUM>.

The IBCF <NUM> receives a request from a sender <NUM> which is marked by A in <FIG>. This request may be "INVITE UE1", for example. The UE1 may, e.g., correspond to the end point <NUM> in <FIG>.

According to a first scenario, the occupancy rate of the application server <NUM> is low, for example <NUM> % of a capacity in the queues being controlled by the application server <NUM> is currently in use. The control means <NUM> which receives from the IBCF <NUM> the request A, forwards for this reason the request to the P-CSCF <NUM> which forwards the request A to the end point <NUM>, which is the LTE1.

According to a second scenario, the occupancy rate of the application server <NUM> high, for example <NUM> % of the capacity in the queues the application server <NUM> administers is occupied. The control means <NUM> which receives from the IBCF <NUM> the request A, does not forward the request to the P-CSCF <NUM> or to the application server <NUM> but it drops the request or it forwards a response B to the sender <NUM> via the IBCF <NUM>. For a terminating call the application server <NUM> is always invoked before the P-CSCF. The response B may be an error code <NUM>, for example.

Preferably, the iFC consists of rules that determine when an initial session initiation protocol request is routed to the application server <NUM> that is determined by the trigger target address. The application server <NUM> may provide additional services, e.g. Call Diversion or Message Storing. In Table <NUM>, an example for iFC is provided.

The trigger target address of the application server <NUM> that is invoked when a Service Point Trigger of the iFC matches with an incoming SIP request can be seen in the first row of Table <NUM>.

According to this exemplary embodiment of the system <NUM>, the iFCs are extended to be configured to control a number of invocations of the application server <NUM> within the predetermined period of time T1, i.e. its rate. Preferably, the number of invocations is controlled by defining new proprietary parameters of the trigger target address of the application server <NUM>. Accordingly, the parameters are defined such that, the control means <NUM>, preferably the S-CSCF, is configured not to invoke the application server <NUM> in case that the occupancy rate of the application server <NUM>, comprising the invocation rate of the application server <NUM> is exceeded.

Preferably, the S-CSCF is configured to reject the session initiation protocol request with a final response or error code, e.g. <NUM>, <NUM>, <NUM>, <NUM>.

Preferably, the new parameters are added to the address of the application server <NUM> that is put into a SIP route header in the same way in which it is done with other parameters that are transferred to the S-CSCF and the application server <NUM>. A possible example for such a SIP route header may be:.

Preferably, the iFCs are part of a subscriber's user profile and/or a service profile that is downloaded from a Home Subscriber Server (HSS) during IMS registration of the user.

Particularly, the application server <NUM> is configured to change the iFCs via a Sh interface. Preferably, the S-CSCF is configured to receive the new parameters by downloading the iFCs and the S-CSCF is configured to apply the iFCs.

As an example, assuming that the following is set, invocation-count-limit=<NUM>, invocation-window=<NUM><NUM>, the Route Header entry of the AS will look like this:.

This will advise the S-CSCF for only allowing up to four executions of iFC and therefore four invocations of the application server <NUM> within the time period T1 which is <NUM> in the present case. The predefined time period T1 is a sliding or fixed time window. In case of more SIP requests enter the S-CSCF and result in an invocation of this application server <NUM>, the S-CSCF will reject the request without invoking any application server <NUM>.

Preferably, another trigger target address parameter with a defined final response code may be used by the S-CSCF when rejecting a request due to exceeding the iFC taking into account an invocation limit. This may be defined with the new parameter: response-code=<NUM>.

Preferably, the application server <NUM> receives these parameters as a part of its own Route header entry. However, it is not necessary that the application server <NUM> is appropriately configured to interpret these extensions. Rather, the application server <NUM> can simply ignore these extensions. In other words, the application server <NUM> does not need to implement any new functionality. That is, the system <NUM> according to the invention provides that the functionality of the S-CSCF is enhanced.

Preferably, the S-CSCF is configured to control the invocation rate of the application server <NUM> per an individual destination address as given in the SIP Request URI or to a header in an originating session case of the user equipment (UE), and/or and individual source address as given in the From header or P-Asserted-Identity header if present in the UE terminating session case.

Particularly, the S-CSCF is configured to apply the invocation limitation in total for application server destination addresses that are resolved via the Domain Name System (DNS). This results in considering alternative application server addresses altogether and limits the invocation rate for all of them in total.

Claim 1:
A control system (<NUM>) for controlling requests to contact an end point (<NUM>) of an Internet Protocol Multimedia Subsystem network comprising:
receiving means being configured to receive requests from a sender (<NUM>) via the network (<NUM>) to contact an end point (<NUM>);
control means being configured to limit a number of requests to contact the end point (<NUM>) according to initial filter criteria, iFC, defining a predetermined number of allowed requests in a predetermined period of time T1, and
transmitting means being configured to transmit a request to an application server (<NUM>) if the request fulfills the iFC, wherein the application server (<NUM>) is configured to host at least one connection to the at least one end point (<NUM>),
characterized in that the control means (<NUM>) is configured to limit a number of requests to contact the end point (<NUM>) according to the iFC comprising at least one parameter specifying application server (<NUM>) destination addresses that are resolved via a Domain Name System, and
thereby considering alternative application server (<NUM>) addresses altogether and limiting an invocation rate for all of them in total.