tacks such as malformed messages, flooding, SQL in-
jection and signaling ones (Geneiatakis et al., 2006;
Keromytis, 2012) are some of the most destructive.
Among them, (D)DoS is probably the most hazardous
one as it targets to drain the target’s resources. For
example, an attacker is able to send a high volume of
requests to the victim with the aim to steer it to paral-
ysis. Moreover, the attacker could send a large num-
ber of different requests with spoofed IP addresses,
aiming to drain the target’s resources and confuse the
underlying security mechanisms. In a worst-case sce-
nario, a botnet could be used to launch such an attack,
producing high volume of traffic. This may be also or-
chestrated under the protection of a covert communi-
cation channel, thus making the detection even more
cumbersome. For a more explanatory threat model on
this type of attacks in SIP the reader can refer to (Tsi-
atsikas et al., 2015).
3 CLASSIFICATION FEATURES
As already mentioned in Section 1, to avoid DoS
attacks in SIP several solutions have been pro-
posed (Ehlert et al., 2010; Geneiatakis et al., 2009;
Tang et al., 2014). Given that this type of attack is as
a rule of thumb executed in a distributed manner and
may be quite sophisticated regarding its implementa-
tion, simple anomaly-detection approaches that rely
on the sudden and fast-paced increment of SIP traf-
fic may be not enough. In this regard, ML-powered
methods can be a potent ally towards the detection of
such perilous events. The key factor here is the log
files on the provider side, which can be used to feed a
ML classifier in real-time or offline (in case, say, the
investigation of an attack aftermath is required). This
Section elaborates on the use of such techniques in an
SIP environment.
In our experiments, we utilize and evaluate the ef-
fectiveness of 5 well-known classifiers tested under
15 different attack scenarios. Specifically, we use the
SMO, Naive Bayes, Neural Networks, Decision Trees
(J48) and Random Forest classifiers. This selection
has been made based on the ability of these classifiers
to perform better in terms of decision accuracy and
speed when it comes to numerical data (Witten and
Frank, 2005).
In order to take advantage of the aforementioned
performance characteristics, we utilize algorithm 1.
Its purpose is twofold. On the one hand, it aims to
deal with the sensitive nature of the communication
transactions residing in an audit trail by providing an
anonymization scheme (Tsiatsikas et al., 2015), while
on the other allows for automatically extracting the
classification features to be used by the classifiers into
a numerical form.
The anonymization goal is met using HMAC
(Eastlake and Hansen, 2011). HMAC enables one to
preserve the anonymity of the communication enti-
ties appearing in the underlying audit trail, while the
entropy of messages is preserved leading the subse-
quent calculations to remain intact. In fact, reveal-
ing the hidden UA identities is as hard as reversing
the HMAC procedure itself. The cryptographic key
is kept secret and in possession of the entity, who is
the legitimate owner of the audit trail. According to
the transformation procedure, a log file is examined
line-by-line and every privacy-sensitive SIP message
header (e.g., <FROM>, <TO>, <VIA>, etc) be-
comes input for the HMAC function (lines 2-4). The
algorithm considers only the SIP message headers S1
to S6 as given in Figure 1. More precisely, the hash
function used in our case is the HMAC-SHA256 one
combined with a cryptographic key of 256 bits (line
4).
The next stage is to generate the classification fea-
tures. The steps to achieve this are summarized in
lines 5-14 of algorithm 1. The anonymized unique
headers are kept in a Hash table data structure (line
5). This table is populated with the number of oc-
currences of every single header checksum. That is,
if a checksum occurs for the first time, then a new
instance is generated in the table (lines 8-9). If it is
a repeating header, its number of occurrences is in-
creased by 1 (line 6). This procedure is repeated until
a certain message window M
w
is met (line 11). In our
case, the M
w
is set to 1,000, but this parameter can be
adjusted by the service provider itself, say, according
to the average call rates. To our knowledge, there is
no foolproof approach to formally define this param-
eter, mainly because it is eminently contextual. That
is, it is closely connected to the characteristics of the
service and underlying network. As a result, similar
to other anomaly-based approaches, one can follow
an error-trial approach to equilibrate between the M
w
parameter and the false alarm rate.
The result of applying algorithm 1 to an audit trail
is a number of specially formatted .arff files (one per
M
w
), which are afterwards used in the classification
process. Each .arff file contains classification vectors,
i.e., one vector per SIP message found in the log file
being examined. Two instances of such a classifica-
tion vector follows.
V
attack
= {926, 4, 988, 4, 4, 3, attack}
V
normal
= {12, 4, 6, 4, 3, 8, normal}
The first 6 values of each vector represent the occur-
rences of S1 to S6 SIP headers respectively, and the
BattlingAgainstDDoSinSIP-IsMachineLearning-basedDetectionanEffectiveWeapon?
303