구글 보안 전문가 조직 '프로젝트 제로'가 스마트폰 제조사들이 안드로이드 운영체제(OS)에서 리눅스 코드를 임의로 수정하는 관행 때문에 보안 위협이 발생한다고 경고했다.
오픈소스 프로젝트에서는 코드 생성에 기여하고, 생성된 코드를 검토하는 업스트림을 거쳐 코드가 배포되는 게 일반적이다. 그러나 스마트폰 제조사들이 이런 업스트림 없이 코드를 수정하고 배포하는 게 만연한 상황을 지적한 것이다.
프로젝트 제로 연구원인 얀 호른은 최근 삼성 갤럭시 A50의 안드로이드 속 리눅스 커널을 분석한 내용을 담은 게시글을 프로젝트 제로 블로그에 게재했다.
게시글에서 얀 호른은 안드로이드의 리눅스 커널에 하드웨어와 직접 접속하기 위한 커스텀 드라이버를 추가한 점을 문제삼았다. 이는 삼성의 추가 보안 시스템인 PROCA(Process Authenticator)에 영향을 미쳐 안드로이드 9.0 이상 사용 기기에 대해 임의의 코드 실행을 가능케 하는 메모리 손상 버그를 유발했다.
관련기사
- 리눅스판 Y2K, 고쳐지나2020.02.18
- '안드로이드 대부'는 왜 처참하게 몰락했나2020.02.18
- 안드로이드의 아버지가 만든 에센셜폰 사라진다2020.02.18
- 맥OS, '커널 확장' API 없어진다2020.02.18
프로젝트 제로 팀은 이 버그를 지난 11월 삼성에 알렸다. 삼성은 해당 버그의 삼성 보안 취약점 코드를 SVE-2019-16132로 명명하고, 이달 배포된 업데이트에서 패치를 제공했다. 위험 수준은 '중간(moderate)'으로 평가했다.
호른은 "기기 제조사가 리눅스 커널 코드를 임의로 수정해 사용하는 것을 지양하고, 리눅스에서 지원 중인 하드웨어 직접 접근 기능을 사용하라"며 "장치 드라이버에 접근할 수 있는 프로세스 작동을 차단함으로서 이같은 보안 영향을 줄일 수 있다"고 조언했다.