Denial of Service Detection on SIP-based VoIP

Page 1

SIP ๊ธฐ๋ฐ˜ VoIP ๋‹จ๋ง์—์„œ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ *์ •์œคํ˜ธ, *์–‘๊ด‘๋ชจ, **๋ฐ•์žฌ์šฐ, *๊น€๊ธฐ์ฒœ *๊ฑด๊ตญ๋Œ€ํ•™๊ต, **KTใˆœ *jyh07@konkuk.ac.kr, *eagle@konkuk.ac.kr, **pjw@kt.com, *kckim@konkuk.ac.kr

Denial of Service Detection on SIP-based VoIP Client *Yun-Ho Jung, *Kwang-Mo Yang, **Jae-Woo Park, *Kee-Cheon Kim *Konkuk Univ., **KT Cooperation.

์š”

์•ฝ

์ธํ„ฐ๋„ท IP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ์ „ํ™” ์„œ๋น„์Šค์ธ VoIP ๋Š” IP ๋ง ๊ฒฝ์œ ๋ฅผ ํ†ตํ•œ ์ €๋ ดํ•œ ํ†ต์‹  ๋น„์šฉ ๋ฐ ๊ฑฐ๋ฆฌ์— ๋ฌด๊ด€ํ•œ ์š”๊ธˆ์ œ ์ ์šฉ, IP ๋ง์„ ํ†ตํ•œ ๋‹ค์–‘ํ•œ ๋ถ€๊ฐ€์„œ๋น„์Šค ์ œ๊ณต์ด๋ผ๋Š” ๋งŽ์€ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๊ณต์œ ๋˜๋Š” ์ธํ„ฐ๋„ท ๋ฐฉ์„ ์ด์šฉํ•˜๋Š” ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒ๋˜๋Š” ์ˆ˜ ๋งŽ์€ ๋ณด์•ˆ ์œ„ํ˜‘์œผ๋กœ ์‹œ์žฅ์ด ์œ„์ถ•๋˜๋Š” ํ˜„์ƒ์„ ๋ณด์ด๊ณ  ์žˆ๋‹ค. ๊ธฐ์กด์— ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋งŽ์€ ํ‘œ์ค€๋“ค์ด ์ˆ˜๋ฆฝ๋˜๊ณ  ์žˆ๋Š” ์‹ค์ •์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜๋“ค์€ ์ด๋ฏธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์—…์ž ์ž…์žฅ์—์„œ ์ฑ„์šฉํ•˜๊ธฐ ์–ด๋ ค์šด ํ˜ธํ™˜์„ฑ์˜ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์‹ค์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” SIP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜๋Š” VoIP ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ์น˜๋ช…์ ์ธ ๋ฌธ์ œ์ ์˜ ํ•˜๋‚˜๋กœ ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” SIP ๊ธฐ๋ฐ˜์˜ ์„œ๋น„์Šค ๊ฑฐ๋ถ€๊ณต๊ฒฉ์„ ํƒ์ง€ํ•˜์—ฌ ์ด๋กœ ์ธํ•œ VoIP ๋‹จ๋ง์˜ ์„ฑ๋Šฅ ๊ฐ์†Œ ๋ฐ ์˜ค์ž‘๋™์„ ์‚ฌ์ „์— ๋ฐฉ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ๋‹ค.

1. ์„œ๋ก  ์ „ํ™”๋ง์—์„œ์˜ ๋ณด์•ˆ ์œ„ํ˜‘๋“ค์€ VoIP[8]๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ์ด์ „๊นŒ์ง€๋Š” ํฐ ๋ฌธ์ œ์ ์œผ๋กœ ๋ถ€๊ฐ ๋˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ ์ด์œ ๋Š” PSTN(Public Switched Telephone Network)๊ณผ ๊ฐ™์€ ๊ณต์ค‘ ์ „ํ™”๋ง์€ ๋„คํŠธ์›Œํฌ ์ž์ฒด๊ฐ€ ํ์‡„์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋…๋ฆฝ๋˜์–ด ์žˆ๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต๊ฒฉํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, PSTN ๊ณผ ๊ฐ™์€ ๊ธฐ์กด ์ „ํ™”๋ง์€ ์Œ์„ฑ์˜ ์ „๋‹ฌ๋งŒ์„ ๋ชฉ์ ์œผ๋กœ ๊ตฌ์ถ•๋œ Closed ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์— ๋Œ€ํ•œ ์ง‘์ค‘์ด ํฌ๊ฒŒ ์š”๊ตฌ๋˜์ง€๋Š” ์•Š์•˜๋‹ค. ๋ฐ˜๋ฉด์— VoIP ์‹œ์Šคํ…œ์€ ๊ณต์œ ๋œ ์ธํ„ฐ๋„ท์ด๋ผ๋Š” ๊ณต๊ฐ„์„ ์ด์šฉํ•˜์—ฌ ์Œ์„ฑ์„ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ๋ถ€ํ„ฐ ๋ณด์•ˆ์ด ํฐ ์ด์Šˆ๋กœ ๋ถ€๊ฐ๋˜์—ˆ๋‹ค[1]. ํŠนํžˆ ์ตœ๊ทผ VoIP ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋Š” SIP(Session Initiation Protocol)[2]์˜ ๊ฒฝ์šฐ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๋“ค์— ๋น„ํ•ด ๊ณต๊ฒฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. VoIP ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋Š” ์ˆ˜ ๋งŽ์€ ๋ฐฉ์‹์ด ์กด์žฌํ•˜๋Š”๋ฐ ๊ทธ ์ค‘์—์„œ๋„ ์‚ฌ์—…์ž์—๊ฒŒ ๊ฐ€์žฅ ์น˜๋ช…์ ์ธ ๊ณต๊ฒฉ์€ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ(Denial Of Service)์ด๋‹ค. ์„œ๋น„์Šค ๊ฑฐ๋ถ€๊ณต๊ฒฉ์€ VoIP ๋‹จ๋ง๊ธฐ์˜ ์˜ค์ž‘๋™์„ ์œ ๋ฐœํ•˜๊ฑฐ๋‚˜ ์•„์˜ˆ ๋‹จ๋ง๊ธฐ ์ž์ฒด๋ฅผ ๋ฌด๋ ฅํ™” ์‹œ์ผœ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํ’ˆ์งˆ์„ ํฌ๊ฒŒ ๊ฐ์†Œ์‹œํ‚จ๋‹ค. ํŠนํžˆ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ ์ค‘์—์„œ๋„ SIP ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ๋“ค์€ ๋‹จ๋ง๊ธฐ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ณต๊ฒฉ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ๋น„๊ฐ€ ์–ด๋ ต๊ณ , ์น˜๋ช…์ ์ธ ์„ฑ๋Šฅ ๊ฐ์†Œ๋ฅผ ์œ ๋ฐœํ•œ๋‹ค. VoIP ๋‹จ๋ง์— ์‹œํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ ์ค‘์— ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ 4 ๊ณ„์ธต ๊ณต๊ฒฉ์ธ UDP ํ”Œ๋Ÿฌ๋”ฉ๊ณผ 5 ๊ณ„์ธต ๊ณต๊ฒฉ์ธ RTP[10] ํ”Œ๋Ÿฌ๋”ฉ, SIP[1] ํ”Œ๋Ÿฌ๋”ฉ์ด ์กด์žฌํ•œ๋‹ค. ์ด์ค‘์—์„œ๋„ SIP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ UDP ํ”Œ๋Ÿฌ๋”ฉ ๋ฐ RTP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋”์šฑ ์น˜๋ช…์ ์ธ ์„ฑ๋Šฅ ๊ฐ์†Œ๋ฅผ ์œ ๋ฐœํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ณธ ๋…ผ๋ฌธ์—์„œ ์‹คํ—˜์„ ํ†ตํ•ด ํ™•์ธํ•˜์˜€๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์‹ค์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” SIP ๊ธฐ๋ฐ˜์˜

