ALPACA - HTTPS์— ๋Œ€ํ•œ MITM ๊ณต๊ฒฉ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ 

๋…์ผ์˜ ์—ฌ๋Ÿฌ ๋Œ€ํ•™ ์—ฐ๊ตฌํŒ€์ด ์„ธ์…˜ ์ฟ ํ‚ค ๋ฐ ๊ธฐํƒ€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์ž„์˜์˜ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” HTTPS์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด MITM ๊ณต๊ฒฉ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณต๊ฒฉ์€ ALPACA๋ผ๊ณ  ํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ(HTTPS, SFTP, SMTP, IMAP, POP3)์„ ๊ตฌํ˜„ํ•˜์ง€๋งŒ ๊ณตํ†ต TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” TLS ์„œ๋ฒ„์— ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์˜ ๋ณธ์งˆ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ ๋ฌด์„  ์•ก์„ธ์Šค ํฌ์ธํŠธ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์›น ํŠธ๋ž˜ํ”ฝ์„ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ํฌํŠธ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๊ณ  TLS ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜๊ณ  ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” FTP ๋˜๋Š” ๋ฉ”์ผ ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ ์„ค์ •์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. HTTP ์„œ๋ฒ„์™€ ๊ณตํ†ต๋œ TLS ์ธ์ฆ์„œ ๋ฐ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์š”์ฒญ๋œ HTTP ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. TLS ํ”„๋กœํ† ์ฝœ์€ ๋ณดํŽธ์ ์ด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ํ”„๋กœํ† ์ฝœ์— ์–ฝ๋งค์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ ์„ค์ •์ด ๋™์ผํ•˜๋ฉฐ ์ž˜๋ชป๋œ ์„œ๋น„์Šค๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์˜ค๋ฅ˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์•”ํ˜ธํ™”๋œ ์„ธ์…˜์„ ์„ค์ •ํ•œ ํ›„์—๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์†ก๋œ ์š”์ฒญ์˜ ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์˜ˆ๋ฅผ ๋“ค์–ด ์›๋ž˜ HTTPS๋กœ ์ง€์ •๋œ ์‚ฌ์šฉ์ž ์—ฐ๊ฒฐ์„ HTTPS ์„œ๋ฒ„์™€ ๊ณต์œ ๋œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ผ ์„œ๋ฒ„๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๊ฒฝ์šฐ TLS ์—ฐ๊ฒฐ์€ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์ •๋˜์ง€๋งŒ ๋ฉ”์ผ ์„œ๋ฒ„๋Š” ์ „์†ก๋œ ์ธ์ฆ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. HTTP ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์‘๋‹ต์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด ์‘๋‹ต์€ ์š”์ฒญ๋œ ์‚ฌ์ดํŠธ์˜ ์‘๋‹ต์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฒ˜๋ฆฌ๋˜๋ฉฐ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋œ ์•”ํ˜ธํ™”๋œ ํ†ต์‹  ์ฑ„๋„ ๋‚ด์—์„œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ ๊ณต๊ฒฉ ์˜ต์…˜์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.

  • ์ธ์ฆ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋œ ์ฟ ํ‚ค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด "์—…๋กœ๋“œ"ํ•˜์„ธ์š”. TLS ์ธ์ฆ์„œ๊ฐ€ ์ ์šฉ๋˜๋Š” FTP ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณต๊ฒฉ ๋ณ€ํ˜•์—์„œ ๊ณต๊ฒฉ์ž๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด FTP ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ €์žฅ ํŒŒ์ผ๋กœ ํ•ด์„ํ•˜๊ฑฐ๋‚˜ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ ์ „์ฒด๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฒฝ์šฐ ์ฟ ํ‚ค ํ—ค๋”์˜ ๋‚ด์šฉ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์›๋ž˜ HTTP ์š”์ฒญ์˜ ์ผ๋ถ€๋ฅผ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์— ์„ฑ๊ณตํ•˜๋ ค๋ฉด ๊ณต๊ฒฉ์ž๋Š” ์–ด๋–ป๊ฒŒ๋“  ์ €์žฅ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณต๊ฒฉ์€ Proftpd, Microsoft IIS, vsftpd, filezilla ๋ฐ serv-u์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • XSS(๊ต์ฐจ ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…) ๊ตฌ์„ฑ์„ ์œ„ํ•œ "๋‹ค์šด๋กœ๋“œ". ์ด ๋ฐฉ๋ฒ•์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ผ๋ถ€ ๊ฐœ๋ณ„ ์กฐ์ž‘์˜ ๊ฒฐ๊ณผ๋กœ ์‚ฌ์šฉ์ž ์š”์ฒญ์— ์‘๋‹ตํ•˜์—ฌ ๋ฐœ๊ธ‰๋  ์ˆ˜ ์žˆ๋Š” ๊ณตํ†ต TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณต๊ฒฉ์€ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ FTP ์„œ๋ฒ„, IMAP ์„œ๋ฒ„, POP3 ์„œ๋ฒ„(courier, cyrus, kerio-connect, zimbra)์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ ์ปจํ…์ŠคํŠธ์—์„œ JavaScript๋ฅผ ์‹คํ–‰ํ•˜๋Š” "๋ฆฌํ”Œ๋ ‰์…˜"์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ณด๋‚ธ JavaScript ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ์š”์ฒญ์˜ ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„์œผ๋กœ์˜ ๋ฐ˜ํ™˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณต๊ฒฉ์€ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ FTP ์„œ๋ฒ„, cyrus, kerio-connect ๋ฐ zimbra IMAP ์„œ๋ฒ„๋Š” ๋ฌผ๋ก  sendmail SMTP ์„œ๋ฒ„์—๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ALPACA - HTTPS์— ๋Œ€ํ•œ MITM ๊ณต๊ฒฉ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ 

