Delivery Receipt Side-Channel Attacks in E2EE Messengers

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

๋ฐฐ๋‹ฌ ํ™•์ธ(Delivery receipts)์€ ํ˜„๋Œ€์˜ end-to-end encrypted (E2EE) ๋ฉ”์‹ ์ €์—์„œ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ciphertext๊ฐ€ ๋ณตํ˜ธํ™”๋œ ์‹œ์ ์„ ์•Œ์•„์•ผ ratcheting ์ƒํƒœ์™€ ์ผํšŒ์„ฑ ํ‚ค๋ฅผ ํ๊ธฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ๋ถˆํˆฌ๋ช…ํ•œ ๋ธ”๋กญ์„ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ๊ธฐ๊ธฐ ์‘๋‹ต(๋”๋ธ” ์ฒดํฌ๋งˆํฌ)์€ ์ˆ˜์‹ ์ž๊ฐ€ ๋ณตํ˜ธํ™”์— ์„ฑ๊ณตํ•œ ํ›„์— ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ์œ ๋ฐœํ•œ ๋™์ž‘๊ณผ ์ด์— ๋Œ€์‘ํ•˜๋Š” delivery receipt ๊ฐ„์˜ ์™•๋ณต ์‹œ๊ฐ„(RTT)์„ ์ธก์ •ํ•˜๋ฉด ๊ณ ํ•ด์ƒ๋„ ํƒ€์ด๋ฐ ์ฑ„๋„์ด device state, ์˜จ๋ผ์ธ ์กด์žฌ ์ƒํƒœ๋ฅผ leaksํ•˜๊ณ  ์€๋ฐ€ํ•œ DoS์— ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Multi-device โ€œclient-fanoutโ€ ๋ฐฐํฌ๋Š” ๋ชจ๋“  ๋“ฑ๋ก๋œ ์žฅ์น˜๊ฐ€ probe๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ž์ฒด receipt๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— leakage๋ฅผ ์ฆํญ์‹œํ‚ต๋‹ˆ๋‹ค.

Delivery receipt sources vs. user-visible signals

ํ•ญ์ƒ delivery receipt๋ฅผ ๋ฐœํ–‰ํ•˜์ง€๋งŒ ํ”ผํ•ด์ž UI์— ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๋Š” ๋ฉ”์‹œ์ง€ ํƒ€์ž…์„ ์„ ํƒํ•˜์„ธ์š”. ์•„๋ž˜ ํ‘œ๋Š” ์‹คํ—˜์ ์œผ๋กœ ํ™•์ธ๋œ ๋™์ž‘์„ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค:

MessengerActionDelivery receiptVictim notificationNotes
WhatsAppText messageโ—โ—ํ•ญ์ƒ ๋…ธ์ด์ฆˆ๊ฐ€ ์žˆ์Œ โ†’ ์ƒํƒœ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์šฉ๋„๋กœ๋งŒ ์œ ์šฉ.
Reactionโ—โ— (only if reacting to victim message)Self-reactions์™€ ์ œ๊ฑฐ๋Š” ์กฐ์šฉํ•จ.
Editโ—Platform-dependent silent pushํŽธ์ง‘ ์ฐฝ โ‰ˆ20๋ถ„; ๋งŒ๋ฃŒ ํ›„์—๋„ ack ๋จ.
Delete for everyoneโ—โ—‹UI๋Š” ~60์‹œ๊ฐ„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ์ดํ›„ ํŒจํ‚ท๋„ ack ๋จ.
SignalText messageโ—โ—WhatsApp๊ณผ ๋™์ผํ•œ ์ œํ•œ.
Reactionโ—โ—Self-reactions๋Š” ํ”ผํ•ด์ž์—๊ฒŒ ๋ณด์ด์ง€ ์•Š์Œ.
Edit/Deleteโ—โ—‹์„œ๋ฒ„๋Š” ์•ฝ 48์‹œ๊ฐ„ ์ฐฝ์„ ๊ฐ•์ œํ•˜๋ฉฐ ์ตœ๋Œ€ 10ํšŒ ํŽธ์ง‘ ํ—ˆ์šฉ, ์ง€์—ฐ๋œ ํŒจํ‚ท๋„ ack ๋จ.
ThreemaText messageโ—โ—Multi-device receipts๊ฐ€ ์ง‘๊ณ„๋˜๋ฏ€๋กœ probe๋‹น ๊ฐ€์‹œํ™”๋˜๋Š” RTT๋Š” ํ•˜๋‚˜๋ฟ์ž„.

