์•ˆ์ „ํ•œ ํ‘ธ์‹œ ์•Œ๋ฆผ: ์ด๋ก ๋ถ€ํ„ฐ ์‹ค์Šต๊นŒ์ง€

ํ—ค์ด ํ•˜๋ธŒ๋ฅด!

์˜ค๋Š˜์€ ๋™๋ฃŒ๋“ค๊ณผ ์ œ๊ฐ€ ๋ช‡ ๋‹ฌ ๋™์•ˆ ํ•ด์˜จ ์ผ, ์ฆ‰ ๋ชจ๋ฐ”์ผ ์ธ์Šคํ„ดํŠธ ๋ฉ”์‹ ์ €์— ๋Œ€ํ•œ ํ‘ธ์‹œ ์•Œ๋ฆผ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ฐ€์žฅ ์ค‘์ ์„ ๋‘๋Š” ๋ถ€๋ถ„์€ ๋ณด์•ˆ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ํ‘ธ์‹œ ์•Œ๋ฆผ์— "์•ฝ์ "์ด ์žˆ๋Š”์ง€, ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ์œ ์šฉํ•œ ์˜ต์…˜์„ ์„œ๋น„์Šค์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ‰์ค€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์šฐ๋ฆฌ์˜ ๋ฒˆ์—ญ์„ ์ถœํŒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค Medium์˜ ๊ธฐ์‚ฌ ๋‚˜ ์ž์‹ ์ด ์•ฝ๊ฐ„์˜ ์ถ”๊ฐ€ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. '์กฐ์‚ฌ' ๊ฒฐ๊ณผ์™€ ๋ฌธ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์žฌ๋ฃŒ๋ฅผ ์กฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

ํด๋ž˜์‹ ๋ชจ๋ธ์—์„œ ํ‘ธ์‹œ ์•Œ๋ฆผ์€ ๋ฉ”์‹ ์ €๋ฅผ MITM(Man-in-the-Middle) ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Google, Microsoft ๋ฐ ์ด์ „ ๋ฒ„์ „์˜ iMessage๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Apple ์„œ๋ฒ„์— ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ๋˜๊ณ  ๋ฉ”์‹œ์ง€ ํ—ค๋”(๋˜๋Š” ํ•ด๋‹น ๋‚ด์šฉ)๊ฐ€ ํ•ด๋…๋ฉ๋‹ˆ๋‹ค.

์•ˆ์ „ํ•œ ํ‘ธ์‹œ ์•Œ๋ฆผ: ์ด๋ก ๋ถ€ํ„ฐ ์‹ค์Šต๊นŒ์ง€

๊ฒฐ๊ณผ์ ์œผ๋กœ ํ‘ธ์‹œ ์•Œ๋ฆผ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ์„œ์‹ ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ†ต์‹ ์˜ ์•”ํ˜ธํ™”๊ฐ€ ์“ธ๋ชจ๊ฐ€ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ‘ธ์‹œ ์•Œ๋ฆผ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ œXNUMX์ž๊ฐ€ ์ฝ์„ ๊ฐ€๋Šฅ์„ฑ์„ ๋‚จ๊ฒจ๋‘ก๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ์˜ ์ €์ž๋Š” ์ด ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. โ€œ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์•”ํ˜ธํ™”ํ•˜์„ธ์š”โ€ Xaker.ru์—์„œ๋Š” ๋ฉ”์‹œ์ง€ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ• ์ „์šฉ์ž…๋‹ˆ๋‹ค.

Apple ๋ฐ Google ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž ์•”ํ˜ธํ™” ํ‚ค ์œ ์ถœ๋กœ๋ถ€ํ„ฐ 100% ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ง์›์ด ํ•ด๋‹น ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ฆฌ๊ณ  ์ง์›์€ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค.
ํ‘ธ์‹œ ์•Œ๋ฆผ์˜ ๋ชจ๋“  ์ทจ์•ฝ์ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Signal ๋ฐ Telegram์„ ํฌํ•จํ•œ ๋งŽ์€ "๋ณด์•ˆ" ์ธ์Šคํ„ดํŠธ ๋ฉ”์‹ ์ €๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ง€์†์ ์œผ๋กœ ๋กœ๊ทธ์ธํ•˜์—ฌ ์ƒˆ ๋ฉ”์‹œ์ง€๋ฅผ "์ˆ˜๋™์œผ๋กœ" ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ๋ถˆํŽธํ•˜๋ฉฐ, ๊ฒฝ์Ÿํ•˜๋Š” ๋ฉ”์‹ ์ €๊ฐ€ ์ด์ ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘์ฆ๊ณผ ์ƒ์‹


