2018.03.13

안드로이드 P 보안 사전 점검 : 백그라운드 앱 권한 축소 등 보안 기능 강화

JR Raphael | Computerworld
구글이 공개할 차세대 운영체제 안드로이드 P의 윤곽이 서서히 드러나고 있다. 현재 진행 중인 개발자 중심 소프트웨어 사전 공개를 어제 처음으로 잠깐 살펴본 바 있다. 오늘은 계속 변화하는 주제인 안드로이드 보안과 관련해서 안드로이드 P의 새로운 점은 정확히 무엇인지 자세히 살펴 본다.

필자는 구글의 안드로이드 플랫폼 보안 제품 담당자 샤오웬 신과 함께 안드로이드 P에 도입될 중대한 몇 가지 변화에 대해 이야기를 나눌 기회가 있었다. 인터뷰에서 언급된 안드로이드 P의 새로운 보안 기능을 정리했다.

기기의 카메라, 마이크, 센서에 대한 접근 통제 강화
안드로이드 P부터는 배경에서 실행 중인 앱이 카메라, 마이크 또는 센서에 접근할 수 없게 된다. 단, 접근 사실을 사용자에게 확실히 알려주는 경우는 제외한다.

정당한 권한을 부여 받은 악성 앱이 권한을 남용하지 못하게 하기 위한 예방 조치라고 보면 된다.

즉, 배경에서 유휴 상태인 앱은 아무리 카메라, 마이크, 센서 등에 접근하려고 해도 하드웨어 상 데이터 전달이 불가능하게 되어 있다.

만일 앱이 배경 상태에서 카메라, 마이크, 센서 등에 접근할 정당한 사유가 있다면 백그라운드 프로세스를 만들어야 한다. 접근을 시도할 때마다 사용자에게 알림이 표시된다는 의미이다.

샤오웬은 다음과 같이 말했다. “카메라, 마이크 등 모든 종류의 센서가 사용될 때마다 이를 사용자에게 명확히 알리고자 한다. 따라서 항상 그 알림이 끈질기게 나타날 것이다.”

이 변경사항은 안드로이드 P 기준 모든 앱에 적용될 예정이다. 앱의 마지막 업데이트 시기나 앱의 대상이 되는 안드로이드 버전 수준은 무관하다. 한 가지 예외는 기기의 GPS 센서인데, GPS 센서는 이미 안드로이드의 빠른 설정에서 자체적인 독립형 토글로 제어되기 때문에 지속되는 전경 프로세스가 없어도 계속 활성화된다.

샤오웬에 따르면 지금까지 구글의 모든 테스트 결과, 이번 변경사항으로 인해 정식 기능이 중단된 앱은 아직 하나도 없었다고 한다.

백업 데이터 암호화 개선
안드로이드에서는 사용자 기기에 있는 모든 데이터를 저장해 두었다가 사용자가 새로운 폰이나 태블릿에 로그인하면 복원한다. 운영체제 수준 설정, 앱 지향적 정보 등의 데이터는 지금까지도 항상 암호화되어 왔지만, 안드로이드 P에서는 ‘클라이언트 측’의 데이터를 사용해 암호화된다.

즉, 암호화는 사용자의 폰에 있는 사용자의 PIN, 패턴, 암호 등으로 보호되고 이 프로세스 일체는 사용자 기기에서 직접 일어나는 것이다. 따라서 이들 정보에 대한 무단 접근이 그 어느 때보다 어려워질 것임을 알 수 있다. (이 부분은 최초 안드로이드 P 개발자 사전 공개에는 아직 없지만 최종 P 공개 이전의 향후 업데이트에는 모습을 드러낼 것이다.)

네트워크 연결 시 개인 정보 보호 강화
지금은 안드로이드 기기에서 와이파이 네트워크로 연결할 때 사용자 기기의 MAC 주소가 네트워크에 공개된다. MAC 주소란 사용자 폰이나 태블릿을 식별하는 불변의 고유 숫자다. 이처럼 MAC 주소가 노출된다는 것은 사용자가 하루 동안 다른 여러 네트워크에 연결한다면 위치를 추적 당할 가능성이 이론적으로는 있다는 뜻이다.

샤오웬은 다음과 같이 설명했다. “내가 어디를 가든 네트워크에 연결하면 네트워크 주인은 내 MAC 주소를 알게 된다. 만일 네트워크 주인들이 공모하면 내가 어디를 가는지 알아낼 수 있다.”