Legend: โ— = ํ•ญ์ƒ, โ— = ์กฐ๊ฑด๋ถ€, โ—‹ = ์ ˆ๋Œ€ ์—†์Œ. ํ”Œ๋žซํผ ์˜์กด UI ๋™์ž‘์€ ๊ด„ํ˜ธ ๋‚ด์— ํ‘œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. read receipts๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, WhatsApp์ด๋‚˜ Signal์—์„œ๋Š” delivery receipts๋Š” ๋Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Attacker goals and models

  • G1 โ€“ Device fingerprinting: probe ๋‹น ๋„์ฐฉํ•˜๋Š” receipt ์ˆ˜๋ฅผ ์„ธ๊ณ , RTT๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜์—ฌ OS/ํด๋ผ์ด์–ธํŠธ(Android vs iOS vs desktop)๋ฅผ ์ถ”์ •ํ•˜๋ฉฐ ์˜จ๋ผ์ธ/์˜คํ”„๋ผ์ธ ์ „ํ™˜์„ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.
  • G2 โ€“ Behavioural monitoring: ๊ณ ์ฃผํŒŒ RTT ์‹œ๊ณ„์—ด(โ‰ˆ1 Hz๊ฐ€ ์•ˆ์ •์ )์„ ์‹œ๊ณ„์—ด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ™”๋ฉด ์ผœ์ง/๊บผ์ง, ์•ฑ ์ „๊ฒฝ/๋ฐฑ๊ทธ๋ผ์šด๋“œ, ํ†ต๊ทผ ์‹œ๊ฐ„ vs ๊ทผ๋ฌด ์‹œ๊ฐ„ ๋“ฑ์„ ์ถ”๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • G3 โ€“ Resource exhaustion: ๋์—†์ด silent probe๋ฅผ ๋ณด๋‚ด ๋ชจ๋“  ํ”ผํ•ด์ž ์žฅ์น˜์˜ ๋ผ๋””์˜ค/CPU๋ฅผ ๊นจ์–ด์žˆ๊ฒŒ ๋งŒ๋“ค์–ด ๋ฐฐํ„ฐ๋ฆฌ/๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋ชจ์‹œํ‚ค๊ณ  VoIP/RTC ํ’ˆ์งˆ์„ ์ €ํ•˜์‹œํ‚ต๋‹ˆ๋‹ค.

์œ„ ๋‚จ์šฉ ํ‘œ๋ฉด์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์œ„ํ˜‘ ํ–‰์œ„์ž๊ฐ€ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค:

  1. Creepy companion: ์ด๋ฏธ ํ”ผํ•ด์ž์™€ ์ฑ„ํŒ…์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ self-reactions, reaction removals, ๋˜๋Š” ๊ธฐ์กด ๋ฉ”์‹œ์ง€ ID์— ๋ฌถ์ธ ๋ฐ˜๋ณต์ ์ธ edits/deletes๋ฅผ ์•…์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. Spooky stranger: burner ๊ณ„์ •์„ ๋“ฑ๋กํ•˜๊ณ  ๋กœ์ปฌ ๋Œ€ํ™”์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” message IDs๋ฅผ ์ฐธ์กฐํ•˜๋Š” reactions์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค; WhatsApp๊ณผ Signal์€ UI๊ฐ€ ์ƒํƒœ ๋ณ€๊ฒฝ์„ ํ๊ธฐํ•˜๋”๋ผ๋„ ์ด๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ธ์ •ํ•˜๋ฏ€๋กœ ์‚ฌ์ „ ๋Œ€ํ™”๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Tooling for raw protocol access