์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹ํŽ˜์ด์ง€๋ฅผ ์—ด๋ฉด ์ด ํŽ˜์ด์ง€๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ™œ์„ฑ ๊ณ„์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ์ดํŠธ(์˜ˆ:bank.com)์—์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MITM ๊ณต๊ฒฉ ์ค‘์—bank.com ์›น์‚ฌ์ดํŠธ๋กœ ํ–ฅํ•˜๋Š” ์ด ์š”์ฒญ์€bank.com๊ณผ ๊ณต์œ ๋˜๋Š” TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฉ”์ผ ์„œ๋ฒ„๋กœ ๋ฆฌ๋””๋ ‰์…˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์ผ ์„œ๋ฒ„๋Š” ์ฒซ ๋ฒˆ์งธ ์˜ค๋ฅ˜ ์ดํ›„์—๋„ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— "POST / HTTP/1.1", "Host:"์™€ ๊ฐ™์€ ์„œ๋น„์Šค ํ—ค๋” ๋ฐ ๋ช…๋ น์€ ์•Œ ์ˆ˜ ์—†๋Š” ๋ช…๋ น์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํ—ค๋”).

๋ฉ”์ผ ์„œ๋ฒ„๋Š” HTTP ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ ์ด์— ๋Œ€ํ•ด POST ์š”์ฒญ์˜ ์„œ๋น„์Šค ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์ด ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ POST ์š”์ฒญ ๋ณธ๋ฌธ์— ๋ช…๋ น์ด ํฌํ•จ๋œ ์ค„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์ผ ์„œ๋ฒ„. ์˜ˆ๋ฅผ ๋“ค์–ด MAIL FROM:์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. alert(1); ๋ฉ”์ผ ์„œ๋ฒ„๊ฐ€ 501 ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ณณ alert(1); : ์ž˜๋ชป๋œ ์ฃผ์†Œ: Alert(1); ๋”ฐ๋ฅด์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค

์ด ์‘๋‹ต์€ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์ˆ˜์‹ ๋˜๋ฉฐ, ์‘๋‹ต์ด ์˜ฌ๋ฐ”๋ฅธ TLS ์„ธ์…˜ ๋‚ด์—์„œ ์™”๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์ž๊ฐ€ ์ฒ˜์Œ ์—ด์—ˆ๋˜ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์š”์ฒญ์ด ์ „์†ก๋œ Bank.com ์›น์‚ฌ์ดํŠธ์˜ ์ปจํ…์ŠคํŠธ์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. , ๊ทธ ์ธ์ฆ์„œ๋Š” Bank.com ์‘๋‹ต์˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ALPACA - HTTPS์— ๋Œ€ํ•œ MITM ๊ณต๊ฒฉ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ 

๊ธ€๋กœ๋ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ ์ผ๋ฐ˜์ ์œผ๋กœ ์•ฝ 1.4๋งŒ ๊ฐœ์˜ ์›น ์„œ๋ฒ„๊ฐ€ ์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์œผ๋ฉฐ, ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ํ˜ผํ•ฉํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ์€ ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ TLS ์„œ๋ฒ„๊ฐ€ ๋™๋ฐ˜๋œ 119๊ฐœ์˜ ์›น ์„œ๋ฒ„์— ๋Œ€ํ•ด ํŒ๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์˜ ์˜ˆ๋Š” FTP ์„œ๋ฒ„ pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla ๋ฐ serv-u, IMAP ๋ฐ POP3 ์„œ๋ฒ„ dovecot, courier, exchange, cyrus, kerio-connect ๋ฐ zimbra, SMTP ์„œ๋ฒ„ postfix, exim, sendmail์— ๋Œ€ํ•ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. , ๋ฉ”์ผ ๊ฐ€๋Šฅ, mdaemon ๋ฐ opensmtpd. ์—ฐ๊ตฌ์›๋“ค์€ FTP, SMTP, IMAP, POP3 ์„œ๋ฒ„์™€ ๊ฒฐํ•ฉํ•ด์•ผ๋งŒ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์—ฐ๊ตฌํ–ˆ์ง€๋งŒ, TLS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ์—์„œ๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ALPACA - HTTPS์— ๋Œ€ํ•œ MITM ๊ณต๊ฒฉ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ 

๊ณต๊ฒฉ์„ ์ฐจ๋‹จํ•˜๋ ค๋ฉด ALPN(Application Layer Protocol Negotiation) ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ์„ ๊ณ ๋ คํ•˜์—ฌ TLS ์„ธ์…˜์„ ํ˜‘์ƒํ•˜๊ณ , SNI(Server Name Indication) ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํฌํ•จํ•˜๋Š” TLS ์ธ์ฆ์„œ์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธก์—์„œ๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์˜ค๋ฅ˜ ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์„ ์ œํ•œํ•œ ํ›„ ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์ฑ… ๋งˆ๋ จ ๊ณผ์ •์€ ์ง€๋‚œํ•ด 1.21.0์›”๋ถ€ํ„ฐ ์‹œ์ž‘๋๋‹ค. Nginx 3.0.4(๋ฉ”์ผ ํ”„๋ก์‹œ), Vsftpd 5.1.0, Courier XNUMX, Sendmail, FileZill, crypto/tls(Go) ๋ฐ Internet Explorer์—์„œ๋Š” ์œ ์‚ฌํ•œ ๋ณด์•ˆ ์กฐ์น˜๊ฐ€ ์ด๋ฏธ ์ทจํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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