Security

Android 취약점 탐색 μžλ™ν™”λ₯Ό μœ„ν•œ Jandroid 적용기

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ λ³΄μ•ˆ 업무λ₯Ό λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” λ°•μ„ μ£Όμž…λ‹ˆλ‹€. LINE λ³΄μ•ˆ νŒ€μ—μ„œλŠ” 릴리슀될 μ„œλΉ„μŠ€μ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ³΄μ•ˆ μœ„ν˜‘μ„ 사전에 λ°œκ²¬ν•˜μ—¬ μ œν’ˆμ„ 더 μ•ˆμ „ν•˜κ²Œ λ§Œλ“€κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ„œλΉ„μŠ€λ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λŒ€μƒμœΌλ‘œ λ³΄μ•ˆ κ²€μˆ˜λ₯Ό μ§„ν–‰ν•˜λ‹€ 보면, 기쑴에 λ³΄μ•ˆ μ΄μŠˆκ°€ λ°œμƒν–ˆλ˜ μ½”λ“œμ™€ μœ μ‚¬ν•œ νŒ¨ν„΄μ„ μ‚¬μš©ν•˜κ±°λ‚˜ μ·¨μ•½ν•œ νŒ¨ν„΄μ˜ μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•˜μ—¬ 취약점이 λ°œμƒν•˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 이처럼 λΉˆλ²ˆν•˜κ²Œ λ°œμƒν•˜λŠ” λ³΄μ•ˆ 이슈λ₯Ό 쉽고 λΉ λ₯΄κ²Œ νƒμ§€ν•˜κΈ° μœ„ν•΄μ„œ μƒμš© μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•˜κ±°λ‚˜ 자체적인 도ꡬλ₯Ό κ°œλ°œν•˜κ³  μžˆλŠ”λ°μš”. 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” Android μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” μžλ™ν™” 취약점 탐색 도ꡬ인 Jandroidλ₯Ό LINE Android μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ μš©ν•˜μ—¬ λ³΄μ•ˆ 이슈λ₯Ό λ°œκ²¬ν•œ λ‚΄μš©μ„ κ³΅μœ ν•˜κ³ μž ν•©λ‹ˆλ‹€.

였크(ORK) – λ‚œλ…ν™” 컴파일러 도ꡬ 2편

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ 보호 μ†”λ£¨μ…˜μΈ AIR ARMOR κ°œλ°œμ„ λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” μ •μƒλ―Όμž…λ‹ˆλ‹€. μ§€λ‚œ 1νŽΈμ—μ„  예제 μ†ŒμŠ€ μ½”λ“œμ˜ 컴파일 과정을 μ‚΄νŽ΄λ³΄λ©° λ‚œλ…ν™”κ°€ μ‹€ν–‰λ˜λŠ” 단계λ₯Ό ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. 이번 글에선 였크의 λ‚œλ…ν™”κ°€ μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”μ§€ μ—­μ‹œ 예제 μ‹€ν–‰ νŒŒμΌμ„ ν†΅ν•΄μ„œ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

였크(ORK) – λ‚œλ…ν™” 컴파일러 도ꡬ 1편

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ 보호 μ†”λ£¨μ…˜μΈ AIR ARMOR κ°œλ°œμ„ λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” μ •μƒλ―Όμž…λ‹ˆλ‹€. 이전 κΈ€, ‘iOS μ½”λ“œ μ„œλͺ…에 λŒ€ν•΄μ„œ’μ—μ„œλŠ” μ‹¬λ―Όμ˜ λ‹˜μ΄ iOS μ•±μ˜ 무결성과 μ„œλͺ…μžλ₯Ό 검증할 수 μžˆλŠ” iOS μ½”λ“œ μ„œλͺ…에 λŒ€ν•΄μ„œ μ„€λͺ…ν–ˆλŠ”λ°μš”. 이번 κΈ€μ—μ„œλŠ” μ•±μ˜ μœ„λ³€μ‘° 및 λ„μš© 방지λ₯Ό μœ„ν•΄μ„œ 자체 개발 쀑인 λ‚œλ…ν™” 도ꡬλ₯Ό μ†Œκ°œν•˜λ €κ³  ν•©λ‹ˆλ‹€. 예제 μ†ŒμŠ€ μ½”λ“œλ₯Ό μ΄μš©ν•΄ 컴파일러 λ™μž‘μ˜ 각 단계λ₯Ό ν™•μΈν•˜λ©΄μ„œ λ‚œλ…ν™”κ°€ μ–΄λ–»κ²Œ μˆ˜ν–‰λ˜λŠ”μ§€ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