UI ์ œ์•ฝ ๋ฐ–์—์„œ ํŒจํ‚ท์„ ์ œ์ž‘ํ•˜๊ณ  ์ž„์˜์˜ message_id๋ฅผ ์ง€์ •ํ•˜๋ฉฐ ์ •๋ฐ€ํ•œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋กœ๊น…ํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ E2EE ํ”„๋กœํ† ์ฝœ์„ ๋…ธ์ถœํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:

  • WhatsApp: whatsmeow (Go, WhatsApp Web protocol) ๋˜๋Š” Cobalt (๋ชจ๋ฐ”์ผ ์ง€ํ–ฅ)์€ double-ratchet ์ƒํƒœ๋ฅผ ๋™๊ธฐํ™”ํ•œ ์ƒํƒœ์—์„œ raw ReactionMessage, ProtocolMessage (edit/delete), ๋ฐ Receipt ํ”„๋ ˆ์ž„์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • Signal: signal-cli์™€ libsignal-service-java๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด ๋ชจ๋“  ๋ฉ”์‹œ์ง€ ํƒ€์ž…์„ CLI/API๋กœ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ self-reaction ํ† ๊ธ€:
signal-cli -u +12025550100 sendReaction --target +12025550123 \
--message-timestamp 1712345678901 --emoji "๐Ÿ‘"
signal-cli -u +12025550100 sendReaction --target +12025550123 \
--message-timestamp 1712345678901 --remove  # encodes empty emoji
  • Threema: Android ํด๋ผ์ด์–ธํŠธ์˜ ์†Œ์Šค๋Š” delivery receipts๊ฐ€ ๊ธฐ๊ธฐ๋ฅผ ๋– ๋‚˜๊ธฐ ์ „์— ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉ๋˜๋Š”์ง€ ๋ฌธ์„œํ™”ํ•˜๊ณ  ์žˆ์–ด, ๊ทธ์ชฝ์—์„œ๋Š” ์‚ฌ์ด๋“œ ์ฑ„๋„์˜ ๋Œ€์—ญํญ์ด ๊ฑฐ์˜ ์—†์Œ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ํˆด์ด ์—†์„ ๋•Œ๋Š” WhatsApp Web ๋˜๋Š” Signal Desktop์—์„œ silent action์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ณ  ์•”ํ˜ธํ™”๋œ websocket/WebRTC ์ฑ„๋„์„ ์Šค๋‹ˆํ•‘ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, raw API๋Š” UI ์ง€์—ฐ์„ ์ œ๊ฑฐํ•˜๊ณ  ์œ ํšจํ•˜์ง€ ์•Š์€ ๋™์ž‘์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

Creepy companion: silent sampling loop

  1. ํ”ผํ•ด์ž๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณด์ง€ ์•Š๋„๋ก ์ฑ„ํŒ…์—์„œ ๋ณธ์ธ์ด ์ž‘์„ฑํ•œ ๊ณผ๊ฑฐ ๋ฉ”์‹œ์ง€๋ฅผ ํ•˜๋‚˜ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ€์‹œ์ ์ธ ์ด๋ชจ์ง€์™€ ๋นˆ reaction ํŽ˜์ด๋กœ๋“œ(WhatsApp protobuf์—์„œ๋Š” ""๋กœ, signal-cli์—์„œ๋Š” --remove๋กœ ์ธ์ฝ”๋”ฉ)๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ „์†ก์€ ํ”ผํ•ด์ž์—๊ฒŒ UI ๋ณ€ํ™”๊ฐ€ ์—†์–ด๋„ ์žฅ์น˜ ack๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ „์†ก ์‹œ๊ฐ„๊ณผ ๋ชจ๋“  delivery receipt ๋„์ฐฉ ์‹œ๊ฐ์„ ํƒ€์ž„์Šคํƒฌํ”„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ 1 Hz ๋ฃจํ”„๋Š” ์žฅ์น˜๋ณ„ RTT ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ฌด๊ธฐํ•œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:
while True:
send_reaction(msg_id, "๐Ÿ‘")
log_receipts()
send_reaction(msg_id, "")  # removal
log_receipts()
time.sleep(0.5)
  1. WhatsApp/Signal์ด ๋ฌด์ œํ•œ reaction ์—…๋ฐ์ดํŠธ๋ฅผ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๋Š” ์ƒˆ ์ฑ„ํŒ… ๋‚ด์šฉ์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ํŽธ์ง‘ ์ฐฝ์„ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Spooky stranger: probing arbitrary phone numbers

  1. ์ƒˆ WhatsApp/Signal ๊ณ„์ •์„ ๋“ฑ๋กํ•˜๊ณ  ๋Œ€์ƒ ๋ฒˆํ˜ธ์˜ ๊ณต๊ฐœ identity keys๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(์„ธ์…˜ ์„ค์ • ์ค‘ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰).
  2. ์–‘ ๋‹น์‚ฌ์ž๊ฐ€ ๋ณธ ์ ์ด ์—†๋Š” ์ž„์˜์˜ message_id๋ฅผ ์ฐธ์กฐํ•˜๋Š” reaction/edit/delete ํŒจํ‚ท์„ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(WhatsApp์€ ์ž„์˜์˜ key.id GUID๋ฅผ ํ—ˆ์šฉ; Signal์€ ๋ฐ€๋ฆฌ์ดˆ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์‚ฌ์šฉ).
  3. ์Šค๋ ˆ๋“œ๊ฐ€ ์—†์–ด๋„ ํŒจํ‚ท์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํ”ผํ•ด์ž ์žฅ์น˜๋Š” ์ด๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์›๋ณธ ๋ฉ”์‹œ์ง€์™€ ๋งค์น˜์— ์‹คํŒจํ•ด ์ƒํƒœ ๋ณ€๊ฒฝ์„ ํ๊ธฐํ•˜์ง€๋งŒ, ์—ฌ์ „ํžˆ ๋“ค์–ด์˜จ ciphertext๋ฅผ ์ธ์ •ํ•˜์—ฌ ๊ธฐ๊ธฐ receipts๋ฅผ ๊ณต๊ฒฉ์ž์—๊ฒŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  4. ์ฑ„ํŒ… ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ ๋„ RTT ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์—ฐ์†์ ์œผ๋กœ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Recycling edits and deletes as covert triggers

  • Repeated deletes: ๋ฉ”์‹œ์ง€๊ฐ€ ํ•œ ๋ฒˆ delete-for-everyone ๋œ ํ›„์—๋„ ๋™์ผํ•œ message_id๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ถ”๊ฐ€ delete ํŒจํ‚ท์€ UI์— ์˜ํ–ฅ์ด ์—†์ง€๋งŒ ๋ชจ๋“  ์žฅ์น˜๋Š” ์—ฌ์ „ํžˆ ์ด๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • Out-of-window operations: WhatsApp์€ UI์—์„œ ์•ฝ 60์‹œ๊ฐ„ ์‚ญ์ œ / ์•ฝ 20๋ถ„ ํŽธ์ง‘ ์ฐฝ์„ ๊ฐ•์ œํ•˜๋ฉฐ Signal์€ ์•ฝ 48์‹œ๊ฐ„์„ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. ์ด ์ฐฝ ๋ฐ–์—์„œ ์ œ์ž‘๋œ ํ”„๋กœํ† ์ฝœ ๋ฉ”์‹œ์ง€๋Š” ํ”ผํ•ด์ž ๊ธฐ๊ธฐ์—์„œ ์กฐ์šฉํžˆ ๋ฌด์‹œ๋˜์ง€๋งŒ receipts๋Š” ์ „์†ก๋˜๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๋Š” ๋Œ€ํ™”๊ฐ€ ๋๋‚œ ์ดํ›„์—๋„ ๋ฌด๊ธฐํ•œ์œผ๋กœ ํ”„๋กœ๋ธŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Invalid payloads: ์ž˜๋ชป๋œ ํŽธ์ง‘ ๋ณธ๋ฌธ์ด๋‚˜ ์ด๋ฏธ ์ •๋ฆฌ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์‚ญ์ œ๋Š” ๋™์ผํ•œ ๋™์ž‘โ€”๋ณตํ˜ธํ™” ํ›„ receipt ์ „์†ก, ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ „ํ˜€ ๋ณด์ด์ง€ ์•Š์Œโ€”์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

