안드로이드의 신규 보안 업데이트 설정 '프로젝트 메인라인'에 관한 진실

Computerworld
구글 I/O는 정보의 바다에서 쉽게 길을 잃어버린다. 결국, 구글은 이번 개발자 컨퍼런스에서 우리에게 수많은 흥미거리를 던져주었다. 즉, 새로운 중급 픽셀폰에서부터 완전히 개조한 안드로이드 제스처 인터페이스에 이르기까지 모든 것을 말이다. 이 때문에 좀 더 기술적인 내용을 발표할 때 좀 더 상세한 내용이 약간 흐릿해지는 것은 당연한 일인지도 모른다.

필자가 지적하는 것은 프로젝트 메인라인(Project Mainline)이라고 불리는 것으로, 구글이 안드로이드에서 보안 업데이트를 다루는 방식을 재고한다는 것을 보여주는 엄청난 노력의 결과다. 의심할 여지없이 올해 I/O에서 발표된 가장 크고 잠재적으로 가장 큰 영향을 미칠 수 있는 발표 중 하나이지만, 관련 보도는 대부분 불완전하거나 완전히 오해하기 십상이다. 

필자는 며칠에 걸쳐 프로젝트 메인라인을 면밀히 연구하면서 구글과 세부적인 내용에 대해 이야기를 나눠오고 있다. 프로젝트 메인라인이 가져올 변화와 가져오지 않을 것에 대해 알아야 할 몇 가지 중요한 사항을 소개한다.
 
ⓒGoogle/JR Raphael
 

1. 프로젝트 메인라인은 구글이 진행 중인 안드로이드 해체의 연속이다. 

9년 전 5월, 구글은 안드로이드를 해체하기 위한 계획을 본격적으로 추진하기 시작했다. 안드로이드가 한 번 통합되었던 소프트웨어들을 운영체제에서 꺼내어 대신 플레이 스토어에 넣었다. 플레이 스토어에 올라간 소프트웨어들은 다른 앱과 똑같이 취급되었고, 1년 내내 자주 업데이트되었다. 마찬가지로 중요한 것은, 이 소프트웨어들이 제조업체나 통신사의 개입 없이 그리고 업데이트가 동시에 모든 호환가능한 기기에서 가능할 수 있도록 하는 방식으로 구글에 의해 직접 업데이트되었다는 점이다.

수 년에 걸쳐, 구글은 그러한 야망을 확장하고 이 접근법을 구글 캘린더나 지메일, 크롬과 같은 시스템 수준 앱뿐만 아니라 구글 플레이 서비스와 같은 그 이면의 구성요소들에도 적용했다. 사실 이들 앱은 한 때 안드로이드 자체의 일부였으며, 이에 상응하는 애플용 앱은 여전히 오늘날 iOS에서 다뤄지는 것과 같이 전체 OS 업데이트를 통해서만 업데이트되었다는 것을 잊지 말자. 구글 플레이 서비스는 전체 구글 플레이스 프로텍트 시스템을 비롯하여 모든 종류의 위치 관련, 개인 정보 보호 관련, 보안 관련 요소들을 지원한다. 

이러한 노력은 (아예 무관하지는 않지만) OS 업데이트의 비중을 줄이면서 안드로이드에 엄청난 영향을 미쳤다. 이유는 간단하다. 기기가 적절한 시기에 OS 업데이트를 받지 못하더라도 시스템 수준의 앱은 여전히 모두 한 달에도 여러 차례 업데이트가 이뤄지고 있다. 공개적으로든 사용자가 알아차리지 못하든 말이다. 

이런 패턴은 기기가 낡아서 더 이상 OS 업데이트를 전혀 받지 못하는 경우에도 계속된다. 특히 대부분의 안드로이드 기기 제조업체가 사용자에게 시기적절하고 지속적인 OS 업데이트를 제공하는 데 얼마나 서투른 지를 고려할 때, 이런 변화의 중요성은 아무리 강조해도 지나치지 않을 것이다. 

