OWASP Mobile Top10

31
malatto & grini OWASP Mobile Top10 2016 ๋ฒˆ์—ญ : Malatto, Grini Ori g inal: https :// owasp .org /www -project-mobile-top-10/ by Th e OW ASP Found ation, Inc.

Transcript of OWASP Mobile Top10

Page 1: OWASP Mobile Top10

malatto &

grini

OWASP

Mobile Top10 2016

๋ฒˆ์—ญ : Malatto, Grini

Original : https://owasp.org/www-project-mobile-top-10/by The OWASP Foundation, Inc.

Page 2: OWASP Mobile Top10

malatto &

grini

OWASP Mobile Top 10 2016

M0: Summary

M1: Improper

Platform

Usage

M2: Insecure

Data

Storage

M3: Insecure

Communication

M4: Insecure

Authentication

M5: Insufficient

Cryptography

M6: Insecure

Authorization

M7: Client

Code

Quality

M8: Code

Tampering

M9: Reverse

Engineering

M10: Extraneous

Functionlity

Page 3: OWASP Mobile Top10

malatto &

grini

SummaryM1: ์ž˜๋ชป๋œ์ž˜๋ชป๋œ ํ”Œ๋žซํผํ”Œ๋žซํผ ์‚ฌ์šฉ์‚ฌ์šฉ๋ชจ๋ฐ”์ผ์—์„œ ํŠน์ • ํ”Œ๋žซํผ์„ ์ด์šฉํ•  ๋•Œ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์„ค์ •์„ ํ•˜๊ฑฐ๋‚˜, ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์˜ค์šฉํ–ˆ์„ ๋•Œ, ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์›น์„ ์ด์šฉํ•ด์„œ ๋ชจ๋ฐ”์ผ ์•ฑ์ด ๋™์ž‘๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ๋•Œ ์›น์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋„ ๋ฐœ์ƒํ• ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” OWASP Top 10 ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ๊ณผ ๋™์ผํ•˜๋‹ค.

์›น์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์˜ OS์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค(Android intent, ios keychain ๋“ฑ)์˜ ์ž˜๋ชป๋œ ์‚ฌ์šฉ, ์™ธ๋ถ€ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” API์˜ ์ž˜๋ชป๋œ ์‚ฌ์šฉ ๋“ฑ์„ ๋ชจ๋‘ ํฌ๊ด„ํ•œ๋‹ค.

M2: ์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ๋ฐ์ดํ„ฐ๋ฐ์ดํ„ฐ ์ €์žฅ์ €์žฅ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์ €์žฅํ•˜์—ฌ, ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์œ ์ถœ์ด ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ์ฃผ๋กœ ๋กœ์ปฌ SQL DB๋‚˜ ๋กœ๊ทธํŒŒ์ผ, xml, sd์นด๋“œ, ํด๋ผ์šฐ๋“œ ์‹ฑํฌ๋œ ๋ฐ์ดํ„ฐ ๊ธฐ๋Šฅ ๋“ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

M3: ์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ํ†ต์‹ ํ†ต์‹ ์™ธ๋ถ€์™€์˜ ํ†ต์‹ ์ฑ„๋„์„ ์•”ํ˜ธํ™”ํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์•”ํ˜ธํ™”๋Š” ํ–ˆ์ง€๋งŒ ์‰ฝ๊ฒŒ ์šฐํšŒ ๋ฐ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. HTTP์˜ ์‚ฌ์šฉ์ด ๋Œ€ํ‘œ์ ์ด๋ฉฐ, SSL/TLS ๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•˜๋ฉฐ ๊ณต์ธ๋œ CA์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ Pinning ํ•ด์„œ MITM ๊ณต๊ฒฉ์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์Šค๋‹ˆํ•‘ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ถœ๋˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

M4: ์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ์ธ์ฆ์ธ์ฆ์ทจ์•ฝํ•œ ์•”ํ˜ธ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋กœ์ปฌ์— ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ, ์„œ๋ฒ„์— ์ธ์ฆ ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ์ธ์ฆ์„ ์šฐํšŒ ๋ฐ ์œ„์กฐ ํ•˜๋Š” ๋“ฑ์˜ ์ทจ์•ฝ์ ์— ํ•ด๋‹นํ•œ๋‹ค. ๊ฐ€๊ธ‰์  ์˜คํ”„๋ผ์ธ์—์„œ ์ธ์ฆํ•˜์ง€ ์•Š๊ณ , ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„ ํ•˜๋„๋ก ํ•œ๋‹ค. ๋˜ํ•œ ์ธ์ฆํ•œ ๋’ค ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ๋•Œ, ์˜ฌ๋ฐ”๋ฅธ ์ž๊ฒฉ์ฆ๋ช…์„ ํ•˜๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์ •๋ณด๋Š” ๋กœ์ปฌ์— ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

M5: ์ทจ์•ฝํ•œ์ทจ์•ฝํ•œ ์•”ํ˜ธํ™”์•”ํ˜ธํ™”์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ ์ด์œ ๋กœ ์ธํ•ด ์•”ํ˜ธํ™”๋œ ์ •๋ณด๊ฐ€ ๋ณตํ˜ธํ™” ๋˜๋Š” ์ทจ์•ฝ์ ์— ํ•ด๋‹นํ•œ๋‹ค. ์•”ํ˜ธํ™”์— ์‚ฌ์šฉ๋œ ํ‚ค๊ฐ’์„ ๊ณต๊ฒฉ์ž๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ์ €์žฅํ•˜๊ฑฐ๋‚˜, ํ•˜๋“œ์ฝ”๋”ฉ ํ•˜๋Š” ๊ฒฝ์šฐ, ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง์ ‘ ์ž‘์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ด๋ฏธ ์ทจ์•ฝํ•˜๋‹ค๊ณ  ์•Œ๋ ค์ง„ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์•”ํ˜ธํ™”๋Š” ์‰ฝ๊ฒŒ ๋ณตํ˜ธํ™”๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๊ด€์—์„œ ๊ถŒ์žฅํ•˜๋Š” ์•ˆ์ „ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

M6: ์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ๊ถŒํ•œ๊ถŒํ•œ ์ธ๊ฐ€์ธ๊ฐ€์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณผ๋„ํ•œ ๊ถŒํ•œ์„ ์ฃผ๊ฑฐ๋‚˜ ์•ฑ์— ๊ณผ๋„ํ•œ ๊ถŒํ•œ์ด ์กด์žฌํ•ด์„œ, ์˜๋„์น˜ ์•Š์€ ๊ธฐ๋Šฅ์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญ๋œ ์ •๋ณด์— ์˜์กดํ•˜์ง€ ์•Š๊ณ , ์„œ๋ฒ„์— ์ €์žฅ๋œ ์ •๋ณด๋งŒ ์‚ฌ์šฉํ•˜์—ฌ, ๊ถŒํ•œ์„ ํ™•์ธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ฑ์—์„œ๋„ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ์„ ๋ถ€์—ฌํ•˜๋ฉฐ, ๊ถŒํ•œ ๊ฒ€์‚ฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š” hidden service๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.

M7: ํด๋ผ์ด์–ธํŠธํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ์ฝ”๋“œ ํ’ˆ์งˆํ’ˆ์งˆํด๋ผ์ด์–ธํŠธ์—์„œ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. RCE๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ทจ์•ฝ์ ์ด๋ฉฐ, Memory Corruption ๋ฐ XSS์™€ ๊ฐ™์€์ทจ์•ฝ์ ์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ด๋‹ค. API๋ฅผ ์ž˜๋ชป ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•œ๋‹ค.

Page 4: OWASP Mobile Top10

malatto &

grini

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

M9: ๋ฆฌ๋ฒ„์Šค๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์—”์ง€๋‹ˆ์–ด๋ง์‰ฝ๊ฒŒ ๋””์ปดํŒŒ์ผ ํ•ด์„œ, ์›๋ณธ ์ฝ”๋“œ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค. ์•ฑ ๋‚œ๋…ํ™”๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

M10: ๋ถˆํ•„์š”ํ•œ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ๊ธฐ๋Šฅ์•ฑ ๋ฐฐํฌ์‹œ ๊ฐœ๋ฐœ์ž์˜ ์‹ค์ˆ˜๋กœ, ์ˆจ๊ฒจ์ง„ ๋ฐฑ๋„์–ด๊ฐ€ ์กด์žฌํ•˜๊ฑฐ๋‚˜ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ฃผ์„์— ํฌํ•จ ํ•˜๋Š” ๊ฒฝ์šฐ, ์†Œ์Šค์ฝ”๋“œ์˜ ๋…ธ์ถœ, ๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ์˜ ๋…ธ์ถœ ๋“ฑ์— ํ•ด๋‹นํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋‚˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์Šˆํผ ๊ธฐ๋Šฅ๋“ค์„ ์ด์šฉํ•ด์„œ, ์ธ์ฆ์—†์ด ์•ฑ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋“ค์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋‹ค.

Page 5: OWASP Mobile Top10

malatto &

grini

M1: Improper Platform Usage์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์ด ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ํ”Œ๋žซํผ ๊ธฐ๋Šฅ์˜ ์ž˜๋ชป๋œ ์‚ฌ์šฉ ๋˜๋Š” ํ”Œ๋žซํผ ๋ณด์•ˆ ์ œ์–ด์˜ ์‚ฌ์šฉ ์‹คํŒจ๊ฐ€ ํฌํ•จ๋œ๋‹ค. Android intents, platform permission, Touch ID๋‚˜ Keychain, ๋ชจ๋ฐ”์ผ OS์˜ ์ผ๋ถ€์ธ ๋ณด์•ˆ ์ œ์–ด์˜ ์˜ค์šฉ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)์ด Attack vector๋Š” ๊ธฐ์กด์˜ OWASP Top 10์„ ํ†ตํ•ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฒกํ„ฐ์— ํ•ด๋‹นํ•œ๋‹ค. ์–ด๋–ค ๋…ธ์ถœ๋œ API call์€ ์—ฌ๊ธฐ์—์„œ ๊ณต๊ฒฉ๋ฒกํ„ฐ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)์ด ์ทจ์•ฝ์ ์„ exploit ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์†Œ๋น„ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋‚˜ API ํ˜ธ์ถœ์„ ๋…ธ์ถœํ•ด์•ผ ํ•œ๋‹ค. ๋…ธ์ถœ๋œ ์„œ๋น„์Šค๋‚˜ API call ์€ ์„œ๋ฒ„ ๋‚ด์—์„œ OWASP Top 10 ์ทจ์•ฝ์„ฑ์„ ์ƒ์„ฑํ•˜๋Š” ๋ถˆ์•ˆ์ •ํ•œ ์ฝ”๋”ฉ ๊ธฐ๋ฒ•์— ์˜ํ•ด ๋ฐœ์ƒํ•œ๋‹ค. ๋ชจ๋ฐ”์ผ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด, ๊ณต๊ฒฉ์ž๋Š” ์•…์˜์ ์ธ ์ž…๋ ฅ์ด๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ผ๋ จ์˜ ์‹œํ€€์Šค๋“ค์„ ์ทจ์•ฝํ•œ ์—”๋“œํฌ์ธํŠธ์— ๊ณต๊ธ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด, ๊ณต๊ฒฉ์ž๋Š” ์„œ๋ฒ„์˜ ์›๋ž˜ OWASP Top10 ์ทจ์•ฝ์ ์„ ์ธ์ง€ํ•œ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ด ์ทจ์•ฝ์ ์˜ ๊ธฐ์ˆ ์  ์˜ํ–ฅ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋ฅผ ํ†ตํ•ด Exploit์„ ํ•˜๋Š”๋ฐ ๊ด€๋ จ๋œ ์ทจ์•ฝ์ ์˜ ๊ธฐ์ˆ ์  ์˜ํ–ฅ๊ณผ ์ผ์น˜ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณต๊ฒฉ์ž๋Š” ๋ชจ๋ฐ”์ผ ์žฅ์น˜๋ฅผ ํ†ตํ•ด XSS(์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ…) ์ทจ์•ฝ์„ฑ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” OWASP Top Ten A3 - XSS ๋ฒ”์ฃผ์— ํ•ด๋‹นํ•˜๋ฉฐ, ๊ธฐ์ˆ ์  ์˜ํ–ฅ์€ ๋ณดํ†ต์ด๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„์ทจ์•ฝ์ ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์€ ์ƒ๋Œ€๊ฐ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋ฅผ ํ†ตํ•ด ์•…์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ด€๋ จ ์ทจ์•ฝ์„ฑ(OWASP Top 10์— ์ •์˜๋œ)์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์— ํ•ด๋‹นํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณต๊ฒฉ์ž๋Š” ๋ชจ๋ฐ”์ผ ์žฅ์น˜๋ฅผ ํ†ตํ•ด XSS(์‚ฌ์ดํŠธ ๊ฐ„ ์Šคํฌ๋ฆฝํŒ…) ์ทจ์•ฝ์„ฑ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” OWASP Top Ten A3 - XSS Category์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ๊ณผ ์ผ์น˜ํ•œ๋‹ค.

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ด ๋ฒ”์ฃผ์˜ ๋ฆฌ์Šคํฌ์˜ ๊ฐ€์žฅ ํฐ ํŠน์„ฑ์€ ํ”Œ๋žซํผ(iOS, Android, Windows Phone ๋“ฑ)์ด ๋ฌธ์„œํ™”๋˜๊ณ  ์ž˜ ์ดํ•ด๋˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ํŠน์ง•์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•ฑ์ด ๊ทธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋Š” ์„ค๊ณ„์™€ ๊ตฌํ˜„์ด ์—„๊ฒฉํžˆ ์•ฑ ๊ฐœ๋ฐœ์ž์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ชจ๋ฐ”์ผ ์ƒ์œ„ 10๋Œ€ ์œ„ํ—˜๊ณผ ๋‹ค๋ฅด๋‹ค. ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

Page 6: OWASP Mobile Top10

malatto &

grini