VoIP ์‹œ์Šคํ…œ์—์„œ ๋ฐฉ๋น„๊ฐ€ ์–ด๋ ต๊ณ , ์น˜๋ช…์ ์ธ ๋ณด์•ˆ ์œ„ํ˜‘์ค‘์˜ ํ•˜๋‚˜์ธ Flooding ๊ณต๊ฒฉ์„ ์‚ฌ์ „์— ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์„ ์—ฐ๊ตฌํ•˜์˜€๋‹ค.

2. Background 2.1 SIP-Based IP Telephony SIP (Session Initiation Protocol)[1]๋Š” ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ™”์ƒ ํšŒ์˜๋‚˜ Internet telephony ๋“ฑ์˜ ํ˜ธ ์„ค์ •์ด๋‚˜ ํ•ด์ œ, ์ˆ˜์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ๊ณ„์ธต์˜ ์ œ์–ด ํ”„๋กœํ† ์ฝœ์ด๋‹ค. IP ๋ง์„ ํ†ตํ•ด ์Œ์„ฑ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ ค๋Š” VoIP ๊ธฐ์ˆ ์˜ ๋ฐœ๋‹ฌ์— ๋”ฐ๋ผ ์ด์— ํ•„์š”ํ•œ signaling ๊ธฐ์ˆ ์ด ๋ฐœ์ „๋˜์—ˆ๋Š”๋ฐ, SIP ๋Š” ์ด๋ฅผ ์œ„ํ•œ IETF(internet engineering task force)์—์„œ ํ‘œ์ค€์œผ๋กœ ์ œ์ •๋˜์—ˆ๋‹ค[3]. VoIP ์—์„œ SIP ๋Š” ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ†ต์‹ ์—ฐ๊ฒฐ์˜ ์„ค์ •๊ณผ ํ•ด์ œ๋ฅผ ์œ„ํ•ด user location, user capability, user capability, call setup, call handling ์˜ ๋‹ค์„ฏ ๊ฐ€์ง€ ์š”์†Œ๋ฅผ ํ†ตํ•ด ๋‹จ๋ง์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ํ†ต์‹ ํ•  ๋ฏธ๋””์–ด์™€ ๋ฏธ๋””์–ด ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ์ •ํ•˜๊ณ  ํ˜ธ ์„ค์ •๊ณผ ํ•ด์ œ, ์ „์†ก ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

2.2 SIP ํŠน์ง• SIP ๋Š” IETF ์˜ Toolkit ๊ฐœ๋…์— ์ถฉ์‹คํžˆ ๋ถ€ํ•ฉ๋˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋“ค์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋กœ์„œ SAP(Session Advertise Protocol)[9]๋กœ ์„ธ์…˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ด€์‹ฌ์žˆ๋Š” ๊ทธ๋ฃน์— ์ œ๊ณตํ•˜๊ณ  SIP ๋ฅผ ํ†ตํ•ด ๋Œ€ํ™”๋ฅผ ์›ํ•˜๋Š” ์ƒ๋Œ€๊ฐ€ ์„ธ์…˜์— ์ฐธ๊ฐ€ํ•˜๋„๋ก INVITE ํ•˜๋ฉฐ SDP(Session Description Protocol)๋ฅผ ํ†ตํ•ด ์—ด๊ณ ์ž ํ•˜๋Š” media type ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ๋˜ํ•œ SDP ์— ๊ธฐ์ˆ ๋œ RTP ๋“ฑ์„ ์ด์šฉํ•ด์„œ ์‹ค์‹œ๊ฐ„ Multimedia ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. SIP ๋Š” ์‘์šฉ๊ณ„์ธต protocol ๋กœ์„œ TCP ์™€ UDP ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ request / response ๊ตฌ์กฐ์ด๋‹ค. ๋˜ํ•œ