프로젝트 메인라인은 동일한 기본 개념을 취해서 이를 안드로이드의 핵심에까지 적용시킨다. 구글은 이제 운영체제의 더 많은 핵심 부분들을 분해해 일련의 독립형 구성요소로 변형시키고 있다. 이 모든 부분들은 무선 업데이트나 제조업체의 개입 없이도 구글 자체적으로 쉽게 업데이트할 수 있다. 몇 년 전 이 주제를 구글의 안드로이드 담당 부사장 히로시 록하이머에게 제기했을 때, 록하이머가 암시를 줬던 어떤 것이 실제로 일어나는 것일 지도 모른다. 이제 우리는 그 가능성이 현실로 바뀌는 것을 보고 있다. 
 

2. 프로젝트 메인라인이 안드로이드의 전통적인 보안 패치를 대체하지 않는다

이 새로운 시스템이 지금까지 상당히 오랫동안 안드로이드가 제공한 전통적인 월간 보안 패치 설정을 대체할 것이란 보도가 많았다. 그러나 사실이 아니다.

우선 프로젝트 메인라인은 안드로이드Q가 설치된 폰에만 영향을 미친다. 따라서 지금 당장은 그리고 예측 가능한 미래의 대부분 동안은 안드로이드 기기의 절대 다수는 전혀 영향을 받지는 않을 것이며, 중요한 업데이트를 위해서는 전통적인 월간 패치에만 계속해서 의존할 것이다.

그러나 더 넓게 보면, 메인라인은 월별 패치를 완전히 대체하려는 것이 아니다. 적어도 가까운 시일 내에는. 이 시스템은 미디어 프레임워크 구성 요소에서 네트워크 구성 요소에 이르기까지 13가지 특정 영역과 관련된 업데이트를 처리하지만, 이러한 영역에서 다루지 않는 모든 필수 업데이트는 여전히 기존 월간 패치 방식으로 이루어질 것이다. Q를 실행하는 스마트폰에서도 마찬가지다. 

구글은 기존에 월간 보안 패치에 포함되었던 요소의 많은 부분을 메인라인 모듈, 특히 통상적인 월간 보안 패치의 약 40%를 차지하는 미디어 관련 모듈로 해결할 것이라고 말한다. 따라서, Q를 실행하는 기기의 경우 월간 패치는 훨씬 더 축소될 것이다. 그러나 기기의 무선 또는 커널(운영체제의 커맨드 센터 역할)과 같은 패치는 여전히 지금처럼 메인라인 시스템 외부에서 제조업체 및 통신사에 의존하는 무선 업데이트를 통해 처리되어야 할 것이다.

구글은 또한 메인라인이 다루는 모듈의 목록이 시간이 지남에 따라, 특히 보안과 관련된 분야에서 매우 잘 확장될 수 있다고 강조했다. 그렇기 때문에 지금 보고 있는 것은 시작에 불과한 것일 수도 있다. 
 

3. 프로젝트 메인라인은 보안에 국한된 것이 아니다. 

보안에 대한 일반적인 강조에도 불구하고, 이 새로운 안드로이드 Q 시스템은 실제로 보안, 개인 정보보호 및 플랫폼 전반에 걸친 일관성이라는 3가지 영역을 다루고 있다. 실제로 메인라인 모듈의 거의 절반, 즉 13개 중 6개가 "일관성" 항목에 속한다. 그래서 보안이 Q 시스템의 중요한 부분인 것은 분명하지만, 사실 전부는 아니다. 
 

4. 기기 제조업체는 자동 업데이트 프로그램을 배제할 수 없다

프로젝트 메인라인의 가장 혼란스러운 점 중 하나는 안드로이드 기기 제조업체에게 완전한 선택권이 있다는 생각이다. 완전히 틀린 말은 아니지만, 실제 내용은 중간에 엄청나게 뒤죽박죽이 되었다. 


