OWASP Mobile Top10
Transcript of 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.
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
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๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ค.
malatto &
grini
M8: ์ฝ๋์ฝ๋ ๋ณ์กฐ๋ณ์กฐ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ณ์กฐํ๊ฑฐ๋ ํํน์ ํตํ ๋ฉ์๋ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ณ์กฐ, ๋ก์ปฌ ๋ฆฌ์์ค ์์ ์ ํด๋นํ๋ ์ทจ์ฝ์ ์ด๋ค. ์ด๋ฐ ๋์์ ํ๊ธฐ ์ํด์๋ ๋ฃจํ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋ฃจํ ์ํ๋ฅผ ํ์งํ๋ ๊ฒ์ด ๋์์ด ๋๋ฉฐ, ๋ฐํ์์ ์ฝ๋์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฌํ๋ ๊ฒ์ผ๋ก ๋ฐฉ์งํ ์ ์๋ค. ์ ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณ์กฐํ ์ ์ฑ์ฑ์ ๋ฐฐํฌํ ์ ์๊ณ , ๊ฒ์์ฑ์์ ๊ฒฐ์ ์ฐํ๋ฅผ ํ ์ ์๋ค.
M9: ๋ฆฌ๋ฒ์ค๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์์ง๋์ด๋ง์ฝ๊ฒ ๋์ปดํ์ผ ํด์, ์๋ณธ ์ฝ๋๋ฅผ ๋ณต์ํ ์ ์๋ ๊ฒฝ์ฐ์ ํด๋นํ๋ค. ์ฑ ๋๋ ํ๋ฅผ ํตํด ํด๊ฒฐํ ์ ์๋ค.
M10: ๋ถํ์ํ๋ถํ์ํ ๊ธฐ๋ฅ๊ธฐ๋ฅ์ฑ ๋ฐฐํฌ์ ๊ฐ๋ฐ์์ ์ค์๋ก, ์จ๊ฒจ์ง ๋ฐฑ๋์ด๊ฐ ์กด์ฌํ๊ฑฐ๋ ํจ์ค์๋๋ฅผ ์ฃผ์์ ํฌํจ ํ๋ ๊ฒฝ์ฐ, ์์ค์ฝ๋์ ๋ ธ์ถ, ๊ด๋ฆฌ์ ๊ธฐ๋ฅ์ ๋ ธ์ถ ๋ฑ์ ํด๋นํ๋ ์ทจ์ฝ์ ์ด๋ค. ๋๋ฒ๊ทธ ๋ชจ๋๋ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ ์ํผ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํด์, ์ธ์ฆ์์ด ์ฑ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ฑฐ๋, ํ ์คํธ ์ฝ๋๋ค์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ๋ค.
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๋ ์ํ๊ณผ ๋ค๋ฅด๋ค. ๋ชจ๋ฐ์ผ ์ฑ์ด ์ด๋ฌํ ์ํ์ ๊ฒฝํํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
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 ๋ฐฑ์ (์: ์ฌ์ฉ์์ ์ปดํจํฐ์์)์์ ์ฌ์ฉํ ์ ์๋ค. ์ผ๋ถ ์ฑ์ ๊ฒฝ์ฐ ๊ทธ๋ฌํ ๋ ธ์ถ์ ๋ถ์ ์ ํ๋ค.
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
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 (๋ฌผ์ง์ ์์ค)
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
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
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
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 ์ ๊ฐ์ ๋ชจ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๋ค. ์ด๊ฒ๋ค์ ๋ชจ๋ ์ธ์ฆ์๋ฅผ ์ ๋ขฐํ
malatto &
grini
๋ ๊ฒ๊ณผ ๊ฐ๋ค. SSLSocketFactory๋ฅผ ํ์ฅํ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์๋ฒ ์ธ์ฆ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒดํฌ๋๋๋ก checkServerTrusted ๋ฉ์๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋์๋์ง ํ์ธํ๋ค.
๊ณต๊ฒฉ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์๋๋ฆฌ์ค ์์ ์์ ๋ชจ์ํด์ปค๋ก๋ถํฐ ๋น๋ฒํ๊ฒ ๋ฐ๊ฒฌ๋๋ ๋ณดํธ์ ์ธ ์๋๋ฆฌ์ค๋ค์ด ์๋ค.
์ธ์ฆ์์ธ์ฆ์ ๊ฒ์ฌ๊ฒ์ฌ ๋ถ์กฑ๋ถ์กฑ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์ค๋ํฌ์ธํธ๋ TLS Handshake๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐํ๊ณ ์ํํ์ฌ ๋ณด์ ์ฑ๋์ ์ค์ ํ๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ฐ์ผ ์ฑ์ด ์๋ฒ์์ ์ ๊ณตํ ์ธ์ฆ์๋ฅผ ๊ฒ์ฌํ์ง ๋ชปํ๊ณ , ๋ฌด์กฐ๊ฑด ์ธ์ฆ์๋ฅผ ์๋ฝํ๋ค. ์ด๋ ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์ค๋ ํฌ์ธํธ ๊ฐ์ ์ํธ ์ธ์ฆ ๊ธฐ๋ฅ์ ํ๊ดดํ๋ค.๋ชจ๋ฐ์ผ ์ฑ์ TLSํ๋ก์๋ฅผ ํตํ MITM ๊ณต๊ฒฉ์ ์ทจ์ฝํ๋ค.
์ทจ์ฝํ์ทจ์ฝํ handshake ๋จ๊ณ๋จ๊ณ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์ค๋ ํฌ์ธํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐํ๊ณ connection handshake์ ์ผ๋ถ๋ก ์ํธ๋ฐฉ์์ ํ์ํ๋ค. ํด๋ผ์ด์ธํธ๋ ์ทจ์ฝํ ์ํธ ๋ฐฉ์์ ์ด์ฉํด ์๋ฒ์ ํต์ ํ์ฌ, ๊ณต๊ฒฉ์๊ฐ ์ฝ๊ฒ ๋ณตํธํ ํ ์ ์๋ ์ทจ์ฝํ ์ํธํ๋ฅผ ํ๊ฒ ๋๋ค. ์ด๋ก ์ธํด ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์ค๋ ํฌ์ธํธ ๊ฐ์ ์ฑ๋ ๊ธฐ๋ฐ์ฑ์ด ์์๋๋ค.
๊ฐ์ธ์ ๋ณด๊ฐ์ธ์ ๋ณด ์ ์ถ์ ์ถ๋ชจ๋ฐ์ผ ์ฑ์ SSL ๋์ ๋น๋ณด์ ์ฑ๋์ ํตํด ๊ฐ์ธ ์๋ณ ์ ๋ณด๋ฅผ ์ค๋ ํฌ์ธํธ๋ก ์ ์กํ๋ค. ์ด๋ก ์ธํด ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์ค๋ ํฌ์ธํธ ๊ฐ์ ๊ฐ์ธ ์ ๋ณด ๊ด๋ จ ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ์ฑ์ด ์์๋๋ค.
ReferencesOWASP
OWASPExternal
External References
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๋ ์ฌ์ฉ์์ ์ญํ ๋ฐ ๊ด๋ จ ๊ถํ๊ณผ ์ฐ๊ฒฐ๋์ด ์๋ค. ๊ณต๊ฒฉ์๊ฐ ์ต๋ช ์ผ๋ก ๋ฏผ๊ฐํ ๊ธฐ๋ฅ์ ์คํํ ์ ์๋ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ์ฝ๋๊ฐ ์ฌ์ฉ์์ ๊ถํ์ ํ์ธํ๊ณ ์์ง ์์์ ๋ํ๋ธ๋ค. ๋ฐ๋ผ์, ์ฝ๋์ ์ต๋ช ์คํ์ ์ธ์ฆ๊ณผ ๊ถํ ๋ถ์ฌ ์ ์ด ๋ชจ๋์์ ์คํจํ๋ค๋ ๊ฒ์ ๋ํ๋ธ๋ค.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋ณ๋น์ฆ๋์ค๋ณ
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 ๋ฅผ ๋ณด๋ด๊ณ ํฉ๋ฒ์ ์ธ ์๋ฃจ์ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ์ฃผ๋ ๊ธฐ๋ฅ์ ์ต๋ช ์ผ๋ก ์คํํ๋ค.
malatto &
grini
์๋๋ฆฌ์ค์๋๋ฆฌ์ค #2: ์ธํฐํ์ด์ค์ธํฐํ์ด์ค ์์กด์ฑ์์กด์ฑ๊ฐ๋ฐ์๋ ์น์ธ๋ ์ฌ์ฉ์๋ง ์ฑ์์ ํน์ ๊ธฐ๋ฅ์ ์กด์ฌ๋ฅผ ๋ณผ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ๋ฐ๋ผ์ ํฉ๋ฒ์ ์ผ๋ก ๊ถํ์ด ๋ถ์ฌ๋ ์ฌ์ฉ์๋ง ์ฅ์น์์ ์๋น์ค ์์ฒญ์ ํ ์ ์์๊ฑฐ๋ผ ๊ธฐ๋ํ๋ค. ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐฑ์๋ ์ฝ๋๋ ์์ฒญ๊ณผ ์ฐ๊ด๋ ID๊ฐ ์๋น์ค๋ฅผ ์คํํ ๊ถํ์ด ์๋์ง ๊ฒ์ฆํ์ง ์๋๋ค. ๋ฐ๋ผ์ ๊ณต๊ฒฉ์๋ ๊ถํ์ด ๋ฎ์ ์ฌ์ฉ์ ๊ณ์ ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ค.
์๋๋ฆฌ์ค์๋๋ฆฌ์ค #3: Usability Requirements์ฌ์ฉ์ฑ ์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด ๋ชจ๋ฐ์ผ ์ฑ์ 4์๋ฆฌ ๊ธธ์ด์ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ฉํ๋ค. ์๋ฒ ์ฝ๋๋ ํด์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ฅํ๋ค. ๊ทธ๋ฌ๋ ์ํธ์ ๊ธธ์ด๊ฐ ๋งค์ฐ ์งง๊ธฐ ๋๋ฌธ์, ์๋ ์ํธ๋ฅผ ์ ์ํ๊ฒ ์ถ๋ก ํ ์ ์๋ค. ์๋ฒ์ ๋น๋ฐ๋ฒํธ ํ์ผ(๋๋ ๋ฐ์ดํฐ ์ ์ฅ์)์ด ์์๋ ๊ฒฝ์ฐ ๊ณต๊ฒฉ์๋ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋น ๋ฅด๊ฒ ์ถ๋ก ํ ์ ์๋ค.
ReferencesOWASP
OWASPExternal
External References
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 (์ฌ๊ฐ์ฌ๊ฐ)์ด ์ทจ์ฝ์ ์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ก๋ถํฐ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ฌด๋จ์ผ๋ก ๊ฒ์ํ ์ ์๋ค.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋ณ๋น์ฆ๋์ค๋ณ์ด ์ทจ์ฝ์ ์ ๋ช ๊ฐ์ ๋ค๋ฅธ ๋น์ฆ๋์ค ์ํฅ์ ์ค ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก, ์ํธํ๊ฐ ๊นจ์ง๋ฉด ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๋ค.
๊ฐ์ธ ์ ๋ณด ์นจํด์ ๋ณด ํ์ทจ์ฝ๋ ํ์ทจ์ง์ ์ฌ์ฐ๊ถ ํ์ทจํํ ์์
์ทจ์ฝ์ฑ์ทจ์ฝ์ฑ ํ ์คํธํ ์คํธ์์ ํ์ง ์์ ์ํธํ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ๋๋ถ๋ถ์ ๋ชจ๋ฐ์ผ ์ฑ์์ ์ผ๋ฐ์ ์ด๋ค. ๊นจ์ง ์ํธํ๊ฐ ๋ชจ๋ฐ์ผ ์ฑ ๋ด์ ๋ํ๋๋ ๋๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ๋ฐฉ์์ด ์๋ค. ์ฒซ๋ฒ์งธ๋ก, ๋ชจ๋ฐ์ผ ์ฑ์ ๊ทผ๋ณธ์ ์ผ๋ก ๊ฒฐํจ์ด ์๋ ์ํธํ/๋ณตํธํ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ณ , ์ด๋ ๊ณต๊ฒฉ์๋ก ์ธํด๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํ ํ๊ฒํ ์ ์๋ค. ๋๋ฒ์งธ๋ก, ๋ชจ๋ฐ์ผ์ฑ์ ๋ณธ์ง์ ์ผ๋ก ์ฝํด์ ๊ณต๊ฒฉ์๊ฐ ์ง์ ํด๋ ํ ์ ์๋ ์/๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๊ฑฐ๋ ํ์ฉํ ์ ์๋ค. ๋ค์ ํ์ ์น์ ์์ ์ด ๋ ์๋๋ฆฌ์ค๋ฅผ ์ดํด๋ณธ๋ค.
malatto &
grini
๋ด์ฅ๋ด์ฅ ์ฝ๋์ฝ๋ ์ํธํ์ํธํ ํ๋ก์ธ์ค์ํ๋ก์ธ์ค์ ๋ํ๋ํ ์์กด์์กด๊ธฐ๋ณธ์ ์ผ๋ก IOS ์ฑ์ ์ด๋ก ์ ์ผ๋ก ์ฝ๋ ์ํธํ๋ฅผ ํตํ ๋ฆฌ๋ฒ์ฑ์ผ๋ก๋ถํฐ ๋ณดํธ๋๋ค. IOS ๋ณด์ ๋ชจ๋ธ์์๋ ๋น ํ์ฅ ํ๊ฒฝ์์ ์คํํ๋ ค๋ฉด ์ ๋ขฐํ ์ ์๋ ์์ค๋ก ์ฑ์ ์ํธํํ๊ณ ์๋ช ํด์ผ ํ๋ค. ์์ ์ IOS ์ฑ ๋ก๋๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ฑ์ ํด๋ ํ๊ณ , ์๋ช ์ด IOS์์ ํ์ธ๋ ํ์, ์ฝ๋๋ฅผ ์คํํ๋ค. ์ด๋ก ์ ์ผ๋ก ์ด ๊ธฐ๋ฅ์ ๊ณต๊ฒฉ์๊ฐ IOS ๋ชจ๋ฐ์ผ ์ฑ์ ๋ํด ์ด์ง ๊ณต๊ฒฉ์ ์ํํ์ง ๋ชปํ๊ฒ ํ๋ค.
ClutchMod ๋๋ GBD์ ๊ฐ์ ๋ฌด๋ฃ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ์๋ ์ํธํ๋ ์ฑ์ ํ์ฅ๋ ๊ธฐ๊ธฐ์ ๋ค์ด๋ก๋ํ๊ณ , IOS ๋ก๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ ํ, (๋ก๋๊ฐ ์คํ์ ์์ํ๊ธฐ ์ง์ ์) ํด๋ ํ ๋ ํด๋ ๋ ์ฑ์ ์ค๋ ์ท์ ๋ง๋ ๋ค. ๊ณต๊ฒฉ์๊ฐ ์ค๋ ์ท์ ๋ง๋ค์ด ๋์คํฌ์ ์ ์ฅํ๋ฉด IDA Pro๋๋ Hopper์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์ ์ /๋์ ๋ถ์์ ์ฝ๊ฒ ์ํํ๊ณ , ์ถ๊ฐ ์ด์ง ๊ณต๊ฒฉ์ ์ํํ ์ ์๋ค.
๋ด์ฅ ์ฝ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ฐํํ๋ ๊ฒ์ ์ฌ์ํ ์ผ์ด๋ค. ๊ณต๊ฒฉ์๊ฐ ๊ธฐ๋ณธ ๋ชจ๋ฐ์ผ OS์์ ์ ๊ณตํ๋ ๋ด์ฅ ์ฝ๋ ์ํธํ๋ฅผ ์ฐํํ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ์ถ๊ฐ์ ์ธ ๋ฆฌ๋ฒ์ฑ ๋ฐฉ์ง ๊ณ์ธต์ ์ ๊ณตํ๊ธฐ ์ํด ์ํํ ์ ์๋ ์ถ๊ฐ ๋จ๊ณ์ ๋ํ ์์ธํ ๋ด์ฉ์ M9๋ฅผ ์ฐธ์กฐํ๋ค.
๋น์ฝํ๋น์ฝํ ํคํค ๊ด๋ฆฌ๊ด๋ฆฌ ํ๋ก์ธ์คํ๋ก์ธ์คํค๋ฅผ ์๋ชป ๋ค๋ฃฐ ๊ฒ์ด๋ผ๋ฉด, ์ต์์ ์๊ณ ๋ฆฌ์ฆ์ ์ธ๋ชจ๊ฐ ์๋ค. ๋ง์ ์ฌ๋๋ค์ด ์ฌ๋ฐ๋ฅธ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ํด, ์์ฒด ํ๋กํ ์ฝ์ ๊ตฌํํ๋ ์ค์๋ฅผ ์ ์ง๋ฅธ๋ค. ๊ทธ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ํธํ๋ ์ฝํ ์ธ ์ ๋์ผํ ๊ณต๊ฒฉ์๊ฐ ์ฝ์ ์ ์๋ ๋๋ ํฐ๋ฆฌ์ ํค๋ฅผ ํฌํจ์ํจ๋ค. ๊ณต๊ฒฉ์๊ฐ ํค๋ฅผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค. ๋ฐ์ด๋๋ฆฌ ๋ด์ ํ๋์ฝ๋๋ ํค๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.ํค๋ ๊ณต๊ฒฉ์์ ์ํด ํ์ทจ๋นํ ์ ์๋ค. ๋ฐ์ด๋๋ฆฌ ๊ณต๊ฒฉ์ ๋ณด์ํ๊ธฐ ์ํด์ M10์ ์ฐธ์กฐํ๋ค.
์ง์ ์ง์ ์ํธํ์ํธํ ํ๋กํ ์ฝ์ํ๋กํ ์ฝ์ ์์ฑ์์ฑ ๋ฐ๋ฐ ์ฌ์ฉ์ฌ์ฉ๋ชจ๋ฐ์ผ์ด๋ ๋ค๋ฅธ ๊ณณ์์ ์์ ์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ด๋ ํ๋กํ ์ฝ์ ๋ง๋ค์ด ์ฌ์ฉํ๋ ค๊ณ ํ๋ ๊ฒ๋งํผ ์๋ชป๋ ์ํธํ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ ์๋ค.
ํญ์ ๋ณด์ ์ปค๋ฎค๋ํฐ์์ ๊ฐ๋ ฅํ๊ฒ ๋ฐ์๋ค์ฌ์ง ์ต์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ณ , ๊ฐ๋ฅํ๋ฉด ๋ชจ๋ฐ์ผ ํ๋ซํผ ๋ด์์ ์ต์ฒจ๋จ ์ํธํ api๋ฅผ ํ์ฉํ๋ค. ๋ฐ์ด๋๋ฆฌ ๊ณต๊ฒฉ์ผ๋ก ์ธํด ๋ฐ์ด๋๋ฆฌ์์ ํ๋์ฝ๋ฉ๋ ํค์ ํจ๊ป ์ฌ์ฉํ ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์์ ์ผ๋ก ์๋ณํ ์ ์๋ค. ์ํธํ์ ๊ด๋ จํด์ ๋ณด์ ์๊ตฌ ์ฌํญ์ด ๋งค์ฐ ๋์ ๊ฒฝ์ฐ, ํ์ดํธ ๋ฐ์ค ์ํธํ ์ฌ์ฉ์ ๊ฐ๋ ฅํ๊ฒ ๊ณ ๋ คํด์ผํ๋ค. ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ฉํ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ๊ณต๊ฒฉ ๋ฐฉ์ง์ ๋ํ ๋ด์ฉ์ M10์ ์ฐธ์กฐํ๋ค.
์์ ํ์ง์์ ํ์ง ์์์์ ์๊ณ ๋ฆฌ์ฆ์๊ณ ๋ฆฌ์ฆ ๋ฐ๋ฐ ๋๋ ์ด์์ด์ ์ฌ์ฉ๋์ง์ฌ์ฉ๋์ง ์๋์๋ ์๊ณ ๋ฆฌ์ฆ์์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ์ฌ์ฉ๋ง์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ํ๋กํ ์ฝ์ ์ฌ๊ฐํ ์ทจ์ฝ์ ์ด ์๊ฑฐ๋ ์ต์ฐ ๋ณด์ ์๊ตฌ์ฌํญ์ ๋ถ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํด์๋ ์๋๋ค.
RC2MD4MD5SHA1
๋ฐฉ์ง๋ฐฉ์ง ๋ฐฉ๋ฒ๋ฐฉ๋ฒ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ ํ ๋ ๋ค์์ ์ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ฐ์ผ ์ฅ์น์ ์ ์ฅํ์ง ์๋๋ค.ํฅํ 10 ๋ ์ด์ ์๊ฐ ํ ์คํธ๋ฅผ ๊ฒฌ๋ ์์๋ ์ํธํ ํ์ค์ ์ฌ์ฉํ๋ค.๊ถ์ฅ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ NIST ์ง์นจ์ ๋ฐ๋ฅธ๋ค.
๊ณต๊ฒฉ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์๋๋ฆฌ์ค ์์ ์์ ์์.
malatto &
grini
ReferencesOWASP
OWASP Cryptographic Storage Cheat SheetOWASP Key Management Cheat Sheet
ExternalNIST Encryption Guidelines
malatto &
grini
M6: Insecure Authorization์ํ์์ํ์Application ํน์งํน์ง๊ถํ ๋ถ์ฌ ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ์ํ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ ๋๋ ์ฌ์ฉ์ ์ ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์๋ ๊ณต๊ฒฉ์ ํตํด ๊ณต๊ฒฉํ๋ค.
Attack VectorsExploitability EASY (์ฌ์์ฌ์)๊ถํ ๋ถ์ฌ ์ฒด๊ณ๊ฐ ์ด๋ป๊ฒ ์ทจ์ฝํ์ง๋ฅผ ๊ณต๊ฒฉ์๊ฐ ์ดํดํ๋ฉด ํฉ๋ฒ์ ์ธ ์ฌ์ฉ์๋ก ์์ฉํ๋ก๊ทธ๋จ์ ๋ก๊ทธ์ธํ๋ค. ๊ณต๊ฒฉ์๋ค์ ์ธ์ฆ ์ ์ด๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ๋ค. ์ธ์ฆ์ ํ๊ณ ๋๋ฉด, ๊ทธ๋ค์ ์ทจ์ฝํ ์๋ํฌ์ธํธ์ admin ๊ธฐ๋ฅ์ ์คํํ๊ธฐ ์ํด ๊ฐ์ ํ์์ ํ๊ณคํ๋ค. ์ด submission ํ๋ก์ธ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ฅ์น ๋ด์ ๋ชจ๋ฐ์ผ malware๋ ๊ณต๊ฒฉ์๊ฐ ์์ ํ ๋ด๋ท์ ํตํด ์ํ๋๋ค.
Security WeaknessPrevalence COMMON (์ผ๋ฐ์ผ๋ฐ)
ํ์งํ์ง ๊ฐ๋ฅ์ฑ๊ฐ๋ฅ์ฑ AVERAGE (๋ณดํต๋ณดํต)์๋ชป๋ ํ๊ฐ ์ฒด๊ณ๋ฅผ ํ ์คํธํ๊ธฐ ์ํด ํ ์คํฐ๋ ๋ชจ๋ฐ์ผ ์ฑ์ ๋ํด ๋ฐ์ด๋๋ฆฌ ๊ณต๊ฒฉ์ ์ํํ๊ณ ๋ชจ๋ฐ์ผ ์ฑ์ด '์คํ๋ผ์ธ' ๋ชจ๋์ ์์ ๋ ๋์ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ง ์คํ ๊ฐ๋ฅํ ๊ถํ์๋ ๊ธฐ๋ฅ์ ์คํํด๋ณผ ์ ์๋ค. (๋ฐ์ด๋๋ฆฌ ๊ณต๊ฒฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ M9๋ฐ M10 ์ฐธ์กฐ) ๋ํ ํ ์คํฐ๋ ๋ฐฑ์๋ ์๋ฒ์ ์ค์ํ ๊ธฐ๋ฅ์ ๋ํ ํด๋น GET/POST ์์ฒญ ๋ด์์ ๋ฎ์ ๊ถํ ์ธ์ ํ ํฐ์ ์ฌ์ฉํ์ฌ ๊ถํ ์๋๊ธฐ๋ฅ์ ์คํํ๋๋ก ์๋ํด์ผ ํ๋ค. ๋ถ๋ํ๊ฑฐ๋ ๋๋ฝ๋ ๊ถํ ์ฒด๊ณ๋ ๊ณต๊ฒฉ์๊ฐ ๋ชจ๋ฐ์ผ ์ฑ์ ํ๊ฐ๋ ์ฌ์ฉ์๋ง ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์์คํํ ์ ์๋๋ก ํ๋ค. ํ๊ฐ ์๊ตฌ ์ฌํญ์ ์๊ฒฉ ์๋ฒ๋ฅผ ํตํ์ง ์๊ณ , ๋ชจ๋ฐ์ผ์ฅ์น ๋ด์์ ํ๊ฐ ๊ฒฐ์ ์ ๋ด๋ฆด ๋ ๋์ฑ ์ทจ์ฝํ๋ค. ์ด๊ฒ์ ์คํ๋ผ์ธ์ ํธ์์ฑ ๋๋ฌธ์ ์๊ตฌ๋ ์ ์๋ค.
Technical ImpactImpact SEVERE (์ฌ๊ฐ์ฌ๊ฐ)์๋ชป๋ ์ธ์ฆ์ ๊ธฐ์ ์ ์ํญ์ ๋ณธ์ง์ ์ผ๋ก ์ธ์ฆ ๋ถ๋์ ๊ธฐ์ ์ ์ํฅ๊ณผ ์ ์ฌํฉ๋๋ค.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋ณ๋น์ฆ๋์ค๋ณ์ฌ์ฉ์ (์ต๋ช ๋๋ ๊ฒ์ฆ๋)๊ฐ ๊ณผ๋ํ ๊ถํ์ผ๋ก ๊ธฐ๋ฅ์ ์คํํ ์ ์๋ ๊ฒฝ์ฐ, ๋น์ฆ๋์ค๋ ๋ค์๊ณผ ๊ฐ์ ์ํฅ์ ๋ฐ์ ์ ์๋ค.
ํํ ์์์ฌ๊ธฐ์ ๋ณด ํ์ทจ
์ทจ์ฝ์ฑ์ทจ์ฝ์ฑ ํ ์คํธํ ์คํธ์ธ์ฆ๊ณผ ๊ถํ ๋ถ์ฌ์ ์ฐจ์ด์ ์ ์ธ์ํ๋ ๊ฒ์ ์ค์ํ๋ค. ์ธ์ฆ์ ๊ฐ์ธ์ ์๋ณํ๋ ํ์์ด๊ณ , ๊ถํ ๋ถ์ฌ๋ ์๋ณ๋ ๊ฐ์ธ์๊ฒ ํด๋น ์์ ์ ์ํํ๋๋ฐ ํ์ํ ๊ถํ์ด ์๋์ง ํ์ธํ๋ ์์ ์ด๋ค. ์ธ์ฆ๊ฒ์ฌ๋ ํญ์ ๋ชจ๋ฐ์ผ ์ฅ์น์์ ๋ค์ด์ค๋ ์์ฒญ์ ์ธ์ฆ์ ์ฆ์ ๋ฐ๋ผ
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 ๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ผ๋ก ์กฐ์ ํ๊ณ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ํ ํ ์ ์๋ค.
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 ๋ฌธ์ ๋ ์ ๋ณด ๋๋, ๋ช ์ ํผ์, ์ง์ ์ฌ์ฐ๊ถ ๋์ฉ์ผ๋ก ์ด์ด์ง๋ค. ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ ์ฑ๋ฅ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ํ๋ฐํธ ์ํธ ์ํคํ ์ฒ์ ์ ํ๋ก ์ด์ด์ง ์๋ ์๋ค.
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
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 (์ฌ๊ฐ์ฌ๊ฐ)์ฝ๋ ์์ ์ ์ํฅ์ ์ด๋ป๊ฒ ์์ ๋์ด ์๋์ง์ ๋ฐ๋ผ ๋ค์ํ๋ค. ์ผ๋ฐ์ ์ธ ์ํฅ์ ์น์ธ๋์ง ์์ ์๋ก์ด ๊ธฐ๋ฅ, ์ ๋ถ ๋์ฉ ๋๋ ์ฌ๊ธฐ์ด๋ค.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋ณ๋น์ฆ๋์ค๋ณ๋ถ๋ฒ ๋ณต์ ๋ก ์ธํ ์์ต ์์ค๋ช ์ ํผ์
์ทจ์ฝ์ฑ์ทจ์ฝ์ฑ ํ ์คํธํ ์คํธ๊ธฐ์ ์ ์ผ๋ก ๋ชจ๋ ๋ชจ๋ฐ์ผ ์ฝ๋๋ ์ฝ๋ ๋ณ์กฐ์ ์ทจ์ฝํ๋ค. ๋ชจ๋ฐ์ผ ์ฝ๋๋ ์ฝ๋๋ฅผ ์ ์ํ ์กฐ์ง์ ํต์ ์์ ๋ฒ์ด๋ ํ๊ฒฝ์์ ์คํ๋๋ค.๋์์ ํด๋น ์ฝ๋๊ฐ ์คํ๋๋ ํ๊ฒฝ์ ๋ณ๊ฒฝํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด๋ ๊ณต๊ฒฉ์๊ฐ ์ฝ๋๋ฅผ ๋ง์๋๋ก ์์ ํ ์ ์๊ฒ ํ๋ค.
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:์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉํ๋ ํนํ ์ธ๊ธฐ์๋ ๊ณต๊ฒฉ ๋์์ ๊ฒ์์ด๋ค. ๊ณต๊ฒฉ์๋ ๊ฒ์์ ํ๋ฆฌ๋ฏธ์ ๊ธฐ๋ฅ์ ์ง๋ถํ๋๋ฐ ๊ด์ฌ ์๋ ์ฌ๋๋ค์ ๋์ด๋ค์ผ ๊ฒ์ด๋ค. ๊ณต๊ฒฉ์๋ ์ดํ๋ฆฌ์ผ์ด์ ์ฝ๋ ๋ด์ ๊ตฌ๋งค ์ ๋ฌด๋ฅผ ํ์ธํ๋ ์กฐ๊ฑด์ ์ฐํํ๋ค. ํด๋น ์ฐํ๋ก ํผํด์๋ ๋์ ์ง๋ถํ์ง ์๊ณ ๊ฒ์ ์์ดํ ์ด๋ ์๋ก์ด ๋ฅ๋ ฅ์ ์ป์ ์ ์๋ค. ๊ณต๊ฒฉ์๋ ์ฌ์ฉ์์ ์ ์์ ๋์ฉํ ์คํ์ด์จ์ด๋ ์ฌ์ด ๋์๋ค.
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
malatto &
grini
allow an attacker to automatically inject malware into an existing applicationโ
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 (๋ณดํต๋ณดํต)๊ณต๊ฒฉ์๋ ๋ฐฑ์๋ ์๋ฒ ์ ๋ณด ๊ณต๊ฐ, ์ํธ ์์์ ์ํธ ๊ณต๊ฐ, ์ง์ ์ฌ์ฐ ๋์ฉ, ๋ฐฑ์๋ ์์คํ ๊ณต๊ฒฉ ์ํ, ์ฝ๋ ์์ ์ ํ์ํ ์ ๋ณด ์ป๊ธฐ๋ฅผ ์ํด ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ์ด์ฉํ ์ ์๋ค.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋น์ฆ๋์ค๋ฆฌ๋ฒ์ฑ์ผ๋ก ์ธํ ๋น์ฆ๋์ค ์ํฅ์ ๋งค์ฐ ๋ค์ํ๋ค.
์ง์ ์ฌ์ฐ ๋์ฉ๋ช ์ ํผ์์ ๋ถ ๋์ฉ๋ฐฑ์๋ ์์คํ ์์
์ทจ์ฝ์ฑ์ทจ์ฝ์ฑ ํ ์คํธํ ์คํธ์ผ๋ฐ์ ์ผ๋ก ๋๋ถ๋ถ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋๊ฐ ๋ด์ ๋ ํน์ฑ ๋๋ฌธ์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ์ทจ์ฝํ๋ค. ์ค๋๋ ์ ์ฑ ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ ๋๋ถ๋ถ์ ์ธ์ด๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ํ๊ฒ ์ฑ์ ๋๋ฒ๊น ํ๋๋ก ๋ฉํ ๋ฐ์ดํฐ๊ฐ ํ๋ถํ๋ค. ์ด๋ ๊ณต๊ฒฉ์๊ฐ ์ฑ์ ์๋ ๋ฐฉ์์ ์ดํดํ๋
malatto &
grini
์ข ์ข ๊ฐ๋ฐ์๋ ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ ์๋ ์์๋ ์จ๊ฒจ์ง ๋ฐฑ๋์ด๋ ๋ค๋ฅธ ๋ด๋ถ ๊ฐ๋ฐ ๋ณด์ ์ปจํธ๋กค์ ํฌํจํ๋ค. ์๋ฅผ ๋ค์ด ๊ฐ๋ฐ์๊ฐ ์ค์๋ก ํ์ด๋ธ๋ฆฌ๋ ์ฑ์ ํจ์ค์๋๋ฅผ ํฌํจํ ์ฃผ์์ ํฌํจํ ์ ์๋ค. ๋ ๋ค๋ฅธ ์๋ ํ ์คํ ๋์ 2๋จ๊ณ ์ธ์ฆ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ ์๋ ์ด ์ํ ์์๋ ์ฑ์์ ์ถ์๋์ง ์์ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๊ฒ ๊ทธ๋๋ก ๋๋ ๊ฒ์ด๋ค.
๋ฐฉ์ง๋ฐฉ์ง ๋ฐฉ๋ฒ๋ฐฉ๋ฒ์ด ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ด ์ฝ๋๋ฅผ ๊ฐ์ฅ ์์๋ ๋ณด์ ์ ๋ฌธ๊ฐ ๋๋ ์๋ธ์ ํธ ์ ๋ฌธ๊ฐ๋ฅผ ํตํด ์๋์ผ๋ก ๋ณด์ ์ฝ๋๋ฅผ ๊ฒํ ํ๋ ๊ฒ์ด๋ค.
์ ๋ฌธ๊ฐ๋ค์ ๋ค์์ ์ํํด์ผ ํ๋ค.
์จ๊ฒจ์ง ์ค์์น๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฑ์ conf ์ค์ ๊ฒํ ๋ชจ๋ ํ ์คํธ ์ฝ๋๊ฐ ์ฑ์ ์ต์ข ํ๋ก๋์ ๋น๋์ ํฌํจ๋์ด ์์ง ์์์ง ํ์ธ๋ชจ๋ฐ์ผ ์ฑ์ด ์ ๊ทผํ๋ ๋ชจ๋ API ์๋ํฌ์ธํธ๋ฅผ ๊ฒ์ฌํ์ฌ ์ด๋ฌํ ์๋ํฌ์ธํธ๊ฐ ์ ๋ฌธ์ํ๋๊ณ ๊ณต๊ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ์ง ํ์ธ๋ชจ๋ ๋ก๊ทธ๋ฅผ ๊ฒ์ฌํ์ฌ ๋ฐฑ์๋์ ๋ํ ๊ณผํ ์ค๋ช ์ด ๋ก๊ทธ์ ๊ธฐ๋ก๋์ง ์๋๋ก ํ๊ธฐ
๊ณต๊ฒฉ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์๋๋ฆฌ์ค ์์ ์์ ์๋๋ฆฌ์ค์๋๋ฆฌ์ค #1: ๊ด๋ฆฌ์ ์ธ๊ด๋ฆฌ์ ์ธ ์๋์๋ ํฌ์ธํธํฌ์ธํธ ๋ ธ์ถ๋ ธ์ถ๋ชจ๋ฐ์ผ ์๋ํฌ์ธํธ ํ ์คํ ์ ์ผ๋ถ๋ก ๊ฐ๋ฐ์๋ ๋ชจ๋ฐ์ผ ์ฑ์ ์จ๊ฒจ์ง ๊ด๋ฆฌ์ ์ ๋ณด๋ฅผ ํ์ํ๋ ๋์๋ณด๋ ์ธํฐํ์ด์ค๋ฅผ ํฌํจ์ํจ๋ค. ์ด ๋์๋ณด๋๋ ๋ฐฑ์๋ API ์๋ฒ๋ฅผ ํตํด ๊ด๋ฆฌ์ ์ ๋ณด์ ์ ๊ทผํ๋ค. ์ฝ๋์ ์ ์ ๋ฒ์ ์์ ๊ฐ๋ฐ์๋ ๋์๋ณด๋๋ฅผ ํ์ํ๋ ์ฝ๋๋ฅผ ํฌํจํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ ๋ฐฑ์๋ ๊ด๋ฆฌ์ API์ ์ ๊ทผํ ์ ์๋ ๊ธฐ๋ณธ ์ฝ๋๋ฅผ ํฌํจํ๋ค. ๊ณต๊ฒฉ์๋ ๋ฐ์ด๋๋ฆฌ์ ์คํธ๋ง ํ ์ด๋ธ ๋ถ์์ ์ํํ๊ณ ํ๋ ์ฝ๋ฉ๋ ๊ด๋ฆฌ REST ์๋ ํฌ์ธํธ์ ๋ํ URL์ ๋ฐ๊ฒฌํ์๋ค. ๊ทธ ํ ๊ณต๊ฒฉ์๋ ๋ฐฑ์๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์คํํ๊ธฐ ์ํด 'curl'์ ์ด์ฉํ๋ค.
๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค๋ก ์ง์ ์ ๊ทผํ ์ ์๋ ์ฝ๋๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ๋ถํ์ํ ์ฝ๋๋ฅผ ์ง์์ผํ๋ค.
์๋๋ฆฌ์ค์๋๋ฆฌ์ค #2: Conf ํ์ผ์ํ์ผ์ ๋๋ฒ๊น ๋๋ฒ๊น ํ๋๊ทธํ๋๊ทธ๊ณต๊ฒฉ์๋ ๋ก์ปฌ ์ฑ์ .propertiex ํ์ผ์ ์๋์ผ๋ก "begug=true"๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ์๋ํ๋ค. ์์ ์, ํด๋น ์ดํ๋ฆฌ์ผ์ด์ ์ ํด์ปค๊ฐ ๋ฐฑ์๋ ์์คํ ์ ๋ํด ์ดํดํ๋ ๋ฐ ์ ๋ฆฌํ๋๋ก ๊ฝค ์์ธํ ์ ๋ณด๋ฅผ ๋ด์ ๋ก๊ทธ ํ์ผ์ ์์ฑํ๋ค. ๊ทธ ํ ๊ณต๊ฒฉ์๋ ๋ก๊ทธ์ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํ์ฌ ๋ฐฑ์๋ ์์คํ ๋ด์ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ๋ค.
๊ฐ๋ฐ์๋ ๋ชจ๋ฐ์ผ ์ฑ์ ํ๋ก๋์ ๋น๋ ๋ด์์ 'debug mode'์ ํ์ฑํ๋ฅผ ๋ฐฉ์งํด์ผ ํ๋ค.
ReferencesOWASPExternal References
malatto &
grini
M10: Extraneous Functionlity์ํ์์ํ์Application ํน์งํน์ง์ผ๋ฐ์ ์ผ๋ก ๊ณต๊ฒฉ์๋ ๋ฐฑ์๋ ์์คํ ์์ ์จ๊ฒจ์ง ๊ธฐ๋ฅ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํด ๋ชจ๋ฐ์ผ ์ฑ ๋ด์ ๋ถํ์ํ ๊ธฐ๋ฅ์ ์ดํดํ๋ ค ํ๋ค. ๊ณต๊ฒฉ์๋์ผ๋ฐ์ ์ผ๋ก ์ต์ข ์ฌ์ฉ์์ ๊ฐ์ ์์ด ์์ฒด ์์คํ ์์ ๋ถํ์ํ ๊ธฐ๋ฅ์ ์ ์ฉํ๋ค.
Attack VectorsExploitability EASY (์ฌ์์ฌ์)๊ณต๊ฒฉ์๋ ์์ ์ ๋ก์ปฌ ํ๊ฒฝ์์ ๋ชจ๋ฐ์ผ ์ฑ์ ๋ค์ด๋ก๋ํ๊ณ ๋ถ์ํ๋ค. ๋ก๊ทธํ์ผ, conf ํ์ผ ๋ฐ ์๋ง ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ ๊ฐ๋ฐ์๊ฐ๋จ๊ธด ํ๋ ์ค์์น๋ ํ ์คํธ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ ๊ฒ์ด๋ค. ๋ฐฑ์๋ ์์คํ ์์ ์ด๋ฌํ ์ค์์น์ ์จ๊ฒจ์ง ๊ธฐ๋ฅ์ ์ ์ฉํ์ฌ ๊ณต๊ฒฉ์ ์ํํ ๊ฒ์ด๋ค.
Security WeaknessPrevalence COMMON (์ผ๋ฐ์ผ๋ฐ)
ํ์งํ์ง ๊ฐ๋ฅ์ฑ๊ฐ๋ฅ์ฑ AVERAGE (๋ณดํต๋ณดํต)ํน์ ๋ชจ๋ฐ์ผ ์ฑ์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ์ง์ ๋ ธ์ถ๋์ง ์๋ ๋ถํ์ํ ๊ธฐ๋ฅ์ ํฌํจํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ์ด ์ถ๊ฐ์ ์ธ ์ฝ๋์๋๋ถ๋ถ์ ๋ณธ์ง์ ์ผ๋ก ์์ฑ์ด๊ณ ๊ณต๊ฒฉ์์๊ฒ ๋ฐฑ์๋ ๊ธฐ๋ฅ์ ๋ํ ์ถ๊ฐ์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ์ง ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ๋ถํ์ํ ๊ธฐ๋ฅ์ ๊ณต๊ฒฉ์์๊ฒ ๋งค์ฐ ์ ์ฉํ ์ ์๋ค. ๋ฐฑ์๋ ํ ์คํธ, ๋ฐ๋ชจ, staging ๋๋ UAT ํ๊ฒฝ๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ๋ด๋ณด๋ด๋ ๊ธฐ๋ฅ์ ํ๋ก๋์ ๋น๋์ ํฌํจ๋๋ฉด ์๋๋ค. ๋ํ, ๊ด๋ฆฌ API ์๋ ํฌ์ธํธ ๋๋ ๋น๊ณต์ ์๋ ํฌ์ธํธ๋ ์ต์ข ํ๋ก๋์ ๋น๋์ ํฌํจ๋๋ฉด ์๋๋ค. ๋ถํ์ํ ๊ธฐ๋ฅ์ ํ์งํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์๋ค. ์๋ํ๋ ์ ์ ๋ฐ ๋์ ๋ถ์ ๋๊ตฌ๋ ๋๋ฆ ์ฝ๊ฒ(low hanging fruit) ์ฐพ์ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ๋ฐฑ๋์ด๋ ์๋ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์งํ๊ธฐ ์ด๋ ต๋ค. ๋ฐ๋ผ์ ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ด์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ์๋ฐฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค.
Technical Impact์ํฅ๋ ฅ์ํฅ๋ ฅ SEVERE (์ฌ๊ฐ์ฌ๊ฐ)๋ถํ์ํ ๊ธฐ๋ฅ์ ๊ธฐ์ ์ ์ํฅ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฐฑ์๋ ์์คํ ์๋ ๋ฐฉ์์ ๋ํ ๋ ธ์ถ๋์ ๊ถํ ์คํ.
๋น์ฆ๋์ค๋น์ฆ๋์ค ์ํฅ์ํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆฌ์ผ์ด์ /๋น์ฆ๋์ค๋ณ๋น์ฆ๋์ค๋ณ๋ถํ์ํ ๊ธฐ๋ฅ์ ๋น์ฆ๋์ค ์ํฅ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฏผ๊ฐํ ๊ธฐ๋ฅ์ ๋ํ ๋ฌด๋จ ์ ๊ทผ๋ช ์ ํผ์์ง์ ์ฌ์ฐ๊ถ ๋์ฉ
์ทจ์ฝ์ฑ์ทจ์ฝ์ฑ ํ ์คํธํ ์คํธ
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๊ณผ ๋์ผ