
며칠 전인 11월 30일 구글 APVI 이슈 트래커에 상당히 좋지 않은 소식이 올라옴.
(안드로이드 파트너 취약점 이니셔티브, 2년 전에 구글이 안드로이드 관련 타 업체들 보안 취약점 파악 및 빠른 해결을 위해 운영 시작)
apvi.png 안드 외부 apk 설치 주의!.. 삼성 LG 미디어텍 플랫폼 인증서가 유출돼 있던 상태
https://bugs.chromium.org/p/apvi/issues/detail?id=100
안드로이드 진영과 관련된 여러 제조사들의 플랫폼 인증서가 유출되어 있는 상태였고,
이를 악용해 마치 유출된 신분증으로 타인을 사칭하듯이,
제조사가 서명한 정상적인 앱인 것처럼 위장할 수 있는 악성 apk 파일들도 실제로 여럿 존재했다는 내용임.
들어가 보면 문제가 되는 유출된 각 인증서들의 해시값,
그리고 각 인증서들을 악용한 악성 apk들 중 하나의 해시값이 대표로 제시되어 있음.
안드로이드는 같은 인증서로 서명된 앱들끼리는 같은 사용자 id로 동작할 수 있는데,
플랫폼 인증서는 앱이 아주 높은 권한을 갖는 시스템 id로 동작할 수 있게 해 주기 때문에
간단히 말해 어떤 앱이든 이런 플랫폼 인증서 서명을 받기만 하면
그 앱은 안드로이드 시스템에 아주 깊숙히 접근할 수 있음.
Virustotal은 원하는 파일을 여러 보안 프로그램들로 한번에 검사해
악성 파일인지 여부를 쉽게 확인하는 웹 서비스로 현재는 구글이 운영 중인데,
이를 이용해 파일에 서명된 구체적인 인증서 정보까지도 확인 가능하며
실제로 악성 apk들의 해시값을 바이러스토탈에서 조회해 보면
인증서가 유출된 회사 목록에 삼성, LG, 미디어텍도 포함되어 있으며,
이는 삼성, LG, 미디어텍이 배포하는 정상적인 앱처럼 위장하고
몰래 시스템에 접근할 수 있는 강력한 권한을 갖는 악성 앱들이
얼마든지 존재 가능하다는 것을 의미함.
삼성 인증서가 사용된 악성 apk 바이러스토탈 결과
https://www.virustotal.com/gui/file/b1f191b1ee463679c7c2fa7db5a224b6759c5474b73a59be3e133a6825b2a284
LG 인증서가 사용된 악성 apk 바이러스토탈 결과
https://www.virustotal.com/gui/file/0251bececeffbf4bf90eaaad27c147bb023388817d9fbec1054fac1324c6f8bf
미디어텍 인증서가 사용된 악성 apk 바이러스토탈 결과
https://www.virustotal.com/gui/file/19c84a2386abde0c0dae8661b394e53bf246f6f0f9a12d84cfc7864e4a809697 외 여러 개
디테일 탭을 눌러보면 Certificate 항목에 Samsung, LGE, Mediatek (또는 MTK)이 보임.
인증서가 악용된 악성 앱들을 대체로 많은 보안 업체들,
그리고 구글까지 이미 악성 파일로 파악하여 차단 중인 것은 다행.
그러나 바이러스토탈 결과 페이지에서 History를 보면
이렇게 확인된 악성 apk가 최초로 바이러스토탈에 업로드되어 검사된 연도가
2016년인 경우도 존재한다는 게 더 무서운데,
인증서 유출이 최근에 있었던 것도 아니고
이미 오래 전에 이루어져 꾸준하게 조용히 악용되어 왔다고 추정할 수 있음.
그나마 다행히 소프트웨어 업데이트에 사용되는 인증서는 별개라고 하며,
유출됐다는 언급이 없음.
삼성 인증서가 사용된 악성 apk

