ํŒจ์น˜๋œ Exim - ๋‹ค์‹œ ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ Exim 4.92์—์„œ ์ƒˆ๋กœ์šด ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰

ํŒจ์น˜๋œ Exim - ๋‹ค์‹œ ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ Exim 4.92์—์„œ ์ƒˆ๋กœ์šด ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰

์ตœ๊ทผ ์ดˆ์—ฌ๋ฆ„์—๋Š” CVE-4.92-2019 ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด Exim์„ ๋ฒ„์ „ 10149๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค๋Š” ์š”์ฒญ์ด ๋„๋ฆฌ ํผ์กŒ์Šต๋‹ˆ๋‹ค(Exim์„ 4.92๋กœ ๊ธด๊ธ‰ ์—…๋ฐ์ดํŠธ - ํ™œ์„ฑ ๊ฐ์—ผ์ด ์žˆ์Œ / Sudo Null IT News). ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ Sustes ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์ด ์ทจ์•ฝ์ ์„ ์ด์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๊ธด๊ธ‰ํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ๋‹ค์‹œ "๊ธฐ๋ป"ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 21๋…„ 2019์›” XNUMX์ผ Zerons ์—ฐ๊ตฌ์›์€ ๋‹ค์Œ์—์„œ ์น˜๋ช…์ ์ธ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. TLS ์‚ฌ์šฉ ์‹œ Exim ๋ฉ”์ผ ์ „์†ก ์—์ด์ „ํŠธ(MTA) ๋ฒ„์ „์˜ ๊ฒฝ์šฐ 4.80 4.92.1 ์ตœ๋Œ€ ํฌํ•จ, ์›๊ฒฉ ํ—ˆ์šฉ ํŠน๊ถŒ์ ์ธ ๊ถŒํ•œ์œผ๋กœ ์ฝ”๋“œ ์‹คํ–‰ (CVE-2019-15846).

์ทจ์•ฝ์ 

๋ณด์•ˆ TLS ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ GnuTLS ๋ฐ OpenSSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ๋•Œ ์ทจ์•ฝ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž Heiko Schlittermann์— ๋”ฐ๋ฅด๋ฉด Exim์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ TLS๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ๋งŽ์€ ๋ฐฐํฌํŒ์—์„œ๋Š” ์„ค์น˜ ์ค‘์— ํ•„์š”ํ•œ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ตœ์‹  ๋ฒ„์ „์˜ Exim์€ ์˜ต์…˜์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. tls_advertise_hosts=* ํ•„์š”ํ•œ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐํฌํŒ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€๋งŒ Exim์€ TLS ์„œ๋ฒ„๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ์ธ์ฆ์„œ+ํ‚ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ Distros๋Š” ์„ค์ • ์ค‘์— ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  Exim์—๋Š” "*"๋กœ ๊ธฐ๋ณธ๊ฐ’์ด ์„ค์ •๋œ tls_advertise_hosts ์˜ต์…˜์ด ์žˆ์œผ๋ฉฐ, ์•„๋ฌด๊ฒƒ๋„ ์ œ๊ณต๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ž์ฒด ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ทจ์•ฝ์  ์ž์ฒด๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•ด RFC 2003์— 3546๋…„์— ๋„์ž…๋œ ๊ธฐ์ˆ ์ธ SNI(Server Name Indication)์˜ ์ž˜๋ชป๋œ ์ฒ˜๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. TLS SNI ํ‘œ์ค€ ๋ฐฐํฌ / WEBO ๊ทธ๋ฃน ๋ธ”๋กœ๊ทธ / Sudo Null IT News) TLS ํ•ธ๋“œ์…ฐ์ดํฌ ์ค‘. ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์Šฌ๋ž˜์‹œ("")์™€ ๋„ ๋ฌธ์ž(" ")๋กœ ๋๋‚˜๋Š” SNI๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Qualys์˜ ์—ฐ๊ตฌ์›๋“ค์ด string_printing(tls_in.sni) ํ•จ์ˆ˜์—์„œ โ€œโ€์˜ ์ž˜๋ชป๋œ ์ด์Šค์ผ€์ดํ”„์™€ ๊ด€๋ จ๋œ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐฑ์Šฌ๋ž˜์‹œ๋Š” ์ธ์‡„ ์Šคํ’€ ํ—ค๋” ํŒŒ์ผ์— ์ด์Šค์ผ€์ดํ”„๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ spool_read_header() ํ•จ์ˆ˜์— ์˜ํ•ด ํŠน๊ถŒ ๊ถŒํ•œ์œผ๋กœ ์ด ํŒŒ์ผ์„ ์ฝ์–ด ํž™ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Exim ๊ฐœ๋ฐœ์ž๊ฐ€ ์ทจ์•ฝํ•œ ์›๊ฒฉ ์„œ๋ฒ„์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ทจ์•ฝ์„ฑ์— ๋Œ€ํ•œ PoC๋ฅผ ์ƒ์„ฑํ–ˆ์ง€๋งŒ ์•„์ง ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ์•…์šฉ์˜ ์šฉ์ด์„ฑ์œผ๋กœ ์ธํ•ด ์ด๋Š” ์‹œ๊ฐ„ ๋ฌธ์ œ์ผ ๋ฟ์ด๋ฉฐ ์ƒ๋‹นํžˆ ์งง์Šต๋‹ˆ๋‹ค.