1. ๊ฐ€์ด๋“œ๋ผ์ธ๊ฐ€์ด๋“œ๋ผ์ธ ๋ฏธ์ค€์ˆ˜๋ฏธ์ค€์ˆ˜๋ชจ๋“  ํ”Œ๋žซํผ์—๋Š” ๋ณด์•ˆ(c.f., (์•ˆ๋“œ๋กœ์ด๋“œ)), (iOS) (Windows Phone))์— ๋Œ€ํ•œ ๊ฐœ๋ฐœ ์ง€์นจ์ด ์žˆ๋‹ค. ์•ฑ์ด ์ œ์กฐ์—…์ฒด๊ฐ€ ๊ถŒ์žฅํ•˜๋Š” ์ตœ์„ ์˜ ๊ด€ํ–‰๊ณผ ๋ชจ์ˆœ๋˜๋Š” ๊ฒฝ์šฐ, ์•ฑ์€ ์ด ์œ„ํ—˜์— ๋…ธ์ถœ๋  ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, iOS Keychain์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ Android์—์„œ export๋œ ์„œ๋น„์Šค๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์ด ์žˆ๋‹ค. ์ด ์ง€์นจ์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ์•ฑ์€ ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ๊ฒฝํ—˜ํ•  ๊ฒƒ์ด๋‹ค.

2. ๊ด€์Šต์ด๋‚˜๊ด€์Šต์ด๋‚˜ ์ผ๋ฐ˜์ผ๋ฐ˜ ์‚ฌ๋ก€์˜์‚ฌ๋ก€์˜ ์œ„๋ฐ˜์œ„๋ฐ˜๋ชจ๋“  ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ์ œ์กฐ์—…์ฒด ์ง€์นจ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ, ์ง€์นจ์—๋Š” ์—†๋”๋ผ๋„, ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ํ”ํžˆ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ์‹ค์ƒ ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ์žˆ๋‹ค.

3. ์˜๋„ํ•˜์ง€์˜๋„ํ•˜์ง€ ์•Š์€์•Š์€ ์˜ค์šฉ์˜ค์šฉ์ผ๋ถ€ ์•ฑ์€ ์˜ณ์€ ์ผ์„ ํ•˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ผ๋ถ€๊ฐ€ ์ž˜๋ชป ๊ตฌํ˜„๋œ๋‹ค. ์ด๊ฒƒ์€ API call์— ์ž˜๋ชป๋œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋‹จ์ˆœํ•œ ๋ฒ„๊ทธ์ผ ์ˆ˜๋„ ์žˆ๊ณ  ๋ณดํ˜ธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด ์ง€๋Š”์ง€์— ๋Œ€ํ•œ ์˜คํ•ด์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

ํ”Œ๋žซํผ์˜ ๊ถŒํ•œ ๋ชจ๋ธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์žฅ์• ๋Š” ์ด ๋ฒ”์ฃผ์— ์†ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•ฑ์ด ๋„ˆ๋ฌด ๋งŽ์€ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ, ์—ฌ๊ธฐ์„œ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋ฒ„ ์ธก์—์„œ ๋ณด์•ˆ ์ฝ”๋”ฉ ๋ฐ ๊ตฌ์„ฑ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ํŠน์ • ์ทจ์•ฝ์„ฑ ์ •๋ณด๋Š” OWASP ์›น Top Ten ๋˜๋Š” Cloud Top Ten ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ๊ฐ๊ฐ ์ˆ˜๋ฐฑ ๋˜๋Š” ์ˆ˜์ฒœ ๊ฐœ์˜ API๊ฐ€ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”Œ๋žซํผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด ์ ˆ์˜ ์˜ˆ๋Š” ๊ฐ€๋Šฅํ•œ ๊ฒƒ ์ค‘ ์ผ๋ถ€๋งŒ ๊ฐ€์ ธ์™”๋‹ค.

ํ‚ค์ฒด์ธํ‚ค์ฒด์ธ ๋Œ€์‹ ๋Œ€์‹  ์•ฑ์•ฑ ๋กœ์ปฌ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์Šคํ† ๋ฆฌ์ง€iOS ํ‚ค์ฒด์ธ์€ ์•ฑ๊ณผ ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ์•ˆ์ „ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์„ค์ด๋‹ค. iOS์—์„œ ์•ฑ์€ ๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ๋ชจ๋“  ์ž‘์€ ๋ฐ์ดํ„ฐ(์„ธ์…˜ ํ‚ค, ๋น„๋ฐ€๋ฒˆํ˜ธ, ๊ธฐ๊ธฐ ๋“ฑ๋ก ๋ฐ์ดํ„ฐ ๋“ฑ)๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด iOS Keychain์„ ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜๋Š” ์ด๋Ÿฌํ•œ ํ•ญ๋ชฉ์„ ์•ฑ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์•ฑ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ iTunes ๋ฐฑ์—…(์˜ˆ: ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์—์„œ)์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ถ€ ์•ฑ์˜ ๊ฒฝ์šฐ ๊ทธ๋Ÿฌํ•œ ๋…ธ์ถœ์€ ๋ถ€์ ์ ˆํ•˜๋‹ค.

Smallpdf User
์Šคํƒฌํ”„
Smallpdf User
์Šคํƒฌํ”„
Page 7: OWASP Mobile Top10

malatto &

grini

The Worst Offenders ์•„๋ž˜๋Š” OWASP ์—์„œ ๋ณด๋Š” ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋ฐ”์ผ ์ทจ์•ฝ์ ์˜ ๋ฆฌ์ŠคํŠธ์ด๋‹ค.

Poor Web Services HardeningLogic flaws

Testing for business logic flaws[Business] Logic Security Cheat Sheet](https://www.owasp.org/index.php/Business_Logic_Security_Cheat_Sheet)

Weak AuthenticationOWASP Top Ten Broken Authentication SectionAuthentication Cheat SheetDevelopers Guide for AuthenticationTesting for Authentication

Weak or no session managementSession fixationSensitive data transmitted using GET methodInsecure web server configurationsDefault contentAdministrative interfacesInjection (SQL, XSS, Command) on both web services and mobile-enabled websitesAuthentication flawsSession Management flawsAccess control vulnerabilitiesLocal and Remote File Includes

Page 8: OWASP Mobile Top10

malatto &

grini

M2: Insecure Data Storage์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์œ„ํ˜‘์›์€ ๋ถ„์‹ค/๋„๋‚œ๋œ ๋ชจ๋ฐ”์ผ ์žฅ์น˜๋ฅผ ํš๋“ํ•œ ๊ณต๊ฒฉ์ž๋‚˜ ๋ฉœ์›จ์–ด ํ˜น์€ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ ์‹คํ–‰๋˜๋Š” ๊ณต๊ฒฉ์ž์— ๋”ฐ๋ผ ๋™์ž‘ํ•˜๋Š” ๋ฆฌํŒจํ‚ค์ง•์•ฑ์„ ํฌํ•จํ•œ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)๊ณต๊ฒฉ์ž๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ธฐ๊ธฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ํˆด์„ ์ด์šฉํ•ด์„œ ์ž์œ ๋กญ๊ฒŒ ์ปดํ“จํ„ฐ์™€ ์—ฐ๊ฒฐํ•œ๋‹ค. ์ด๋Ÿฐ ํˆด๋“ค์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ €์žฅ๋œ PII๋˜๋Š” ๊ธฐํƒ€ ์ค‘์š” ์ •๋ณด ์ž์‚ฐ ๋“ค์„ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ์„œ๋“œํŒŒํ‹ฐ ๋””๋ ‰ํ† ๋ฆฌ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด๋Ÿฐ ์ •๋ณด ์ž์‚ฐ ๋“ค์„ ํ›”์น˜๊ธฐ ์œ„ํ•ด, malware๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ์•ฑ์„ ๋ณ€์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AERAGE (๋ณดํ†ต๋ณดํ†ต)์•ˆ์ „ํ•˜์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์ทจ์•ฝ์ ๋“ค์€ ๊ฐœ๋ฐœํŒ€์ด ์‚ฌ์šฉ์ž๋“ค์ด๋‚˜ malware๊ฐ€ ๋ชจ๋ฐ”์ผ๊ธฐ๊ธฐ์˜ ํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ๊ทธ ์•„๋ž˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๋ฏผ๊ฐํ•œ ์ •๋ณด๋“ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์„๊ฑฐ๋ผ๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ํŒŒ์ผ์‹œ์Šคํ…œ๋“ค์€ ์‰ฝ๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ธฐ๊ด€์€ ์•…์„ฑ ์‚ฌ์šฉ์ž๋‚˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ๋“ค์—ฌ๋‹ค ๋ณผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ด์•ผ ํ•œ๋‹ค. ์ทจ์•ฝํ•œ ์•”ํ˜ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‚ฌ์šฉ์„ ํ”ผํ•ด์•ผ ํ•œ๋‹ค. ๋ฃจํŒ…์ด๋‚˜ ํƒˆ์˜ฅ์„ ํ•  ๊ฒฝ์šฐ, ์•”ํ˜ธํ™” ๋ณดํ˜ธ๋Š” ์ฐจ๋‹จ๋œ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋ณดํ˜ธ๋˜์ง€ ์•Š์„ ๋•Œ, ๊ทธ๋ƒฅ ํŠน๋ณ„ํ•œ ํˆด๋งŒ ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ์•ผ๊ธฐํ•œ๋‹ค. ํ•œ ๋ช…์˜ ์œ ์ €์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ ๋งŽ์€ ์œ ์ €์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ถœ๋˜๋Š” ์ตœ์•…์˜ ์ƒํ™ฉ๊นŒ์ง€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, malware๋ฅผ ํ†ตํ•œ ์•ฑ์˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด์˜ extract, ์ˆ˜์ •๋œ ์•ฑ์ด๋‚˜ ํฌ๋ Œ์‹ ํˆด๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์  ์˜ํ–ฅ์„ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ ๋ณธ์งˆ์€ ํƒˆ์ทจ๋œ ์ •๋ณด์˜ ์„ฑ๊ฒฉ์— ์˜์กด๋œ๋‹ค. ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์ทจ์•ฝ์ ์€ ์•ฑ์„ ์†Œ์œ ํ•œ ์กฐ์ง์— ์•„๋ž˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

Identity theft (์‹ ์› ๋„์šฉ)Privacy violation (์‚ฌ์ƒํ™œ ์นจํ•ด)Fraud (์‚ฌ๊ธฐ)Reputation damage (ํ‰ํŒ ๋ฐ๋ฏธ์ง€)External policy violation (PCI, ์™ธ๋ถ€์ •์ฑ…์œ„๋ฐ˜)Material loss (๋ฌผ์งˆ์  ์†์‹ค)

Page 9: OWASP Mobile Top10

malatto &

grini

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ด ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์ €์žฅ๊ณผ ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์˜ ์œ ์ถœ์ด๋‹ค. ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋Š” ์•„๋ž˜ ๊ฒƒ๋“ค์„ ํฌํ•จํ•˜์ง€๋งŒ ์ด๊ฒƒ๋“ค์ด ์ „๋ถ€๋Š” ์•„๋‹ˆ๋‹ค.

SQL databases;Log files;XML data stores ou manifest files;Binary data stores;Cookie stores;SD card;Cloud synced.

์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์œ ์ถœ์€ ์•„๋ž˜๋กœ ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

The OS;Frameworks;Compiler environment;New hardware.Rooted or Jailbroken devices

์ด๊ฑด ๋ถ„๋ช… ๊ฐœ๋ฐœ์ž์˜ ์ง€์‹ ๋ฐ–์ผ ๊ฒƒ์ด๋‹ค. ํŠนํžˆ ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ์—์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌํ•ญ๋“ค์ด ๋ฌธ์„œํ™” ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฌธ์„œํ™” ๋˜์ง€ ์•Š์€ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

The way the OS caches data, images, key-presses, logging, and buffers;The way the development framework caches data, images, key-presses, logging, and buffers;The way or amount of data ad, analytic, social, or enablement frameworks cache data, images, key-presses, logging, and buffers.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์•ฑ๊ณผ OS, ํ”Œ๋žซํผ ๊ทธ๋ฆฌ๊ณ  ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ ์œ„ํ˜‘ ๋ชจ๋ธ์ด ์•ฑ ํ”„๋กœ์„ธ์Šค๋“ค๊ณผ API ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ •๋ณด์ž์‚ฐ์„ ํ•ธ๋“ค๋ง ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค. ์•„๋ž˜ ํƒ€์ž…๋“ค์˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ, ์ค‘์š” ์ •๋ณด๋ฅผ ๋‚ด๋ถ€ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜์ง€ ์•Š๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

URL caching (both request and response);Keyboard press caching;Copy/Paste buffer caching;Application backgrounding;Intermediate dataLogging;HTML5 data storage;Browser cookie objects;Analytics data sent to 3rd parties.

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์•ˆ์— ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •๊ณผ credential์ด ํ‰๋ฌธ์œผ๋กœ ์ €์žฅ๋˜์–ด์„œ ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ๋Œ€๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ.

ReferencesOWASP

OWASP iOS Developer Cheat Sheet

Page 10: OWASP Mobile Top10

malatto &

grini

ExternalGoogle Androids Developer Security Topics 1Google Androids Developer Security Topics 2Appleโ€™s Introduction to Secure CodingFortify On Demand Blog - Exploring The OWASP Mobile Top 10: Insecure Data Storage

Page 11: OWASP Mobile Top10

malatto &

grini

M3: Insecure Communication์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•๋ชจ๋ฐ”์ผ ์•ฑ์„ ๋””์ž์ธ ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ client-server ๋ฐฉ์‹์œผ๋กœ ๊ตํ™˜๋œ๋‹ค. ์†”๋ฃจ์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ, ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ์ธํ„ฐ๋„ท๊ณผ ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์˜ ํ†ต์‹ ์‚ฌ๋ฅผ ๊ฑฐ์นœ๋‹ค. ์œ„ํ˜‘์›์€ ์ทจ์•ฝ์ ์„ exploitํ•ด์„œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์œ„ํ˜‘์›์ด ์กด์žฌํ•œ๋‹ค.