HTTP ์™€ SMTP ์˜ syntax ์™€ semantics ์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ HTTP ์™€ ์œ ์‚ฌํ•œ transaction ์„ ํ•œ๋‹ค. text-based ์ด๊ธฐ ๋•Œ๋ฌธ์— H. 323[9]์— ๋น„ํ•ด ๊ตฌํ˜„์ด ์šฉ์ดํ•œ ์žฅ์ ๋„ ์žˆ๋‹ค. SIP ๋Š” ๊ฐ ์‚ฌ์šฉ์ž๋“ค์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด e-mail address ์™€ ๋น„์Šทํ•œ SIP URL ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋Š” IP ์ฃผ์†Œ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

2.3 SIP Call Setup Flow and Weakness

RTP Flooding ๊ณต๊ฒฉ์˜ ๊ฒฝ์šฐ RTP ๋ฏธ๋””์–ด ์„ธ์…˜์ด ์ˆ˜๋ฆฝ๋œ ์ดํ›„ ๊ตฌ์ถ•๋œ RTP ์„ธ์…˜์œผ๋กœ ๋ฌด์˜๋ฏธํ•œ RTP ํŒจํ‚ท์„ ํ”Œ๋Ÿฌ๋”ฉ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ณต๊ฒฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. RTP Flooding ๊ณต๊ฒฉ์— VoIP ๋‹จ๋ง๊ธฐ๊ฐ€ ๋…ธ์ถœ๋  ๊ฒฝ์šฐ ์‹ค์ œ ๊ณต๊ฒฉํ•˜๋Š” RTP ํŒจํ‚ท์ด ํ†ตํ™” ๋‚ด์šฉ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€๋Š” ์•Š์ง€๋งŒ, ํ†ตํ™”์˜ ํ’ˆ์งˆ์„ ์ €ํ•˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

3. ์œ„ํ˜‘ ๋ชจ๋ธ ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ์ƒ์šฉ VoIP ์„œ๋น„์Šค๊ฐ€ ํ–ฅํ›„ ๋…ธ์ถœ ๋  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๋”ฉ ์œ„ํ˜‘ ๋ชจ๋ธ์„ ๊ธฐ์ˆ ํ•œ๋‹ค. ํ”Œ๋Ÿฌ๋”ฉ ์œ„ํ˜‘ ๋ชจ๋ธ์€ ์ „์†ก ๊ณ„์ธต ๋ชจ๋ธ๊ณผ ์‘์šฉ ๊ณ„์ธต ๋ชจ๋ธ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

3.1 Transport Layer Floods ์ „์†ก ๊ณ„์ธต์—์„œ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ TCP, SCTP ํ˜น์€ UDP ๋ ˆ๋ฒจ์—์„œ ์ด๋ฃจ์–ด ์ง„๋‹ค. ์ด๋Ÿฌํ•œ ์ „์†ก๊ณ„์ธต์—์„œ์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ ์‘์šฉ๊ณ„์ธต์—์„œ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์— ์ƒ๊ด€์—†์ด VoIP ๋‹จ๋ง์˜ ์—ด๋ฆฐ ํฌํŠธ๋กœ DoS(Denial Of Service) ๊ณต๊ฒฉ์„ ํ•˜์—ฌ ๋‹จ๋ง๊ธฐ์˜ ์ฝœ ์…‹์—…์— ๋Œ€ํ•œ ์ง€์—ฐ์‹œ๊ฐ„์„ ์ฆ๊ฐ€์‹œํ‚ค๊ฑฐ๋‚˜, ํ†ตํ™” ํ’ˆ์งˆ์„ ์ €ํ•˜์‹œํ‚ค๋Š” ๋ชฉ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ brute-force UDP flooding ๊ณต๊ฒฉ์ด ์žˆ๋‹ค.

3.1.1 UDP Flooding [7]

๊ทธ๋ฆผ 1 SIP Call Setup Flow

...

