[2025-09-07] Onions Got Puzzled
๐ฆฅ ๋ณธ๋ฌธ
Tor network
์ ์ ๋ฐ ๊ฐ๋
์ต๋ช ๋คํธ์ํฌ. relay๋ผ๋ ์ผ๋ จ์ ์๋ฒ๋ค์ ํตํด ๋ผ์ฐํ .
Tor network์ onion system์ .onion ์ฃผ์๋ฅผ ํตํด ์ต๋ช ์ฑ์ ์ ์งํ๊ณ Tor network๋ฅผ ํตํด์๋ง ์ ๊ทผ ๊ฐ๋ฅ.

๋์ ํ๋ฆ
- ์๋น์ค Tor network์ ๋ฆด๋ ์ด ์ค ๋ช๋ช์ ์ฐ๊ฒฐํ์ฌ ์์ ์ด ์ ์ ๋ฐ์ ์ ์๋ ์ง์ ์ธ IP๋ฅผ ์์ฑ
- ์๋น์ค ๋์คํฌ๋ฆฝํฐ์ IP์ ํฌํจํ์ฌ ์์ ์ ์ ๋ณด๋ฅผ ํฌํจ์ํค๊ณ Tor network์ ๋๋ ํ ๋ฆฌ ์๋ฒ์ ๊ฒ์
- ํด๋ผ์ด์ธํธ๋ ์ ์ํ๋ ค๋ ์๋น์ค๋ฅผ ๋๋ ํ ๋ฆฌ ์๋ฒ์์ ์กฐํ
- ํด๋ผ์ด์ธํธ๋ ์๋น์ค ๋์คํฌ๋ฆฝํฐ๋ฅผ ํตํด ํด๋น ์๋น์ค์ IP ๋ชฉ๋ก๊ณผ ์ ๋ณด๋ค์ ํ๋
- ํด๋ผ์ด์ธํธ๋ ํด๋ผ์ด์ธํธ์ ์๋น์ค๊ฐ ์ต๋ช ์ผ๋ก ๋ง๋ RP ์ ํํ๊ณ ์ํท์ ์ค์
- ํด๋ผ์ด์ธํธ๊ฐ IP๋ฅผ ํตํด ํด๋น RP์ ์ํท์ ์ค์ ํ์๋ intro-request๋ฅผ ๋ณด๋
- intro-request๋ฅผ ๋ฐ์ ์๋น์ค๋ RP๊น์ง ์ํท์ ์ค์ ํ๊ณ ํด๋น RP์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์
Intro-Flooding
์ ์ ๋ฐ ๊ฐ๋
-
๋ง์ Intro-request๋ฅผ ๋ณด๋ดa์ ๋ง์ RP์ ๋ง์ ์ํท์ ์ค์ ํ๊ฒ ํ๋ DoS ๊ณต๊ฒฉ ์ ๋ต.
Dos : Denial of Service๋ก ์ ์ ์ฌ์ฉ์๋ค์ด ์๋น์ค๋ฅผ ์ด์ฉํ์ง ๋ชปํ๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ.
๋์ ๋ฐฉ๋ฒ ๋ฐ ํ๊ณ
-
Source-based filtering : ์์ฌ๋๋ source๋ฅผ ๋ฐดํ๊ฑฐ๋ ์คํฌ๋ฌ๋น ์๋น์ค๋ฅผ ํตํ ํธ๋ํฝ ๋ฆฌ๋๋ ์
์คํฌ๋ฌ๋น ์๋น์ค : ํธ๋ํฝ์ ๋ถ์ํ๊ณ ์ ์์ ์ธ ์์ฒญ๊ณผ ๋น์ ์์ ์ธ ์์ฒญ ๊ตฌ๋ถ
ํ๊ณ : ์ต๋ช ์ฑ ๋๋ฌธ์ ๋ค๋ฅธ ๋ ์์ค๋ฅผ ๊ตฌ๋ถํ ์ ์์
-
Replication-based ์ํ ์ ์ฑ : ๋ณต์ ๋ฅผ ํตํ ์๋น์ค ๊ณผ์ ๊ณต๊ธ ๋ฐฉ๋ฒ
ํ๊ณ : onion ์๋น์ค์ ์ต๋ช ์ฑ๊ณผ ํ์ค์ํ์ผ๋ก ์ธํด ํ๋ฆ. ์ํ์ ํ์ฅ ๋ฐฉ์ ์ญ์ DoS๋ฅผ ๊ณต๊ฒฉ์ ๋ฐ์ผ๋ฉด IP์ ์ ๊ทผํ๋ ๊ฒ ๋ถ๊ฐํ๋ค๋ ์ ๊ณผ ๋ณต์ ์ ์ต๋๋์ด ์ ์ฝ๋๋ค๋ ์ ์์ ํ๋ฆ.
-
Source testing : CAPTCHA์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํด๋ผ์ด์ธํธ๋ฅผ ํ ์คํธํ์ฌ ์ฌ๋๊ณผ ๋ด์ ๊ตฌ๋ณ
ํ๊ณ : RP ์ํท์ด ์ค๋ฆฝํ ํ์ CAPTCHA๋ฅผ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ intro-flooding์ ๋ง์ง ๋ชปํจ
โ Tor network์ ์ต๋ช ์ฑ์ผ๋ก ์ธํด ๋ง์ ์ ์ฝ์ด ๋ฐ์ํ์ฌ ๋นํจ์จ์ ์ด๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ๋ฐฉ์
Client-puzzle
์ ์ ๋ฐ ๊ฐ๋
ํด๋ผ์ด์ธํธ๋ ์๋ฒ๊ฐ ์ ๊ณตํ๋ ์ํธ ํผ์ฆ์ ํ์ด์ผ ์๋น์ค๋ฅผ ๋ฐ์ ์ ์๋ ๋ฐฉ์์ผ๋ก ๊ณต๊ฒฉ์๋ ๊ณต๊ฒฉ์ ๋ฐ์ํ๊ธฐ ์ํด์ ๋ง์ ์์์ ์จ์ผ ํ์ง๋ง ๋ฐฉ์ด์๋ ์ต์ํ์ ๋ ธ๋ ฅ๋ง ํ๋ฉด ๋๋ proof-of-work ์์ด๋์ด์์ ๊ณ ์.
ํน์ง
๊ฐ ํผ์ฆ์ ํน์ ํ๋ผ๋ฏธํฐ์ ์ ํ ๊ณ์ฐ ๊ณต๊ฒฉ์ ๋ง๋ ์๋๋ฅผ ํฌํจ. ์๋๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ด์ ์ ์ ํจํ ์ ๋ต๋ค์ ๋ฌดํจํ. ํผ์ฆ์ ๋ฐ์๋ง์ ํด๋ผ์ด์ธํธ๋ ์ ํจํ ๋ต์ ์ฐพ๊ธฐ ์ํด ๋ฐ๋ณต์ ์ผ๋ก ์ํธ ์์ ์ ์ํ, ๋ฐ๋ฉด์ ์๋ฒ๋ ์์ฃผ ํจ์จ์ ์ผ๋ก, ์ ์ ๋ ธ๋ ฅ์ผ๋ก ์ ์๋ ํด๋ต์ ์ฆ๋ช .
์ ์ ์ฌ์ฉ์์๊ฒ ํ๋นํ์ง ์๊ณ ์ฌ์ํ์ง ์์ ๋ถ๋ด์ ์ค๋ค๋ ๊ฒ ๋๋ฌธ์ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์์ง๋ง Tor network์์๋ ์ฐ๊ฒฐ ์ค๋ฆฝํ๋ ๋ฐ ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ฌ์ํ ๋ถ๋ด.
์ฅ์
-
ASIC ์ ํญ : Application-Specific Integrated circuits. ํผ์ฆ ํด๊ฒฐ์ ์ํ ๋ฐ๋์ฒด. ์ผ๋ฐ ์ฌ์ฉ์์๋ ๋ถ๊ณต์ ํ ์ด์ ์ ๊ฐ๊ณ ์์.
์๋ก์ด ์๋๋ฅผ ์ํ ๋ด๋ถ ๋ก์ง์ ๋๋คํํ๋ ํด์ ํจ์๊ฐ ์์. ASIC๋ ํน์ ์ฐ์ฐ๋ง์ ๋น ๋ฅด๊ฒ ์ฐ์ฐํ๋ ๊ณ ์ ๋ ๋ก์ง์ ๊ฐ์ง๋ ๋ฐ, ๋ด๋ถ ๋ก์ง์ ๋ฐ๊ฟ์ ASIC๋ฅผ ์ํํจ.
-
๋ฉ๋ชจ๋ฆฌ ์๊ตฌ์ฌํญ
์๋นํ RAM ์์ ์ ์๊ตฌ. ํผ์ฆ์ ๋ชฉ์ ์ผ๋กํ ํน์ ํ๋์จ์ด๋ RAM์ด ์ ํ์ . ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์ ํน์ ํ๋์จ์ด ์ฌ์ฉ์์์ ์ฑ๋ฅ ๊ฒฉ์ฐจ๋ฅผ ์ค์
-
์ ํ์ ๋์ด๋ ์ฆ๊ฐ
์ ํต์ ์ธ ๊ฒ์ ์ง์์ ์ฆ๊ฐ. ์ ํ์ ์ผ๋ก ์ฆ๊ฐํ์ฌ ๋์ด๋๋ฅผ ์ธ๋ฐํ๊ฒ ์กฐ์ ํ ์ ์์. ๋ถํ์ํ ๋์ด๋ ์ฆ๊ฐ๋ ์ผ๋ฐ ์ฌ์ฉ์์ ๋ถํธ์ ์ด๋ํ๋๋ฐ, ์ ๋นํ ๋์ด๋ ์กฐ์ ์ผ๋ก ์ผ๋ฐ ์ฌ์ฉ์๋ ๋๋๊ณ ๊ณต๊ฒฉ์๋ ๋์
๋์ ํ๋ฆ