๋กœ์ปฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฒฉ์ž (์†์ƒ๋˜์—ˆ๊ฑฐ๋‚˜ ๋ชจ๋‹ˆํ„ฐ๋ง์ค‘์ธ wifi)ํ†ต์‹ ์‚ฌ๋‚˜ ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ(routers, cell towers, proxy's, etc) ๋˜๋Š” ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์˜ malware

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฒ”์œ„์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ๋ชจ๋‹ˆํ„ฐ๋ง exploit ๊ฐ€๋Šฅํ•œ ์š”์†Œ. ํ†ต์‹ ์‚ฌ ๋„คํŠธ์›Œํฌ๋‹จ์˜ ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‹ˆํ„ฐ๋ง์€ ๋กœ์ปฌ ์ปคํ”ผ์ˆ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์–ด๋ ต๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํƒ€๊ฒŸํŒ…์„ ํ•˜๋Š” ๊ณต๊ฒฉ์ด ๋” ์‰ฝ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)๋ชจ๋ฐ”์ผ ์•ฑ์€ ์ž์ฃผ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ณดํ˜ธํ•˜์ง€ ์•Š๋Š”๋‹ค. ์•ฑ๋“ค์€ SSL/TLS๋ฅผ ์ธ์ฆํ•˜๋Š” ๋™์•ˆ ์‚ฌ์šฉํ•  ๊ฒƒ์ด์ง€๋งŒ ๊ทธ ์™ธ์—๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ผ์ •ํ•˜์ง€ ์•Š์Œ์€ ๊ฐ€๋กœ์ฑ„๋Š” ๊ฒƒ์œผ๋กœ ์ธํ•ด ์„ธ์…˜์ด๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜๋Š” ์œ„ํ—˜์„ ์•ผ๊ธฐํ•œ๋‹ค. ์ „์†ก๊ตฌ๊ฐ„ ๋ณด์•ˆ์„ ํ•œ๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๊ฒƒ์ด ์•ฑ์ด ์ œ๋Œ€๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๊ฒฐํ•จ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ํฐ์˜ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ด€์ฐฐํ•ด์•ผ ํ•œ๋‹ค. ๋” ์ƒ์„ธํ•œ ์ทจ์•ฝ์ ์€ application์˜ ๋””์ž์ธ๊ณผ ์„ค์ •๋“ค์„ ๊ฒ€์‚ฌํ•ด์•ผํ•œ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ด ์ทจ์•ฝ์ ์€ ๋…๋ฆฝ๋œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋…ธ์ถœ์‹œํ‚ค๊ณ  ๊ณ„์ •์„ ํƒˆ์ทจํ•˜๋„๋ก ํ•œ๋‹ค. ๋งŒ์•ฝ ๊ณต๊ฒฉ์ž๊ฐ€ ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ํƒˆ์ทจํ•  ๊ฒฝ์šฐ, ์ „์ฒด ์‚ฌ์ดํŠธ๊ฐ€ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค. ์•ฝํ•œ SSL ์„ค์ •์€ ๋˜ํ•œ MITM ๊ณต๊ฒฉ๊ณผ ํ”ผ์‹ฑ์— ์šฉ์ดํ•˜๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„์ตœ์†Œํ•œ, ํ†ต์‹  ์ฑ„๋„์„ ํ†ตํ•œ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ์˜ ํƒˆ์ทจ๋Š” ์‚ฌ์ƒํ™œ ์นจํ•ด๋ฅผ ์ผ์œผํ‚จ๋‹ค.

Identity theft;FraudReputational Damage.

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ด ์œ„ํ—˜์€ A์—์„œ B๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ชจ๋“  ์ธก๋ฉด๊ณผ ๋ถˆ์•ˆ์ •ํ•˜๊ฒŒ ๋ณด์•ˆ์„ ํ•˜๋Š” ์ธก๋ฉด๊นŒ์ง€๋„ ๋‹ค๋ฃฌ๋‹ค. ์ด๋Š” ๋ชจ๋ฐ”์ผ to ๋ชจ๋ฐ”์ผ, ์•ฑ to

Page 12: OWASP Mobile Top10

malatto &

grini

์„œ๋ฒ„ ํ†ต์‹  ๋˜๋Š” ๋ชจ๋ฐ”์ผ to ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ๊ณผ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์„ ์•„์šฐ๋ฅธ๋‹ค. ์ด ์œ„ํ—˜์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ†ต์‹  ๊ธฐ์ˆ ๋“ค์— ์ ์šฉ๋œ๋‹ค. (tcpip, wifi, bluetooth, nfc...)

๋ชจ๋“  TLS ํ†ต์‹  ์ด์Šˆ๊ฐ€ ์—ฌ๊ธฐ ์žˆ๋‹ค. ๋ชจ๋“  NFC, ๋ธ”๋ฃจํˆฌ์Šค ๊ทธ๋ฆฌ๊ณ  ์™€์ดํŒŒ์ด ์ด์Šˆ๋„ ์—ฌ๊ธฐ ์žˆ๋‹ค.

์ค‘์š”ํ•œ ํŠน์ง•์€ ์–ด๋–ค ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํŒจํ‚ค์ง•ํ•˜๊ณ  ๊ธฐ๊ธฐ ์•ˆํŒŽ์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์— ์žˆ๋‹ค. ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ์˜ ์˜ˆ๋กœ ์•”ํ˜ธํ™” ํ‚ค, ํŒจ์Šค์›Œ๋“œ, ์‚ฌ์ ์ธ ์‚ฌ์šฉ์ž ์ •๋ณด, ๊ณ„์ • ์ •๋ณด, ์„ธ์…˜ ํ† ํฐ, ๋ฌธ์„œ๋“ค, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋Š” ์„œ๋ฒ„์—์„œ ์žฅ์น˜๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ๊ณ , ์•ฑ์—์„œ ์„œ๋ฒ„๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์žฅ์น˜์™€ ๋‹ค๋ฅธ ๋กœ์ปฌ ์‚ฌ์ด๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์œ„ํ—˜์˜ ์ •์˜์  ํŠน์„ฑ์€ ๋‘ ๊ฐœ์˜ ์žฅ์น˜์™€ ๊ทธ๋“ค์‚ฌ์ด๋ฅผ ์ง€๋‚˜๊ฐ€๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ์˜ ์กด์žฌ๋‹ค.

์žฅ์น˜์— ๋กœ์ปฌ๋กœ ์ €์žฅ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๋ฐ์ดํ„ฐ๋Š” Insecure Data ์ด๋‹ค. ์„ธ์…˜ ์ •๋ณด๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ๋˜์ง€๋งŒ, (TLS ํ†ต์‹ ์„ ํ†ตํ•ด์„œ) ์„ธ์…˜ ์ž์ฒด๊ฐ€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜, ๋‚ฎ์€ ์•”ํ˜ธํ™”๊ฐ™์ด ์•ˆ์ข‹์€ ์„ธ์…˜์ด๋ผ๋ฉด ์ด๊ฒƒ์€ Insecure Authentication ๋ฌธ์ œ์ด๋‹ค. (ํ†ต์‹  ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ)

๋ถˆ์•ˆ์ •ํ•œ ์˜์‚ฌ์†Œํ†ต์˜ ์ผ๋ฐ˜์ ์ธ ์œ„ํ—˜์€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ, ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ€์„ฑ ๋ฐ ์ถœ์ฒ˜ ๋ฌด๊ฒฐ์„ฑ์ด๋‹ค. ์ „์†ก ์ค‘์— ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ (like MITM) ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๋Š” ์ด๋Ÿฌํ•œ ์œ„ํ—˜์˜ ์ข‹์€ ์˜ˆ์ด๋‹ค. ๊ธฐ๋ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ํ†ต์‹ ์„ ๋ชจ๋‹ˆํ„ฐํ•˜๊ฑฐ๋‚˜ ๋Œ€ํ™” ๋‚ด์šฉ์„ ๋…น์Œํ•ด์„œ ๋‚˜์ค‘์— ๊ณต๊ฒฉํ•จ์œผ๋กœ์จ ๋…ธ์ถœ๋˜๊ฑฐ๋‚˜, ํ•™์Šต๋˜๊ฑฐ๋‚˜, ํŒŒ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ทธ ๋˜ํ•œ ๋ถˆ์•ˆ์ •ํ•œ ํ†ต์‹  ๋ฌธ์ œ์ด๋‹ค. TLS ์—ฐ๊ฒฐ์„ ์ œ๋Œ€๋กœ ์„ค์ • ๋ฐ ๊ฒ€์ฆํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ(e.g., ์ธ์ฆ์„œ ํ™•์ธ, ์ทจ์•ฝํ•œ ์•”ํ˜ธ, ๊ธฐํƒ€ TLS ๊ตฌ์„ฑ ๋ฌธ์ œ)์€ ๋ชจ๋‘ ๋ถˆ์•ˆ์ •ํ•œ ํ†ต์‹  ์ƒํƒœ์— ์žˆ๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์ „ํ˜•์ ์ธ์ „ํ˜•์ ์ธ ์ตœ๊ณ ์˜์ตœ๊ณ ์˜ ๋ฐฉ๋ฒ•๋“ค๋ฐฉ๋ฒ•๋“ค

๋„คํŠธ์›Œํฌ ๋ ˆ์ด์–ด๊ฐ€ ์•ˆ์ „ํ•˜์ง€ ๋ชปํ•œ์ง€, ๋„์ฒญ์— ๋ฏผ๊ฐํ•˜๋‹ค๊ณ  ์ถ”์ •ํ•œ๋‹ค.๋ชจ๋ฐ”์ผ ์•ฑ์ด ๋ฏผ๊ฐํ•œ ์ •๋ณด๋‚˜ ์„ธ์…˜ ํ† ํฐ, ๋‹ค๋ฅธ ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐฑ์•ค๋“œ api ๋˜๋Š” ์›น ์„œ๋น„์Šค์— ์ „์†กํ•˜๋Š” ์ฑ„๋„์— SSL/TLS ๋ฅผ ์ ์šฉํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €/์›นํ‚คํŠธ๋ฅผ ํ†ตํ•ด ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•  ๋•Œ SSL ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์„œ ํƒ€์‚ฌ ๋ถ„์„ ํšŒ์‚ฌ, ์†Œ์…œ ๋„คํŠธ์›Œํฌ ๋“ฑ๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์—”ํ‹ฐํ‹ฐ์— ์ ‘์†ํ•œ๋‹ค. ์ ์ ˆํ•œ ํ‚ค ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ์—…๊ณ„ ํ‘œ์ค€ ์•”ํ˜ธ ์ œํ’ˆ๊ตฐ์„ ์‚ฌ์šฉํ•œ๋‹ค.์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA๋กœ๋ถ€ํ„ฐ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ž์ฒด ์„œ๋ช…๋œ ์ธ์ฆ์„œ ํ—ˆ์šฉ์„ ๊ธˆ์ง€ํ•˜๊ณ , ๋ณด์•ˆ์— ๋ฏผ๊ฐํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ์ธ์ฆ์„œ pinning ์„ ๊ณ ๋ คํ•œ๋‹ค. ํ•ญ์ƒ SSL ์ฒด์ธ ํ™•์ธ์„ ์š”๊ตฌํ•œ๋‹ค. ํ‚ค ์ฒด์ธ์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—”๋“œ ํฌ์ธํŠธ ์„œ๋ฒ„์˜ ID๋ฅผ ํ™•์ธํ•œ ํ›„์—๋งŒ ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•œ๋‹ค. ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์œ ํšจํ•˜์ง€ ์•Š์€ ์ธ์ฆ์„œ๋ฅผ ๊ฐ์ง€ํ•˜๋ฉด, UI๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฒฝ๊ณ ํ•œ๋‹ค. SMS๋‚˜ MMS ํ˜น์€ ์•Œ๋ฆผ๊ฐ™์€ ๋Œ€์ฒด ์ฑ„๋„์„ ํ†ตํ•ด ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค.๊ฐ€๋Šฅํ•œ SSL ์ฑ„๋„์— ์ œ๊ณต๋˜๊ธฐ ์ „์— ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ์— ๋ณ„๋„์˜ ์•”ํ˜ธํ™”๋ฅผ ์ ์šฉํ•œ๋‹ค. SSL ๊ตฌํ˜„์—์„œ ํ–ฅํ›„ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋  ๊ฒฝ์šฐ ์•”ํ˜ธํ™” ๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ธฐ๋ฐ€ ์œ„๋ฐ˜์— ๋Œ€ํ•œ 2์ฐจ ๋ฐฉ์–ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์ตœ์‹  ์œ„ํ˜‘์€ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ SSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋Œ€์ƒ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๊ธฐ ์ง์ „์— ๋ชจ๋ฐ”์ผ ์žฅ์น˜ ๋‚ด์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„์„œ ๋ฏผ๊ฐํ•œ ํŠธ๋ž˜ํ”ฝ์„ ๋„์ฒญํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด ์œ„ํ—˜์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ M10์„ ์ฐธ์กฐํ•œ๋‹ค.

IOS Specific Best Practices์ตœ์‹  ๋ฒ„์ „์˜ IOS ๊ธฐ๋ณธ ํด๋ž˜์Šค๋Š” SSL ์•”ํ˜ธ ๊ฐ•๋„ ๋„ค๊ณ ๋ฅผ ๋งค์šฐ ์ž˜ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์‹œ ์žฅ์• ๋ฌผ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ž„์‹œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์œ„์˜ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰ ์™ธ์—๋„:

์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•œ์ง€, fail-closed (์‹คํŒจ์‹œ ๊บผ์ง) ๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.CFNetwork๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, Secure Transport API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ, NSSTreamSocketSecurityLevelTlSv1์€ ๋ณด๋‹ค ๋†’์€ ํ‘œ์ค€ ์•”ํ˜ธ ๊ฐ•๋„๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ฐœ๋ฐœ ํ›„, NSURL ํ˜ธ์ถœ (๋˜๋Š” NSURL wrappers)์ด NSURL ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ setLAllowAnyHTTPSCertificate์™€ ๊ฐ™์ด ์ž์ฒด ์„œ๋ช…๋˜๊ฑฐ๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ธ์ฆ์„œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. ์ธ์ฆ์„œ pinning์„ ๊ณ ๋ คํ•œ๋‹ค. ์ธ์ฆ์„œ๋ฅผ exportํ•˜๊ณ , ์•ฑ ๋ฒˆ๋“ค์— ์ธ์ฆ์„œ๋ฅผ include ํ•œ ๋‹ค์Œ, ์‹ ๋ขฐ ์˜ค๋ธŒ์ ํŠธ์— ๊ณ ์ •ํ•œ๋‹ค. NSURL method connection:willSendRequestForAuthenticationChallenge: ๋Š” ๋‹น์‹ ์˜ ์ธ์ฆ์„œ๋ฅผ accpet ํ•  ๊ฒƒ์ด๋‹ค.

Android Speficic Best Practice๊ฐœ๋ฐœ cycle ํ›„์— ์•ฑ์ด ๋ชจ๋“  ์ธ์ฆ์„œ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” org.apache.http.conn.ssl.AllowAllHostnameVerifier ๋˜๋Š” SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIRE ์™€ ๊ฐ™์€ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์ด๊ฒƒ๋“ค์€ ๋ชจ๋“  ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•˜