안드로이드 P는 이러한 가능성을 차단하기 위해, 사용자가 연결하는 와이파이 네트워크마다 새로운 임의의 MAC 주소를 생성하게 한다. 이렇게 생성된 MAC 주소는 해당 네트워크에서는 시간이 지나도 변하지 않지만, 사용자가 다른 네트워크를 사용하면 그 때마다 다른 주소를 새롭게 얻게 된다. 따라서, 사용자가 어디를 가든 따라다니면서 영원한 흔적을 남기는 영구적인 기기별 ID는 없다.

이 옵션은 최초 안드로이드 P 개발자 사전 공개 빌드에서 실험 기능으로 시작되고 있으며 기본적으로 비활성화 된다.

안전하지 않은 트래픽으로부터 보호 강화
네트워크 보안 이야기를 이어가면, 안드로이드 P는 암호화되지 않는 “http” 웹 트래픽에서 벗어나 전체적으로 안전한 웹 전송으로 가려는 구글의 노력과 궤를 같이 한다.

P는 이 부분에서 오레오가 시작한 작업을을 실제로 한 단계 더 끌어 올린다(말하자면 그렇다). 오레오에서 구글은 암호화되지 않은 네트워크 트래픽(흔히 “클리어텍스트(cleartext)”라고 함)이 앱에 나타나지 않도록 앱 개발자들이 선택할 수 있는 새로운 시스템을 도입한 바 있다. P에서부터는 그 시스템이 기본적으로 본격 가동된다.

암호화되지 않은 네트워크 트래픽을 허용하는 것도 여전히 가능하다. 필요에 따라 특정 도메인을 화이트 리스트에 올려 건 별로 허용하면 된다. 이 변경 사항은 안드로이드 P 지원을 위해 업데이트된 앱에만 해당된다. 따라서 주기적으로 관리되지 않는 오래된 앱도 문제없이 계속 기능할 것이다.

고유 기기 식별자의 보호 개선
네트워크 연결을 차치하고라도, 모든 안드로이드 기기에는 영구적인 고유 식별자(build.serial identifier)가 있다. 기본적으로 사용자의 폰에만 속하는 일련번호로서 공장 재설정을 해도 남아 있다. 따라서 기기를 다른 사람에게 판매하는 경우 구매자가 똑같은 번호를 갖게 된다.

대수롭지 않게 여겨질지 모르지만 이런 방식으로도 회사들은 사용자 모르게 사용자를 추적해 정보를 알아낼 수 있다. 특히 과거에는 앱들이 기기의 고유 번호에 접근해 저장하는 것이 자유로웠다. 구글은 오레오 때부터 그러한 기능을 없애기 시작했다. 안드로이드 P에서는 사용자의 허락 없이 앱이 사용자 기기 식별자에 접근할 수 없게 되어 있다.

표준화된 지문 인식 UI
지문은 강력한 보안 방식이지만 그동안 안드로이드에서 지문 입력 사용자 인터페이스는 분명하지도 않고 일관적이지도 못했다.

샤오웬은 웃으며 다음과 같이 말했다. “앱들의 지문 대처 방식은 그야말로 다양하고 제각각이었다. 지문 입력 요청 시 기본적으로 코믹 산스(Comic Sans) 글꼴을 표시한 앱도 있었다.”

이러한 상황을 타개하고자 구글은 P에서 일관적인 지문 인증 UI를 만들고 있다. 지문 입력 요청이 시스템 자체에서 오든 앱에서 오든 차이가 없게 하는 것이다. 이러한 변화에는 당연히 드러나는 장점이 있지만 향후 기술을 위해 숨겨진 장점도 있을 수 있다고 한다.

샤오웬은 다음과 같이 설명했다. “만일 제조업체가 인디스플레이(in-display) 지문 센서를 예를 들어 화면 아래쪽에 장착하고자 한다면, 사용자의 손가락을 구체적으로 어디에 대야 하는지 알려줄 방법이 필요하다.”

지나친 기대는 아직 금물이다. 샤오웬에 따르면, 일부 안드로이드 기기 제조업체는 인디스플레이 지문 방식을 고려하기 시작한 것이 확실하지만 그러한 시스템이 실제로 기기에 장착될지, 그 시기는 언제일지는 아직 분명하지 않다.

구식 API 사용에 대해 사용자가 볼 수 있는 경고
안드로이드 OS 업데이트에 대한 논의에서 가장 주목을 받는 것은 화려한 주요 기능들이다. 그러나 보이지 않는 곳에 항상 근본적인 중요 개선 사항이 포함되어 있다. 예를 들면, 개발자가 데이터 접근 및 앱 내 기능 활용에 사용하는 인터페이스, 즉, API가 새롭게 단장된다.