진실은 다음과 같다. 안드로이드 제조업체가 메인라인 프로그램 내에서 아주 소수의 모듈들을 거부할 수 있는 선택권이 있다는 것은 사실이다. 구체적으로, 기기가 종속포털 로그인(Captive Portal Login), 콘스크립트(Conscrypt), DNS 리졸버(Resolver), 네트워크 퍼미션 컨피규레이션(Network Permission Configuration) 및 네트워크 구성요소(Components)와 관련된 업데이트를 수신하지 못하도록 선택할 수 있다. 

구글에 따르면, 이렇게 하는 이유는 이 영역들이 특정 제조업체가 구글의 표준 안드로이드 소프트웨어에 존재하는 것과 다른 독자적인 특징을 가지고 있기 때문이다. 결과적으로, 이들 영역에서의 자동 업데이트는 모든 관련 기기에서 제대로 작동되고 있는 상황에 악영향을 줄 수 있다. 

하지만 그게 전부다. 프로젝트 메인라인에서 업데이트될 영역의 대부분은 강제적이며 안드로이드 Q가 설치되어 출시되는 모든 새로운 기기(구글 플레이 지원 기능이 있는 한)에 적용될 것이다. 제조업체는 이 프로그램을 배제할 수 없으며, 프로그램의 어떤 작은 부분에서도 배제할 수 있는 것은 앞서 언급한 5가지 영역 중에서 자사 소프트웨어 사용자 정의에 의해 발생하는 충돌이 있는 경우뿐이다. 

5. 프로젝트 메인라인은 이미 최신 안드로이드 Q 베타에서 작동 중이다. 

기기에서 최신 안드로이드 Q 베타 소프트웨어를 실행해보면 놀라게 될 것이다. 이 새로운 업데이트 시스템이 이미 휴대폰에서 실행되고 있기 때문이다. 한 가지 중요한 점은 베타 소프트웨어에서 메인라인이 제공하는 업데이트는 휴대폰을 강제로 재시작한다는 것이다. 

이 기능은 구글이 메인라인 업데이트를 계속 추적하고 이 테스트 기간 동안 발생할 수 있는 문제를 계속 파악할 수 있도록 베타 소프트웨어에 내장한 임시적인 요구 사항이다. 올 여름 최종 Q 소프트웨어가 출시되면 업데이트 프로세스는 기본적으로 눈에 띄지 않게 될 것이다. 안드로이드는 단순히 백그라운드에서 업데이트를 다운로드한 다음 기기를 다시 시작할 때마다 자동으로 업데이트를 적용할 것이다.

또 한 가지 참고할 점은 플레이 스토어 업데이트와 마찬가지로 모든 메인라인 업데이트는 필요할 때마다 실행되며, 안드로이드의 기존 패치처럼 통합된 월간 번들로 수행되지는 않는다는 것이다. 다가오는 변화를 추적하고자 하는 고급 사용자라면 그렇게 할 수 있는 방법이 있겠지만, 대부분의 평범한 안드로이드 사용자에게는 이 모든 것이 아무런 실질적인 멈춤이나 버벅거림 없이 저절로 이루어질 것이다. 

궁극적으로, 이 시스템은 구글이 안드로이드 업그레이드를 통제하고 사후 소프트웨어 지원에 전혀 관심이 없이 이익에만 목마른 기기 제조업체를 다루기 위해 만들어낸 점점 더 복잡해지는 퍼즐의 또 다른 조각이다. 현재 추진 중인 안드로이드에서 일부를 뽑아내어 플레이 스토어에서 업데이트하려는 움직임과 같은 노력은 매우 성공적이었다. 어떤 것들은 기대했던 효과에 훨씬 못 미쳤지만 말이다. (프로젝트 트레블이 그러하다). 

그러나 구글이 제조업체를 이러한 방식에서 배제하고 스스로 업데이트를 관리할수록 사용자에게는 더 좋은 일이 될 것이다. 심지어 내재된 한계에도 불구하고 프로젝트 메인라인은 분명히 그러한 목표에 더욱 다가갈 준비가 되어 있는 것처럼 보인다. 어떤 종류의 안드로이드폰을 사용하든 또는 어떤 스타일의 소프트웨어를 선호하든 구글의 그러한 움직임은 올바른 방향이라고 봐야 할 것이다. editor@itworld.co.kr