Page 13: OWASP Mobile Top10

malatto &

grini

๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. SSLSocketFactory๋ฅผ ํ™•์žฅํ•œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์„œ๋ฒ„ ์ธ์ฆ์„œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒดํฌ๋˜๋„๋ก checkServerTrusted ๋ฉ”์†Œ๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌํ˜„๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ๋ชจ์˜ํ•ด์ปค๋กœ๋ถ€ํ„ฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ๊ฒฌ๋˜๋Š” ๋ณดํŽธ์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค๋“ค์ด ์žˆ๋‹ค.

์ธ์ฆ์„œ์ธ์ฆ์„œ ๊ฒ€์‚ฌ๊ฒ€์‚ฌ ๋ถ€์กฑ๋ถ€์กฑ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ์•ค๋“œํฌ์ธํŠธ๋Š” TLS Handshake๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ณด์•ˆ ์ฑ„๋„์„ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์‚ฌํ•˜์ง€ ๋ชปํ•˜๊ณ , ๋ฌด์กฐ๊ฑด ์ธ์ฆ์„œ๋ฅผ ์ˆ˜๋ฝํ•œ๋‹ค. ์ด๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ์•ค๋“œ ํฌ์ธํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ํŒŒ๊ดดํ•œ๋‹ค.๋ชจ๋ฐ”์ผ ์•ฑ์€ TLSํ”„๋ก์‹œ๋ฅผ ํ†ตํ•œ MITM ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜๋‹ค.

์ทจ์•ฝํ•œ์ทจ์•ฝํ•œ handshake ๋‹จ๊ณ„๋‹จ๊ณ„๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ์•ค๋“œ ํฌ์ธํŠธ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  connection handshake์˜ ์ผ๋ถ€๋กœ ์•”ํ˜ธ๋ฐฉ์‹์„ ํ˜‘์ƒํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ทจ์•ฝํ•œ ์•”ํ˜ธ ๋ฐฉ์‹์„ ์ด์šฉํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ, ๊ณต๊ฒฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝํ•œ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ์•ค๋“œ ํฌ์ธํŠธ ๊ฐ„์˜ ์ฑ„๋„ ๊ธฐ๋ฐ€์„ฑ์ด ์†์ƒ๋œ๋‹ค.

๊ฐœ์ธ์ •๋ณด๊ฐœ์ธ์ •๋ณด ์œ ์ถœ์œ ์ถœ๋ชจ๋ฐ”์ผ ์•ฑ์€ SSL ๋Œ€์‹  ๋น„๋ณด์•ˆ ์ฑ„๋„์„ ํ†ตํ•ด ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด๋ฅผ ์•ค๋“œ ํฌ์ธํŠธ๋กœ ์ „์†กํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ์•ค๋“œ ํฌ์ธํŠธ ๊ฐ„์˜ ๊ฐœ์ธ ์ •๋ณด ๊ด€๋ จ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ฐ€์„ฑ์ด ์†์ƒ๋œ๋‹ค.

ReferencesOWASP

OWASPExternal

External References

Page 14: OWASP Mobile Top10

malatto &

grini

M4: Insecure Authentication์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์ธ์ฆ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ์œ„ํ˜‘์›์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฏธ ์žˆ๊ฑฐ๋‚˜ custom-built ํˆด๋กœ ์ž๋™ ๊ณต๊ฒฉ์„ ์ง„ํ–‰ํ•œ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)์ธ์ฆ์„ ์•…์šฉํ•˜๋Š” ์œ„ํ˜‘์› ๊ณต๊ฒฉ์ž๊ฐ€ ์ธ์ฆ ์ฒด๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ทจ์•ฝํ•œ์ง€ ์ดํ•ดํ•˜๋ฉด ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ๋ฐฑ์•ค๋“œ ์„œ๋ฒ„์— ์„œ๋น„์Šค ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ์ธ์ฆ์„ ์œ„์กฐํ•˜๊ฑฐ๋‚˜ ์šฐํšŒํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ์˜ ์ง์ ‘์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์„ ์šฐํšŒํ•œ๋‹ค. ์ด submit process๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ๋ด‡๋„ท ๋˜๋Š” ์žฅ์น˜ ๋‚ด์˜ malware๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

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

๊ธฐ์กด ์›น ์•ฑ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ์ด๊ธธ ์˜ˆ์ƒํ•˜๋ฉฐ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์ธ์ฆํ•ด์•ผ ํ•œ๋‹ค. ์„ธ์…˜ ์—ฐ๊ฒฐ ๋™์•ˆ, ์‚ฌ์šฉ์ž๋“ค์ด ์ธํ„ฐ๋„ท์— ์ง€์†์ ์œผ๋กœ ์•ก์„ธ์Šค ํ•  ๊ฒƒ์ด๋ผ๋Š” ํ•ฉ๋ฆฌ์ ์ธ ๊ธฐ๋Œ€๊ฐ€ ์žˆ๋‹ค.

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

์ž˜๋ชป๋œ ์ธ์ฆ ์ฒด๊ณ„๋ฅผ ๊ฐ์‹œํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์Šคํ„ฐ๋Š” ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ๋ชจ๋ฐ”์ผ ์•ฑ์— ๋Œ€ํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ…Œ์Šคํ„ฐ๋Š” ๊ณต๊ฒฉ์„ ํ†ตํ•ด ์•ฑ์ด ์˜คํ”„๋ผ์ธ ์ธ์ฆ์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์˜คํ”„๋ผ์ธ ์ธ์ฆ์„ ํ•„์š”๋กœํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ•์ œ๋กœ ์‹คํ–‰ํ•œ๋‹ค. (M10 ์ฐธ์กฐ) ๋˜ํ•œ ํ…Œ์Šคํ„ฐ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ POST/GET ์š”์ฒญ์—์„œ ์„ธ์…˜ ํ† ํฐ์„ ์ œ๊ฑฐํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ธฐ๋Šฅ์„ ์ต๋ช…์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ธ์ฆ์ด ์ž˜๋ชป๋˜๋ฉด ๊ธฐ์ˆ ์  ์˜ํ–ฅ์€ ์†”๋ฃจ์…˜์ด ์š”์ฒญํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰์‹œ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•์ธํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ์†”๋ฃจ์…˜์—์„œ ์‚ฌ์šฉ์ž ํ™œ๋™์„ ๊ธฐ๋กํ•˜๊ฑฐ๋‚˜ ๊ฐ์‚ฌํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Š” ๊ณต๊ฒฉ์˜ ์ถœ์ฒ˜, ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์€ exploit๋“ค ๋˜๋Š” ๋ฏธ๋ž˜์˜ ๊ณต๊ฒฉ์„ ๋ฐฉ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๋Šฅ๋ ฅ์„ ์—†์• ๋Š”๋ฐ ๊ธฐ์—ฌํ•œ๋‹ค.

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

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„

Page 15: OWASP Mobile Top10

malatto &

grini

Reputational DamageInformation Theft; orUnauthorized Access to Data.

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์•ก์„ธ์Šค ํ† ํฐ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ , ๋ฐฑ์—”๋“œ api ์„œ๋น„์Šค ์š”์ฒญ์„ ์ต๋ช…์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ์ด ์•ฑ์€ ๋ณด์•ˆ๋˜์ง€ ์•Š์€ ์ธ์ฆ์— ์‹œ๋‹ฌ๋ฆฐ๋‹ค.

๋ชจ๋ฐ”์ผ ์•ฑ์ด ๊ธฐ๊ธฐ์— ๋กœ์ปฌ๋กœ ๋ฒ„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ๊ณต๊ณต ๋น„๋ฐ€์„ ์ €์žฅํ•˜๋ฉด ์ธ์ฆ์ด ์•ˆ์ „ํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๋ชจ๋ฐ”์ผ ์•ฑ์ด ์ทจ์•ฝํ•œ ์•”ํ˜ธ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ ์ž…๋ ฅ์„ ๋‹จ์ˆœํ™”ํ•  ๊ฒฝ์šฐ, ๋ณด์•ˆ๋˜์ง€ ์•Š์€ ์ธ์ฆ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ„ฐ์น˜ID์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์‚ฌ์šฉํ•˜๋ฉด ์ธ์ฆ์ด ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์ทจ์•ฝํ•œ์ทจ์•ฝํ•œ ํŒจํ„ดํŒจํ„ด ํ”ผํ•˜๊ธฐํ”ผํ•˜๊ธฐ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ชจ๋ฐ”์ผ ์•ฑ ์ธ์ฆ ๋””์ž์ธ ํŒจํ„ด์„ ํ”ผํ•œ๋‹ค.

์›น ์•ฑ์„ ํ•ด๋‹น ๋ชจ๋ฐ”์ผ ์•ฑ์œผ๋กœ ์ด์‹ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ์ธ์ฆ ์š”๊ตฌ์‚ฌํ•ญ์ด ์›น ์•ฑ ๊ตฌ์„ฑ์š”์†Œ์˜ ์ธ์ฆ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์›น ๋ธŒ๋ผ์šฐ์ €๋ณด๋‹ค ์ ์€ ์ธ์ฆ ์š”์†Œ๋กœ ์ธ์ฆํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ๋กœ์ปฌ์—์„œ ์ธ์ฆํ•˜๋ฉด, ํด๋ผ์ด์–ธํŠธ ์ธก ์šฐํšŒ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ฑ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ, ๋Ÿฐํƒ€์ž„ ์กฐ์ž‘ ๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ์ˆ˜์ •์„ ํ†ตํ•ด ํƒˆ์˜ฅ ์žฅ์น˜์—์„œ ์ธ์ฆ ๋ฃจํ‹ด์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜คํ”„๋ผ์ธ ์ธ์ฆ์— ๋Œ€ํ•œ ๊ฐ•๋ ฅํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ๋ชจ๋ฐ”์ผ ์•ฑ์— ๋Œ€ํ•œ ์ด์ง„ ๊ณต๊ฒฉ ๋ฐฉ์ง€์— ๋Œ€ํ•œ ์ง€์นจ์€ M10์„ ์ฐธ์กฐํ•œ๋‹ค.๊ฐ€๋Šฅํ•˜๋ฉด ๋ชจ๋“  ์ธ์ฆ ์š”์ฒญ์ด ์„œ๋ฒ„ ์ธก์—์„œ ์ˆ˜ํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด, ์•ฑ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ๋กœ๋“œ๋  ๊ฒƒ์ด๋‹ค.์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ์ธ์ฆ์ด ์™„๋ฃŒ๋œ ํ›„์—๋งŒ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐ์ดํ„ฐ ์ €์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์ž๊ฒฉ ์ฆ๋ช…์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ํŒŒ์ƒ ๋œ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•ด์•ผํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์˜ฌ๋ฐ”๋ฅธ ์ž๊ฒฉ ์ฆ๋ช…์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ €์žฅ๋œ ์•ฑ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ด๋…๋  ์œ„ํ—˜์ด ์žˆ๋‹ค. ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ํƒˆ์ทจ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์ด์ง„ ๊ณต๊ฒฉ ๋ฐฉ์ง€์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ง€์นจ์€ M9๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.๋ชจ๋ฐ”์ผ ์•ฑ ๋‚ด์—์„œ ๊ตฌํ˜„๋œ ์˜๊ตฌ ์ธ์ฆ(Remember Me) ๊ธฐ๋Šฅ์€ ์žฅ์น˜์— ์‚ฌ์šฉ์ž ์•”ํ˜ธ๋ฅผ ์ €์žฅํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์ด์ƒ์ ์œผ๋กœ ๋ชจ๋ฐ”์ผ ์•ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ ๋‚ด์—์„œ ํ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜๋ณ„ ์ธ์ฆ ํ† ํฐ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์•ฑ์ด ํƒˆ์ทจ๋‹นํ•˜๊ฑฐ๋‚˜ ๋ถ„์‹ค๋œ ๊ธฐ๊ธฐ์˜ ๋ฌด๋‹จ ์ ‘์†์„ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์•ฑ ๋‚ด์—์„œ์˜ ์ง€์†์ ์ธ ์ธ์ฆ์€ opt-in ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™” ๋˜์–ด์žˆ์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.๊ฐ€๋Šฅํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ธ์ฆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ 4์ž๋ฆฌ PIN ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

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

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ๋‹ค์Œ์€ ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ์ทจ์•ฝํ•œ ์ธ์ฆ/๊ถŒํ•œ ๋ถ€์—ฌ ์ปจํŠธ๋กค์„ ๋ณด์—ฌ์ค€๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1: Hidden service ์š”์ฒญ์š”์ฒญ๊ฐœ๋ฐœ์ž๋Š” ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๋งŒ ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ฐฑ์—”๋“œ์— ์ œ์ถœํ•˜๋Š” ์„œ๋น„์Šค ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ, ์„œ๋ฒ„ ์ฝ”๋“œ๋Š” ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์ด ์•Œ๋ ค์ง„ ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ด€๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— request ๋ฅผ ๋ณด๋‚ด๊ณ  ํ•ฉ๋ฒ•์ ์ธ ์†”๋ฃจ์…˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ต๋ช…์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

Page 16: OWASP Mobile Top10

malatto &

grini

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #2: ์ธํ„ฐํŽ˜์ด์Šค์ธํ„ฐํŽ˜์ด์Šค ์˜์กด์„ฑ์˜์กด์„ฑ๊ฐœ๋ฐœ์ž๋Š” ์Šน์ธ๋œ ์‚ฌ์šฉ์ž๋งŒ ์•ฑ์—์„œ ํŠน์ • ๊ธฐ๋Šฅ์˜ ์กด์žฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ฉ๋ฒ•์ ์œผ๋กœ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋œ ์‚ฌ์šฉ์ž๋งŒ ์žฅ์น˜์—์„œ ์„œ๋น„์Šค ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ๊ธฐ๋Œ€ํ•œ๋‹ค. ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋Š” ์š”์ฒญ๊ณผ ์—ฐ๊ด€๋œ ID๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•  ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์ž๋Š” ๊ถŒํ•œ์ด ๋‚ฎ์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #3: Usability Requirements์‚ฌ์šฉ์„ฑ ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๋ชจ๋ฐ”์ผ ์•ฑ์€ 4์ž๋ฆฌ ๊ธธ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค. ์„œ๋ฒ„ ์ฝ”๋“œ๋Š” ํ•ด์‹œ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•”ํ˜ธ์˜ ๊ธธ์ด๊ฐ€ ๋งค์šฐ ์งง๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ž˜ ์•”ํ˜ธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ฒ„์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํŒŒ์ผ(๋˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ)์ด ์†์ƒ๋œ ๊ฒฝ์šฐ ๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