최신 API는 더욱 큰 가능성을 제공할 뿐 아니라 개인정보 보호 및 보안에도 더욱 효과적일 수 있다. 따라서 앱이 그러한 기회를 활용하지 않고 오래된 API를 고집한다면 사용자에게는 나쁜 소식이라 할 수 있다.

샤오웬은 다음과 같이 말했다. “우리는 매년 API를 강화한다. 낮은 API 수준은 그만큼 안전하지 않을 수 있다.”

구글은 안드로이드 P에서 개발자들이 최신 도구를 사용하게 하고 만일 개발자들이 이를 따르지 않을 경우 사용자에게 알려줄 방침이다. 그 방법은 간단하다. P수준 운영체제에서는 앱이 용납할 수 있는 수준 보다 오래된 API를 대상으로 할 때마다 실제로 사용자에게 경고를 표시하게 된다.

(필자의 참견: 이 경고 문구가 일반 사용자에게 실제로 의미가 있도록 쉽게 작성되었으면 좋겠다. 만일 일반 사용자의 폰에 나타나는 메시지에 “구식 API를 대상으로 하는 앱” 같은 표현이 들어 있다면 사용자의 혼란만 가중시킬 뿐 별로 효과가 없을 것이기 때문이다.)

이러한 변화는 작년 후반 구글 플레이용으로 발표된 조치와 사실상 궤를 같이 한다. 그 쪽에서는 이번 여름부터 신규 앱 또는 업데이트된 앱은 모두 최신 API 수준 사용이 ‘의무화’될 예정이다. 샤오웬의 말에 따르면, 이러한 양면 접근법의 목적은 아직 업데이트되지 않은 오래된 앱에 대한 지원을 계속할 뿐만 아니라 이러한 앱 사용 시 어떤 단점이 있을 수 있는지를 사용자에게 알려주는 장점이 있다.

지금까지 안드로이드 P의 새로운 보안 기능을 정리해 소개했다. 앞으로 수 개월간 계속해서 모습을 갖춰갈 안드로이드 P에 대해 논의할 내용은 이 밖에도 많다. editor@itworld.co.kr  

2018.03.13

안드로이드 P 보안 사전 점검 : 백그라운드 앱 권한 축소 등 보안 기능 강화

JR Raphael | Computerworld
구글이 공개할 차세대 운영체제 안드로이드 P의 윤곽이 서서히 드러나고 있다. 현재 진행 중인 개발자 중심 소프트웨어 사전 공개를 어제 처음으로 잠깐 살펴본 바 있다. 오늘은 계속 변화하는 주제인 안드로이드 보안과 관련해서 안드로이드 P의 새로운 점은 정확히 무엇인지 자세히 살펴 본다.

필자는 구글의 안드로이드 플랫폼 보안 제품 담당자 샤오웬 신과 함께 안드로이드 P에 도입될 중대한 몇 가지 변화에 대해 이야기를 나눌 기회가 있었다. 인터뷰에서 언급된 안드로이드 P의 새로운 보안 기능을 정리했다.

기기의 카메라, 마이크, 센서에 대한 접근 통제 강화
안드로이드 P부터는 배경에서 실행 중인 앱이 카메라, 마이크 또는 센서에 접근할 수 없게 된다. 단, 접근 사실을 사용자에게 확실히 알려주는 경우는 제외한다.

정당한 권한을 부여 받은 악성 앱이 권한을 남용하지 못하게 하기 위한 예방 조치라고 보면 된다.

즉, 배경에서 유휴 상태인 앱은 아무리 카메라, 마이크, 센서 등에 접근하려고 해도 하드웨어 상 데이터 전달이 불가능하게 되어 있다.

만일 앱이 배경 상태에서 카메라, 마이크, 센서 등에 접근할 정당한 사유가 있다면 백그라운드 프로세스를 만들어야 한다. 접근을 시도할 때마다 사용자에게 알림이 표시된다는 의미이다.

샤오웬은 다음과 같이 말했다. “카메라, 마이크 등 모든 종류의 센서가 사용될 때마다 이를 사용자에게 명확히 알리고자 한다. 따라서 항상 그 알림이 끈질기게 나타날 것이다.”