삼성, LG의 인증서는 경로는 알 수 없지만
늦어도 이미 2016년부터 유출되어 악의적인 공격자들에 의해 사용되어 왔다고 추정해 볼 수 있음.
미디어텍 인증서로 서명 받은 것으로 보이는 apk들도
2019, 2020년에 최초로 바이러스토탈에 업로드된 것으로 나옴.
그나마 플레이 스토어에서 설치하는 앱의 경우
제조사들이 정식으로 올린 앱 정보를 구글이 갖고 있기 때문에
제조사들이 올린 앱이 아닌데 유출된 인증서가 사용된 경우
구글 선에서 차단이 가능하지만 (악성 앱을 걸러내는 Play Protect라는 기능도 있음)
외부에서 apk를 받아서 설치하는 경우,
그 apk가 폰의 보안 프로그램도 진단하지 못하는 악성 파일이라면 큰 피해가 발생할 수 있음.
구글에서 이 사실을 대외에 공개하기 전에
플랫폼 인증서가 유출된 회사들에 미리 통보하여 조치를 취했다고는 하고,
이슈 트래커에도 Fixed라고 되어 있지만,
유출된 삼성 인증서 SHA256값을 apk 파일 공유 사이트인 apkmirror에서 검색해 보면
당장 이번 달에 올라와 있는,
삼성 제조 앱 같아 보이는 apk들도 여전히 유출된 인증서로 서명되어 있다고 조회됨.

진짜 삼성 앱 apk를 사람들이 단순히 추출해서 올린 거여서
삼성이 아직도 인증서를 교체 안 한 상황인 것이어도 문제고,
위 apk들이 삼성이 만든 게 아니지만
삼성 인증서로 서명되어 버젓이 삼성 앱인 것마냥 올라와 있는 것이어도 문제인 상황.
안드로이드 폰 사용자들은 외부 apk 설치, 특히 삼성 앱 순차배포 못 기다리겠다고
apk 남이 올린 거 덜컥 설치했다가 정상 인증서로 서명된 악성 앱이 설치되는 일이 있을 수도 있으니
앱은 스토어에서만 설치하는 게 강하게 권장됨.
---------------------------------------------------------------------------------------
개발자의 암호화 서명 키는 Android 보안의 주요 핵심 요소 중 하나입니다.
Android에서 앱을 업데이트할 때마다
휴대전화에 있는 이전 앱의 서명 키가
설치 중인 업데이트의 키와 일치해야 합니다.
일치하는 키는 업데이트가 원래 앱을 만든
회사에서 실제로 제공되고
악의적인 하이재킹 음모가 아닌지 확인합니다.
개발자의 서명 키가 유출되면 누구나 악성 앱 업데이트를
배포할 수 있으며
Android는 이를 합법적이라고 생각하고 기꺼이 설치합니다.
삼성은 XDA Developers의 Adam Conway 에게 다음과 같은 성명을 발표했습니다 .
"삼성은 갤럭시 기기의 보안을 중요하게 생각합니다.
2016년부터 해당 문제를 인지하고 보안 패치를 진행하였으며,
현재까지 해당 취약점과 관련된 보안 사고는 알려진 바 없습니다.
항상 최신 소프트웨어 업데이트로 장치를 최신 상태로 유지하는 것이
좋습니다."
솔직히 그 말은 말이 안 됩니다.
삼성이 이 사실을 수년 동안 알고 있었다면 왜 여전히 손상된 키를 사용하고 있습니까?
이미 판매된 휴대폰을 업데이트하는 데 있어
삼성이 처리하고 싶지 않은 일부 업무 조직에 관한 문제가 있을 수 있지만,
삼성은 2016년부터 현재까지 많은 새 기기를 만들었습니다.
새 전화기에서 새 키로 새 OS 빌드를 만드는 것은 몇 년 전에 했어야 할 일처럼 보입니다.
OEM이 실제로 해야 할 일은 손상된 키를 사용하여 앱을 보호하는 것을 중지하는 것입니다.
삼성이 계속해서 키를 사용하는 이유는 명확하지 않습니다.
Android의 APK 서명 체계 V3
를 사용하면 개발자가 업데이트만으로 앱 키를 변경할 수 있습니다.
새 키와 이전 키로 앱을 인증하고 새 키만 업데이트에 지원됨을
나타냅니다.
이는 Play 스토어 앱의 요구 사항이지만
OEM의 시스템 앱에는 Play 스토어 규칙이 적용되지 않으므로
일부
OEM은 여전히 이전 v2 서명 체계를 사용하고 있습니다.

https://arstechnica.com/gadgets/2022/12/samsungs-android-app-signing-key-has-leaked-is-being-used-to-sign-malware/
댓글 영역