ReferencesOWASP

OWASPExternal

External References

Page 17: OWASP Mobile Top10

malatto &

grini

M5: Insufficient Cryptography์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์ž˜๋ชป๋œ ์•”ํ˜ธํ™” ๋œ ๋ฐ์ดํ„ฐ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ ๋˜๋Š” ๊ณต๊ฒฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ํ–‰๋™ํ•˜๋Š” malware.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)์ด Attack Vector๋Š” ์ „ํ†ต์ ์ธ OWASP Top 10 ์„ ํ†ตํ•œ Attack Vector๋“ค๊ณผ ๋™์ผํ•˜๋‹ค. ๋…ธ์ถœ๋œ api call์€ ์—ฌ๊ธฐ์—์„œ ๊ณต๊ฒฉ ๋ฒกํ„ฐ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)์ด ์•ฝ์ ์„ exploit ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๊ณต๊ฒฉ์ž๋Š” ์•ฝํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋˜๋Š” ์•”ํ˜ธํ™” ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ๊ฒฐํ•จ์œผ๋กœ ์ธํ•ด ์•”ํ˜ธํ™” ๋œ ์ฝ”๋“œ ๋˜๋Š” ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์›๋ณธ ํ˜•์‹์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ด ์ทจ์•ฝ์ ์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋กœ๋ถ€ํ„ฐ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋ฌด๋‹จ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„์ด ์ทจ์•ฝ์ ์€ ๋ช‡ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ, ์•”ํ˜ธํ™”๊ฐ€ ๊นจ์ง€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๊ฐœ์ธ ์ •๋ณด ์นจํ•ด์ •๋ณด ํƒˆ์ทจ์ฝ”๋“œ ํƒˆ์ทจ์ง€์  ์žฌ์‚ฐ๊ถŒ ํƒˆ์ทจํ‰ํŒ ์†์ƒ

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์•”ํ˜ธํ™”๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ์ผ๋ฐ˜์ ์ด๋‹ค. ๊นจ์ง„ ์•”ํ˜ธํ™”๊ฐ€ ๋ชจ๋ฐ”์ผ ์•ฑ ๋‚ด์— ๋‚˜ํƒ€๋‚˜๋Š” ๋‘๊ฐ€์ง€ ๊ทผ๋ณธ์ ์ธ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ, ๋ชจ๋ฐ”์ผ ์•ฑ์€ ๊ทผ๋ณธ์ ์œผ๋กœ ๊ฒฐํ•จ์ด ์žˆ๋Š” ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” ๊ณต๊ฒฉ์ž๋กœ ์ธํ•ด๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™” ํ•˜๊ฒŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘๋ฒˆ์งธ๋กœ, ๋ชจ๋ฐ”์ผ์•ฑ์€ ๋ณธ์งˆ์ ์œผ๋กœ ์•ฝํ•ด์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์ง์ ‘ ํ•ด๋…ํ•  ์ˆ˜ ์žˆ๋Š” ์•”/๋ณตํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ํ•˜์œ„ ์„น์…˜์—์„œ ์ด ๋‘ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‚ดํŽด๋ณธ๋‹ค.

Page 18: OWASP Mobile Top10

malatto &

grini

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

ClutchMod ๋˜๋Š” GBD์™€ ๊ฐ™์€ ๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์ž๋Š” ์•”ํ˜ธํ™”๋œ ์•ฑ์„ ํƒˆ์˜ฅ๋œ ๊ธฐ๊ธฐ์— ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , IOS ๋กœ๋”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•œ ํ›„, (๋กœ๋”๊ฐ€ ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ง์ „์—) ํ•ด๋…ํ•  ๋•Œ ํ•ด๋…๋œ ์•ฑ์˜ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ค์–ด ๋””์Šคํฌ์— ์ €์žฅํ•˜๋ฉด IDA Pro๋˜๋Š” Hopper์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์˜ ์ •์ /๋™์  ๋ถ„์„์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ถ”๊ฐ€ ์ด์ง„ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚ด์žฅ ์ฝ”๋“œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์†Œํ•œ ์ผ์ด๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ๊ธฐ๋ณธ ๋ชจ๋ฐ”์ผ OS์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ์ฝ”๋“œ ์•”ํ˜ธํ™”๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ถ”๊ฐ€์ ์ธ ๋ฆฌ๋ฒ„์‹ฑ ๋ฐฉ์ง€ ๊ณ„์ธต์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ M9๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

๋นˆ์•ฝํ•œ๋นˆ์•ฝํ•œ ํ‚คํ‚ค ๊ด€๋ฆฌ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šคํ”„๋กœ์„ธ์Šคํ‚ค๋ฅผ ์ž˜๋ชป ๋‹ค๋ฃฐ ๊ฒƒ์ด๋ผ๋ฉด, ์ตœ์ƒ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์˜ฌ๋ฐ”๋ฅธ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, ์ž์ฒด ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ์ €์ง€๋ฅธ๋‹ค. ๊ทธ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์•”ํ˜ธํ™”๋œ ์ฝ˜ํ…์ธ ์™€ ๋™์ผํ•œ ๊ณต๊ฒฉ์ž๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํ‚ค๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‚ด์— ํ•˜๋“œ์ฝ”๋“œ๋œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.ํ‚ค๋Š” ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ํƒˆ์ทจ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์„ ๋ณด์•ˆํ•˜๊ธฐ ์œ„ํ•ด์„œ M10์„ ์ฐธ์กฐํ•œ๋‹ค.

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

ํ•ญ์ƒ ๋ณด์•ˆ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐ›์•„๋“ค์—ฌ์ง„ ์ตœ์‹  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ€๋Šฅํ•˜๋ฉด ๋ชจ๋ฐ”์ผ ํ”Œ๋žซํผ ๋‚ด์—์„œ ์ตœ์ฒจ๋‹จ ์•”ํ˜ธํ™” api๋ฅผ ํ™œ์šฉํ•œ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ํ‚ค์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•…์˜์ ์œผ๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•”ํ˜ธํ™”์™€ ๊ด€๋ จํ•ด์„œ ๋ณด์•ˆ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋งค์šฐ ๋†’์€ ๊ฒฝ์šฐ, ํ™”์ดํŠธ ๋ฐ•์Šค ์•”ํ˜ธํ™” ์‚ฌ์šฉ์„ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค. ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ ๋ฐฉ์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ M10์„ ์ฐธ์กฐํ•œ๋‹ค.

์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ๋ฐ ๋”๋” ์ด์ƒ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”์•Š๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‚ฌ์šฉ์‚ฌ์šฉ๋งŽ์€ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ํ”„๋กœํ† ์ฝœ์€ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ ์ด ์žˆ๊ฑฐ๋‚˜ ์ตœ์‚ฐ ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์— ๋ถˆ์ถฉ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

RC2MD4MD5SHA1

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ ํ•  ๋•Œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.

๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.ํ–ฅํ›„ 10 ๋…„ ์ด์ƒ ์‹œ๊ฐ„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฒฌ๋”œ ์ˆ˜์žˆ๋Š” ์•”ํ˜ธํ™” ํ‘œ์ค€์„ ์‚ฌ์šฉํ•œ๋‹ค.๊ถŒ์žฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ NIST ์ง€์นจ์„ ๋”ฐ๋ฅธ๋‹ค.

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์—†์Œ.

Page 19: OWASP Mobile Top10

malatto &

grini

ReferencesOWASP

OWASP Cryptographic Storage Cheat SheetOWASP Key Management Cheat Sheet

ExternalNIST Encryption Guidelines

Page 20: OWASP Mobile Top10

malatto &

grini

M6: Insecure Authorization์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•๊ถŒํ•œ ๋ถ€์—ฌ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ์œ„ํ˜‘์›์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž๋™ ๊ณต๊ฒฉ์„ ํ†ตํ•ด ๊ณต๊ฒฉํ•œ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)๊ถŒํ•œ ๋ถ€์—ฌ ์ฒด๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ทจ์•ฝํ•œ์ง€๋ฅผ ๊ณต๊ฒฉ์ž๊ฐ€ ์ดํ•ดํ•˜๋ฉด ํ•ฉ๋ฒ•์ ์ธ ์‚ฌ์šฉ์ž๋กœ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ๋กœ๊ทธ์ธํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋“ค์€ ์ธ์ฆ ์ œ์–ด๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ•œ๋‹ค. ์ธ์ฆ์„ ํ•˜๊ณ ๋‚˜๋ฉด, ๊ทธ๋“ค์€ ์ทจ์•ฝํ•œ ์—”๋“œํฌ์ธํŠธ์˜ admin ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•์ œ ํƒ์ƒ‰์„ ํ•˜๊ณคํ•œ๋‹ค. ์ด submission ํ”„๋กœ์„ธ์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์žฅ์น˜ ๋‚ด์˜ ๋ชจ๋ฐ”์ผ malware๋‚˜ ๊ณต๊ฒฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ๋ด‡๋„ท์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)์ž˜๋ชป๋œ ํ—ˆ๊ฐ€ ์ฒด๊ณ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์Šคํ„ฐ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์— ๋Œ€ํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ชจ๋ฐ”์ผ ์•ฑ์ด '์˜คํ”„๋ผ์ธ' ๋ชจ๋“œ์— ์žˆ์„ ๋•Œ ๋†’์€ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ถŒํ•œ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. (๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ M9๋ฐ M10 ์ฐธ์กฐ) ๋˜ํ•œ ํ…Œ์Šคํ„ฐ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ•ด๋‹น GET/POST ์š”์ฒญ ๋‚ด์—์„œ ๋‚ฎ์€ ๊ถŒํ•œ ์„ธ์…˜ ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ ์žˆ๋Š”๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๋„๋ก ์‹œ๋„ํ•ด์•ผ ํ•œ๋‹ค. ๋ถˆ๋Ÿ‰ํ•˜๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋œ ๊ถŒํ•œ ์ฒด๊ณ„๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ํ—ˆ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ํ—ˆ๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์›๊ฒฉ ์„œ๋ฒ„๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ , ๋ชจ๋ฐ”์ผ์žฅ์น˜ ๋‚ด์—์„œ ํ—ˆ๊ฐ€ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ๋•Œ ๋”์šฑ ์ทจ์•ฝํ•˜๋‹ค. ์ด๊ฒƒ์€ ์˜คํ”„๋ผ์ธ์˜ ํŽธ์˜์„ฑ ๋•Œ๋ฌธ์— ์š”๊ตฌ๋  ์ˆ˜ ์žˆ๋‹ค.

Technical ImpactImpact SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ž˜๋ชป๋œ ์ธ์ฆ์˜ ๊ธฐ์ˆ ์  ์–‘ํ•ญ์€ ๋ณธ์งˆ์ ์œผ๋กœ ์ธ์ฆ ๋ถˆ๋Ÿ‰์˜ ๊ธฐ์ˆ ์  ์˜ํ–ฅ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„์‚ฌ์šฉ์ž (์ต๋ช… ๋˜๋Š” ๊ฒ€์ฆ๋œ)๊ฐ€ ๊ณผ๋„ํ•œ ๊ถŒํ•œ์œผ๋กœ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ๋น„์ฆˆ๋‹ˆ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

ํ‰ํŒ ์†์ƒ์‚ฌ๊ธฐ์ •๋ณด ํƒˆ์ทจ

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๋ถ€์—ฌ์˜ ์ฐจ์ด์ ์„ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜๋‹ค. ์ธ์ฆ์€ ๊ฐœ์ธ์„ ์‹๋ณ„ํ•˜๋Š” ํ–‰์œ„์ด๊ณ , ๊ถŒํ•œ ๋ถ€์—ฌ๋Š” ์‹๋ณ„๋œ ๊ฐœ์ธ์—๊ฒŒ ํ•ด๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด๋‹ค. ์ธ์ฆ๊ฒ€์‚ฌ๋Š” ํ•ญ์ƒ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์˜ ์ธ์ฆ์„ ์ฆ‰์‹œ ๋”ฐ๋ผ

Page 21: OWASP Mobile Top10

malatto &

grini

์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‘๊ฐ€์ง€๋Š” ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ๋‹ค.

๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์š”์ฒญํ•œ API ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์—, ์กฐ์ง์ด ์ธ์ฆ์„ ๋ฐ›์ง€ ๋ชปํ•˜๊ณ , ๊ฐœ์ธ์ด ์‹คํŒจํ•˜๋ฉด ์ฝ”๋“œ๋Š” ์ž๋™์œผ๋กœ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ถŒํ•œ์ด ์ ์šฉ๋œ๋‹ค. ํ˜ธ์ถœ์ž์˜ ์‹ ์›์ด ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์Šน์ธ ํ™•์ธ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ชจ๋ฐ”์ผ ์—”๋“œํฌ์ธํŠธ์— ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์‰ฌ์šด ๊ทœ์น™์ด ์žˆ๋‹ค.