이 변경사항은 안드로이드 P 기준 모든 앱에 적용될 예정이다. 앱의 마지막 업데이트 시기나 앱의 대상이 되는 안드로이드 버전 수준은 무관하다. 한 가지 예외는 기기의 GPS 센서인데, GPS 센서는 이미 안드로이드의 빠른 설정에서 자체적인 독립형 토글로 제어되기 때문에 지속되는 전경 프로세스가 없어도 계속 활성화된다.

샤오웬에 따르면 지금까지 구글의 모든 테스트 결과, 이번 변경사항으로 인해 정식 기능이 중단된 앱은 아직 하나도 없었다고 한다.

백업 데이터 암호화 개선
안드로이드에서는 사용자 기기에 있는 모든 데이터를 저장해 두었다가 사용자가 새로운 폰이나 태블릿에 로그인하면 복원한다. 운영체제 수준 설정, 앱 지향적 정보 등의 데이터는 지금까지도 항상 암호화되어 왔지만, 안드로이드 P에서는 ‘클라이언트 측’의 데이터를 사용해 암호화된다.

즉, 암호화는 사용자의 폰에 있는 사용자의 PIN, 패턴, 암호 등으로 보호되고 이 프로세스 일체는 사용자 기기에서 직접 일어나는 것이다. 따라서 이들 정보에 대한 무단 접근이 그 어느 때보다 어려워질 것임을 알 수 있다. (이 부분은 최초 안드로이드 P 개발자 사전 공개에는 아직 없지만 최종 P 공개 이전의 향후 업데이트에는 모습을 드러낼 것이다.)

네트워크 연결 시 개인 정보 보호 강화
지금은 안드로이드 기기에서 와이파이 네트워크로 연결할 때 사용자 기기의 MAC 주소가 네트워크에 공개된다. MAC 주소란 사용자 폰이나 태블릿을 식별하는 불변의 고유 숫자다. 이처럼 MAC 주소가 노출된다는 것은 사용자가 하루 동안 다른 여러 네트워크에 연결한다면 위치를 추적 당할 가능성이 이론적으로는 있다는 뜻이다.

샤오웬은 다음과 같이 설명했다. “내가 어디를 가든 네트워크에 연결하면 네트워크 주인은 내 MAC 주소를 알게 된다. 만일 네트워크 주인들이 공모하면 내가 어디를 가는지 알아낼 수 있다.”

안드로이드 P는 이러한 가능성을 차단하기 위해, 사용자가 연결하는 와이파이 네트워크마다 새로운 임의의 MAC 주소를 생성하게 한다. 이렇게 생성된 MAC 주소는 해당 네트워크에서는 시간이 지나도 변하지 않지만, 사용자가 다른 네트워크를 사용하면 그 때마다 다른 주소를 새롭게 얻게 된다. 따라서, 사용자가 어디를 가든 따라다니면서 영원한 흔적을 남기는 영구적인 기기별 ID는 없다.

이 옵션은 최초 안드로이드 P 개발자 사전 공개 빌드에서 실험 기능으로 시작되고 있으며 기본적으로 비활성화 된다.

안전하지 않은 트래픽으로부터 보호 강화
네트워크 보안 이야기를 이어가면, 안드로이드 P는 암호화되지 않는 “http” 웹 트래픽에서 벗어나 전체적으로 안전한 웹 전송으로 가려는 구글의 노력과 궤를 같이 한다.

P는 이 부분에서 오레오가 시작한 작업을을 실제로 한 단계 더 끌어 올린다(말하자면 그렇다). 오레오에서 구글은 암호화되지 않은 네트워크 트래픽(흔히 “클리어텍스트(cleartext)”라고 함)이 앱에 나타나지 않도록 앱 개발자들이 선택할 수 있는 새로운 시스템을 도입한 바 있다. P에서부터는 그 시스템이 기본적으로 본격 가동된다.

암호화되지 않은 네트워크 트래픽을 허용하는 것도 여전히 가능하다. 필요에 따라 특정 도메인을 화이트 리스트에 올려 건 별로 허용하면 된다. 이 변경 사항은 안드로이드 P 지원을 위해 업데이트된 앱에만 해당된다. 따라서 주기적으로 관리되지 않는 오래된 앱도 문제없이 계속 기능할 것이다.

고유 기기 식별자의 보호 개선
네트워크 연결을 차치하고라도, 모든 안드로이드 기기에는 영구적인 고유 식별자(build.serial identifier)가 있다. 기본적으로 사용자의 폰에만 속하는 일련번호로서 공장 재설정을 해도 남아 있다. 따라서 기기를 다른 사람에게 판매하는 경우 구매자가 똑같은 번호를 갖게 된다.