SIP ์ฝœ ์…‹์—… ์ดˆ๊ธฐํ™”๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Invite ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์‹œ์ž‘๋œ๋‹ค. ์ตœ์ดˆ์— VoIP ๋‹จ๋ง๊ธฐ 1 ์€ INVITE request ๋ฅผ Proxy server ๋กœ ๋ณด๋‚ธ๋‹ค. Proxy server ๋Š” location server ์— user ์˜ ์œ„์น˜๋ฅผ ์š”์ฒญํ•˜๊ณ , Location server ๋กœ๋ถ€ํ„ฐ ์ข€๋” ์ •ํ™•ํ•œ user ์˜ ์œ„์น˜์ •๋ณด๋ฅผ ํš๋“ํ•œ๋‹ค. Proxy server ๋Š” location server ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ƒˆ๋กœ์šด user ์˜ ์ฃผ์†Œ๋กœ SIP INVITE request ๋ฅผ ์ง์ ‘ ๋ณด๋‚ด๊ฒŒ ๋˜๊ณ , ์ฐฉ์‹  VoIP ๋‹จ๋ง๊ธฐ 2 ๋Š” Proxy server ๋กœ response ๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋•Œ Proxy server ๋Š” response ๋ฅผ ์›๋ž˜ ๋ฐœ์‹ ์ž client ๋กœ call ์„ฑ๊ณต์— ๋Œ€ํ•œ response ๋ฅผ ๋Œ๋ ค ๋ณด๋‚ธ๋‹ค. VoIP ๋‹จ๋ง๊ธฐ 1 ์€ response ๋ฅผ ์ œ๋Œ€๋กœ ์ˆ˜์‹ ํ–ˆ์Œ์„ ACK Request ๋ฅผ ๋ณด๋‚ด์„œ ์•Œ๋ฆฌ๊ฒŒ ๋˜๊ณ , ACK ๋ฅผ ๋ฐ›์€ VoIP ๋‹จ๋ง๊ธฐ 2 ์™€ ACK ๋ฅผ ๋ณด๋‚ธ VoIP ๋‹จ๋ง๊ธฐ 1 ์‚ฌ์ด์— RTP ์„ธ์…˜์ด ์ˆ˜๋ฆฝ๋˜์–ด ํ†ตํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ • ์†์—์„œ ๋‹จ๋ง๊ธฐ๋Š” SIP Flooding ๊ณต๊ฒฉ๊ณผ RTP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋œ๋‹ค. ๋ชจ๋“  ๋‹จ๋ง์„ ์ดˆ๊ธฐํ™” ๋œ ํ›„ Invite ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋Œ€๊ธฐ ์ƒํƒœ์— ๋น ์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์—ฌ๊ธฐ์—์„œ ๊ฐ€์žฅ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ํ˜„์žฌ์˜ ๊ตญ๋‚ด VoIP ์‹œ์Šคํ…œ์—์„œ๋Š” Invite ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ์„ ์ž…์ฆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์ด๋‹ค, ๋ˆ„๊ตฌ๋ผ๋„ ์‰ฝ๊ฒŒ Inviteflood ๋ผ๋Š” Tool ์„ ์ธํ„ฐ๋„ท์—์„œ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ด ํˆด์„ ์ด์šฉํ•˜์—ฌ Invite ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ์ถ•, ๋‹จ๋ง๋กœ ์ „์†ก ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ Invite Flooding ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋œ ๋‹จ๋ง๊ธฐ๋“ค์€ ์˜ค์ž‘๋™์„ ์ผ์œผํ‚ค๊ณ , ๊ณต๊ฒฉํ•˜๋Š” ํŒจํ‚ท์˜ ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ ํ•  ์‹œ ๋‹จ๋ง๊ธฐ ์‹œ์Šคํ…œ์ด ๋‹ค์šด๋˜๋Š” ํ˜„์ƒ์„ ๊ฐ€์ง„๋‹ค.

UDP Flooding ๊ณต๊ฒฉ์€ VoIP ๋‹จ๋ง์˜ ๊ฐœ๋ฐฉ๋œ ํฌํŠธ๋กœ ์‹œ์Šคํ…œ ์ž์›์„ ๊ณ ๊ฐˆ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฌด์˜๋ฏธํ•œ ๋”๋ฏธ ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๊ณต๊ฒฉ์œผ๋กœ ๊ณต๊ฒฉ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. โ‘  ๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์ „์— VoIP ๋‹จ๋ง์˜ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ ํฌํŠธ๋ฅผ ํ™•์ธํ•œ๋‹ค. โ‘ก ํ™•์ธ๋œ VoIP ๋‹จ๋ง์˜ ์—ด๋ ค ์žˆ๋Š” ํฌํŠธ๋กœ ๋‹ค๋Ÿ‰์˜ Dummy UDP ํŒจํ‚ท์„ ์ „์†กํ•œ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ 5060 ํฌํŠธ).

๊ทธ๋ฆผ 2 UDP Flooding ๊ณต๊ฒฉ ๊ตฌ์ƒ๋„

3.2 Application Layer Floods RTP ๋ฐ SIP ๋Š” ์‹ค์ œ๋กœ๋Š” 5 ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” VoIP ๊ฐ€ TCP/IP ์ƒ์—์„œ ๋™์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‘์šฉ๊ณ„์ธต ๊ณต๊ฒฉ์œผ๋กœ ์ •์˜ ํ•˜์˜€๋‹ค. ์ด๋Ÿฌํ•œ ์‘์šฉ๊ณ„์ธต์ƒ์—์„œ์˜ ๊ณต๊ฒฉ์€ ํฌ๊ฒŒ SIP ๊ธฐ๋ฐ˜ ๊ณต๊ฒฉ ๋ฐ RTP ๊ธฐ๋ฐ˜ ๊ณต๊ฒฉ์œผ๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค[4]. SIP ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ ์ˆ˜๋งŽ์€ SIP ํŠธ๋ž˜ํ”ฝ์„ ๋‹จ๋ง๋กœ ์ „์†กํ•˜์—ฌ ๋‹จ๋ง๊ธฐ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณ ๊ฐˆ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ฃผ๋กœ SIP ์˜ Invite ๋ฉ”์‹œ์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ „์†ก๊ณ„์ธต์—์„œ์˜ ๊ณต๊ฒฉ๊ณผ๋Š” ์ฐจ์ด๋Š” ์ „์†ก๊ณ„์ธต ๊ณต๊ฒฉ์ด ์‘์šฉ๊ณ„์ธต์—์„œ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ฐ˜๋ฉด, ์‘์šฉ๊ณ„์ธต ๊ณต๊ฒฉ์€ ์‘์šฉ๊ณ„์ธต์—์„œ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—