Qualys์˜ ๋” ์ž์„ธํ•œ ์—ฐ๊ตฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

ํŒจ์น˜๋œ Exim - ๋‹ค์‹œ ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ Exim 4.92์—์„œ ์ƒˆ๋กœ์šด ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰

TLS์—์„œ SNI ์‚ฌ์šฉ

์ž ์žฌ์ ์œผ๋กœ ์ทจ์•ฝํ•œ ๊ณต์šฉ ์„œ๋ฒ„ ์ˆ˜

๋Œ€๊ทœ๋ชจ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์˜ ํ†ต๊ณ„์— ๋”ฐ๋ฅด๋ฉด ์ด์†Œํ”„ํŠธ(์ฃผ) 1์›” 4.92์ผ ํ˜„์žฌ ์ž„๋Œ€ ์„œ๋ฒ„์—์„œ๋Š” ๋ฒ„์ „ 70๊ฐ€ ํ˜ธ์ŠคํŠธ์˜ XNUMX% ์ด์ƒ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „
์„œ๋ฒ„ ์ˆ˜
ํผ์„ผํŠธ

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

๋‹ค๋ฅธ ๋ฒ„์ „
25568
5.04%

E-Soft Inc ํšŒ์‚ฌ ํ†ต๊ณ„

๊ฒ€์ƒ‰์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์‡ผ๋‹จ, ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ 5,250,000๊ฐœ ์ค‘ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์•ฝ 3,500,000๋ช…์ด Exim 4.92๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์•ฝ 1,380,000๋ช…์ด SSL/TLS๋ฅผ ์‚ฌ์šฉํ•จ).
  • 74,000์„ ์‚ฌ์šฉํ•˜๋ฉด 4.92.1๊ฐœ ์ด์ƒ(SSL/TLS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ฝ 25,000๊ฐœ)

๋”ฐ๋ผ์„œ ๊ณต๊ฐœ์ ์œผ๋กœ ์•Œ๋ ค์ง€๊ณ  ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ Exim์˜ ์ž ์žฌ์ ์œผ๋กœ ์ทจ์•ฝํ•œ ์„œ๋ฒ„ ์ˆ˜๋Š” ์•ฝ 1.5M.

ํŒจ์น˜๋œ Exim - ๋‹ค์‹œ ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ Exim 4.92์—์„œ ์ƒˆ๋กœ์šด ์›๊ฒฉ ๋ช…๋ น ์‹คํ–‰

Shodan์—์„œ Exim ์„œ๋ฒ„ ๊ฒ€์ƒ‰

๋ณดํ˜ธ

  • ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ์˜ต์…˜์€ TLS๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ „์ž ๋ฉ”์ผ ๋ฉ”์‹œ์ง€๊ฐ€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  • ์ทจ์•ฝ์  ์•…์šฉ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ๋” ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ์—‘์‹ฌ ์ธํ„ฐ๋„ท ๋ฉ”์ผ๋Ÿฌ 4.92.2.
  • ํŒจ์น˜ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์˜ต์…˜์— ๋Œ€ํ•œ Exim ๊ตฌ์„ฑ์—์„œ ACL์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. acl_smtp_mail ๋‹ค์Œ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

์ถœ์ฒ˜ : habr.com

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