대수롭지 않게 여겨질지 모르지만 이런 방식으로도 회사들은 사용자 모르게 사용자를 추적해 정보를 알아낼 수 있다. 특히 과거에는 앱들이 기기의 고유 번호에 접근해 저장하는 것이 자유로웠다. 구글은 오레오 때부터 그러한 기능을 없애기 시작했다. 안드로이드 P에서는 사용자의 허락 없이 앱이 사용자 기기 식별자에 접근할 수 없게 되어 있다.

표준화된 지문 인식 UI
지문은 강력한 보안 방식이지만 그동안 안드로이드에서 지문 입력 사용자 인터페이스는 분명하지도 않고 일관적이지도 못했다.

샤오웬은 웃으며 다음과 같이 말했다. “앱들의 지문 대처 방식은 그야말로 다양하고 제각각이었다. 지문 입력 요청 시 기본적으로 코믹 산스(Comic Sans) 글꼴을 표시한 앱도 있었다.”

이러한 상황을 타개하고자 구글은 P에서 일관적인 지문 인증 UI를 만들고 있다. 지문 입력 요청이 시스템 자체에서 오든 앱에서 오든 차이가 없게 하는 것이다. 이러한 변화에는 당연히 드러나는 장점이 있지만 향후 기술을 위해 숨겨진 장점도 있을 수 있다고 한다.

샤오웬은 다음과 같이 설명했다. “만일 제조업체가 인디스플레이(in-display) 지문 센서를 예를 들어 화면 아래쪽에 장착하고자 한다면, 사용자의 손가락을 구체적으로 어디에 대야 하는지 알려줄 방법이 필요하다.”

지나친 기대는 아직 금물이다. 샤오웬에 따르면, 일부 안드로이드 기기 제조업체는 인디스플레이 지문 방식을 고려하기 시작한 것이 확실하지만 그러한 시스템이 실제로 기기에 장착될지, 그 시기는 언제일지는 아직 분명하지 않다.

구식 API 사용에 대해 사용자가 볼 수 있는 경고
안드로이드 OS 업데이트에 대한 논의에서 가장 주목을 받는 것은 화려한 주요 기능들이다. 그러나 보이지 않는 곳에 항상 근본적인 중요 개선 사항이 포함되어 있다. 예를 들면, 개발자가 데이터 접근 및 앱 내 기능 활용에 사용하는 인터페이스, 즉, API가 새롭게 단장된다.

최신 API는 더욱 큰 가능성을 제공할 뿐 아니라 개인정보 보호 및 보안에도 더욱 효과적일 수 있다. 따라서 앱이 그러한 기회를 활용하지 않고 오래된 API를 고집한다면 사용자에게는 나쁜 소식이라 할 수 있다.

샤오웬은 다음과 같이 말했다. “우리는 매년 API를 강화한다. 낮은 API 수준은 그만큼 안전하지 않을 수 있다.”

구글은 안드로이드 P에서 개발자들이 최신 도구를 사용하게 하고 만일 개발자들이 이를 따르지 않을 경우 사용자에게 알려줄 방침이다. 그 방법은 간단하다. P수준 운영체제에서는 앱이 용납할 수 있는 수준 보다 오래된 API를 대상으로 할 때마다 실제로 사용자에게 경고를 표시하게 된다.

(필자의 참견: 이 경고 문구가 일반 사용자에게 실제로 의미가 있도록 쉽게 작성되었으면 좋겠다. 만일 일반 사용자의 폰에 나타나는 메시지에 “구식 API를 대상으로 하는 앱” 같은 표현이 들어 있다면 사용자의 혼란만 가중시킬 뿐 별로 효과가 없을 것이기 때문이다.)

이러한 변화는 작년 후반 구글 플레이용으로 발표된 조치와 사실상 궤를 같이 한다. 그 쪽에서는 이번 여름부터 신규 앱 또는 업데이트된 앱은 모두 최신 API 수준 사용이 ‘의무화’될 예정이다. 샤오웬의 말에 따르면, 이러한 양면 접근법의 목적은 아직 업데이트되지 않은 오래된 앱에 대한 지원을 계속할 뿐만 아니라 이러한 앱 사용 시 어떤 단점이 있을 수 있는지를 사용자에게 알려주는 장점이 있다.

지금까지 안드로이드 P의 새로운 보안 기능을 정리해 소개했다. 앞으로 수 개월간 계속해서 모습을 갖춰갈 안드로이드 P에 대해 논의할 내용은 이 밖에도 많다. editor@itworld.co.kr  

X