์„ฑ๋Šฅ ๊ฐ์†Œ ์ •๋„๊ฐ€ ํฌ๊ณ , ์‘์šฉ๊ณ„์ธต์—์„œ ๋‹จ๋ง์˜ ์˜ค์ž‘๋™์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. VoIP ์˜ ๊ฒฝ์šฐ PSTN ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ IP ํฐ์ด ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ Call Request ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. RTP ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์€ RTP ์„ธ์…˜์ด ๊ตฌ์ถ•๋œ ๋‹จ๋ง๊ธฐ์—๊ฒŒ RTP ํŒจํ‚ท์„ ํ”Œ๋Ÿฌ๋”ฉ ํ•˜๋Š” ๊ณต๊ฒฉ์œผ๋กœ ์‚ฌ์ „์— ์ˆ˜๋ฆฝ๋  RTP ์„ธ์…˜์— ๋Œ€ํ•œ ํฌํŠธ ์ •๋ณด๋ฅผ ๊ณต๊ฒฉ์ž๊ฐ€ ์ทจ๋“ํ•จ์œผ๋กœ์จ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. RTP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋˜๋ฉด ๋‹จ๋ง์˜ ํ†ตํ™” ํ’ˆ์งˆ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ์ œ์•ˆํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Flooding ๊ณผ ๊ฐ™์€ ์œ ํ˜•์˜ ์‹œ์Šคํ…œ ์ž์›์„ ๊ณ ๊ฐˆ ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” DoS ๊ณต๊ฒฉ๋“ค์€ ์‚ฌ์ „์— ํƒ์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด, ํ•ด๋‹น ํƒ์ง€๋œ ๊ณต๊ฒฉ์ง€์— ๋Œ€ํ•ด ํ•„ํ„ฐ๋ง ๊ธฐ์ˆ ์„ ์ ์šฉ์‹œ์ผœ ๋ฐฉ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค[5][6]. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” Flooding ๊ณต๊ฒฉ์„ ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์— ์ง‘์ค‘ํ•œ๋‹ค. ํŠนํžˆ ๊ฐ์ข… VoIP ๋‹จ๋ง์„ ํƒ€๊นƒ์œผ๋กœ ํ•˜๋Š” ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ๋“ค ์ค‘ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” SIP ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์„ ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•œ๋‹ค.

4.1 ์ž„๊ณ„๊ฐ’ ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ

3.2.1 SIP Flooding [7] SIP ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€๋Ÿ‰์œผ๋กœ ๋ณด๋‚ด์–ด VoIP ์‚ฌ์šฉ์ž๋‚˜ ์‚ฌ์—…์ž๊ฐ€ ์ •์ƒ์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉ ํ˜น์€ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ์ผ๋ฐ˜ ๋„คํŠธ์›Œํฌ์—์„œ DoS(Denial of Service)์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ๊ฒฐ ์š”์ฒญ, ์ฆ‰ INVITE ๋ฉ”์‹œ์ง€ Flooding ์ธ ๊ฒฝ์šฐ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ ํŒจํ‚ท์ด ์‘์šฉ ๊ณ„์ธต๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ€ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์› ๊ณ ๊ฐˆ์˜ ์ •๋„๊ฐ€ ์‹ฌ๊ฐํ•˜๊ณ , ๋‹จ๋ง๊ธฐ์˜ ์˜ค์ž‘๋™์„ ์œ ๋ฐœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์‹ฌ๊ฐ์„ฑ์ด ๋†’๋‹ค. ํŠนํžˆ Invite Flooding ๊ฐ™์€ ๊ฒฝ์šฐ ๋‹จ๋ง๊ธฐ์˜ ์‘๋‹ต์ด ์š”๊ตฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ๊ณ ๊ฐˆ์ด ๋”์šฑ ์‹ฌ๊ฐํ•˜๋‹ค. ๊ณต๊ฒฉ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. โ‘  ๊ณต๊ฒฉ์ž๋Š” ์งง์€ ์‹œ๊ฐ„๋‚ด์— ๋‹ค์ˆ˜์˜ ์กฐ์ž‘๋œ ์ธ์ปค๋ฐ ์ฝœ(Incoming call) ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค. โ‘ก ๊ณต๊ฒฉ๋Œ€์ƒ์ธ VoIP ๋‹จ๋ง๊ธฐ๋Š” CPU ์ž์›์„ ๋งŽ์ด ์†Œ๋น„์‹œํ‚ค๋Š” ๋‹ค์ˆ˜์˜ ์ธ์ปค๋ฐ ์ฝœ(Incoming call)์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

SIP ๊ธฐ๋ฐ˜์˜ VoIP ๋‹จ๋ง์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ž„๊ณ„๊ฐ’ ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ์„ ์ œ์•ˆํ•œ๋‹ค. ์ž„๊ณ„๊ฐ’ ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ์€ ๊ฐ ๋‹จ๋ง์— ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•œ SIP ์‹œ๊ทธ๋„ ํŒจํ‚ท์— ๋Œ€ํ•œ ์ž„๊ณ„์น˜๋ฅผ ์„ค์ •ํ•˜๊ณ , ํ•ด๋‹น ์ž„๊ณ„์น˜๋ฅผ ๋„˜์–ด์„œ๋Š” SIP ํŠธ๋ž˜ํ”ฝ์ด ๋‹จ๋ง๋กœ ์ „์†ก ๋  ๊ฒฝ์šฐ ์ด๋ฅผ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ, ์ด๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ ์•„์ด๋””์–ด๋กœ ํ•œ๋‹ค.