Multi-device amplification & fingerprinting

  • ์—ฐ๊ฒฐ๋œ ๊ฐ ์žฅ์น˜(์ „ํ™”, ๋ฐ์Šคํฌํ†ฑ ์•ฑ, ๋ธŒ๋ผ์šฐ์ € ๋™๋ฐ˜์ž)๋Š” probe๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ž์ฒด ack๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. probe๋‹น receipt ์ˆ˜๋ฅผ ์„ธ๋ฉด ์ •ํ™•ํ•œ ์žฅ์น˜ ์ˆ˜๊ฐ€ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค.
  • ์žฅ์น˜๊ฐ€ ์˜คํ”„๋ผ์ธ์ด๋ฉด ๊ทธ receipt๋Š” ํ์— ์Œ“์—ฌ ์žฌ์ ‘์† ์‹œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ„๊ฒฉ์€ ์˜จ๋ผ์ธ/์˜คํ”„๋ผ์ธ ์‚ฌ์ดํด๊ณผ ์‹ฌ์ง€์–ด ํ†ต๊ทผ ์ผ์ •(์˜ˆ: ์—ฌํ–‰ ์ค‘ ๋ฐ์Šคํฌํ†ฑ receipt ์ค‘๋‹จ)์„ leaksํ•ฉ๋‹ˆ๋‹ค.
  • RTT ๋ถ„ํฌ๋Š” OS ์ „์› ๊ด€๋ฆฌ์™€ ํ‘ธ์‹œ ์›จ์ดํฌ์—… ์ฐจ์ด๋กœ ํ”Œ๋žซํผ๋ณ„๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. median/variance ํŠน์„ฑ์— ๋Œ€ํ•ด k-means ๊ฐ™์€ ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ์ˆ˜ํ–‰ํ•˜๋ฉด โ€œAndroid handsetโ€, โ€œiOS handsetโ€, โ€œElectron desktopโ€ ๋“ฑ์„ ๋ผ๋ฒจ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†ก์‹ ์ž๋Š” ์•”ํ˜ธํ™” ์ „์— ์ˆ˜์‹ ์ž์˜ key inventory๋ฅผ ์กฐํšŒํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๋Š” ์ƒˆ ์žฅ์น˜๊ฐ€ ํŽ˜์–ด๋ง๋  ๋•Œ๋ฅผ ๊ฐ์‹œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค; ์žฅ์น˜ ์ˆ˜์˜ ๊ธ‰๊ฒฉํ•œ ์ฆ๊ฐ€๋‚˜ ์ƒˆ๋กœ์šด RTT ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๊ฐ•๋ ฅํ•œ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค.

