scieee Science in your language
[en] (orig)

Private networks intrusion detection system by satisfying network constraints

Abstract

The great development of newer technologies also carries an important growth in the number of malicious attacks [1]. Even private networks without external Internet connections suffer from those attacks. These private networks play a crucial role in the country’s security. Imagine the consequences of turning the power of an entire city down or a denial of service [2] in an air traffic control system. Because of this fact, numerous politicians, including the recently named United States of America’s president, Donald Trump, are seriously taking into consideration the huge importance of protecting the private networks from intrusions in order to assure their countries’ peace. Some people even believe that efficient Intrusion Detection Systems (IDS) [3] could be a good protection against a possible Third World War. Thus, new and more powerful security solutions need to be developed to protect our organizations’ systems.

Read accessible full text

Private networks intrusion detection system by satisfying network constraints

Author: García Martínez, Francisco
Year: 2018
Source: https://docta.ucm.es/bitstreams/b6cc2ab0-7859-44fd-9a78-1749154c2ff9/download
TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA
P i a e Ne wo ks In usion
De ec ion Sys em by Sa is ying
Ne wo k Cons ain s
F ancisco Ga cía Ma ínez
Di ec ed by: Thomas Dean
Co-di ec ed by: José Luis Vázquez-Pole i
08/06/2017
TASSEP PROGRAM
Facul y o Enginee ing and Applied Science
Queen’s Uni e si y o Canada
&
Facul ad de In o má ica
Uni e sidad Complu ense o Mad id
2
3
Acknowledgemen s
I wan o exp ess my since e g a i ude o D . Thomas R. Dean,
Associa e P o esso o Queen’s Uni e si y’s Elec ical &
Compu e Enginee ing Depa men and di ec o o his huge
and amazing p ojec , wi hou whom any o his would ha e e e
been possible.
Thanks o all my p ojec eam membe s o hei pa ience and
kindness h oughou his yea , special men ion o Siam Hasan
and Ali ElShakanki y.
Also, special hanks o my co-di ec o in Spain, D . José Luis
Vázquez-Pole i, Associa e P o esso o Complu ense Uni e si y’s
Compu e A chi ec u e and Au oma ion Depa men , o his
suppo , help and a ailabili y.
This esea ch p ojec is unded in pa by he Na ional Science
and Enginee ing Resea ch Council o Canada (NSERC) and he
Depa men o Na ional De ense (DND), Canada.
4
5
Abs ac
The g ea de elopmen o newe echnologies also ca ies an impo an g ow h in he
numbe o malicious a acks [
1
]. E en p i a e ne wo ks wi hou ex e nal In e ne
connec ions su e om hose a acks. These p i a e ne wo ks play a c ucial ole in he
coun y’s secu i y. Imagine he consequences o u ning he powe o an en i e ci y
down o a denial o se ice [
2
] in an ai a ic con ol sys em. Because o his ac ,
nume ous poli icians, including he ecen ly named Uni ed S a es o Ame ica’s
p esiden , Donald T ump, a e se iously aking in o conside a ion he huge impo ance o
p o ec ing he p i a e ne wo ks om in usions in o de o assu e hei coun ies’ peace.
Some people e en belie e ha e icien In usion De ec ion Sys ems (IDS) [
3
] could be
a good p o ec ion agains a possible Thi d Wo ld Wa . Thus, new and mo e powe ul
secu i y solu ions need o be de eloped o p o ec ou o ganiza ions’ sys ems.
Key wo ds: In usion De ec ion Sys em (IDS), Da a Dis ibu ion Se ice (DDS), Real-
Time Publish-Subsc ibe P o ocol (RTPS), p i a e ne wo ks, in usions, cons ain
engine, ne wo k cons ain s, ees.