... ๊ทธ๋ฆผ 4 Flooding Detection Sequence Diagram ๊ทธ๋ฆผ 3 SIP Flooding ๊ณต๊ฒฉ ๊ตฌ์ƒ๋„ 3.2.2 RTP Flooding [7] ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆผ์„ ๋Œ€๋Ÿ‰์œผ๋กœ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ „์†ก์‹œ์ผœ ์ •์ƒ์ ์ธ ์„œ๋น„์Šค ์ด์šฉ์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ณต๊ฒฉ์œผ๋กœ ๊ณต๊ฒฉ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. โ‘  ๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์ „์— ๋Œ€์ƒ ๊ฐ€์ž…์ž ๋‹จ๋ง(UAS)๋กœ ๋ณด๋‚ด๋Š” ํ˜ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ์ด๋•Œ, ๊ณต๊ฒฉ์ž๋Š” Sniffing ํˆด์ด๋‚˜ ํŒจํ‚ท Analyzer ๋ฅผ ํ†ตํ•˜์—ฌ RTP ์‹ ํ˜ธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•œ๋‹ค. โ‘ก ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฅผ ํ†ตํ•˜์—ฌ ๊ณต๊ฒฉ ๋Œ€์ƒ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” UDP ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•œ๋‹ค. โ‘ข ํ™•์ธ๋œ UDP ํฌํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ฅํ›„ ํ˜ธ์— ์“ฐ์ด๊ฒŒ ๋  UDP ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ Guessing ํ•  ์ˆ˜ ์žˆ๋‹ค. โ‘ฃ Guessing ๋œ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ํšจํ•˜์ง€ ์•Š์€ RTP ํŒจํ‚ท์„ ๋‹ค๋Ÿ‰์œผ๋กœ ๋ณด๋ƒ„์œผ๋กœ์จ ํ†ตํ™” ํ’ˆ์งˆ ๊ฐ์†Œ๋ฅผ ์œ ๋ฐœํ•œ๋‹ค.

4. Flooding ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ

๋ณธ ์•„์ด๋””์–ด์—์„œ ์š”๊ตฌ๋˜๋Š” ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. -

-

๋‹จ๋ง ํ˜น์€ ๋‹จ๋ง์ด ์—ฐ๊ฒฐ๋œ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” SIP Session Management Table ์„ ๊ฐ€์ง„๋‹ค. Session Management Table ๋Š” Session ID ์™€ Count ํšŸ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹จ๋ง๊ธฐ๋กœ ์ „๋‹ฌ๋˜๋Š” ์„ธ์…˜ ์—ฐ๊ฒฐ ์š”์ฒญ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•œ๋‹ค. ์ž„๊ณ„์น˜๋ฅผ ์ดˆ๊ณผํ•˜๋Š” Count ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์„ธ์…˜์€ ์ฐจ๋‹จํ•˜๊ณ , ์ฐจ๋‹จ ๊ธฐ๊ฐ„์— ๋Œ€ํ•œ Timeout ์„ ์„ค์ •ํ•œ๋‹ค.

์„ธ์…˜ ID ๋Š” ์„ธ์…˜์„ ์š”์ฒญํ•˜๋Š” ๊ทผ์›์ง€ IP ์ฃผ์†Œ์™€ ์„ธ์…˜์„ ์š”์ฒญํ•˜๋Š” Call ID ํ•„๋“œ๋ฅผ XOR ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ MD5 ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ตฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ XOR ๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ์œ ์ผํ•œ Session ID ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•จ์ด๊ณ , MD5 ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์น˜๋Š” ์ด์œ ๋Š” ๋ชจ๋“  Session ID ๊ฐ’๋“ค์ด 128 ๋น„ํŠธ์˜ ์ผ์ •ํ•œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜์–ด ๋น ๋ฅธ ๋น„๊ต ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ณธ ์žฅ์—์„œ๋Š” ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์‹œํ•˜๋Š” Flooding ๊ณต๊ฒฉ์„


Session ID = MD5(Source IP address ^ Call ID) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ์„ฑ๋œ Session ์€ 128 ๋น„ํŠธ์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. SIP ์„ธ์…˜์„ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ด๋ธ”์ด ํ•˜๋Š” ์—ญํ• ์€ ๋‹จ๋ง์— ์ „์†ก๋˜๋Š” SIP ์‹œ๊ทธ๋„ ํŒจํ‚ท์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜์—ฌ, ๋‚ด์—ญ์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ SIP ์„ธ์…˜ ๊ด€๋ฆฌ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•˜์—ฌ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์„ ํƒ์ง€ํ•˜๋Š” ๋ฐฉ์‹์€ ๊ทธ๋ฆผ 4 ์˜ ์ˆœ์„œ๋„์— ๋‚˜ํƒ€๋‚œ๋‹ค. ๊ทธ๋ฆผ 4 ์˜ ์ˆœ์„œ๋„๋ฅผ ๋ณด๋ฉด, VoIP ๋‹จ๋ง ํ˜น์€ ๋‹จ๋ง์ด ์†ํ•œ ๋„คํŠธ์›Œํฌ์˜ ๊ฒŒ์ดํŠธ์›จ์ด์— ํ˜„์žฌ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” SIP Session ์— ๋Œ€ํ•œ ๋‚ด์—ญ์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋„๋ก SIP Session ์ €์žฅ table ์„ ์œ ์ง€์‹œํ‚จ๋‹ค. ์ด ํ›„, ํ•ด๋‹น ๋„คํŠธ์›Œํฌ์— SIP ๋ฉ”์‹œ์ง€๊ฐ€ ํƒ์ง€๋˜๋ฉด, ํ•ด๋‹น ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ Session ์ •๋ณด๊ฐ€ SIP Session Table ์— ์žˆ๋Š”์ง€ ํƒ์ƒ‰ํ•œ๋‹ค. ๋งŒ์•ฝ ํ•ด๋‹น ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ Session ์ •๋ณด๊ฐ€ ์—†์„ ๊ฒฝ์šฐ, ์ด์— ๋Œ€ํ•œ Session ์ •๋ณด(ID, ์„ธ์…˜ ์—ฐ๊ฒฐ ์ˆ˜)๋ฅผ Table ์— ๋“ฑ๋กํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ, ํ•ด๋‹น Session ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค๋ฉด, ํ˜„์žฌ ์—ฐ๊ฒฐ ์š”์ฒญ์— ๋Œ€ํ•œ ์„ธ์…˜ ์š”์ฒญ ์ˆ˜๊ฐ€ ์—ฐ๊ฒฐ ํ•œ๊ณ„(Signal threshold)๊ฐ€ ๋„˜์—ˆ๋Š”์ง€ ์ฒดํฌํ•œ๋‹ค. ์—ฐ๊ฒฐ ํ•œ๊ณ„ ์ด์ƒ์˜ Session ์š”์ฒญ์ด ์™”๋‹ค๋ฉด, ์ด์— ๋Œ€ํ•œ ์„ธ์…˜ ์—ฐ๊ฒฐ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ์ฐจ๋‹จ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ œ์•ˆ๋œ ๋ฐฉ์‹์„ ์ด์šฉํ•˜์—ฌ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์„ ๋ฐฉ๋น„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๋ฌผ๋ก  ์œ„์— ์„ธ์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐํ•œ๊ณ„(Signal threshold)๋Š” VoIP ๋‹จ๋ง์˜ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ์ƒ์ดํ•  ์ˆ˜ ์žˆ๋‹ค.