IDOR(Insecure Direct Object Reference) ์ทจ์•ฝ์„ฑ ์กด์žฌ - IDOR์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ฝ”๋“œ๊ฐ€ ์œ ํšจํ•œ ์Šน์ธ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๊ฐ€์žฅ ๋†’์Œ์ˆจ๊ฒจ์ง„ ์—”๋“œํฌ์ธํŠธ - ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ์ด ์˜ฌ๋ฐ”๋ฅธ ์—ญํ• ์˜ ๋ˆ„๊ตฐ๊ฐ€์— ์˜ํ•ด์„œ๋งŒ ๋ณด์ผ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์—๋ฐฑ์—”๋“œ ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์Šน์ธ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์‚ฌ์šฉ์ž ์—ญํ•  ๋˜๋Š” ๊ถŒํ•œ ์ „์†ก - ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉ์ž์˜ ์—ญํ•  ๋˜๋Š” ๊ถŒํ•œ์„ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋œ๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ถŒํ•œ ๊ฒ€์‚ฌ๋ฅผ ํ”ผํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

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

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1: ์•ˆ์ „ํ•˜์ง€์•ˆ์ „ํ•˜์ง€ ์•Š์€์•Š์€ ์ง์ ‘์ง์ ‘ ๊ฐœ์ฒด๊ฐœ์ฒด ์ฐธ์กฐ์ฐธ์กฐ์‚ฌ์šฉ์ž๋Š” ํ–‰์œ„์ž ID์™€ oAuth ์ „๋‹ฌ์ž ํ† ํฐ์„ ํฌํ•จํ•˜๋Š” ๋ฐฑ์—”๋“œ REST API์— API ์—”๋“œํฌ์ธํŠธ๋ฅผ ์š”์ฒญํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ˆ˜์‹  URL์˜ ์ผ๋ถ€๋กœ ํ–‰์œ„์ž ID๋ฅผ ํฌํ•จํ•˜๊ณ , ์š”์ฒญ์˜ ํ‘œ์ค€ ํ—ค๋”๋กœ ์•ก์„ธ์Šค ํ† ํฐ์„ ํฌํ•จํ•œ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ์ „๋‹ฌ์ž ํ† ํฐ์˜ ์กด์žฌ๋ฅผ ๊ฒ€์ฆํ•˜์ง€๋งŒ, ์ „๋‹ฌ์ž ํ† ํฐ๊ณผ ์—ฐ๊ด€๋œ ํ–‰์œ„์ž ID์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ์•กํ„ฐ ID๋ฅผ ์กฐ์ •ํ•˜๊ณ , REST API ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ • ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #2: LDAP ์—ญํ• ์—ญํ•  ์ „์†ก์ „์†ก์‚ฌ์šฉ์ž๋Š” ํ‘œ์ค€ oAuth ์ „๋‹ฌ์ž ํ† ํฐ๊ณผ ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ LDAP ๊ทธ๋ฃน ๋ชฉ๋ก์„ ํฌํ•จํ•˜๋Š” ํ—ค๋”๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐฑ์—”๋“œ REST API ์— PI ์—”๋“œ ํฌ์ธํŠธ ์š”์ฒญ์„ ํ•œ๋‹ค. ๋ฐฑ์—”๋“œ REST API์— API ์—”๋“œ ํฌ์ธํŠธ ์š”์ฒญ. ๋ฐฑ์—”๋“œ ์š”์ฒญ์€ ์ „๋‹ฌ์žํ† ํฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌ ํ•œ ํ›„ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์„๊ณ„์†ํ•˜๊ธฐ ์ „์— ๋“ค์–ด์˜ค๋Š” LDAP ๊ทธ๋ฃน์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์„ ๊ฒ€์‚ฌํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์€ LDAP ๊ทธ๋ฃน ๋ฉค๋ฒ„์‰ฝ์— ๋Œ€ํ•œ ๋…๋ฆฝ์  ์ธ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” LDAP ์ •๋ณด์— ์˜์กดํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ˆ˜์‹  ํ—ค๋” ๋ฐ ๋ณด๊ณ ์„œ๋ฅผ ์ž„์˜๋กœ LDAP ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›์œผ๋กœ ์กฐ์ •ํ•˜๊ณ  ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Page 22: OWASP Mobile Top10

malatto &

grini

M7: Client Code Quality์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์œ„ํ˜‘ ์—์ด์ „ํŠธ๋Š” ๋ชจ๋ฐ”์ผ ์ฝ”๋“œ ๋‚ด์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์— ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ธํ’‹์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ณด์•ˆ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๋ณด์•ˆ์ƒ์˜ ์ทจ์•ฝ์ ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ด์ „ ๋ฒ„์ „์˜ Safari(ํŒจ์น˜๋˜์ง€ ์•Š์€ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์„ฑ)๋Š” high risk์ธ drive-by jailbreak ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์กŒ๋‹ค. Poor code-quality ๋ฌธ์ œ๋Š” ๋ณดํ†ต ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํ”ผ์‹ฑ ์‚ฌ๊ธฐ๋ฅผ ํ†ตํ•ด ์•…์šฉ๋œ๋‹ค.

Attack VectorsExploitability DIFFICULT (์–ด๋ ค์›€์–ด๋ ค์›€)๊ณต๊ฒฉ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•˜์—ฌ ์กฐ์ž‘๋œ ์ž…๋ ฅ์„ ํ”ผํ•ด์ž์—๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ž…๋ ฅ์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๋‚ด์˜ ์ทจ์•ฝ์  ๋ฐœ์ƒ ์ฝ”๋“œ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ memory leaks ๊ณผ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ์ด์šฉํ•œ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ DIFFICULT (์–ด๋ ค์›€์–ด๋ ค์›€)Code quality ๋ฌธ์ œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ฐ”์ผ ์ฝ”๋“œ ๋‚ด์—์„œ ๊ฝค ์ผ๋ฐ˜์ ์ด๋‹ค. ์ข‹์€ ์†Œ์‹์€ ๋Œ€๋ถ€๋ถ„ Code quality ๋ฌธ์ œ๋Š” ์ผ๋ฐ˜์ ์ด๊ณ  ์ž˜๋ชป๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฒฐ๊ณผ์ด๋‹ค. ์ˆ˜๋™์ ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฐ ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ํƒ์ง€ํ•˜๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋ ต๋‹ค. ๋Œ€์‹ , ๊ณต๊ฒฉ์ž๋Š” ์ •์  ๋ถ„์„ ๋˜๋Š” ํผ์ง•์„ ์ˆ˜ํ–‰ํ•˜๋Š” third-party ๋„๊ตฌ๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์œ ํ˜•์˜ ๋„๊ตฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ, ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, ์ž˜๋ชป๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฒฐ๊ณผ์ธ ๋œ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•œ๋‹ค. ์—„์ฒญ๋‚œ low๋‹จ์˜ ์ง€์‹๊ณผ ์ „๋ฌธ ๊ธฐ์ˆ ์„ ๊ฐ€์ง„ ํ•ด์ปค๋“ค์€ ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ๋ชจ๋ฐ”์ผ ์ฝ”๋“œ ๋‚ด์—์„œ ์™ธ๋ถ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Technical Impact์˜ํ–ฅ๋ ฅ์˜ํ–ฅ๋ ฅ MODERATE (๋ณดํ†ต๋ณดํ†ต)์ด ์นดํ…Œ๊ณ ๋ฆฌ์— ํฌํ•จ๋˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ณต๊ฒฉ์€ ์„œ๋ฒ„์˜ ์—”๋“œํฌ์ธํŠธ(๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ์ž์ฒด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹˜)์—์„œ RCE ๋˜๋Š” DoS์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ/์˜ค๋ฒ„๋Ÿฐ์ด ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๋‚ด์— ์กด์žฌํ•˜๊ณ  ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์—๋Š” ์‹ฌ๊ฐํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์€ ์ต์Šคํ”Œ๋กœ์ž‡์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„๋‹ค. RCE์˜ Poor code quality ๋ฌธ์ œ๋Š” ์ •๋ณด ๋„๋‚œ, ๋ช…์˜ˆ ํ›ผ์†, ์ง€์  ์žฌ์‚ฐ๊ถŒ ๋„์šฉ์œผ๋กœ ์ด์–ด์ง„๋‹ค. ๋œ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ์„ฑ๋Šฅ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ํ”„๋ŸฐํŠธ ์—”ํŠธ ์•„ํ‚คํ…์ฒ˜์˜ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.

Page 23: OWASP Mobile Top10

malatto &

grini

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ด๊ฒƒ์€ ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ์˜ ์ฝ”๋“œ๋‹จ implementation ๋ฌธ์ œ์˜ ํฌ๊ด„์ ์ธ ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์€ ์„œ๋ฒ„๋‹จ ์ฝ”๋”ฉ ์‹ค์ˆ˜์™€๋Š” ๋‹ค๋ฅด๋‹ค. ์ด๋Š” ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, ํฌ๋งท ์ŠคํŠธ๋ง ์ทจ์•ฝ์  ๋ฐ ๊ธฐํƒ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ฝ”๋“œ๋‹จ ์‹ค์ˆ˜์™€ ๊ฐ™์€ ์ทจ์•ฝ์ ์—์„œ ์˜ค๋Š” ์œ„ํ—˜์„ ํŒŒ์•…ํ•œ๋‹ค.

์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด(์˜ˆ: Java, Swift, Object C, JavaScript)๋ฅผ ์ง€์นญํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€์ ์ ˆํ•œ ํ”Œ๋žซํผ ์‚ฌ์šฉ๊ณผ๋Š” ๊ตฌ๋ณ„๋œ๋‹ค. C์—์„œ์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋‚˜ ๋ชจ๋ฐ”์ผ ์•ฑ Webview์—์„œ์˜ DOM-based XSS๋Š” Code quality ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

(์›๋ฌธ : The key characteristic of this risk is that itโ€™s code executing on the mobile device and the code needs to be changed in a fairly localised way.) ์ด ์œ„ํ—˜์˜ ์ฃผ์š” ํŠน์ง•์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์ฝ”๋“œ ์‹คํ–‰์ด๋˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. (ํ˜น์€ ๊ต‰์žฅํžˆ ์ง€์—ญ์ ์ธ ๋ฐฉ์‹(JNI์™€ ๊ฐ™์ด)์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ๋ฐ”๋€Œ๋„๋ก ํ•ด์•ผํ•œ๋‹ค.)

๋Œ€๋ถ€๋ถ„์˜ ์œ„ํ—˜์„ ๊ณ ์น˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์„ ์š”๊ตฌํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, code quality์˜ ๊ฒฝ์šฐ, ์ž˜๋ชป๋œ API ์‚ฌ์šฉ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ API ์‚ฌ์šฉ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์–ธ์–ด ๊ตฌ์„ฑ ๋˜๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ ๋ ˆ๋ฒจ ์ด์Šˆ๋กœ๋ถ€ํ„ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ค‘์š”: ์ด๊ฒƒ์€ ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ์ž์ฒด์—์„œ ์‹คํ–‰๋˜๋Š” ์ทจ์•ฝํ•œ ์ฝ”๋“œ๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜์ด๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์กฐ์ง์˜ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋™์˜ํ•˜๋Š” ์ผ๊ด€๋œ ์ฝ”๋”ฉ ํŒจํ„ด ์œ ์ง€์ฝ๊ธฐ ์‰ฝ๊ณ  ์ž˜ ๋ฌธ์„œํ™” ๋œ ์ฝ”๋“œ ์ž‘์„ฑ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ํ•ญ์ƒ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๊ฐ€ ์œ ํšจํ•œ์ง€ ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธthird-party ์ •์  ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์ด์šฉํ•œ ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ์‹๋ณ„๋‹ค๋ฅธ code quality ๋ฌธ์ œ๋ณด๋‹ค ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ๋ฌธ์ œ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ํ•ด๊ฒฐ

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1: Buffer Overflow example

ํ•ด๋‹น ์˜ˆ์ œ์—์„œ๋Š” ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด gets ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ •์  ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ํƒ์ง€ํ•œ๋‹ค.

ReferencesBuffer Overflow ExamplesExternal References

Page 24: OWASP Mobile Top10

malatto &

grini

M8: Code Tampering์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฒฉ์ž๋Š” third-party ์•ฑ ์Šคํ† ์–ด์— ๋“ฑ๋ก๋œ ์•…์˜์ ์ธ ์•ฑ์„ ํ†ตํ•ด ์ฝ”๋“œ ์ˆ˜์ •์„ ์•…์šฉํ•  ๊ฒƒ์ด๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ํ”ผ์‹ฑ ๊ณต๊ฒฉ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ์„ค์น˜ํ•˜๋„๋ก ์†์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง€์˜ ์ฝ”์–ด ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ง์ ‘ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ณ€๊ฒฝ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง€ ์•ˆ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ง์ ‘ ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝredirectํ•˜๊ฑฐ๋‚˜ replaceํ•˜์—ฌ ์‹œ์Šคํ…œ API๋ฅผ ๊ฐ€๋กœ์ฑ„ ์•…์˜์ ์ธ ์™ธ๋ถ€ ์ฝ”๋“œ ์‹คํ–‰

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)์ˆ˜์ •๋œ ํ˜•ํƒœ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹น์‹ ์ด ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ํ”ํ•˜๋‹ค. ์•ฑ ์Šคํ† ์–ด ๋‚ด์—์„œ ์Šน์ธ๋˜์ง€ ์•Š์€ ๋ฒ„์ „์˜ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ํƒ์ง€ํ•˜๊ณ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ๊ธฐ๋ฐ˜์„ ๋‘” ๋ณด์•ˆ ์—…์ฒด๊ฐ€ ์žˆ๋‹ค. ์ฝ”๋“œ ์ˆ˜์ • ํƒ์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ทจํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์กฐ์ง์€ ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์€ ๋ฒ„์ „์˜ ์ฝ”๋“œ๋ฅผ ํƒ์ง€ํ•˜๋Š” ๊ฝค ์„ฑ๊ณต์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจ์น˜, ๋กœ์ปฌ ๋ฆฌ์†Œ์Šค ์ˆ˜์ •, method hooking, method swizzling, ๋™์  ๋ฉ”๋ชจ๋ฆฌ ์ˆ˜์ •์ด ํฌํ•จ๋œ๋‹ค.

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

Technical Impact์˜ํ–ฅ๋ ฅ์˜ํ–ฅ๋ ฅ SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)์ฝ”๋“œ ์ˆ˜์ •์˜ ์˜ํ–ฅ์€ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •๋˜์–ด ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๋‹ค. ์ผ๋ฐ˜์ ์ธ ์˜ํ–ฅ์€ ์Šน์ธ๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ์‹ ๋ถ„ ๋„์šฉ ๋˜๋Š” ์‚ฌ๊ธฐ์ด๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋ถˆ๋ฒ• ๋ณต์ œ๋กœ ์ธํ•œ ์ˆ˜์ต ์†์‹ค๋ช…์˜ˆ ํ›ผ์†

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

Page 25: OWASP Mobile Top10

malatto &

grini

