์›๊ฒฉ ์„œ๋น„์Šค ๊ฑฐ๋ถ€๋กœ ์ด์–ด์ง€๋Š” Linux ๋ฐ FreeBSD TCP ์Šคํƒ์˜ ์ทจ์•ฝ์ 

๋„ทํ”Œ๋ฆญ์Šค ํšŒ์‚ฌ ๋…ธ์ถœ๋œ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ทจ์•ฝ์  Linux ๋ฐ FreeBSD TCP ์Šคํƒ์—์„œ๋Š” ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ TCP ํŒจํ‚ท(์ฃฝ์Œ์˜ ํŒจํ‚ท)์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์›๊ฒฉ์œผ๋กœ ์ปค๋„ ์ถฉ๋Œ์„ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๊ณผ๋„ํ•œ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์›์ธ TCP ํŒจํ‚ท์˜ ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก ํฌ๊ธฐ(MSS, ์ตœ๋Œ€ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ) ๋ฐ ์—ฐ๊ฒฐ์˜ ์„ ํƒ์  ์Šน์ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜(SACK, TCP ์„ ํƒ์  ์Šน์ธ)์— ๋Œ€ํ•œ ํ•ธ๋“ค๋Ÿฌ์˜ ์˜ค๋ฅ˜.

  • CVE-2019-11477 (SACK ํŒจ๋‹‰) - 2.6.29๋ถ€ํ„ฐ Linux ์ปค๋„์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ œ๋กœ, ํ•ธ๋“ค๋Ÿฌ์˜ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ์ผ๋ จ์˜ SACK ํŒจํ‚ท์„ ๋ณด๋‚ด ์ปค๋„ ํŒจ๋‹‰์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉํ•˜๋ ค๋ฉด TCP ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ MSS ๊ฐ’์„ 48๋ฐ”์ดํŠธ๋กœ ์„ค์ •ํ•˜๊ณ (ํ•˜ํ•œ์€ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋ฅผ 8๋ฐ”์ดํŠธ๋กœ ์„ค์ •) ํŠน์ • ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์—ด๋œ SACK ํŒจํ‚ท ์‹œํ€€์Šค๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

    ๋ณด์•ˆ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ SACK ์ฒ˜๋ฆฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜(/proc/sys/net/ipv0/tcp_sack์— 4 ์“ฐ๊ธฐ) ์ฐจ๋‹จ ๋‚ฎ์€ MSS ์—ฐ๊ฒฐ(sysctl net.ipv4.tcp_mtu_probing์ด 0์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•˜๋ฉฐ ์ผ๋ถ€ ์ •์ƒ์ ์ธ ๋‚ฎ์€ MSS ์—ฐ๊ฒฐ์„ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ์Œ)

  • CVE-2019-11478 (SACK ์†๋„ ์ €ํ•˜) - SACK ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜(4.15 ์ด์ „ Linux ์ปค๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) ๊ณผ๋„ํ•œ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์žฌ์ „์†ก ํ(TCP ์žฌ์ „์†ก)๋ฅผ ์กฐ๊ฐํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ์ œ์ž‘๋œ SACK ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ด์ „ ์ทจ์•ฝ์ ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • CVE-2019-5599 (SACK ๋Š๋ฆผ) - ๋‹จ์ผ TCP ์—ฐ๊ฒฐ ๋‚ด์—์„œ ํŠน์ˆ˜ SACK ์‹œํ€€์Šค๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ „์†ก๋œ ํŒจํ‚ท ๋งต์˜ ์กฐ๊ฐํ™”๋ฅผ ์œ ๋ฐœํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ธ ๋ชฉ๋ก ์—ด๊ฑฐ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” RACK ํŒจํ‚ท ์†์‹ค ๊ฐ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์žˆ๋Š” FreeBSD 12์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ RACK ๋ชจ๋“ˆ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2019-11479 - ๊ณต๊ฒฉ์ž๋Š” Linux ์ปค๋„์ด ์‘๋‹ต์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ TCP ์„ธ๊ทธ๋จผํŠธ๋กœ ๋ถ„ํ• ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์„ธ๊ทธ๋จผํŠธ์—๋Š” ๊ฐ๊ฐ 8๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์–ด ํŠธ๋ž˜ํ”ฝ์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ณ  CPU ๋กœ๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉฐ ํ†ต์‹  ์ฑ„๋„์ด ๋ง‰ํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ์ฐจ๋‹จ MSS๊ฐ€ ๋‚ฎ์€ ์—ฐ๊ฒฐ.

    Linux ์ปค๋„์—์„œ ๋ฌธ์ œ๋Š” ๋ฆด๋ฆฌ์Šค 4.4.182, 4.9.182, 4.14.127, 4.19.52 ๋ฐ 5.1.11์—์„œ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. FreeBSD์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์ . ๋ฐฐํฌํŒ์—์„œ๋Š” ์ปค๋„ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ฏธ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, RHEL, ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ. ์ค€๋น„ ์ค‘ ์ˆ˜์ • Ubuntu, ํŽ˜๋„๋ผ ะธ ์•„์น˜ ๋ฆฌ๋ˆ…์Šค.

    ์ถœ์ฒ˜ : opennet.ru

  • ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€