1 Introduction
2 Related works
2.1 SIP-based VoIP
2.2 Network attacks of VoIP
2.3 Previous work
3 Proposed scheme and system
3.1 Statistics-based VoIP DoS detection
Role | Factor | Description |
---|---|---|
Grouping and count condition | src_ip | source IP |
dst_ip | destination IP | |
from | Caller URI | |
to | Callee URI | |
method | Request Method | |
status_code | Response Code | |
call_id | Call Identifier | |
direction | Inbound/Outbound | |
Interval of detection | interval | DoS detection interval |
Threshold | threshold | Threshold for DoS detection (learned by study function) |
3.2 Call behavior-based SPAM detection
-
Call Recipient (CR)1.Collecting info from most recent 30 (N) calls of each caller2.Acquiring call recipient info3.Exclusion of duplicated call recipient (Core Operation)4.Deriving the number of call recipients (CallRecipientNum)5.Deriving call recipient number Rate (CallRecipientRate)$$ Call\;\mathrm{Re} cipien{t}_{Rate}=\frac{ Call\;\mathrm{Re} cipien{t}_{Num}}{N} $$(1)
-
Call Duration (CD)1.Collecting info from most recent 30 (N) calls of each caller2.Acquiring call duration info (Call End Time - Call Start)3.Excluding calls having longer Call Duration than Threshold (Core Operation)4.Deriving the number of short length Calls (CallDurationNumShort)5.Deriving Call Duration Rate (CallDurationRate)$$ CallDuratio{n}_{Rate}=\frac{ CallDuratio{n}_{Num\_ Short}}{N} $$(2)
-
Call Rejection Rate (CRR)1.Collecting info from most recent 30 (N) calls of each caller2.Acquiring call rejection info3.Counting corresponding Caller Rejections (CallRejNum)4.Deriving normal distribution of total caller call rejection count (using CR Mean and CR Std. Dev.)5.Deriving the position of corresponding caller call rejection count (CallRejNum) over the accumulated normal distribution.$$ {\mathrm{CallRej}\mathrm{ection}}_{Rate}=\frac{1}{\sqrt{2\pi }{\mathrm{CallRej}}_{StdDev}} \exp \left(-\frac{1}{2{{\mathrm{CallRej}}_{StdDev}}^2}{\left({\mathrm{CallRej}}_{Num}-{\mathrm{CallRej}}_{Mean}\right)}^2\right) $$(3)
-
Inter-Call Time (ICT)1.Collecting info from most recent 30 (N) calls of each caller2.Acquiring Inter-Call Time info (Current Call Start Time - Previous Call End Time)3.Deriving average of Inter-Call Time (ICTAVG) (Core Operation)4.Deriving normal distribution of total caller Inter-Call Time (Using ICTMean and ICTStdDev)5.Deriving the position of corresponding caller ratio over Inter-Call Time Average (ICTAVG) normal distribution$$ {\mathrm{InterCallTime}}_{Rate}=\frac{1}{\sqrt{2\pi }{\mathrm{ICT}}_{StdDev}} \exp \left(-\frac{1}{2{{\mathrm{ICT}}_{StdDev}}^2}{\left({\mathrm{ICT}}_{AVG}-{\mathrm{ICT}}_{Mean}\right)}^2\right) $$(4)
-
Call Rate (CRa)1.Collecting info from most recent 30 (N) calls of each caller2.Deriving the range of time of corresponding caller’s recent 100 calls3.Deriving average of CallRate (CRAVG) (Core Operation)5.Deriving the position of corresponding caller CallRate Average (CRAVG) over the normal distribution$$ \mathrm{CallRate}=\frac{1}{\sqrt{2\pi }{\mathrm{CR}}_{StdDev}} \exp \left(-\frac{1}{2C{R_{StdDev}}^2}{\left(C{R}_{AVG}-C{R}_{Mean}\right)}^2\right) $$(5)×
3.3 System implementation
4 Evaluation
4.1 Experimental testbed
Step | Destination | To | Method | Pkts/s |
---|---|---|---|---|
1 | Proxy server | 6711(fix) | INVITE | 100 |
2 | Proxy server | 6711(fix) | INVITE | 200 |
3 | Proxy server | 6711(fix) | INVITE | 300 |
4 | Proxy server | 6711(fix) | INVITE | 400 |
5 | Proxy server | 6711(fix) | INVITE | 500 |
4.2 Experimental results
INVITE pkts/s | TAC | Detection | Block | Detection rate | Block rate |
---|---|---|---|---|---|
100 | 6,734 | 6,461 | 6,341 | 95.95 % | 94.16 % |
200 | 13,391 | 12,889 | 12,769 | 96.25 % | 95.36 % |
300 | 20,022 | 19,295 | 19,175 | 96.37 % | 95.77 % |
400 | 26,676 | 26,155 | 26,035 | 98.05 % | 97.60 % |
500 | 33,234 | 32,073 | 31,953 | 96.51 % | 96.15 % |
INVITE ptks/s | TAC | Detection | Block | Detection rate | Block rate |
---|---|---|---|---|---|
100 | 6,734 | 6,734 | 6,614 | 100.00 % | 98.22 % |
200 | 13,391 | 13,391 | 13,271 | 100.00 % | 99.10 % |
300 | 20,022 | 20,022 | 19,902 | 100.00 % | 99.40 % |
400 | 26,676 | 26,676 | 26,556 | 100.00 % | 99.55 % |
500 | 33,234 | 33,234 | 33,114 | 100.00 % | 99.64 % |
Entire calls | False positive | False positive rate |
---|---|---|
3,150 | 5 | 0.16 % |