5. Evaluation ์ œ์‹œ๋œ Flooding ๊ณต๊ฒฉ ํƒ์ง€ ๋ฐฉ์•ˆ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ๋ถ„์„์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” SIP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์˜ ์ฃผ๊ธฐ๋ฅผ ์ดˆ๋‹น 3000~30000 pkt/s ๋กœ ์ „์†ก ํ•˜์—ฌ ์ œ์•ˆ๋œ ๋ณด์•ˆ ๊ธฐ๋ฒ•์˜ ์šฐ์ˆ˜์„ฑ์„ ์ฆ๋ช…ํ•˜์˜€๋‹ค. ๊ทธ๋ฆผ 5 ๋Š” ๊ธฐ์กด์˜ VoIP ์†Œํ”„ํŠธ ํฐ์— ๋งค ์ดˆ๋‹น ์ „์†ก๋˜๋Š” ํŒจํ‚ท์˜ ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜์—ฌ Invite Flooding ๊ณต๊ฒฉ์„ ํ•˜์˜€์„ ๋•Œ, ์ปดํ“จํ„ฐ์˜ CPU ์‚ฌ์šฉ๋ฅ ์„ ์ธก์ •ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

๊ทธ๋ฆผ 5 ๊ธฐ์กด ์†Œํ”„ํŠธ ํฐ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ๊ทธ๋ฆผ 5 ์—์„œ์™€ ๊ฐ™์ด ๋น„๊ต์  CPU ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•œ PC ํ™˜๊ฒฝ์— ์„ค์น˜๋œ ์†Œํ”„ํŠธ ๋‹จ๋ง๊ธฐ๋กœ DoS ๊ณต๊ฒฉ์„ ์‹คํ–‰ ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ดˆ๋‹น ๊ณต๊ฒฉ ํŒจํ‚ท ์ „์†ก๋ฅ ์ด 15000 ์„ ์ƒํšŒํ•˜๊ฒŒ ๋˜๋ฉด, CPU ์ž์›์ด ๊ณ ๊ฐˆ๋˜์–ด ์†Œํ”„ํŠธ ๋‹จ๋ง๊ธฐ๊ฐ€ ์˜ค์ž‘๋™์„ ์ผ์œผํ‚ค๊ฒŒ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ œ์•ˆ๋œ ๊ธฐ๋ฒ•์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ 2.6 ๋ฒ„์ „์˜ ๋ฆฌ๋ˆ…์Šค OS ๋ฅผ PC ์— ์„ค์น˜ํ•˜์—ฌ, ํ—ˆ๋ธŒ ๋ชจ๋“œ๋กœ ๋™์ž‘ ์‹œํ‚ค๊ณ , ์ด๋ฅผ VoIP ์†Œํ”„ํŠธ ๋‹จ๋ง๊ธฐ์— ์—ฐ๊ฒฐ ์‹œ์ผฐ๋‹ค. ํ—ˆ๋ธŒ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค์—๋Š” ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์ด ์ฑ„์šฉ๋˜์–ด ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๊ณ , ๊ณต๊ฒฉ ํŒจํ‚ท์„ ํƒ์ง€ํ•˜์—ฌ, SIP Flooding ๊ณต๊ฒฉ ํŒจํ‚ท์ด VoIP ํฐ์œผ๋กœ ์ „์†ก๋˜์ง€ ์•Š๋„๋ก

์ค‘๊ฐ„์—์„œ ์ฐจ๋‹จ ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  Session ID ์— ๋Œ€ํ•œ ๊ฐ€์šฉ Count ์— ๋Œ€ํ•œ ์ž„๊ณ„๊ฐ’์„ 20 ์œผ๋กœ ์„ค์ • ํ•˜์˜€๋‹ค. ์ž„๊ณ„๊ฐ’์„ 20 ์œผ๋กœ ์„ค์ •ํ•œ ์ด์œ ๋Š” ์„œ๋ฒ„์—์„œ ๋‹จ๋ง๊ธฐ๋กœ ์ „์†ก๋˜๋Š” invite ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ UDP ์ž„์„ ๊ฐ์•ˆ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์ „์†ก์ด ๋  ์ˆ˜ ์žˆ๊ณ , ํฌ๋ฐ•ํ•œ ํ™•๋ฅ ๋กœ XOR ์—์„œ Session ID ๊ฐ€ ์ค‘๋ณต๋˜์–ด Count ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๋˜ํ•œ Count ๊ฐ’์— ๋Œ€ํ•œ ์ดˆ๊ธฐํ™” Timeout ์€ 60 ์ดˆ๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. ๊ทธ๋ฆผ 6 ์€ ์ œ์•ˆ๋œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉ ํ–ˆ์„ ๋•Œ์™€ ์‚ฌ์šฉ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ๋ฅผ ๋น„๊ตํ•œ ๊ทธ๋ž˜ํ”„์ด๋‹ค.