μžλ°” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ³΄μ•ˆ κ²€μˆ˜ 방법 μ‚΄νŽ΄λ³΄κΈ°

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ λ³΄μ•ˆ 업무λ₯Ό λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” μ΅œν•˜λŠ˜μž…λ‹ˆλ‹€. LINE은 λ©”μ‹ μ € 이외에도 λ§Žμ€ μ„œλΉ„μŠ€λ₯Ό λ‘ μΉ­ν•˜κ³  있고 각 μ„œλΉ„μŠ€λŠ” μƒˆλ‘œμš΄ κΈ°λŠ₯이 μΆ”κ°€λ˜κ±°λ‚˜ 버그가 μˆ˜μ •λ  λ•Œλ§ˆλ‹€ μˆ˜μ‹œλ‘œ μ—…λ°μ΄νŠΈλ©λ‹ˆλ‹€. λ³΄μ•ˆ νŒ€μ—μ„  μƒˆλ‘œ μΆœμ‹œν•œ μ„œλΉ„μŠ€λ‚˜ μ—…λ°μ΄νŠΈν•œ μ„œλΉ„μŠ€μ— λ³΄μ•ˆ 상 λ¬Έμ œκ°€ μ—†λŠ”μ§€ ν™•μΈν•˜λŠ”λ°μš”. μ΄λ•Œ κΈ°μ‘΄ μ½”λ“œμ— 이미 μˆ˜ν–‰ν–ˆλ˜ λ™μΌν•œ λ³΄μ•ˆ 평가λ₯Ό μ„œλΉ„μŠ€μ— μƒˆλ‘œ μΆ”κ°€λœ μ½”λ“œμ— 반볡적으둜 μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” κ²½μš°κ°€ λ§Žμ•˜μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ λ³΄μ•ˆ νŒ€μ—μ„  자주 λ°œκ²¬λ˜λŠ” λ³΄μ•ˆ 취약점 νŒ¨ν„΄μ„ μ •μ˜ν•˜λŠ” λ“± 취약점을 μžλ™μœΌλ‘œ 탐지해내기 μœ„ν•΄ λŠμž„μ—†μ΄ λ…Έλ ₯ν•˜κ³  μžˆλŠ”λ°μš”. 이와 λ”λΆˆμ–΄ κ°œλ°œμžλ“€μ΄ 개발 κ³Όμ •μ—μ„œ 취약점을 μžλ™μœΌλ‘œ λ°œκ²¬ν•  수 μžˆλŠ” 도ꡬλ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ λ³΄μ•ˆ 평가 κ³Όμ •μ—μ„œ λ°œκ²¬λ˜λŠ” λ³΄μ•ˆ μ΄μŠˆκ°€ 훨씬 쀄어듀 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. μ‹€μ œλ‘œ 이λ₯Ό μœ„ν•œ μ˜€ν”ˆμ†ŒμŠ€λ‚˜ μƒμš© μ œν’ˆμ΄ μ‘΄μž¬ν•˜λ©° LINEμ—μ„œλ„ 이λ₯Ό μ μš©ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ³΄μ•ˆ 이슈λ₯Ό 사전에 μ œκ±°ν•˜λ €κ³  λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” λ³΄μ•ˆ 취약점을 μžλ™μœΌλ‘œ μ°Ύμ•„λ‚΄λŠ” 방법 μ€‘μ˜ ν•˜λ‚˜μΈ 정적 뢄석에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ³ , μžλ°”(Java)용 μ˜€ν”ˆμ†ŒμŠ€ 정적 뢄석 도ꡬ인 SpotBugsλ₯Ό λ³΄μ•ˆ 평가에 μ–΄λ–»κ²Œ ν™œμš©ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