- ํด๋ผ์ด์ธํธ๊ฐ ํผ์ฆ์ ๋์ด๋๋ฅผ ์ ํ. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋น์ค์์ ์ ์๋๋ ๋์ด๋.
- ํด๋ผ์ด์ธํธ๊ฐ ํผ์ฆ์ ํ๊ณ intro-request๋ฅผ ๋ณด๋.
- ์๋น์ค๋ ๋ต์ด ๋ง๋ ์ง ํ์ธํ๊ณ intro-request๋ฅผ ๋์ด๋์ ๋ฐ๋ฅธ ์ฐ์ ์์ ํ์ ์ถ๊ฐ
- ์๋น์ค๋ ์์ฒญ์ ๊บผ๋ด์ RP์ ๋ํ ์ํท์ ์ค๋ฆฝ
DUA
์ฐ์ ์์ ํ ์ํ์ ๊ธฐ๋ฐํ ๋์ด๋ ์ ๋ฐ์ดํธ ์๊ณ ๋ฆฌ์ฆ. ์ฆ, ํผ์ก ์ํ๋ฅผ ๊ฐ์งํ์ฌ ๋์ด๋ ์กฐ์ . ๋์ด๋๋ ์ ๋ฐ์ดํธ ๋ผ์ด๋๊ฐ ๋๋ ๋๋ง๋ค ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ . AIMD ๋ฐฉ์.
- ์๊ณ ๋ฆฌ์ฆ
- ๋์ด๋ ์ฆ๊ฐ : ํ๊ท ๋์ด๋์ (๊ธฐ์กด ์ ์๋ ๋์ด๋ + 1) ์ค ํฐ ๊ฐ์ผ๋ก ์ ํ
- ๋ฒ๋ ค์ง ์์ฒญ์ ๋์ด๋๊ฐ ํ์ฌ ๋์ด๋๊ฐ ํฐ ๊ฒฝ์ฐ
- ํผ์ก ์ํ์ด๊ณ ํ์ ๋ ๋์ ๋์ด๋ ์์ฒญ์ด ๋จ์ ์๋ ๊ฒฝ์ฐ
- ๋์ด๋ ๊ฐ์ : ๊ธฐ์กด ์ ์๋ ๋์ด๋ x 2/3
- ์์ฒญ์ ์๊ฐ ํน์ ๊ธฐ์ค์น (16 or 63)๋ณด๋ค ๋ฎ์์ง๋ ๊ฒฝ์ฐ
- ๋์ด๋ ์ ์ง
- ์์ ๊ฒฝ์ฐ๊ฐ ์๋ ๋๋จธ์ง์ ๊ฒฝ์ฐ
- ๋์ด๋ ์ฆ๊ฐ : ํ๊ท ๋์ด๋์ (๊ธฐ์กด ์ ์๋ ๋์ด๋ + 1) ์ค ํฐ ๊ฐ์ผ๋ก ์ ํ
-
์คํ ๋ด์ฉ : X์ถ์ ์ฌ์ฉ์ ๋๊ธฐ ์๊ฐ. Y์ถ์ ์๋น์ค๋ฅผ ์ด์ฉํ ํด๋ผ์ด์ธํธ์ ๋น์จ