๋ชจ๋ฐ”์ผ ์ฝ”๋“œ๊ฐ€ ๋ณธ์งˆ์ ์œผ๋กœ ์ทจ์•ฝํ•˜์ง€๋งŒ, ๊ถŒํ•œ ์—†๋Š” ์ฝ”๋“œ ์ˆ˜์ •์„ ํƒ์ง€ํ•˜๊ณ  ์˜ˆ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ์Šค์Šค๋กœ์—๊ฒŒ ์งˆ๋ฌธํ•˜๋Š” ๊ฒƒ์ด์ค‘์š”ํ•˜๋‹ค. ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ์•ฑ(์˜ˆ: ๊ฒŒ์ž„ ์šฉ)์€ ์ฝ”๋“œ ์ˆ˜์ •์˜ ์˜ํ–ฅ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์•ฑ(์˜ˆ: ์„œ๋น„์Šค ์šฉ)๋ณด๋‹ค ํ›จ์”ฌ ์ทจ์•ฝํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์œ„ํ—˜ ์š”์†Œ ํ•ด๊ฒฐ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์ „์— ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•๋ชจ๋ฐ”์ผ ์•ฑ์€ ์ปดํŒŒ์ผ ์‹œ ์ฝ”๋“œ ๋ฌด๊ฒฐ์„ฑ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ๋Ÿฐํƒ€์ž„์— ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. ์•ฑ์€ ๋Ÿฐํƒ€์ž„์— ์ฝ”๋“œ ๋ฌด๊ฒฐ์„ฑ ์œ„๋ฐ˜์— ์ ์ ˆํžˆ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์œ„ํ—˜์— ๋Œ€ํ•œ ์ „๋žต์€ OWASP Reverse Engineering and Code Modification Prevention Project ์— ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค.

์•ˆ๋“œ๋กœ์ด๋“œ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฃจํŒ…๋ฃจํŒ… ํƒ์ง€ํƒ์ง€์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์ •๋œ ์•ฑ์€ ํƒˆ์˜ฅ ๋˜๋Š” ๋ฃจํŒ…๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์†์ƒ๋œ ํ™˜๊ฒฝ์„ ๋Ÿฐํƒ€์ž„์— ํƒ์ง€ํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ๋Œ€์‘(์„œ๋ฒ„์— ๋ณด๊ณ  ๋˜๋Š” ์ข…๋ฃŒ)ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ด๋‹ค. ๋ฃจํŒ…๋œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๊ธฐ๋ฅผ ํƒ์ง€ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

test-keys ํ™•์ธํ™•์ธprop ์ค„์— ๊ฐœ๋ฐœ์ž ๋นŒ๋“œ ๋˜๋Š” ๋น„๊ณต์‹ ROM์„ ๋‚˜ํƒ€๋‚ด๋Š” ro.build.tags=test-keys ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

OTA ์ธ์ฆ์„œ์ธ์ฆ์„œ ํ™•์ธํ™•์ธ/etc/security/otacerts.zip ํŒŒ์ผ ์กด์žฌ ํ™•์ธ

๋ช‡๋ช‡ ๊ฐ€์ง€๊ฐ€์ง€ ์•Œ๋ ค์ง„์•Œ๋ ค์ง„ ๋ฃจํŒ…๋œ๋ฃจํŒ…๋œ apk ํ™•์ธํ™•์ธnoshufou.android.suthirdparty.superuserchainfire.supersukoushikdutta.superuser

SU ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฐ”์ด๋„ˆ๋ฆฌ ํ™•์ธํ™•์ธ/system/bin/su/system/xbin/su/sbin/su/system/su/system/bin/.ext/.su

SU ๋ช…๋ น๋ช…๋ น ์ง์ ‘์ง์ ‘ ์‹œ๋„์‹œ๋„su ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ID๋ฅผ ํ™•์ธํ•˜์˜€์„ ๋•Œ, 0์ด ๋ฐ˜ํ™˜๋˜๋ฉด su ๋ช…๋ น์–ด ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋œ ๊ฒƒ์ž„.

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์•ฑ ์Šคํ† ์–ด์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜ ๋งŽ์€ ์œ„์กฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋‹ค. ์ด๋“ค ์ค‘ ์ผ๋ถ€๋Š” ์•…์„ฑ ํŽ˜์ด๋กœ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆ˜์ •๋œ ์•ฑ์˜ ๋Œ€๋ถ€๋ถ„์€ ์›๋ž˜์˜ ์ฝ”์–ด ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ ๊ด€๋ จ๋œ ๋ฆฌ์†Œ์Šค์˜ ํ˜•ํƒœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ƒˆ๋กœ์šด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฆฌํŒจํ‚ค์ง•ํ•˜๊ณ  third-party ์Šคํ† ์–ด์— ๋ฐฐํฌํ•œ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1:์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉํ•˜๋Š” ํŠนํžˆ ์ธ๊ธฐ์žˆ๋Š” ๊ณต๊ฒฉ ๋Œ€์ƒ์€ ๊ฒŒ์ž„์ด๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ๊ฒŒ์ž„์˜ ํ”„๋ฆฌ๋ฏธ์—„ ๊ธฐ๋Šฅ์— ์ง€๋ถˆํ•˜๋Š”๋ฐ ๊ด€์‹ฌ ์—†๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋Œ์–ด๋“ค์ผ ๊ฒƒ์ด๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ๋‚ด์— ๊ตฌ๋งค ์œ ๋ฌด๋ฅผ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด์„ ์šฐํšŒํ•œ๋‹ค. ํ•ด๋‹น ์šฐํšŒ๋กœ ํ”ผํ•ด์ž๋Š” ๋ˆ์„ ์ง€๋ถˆํ•˜์ง€ ์•Š๊ณ  ๊ฒŒ์ž„ ์•„์ดํ…œ์ด๋‚˜ ์ƒˆ๋กœ์šด ๋Šฅ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ๋„์šฉํ•  ์ŠคํŒŒ์ด์›จ์–ด๋„ ์‹ฌ์–ด ๋‘์—ˆ๋‹ค.

Page 26: OWASP Mobile Top10

malatto &

grini

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #2:์€ํ–‰ ์•ฑ์€ ๋˜ ๋‹ค๋ฅธ ์ธ๊ธฐ์žˆ๋Š” ๊ณต๊ฒฉ ๋Œ€์ƒ์ด๋‹ค. ์ด ์•ฑ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฒฉ์ž์—๊ฒŒ ์œ ์šฉํ•œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์‚ฌ์šฉ์ž ๊ฐœ์ธ์‹๋ณ„์ •๋ณด(PII)์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„/ํŒจ์Šค์›Œ๋“œ๋ฅผ third-party ์‚ฌ์ดํŠธ๋กœ ์ „์†กํ•˜๋Š” ๋ณ€์กฐ๋œ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์€ Zeus ์•…์„ฑ์ฝ”๋“œ์™€ ๋งž๋จน๋Š” ๋ฐ์Šคํฌํƒ‘์„ ์—ฐ์ƒ์‹œํ‚จ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์€ํ–‰ ์‚ฌ๊ธฐ์— ์ด์šฉ๋œ๋‹ค.

ReferencesOWASP Reverse Engineering and Code Modification Prevention ProjectArxan Research: State of Security in the App Economy, Volume 2, Nobember 2013: โ€œAdversaries have hacked 78 percent of the top 100 paid Android and iOS apps in 2013.โ€HP Research: HP Research Reveals Nine out of 10 Mobile Application Vulnerable to Attack, 18 November 2013: โ€œ86 percent of applications tested lacked binary hardening, leaving applications vulnerable to information disclosure, buffer overflows and poor performance. To ensure security throughout the life cycle of the application, it is essential to build in the best security practices from conception.โ€North Carolina State University: Dissecting Android Malware: Characterization and Evolution, 7 September 2011: โ€œOur results show that 86.0% of them (Android Malware) repackage legitimate apps to include malicious payloads; 36.7% contain platform-level exploits to escalate privilege; 93.0% exhibit the bot-like capability.โ€Tech Hive: Apple Pulls Ripoff Apps from its Walled GardenFeb 4th, 2012: โ€œWhile Apple is known for screening apps before they are allowed to sprout up in its walled garden, clearly fake apps do get in. Once they do, getting them out depends on developers who raise a fuss.โ€Tech Crunch: Developer Spams Google Play With RipOffs of Well-Known Appsโ€ฆ Again, January 2 2014: โ€œItโ€™s not uncommon to search the Google Play app store and find a number of knock-off or โ€œfakeโ€ apps aiming to trick unsuspecting searchers into downloading them over the real thing.โ€Extreme Tech: Chinese App Store Offers Pirated iOS Apps Without the Need To Jailbreak, April 19 2013: โ€œThe site offers apps for free that would otherwise cost money, including big-name titles.โ€OWASP: Architectural Principles That Prevent Code Modification or Reverse Engineering, January 11th 2014.Gartner report: Avoiding Mobile App Development Security Pitfalls, 24 May 2013: โ€œFor critical applications, such as transactional ones and sensitive enterprise applications, hardening should be used.โ€Gartner report: Emerging Technology Analysis: Mobile Application Shielding, March 26th, 2013: โ€œAs more regulated and sensitive data applications move to mobile platforms the need to increase data protection increases. Mobile application shielding presents the opportunity to security providers to offer higher data protection standards to mobile platforms that exceed mobile OS security.โ€Gartner report: Proliferating Mobile Transaction Attack Vectors and What to Do About Them, March 1st, 2013: โ€œUse mobile application security testing services and self-defending application utilities to help prevent hacking attempts.โ€Gartner report: Select a Secure Mobile Wallet for Proximity, March 1st, 2013: โ€œApplication hardening can fortify sensitive business code against hacking attempts, such as reverse engineeringโ€Forrester paper: Choose The Right Mobile Development Solutions For Your Organization, May 6th 2013: โ€œ5 Key Protections: Data Protection, App Compliance, App-Level Threat Defense, Security Policy Enforcement, App Integrityโ€John Wiley and Sons, Inc: iOS Hackerโ€™s Handbook, Published May 2012, ISBN 1118204123.McGraw Hill Education: Mobile Hacking Exposed, Published July 2013, ISBN 0071817018.Publisher Unannounced: Android Hackerโ€™s Handbook, To Be Published April 2014.Software Development Times: More than 5,000 apps in the Google Play Store are copied APKs, or โ€˜thief-wareโ€™, November 20 2013: โ€œIn most cases, the 2,140 copycat developers that were found reassembled the apps almost identically, adding new advertising SDKs to siphon profits away from the original developers.InfoSecurity Magazine: Two Thirds of Personal Banking Apps Found Full of Vulnerabilities, January 3 2014: โ€œBut one of his more worrying findings came from disassembling the apps themselves โ€ฆ what he found was hardcoded development credentials within the code. An attacker could gain access to the development infrastructure of the bank and infest the application with malware causing a massive infection for all of the applicationโ€™s users.โ€InfoSecurity Magazine: Mobile Malware Infects Millions; LTE Spurs Growth, January 29 2014: โ€œNumber of mobile malware samples is growing at a rapid clip, increasing by 20-fold in 2013โ€ฆ It is trivial for an attacker to hijack a legitimate Android application, inject malware into it and redistribute it for consumption. There are now binder kits available that will

Page 27: OWASP Mobile Top10

malatto &

grini

allow an attacker to automatically inject malware into an existing applicationโ€

Page 28: OWASP Mobile Top10

malatto &

grini

M9: Reverse Engineering์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•๊ณต๊ฒฉ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์•ฑ ์Šคํ† ์–ด์—์„œ ํƒ€๊ฒŸ ์•ฑ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํˆด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ํ™˜๊ฒฝ ๋‚ด์—์„œ ๋ถ„์„ํ•œ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)๊ณต๊ฒฉ์ž๋Š” ์•ฑ์— ๋‚ด์žฅ๋œ ์›๋ž˜ ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ”, ์†Œ์Šค ์ฝ”๋“œ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋ฆฌ์†Œ์Šค ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ์ตœ์ข… ์ฝ”์–ด ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ถ„์„์„์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” IDA Pro, Hopper, otool, strings ๋ฐ ๋‹ค๋ฅธ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ถ„์„ ๋„๊ตฌ์™€ ๊ฐ™์€ ๋น„๊ต์  ์ €๋ ดํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํˆด์„ ๊ณต๊ฒฉ์ž์˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ EASY (์‰ฌ์›€์‰ฌ์›€)์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๋ชจ๋ฐ”์ผ ์ฝ”๋“œ๋Š” ๋ฆฌ๋ฒ„์‹ฑ์— ์ทจ์•ฝํ•˜๋‹ค. ์ผ๋ถ€ ์•ฑ์€ ๋‹ค๋ฅธ ์•ฑ๋ณด๋‹ค ๋” ์ทจ์•ฝํ•˜๋‹ค. ๋Ÿฐํƒ€์ž„์— ๋™์  ๋ถ„์„์„ ํ—ˆ์šฉํ•˜๋Š” ์–ธ์–ด/ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ(Java, .NET, Objective C, Swift)๋Š” ํŠนํžˆ ๋ฆฌ๋ฒ„์‹ฑ์˜ ์œ„ํ—˜์ด ์žˆ๋‹ค. ๋ฆฌ๋ฒ„์‹ฑ ์ทจ์•ฝ์„ฑ ํƒ์ง€๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. ๋จผ์ €, ๋ฐ”์ด๋„ˆ๋ฆฌ ์•”ํ˜ธํ™”๊ฐ€ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์•ฑ์˜ ์•ฑ์Šคํ† ์–ด ๋ฒ„์ „์„ ๋ณตํ˜ธํ™”ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ๋ฌธ์„œ์˜ "๊ณต๊ฒฉ ๋ฒกํ„ฐ"์— ์„ค๋ช…๋œ ํˆด์„ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์‚ฌ์šฉํ•ด๋ผ. ์•ฑ์˜ ์ œ์–ด ํ๋ฆ„ ๊ฒฝ๋กœ, ์ŠคํŠธ๋ง ํ…Œ์ด๋ธ” ๋ฐ ํ•ด๋‹น ๋„๊ตฌ๋กœ ์ƒ์„ฑ๋œ ์Šˆ๋„ ์ฝ”๋“œ/์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค๋ฉด ์ฝ”๋“œ๋Š” ์ทจ์•ฝํ• ๊ฒƒ์ด๋‹ค.

Technical Impact์˜ํ–ฅ๋ ฅ์˜ํ–ฅ๋ ฅ MODERATE (๋ณดํ†ต๋ณดํ†ต)๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ์ •๋ณด ๊ณต๊ฐœ, ์•”ํ˜ธ ์ƒ์ˆ˜์™€ ์•”ํ˜ธ ๊ณต๊ฐœ, ์ง€์  ์žฌ์‚ฐ ๋„์šฉ, ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ๊ณต๊ฒฉ ์ˆ˜ํ–‰, ์ฝ”๋“œ ์ˆ˜์ •์— ํ•„์š”ํ•œ ์ •๋ณด ์–ป๊ธฐ๋ฅผ ์œ„ํ•ด ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค๋ฆฌ๋ฒ„์‹ฑ์œผ๋กœ ์ธํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์€ ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค.