2018λ…„ LINE Security Bug Bounty Program κ²°κ³Ό

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ λ³΄μ•ˆ 업무λ₯Ό 맑고 μžˆλŠ” Kazuhiro Kubotaμž…λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” 2018년에 μ§„ν–‰λœ LINE Security Bug Bounty ν”„λ‘œκ·Έλž¨μ˜ κ²°κ³Όλ₯Ό κ³΅κ°œν•˜κ² μŠ΅λ‹ˆλ‹€.

AIR GO에 μ•ˆλ“œλ‘œμ΄λ“œ 9 APK μ„œλͺ… scheme v3 μ μš©ν•˜κΈ°

μ•ˆλ…•ν•˜μ„Έμš”. LINEμ—μ„œ AIR GOλ₯Ό κ°œλ°œν•˜κ³  μžˆλŠ” κΉ€μŠΉν›ˆμž…λ‹ˆλ‹€. AIR GO에 λŒ€ν•΄μ„  이전에 ‘AIR GOλ₯Ό μ†Œκ°œν•©λ‹ˆλ‹€‘μ—μ„œ λ¨Όμ € λ§μ”€λ“œλ ΈλŠ”λ°μš”. 이번 λΈ”λ‘œκ·Έμ—μ„œλŠ” 그에 이어 APK μ„œλͺ…에 κ΄€ν•œ λ‚΄μš©κ³Ό AIR GO 탐지 정보λ₯Ό μ†Œκ°œν•˜κ³ μž ν•©λ‹ˆλ‹€. 졜근 Google이 Android 9(Pie)μ—μ„œΒ APK Signature Scheme v3을 μ†Œκ°œν–ˆλŠ”λ°μš”. 이에 κ΄€λ ¨λœ λ‚΄μš©μ„ AIR GO에 μ μš©ν•˜λ©΄μ„œ κ°œλ°œμžμ—κ²Œ 도움이 될 λ§Œν•œ 뢀뢄을 μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.

FIDO at LINE: νŒ¨μŠ€μ›Œλ“œ μ—†λŠ” μ„ΈμƒμœΌλ‘œμ˜ 첫 발걸음

μ•ˆλ…•ν•˜μ„Έμš”. μ˜€λŠ˜μ€ LINE의 μΈμ¦μ„œλ²„κ°€ μ„œλΉ„μŠ€ μ œκ³΅μ—…μ²΄λ‘œμ„œλŠ” 전세계 졜초둜 FIDO(Fast Identity Online) Universal Server(λͺ¨λ“  FIDO 인증 μž₯μΉ˜μ™€ μƒν˜Έν˜Έν™˜μ„±μ„ 보μž₯ν•˜λŠ” μ„œλ²„) 인증을 νšλ“ν•œ μ†Œμ‹μ„ μ „ν•΄λ“œλ¦¬λ €κ³  ν•©λ‹ˆλ‹€.

AIR GOλ₯Ό μ†Œκ°œν•©λ‹ˆλ‹€

AIR GOλŠ” Android와 iOS의 νŒ¨ν‚€μ§€ 파일(APK 파일과 IPA 파일)을 μŠ€μΊ”ν•˜μ—¬ 취약점을 μ°Ύμ•„μ£ΌλŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. μ˜€ν”„μ†ŒμŠ€ 툴인 SandDroidλ₯Ό μ‚¬μš©ν•΄λ³΄μ‹  뢄이라면 μ–΄λ–€ μ„œλΉ„μŠ€μΈμ§€ μ‰½κ²Œ λ– μ˜¬λ¦΄ 수 μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€. 졜근 LINEμ—μ„œλŠ” 앱을 λ°°ν¬ν•˜κΈ° 전에 AIR GOλ₯Ό ν™œμš©ν•˜μ—¬ 취약점을 λ°œκ²¬ν•˜κ³  ν†΅μ§€ν•¨μœΌλ‘œμ¨ 앱에 ν¬ν•¨λœ μœ„ν—˜μ„ 미리 μ œκ±°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ AIR GOλŠ” λˆ„κ΅¬λ‚˜ κ°„λ‹¨ν•œ 이메일 계정 λ“±λ‘λ§ŒμœΌλ‘œ μ‚¬μš© κ°€λŠ₯ν•œ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. λ³΄μ•ˆ μ„œλΉ„μŠ€ ‘AIR’λŠ” 이미 ν•œ 번 μ†Œκ°œλœ 적이 μžˆλŠ”λ°μš”. μ΄λ²ˆμ—λŠ” μ—”μ§€λ‹ˆμ–΄μ˜ κ΄€μ μ—μ„œ AIRλ₯Ό κ΅¬μ„±ν•˜λŠ” 도ꡬ 쀑 ν•˜λ‚˜μΈ AIR GO에 λŒ€ν•΄μ„œ μ†Œκ°œλ“œλ¦¬λ €κ³  ν•©λ‹ˆλ‹€.