ํผ์ฆ ์์คํ ์ด ๊ณต๊ฒฉ์ผ๋ก ์ธํ ๋๊ธฐ์๊ฐ์ ์ค์ฌ์ค๋ค๋ ์ ์์ intro-flooding ๊ณต๊ฒฉ์ ์ํ์ํด์ ๋ณด์
ONIONFLATION
์ ์ ๋ฐ ๊ฐ๋
๋์ด๋๋ฅผ ๋ถํ๋ฆฌ๋ ๊ณต๊ฒฉ. ๊ณต๊ฒฉ ํธ๋ํฝ ๋ณผ๋ฅจ๊ณผ ํผ์ฆ์ ํ ๋ ํ์ํ ๋ฆฌ์์ค๋ฅผ ์ต์ํ.
์ข ๋ฅ
- END-RUSH ATTACK : ์ ์๋ ๋์ด๋ ์ด์์ ์ฒ๋ฆฌ๋์ง ์์ ์์ฒญ์ ๋จ๊ฒจ ํผ์ฆ ๋์ด๋๋ฅผ ๋ถํ๋ฆฌ๋ ๊ณต๊ฒฉ(=small burst of intro-reqs)
- ๋์ ํ๋ฆ
- ๋๋ ํ ๋ฆฌ ์๋ฒ์์ ๋์คํฌ๋ฆฝํฐ๋ฅผ ๋น๋ฒํ๊ฒ ๊ฐ์ ธ์์ ๋ค์ ์ ๋ฐ์ดํธ์ ํ์ด๋ฐ ์ ๋ณด ํ๋
- ๋์ ๋์ด๋์ ํผ์ฆ์ ํผ ์์ฒญ์ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ ๋ง๋ฐ์ง์ ๋ณด๋
- ์ฒ๋ฆฌ๋์ง ์์ ๋์ ๋์ด๋์ ํผ์ฆ์ ํผ ์์ฒญ์ด ๋จ๊ฒ ๋์ด ๋์ด๋๊ฐ ๋ถํ๋ ค์ง
- ๋์ ํ๋ฆ
- Temporary-turmoil : ํผ์ฆ์ ๋์ด๋๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์
์ฉํ์ฌ ๋์ด๋๋ฅผ ๋ถํ๋ฆฌ๋ ๊ณต๊ฒฉ (=short burst of intro-reqs)
- ๋์ ํ๋ฆ
- ๋ง์ ์ฌ์ด intro-reqs๋ฅผ ๋ณด๋
- ์๋น์ค๋ ํผ์ก ์ํ๋ฅผ ๊ฐ์งํ์ฌ ๋์ด๋๋ฅผ ์ฆ๊ฐ์ํค๋ ค๊ณ ํจ
- ๋์ด๋์ ํ๊ท ์ ๋ชจ๋ ์ถ๊ฐ๋ ๋์ด๋์ ํฉ / ์ฒ๋ฆฌ๋ ์์ฒญ์ ์๋ก ์ฒ๋ฆฌ๋ ์์ฒญ์ ๋นํด ํฐ ์ถ๊ฐ๋ ๋์ด๋์ ํฉ์ด ๋์ด๋๋ฅผ ๋ถํ๋ฆผ
- ๋์ ํ๋ฆ
- Choking : ์์ ์ ๋ต๋ค์ ํตํด ๊ณต๊ฒฉ ํ ์ถ๊ฐ์ ์ผ๋ก ์๋น์ค์ ์ฉ๋์ ์ค์ด๋ ๊ณต๊ฒฉ
- ๋์ ํ๋ฆ
- END-RUSH ATTACK, Temporary-turmoil์ ํตํด ๋์ด๋๋ฅผ ๋ถํ๋ฆผ
- ์ ์๋ ๋์ด๋๊ฐ Cli-side ์ต๋ ๋์ด๋๋ฅผ ๋์์ ๋ RP๋ฅผ ์ ํ
- ๊ณต๊ฒฉ์๊ฐ ๋ ๋์ ๋์ด๋์ ์์ฒญ์ ๋ณด๋ด๊ณ RP๋ฅผ half open
- half open : ํด๋ผ์ด์ธํธ๊ฐ RP์์ ์ฐ๊ฒฐ์ ๋๊น์ง ์๋ฃํ์ง ์์
- ์ ํ๋ RP์ ๊ณต๊ฒฉ์๊ฐ ์ผ์์ ์ผ๋ก ๋ถ์ก๊ณ ์์ด์ ์ ์์ ์ธ ์์ฒญ์ด ์ฒ๋ฆฌ๋์ง ๋ชปํ๊ฒ ํจ
- ๋์ ํ๋ฆ
- Maintenance : ๋์ด๋๋ฅผ ๋ถํ๋ฆฌ๊ณ ๋์ด๋๋ฅผ ์ ์งํ๋ ๊ณต๊ฒฉ
- ๋์ ํ๋ฆ
- END-RUSH ATTACK, Temporary-turmoil์ ํตํด ๋์ด๋๋ฅผ ๋ถํ๋ฆผ
- 0-๋์ด๋ ์์ฒญ์ ์ฌ๋ฌ ๊ฐ ๋ณด๋
- ํ์ ๊ธฐ์ค์น์ ์์ฒญ์ ๋จ๊ฒจ ๋์ด๋๋ฅผ ์ ์ง
- ๋์ ํ๋ฆ
โ ๋ผ์ด๋ธ ์๋ฒ์์ ํด๋น ๊ณต๊ฒฉ๋ค ์คํ โ ์์ฒญ๋ ๋์ด๋ ์์น๊ณผ ์์ฒญ ์ฒ๋ฆฌ ํ๊ท ์๊ฐ์ด ์ฆ๊ฐํจ
๋์ ๋ฐฉ๋ฒ ๋ฐ ํ๊ณ
- DUA ๋งค๊ฐ ๋ณ์ ์กฐ์
- ๋งค๊ฐ ๋ณ์ ์กฐ์ ๋ฐฉ๋ฒ
- ํธ๋ฆฌ๋ฐ๊ณผ ํผ์ก ํ๋๊ทธ์ ๊ทน๋จ์ ์ธ ์๊ณ๊ฐ ์ค์ ์ ํตํด ํธ๋ฆฌ๋ฐ ๋น๋๋ฅผ ๋ฎ์ถค.
- ์ ๋ฐ์ดํธ ๋ผ์ด๋ ์๊ฐ์ ๋๋คํ
- ๋์ด๋ ์กฐ์ ๋น๋๋ฅผ ๋๋ฆผ
- ํผ์ฆ ๋์ด๋๋ฅผ ์ฆ๊ฐ์ํค๋ ์๋ก์ด ๊ณต์ : ์ถ๊ฐ๋ ๋์ด๋์ ํฉ/์ธํ๋ ์์ฒญ์ ๊ฐฏ์
- ์ ์๋ ๋์ด๋ ์์น์ ์ ํ
-
๋น์ฉ (๊ณต๊ฒฉ์ ์ ์งํ ๋งํผ ๋ง์ด ์ค๋ฅด์ง๋ ์์)