Behaviour inference from RTT traces

  1. OS ์Šค์ผ€์ค„๋ง ํšจ๊ณผ๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋ฉด โ‰ฅ1 Hz๋กœ ์ƒ˜ํ”Œ๋งํ•˜์„ธ์š”. WhatsApp on iOS์˜ ๊ฒฝ์šฐ <1 s RTT๋Š” ํ™”๋ฉด ์ผœ์ง/์ „๊ฒฝ๊ณผ ๊ฐ•ํ•˜๊ฒŒ ์ƒ๊ด€ํ•˜๊ณ , >1 s๋Š” ํ™”๋ฉด ๊บผ์ง/๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค๋กœํ‹€๋ง๊ณผ ์ƒ๊ด€ํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ„๋‹จํ•œ ๋ถ„๋ฅ˜๊ธฐ(์ž„๊ณ„๊ฐ’ ๊ธฐ๋ฐ˜ ๋˜๋Š” ๋‘ ํด๋Ÿฌ์Šคํ„ฐ k-means)๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ RTT๋ฅผ โ€œactiveโ€ ๋˜๋Š” โ€œidleโ€œ๋กœ ๋ผ๋ฒจ๋งํ•˜์„ธ์š”. ๋ผ๋ฒจ์„ ์—ฐ์† ๊ตฌ๊ฐ„์œผ๋กœ ์ง‘๊ณ„ํ•ด ์ทจ์นจ ์‹œ๊ฐ„, ํ†ต๊ทผ, ๊ทผ๋ฌด ์‹œ๊ฐ„, ํ˜น์€ ๋ฐ์Šคํฌํ†ฑ ๋™๋ฐ˜์ž๊ฐ€ ํ™œ์„ฑํ™”๋œ ์‹œ์ ์„ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ชจ๋“  ์žฅ์น˜์— ๋™์‹œ ํ”„๋กœ๋ธŒ๋ฅผ ์—ฐ๊ด€์‹œ์ผœ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋ฐ”์ผ์—์„œ ๋ฐ์Šคํฌํ†ฑ์œผ๋กœ ์ „ํ™˜ํ•  ๋•Œ, ๋™๋ฐ˜์ž๊ฐ€ ์˜คํ”„๋ผ์ธ์ด ๋  ๋•Œ, ์•ฑ์ด ํ‘ธ์‹œ ๋Œ€๊ธฐ์™€ ์˜๊ตฌ ์†Œ์ผ“ ์ค‘ ์–ด๋А ์ชฝ์œผ๋กœ ์ œํ•œ๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

Stealthy resource exhaustion

๋ชจ๋“  silent probe๋Š” ๋ณตํ˜ธํ™”๋˜๊ณ  ์ธ์ •๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ reaction ํ† ๊ธ€, ์ž˜๋ชป๋œ ํŽธ์ง‘, delete-for-everyone ํŒจํ‚ท์„ ์ง€์†์ ์œผ๋กœ ์ „์†กํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต DoS๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค:

  • ๋ผ๋””์˜ค/๋ชจ๋Ž€์ด ๋งค์ดˆ ์ „์†ก/์ˆ˜์‹ ํ•˜๋„๋ก ๊ฐ•์ œ โ†’ ํŠนํžˆ ์œ ํœด ํ•ธ๋“œ์…‹์—์„œ ๋ˆˆ์— ๋„๋Š” ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ.
  • TLS/WebSocket ์žก์Œ์— ์„ž์—ฌ ๋ชจ๋ฐ”์ผ ๋ฐ์ดํ„ฐ ์š”๊ธˆ์ œ๋ฅผ ์†Œ๋ชจํ•˜๋Š” ๋ฌด๊ณ„๋Ÿ‰ ์—…์ŠคํŠธ๋ฆผ/๋‹ค์šด์ŠคํŠธ๋ฆผ ํŠธ๋ž˜ํ”ฝ ์ƒ์„ฑ.
  • ์•”ํ˜ธํ™” ์Šค๋ ˆ๋“œ๋ฅผ ์ ์œ ํ•˜๊ณ  ์ง€์—ฐ ๋ฏผ๊ฐ ๊ธฐ๋Šฅ(VoIP, ์˜์ƒ ํ†ตํ™”)์— ์ง€ํ„ฐ๋ฅผ ์œ ๋ฐœ, ์‚ฌ์šฉ์ž๋Š” ์•Œ์ง€ ๋ชปํ•จ.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