6
Resumen
El g an desa ollo de las nue as ecnologías conlle a ambién un aumen o conside able
en el núme o de a aques maliciosos [1]. Incluso las edes p i adas sin conexión ex e na
a In e ne su en es os a aques. Es as edes p i adas juegan un papel c ucial en la
segu idad de cada país. Imagínense las consecuencias de i a abajo la co ien e eléc ica
de una ciudad en e a o una denegación de se icio [2] en un sis ema de con ol aé eo.
Debido a es e hecho, nume osos polí icos, incluido el ecien emen e nomb ado
p esiden e de los Es ados Unidos de Amé ica, Donald T ump, es án concienciándose
se iamen e de la eno me impo ancia que supone p o ege las edes p i adas en e a
in usiones pa a asegu a la paz en sus países. Alguna gen e c ee incluso que unos
Sis emas de De ección de In usiones (IDS) [3] e ec i os pueden se una buena medida
de p o ección an e una posible Te ce a Gue a Mundial. De es a o ma, nue as y más
po en es medidas de segu idad ienen que desa olla se pa a p o ege los sis emas de
nues as o ganizaciones.
Palab as cla e: Sis ema de De ección de In usiones (IDS), Se icio de Dis ibución
de Da os (DDS), P o ocolo de Publicación-Subsc ipción en Tiempo Real (RTPS), edes
p i adas, in usiones, mo o de es icciones, es icciones de ed, á boles.
7
8
Glossa y
• ABS: Anomaly-Based Sys em
• ATC: Ai T a ic Con ol
• DAG: Di ec ed Acyclic G aph
• DDS: Da a Dis ibu ion Se ice
• DoS: Denial o Se ice
• DDoS: Dis ibu ed Denial o Se ice
• DPI: Deep Packe Inspec ion
• IDS: In usion De ec ion Sys em
• IGMP: In e ne G oup Managemen P o ocol
• NIDS: Ne wo k In usion De ec ion Sys em
• OMG: Objec Managemen G oup
• PCAP: Packe cap u e
• QoS: Quali y o Se ice
• RTPS: Real Time Publish-Subsc ibe P o ocol
• SBS: Signa u e-Based Sys em
• SCL: Syn ax Cons ain Language
9
Glosa io
• ABS: Sis ema Basado en Anomalías
• ATC: Con ol de T á ico Aé eo
• DAG: G á ico Acíclico Di igido
• DDS: Se icio de Dis ibución de Da os
• DoS: Denegación de Se icio
• DDoS: Denegación de Se icio Dis ibuida
• DPI: Inspección P o unda de Paque es
• IDS: Sis ema de De ección de In usiones
• IGMP: P o ocolo de Ges ión de G upos en In e ne
• NIDS: Sis ema de De ección de In usiones en Redes
• OMG: G upo de Ges ión de Obje os
• PCAP: Cap u a de Paque es
• QoS: Calidad del Se icio
• RTPS: P o ocolo de Publicación-Subsc ipción en Tiempo Real
• SBS: Sis ema Basado en Fi mas
• SCL: Lenguaje de Sin axis de Res icciones
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
16
1.2. Me hod
We a e i s ly explo ing he men ioned amewo k using wo p o ocols: In e ne
G oup Managemen P o ocol (IGMP) [
7
] and Real Time Publish and Subsc ibe
P o ocol (RTPS) [
8
], being his las one based in he Da a Dis ibu ion Se ice
(DDS) mechanism [
9
]. DDS p o ides e ec i e suppo and secu i y o c i ical
se ices, such as ai a ic con ol managemen o inancial ading. Hence, we s a
ocusing ou esea ch on hese p o ocols because hey migh be used by he kind o
applica ions o wha we a e aiming ou app oach. Bu , once ou p og am is
p ope ly wo king wi h hese wo p o ocols, ou inal goal is o build a so wa e able
o wo k among any p o ocol de ined, allowing i o, once gi en he p o ocol’s
de ini ion using a speci ic language ha we c ea e, au oma ically de elop and
e alua e he se o cons ain s o ha conc e e p o ocol.
Focusing on my pa icula job, o e e y de ined cons ain I will d aw a ee ha
co esponds o i s speci ica ion o, la e on, handily de ine and c ea e a skele on o
ha ee s uc u e in C. Addi ionally, I will implemen all i s espec i e unc ions o
p ope ly wo k wi hin he sys em.
1.3. Documen S uc u e
Fi s o all, I will go h ough all he p e ious backg ound concep s ha need o be
aken in o conside a ion in o de o la e be e unde s and he p ojec i sel . He e I
will alk abou concep s such as p i a e ne wo ks, deep packe inspec ion and
Ne wo k In usion De ec ion Sys ems, as well as some p o ocols ha will be used.
Besides, in his sec ion I will b ie ly desc ibe ou global p ojec amewo k.
Secondly, I will men ion he ne wo k cons ain s ha we ha e come up wi h so a ,
including a deepe explana ion o he cons ain s I ha e pe sonally been wo king on.
The hi d sec ion o he epo con ains he in o ma ion ela ed o he ees’
s uc u es I ha e de eloped o build he cons ain s and e e y hing ela ed o he
implemen a ion o he cons ain s I ha e men ioned be o e. Thus, o each o hose
cons ain s, I will explain he ou -phase mechanism ha is ollowed om he
c ea ion o he dele ion o hei co esponding ees.
In he ou h sec ion i is desc ibed how he cons ain s a e e alua ed wi h my ees
s uc u es’ app oach, di e en ia ing i om my pa ne ’s app oach.
Finally, he Conclusions and Fu u e Wo k sec ion includes he esul s o he
e alua ion o he cons ain s I ha e wo ked on using my app oach, as well as some
ela ed wo k ha could be done in he u u e.

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
17
2. In oducción
El p ime y i al paso pa a asegu a las edes p i adas consis e en moni o iza
cons an emen e el á ico en ma cha y de ini un “compo amien o no mal” de la ed.
Es e compo amien o pod ía ca ac e iza se po una se ie de es icciones de ed [4], po
lo que una iolación de es as es icciones indica ía una posible in usión. También,
esul a c ucial de ec a es os in usos an p on o como sea posible pa a minimiza el
daño que puedan causa a la ed. Sin emba go, en g andes o ganizaciones en las que se
mandan a la ed miles de paque es po segundo, es a a ea puede no esul a ácil.
2.1. Obje i os
El p opósi o de es e p oyec o de in es igación consis e en p esen a un no edoso
en o no pa a p o ege edes p i adas con un núme o de p o ocolos limi ado an e
a aques de in usiones, a a és de la de ección de aquellos paque es que di ie an del
compo amien o no mal en iempo eal [5]. Pa a ello, modela emos pa ones que
ep esen en el á ico no mal en la ed como es icciones y p esen a emos cómo el
en o no es á e aluando dichas es icciones an e á ico ob enido de una ed
expe imen al usando he amien as PCAP [6]. La Figu a 1 ep esen a a g an escala el
compo amien o global del p oyec o.
Fig. 1. A qui ec u a Global del P oyec o.
Conc e amen e, yo es a é abajando en el Mo o de Res icciones y mi obje i o
consis i á en el diseño, implemen ación y co ec a p ueba del endimien o de es
es icciones an e el á ico de p ueba de nues a ed expe imen al.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
18
2.2. Mé odo
En p ime luga , es amos explo ando el en o no mencionado usando dos p o ocolos:
el P o ocolo de Ges ión de G upos en In e ne (IGMP) [7] y el P o ocolo de
Publicación-Subsc ipción en Tiempo Real (RTPS) [8], es ando es e úl imo basado
en el mecanismo del Se icio de Dis ibución de Da os (DDS) [9]. DDS p opo ciona
un apoyo e icaz y segu idad pa a ipos de se icios c í icos, como pueden se la
ges ión de con ol de á ico aé eo o el come cio inancie o. De ahí que empecemos
a cen a nues a in es igación en es os p o ocolos, ya que pod ían se usados po el
ipo de aplicaciones pa a los que es amos ijando nues o obje i o. Pe o una ez que
nues o p og ama uncione co ec amen e pa a es os dos p o ocolos, nues o
obje i o inal consis i á en cons ui un so wa e capaz de abaja con cualquie
p o ocolo que se le de ina, pe mi iéndole, una ez especi icada la de inición de al
p o ocolo usando un lenguaje que noso os mismos c ea emos, desa olla y e alua
au omá icamen e el conjun o de es icciones pa a dicho p o ocolo en conc e o.
Cen ándonos en mi abajo en pa icula , pa a cada una de las es icciones
de inidas, dibuja é el á bol que co esponda a su especi icación pa a, más a de
de ini y c ea a mano un esquele o pa a esa es uc u a de á bol en C.
Adicionalmen e, implemen a é odas sus espec i as unciones pa a que puedan
in eg a se y unciona co ec amen e den o de nues o sis ema.
2.3. Es uc u a del documen o
P ime o, explica é b e emen e odos los concep os p e ios que necesi an se
comp endidos pa a más a de en ende mejo el p oyec o en sí. Aquí, a a é
concep os ales como edes p i adas, inspección p o unda de paque es y Sis emas de
De ección de In usiones en Redes, así como algunos p o ocolos que se án usados.
Además, en es a sección desc ibi é po encima el en o no global de nues o
p oyec o.
En segundo luga , menciona é las es icciones de ed que hemos encon ado has a
el momen o, incluyendo una mayo explicación de las es icciones sob e las que yo
he es ado abajando pe sonalmen e.
La e ce a sección de la memo ia con iene oda la in o mación elacionada con las
es uc u as de á boles que he desa ollado pa a cons ui las es icciones, y odo
lo elacionado con la implemen ación de dichas es icciones que he mencionado
an e io men e. Así, pa a cada una de esas es icciones, explica é el mecanismo de
cua o- ases que es seguido po ellas desde la c eación has a la eliminación de sus
á boles co espondien es.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
19
En la cua a sección se desc ibe cómo las es icciones son e aluadas con ese
en oque de las es uc u as de á boles, di e enciándolo del en oque que daba mi
compañe o pa a su e aluación.
Finalmen e, la sección de Conclusiones y T abajo Fu u o incluye los esul ados de
la e aluación de las es icciones sob e las que he abajado usando mi en oque, así
como abajo elacionado con el ema que puede se desa ollado en el u u o.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
20
3. Backg ound
Hand ul open sou ce IDS [
10
], such as Sno , Su ica a o B o [
11
], a e cu en ly
a ailable bu , in spi e o p o iding an as ic ea u es and inc edibly la ge ule se s, hey
all ha e a common law: hey only suppo a ew amous p o ocols, like HTTP [
12
] o
TCP [
13
], and i esul s a uly ough ask o add new ules o he da a se . Due o he
ac ha mos o he p i a e ne wo ks use hei own p o ocols buil o speci ic
pu poses, hese In usion De ec ion Sys ems ail o be e ec i e. Tha is why we ocus
ou app oach on de eloping an IDS able o cope and p oduce sa is ac o y esul s wi h
any p o ocol.
3.1. Global P ojec F amewo k
Ou p e iously esea ch g oup’s p oposed amewo k is di ided in o h ee modules:
Scanning, Pa sing and Cons ain Engine [5]. Figu e 2 shows a simpli ied idea o he
in e ac ion be ween hose h ee modules. Basically, he da a low consis s o eading
and pa sing he packe s, and con e ing hem in o da a s uc u es able o be used by
he Cons ain Checke .
Fig. 2. Modules o In usion De ec ion F amewo k.
The scanning module is in cha ge o eading he packe s om PCAP iles using
Wi esha k [
14
] and ex ac ing he essen ial da a. Cu en ly, wo IP p o ocols a e
suppo ed: IGMP and Use Da ag am P o ocol (UDP) [
15
]. Fo e e y single packe ,
he Scanne passes he ollowing in o ma ion o he Pa se : sou ce IP, des ina ion IP
and a i al ime. Besides, i will pass he sou ce and des ina ion po s i he e is a
UDP packe .
The Pa sing module ecei es hese packe s along wi h hei in o ma ion, pa ses
hem and con e s hem in o C da a s uc u es. An ale is gene a ed i he Pa se
ails o pa se any packe . Some examples o ailu es could be mal o med da a, like
non-sensi i e da e o ime alues, o e o s in leng hs, such as a emp ed bu e
o e lows [
16
]. On he con a y, i he packe s a e success ully pa sed, hey a e
passed along o he Cons ain Engine, whe e I am going o ocus my wo k.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
21
The Cons ain Checke is an engine ha implemen s a se e al numbe o
cons ain s ela ed o he de ini ion o he p o ocols. Cu en ly, i is being hand-
w i en by he esea ch g oup, bu i is designed as a empla e o be la e
au oma ically gene a ed om a speci ic language speci ica ion which we a e
wo king on. My mission in he Cons ain Engine is o de elop an app oach o
de ine he ne wo k cons ain s as ee s uc u es [
17
] and, la e on, in eg a e my code
wi h he Pa se module and e alua e hose ees agains sample RTPS da a gene a ed
by ou expe imen al ne wo k. Conc e ely, I should be able o es my app oach o
h ee cons ain s.
Ou ini ial Pa se , inhe i ed om p e ious pene a ion es ing esea ch [
18
], used a
gene al engine ha is pa ame e ized by a g amma g aph. This g aph is gene a ed
om a Syn ax Cons ain Language (SCL) p o ocol desc ip ion [
19
]. SCL de i es
om ASN.1 [
20
], which con ains XML ma kup [
21
] o p o ide bo h con ex
sensi i e pa sing and gene al cons ain s. Ou g amma s o IGMP and RTPS we e
alida ed agains mul iple sou ces o ne wo k da a o ensu e ha he g amma was
co ec . Howe e , he Pa se u ned ou o be oo slow o ou in usion de ec ion
p o o ype when e alua ed agains packe da a om an indus ial pa ne .
Consequen ly, we decided o de elop a new Pa se , which is a hand w i en,
designed wi h he in en ion o being au oma ically gene a ed in he u u e. Thus, we
ha e manually ollowed a igo ous app oach o ansla e he SCL o p oduce a hand
coded pa se .
3.2. P i a e Ne wo ks
In ne wo ks such as ou home In e ne o a ca e’s Wi-Fi we can download apps,
send emails, play games, use Facebook o wa ch YouTube ideos. To sum up, he e
isn’ any es ic ion abou he p o ocols used o he ype o packe s sen h ough he
ne wo k. No e en abou he ype o numbe o de ices connec ed o i .
Consequen ly, i esul s a eally ough wo k o moni o he ongoing a ic o
de e mine wha is “no mal” in hose ne wo ks. These a e called public o
con en ional ne wo ks.
On he o he hand, p i a e ne wo ks o in ane s a e ne wo ks c ea ed by a single
o ganiza ion ha con ols i s secu i y policies and ne wo k managemen . This means
ha he de ices connec ed o hem a e clea ly iden i ied, and ha he packe s ha
hey send belong o a ce ain ype o allowed packe s. They use a limi ed numbe o
p o ocols. Examples o hese ne wo ks a e elecommunica ion, nuclea and powe
plan s, o ai c a con ol sys ems, which ep esen c i ical in as uc u es.
P i a e ne wo ks inc ease hei secu i y by p e en ing ex e nal access, p o ec ing
hei indus ial con ol ope a ion om ou side a acks. Howe e , a p i a e ne wo k is

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
22
no ully secu ed, as malwa e could be injec ed by USB d i es o ins alla ion discs.
Fo ins ance, he wo ldwide known case o he S uxne wo m used o a ack a
nuclea plan in Na anz was dis ibu ed by an USB lash d i e [
22
]. As a esul , e en
mo e p o ec ion needs o be de eloped. Pe ime e checking, such as i ewalls and
au hen ica ion policies [
23
], a e use ul de ensi e echniques, bu hey can’ moni o
he ongoing a ic. The only way o pe o ming ha du y is using an In usion
De ec ion Sys em [
24
].
3.3. Ne wo k In usion De ec ion Sys ems
Ne wo k In usion De ec ion Sys ems (NIDS) a e he mos e icien way o
de ending agains ne wo k-based a acks. They consis in a de ice o so wa e
applica ion ha moni o s a ne wo k o malicious ac i i y o policy iola ions. NIDS
a e placed a s a egic poin o poin s o he o ganiza ion and pe o ms an analysis o
passing a ic on he en i e subne . These sys ems a e widely used among la ge-
scale IT in as uc u es [
25
]. Basically, he e a e wo main ypes o NIDS: signa u e-
based (SBS) and anomaly-based (ABS).
On he one hand, signa u e-based IDS e e s o he de ec ion o a acks by looking
o speci ic pa e ns, such as by e sequences in ne wo k a ic, o known malicious
ins uc ion sequences used by malwa e. They main ain a da abase o signa u es o
p e iously known a acks and compa e hem wi h he analyzed da a. Thus, an ala m
would be aised when he signa u es we e ma ched. The main ad an age o his
echnique is ha signa u es a e e y easy o de elop and unde s and i we know
wha ne wo k beha io we a e ying o iden i y. Mo eo e , pa e n ma ching can be
done mo e e icien ly as hey can pe o m his ma ching wi h jus a small ule se .
Fo ins ance, i he sys em ha is o be p o ec ed only communica es ia DNS [
26
]
and ICMP [
27
], all o he signa u es can be igno ed. Howe e , SBS only de ec
a acks whose signa u es a e p e iously s o ed in he da abase, so ze o-day a acks
[
28
] canno be de ec ed.
On he o he hand, anomaly-based IDS we e p ima ily c ea ed o de ec unknown
a acks, due o he as de elopmen o malwa e [
29
]. In con as o SBS, hey build
a s a is ical model desc ibing he no mal ne wo k a ic and, and any abno mal
beha io ha de ia es om he model is iden i ied. As anomaly based de ec ion is
based on de ining he ne wo k beha io , i equi es a aining phase o de elop he
da abase o gene al a acks and a ca e ul se ing o h eshold le el o de ec ion. This
accep ed ne wo k beha io is p epa ed o lea ned by he speci ica ions o he
ne wo k adminis a o s. The majo d awback o ABS is de ining i s ule se . As a
consequence, he e iciency o he sys em depends on how well i is implemen ed
and es ed on all p o ocols. Hence, we in oduce he concep o cons ain s in ou
sys em because i ep esen s mo e concise ac ions han ules [
30
]. Fu he mo e, e en
using dynamic ules o exis ing IDS, i esul s a eally ough ask o c ea e a lexible
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
23
and exp essi e ule se which can ep esen a eal complex a ack scena io [5]. The
majo ad an age o e SBS is ha a no el a ack o which a signa u e does no exis
can be de ec ed i i alls ou o he no mal a ic pa e ns.
3.4. Deep Packe Inspec ion
The e is a la ge numbe o o ganiza ions p o ec ing hei ne wo ks wi h i ewalls,
simply limi ing hei a ic h ough he po s 22, 80 and 443, co esponding wi h he
SSH [
31
], HTTP [9] and HTTPS [
32
] p o ocols espec i ely. Any packe
ansmi ed by a p o ocol which does no co espond o any o hese h ee ones, is
au oma ically disca ded. Howe e , a acke s ha e ound he way o in uding hose
ne wo ks hiding hei unc ionali y unde ei he he SSH, HTTP o HTTPS p o ocols
[
33
]. As a esul , hey a e able o snick in o he ne wo k’s allowed a ic wi hou
being no iced and co espondingly ejec ed by he i ewalls.
Because o hese a acke s, a simply i ewall is no enough o p o ec he ne wo ks,
and mo e sophis ica ed echniques need o be de eloped. He e come o scene he
e m ‘Deep Packe Inspec ion’. DPI is an ad anced me hod o packe il e ing ha
unc ions a he Applica ion laye o he OSI (Open Sys ems In e connec ion)
e e ence model [
34
]. “The use o DPI makes i possible o ind, iden i y, classi y,
e ou e o block packe s wi h speci ic da a o code payloads ha con en ional
packe il e ing, such as i ewalls, which examines only packe heade s, canno
de ec ” [
35
]. By looking deeply in o he packe ields, i is possible o iden i y he
eal da a ha is being sen in each packe . This makes i e ec i e agains bu e
o e low a acks, denial o se ice (DoS) a acks and ce ain ypes o malwa e.
3.5. Da a Dis ibu ion Se ice
The Da a Dis ibu ion Se ice (DDS) is an Objec Managemen G oup (OMG)
p o ocol whose goal is o p o ide eliable eal- ime and scalable communica ions a
a high pe o mance by using a publish-subsc ibe mechanism. Ai a ic con ol,
inancial ading o o he big da a applica ions a e examples o en i onmen s whe e
a p o ocol like DDS is needed o hei pu poses. Besides, his s anda d is widely
used among wo ldwide ecognized ins i u ions such as he NASA [
36
] o he
Canadian Ai T a ic Con ol Sys em [
37
], as well as in he mining indus y o check
mining equipmen and in he au omobile sec o o de elop simula o s [
38
].
As shown in Figu e 3, DDS p o ides an in as uc u e laye ha enables many
di e en ypes o applica ions o communica e wi h each o he .
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
24
Fig. 3. DDS In as uc u e.
Pa do-Cas ello e’s pape says: “Publish-subsc ibe applica ions a e ypically
dis ibu ed applica ions wi h endpoin nodes ha communica e wi h each o he by
sending (o publishing) da a and ecei ing (o subsc ibing) da a anonymously.
Usually he only p ope y ha a publishe needs in o de o communica e wi h a
subsc ibe is he opic name and he de ini ion o he da a. Wha is mo e, he
publishe does no need any in o ma ion abou he subsc ibe s and ice e sa”.
Resul an ly, he only needed hing o lis en o ce ain da a is he Topic Key o he
da a published and he Domain Id.
As said in he RTI pape , “A publish-subsc ibe in as uc u e is capable o
deli e ing da a o he app op ia e nodes wi hou ha ing o se up indi idual
connec ions be ween hem”. Machines in e es ed in ecei ing packe s ela ed o a
ce ain opic jus need o become a subsc ibe o ha opic. Analogously, nodes
willing o send da a abou a ce ain opic jus need o become a publishe o ha
opic, and he DDS in as uc u e will au oma ically assu e ha he published
in o ma ion is dis ibu ed o all subsc ibe s in e es ed in ha opic, wi hou he
publishe needing o speci y hose des ina ion po s.
The speci ica ion o DDS is b oken up in o wo sepa a e laye s: Da a-Cen ic
Publish-Subsc ibe (DCPS) and Da a Local Recons uc ion Laye (DLRL) [13]. Fo
ou pu pose, we will only concen a e on he DCPS po ion o he speci ica ion.
RTI’s pape de ines DCPS as ollowing: “DCPS is he lowe laye API ha an
applica ion can use o communica e wi h o he DDS-enabled applica ions”. This
communica ion mechanism p o ides hem he abili y o speci y se e al Quali y o
Se ice (QoS) pa ame e s, such as a e o publica ion, a e o subsc ip ion o how
long da a is alid o . These pa ame e s allow he sys em designe s o build a
cus omized dis ibu ed applica ion based on hei equi emen s. In DCPS,
applica ions mus use APIs o c ea e en i ies (objec s) in o de o es ablish publish-
subsc ibe communica ions be ween each o he . DCPS has he ollowing p ima y
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
25
en i ies: Domain, Domain Pa icipan , Da a W i e , Publishe , Da a Reade ,
Subsc ibe and Topic. Figu e 4 shows how en i ies in DDS a e ela ed.
Fig. 4. DDS En i ies.
The Domain is he basic elemen needed o bind indi idual applica ions and s a a
communica ion be ween hem. DDS has he capabili y o suppo ing bo h a single
Domain o applica ion’s da a-cen ic [13] communica ions, and mul iple Domains.
I he sys em is using a single Domain, all he nodes will communica e wi hin his
Domain. On he con a y, i we ha e a sys em ha can scale wi h e ec i e da a
isola ion, we migh choose mul iple Domains. The e o e, when speci ic da a is
published in one Domain, i will no be ecei ed by Subsc ibe s esiding on any
o he Domains. Mo eo e , mul iple Domains a e also a g ea way o con ol he
in oduc ion o a new unc ionali y in o an exis ing sys em.
An applica ion uses a Domain Pa icipan o ep esen i s ac i i y wi hin a Domain.
This allows de elope s o de ine de aul QoS pa ame e s o all Da a W i e s,
Publishe s, Da a Reade s and Subsc ibe s in ha Domain. Thus, his makes i easy
o speci y de aul beha io in he Domain.
Ob ained om Pa do-Cas ello e’s pape , “Da a W i e s a e he p ima y access poin
o an applica ion o publish da a in o a DDS domain”. An applica ion uses Da a
W i e s o send da a. These a e associa ed wi h a single Topic. An applica ion can
ha e mul iple Da a W i e s and Topics. Besides, i can ha e mo e han one Da a
W i e o a pa icula Topic. Howe e , be o e being able o pe o m a w i e call,
Da a W i e s need o be c ea ed and con igu ed wi h he co ec QoS se ings.
The Publishe is jus a con aine o g oup and manage oge he indi idual Da a
W i e s. I ep esen s he DCPS objec esponsible o he ac ual sending o da a.
Whe eas a Da a W i e can only be owned by a single Publishe a Publishe can own
mul iple Da a W i e s [
39
]. Hence, he same Publishe may be sending da a o
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
32
As we al eady know, a Topic is he link ha connec s Publishe s and Subsc ibe s.
Re e ing o he DDS manual, i is pe ec ly possible ha a Pa icipan can become a
Publishe and a Subsc ibe o he same Topic a he same ime. Hence, a Pa icipan can
lis en o da a on a ce ain Domain, al e his da a and, e en ually, o wa d i o he
mul icas g oup. This ac can lead o wo possible a acks: a malicious Publishe
sending illegi ima e da a; o a denial o se ice caused by inc easing he ne wo k’s
a ic.
Acco dingly, Cons ain 7 p e en s hese scena ios by making su e ha a cu en
Publishe o a ce ain Topic in a Domain does no become a Subsc ibe o he same
Topic in ha Domain, and ice e sa.
C8. RTPS – Subsc ibe u ning Publishe : A Topic Key can only be published om a
speci ic se o hos s.
RTPS is used in Ai T a ic Con ol (ATC) [
44
] wo ldwide o p o ide secu e ai a ic
managemen and communica ions. Fo ins ance, he e mus be jus a speci ic se o
ada in o ma ion publishe s, o a speci ic machine which allows a plane o land. In
ATC, his means e y sensible in o ma ion ha mus be ca e ully aken ca e o o
p o ide a sa e and e icien mo emen o ai c a s in he ai space.
Cons ain 8 e e s o de ining a se o Publishe s esponsible o sending a es ic ed
ype o in o ma ion. The e o e, any machine publishing es ic ed in o ma ion ha does
no belong o he se o allowed Publishe s o ha Topic cons i u es an in usion.
C11. RTPS – Validi y o communica ion: Only a alid Publishe and a alid
Subsc ibe can communica e.
Du ing an RTPS unicas communica ion, DATA packe s a e cons an ly being sen om
Publishe s o Subsc ibe s. In ou p e ious cons ain s we we e checking ha ei he he
Pa icipan s we e membe s o a alid mul icas g oup o ha Publishe s we e legi ima e.
Now, we a e aking in o conside a ion ha when a Publishe sends a DATA packe , i s
des ina ion is a alid Subsc ibe .
Fo his ype o cons ain s, i is no enough o check he alidi y o he Publishe , as an
au ho ize hos could be publishing “legi ima e” in o ma ion o in ude s. Hence we mus
check ha e e y DATA packe sen in ou ne wo k is coming om a us able Publishe
and eaching an allowed Subsc ibe .

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
33
5. Implemen a ion
Once he packe s a e scanned and success ully pa sed by he p e ious p ojec ’s modules
(Figu e 1), hey a e passed o he Cons ain Engine. Acco ding o i s p o ocol, i al eady
ecei es he necessa y pa ame e s o each packe o deal wi h he cons ain s. I s basic
unc ion is o e alua e he da a s uc u es ecei ed by he Pa se and p omp an ale
when a cons ain is iola ed. Figu e 6 shows a simpli ied amewo k o cons ain
based IDS.
Fig. 6. IDS F amewo k.
As he p ojec is coded in C and, unlike C++, he e was no any ee o Di ec ed Acyclic
G aph (DAG) [
45
] s uc u e a ailable o use, my i s app oach was o de elop ou own
ee class and ee s uc u e mysel , as well as all i s unc ionali y. Mo eo e , he ees
we e no always bina y ees [
46
], and he numbe o child en o each node could a y
depending on he cons ain , making i mo e di icul o ep esen ou da a. E e y ime a
packe a i ed, I had o loop h ough he ee o popula e he lea nodes, as well as o
e alua e i (Figu e 7 shows how he cons ain ees look like). Hence, his app oach
esul ed o be O(log n) and, he e o e, conside ably cos ly in ime [
47
].
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
34
Fig. 7. Cons ain ’s ee skele on.
As a esul , I had o de elop a be e app oach. This app oach is s ill using ees o
ep esen and sol e he cons ain s. Howe e , ins ead o c ea ing a ee class, I ha e
coded a new DAG s uc u e (Figu e 8), which ep esen s a cons ain as an a ay o
nodes by jus keeping a poin e o he Roo Node and he leng h o he s uc u e. Wi h
his s uc u e I can uniquely ep esen a gene al skele on o each single cons ain .
Also, e e y ime I need o c ea e a new ins ance o he ee I jus ha e o alloca e some
memo y and do a memcopy() [
48
], wi hou ha ing o walk h ough he ee o copy i .
Fig. 8. Snippe o he DAG s uc u e.
Consequen ly, I ha e also de eloped a node s uc u e (Figu e 9) o be able o ep esen
he di e ences be ween he ope a o and he lea nodes. These di e ences e e o hei
alues and numbe o child en. Each node is composed by a alue, an in ege ha
indica es he posi ion whe e i s child en s a o be alloca ed in he a ay, an in ege
e e ing o i s numbe o child en and a ype o node. Knowing he posi ion and
numbe o child en allows us o build he hie a chy o he ee. The “eType” ield
indica es whe he he node is an Ope a o Node o a Lea node. Depending on he Lea
Node’s ype (in ege o cha ) i s “ Value” ield may a y. Finally, I dis inguish be ween
he a ious ypes o Ope a o Nodes: “andOp”, “o Op”, “eqOp” and “no EqOp”
co espond o hei logical exp essions “&&”, “||”, “==” and “!=”. Whe eas he “ iol”
and “a ” ope a o s only e e o Roo Nodes. The “ iol” ope a o means ha ha ee
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
35
should p omp an ale i i s e alua ion is no sa is ied, while he “a ” ope a o means
ha an ale should be p omp i he ee’s e alua ion is sa is ied.
Fig. 9. Snippe o he Node s uc u e.
Due o his s uc u e, I am able o know he exac posi ion o e e y node in he a ay o
each cons ain , making e e y ope a ion made on a node O(1), accessing di ec ly o he
posi ion wi hou ha ing o loop h ough he ee. This will be easie o unde s and i we
ake a look o Figu e 10 (Cons ain 1 ee). The eby, he ou cons ain s’ ees I ha e
de eloped and hei co esponding snippe s o code using his ee s uc u e a e as
ollow:
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
36
Fig. 10. T ee d awing o Cons ain 1.
Fig. 11. DAG s uc u e o Cons ain 1.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
37
Fig. 12. T ee d awing o Cons ain 5.
Fig. 13. DAG s uc u e o Cons ain 5.
Fig. 14. T ee d awing o Cons ain 7.

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
38
Fig. 15. DAG s uc u e o Cons ain 7.
Fig. 16. T ee d awing o Cons ain 8.
Fig. 17. DAG s uc u e o Cons ain 8.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
39
Fig. 18. T ee d awing o Cons ain 11.
Fig. 19. DAG s uc u e o Cons ain 11.
Addi ionally, I ha e c ea ed a Hash Table [
49
] s uc u e o each ype o cons ain o
keep ack o he exis ing ees ali e. E e y Hash Table is o med by a key and a alue.
In my app oach, I ha e c ea ed a “hashnode” s uc u e whe e he key o each Hash
Table is composed o he pa ame e s ha c ea e ha cons ain and iden i y a single
ins ance o he cons ain , and he alue is a poin e o he posi ion whe e he T ee Roo
o ha cons ain is alloca ed. As a esul , my Hash Table is an a ay o “hashnodes”.
The eby, his Hash Table allows me o easily ind ou whe he a ee exis s o no and, i
i al eady exis s, modi y o dele e i . Figu e 20 shows how his s uc u e looks like o
Cons ain 1. Simila ly, i wo ks o he o he h ee cons ain s.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
40
Fig.20. Snippe o he Hash Table s uc u e o Cons ain 1.
Thanks o my pa ne ’s p e ious esea ch, we ha e come up wi h a ou -phase-
p ocedu e o sol e he cons ain s. The eby, when a new packe a i es and ma ches any
o ou cons ain s, i is classi ied o i s co esponding phase. These ou phases a e
Ins an ia e, Bind, E alua e and Dele e.
1. Ins an ia e: e e y cons ain has an ac ion ha igge s he c ea ion o a new
ee and, consequen ly, makes us ake in o conside a ion di e en aspec s o he
machine causing i and ollow up i s beha io . This ac ion is o en ela ed o a
speci ic ype o message. Thus, he Ins an ia e phase e e s o he c ea ion o a
new ee skele on and popula ion o he i s lea nodes wi h he co esponding
alues o a packe ha is sending a “ igge message” ha ma ches any o ou
cons ain s. Besides, i is unde s ood ha such ee should no p e iously exis .
2. Bind: he e a e single packe cons ain s (al eady managed by he Pa se ) and
mul iple packe cons ain s. Wi hin mul iple packe cons ain s we can
dis inguish be ween wo-packe cons ain s and mo e- han- wo-packe
cons ain s. The eason why we make his dis inc ion is because o he Bind
phase. This phase akes place when he a i ing message co esponds o an
expec ed message o ill in he emaining lea es om a p e iously c ea ed ee
in he Ins an ia e phase. Howe e , he cons ain ’s ee is no eady o be
e alua ed ye , because is s ill wai ing o mo e packe s. Hence, exclusi ely
mo e- han- wo-packe cons ain s con ain his Bind phase. On he con a y, wo-
packe cons ain s would go di ec ly o e alua ion when one o hose messages
a i es.
In addi ion, usually jus aking a look a he d awing ees i is easy o know i
ha cons ain has a Bind phase o no . So, i he numbe o child en o he las
le el Ope a o Nodes is g ea e han wo, i means ha he ee has a Bind phase.
Al hough some imes i migh need he Bind phase e en i i he numbe is wo.
3. E alua e: simila ly o he Bind phase, when an expec ed packe ma ching an
Ins an ia ion ee a i es, i s emaining lea es a e popula ed. The di e ence wi h
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
41
he Bind phase is ha he cons ain does no ha e o wai o mo e packe s o be
e alua ed. As a esul , when his phase akes place, he ee is eady o
e alua ion. Fu he mo e, i will p omp an ale i he e alua ion esul s o be a
iola ion o he cons ain .
4. Dele e: al hough we migh hink ha e e y ee is being dele ed a e i s
e alua ion, his assump ion is no always alid. I could be possible ha a ee is
dele ed igh a e being e alua ed, bu ha does no usually happen. No mally,
he ees a e kep ali e un il a speci ic message o ac ion says he con a y ( his
concep will be e be unde s ood when we will go h ough each single
cons ain ’s case). When ha happens, we will bo h ee he memo y o he ee
i sel and i s e e ence in he Hash Map.
Acco ding o his ou -phase p ocedu e, he i e cons ain s I ha e been wo king on
we e de eloped as desc ibed below:
5.1. CONSTRAINT 1: A hos is only allowed o send wo successi e Join Repo s o a
speci ic g oup.
Jus a eminde ha a Join Repo e e s o a Membe ship Repo sen by a hos wi hou
p e iously ha ing ecei ed a Membe ship Que y om he ou e . This cons ain was
caused by he ac ha a hos migh wan o join a mul icas g oup wi hou ha e been
que ied by he ou e esponsible o ha g oup.
Ins an ia e: his phase akes place when a hos sends an IGMP 2 o IGMP 3 Repo o
a mul icas g oup add ess and such add ess does no ma ch o a p e ious Membe ship
Que y made om ha add ess. Resul an ly, i i did no exis ye in he Cons ain 1
Hash Table (which would mean ha he Join Repo is no he i s one sen by ha hos
and i s ee has al eady been ins an ia ed), we c ea e a new Cons ain 1 ee and we
popula e i s i s lea nodes. Besides, we inse i in he co esponden Hash Table.
Figu e 21 ep esen s he pa o he code co esponding o Cons ain 1’s ins an ia ion
and Figu e 22 shows how he ee would look like a he end o his phase.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
48
Ins an ia e: we ins an ia e a C7a’s ee e e y ime a Da a(w) packe (which co esponds
o a Publishe ) a i es and i does no ma ch o a co esponding ins an ia ion ee c ea ed
by he same hos sending a Subsc ibe packe . Analogously, we ins an ia e a C7b’s ee
e e y ime a Da a( ) packe (which co esponds o a Subsc ibe ) a i es and i does no
ma ch o any p e iously ins an ia ed ee c ea ed by he same hos sending a Publishe
packe . In any case, we ha e o inse hem in hei espec i e Hash Table. Howe e ,
hei d awing ees look exac ly he same. Figu e 32 shows how bo h C7a’s ee and
C7b’s ee look like a e ins an ia ion.
Fig. 32: T ee d awing a e Ins an ia e phase o Cons ain 7.
E alua e: simila ly o how we ha e ins an ia ed he ees wo ks he E alua e phase.
This is also igge ed by a Publishe o a Subsc ibe packe . On he one hand, we
e alua e C7a when a new Publishe packe a i es and i al eady exis s i s co esponden
C7b’s ins an ia ion ee. On he o he hand, we will send C7b o e alua ion i a
Publishe packe a i es and ma ches o i s co esponden C7a’s ins an ia ion ee.
Figu e 33 illus a e he e alua ion ees o bo h C7a and C7b.

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
49
Fig. 33: T ee d awing a e E alua e phase o Cons ain 7.
Dele e: when a hos sends a Lea e Repo and i ma ches o a p e iously c ea ed
Cons ain 7’s ee we will bo h dele e he espec i e ee and i s e e ence in he Hash
Table.
5.4. CONSTRAINT 8: A Topic Key can only be published om a speci ic se o hos s.
Fo e e y Topic he e is a lis o legi ima e Publishe s, which a e he only ones allowed
o push da a abou ha Topic. As a esul , Cons ain 8 jus needs o check i a Da a(w)
message comes om one o hose legi ima e hos s. I migh seem ha his is a single
packe cons ain and, consequen ly, i should be e alua ed by he Pa se . Howe e , he e
is whe e we in oduce he concep o “Lea ning Mode” [52]. E e y o he cons ain I
ha e men ioned be o e is pa o he “Checking Mode”, bu ou Cons ain Engine also
possesses a “Lea ning Mode” which has been de eloped by my pa ne . This “Lea ning
Mode” allows ou Cons ain Engine o, as i s own name implies, o lea n om “ ac s”
[52] and include hem o ou engine. The e o e, when we ha e a new Publishe packe
we will include i o ou “ ac s”, le ing us know in he u u e ha such hos is a alid
Publishe . Hence, ou Cons ain Engine is able o upda e i sel and lea n om hose
upda es, dealing wi h cons ain s ha , as happens wi h Cons ain 8, migh appea o be
single packe cons ain s and, as a consequence, alida ed by he Pa se . Thus, as i does
no in ol e mo e han wo packe s o be e alua ed, his cons ain only has h ee ou o
ou ou phases.
Ins an ia e: whene e we a e in “Lea ning Mode” and we ecei e a message om a
hos wan ing o become pa o he Domain Pa icipan , we will ins an ia e a new
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
50
Cons ain 8’s ee. Like his, we will also inse i in i s espec i e Hash Table. Figu e
34 ep esen s Cons ain 8’s ee a e ins an ia ion.
Fig. 34: T ee d awing a e Ins an ia e phase o Cons ain 8.
E alua e: a e ha ing ins an ia ed ou ee o Cons ain 8, he ollowing incoming
Publishe packe s om ha hos in ha Domain will be sen o e alua ion, wi hou
going h ough a Bind phase. Also, no ice ha , as happened wi h Cons ain 5, we migh
ha e o e alua e Cons ain 8 wi hou ha ing p e iously ins an ia ed i s ee. In o he
wo ds, we ha e o check i e e y Publishe is us able, esul ing his in a iola ion o
Cons ain 8 i ha Publishe did no belong o a p e ious ins an ia ed ee. Figu e 35
shows he s a e o Cons ain 8’s ee a e e alua ion.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
51
Fig. 35: T ee d awing a e E alua e phase o Cons ain 8.
Dele e: as i happens wi h mos o he cons ain s, he Dele e phase akes place when
ha speci ic hos sends a Lea e Repo o he mul icas g oup. Consequen ly, we ha e
o upda e ou “ ac s” his ime apa om emo ing he ee and i s e e ence in he Hash
Table.
5.5. CONSTRAINT 11: Only a alid Publishe and a alid Subsc ibe can communica e.
Ins an ia e: he packe ha igge s he ins an ia ion o Cons ain 11 is a Da a(w)
packe sen by a hos ha is no i ying he ou e ha wan s o become a new Publishe .
As a consequence, when his ype o packe a i es we will s o e in he ee he packe ’s
espec i e IP and en i y key o, la e on, inse i in he co esponden Hash Table. This
will mean ha he hos is a alida ed Publishe . Also, he sea ch keys o ind ha ee in
he Hash Table will be he Topic Key and he Publishe IP, so hose a e he alues we
will ha e o look o in he Bind phase. Figu e 36 shows he s a e o he Cons ain 11
ee a e being ins an ia ed.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
52
Fig. 36: T ee d awing a e Ins an ia e phase o Cons ain 11.
Bind: he Bind phase akes place when a Da a( ) packe om a Subsc ibe a i es. As
men ioned be o e we will ha e o look o he Topic Key and he Publishe IP ha ha
Subsc ibe is willing o lis en o. Depending on he esul o ha sea ch we will ha e
wo di e en op ions: i we canno ind he ee i would be an e o , o i , on he
con a y i does, we would ha e o go o an in e media e phase called “Spli ” [52]. This
consis s on making an exac copy o he ins an ia ion ee, popula e he new alues and
upda e he new sea ch keys, because he e alua ion packe o Cons ain 11 will be
looking o he Publishe IP, Publishe po and Subsc ibe IP ins ead o he Topic Key
and Publishe IP. Consequen ly, we will also dele e he p e ious ins an ia ion ee.
Figu e 37 helps isualizing he s a e o he ee a e his phase.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
53
Fig. 37: T ee d awing a e Bind phase o Cons ain 11.
E alua e: when a DATA packe is sen om a Publishe o a Subsc ibe Cons ain 11
will go o e alua ion. Thus, we will sea ch o he Bind phase’s keys and s o e he
emaining Lea nodes. I a e inishing popula ing he ee all i s nodes a e alida ed,
we can assu e ha he DATA was communica ed om a legi ima e Publishe o an
au ho ized Subsc ibe . We can isually see ep esen ed he Cons ain 11 ee a e he
e alua ion phase akes place in Figu e 38.
Fig. 38: T ee d awing a e E alua e phase o Cons ain 11.

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
54
Dele e: he co esponding ee o Cons ain 11 will be des oyed when any o he
espec i e pa icipan s lea e he mul icas g oup. Resul an ly, ha ee will also be
emo ed om he Hash Table.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
55
6. E alua ion
Assuming ha all he ees co esponding o a same cons ain look alike could mean
ha keeping he ull ee s uc u e is no longe needed. In o he wo ds, i we know ha ,
o example, he hi d node o he Cons ain 7’s ee is always an “EQUAL” node, why
do we ha e o loop h ough i and check ha node’s alue e e y ime we e alua e
Cons ain 7? Besides, why do we ha e o keep all he Ope a o Nodes o e e y
ins ance o a cons ain ’s ee i we al eady know wha hei alues a e always going o
be? I should only be necessa y o sa e he lea es’ alues o e alua e he cons ain .
In ac , ha is Siam’s app oach: o assume ha he Ope a o Nodes o a ce ain
cons ain ne e change, so we do no ha e o keep hem and sa e memo y o hem
e e y ime we c ea e a new ee o ha cons ain . In addi ion, he is e alua ing he ees
by simply compa ing he lea alues wi h he ope a o s ha “we assume do no a y”,
wi hou looping h ough all he ee s uc u e. Howe e , we a e no comple ely su e
abou ha assump ion.
Thus, he pu pose o his esea ch is o compa e he esul s o my e alua ion o Siam’s,
es ing ou Cons ain Engine agains sample gene a ed a ic da a. As a esul , i he
assump ion ha we a e making is e en ually ue, we could es whe he ge ing id o
he Ope a o Nodes and a oid walking h ough he ees is ime cos ly signi ican .
The e o e, ocusing in my app oach, i consis s on keeping a copy o he ull ee
s uc u e e e y ime we c ea e a new ins ance o ha ee and walking h ough e e y
node o he ee when i is sen o e alua ion wi hou ob ia ing whe he he Ope a o
nodes a e always he same. So, in o de o e alua e he ees using my app oach I
c ea ed a s uc u e ha beha es simila ly o a s ack, shown in Figu e 39. I s basic
unc ioning consis s in pushing he Ope a o nodes o he s ack un il we ind an
Ope a o node whose child en a e Lea nodes. In ha case, we will e alua e i s child en
and upda e he Ope a o node’s alue wi h ha esul . Following, we will s a going
backwa ds in he s ack e alua ing he Ope a o nodes o he highe le els wi h he
esul s ob ained in he p e ious lowe le els o he ee.
Fig. 39: Snippe o he auxilia y s ack s uc u e.
In o de o make he e alua ion unc ion easie , I ha e de eloped h ee auxilia y
unc ions, which we can app ecia e in Figu es 40, 41 and 42. The i s o hem simply
checks whe he a ce ain node’s child en a e Lea nodes. Thanks o ha unc ion, I can
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
56
easily iden i y which nodes belong o he las Ope a o nodes le el and s op pushing he
ollowing nodes o he s ack. Secondly, he Compa eValues() unc ion ecei es wo
nodes and an logic ope a o as pa ame e s, and e u ns he esul o e alua ing hose wo
node’s alues agains ha pa ame e . This unc ion esul s qui e help ul o simpli y he
compa ison be ween he Lea nodes di e en ia ing be ween he se e al ypes o logic
ope a o s. Finally, he ge Resul s() me hod uses he p e ious unc ion o ga he he
esul o compa ing he alues o all o a ce ain node’s child en acco ding o ha
node’s ope a o , so I can compa e mo e han wo Lea nodes and ob ain a single esul
ha will be used by he highe le el Ope a o nodes o con inue e alua ing he ee.
Fig. 40: Snippe o he auxilia y unc ion HasLea Node().
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
57
Fig. 41: Snippe o he auxilia y unc ion Compa eValues().
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
64

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
65
9. Appendix
9.1. Use Manual
IMPORTANT: a Linux ope a i e sys em is needed o un he p og am.
9.1.1. Lea ning Mode
Go o he IDS/pa se Gene a o /F_Cons ain s olde and open he
Cons ain s.c ile wi h a ex edi o . Commen ou (o make su e ha i is
commen ed ou ) he “#de ine LEARN” line. Sa e he ile.
Fig. 44: Snippe o code o Lea ning Mode.
Open a new e minal and mo e o he IDS/pa se Gene a o /F_Cons ain s
di ec o y. Compile and link he p og am using make. I is possible han
make has no hing o be done a all.
Fig. 45: Using make command.
Run he p og am using he ollowing command:
./pcappa se LongS essTes .pcapng
Once you ha e un i , he p og am will ha e “lea ned” om ou Fac s
iles and will be eady o execu ion. I is possible ha some o he
cons ain s ha do no need o lea n om ac s o hei e alua ion we e
e alua ed. You should ge some hing like his:
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
66
Fig. 46: Running he p og am in Lea ning Mode.
9.1.2. Checking Mode
Go o he IDS/pa se Gene a o /F_Cons ain s olde and open he
Cons ain s.c ile wi h a ex edi o . Commen (o make su e ha i is
commen ed) he “#de ine LEARN” line. Sa e he ile.
Fig. 47: Snippe o code o Checking Mode.
Open a new e minal and mo e o he IDS/pa se Gene a o /F_Cons ain s
di ec o y. Compile and link he p og am using make. I is possible han
make has no hing o be done a all.
Fig. 45: Using make command.
Run he p og am using one o he wo ollowing op ions:
1. ./pcappa se LongS essTes .pcapng. This op ion is hough o
pe o mance es ing, so we do no speci y any ace ile whe e o w i e
he ou pu s.
Fig. 48: Running command o 2 a gumen s.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
67
2. ./pcappa se LongS essTes .pcapng pa se ace [ aceFileName].
This op ion, apa om showing he esul s o he execu ion in he
e minal, i also w i es he ou pu s o a ace ile. Once he p og am
has inished unning, you can check he ou pu s opening he aceFile
ile which has been c ea ed in he same di ec o y.
Fig. 49: Running command o 4 a gumen s.
In any case, you should ge he same esul s p in ed ou in he e minal,
which should be simila o hese:
Fig. 50: Running he p og am in Checking Mode.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
68
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
69
Re e ences
[
1
] And eea Bendo schi . “Cybe -A acks – T ends, Pa e ns and Secu i y
Coun e measu es”, 2015 (7 h In e na ional Con e ence on Financial C iminology 2015,
Wadham College, Ox o d, UK).
[
2
] Qijun Gu, Peng Liu. “Denial o Se ice A acks”, 2007.
[
3
] Biswana h Mukhe jee, L. Todd Hebe lein, Ka l N. Le i . “Ne wo k In usion
De ec ion”, 1994 (IEEE Ne wo k).
[
4
] Ped o Salguei o and Sal ado Ab eu. “Modeling Dis ibu ed Ne wo k A acks wi h
Cons ain s”, 2011.
[
5
] Siam Hasan, A. ElShakanki y, T. Dean and M. Zulke nine. “De ec ion o In usion
in P i a e Ne wo k by Sa is ying Ne wo k Cons ain s”, 2016.
[
6
] S ephen Deck and Hamed Khiabani. “Ex ac ing Files om Ne wo k Packe
Cap u es”, 2015.
[
7
] B. Fenne , H. Be, B. Habe man and H. Sandick. “In e ne G oup Managemen
P o ocol (IGMP) Mul icas Lis ene Disco e y (MLD)-Based Mul icas Fo wa ding
(IGMP/MLD P oxying)”, 2006. (h ps:// ools.ie .o g/h ml/ c4605)
[
8
] Ge a do Pa do-Cas ello e. “OMG Da a Dis ibu ion Se ice: Real-Time
Publish/Subsc ibe Becomes a S anda d”, 2005.
[
9
] G. Pa do-Cas ello e, B. Fa abaugh and R. Wa en. “An In oduc ion o DDS and
Da a-Cen ic Communica ions”, 2005.
[
10
] O. Eldow, P. Chauhan, P.Lalwani and M. B. Po da . “Compu e Ne wo k Secu i y
IDS Tools and Techniques (Sno /Su ica a).
[
11
] V. Paxson. “B o: A Sys em o De ec ing Ne wo k In ude s in Real- ime”, 1999.
[
12
] R. Fielding, J. Ge ys, J. Mogul, H. F ys yk, L. Masin e , P. Leach and T. Be ne s-
Lee. “Hype ex T ans e P o ocol—HTTP/1.1”, 1999.
(h ps:// ools.ie .o g/h ml/ c2616)
[
13
] “RFC 793: T ansmission Con ol P o ocol.” (h ps://www.ie .o g/ c/ c793. x )
[
14
] “Wi esha k.”
(h ps://www.wi esha k.o g/docs/wsug_h ml_chunked/Chap e In oduc ion.h ml)
[
15
] J. Pos el. “RFC 768 - Use Da ag am P o ocol”, 1980
(h ps:// ools.ie .o g/h ml/ c768)

P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
70
[
16
] C. Cowan, P. Wagle, C. Pu, S. Bea ie and J. Walpole. “Bu e O e lows: A acks
and De enses o he Vulne abili y o he Decade”.
[
17
] “The T ee Da a Model” – S an o d Uni e si y
(h p://in olab.s an o d.edu/~ullman/ ocs/ch05.pd ). Re ie ed: Ap il 8 h 2017.
[
18
] S. Ma quis, T. R. Dean and S. Knigh . “Packe Decoding Using Con ex Sensi i e
Pa sing”, in P oceedings o he 16 h IBM Cen e o Ad anced S udies Con e ence
(SCASCON 06), pp. 263–274, 2006.
[
19
] S. Ma quis, T. R. Dean and S. Knigh . “SCL: A Language o Secu i y Tes ing o
Ne wo k Applica ions”, in P oceedings o he 2005 con e ence o he Cen e o
Ad anced S udies on Collabo a i e Resea ch (CASCON 05), pp. 16–19, 2005.
[
20
] “ASN. 1” (h p://www.i u.in /en/ITU-T/asn1/Pages/in oduc ion.aspx) Re ie ed:
Ap il 10 h 2017.
[
21
] “XML 1.0 Speci ica ion”. Wo ld Wide Web Conso ium
(h ps://www.w3.o g/TR/REC-xml/) Re ie ed: Ap il 10 h 2017.
[
22
] R. P. And ew Cla k, Quanyan Zhu and T. Basa au ho . “An Impac awa e De ense
Agains S uxne Ame ican Con ol Con e ence, ACC, Washing on DC, USA”, 2013.
[
23
] A. Buecke , P. And eas and S. Paisley. “Unde s anding he IT Pe ime e Secu i y”,
IBM, 2008.
[
24
] D. E. Denning. “An In usion-De ec ion Model”. IEEE TRANSACTIONS ON
SOFTWARE ENGINEERING, 1987.
[
25
] I an Gul and M. Hussain. “Dis ibu id Cloud In usion De ec ion Model”, 2011.
[
26
] P. Mockape is. “RFC 1035: Domain Names – Implemen a ion and Speci ica ion”,
1987 (h ps://www.ie .o g/ c/ c1035. x )
[
27
] J. Pos el.“RFC 792: In e ne Con ol Message P o ocol”, 1981
(h ps:// ools.ie .o g/h ml/ c792)
[
28
] D. Hamma be g. “The Bes De enses Agains Ze o-day Exploi s o Va ious-sized
O ganiza ions”, 2014.
[
29
] V. Jyo hsna, VV. R. P asad and K. Muni a a P asad. “A e iew o anomaly based
in usión de ec ion sys ems”, 2011.
[
30
] D. Odden. “Rules . Cons ain s”, 2007.
[
31
] T. Ylonen and C. Lon ick. “The Secu e Shell (SSH) P o ocol A chi ec u e”, 2006.
(h ps://www.ie .o g/ c/ c4251. x )
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
71
[
32
] E. Resco la and A. Schi man. “The Secu e Hype ex T ans e P o ocol”, 1999.
(h ps:// ools.ie .o g/h ml/ c2660)
[
33
] B. Wippich. “De ec ing and P e en ing Unau ho ized Ou bound T a ic”, 2007.
[
34
] Rachelle L. Mille . “The OSI Model: An O e iew”, 2001.
[
35
] h p://sea chne wo king. ech a ge .com/de ini ion/deep-packe -inspec ion-DPI
Re ie ed: Ap il 11 h 2017.
[
36
] “RTI: NASA Human Explo a ion Tele obo is”. (h p://www.omg.o g/ho -
opics/documen s/dds/NASA_Tele obo ics.pd )
[
37
] D. C. Schmid , A. Co sa o and H. an’ Hag. “Add essing he Challenges o
Tac ical In o ma ion Managemen in Ne -Cen ic Sys ems Wi h DDS”, 2008.
[
38
] RTI: “Why is DDS he Righ Technology o he Indus ial In e ne ?”
(h p://omgwiki.o g/dds/si es/de aul / iles/RTILunchAdd essOMG2014 2.pd )
[
39
] RTI communi y – Da aW i e s/Publishe s and Da aReade s/Subsc ibe s
(h ps://communi y. i.com/s a ic/documen a ion/connex -
dds/5.2.3/doc/manuals/connex _dds/h ml_ iles/RTI_Connex DDS_Co eLib a ies_Use s
Manual/Con en /Use sManual/Da aW i e s_Publishe s_and_Da aReade s.h m)
[
40
] OMG – “The Real- ime Publish-Subsc ibe Wi e P o ocol DDS In e ope abili y
Wi e P o ocol Speci ica ion”, 2008.
[
41
] V. Veselý, O. Ryša ý and M. Š éda. “P o ocol Indepen en Mul icas in
OMNeT++”, 2014.
[
42
] B. Cain, S. Dee ing, I. Kou elas, B. Fenne and A. Thyaga ajan. “RFC 3376:
In e ne G oup Managemen P o ocol, Ve sion 3.” (h ps:// ools.ie .o g/h ml/ c3376)
[
43
] U. Goyal, G. Bha i and P. Singh. “A No el F amewo k o Mi iga ing DDoS
A acks”, 2013.
[
44
] P ism ech – OpenSplice DDS.
(h p://www.p ism ech.com/si es/de aul / iles/documen s/OpenSplice_DDS_ATC_AT
M_O e iew.pd )
[
45
] R. A. Sahne adn K. S. T i edi (IEEE). “Pe o mance and Reliabili y Analysis
Using Di ec ed Acyclic G aphs”, 1987.
[
46
] Da id G. Sulli an (Ha a d Ex ension School). “Bina y T ees and Hu man
Encoding Bina y Sea ch T ees”, 2012.
[
47
] C. T. Sil a, J. S. B. Mi chell and P. L. Williams. “An Ex ac In e ac i e Time
Visibili y O de ing Algo i hm o Polyhed al Cell Complexes”.
P i a e Ne wo ks In usion De ec ion Sys em by Sa is ying Ne wo k Cons ain s
72
[
48
] Memcpy(3) Linux P og amme ’s Manual. (h p://man7.o g/linux/man-
pages/man3/memcpy.3.h ml) Re ie ed: Ap il 13 h 2017.
[
49
] J. T iple , P. E. McKenney and J. Walpole. “Resizable, Scalable, Concu en Hash
Tables”.
[
50
] N. CANADA. “A Canada: Media – he Canadian Au oma ed Ai T a ic Sys em”
(h p://www.na canada.ca/EN/media/Pages/publica ionsco po a e-di ec - ou e-s o y-
1.aspx.)
[
51
] G. Csmak. “Eu oscope – Powe o Con ol” (h p://www.eu oscope.hu.)
[52] Siam Hasan and T. R. Dean. “A cons ain -based IDS”. (Pending o e ision o
publica ion)