[Linux] Syn Flooding
Syn Flooding ์ด๋?
TCP ์ 3-Way Handshake ๊ณผ์ ์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด 3๋ฒ์ ํจํท ์ ๋ฌ์ ์ํํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ๊ณ ์ ํ๋ ์๋ฒ์๊ฒ SYN ์ ๋ณด๋ด๋ฉด, ์๋ฒ๋ ๊ทธ์ ๋ํ ์๋ต์ผ๋ก SYN+ACK ์ ๋ณด๋ ๋๋ค. ์๋ฒ๋ก๋ถํฐ SYN+ACK ํจํท์ ์์ ํ ํด๋ผ์ด์ธํธ๋ ๋ง์ง๋ง์ผ๋ก ACK ํจํท์ ๋ณด๋ด๋ฉฐ ์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋ฉ๋๋ค.
์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ SYN ์ ๋ฐ๊ธฐ ์ ์ listen() ์ํ๋ฅผ ์ ์งํ๊ณ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ก๋ถํฐ SYN ํจํท์ด ๋ค์ด์ค๋ฉด, ์๋ฒ๋ SYN Backlog ๋ผ๋ "๊ธธ์ด๊ฐ ์ ํ๋์ด ์๋ ํ" ์ "Client x๊ฐ ๋์ ์ฐ๊ฒฐ์ ํ๊ณ ์ถ์ดํ๋ค!" ๋ผ๊ณ ์ ์ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ SYN+ACK ํจํท์ ์ ์กํ๊ฒ ๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ACK ํจํท์ ์์ ํ๊ฒ ๋๋ฉด, SYN Backlog ๋ฅผ ๋ค์ ธ์ ํด๋น ํด๋ผ์ด์ธํธ์ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ "์ด ์น๊ตฌ๊ฐ ๋๋ ์ฐ๊ฒฐํ๊ณ ์ถ์ดํ์๋๋ฐ, ๋ง์ง๋ง ์ ์ฐจ์ธ ACK ํจํท๊น์ง ์๋ค? ์ฐ๊ฒฐ ์ฑ๋ฆฝํด์ผ๊ฒ ๋ค." ๋ผ๊ณ ์ฌ๊ธฐ๊ฒ ๋ฉ๋๋ค.
์ ์์ ์ธ ์ํฉ์์ ํด๋ผ์ด์ธํธ(๊ณต๊ฒฉ์)๋ 3-Way-Handshake ์ ๋ง์ง๋ง ์ ์ฐจ์ธ ACK ํจํท์ ์ ์กํ์ง ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด ์๋ฒ ์ธก์ SYN Backlog ๊ฐ ๊ฝ ์ฐจ๊ฒ ๋๊ณ , ๋์ด์ ์๋ฆฌ๊ฐ ์๋ ์๋ฒ ์ธก์ ์๋ก ๋ค์ด์ค๋ SYN ํจํท์ Drop ํ๊ฒ ๋ฉ๋๋ค. ๋์ด์ ์๋ก์ด ์ฐ๊ฒฐ ์์ฒญ์ ๋ฐ์ ์ ์๋ ์ํ๊ฐ ๋๋๊ฑฐ์ฃ .
SYN Flooding ์ ๋ง๊ธฐ ์ํด์๋?
๋ฆฌ๋
์ค ์ปค๋์๋ ์ด์ ๊ฐ์ SYN Flooding ๊ณต๊ฒฉ์ ๋ง๊ธฐ ์ํด์ SYN Cookie ๊ฐ ์กด์ฌํฉ๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์ SYN ํจํท์ ๋ํ ์๋ต์ผ๋ก ๋ณด๋ด๋ SYN+ACK ์ Cookie ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์์ ์์ ํ Cookie ๊ฐ์ +1 ์ ํด์ ๋ค์ ์๋ฒ ์ธก์ ACK ํจํท๊ณผ ํจ๊ป ์ ์กํ๋ฉด, ์๋ฒ ์ธก์์๋ Cookie ๊ฐ ๊ณ์ฐ์ ํตํด "์ด ํด๋ผ์ด์ธํธ๊ฐ ์ด์ ์ ๋ํํ
์ฐ๊ฒฐ ์์ฒญ์ ํ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ง๋ค!" ๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. Cookie ๊ฐ์ Timestamp ์ ๋ฐ์ ์ IP ์ฃผ์๋ฅผ ํผํฉํ ๊ฒ๊ณผ ๊ฐ์ด ๊ณ์ฐ์ ํตํด ๊ตฌํ ์ ์๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ Cookie ๊ฐ์ ๋ฐ๋ก ์ ์ฅํด๋ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ๋ฌธ์ ๊ฐ ๋์๋ SYN Backlog ๋ ๋์ด์ ํ์ ์์ด์ง๋๋ค.
=> ์์ ๊ณ ๊ฐ ํ์์ด ๋ฐ์ํ์ง ์๋๋ค.
SYN Flooding ์ด ๋ฐ์ํ์์ ์๊ธฐ ์ํด์๋ dmesg ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
dmesg -TL | greop -i "syn flooding"
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[Linux] top
[Linux] top
2023.07.30 -
[Linux] free
[Linux] free
2023.07.28 -
[Linux] OOME (Out-Of-Memory Error)
[Linux] OOME (Out-Of-Memory Error)
2023.07.27 -
[Computing System] ๋ถ ๋ ผ๋ฆฌ(Boolean Logic)
[Computing System] ๋ถ ๋ ผ๋ฆฌ(Boolean Logic)
2023.06.24