삼성의 안드로이드 앱 서명 키가 유출되어서 멀웨어에 사용되었다고 하네요.
아래와 같이 소개하고 있는데요..
---
A developer's cryptographic signing key is one of the major linchpins of Android security. Any time Android updates an app, the signing key of the old app on your phone needs to match the key of the update you're installing. The matching keys ensure the update actually comes from the company that originally made your app and isn't some malicious hijacking plot. If a developer's signing key got leaked, anyone could distribute malicious app updates and Android would happily install them, thinking they are legit.
On Android, the app-updating process isn't just for apps downloaded from an app store, you can also update bundled-in system apps made by Google, your device manufacturer, and any other bundled apps. While downloaded apps have a strict set of permissions and controls, bundled-in Android system apps have access to much more powerful and invasive permissions and aren't subject to the usual Play Store limitations (this is why Facebook always pays to be a bundled app). If a third-party developer ever lost their signing key, it would be bad. If an Android OEM ever lost their system app signing key, it would be really, really bad.
---
개발자의 암호화 서명 키는 Android 보안의 주요 핵심 요소 중 하나입니다.
Android에서 앱을 업데이트할 때마다 휴대전화에 있는 이전 앱의 서명 키가 설치 중인 업데이트의 키와 일치해야 합니다.
일치하는 키는 업데이트가 원래 앱을 만든 회사에서 실제로 제공되고 악의적인 하이재킹 음모가 아닌지 확인합니다.
개발자의 서명 키가 유출되면 누구나 악성 앱 업데이트를 배포할 수 있으며 Android는 이를 합법적이라고 생각하고 기꺼이 설치합니다.
Android에서 앱 업데이트 프로세스는 앱 스토어에서 다운로드한 앱에 대한 것이 아니라 Google에서 만든 번들 시스템 앱, 기기 제조업체 및 기타 번들 앱을 업데이트할 수도 있습니다.
다운로드한 앱에는 엄격한 권한 및 제어 세트가 있지만 번들로 제공되는 Android 시스템 앱은 훨씬 더 강력하고 침해적인 권한에 액세스할 수 있으며 일반적인 Play 스토어 제한이 적용되지 않습니다(Facebook이 항상 번들 앱으로 비용을 지불하는 이유입니다) ).
타사 개발자가 서명 키를 분실한 경우에는 나쁠 것입니다. Android OEM이 시스템 앱 서명 키를 잃어버린 적이 있다면 정말 정말 나쁠 것입니다.
(...생략...)
아래는 주요 내용이고요..
- 개발자의 암호화 서명 키는 안드로이드 보안의 핵심요소
- 구글 안드로이드 보안팀에서 올린 글에 유출된 키들에 대한 설명이 있는데, 일부 키가 삼성/LG/Mediatek 소유의 키임
- 심지어 이 키들은 "플랫폼 인증서 키" 라서 거의 루트 접근에 가까움
- 시스템에 "android" 앱을 인증하는데 사용 하는 키임
- 이 "android" 앱은 권한이 높은 사용자 ID인 "android.uid.system" 으로 실행되어 사용자 데이터 액세스 권한 및 시스템 권한을 보유함
- 이 인증서로 서명된 모든 앱은 안드로이드 OS에 대해서 같은 수준의 권한으로 실행이 가능
- 유출된 삼성의 키는 삼성페이, 빅스비, 전화 앱 등 약 101개에 이르는 페이지에 있는 수백개의 앱들에 사용되었음
- 심지어 삼성은 오늘까지도 해당 키를 교체 하지 않았음
- 얘기가 더 이상한 것은, APKMirror 설립자가 말하길 VirusTotal에서 해당 키로 서명한 멀웨어는 2016년 것이라는 것
- 즉 6년전부터 그랬다는 것인데.. 삼성에 물어보니 다음과 같은 얘기를 함"삼성은 갤럭시 기기의 보안을 중요하게 생각하며, 2016년부터 해당 문제를 인지하고 보안패치를 진행하였으며, 현재까지 해당 취약점과 관련된 보안 사고는 알려진 바 없습니다. 항상 소프트웨어 업데이트로 장치를 최신 상태로 유지하는것을 추천합니다."
- 솔직히 이건 말이 안됨. 왜 이걸 몇년간 알고 있으면서 유출된 키를 사용하고 있지?
- 이미 판매된 휴대폰을 업데이트 하는데 어려움이 있을수도 있지만, 2016년 이후로 삼성은 수많은 기기를 새로 만들었음. 이미 몇년전에 새로운 키로 OS빌드를 했어야 할 것 같은데..
- 안드로이드 보안팀에서는 "이 키 유출건에 대해서 보고하자, OEM파트너들이 대응 조치를 구현했다. 또한 Build Test Suite에서도 멀웨어를 감지하고 있고, 구글 플레이도 역시 멀웨어를 감지하고 있음" 라고 얘기는 하고 있음
- OEM들은 빨리 손상된 키를 교체하여야 할 것. 삼성이 왜 아직 해당 키를 계속 사용하는지는 명확하지 않음
- 안드로이드의 APK Signature Scheme V3를 이용하면 개발자가 업데이트만으로 앱 키를 변경이 가능
- 구글 플레이는 V3를 강제하지만, 일부 OEM들은 아직 V2를 이용중
좀 더 자세한 내용은 아래 웹페이지을 방문해보시길 추천드리고요..
오늘의 블로그는 여기까지고요.
항상 믿고 봐주셔서 감사합니다.