๊ทธ๋ฆผ 6 ์ œ์•ˆ๋œ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉ ํ–ˆ์„ ๋•Œ CPU ์‚ฌ์šฉ๋Ÿ‰ ๋น„๊ต ๊ทธ๋ฆผ 6 ๊ณผ ๊ฐ™์ด ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆ๋œ ๊ธฐ์ˆ ์€ SIP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ํƒ์ง€ํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ถฉ๋ถ„ํžˆ ๋ฐฉ์–ดํ•˜๋Š” ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•˜์˜€๋‹ค.

6. ๊ฒฐ๋ก  ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” VoIP ์˜ ๋ณด์•ˆ ์œ„ํ˜‘ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ์„ฑ๋Šฅ ๊ฐ์†Œ์˜ ์›์ธ์ด๋ฉฐ, ์‚ฌ์—…์ž ์ž…์žฅ์—์„œ ๊ฐ€์žฅ ์น˜๋ช…์ ์ธ ๊ณต๊ฒฉ์ธ SIP ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œํ•˜์˜€๋‹ค. ๋ฌผ๋ก  VoIP ์— ๋Œ€ํ•œ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์œผ๋กœ๋Š” UDP ํ”Œ๋Ÿฌ๋”ฉ๊ณผ RTP ํ”Œ๋Ÿฌ๋”ฉ์ด ์กด์žฌํ•˜์ง€๋งŒ, UDP ํ”Œ๋Ÿฌ๋”ฉ๊ณผ RTP ํ”Œ๋Ÿฌ๋”ฉ์ด ์น˜๋ช…์ ์ธ ๊ณต๊ฒฉ์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ๋™์‹œ์— ๊ณต๊ฒฉ์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์•„์ง์€ ๋‹จ๋ง์— ๋Œ€ํ•œ ํฐ ์œ„ํ˜‘์œผ๋กœ๋Š” ๋– ์˜ค๋ฅด์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹จ ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธ๋กœ๋งŒ ๊ณต๊ฒฉํ•ด๋„ ๋‹จ๋ง์— ์น˜๋ช…์ ์ธ ์„ฑ๋Šฅ ๊ฐ์†Œ๋ฅผ ์ดˆ๋ž˜ํ•˜๊ณ , ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋‹จ๋ง์˜ ์˜ค์ž‘๋™์„ ์œ ๋ฐœํ•˜๋Š” SIP ํ”Œ๋Ÿฌ๋”ฉ์— ์ง‘์ค‘ํ•˜์—ฌ ์ด๋ฅผ ๋ฐฉ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์€ ๊ตฌํ˜„์ด ๊ฐ„ํŽธํ•˜๊ณ , ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋“ค๊ณผ ๊ฐ™์€ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์ ๋‹ค๋Š” ์žฅ์ ์ด ์กด์žฌํ•œ๋‹ค. ๋˜ํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆ๋œ ๊ธฐ์ˆ ์„ SIP ๊ธฐ๋ฐ˜์˜ ํ”Œ๋Ÿฌ๋”ฉ ๊ณต๊ฒฉ๋“ค์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์–ด ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฐธ ๊ณ  ๋ฌธ ํ—Œ [1] J. Mirkovic, S. Dietrich, D. Dittrich, P. Reiher, Internet Denial of Service: Attack and Defense Mechanisms, Prentice Hall, Upper Saddle River, NJ, 2005. [2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Spark, M. Handley, E. Schooler, Session Initiation Protocol, 2002, RFC 3261 [3] KISA (Korea Information Security Agency), VoIP ์ •๋ณด๋ณดํ˜ธ ๊ฐ€์ด๋“œ, 2005, 12


[4] S. Ehlert, G. Zhang, D. Geneiatakis, G. Kambourakis, T. Dagiuklas, J. Markl, D. Sisalem "Two Layer Denial of Service Prevention on SIP VoIP Infrastructures", Computer Communication Journal, Vol 31, No. 10, Jun 2008 [5] Eric Y. Chen, "Detecting DoS Attacks on SIP System", 1st IEEE Workshop on VoIP Management and Security, 2006, April 2006. [6] ์ž„์ฑ„ํ›ˆ, โ€œVoIP ์‹œ์Šคํ…œ์—์„œ์˜ ๋ณด์•ˆ๊ธฐ์ˆ โ€, 2004 [7] Voice over IP Security Alliance, http://www.voipsa.org/ [8] J. Rosenberg, H. Schulzrinne et al., โ€œSIP: Session Initiation Protocolโ€, RFC 3261, IETF, June 2002. [9] K. Singh, H. Schulzrinne, "Interworking Between SIP/SDP and H.323". Proc. of the 1st IP-Telephony Workshop (IPTel'2000), April 2000.

[10] H. Schulzrinne et al., โ€œRTP: a transport protocol for real-time applicationsโ€, RFC 1889, IETF, Jan. 1996.


Turn static files into dynamic content formats.

Createย aย flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.