์ง€์  ์žฌ์‚ฐ ๋„์šฉ๋ช…์˜ˆ ํ›ผ์†์‹ ๋ถ„ ๋„์šฉ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์†์ƒ

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฝ”๋“œ๊ฐ€ ๋‚ด์ œ๋œ ํŠน์„ฑ ๋•Œ๋ฌธ์— ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์— ์ทจ์•ฝํ•˜๋‹ค. ์˜ค๋Š˜๋‚ ์˜ ์•ฑ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ˆ˜์›”ํ•˜๊ฒŒ ์•ฑ์„ ๋””๋ฒ„๊น…ํ•˜๋„๋ก ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ’๋ถ€ํ•˜๋‹ค. ์ด๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์•ฑ์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š”

Page 29: OWASP Mobile Top10

malatto &

grini

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

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•์ด ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์ด ์ฝ”๋“œ๋ฅผ ๊ฐ€์žฅ ์ž˜์•„๋Š” ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€ ๋˜๋Š” ์„œ๋ธŒ์ ํŠธ ์ „๋ฌธ๊ฐ€๋ฅผ ํ†ตํ•ด ์ˆ˜๋™์œผ๋กœ ๋ณด์•ˆ ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ „๋ฌธ๊ฐ€๋“ค์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

์ˆจ๊ฒจ์ง„ ์Šค์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์•ฑ์˜ conf ์„ค์ • ๊ฒ€ํ† ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์•ฑ์˜ ์ตœ์ข… ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์ ‘๊ทผํ•˜๋Š” ๋ชจ๋“  API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ž˜ ๋ฌธ์„œํ™”๋˜๊ณ  ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ๋ชจ๋“  ๋กœ๊ทธ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ๊ณผํ•œ ์„ค๋ช…์ด ๋กœ๊ทธ์— ๊ธฐ๋ก๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1: ๊ด€๋ฆฌ์ ์ธ๊ด€๋ฆฌ์ ์ธ ์—”๋“œ์—”๋“œ ํฌ์ธํŠธํฌ์ธํŠธ ๋…ธ์ถœ๋…ธ์ถœ๋ชจ๋ฐ”์ผ ์—”๋“œํฌ์ธํŠธ ํ…Œ์ŠคํŒ…์˜ ์ผ๋ถ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์— ์ˆจ๊ฒจ์ง„ ๊ด€๋ฆฌ์ž ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹œ๋ณด๋“œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. ์ด ๋Œ€์‹œ๋ณด๋“œ๋Š” ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ์ž ์ •๋ณด์— ์ ‘๊ทผํ•œ๋‹ค. ์ฝ”๋“œ์˜ ์ œ์ž‘ ๋ฒ„์ „์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฑ์—”๋“œ ๊ด€๋ฆฌ์ž API์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์ŠคํŠธ๋ง ํ…Œ์ด๋ธ” ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ๊ด€๋ฆฌ REST ์—”๋“œ ํฌ์ธํŠธ์— ๋Œ€ํ•œ URL์„ ๋ฐœ๊ฒฌํ•˜์˜€๋‹ค. ๊ทธ ํ›„ ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์—”๋“œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด 'curl'์„ ์ด์šฉํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ง€์›Œ์•ผํ•œ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #2: Conf ํŒŒ์ผ์˜ํŒŒ์ผ์˜ ๋””๋ฒ„๊น…๋””๋ฒ„๊น… ํ”Œ๋ž˜๊ทธํ”Œ๋ž˜๊ทธ๊ณต๊ฒฉ์ž๋Š” ๋กœ์ปฌ ์•ฑ์˜ .propertiex ํŒŒ์ผ์— ์ˆ˜๋™์œผ๋กœ "begug=true"๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ๋‹ค. ์‹œ์ž‘ ์‹œ, ํ•ด๋‹น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•ด์ปค๊ฐ€ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๋Š” ๋ฐ ์œ ๋ฆฌํ•˜๋„๋ก ๊ฝค ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ ํ›„ ๊ณต๊ฒฉ์ž๋Š” ๋กœ๊ทธ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ๋‚ด์˜ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ ๋‚ด์—์„œ 'debug mode'์˜ ํ™œ์„ฑํ™”๋ฅผ ๋ฐฉ์ง€ํ•ด์•ผ ํ•œ๋‹ค.

ReferencesOWASPExternal References

Page 30: OWASP Mobile Top10

malatto &

grini

M10: Extraneous Functionlity์œ„ํ˜‘์›์œ„ํ˜‘์›Application ํŠน์ง•ํŠน์ง•์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์—์„œ ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ์„ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ฐ”์ผ ์•ฑ ๋‚ด์˜ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๋ ค ํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š”์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ์ข… ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ž…์—†์ด ์ž์ฒด ์‹œ์Šคํ…œ์—์„œ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์•…์šฉํ•œ๋‹ค.

Attack VectorsExploitability EASY (์‰ฌ์›€์‰ฌ์›€)๊ณต๊ฒฉ์ž๋Š” ์ž์‹ ์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋ถ„์„ํ•œ๋‹ค. ๋กœ๊ทธํŒŒ์ผ, conf ํŒŒ์ผ ๋ฐ ์•„๋งˆ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€๋‚จ๊ธด ํžˆ๋“  ์Šค์œ„์น˜๋‚˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•  ๊ฒƒ์ด๋‹ค. ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์—์„œ ์ด๋Ÿฌํ•œ ์Šค์œ„์น˜์™€ ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ์„ ์•…์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ด๋‹ค.

Security WeaknessPrevalence COMMON (์ผ๋ฐ˜์ผ๋ฐ˜)

ํƒ์ง€ํƒ์ง€ ๊ฐ€๋Šฅ์„ฑ๊ฐ€๋Šฅ์„ฑ AVERAGE (๋ณดํ†ต๋ณดํ†ต)ํŠน์ • ๋ชจ๋ฐ”์ผ ์•ฑ์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘ ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š” ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ์ด ์ถ”๊ฐ€์ ์ธ ์ฝ”๋“œ์˜๋Œ€๋ถ€๋ถ„์€ ๋ณธ์งˆ์ ์œผ๋กœ ์–‘์„ฑ์ด๊ณ  ๊ณต๊ฒฉ์ž์—๊ฒŒ ๋ฐฑ์—”๋“œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๊ณต๊ฒฉ์ž์—๊ฒŒ ๋งค์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฑ์—”๋“œ ํ…Œ์ŠคํŠธ, ๋ฐ๋ชจ, staging ๋˜๋Š” UAT ํ™˜๊ฒฝ๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์€ ํ”„๋กœ๋•์…˜๋นŒ๋“œ์— ํฌํ•จ๋˜๋ฉด ์•ˆ๋œ๋‹ค. ๋˜ํ•œ, ๊ด€๋ฆฌ API ์—”๋“œ ํฌ์ธํŠธ ๋˜๋Š” ๋น„๊ณต์‹ ์—”๋“œ ํฌ์ธํŠธ๋Š” ์ตœ์ข… ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์— ํฌํ•จ๋˜๋ฉด ์•ˆ๋œ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ํƒ์ง€ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค. ์ž๋™ํ™”๋œ ์ •์  ๋ฐ ๋™์  ๋ถ„์„ ๋„๊ตฌ๋Š” ๋‚˜๋ฆ„ ์‰ฝ๊ฒŒ(low hanging fruit) ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ๋ฐฑ๋„์–ด๋Š” ์ž๋™ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ์ง€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜๋™ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.

Technical Impact์˜ํ–ฅ๋ ฅ์˜ํ–ฅ๋ ฅ SEVERE (์‹ฌ๊ฐ์‹ฌ๊ฐ)๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์˜ ๊ธฐ์ˆ ์  ์˜ํ–ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ๋…ธ์ถœ๋†’์€ ๊ถŒํ•œ ์‹คํ–‰.

๋น„์ฆˆ๋‹ˆ์Šค๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์˜ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋น„์ฆˆ๋‹ˆ์Šค๋ณ„๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ฏผ๊ฐํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ๋ช…์˜ˆ ํ›ผ์†์ง€์  ์žฌ์‚ฐ๊ถŒ ๋„์šฉ

์ทจ์•ฝ์„ฑ์ทจ์•ฝ์„ฑ ํ…Œ์ŠคํŠธํ…Œ์ŠคํŠธ

Page 31: OWASP Mobile Top10

malatto &

grini

๋ฐ ๋„์›€๋œ๋‹ค.

๊ณต๊ฒฉ์ž๊ฐ€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์•ฑ์ด ๋ฆฌ๋ฒ„์‹ฑ์— ์ทจ์•ฝํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์ŠคํŠธ๋ง ํ…Œ์ด๋ธ”์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐcross-functional ๋ถ„์„์„ ์ •ํ™•ํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์ •ํ™•ํžˆ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Œ€๋ถ€๋ถ„์˜ ์•ฑ์€ ๋ฆฌ๋ฒ„์‹ฑ์— ์ทจ์•ฝํ•˜์ง€๋งŒ ์ด ์œ„ํ—˜์„ ์™„ํ™”ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋ฆฌ๋ฒ„์‹ฑ์˜ ์ž ์žฌ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ์„ ์กฐ์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๋ฆฌ๋ฒ„์‹ฑ๋งŒ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์˜ ๊ฐ„๋‹จํ•œ ์˜ˆ๋Š” ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•ด๋ผ.

๋ฐฉ์ง€๋ฐฉ์ง€ ๋ฐฉ๋ฒ•๋ฐฉ๋ฒ•ํšจ๊ณผ์ ์ธ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚œ๋…ํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์‹œ์žฅ์— ๋งŽ์€ ๋ฌด๋ฃŒ ๋ฐ ์ƒ์—…์ ์ธ ๋‚œ๋…๊ธฐ๊ฐ€ ์žˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์‹œ์žฅ์— ๋‹ค์–‘ํ•œ de-obfuscator ๋„๊ตฌ๋„ ์žˆ๋‹ค. ๋‚œ๋…ํ™” ๋„๊ตฌ์˜ ํšจ๊ณผ๋ฅผ ์ธก์ •ํ•˜๋ ค๋ฉด IDA Pro ์™€ Hopper ์™€ ๊ฐ™์€ ์‚ฌ์šฉํ•˜์—ฌ de-obfuscator ์„ ์‹œ๋„ํ•ด๋ณด์•„๋ผ.

์ข‹์€ ๋‚œ๋…ํ™” ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค.

๋‚œ๋…ํ™” ํ•  ๋ฉ”์†Œ๋“œ/์ฝ”๋“œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ขํž˜์„ฑ๋Šฅ ์˜ํ–ฅ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋‚œ๋…ํ™” ์ •๋„ ์กฐ์ •IDA Pro ๋ฐ Hooper์™€ ๊ฐ™์€ ๋„๊ตฌ์˜ de-obfuscation ๋ฐฉ์ง€๋ฉ”์†Œ๋“œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ŠคํŠธ๋ง ํ…Œ์ด๋ธ” ๋‚œ๋…ํ™”

๊ณต๊ฒฉ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์ œ์˜ˆ์ œ์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #1: String Table Analysis๊ณต๊ฒฉ์ž๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์•ฑ์—์„œ 'strings'๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ” ๋ถ„์„ ๊ฒฐ๊ณผ๋กœ ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ์—”๋“œ DB์— ๋Œ€ํ•œ ์ธ์ฆ์„œ๋ฅผ ํฌํ•จํ•œ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด์„ ๋ฐœ๊ฒฌํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด๋Ÿฌํ•œ ์ฆ๋ช…์„œ๋ฅผ ์ด์šฉํ•˜์—ฌ DB์— ์ ‘๊ทผํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์•ฑ ์‚ฌ์šฉ์ž๋“ค์— ๋Œ€ํ•œ ๋ฐฉ๋Œ€ํ•œ PII ๋ฐ์ดํ„ฐ๋ฅผ ํ›”์นœ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #2: Cross-Functional Analysis๊ณต๊ฒฉ์ž๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์•ฑ์— IDA Pro๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ” ๋ถ„์„์˜ ๊ฒฐ๊ณผ์™€ ๊ธฐ๋Šฅ์  ์ƒํ˜ธ ์ฐธ์กฐ(functional cross-referencing)๊ฐ€ ๊ฒฐํ•ฉ๋˜์–ด ๊ณต๊ฒฉ์ž๋Š” ํƒˆ์˜ฅ ํƒ์ง€ ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ํ•˜์œ„ ์ฝ”๋“œ ์ˆ˜์ • ๊ณต๊ฒฉ์—์„œ ํ•ด๋‹น ์ฝ”๋“œ์˜ ์ง€์‹์„ ์ด์šฉํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ ํƒˆ์˜ฅ ํƒ์ง€๋ฅผ ๋น„ํ™œ์„ฑํ™” ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ณต๊ฒฉ์ž๋Š” method swizzling ์„ ์•…์šฉํ•˜์—ฌ ๊ณ ๊ฐ ์ •๋ณด๋ฅผ ํ›”์น˜๊ธฐ ์œ„ํ•œ ์•ฑ์„ ๋ฐฐํฌํ•œ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์‹œ๋‚˜๋ฆฌ์˜ค #3: Source Code Analysis์•ˆ๋“œ๋กœ์ด๋“œ ์€ํ–‰ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ณ ๋ คํ•ด๋ณด์ž. APK ํŒŒ์ผ์€ 7zip/ Winrar/ WinZip/ Gunzip ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ถ”์ถœ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋‹จ ์ถ”์ถœ๋˜๋ฉด, ๊ณต๊ฒฉ์ž๋Š” manifest ํŒŒ์ผ, ์ž์‚ฐ, ์ž์›๊ณผ ๊ฐ€์žฅ ์ค‘์š”ํ•œ class.dex ํŒŒ์ผ์„ ์–ป๋Š”๋‹ค. ๊ทธ ํ›„ dex2jar ์„ ์ด์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ jarํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ๋Š” Java Decompiler (JDgui) ๋กœ ์ฝ”๋“œ๋ฅผ ์–ป๋Š”๋‹ค.

ReferencesM8: Code Tampering๊ณผ ๋™์ผ