(โก)๋ ์ ์ง ๋ณด์ ์ ๋ต์ ์๊ฐ ๋น ๋น์ฉ, T2๋ ํจ๊ณผ์ ์ผ๋ก end-rush๋ฅผ ๋ง์์ ์ถ์ ๋น์ฉ ์๋ต
1๋ฒ์งธ ์ ๋ต์ ๊ณต๊ฒฉ์ ๋ง๋ ๋ฐ ์ถฉ๋ถํ์ง ์์ + ๊ณต๊ฒฉ์๊ฐ ๋์ด๋ ์์น ์์ด ํฐ ์ค์ผ์ผ์ DoS ๊ณต๊ฒฉ์ ์ํํ๊ฒ ํจ. โ ๋ค๋ฅธ ์กฐ์ ๋ฐฉ์๊ณผ ๊ฒฐํฉX. ๋ ๋ฆฝ์ ์ธ ์กฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ
2๋ฒ์งธ ์ ๋ต์ end-rush๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ง์. the temporary-turmoil์ ๋จ์ ์์
3๋ฒ์งธ ์ ๋ต์ ๋์ด๋ ์ ์งํ๋ ๋ฐ ๋น์ฉ์ ์ถ๊ฐํ์ง๋ง ๋ถ์ถฉ๋ถ
4๋ฒ์งธ ์ ๋ต์ the temporary-turmoil ๋น์ฉ์ ์ฆ๊ฐ ์ํค์ง๋ง ๋ถ์ถฉ๋ถ.
5๋ฒ์งธ ์ ๋ต์ ๋์ด๋๋ฅผ ๊ทน๋จ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋์ด๋ฌ์ง๋ง ๋ถ์ถฉ๋ถ.
- ๋งค๊ฐ ๋ณ์ ์กฐ์ ๋ฐฉ๋ฒ
ํ๊ณ : ๊ณต๊ฒฉ์์ ๋น์ฉ์ด ํฌ๊ฒ ์ฆ๊ฐํ์ง ์์
- puzzle-auction model : ํด๋ผ์ด์ธํธ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์ ์์ฒญ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฒ ์ด์ค๋ก ํผ์ฆ ๋์ด๋ ์กฐ์ . ์์ฒญ์ด ์ฒ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๊ฐ ํผ์ฆ ๋์ด๋(bids)๋ฅผ ๋์
- challenge-response model : ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ ๋๋ง๋ค ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๊ฐ๋ณ์ ์ผ๋ก ์ง์ ๋ ๋์ด๋์ ์๋ก์ด ํผ์ฆ์ ํ ๋น. ์๋ฒ๊ฐ ์์ ํ ํต์ ๊ฐ๋ฅ
ํ๊ณ : Tor network๋ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ง ๋ชปํจ. ์ต๋ช ์ฑ ๋๋ฌธ์ ๊ฐ๋ณํ๋ ํผ๋๋ฐฑ์ ์ฃผ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๊ธ๋ก๋ฒ ๊ณต์ง๋ฅผ ํด์ผ ํ์ง๋ง real-time broadcast ์๋น์ค๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ณตํต๋ ํผ์ฆ ๋์ด๋๋ฅผ ๋๋ฆฌ๊ณ ๋๋ฌผ๊ฒ ๊ณต์ง
์์ถฉ ๊ด๊ณ
inflation๊ณผ congestion์ ์์ถฉ ๊ด๊ณ. inflation์ ์ ํญ์ฑ์ด ์๋ค๋ฉด congestion์ ์ทจ์ฝํ๊ณ congestion์ ์ ํญ์ฑ์ด ์์ผ๋ฉด inflation์ ์ทจ์ฝ
-
๋ณด์ ๋ถ์ ๋ฐ ๊ณต์
๋ณด์ ๋ถ์
low-level์ ์ถ์ํํ high-level์ ์ด์ ์ ๋ง์ถ ์ถ์ ๋ชจ๋ธ
์ ์ 1 : ๊ณต๊ฒฉ์ A๋ ์ธํธ๋ก ์์ฒญ burst๋ฅผ ํตํด ๊ณต๊ฒฉ. ฮฑ๋ (๊ณต๊ฒฉ ๊ธฐ๊ฐ/๋ผ์ด๋ ๊ธธ์ด)์ ๋น์จ. Datt[t]๋ A๊ฐ ๋ผ์ด๋ t์์ ํด๊ฒฐํ๋ ํผ์ฆ์ ๋์ด๋
์ ์ 2 : ์๋น์ค S๋ ์ฐ์ ์์ํ์์ ๋ํ ํ์ฌ ์ธํธ๋ก ์์ฒญ ์ฒ๋ฆฌ. ์ต๋์๋๋ ์ด๋น ยตmax. S๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๋ฒ ์ ๋ฐ์ดํธ ํ ์ํ ๊ธฐ๋ฐ์ผ๋ก Dsug๋ฅผ ๋ธ๋ก๋์บ์คํธ. Dsug[t]๋ ๋ผ์ด๋ t์ ์ ์ ๋์ด๋. ํจ์ ฮฒ(ฮฑ)๋ DUA ๋ชจ๋ธ
\[0 โค ฮฒ(ฮฑ) = Dsug[t]/ Datt [t โ1] โค ฮณ\]์ ์ 3 : DUA์ ํผ์ก ์ ํญ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์
\[\int_{0}^{1} ฮฒ(ฮฑ)\, dฮฑ\]์ด ๊ฐ์ด ฮณ์ ๊ฐ๊น์์ง๋ฉด DUA๋ ๋์ ํผ์ก ์ ํญ์ฑ์ ๊ฐ์ง. ฮฑ๊ฐ 0์ ๊ฐ๊น์์ง๋ฉด S๋ ์ ์๋ ๋์ด๋๊ฐ ์ฆ๊ฐํ๋ค๋ ๊ฒ.ใ ใด ฮฒrโc(ฮฑ)๋ ๊ฐ์ฅ ํผ์ก ์ ํญ์ ์ธ DUA
\[\beta_{r-c}(\alpha) = \begin{cases} 0 & (\alpha = 0) \\ \gamma & (\alpha > 0) \end{cases}\]์ ์ 4 : DUA์ ์ธํ๋ ์ด์ ์ ํญ์ฑ์ ๋ค์๊ณผ ๊ฐ์
\[\int_{0}^{1} \left( \gamma - \beta(\alpha) \right) d\alpha\]ฮณ์ ๊ฐ๊น์ค์ง๋ฉด DUA๋ ๋์ ์ธํ๋ ์ ํญ์ฑ์ด ์๋ ๊ฒ. ์๋๊ฐ ๊ฐ์ฅ ์ธํ๋ ์ ํญ์ฑ์ด ์๋ DUA
\[\beta_{r-i}(\alpha) =\begin{cases}0 & (\alpha < 1) \\\gamma & (\alpha = 1)\end{cases}\]๊ฐ์ : ยตmax ์๋๋ก ๊ณต๊ฒฉ์ ๋ณด๋. ฮฑ ์ Datt ๊ฐ์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ ๊ฐ๋ ์กฐ์ . ฮฒ(ฮฑ)๋ ๋จ์กฐ ์ฆ๊ฐ ฮฑ = 0์ผ ๋ 0์์ ์์ํ์ฌ ฮฑ = 1 ์ผ ๋ ฮณ์ ๋๋ฌ
๋ณด์กฐ ์ ๋ฆฌ
- ๊ทผ๋ณธ์ ์ธ ์์ถฉ ๊ด๊ณ : ์๋ฒฝํ ๋ฐ๋น๋ก ๊ด๊ณ
- ํผ์ก ์ ํญ DUA์ ์ทจ์ฝ์ : ์ธํ๋ ์ด์ ๊ณต๊ฒฉ์ ์ทจ์ฝ
- ์ธํ๋ ์ด์ ์ ํญ DUA์ ์ทจ์ฝ์
โ ๊ฒฐ๊ตญ ํผ์ก ๊ณต๊ฒฉ๊ณผ ์ธํ๋ ์ด์ ๊ณต๊ฒฉ์ ๋์์ ์ ํญ ๋ถ๊ฐ
ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์คํ ๊ฒฐ๊ณผ
ํผ์ก ์งํ ๋์ ์ ์ฒด์ ์ธ ์์ฒญ ์ฒ๋ฆฌ ์๋๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ์ง๊ด์ ์ธ ๋์ด๋ ์กฐ์ ๊ฐ๋ฅ. ๋ชฉํ ์์ฒญ ์ฒ๋ฆฌ์จ๊ณผ ์ค์ ์์ฒญ ์ฒ๋ฆฌ์จ ์ฌ์ด์ ๋ถ์ผ์น์ ์ํด์ ๊ฒฐ์
-
์๊ณ ๋ฆฌ์ฆ
Algorithm 2 New Difficulty Update Algorithm parameter: ยตtarget: The target dequeue rate that the service aims to maintain. ฮด: The adjusting parameter, with a default value of 1. Suggested puzzle difficulty state: Dsug[n]: The suggested puzzle difficulty at round n. โDhandled[n]: The sum of all puzzle difficulties of handled re quests during round n. rendhandled[n]: The number of handled requests during round n. update: at the end of each update round, 1: ยตadjust[n] โ rendhandled[n]/Troundรฮด where Tround is round duration 2: Dhandled[n] โ โDhandled[n]/rendhandled[n] 3: if Dhandled[n] = 0 and ยตadjust[n] > ยตtarget then 4: Dsug[n+1] โ8 5: else 6: Dsug[n+1] โ ยตadjust[n] 7: end if1๋จ๊ณ :
ฮผ_adjust[n] โ rend_handled[n] / (T_round ร ฮด)์ค์ ์์ฒญ ์ฒ๋ฆฌ ์๋ / ๋ฏผ๊ฐ๋ = ์กฐ์ ๋ ์ค์ ์ฒ๋ฆฌ์จ
2๋จ๊ณ :
D_handled[n] โ โD_handled[n] / rend_handled[n]ํ๊ท ํผ์ฆ ๋์ด๋
3๋จ๊ณ
ํ๊ท ํผ์ฆ ๋์ด๋๊ฐ 0์ด๊ฑฐ๋ ์กฐ์ ๋ ์ค์ ์ฒ๋ฆฌ์จ์ด ๋ชฉํ ์ฒ๋ฆฌ์จ๋ณด๋ค ํฌ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์ ์ ์ ๋์ด๋๊ฐ 8
4๋จ๊ณ
์๋๋ฉด ๋ค์ ๋์ด๋๋ = ํ๊ท ๋์ด๋ x ์กฐ์ ๋ ์ค์ ์ฒ๋ฆฌ์จ / ๋ชฉํ ์ฒ๋ฆฌ์จ
-
๊ฒฐ๊ณผ
- ๋์ด๋๋ฅผ ๋ถํ๋ฆฌ๋๋ฐ ๋น์ฉ ์์น
-
์งง์ ํผ์ก ๊ณต๊ฒฉ์ ๋ํ ๋ฐฉ์ด ๋ฅ๋ ฅ ๊ฐํ

-
intro-flooding ๋ฐฉ์ด

-
์คํ ๊ฒฐ๊ณผ
END-RUSH ATTACK๊ณผ temporary-turmoil๋ฅผ ํตํ ๋์ด๋ ๋ถํ๋ฆฌ๊ธฐ ์คํจ
๊ทธ์ ๋ฐ๋ฅธ choking๊ณผ Maintenance ์ญ์ ์คํจ
๊ฒฐ๋ก
๊ธฐ์กด์ DUA์ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ inflation๊ณผ congestion์ ์์ถฉ ๊ด๊ณ์ ๊ท ํ์ ์ ์ฐพ์.
๋ค๋ฅธ ์ต๋ช ๋คํธ์ํฌ์์์ DoS ๋ฐฉ์ด์ฑ ์๋ ์ ์ฉ ๊ฐ๋ฅ์ฑ ์ฐ๊ตฌ.
Tor์์ ๋ค๋ฅธ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ๊ณผ ํด๊ฒฐ์ฑ (ex. IP ์คํธํ)๊ณผ ๋ค๋ฅธ ๋คํธ์ํฌ์์์ DoS/DDoS์ ๋ํด์ ๊ณต๋ถ
Leave a comment