์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ ์šฐ๋ฆฌ๋Š” ๋ช‡ ๋‹ฌ ์ „์— ์ด ๋ฌธ์ œ๋ฅผ ๋ฉด๋ฐ€ํžˆ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ์Ÿ๋ ฅ์„ ๊ฐ–์ถ”๋ ค๋ฉด ํ‘ธ์‹œ ์•Œ๋ฆผ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ๋ณด์•ˆ ํ—ˆ์ ์„ ์—ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ถœ๋˜๋ฉด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์‹ ๋ขฐ๊ฐ€ ํ›ผ์†๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ค‘์š”ํ•œ ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋ฉ”์‹ ์ €๋Š” ๋ถ„์‚ฐ๋˜์–ด ์žˆ๊ณ (๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋ก์ฒด์ธ์— ์ €์žฅ๋จ) ์ง์›์€ ๊ณ„์ •์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค์ง ์‚ฌ์šฉ์ž๋งŒ์ด ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋Œ€ํ™” ์ƒ๋Œ€์˜ ๊ณต๊ฐœ ํ‚ค๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์—ฌ MITM ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค.

ํ‘ธ์‹œ ์•Œ๋ฆผ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ๋Š” ์ตœ๋Œ€ํ•œ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ฉ”์‹œ์ง€ ํ…์ŠคํŠธ๋ฅผ ์ „ํ˜€ ์ „์†กํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‘ธ์‹œ ์„œ๋น„์Šค๋Š” ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€ ํ…์ŠคํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜์ง€ ์•Š๊ณ  ์ˆ˜์‹  ์‚ฌ์‹ค์— ๋Œ€ํ•œ ์‹ ํ˜ธ๋งŒ ์ˆ˜์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๋Š” "์ƒˆ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์•Œ๋ฆผ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹ ์ €์—์„œ๋งŒ ์—ด๋žŒ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ์ „ํ•œ ํ‘ธ์‹œ ์•Œ๋ฆผ: ์ด๋ก ๋ถ€ํ„ฐ ์‹ค์Šต๊นŒ์ง€
์ž‘๋™ ๋ฐฉ์‹: ๋น„๋””์˜ค.

๊ทธ ํ›„ ์šฐ๋ฆฌ๋Š” Apple์˜ ์ตœ์‹  ๋ฒ„์ „์˜ ์•Œ๋ฆผ์— ์ƒˆ๋กœ์šด ๋ณด์•ˆ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค ์ถœ์‹œ ๋œ UNNotificationServiceExtension์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ APNS๋ฅผ ํ†ตํ•ด ์™„์ „ํžˆ ์•”ํ˜ธํ™”๋œ ์•Œ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ตœ์ข… ์‚ฌ์šฉ์ž ๊ธฐ๊ธฐ์˜ ์•ฑ์ด ์•”ํ˜ธ ํ•ด๋…์„ ์ˆ˜ํ–‰ํ•˜๊ณ (๋˜๋Š” ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ ) ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ํ‘ธ์‹œ ์•Œ๋ฆผ์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ผ์•˜์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด์ œ ๋ณด์•ˆ ์œ„ํ—˜ ์—†์ด ๋ฉ”์‹œ์ง€ ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” iOS์šฉ ํ‘ธ์‹œ ์•Œ๋ฆผ์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฐœ๋…์—์„œ ๋…ผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ‘ธ์‹œ ์„œ๋น„์Šค๋Š” ๊ฑฐ๋ž˜ ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. (์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๋Š” ๋งค์šฐ ํด ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•Œ๋ฆผ ํฌ๊ธฐ๋Š” ๋งค์šฐ ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.)
  • ์žฅ์น˜๊ฐ€ ์•Œ๋ฆผ์„ ๋ฐ›์œผ๋ฉด ID๋กœ ๋…ธ๋“œ์—์„œ ํŠธ๋žœ์žญ์…˜์„ ์š”์ฒญํ•˜๊ณ  ์ €์žฅ๋œ ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ•ด๋…ํ•œ ํ›„ ์‹œ์Šคํ…œ์— ์ƒˆ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋งˆ์ดํฌ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ธNotificationServiceExtension์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•”ํ˜ธ๋Š” ๋ณด์•ˆ ์ €์žฅ์†Œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์€ ํ•ด๋…๋œ ๋ฉ”์‹œ์ง€ ๋˜๋Š” ๋ฒˆ์—ญ์ด ํฌํ•จ๋œ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ํ‚ค๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฉ”์‹œ์ง€์ฒ˜๋Ÿผ ์•„๋ฌด๋ฐ๋„ ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ‘ธ์‹œ ์„œ๋น„์Šค์—๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๋…ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

์•ˆ์ „ํ•œ ํ‘ธ์‹œ ์•Œ๋ฆผ: ์ด๋ก ๋ถ€ํ„ฐ ์‹ค์Šต๊นŒ์ง€

์šฐ๋ฆฌ๋Š” ์ด ๋ฒ„์ „์„ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์Šน์ธํ•˜๊ณ  iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ตœ์‹  ์—…๋ฐ์ดํŠธ์—์„œ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: github.com/Adamant-im/adamant-notificationService.

์ถœ์ฒ˜ : habr.com

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