airgo_main

2018λ…„ μƒλ°˜κΈ° LINE Security Bug Bounty Program κ²°κ³Ό

μ•ˆλ…•ν•˜μ„Έμš”, LINEμ—μ„œ λ³΄μ•ˆ 업무λ₯Ό 맑고 μžˆλŠ” 이λͺ…μž¬(MJ)라고 ν•©λ‹ˆλ‹€.

2018λ…„ μƒλ°˜κΈ°(1μ›” 1일~6μ›” 30일) λ™μ•ˆ μ§„ν–‰λœ LINE Security Bug Bounty ν”„λ‘œκ·Έλž¨ κ²°κ³Όλ₯Ό μ—¬λŸ¬λΆ„κ»˜ μ•Œλ €λ“œλ¦¬λ €κ³  ν•©λ‹ˆλ‹€.
LINE Security Bug Bounty Program은 LINE이 μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ— μž μž¬λ˜μ–΄ μžˆλŠ” 취약점에 λŒ€ν•΄ μ™ΈλΆ€ λ³΄μ•ˆ μ „λ¬Έκ°€λ“€λ‘œλΆ€ν„° 보고λ₯Ό λ°›κ³  λ¬Έμ œμ μ„ μˆ˜μ •ν•˜μ—¬ λ”μš± μ•ˆμ „ν•œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” 데 λͺ©μ μ΄ μžˆμŠ΅λ‹ˆλ‹€.

LINE Security Bug Bounty Program 2017년도 운영 κ²°κ³Ό

μ•ˆλ…•ν•˜μ„Έμš”, LINEμ—μ„œ λ³΄μ•ˆ 업무λ₯Ό 맑고 μžˆλŠ” 이λͺ…μž¬(MJ)라고 ν•©λ‹ˆλ‹€.

이번 κΈ€μ—μ„œλŠ” 2017λ…„(1μ›” 1일~12μ›” 31일) λ™μ•ˆ μ§„ν–‰λœ LINE Security Bug Bounty ν”„λ‘œκ·Έλž¨μ„ λ’€λŒμ•„λ³΄λ©°, μ—¬λŸ¬λΆ„κ»˜ κ·Έ κ²°κ³Όλ₯Ό μ†Œκ°œν•˜λ €κ³  ν•©λ‹ˆλ‹€.

λŒ€μƒ ν™•λŒ€ 및 κΈ°λΆ€ μ œλ„

‘LINE Security Bug Bounty Program’은 LINE이 μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ— 잠재적으둜 μ‘΄μž¬ν•˜λŠ” 취약점에 λŒ€ν•΄ μ™ΈλΆ€μ˜ λ³΄μ•ˆ μ „λ¬Έκ°€λ“€λ‘œλΆ€ν„° 보고λ₯Ό λ°›μ•„, 가급적 빨리 λ¬Έμ œμ μ„ μˆ˜μ •ν•¨μœΌλ‘œμ¨ λ”μš± μ•ˆμ „ν•œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” 것을 λͺ©μ μœΌλ‘œ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ§€λ‚œ κΈ°μ‚¬μ—μ„œ μ†Œκ°œν•œ λ°” μžˆμŠ΅λ‹ˆλ‹€λ§Œ, 2017λ…„μ—λŠ” ν”„λ‘œκ·Έλž¨ λŒ€μƒμ„ ν™•λŒ€ν•˜μ—¬ λ”μš± λ§Žμ€ 보고λ₯Ό 받을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 11μ›”λΆ€ν„°λŠ” 포상 λŒ€μƒμžκ°€ λ³΄μƒκΈˆμ„ κΈ°λΆ€ν•  수 μžˆλŠ” μ˜΅μ…˜μ„ μ œκ³΅ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.