<< 스마트폰 개발자 옵션의 USB 디버깅 >>
1. USB 디버깅
USB 디버깅은 안드로이드에서 동작하는 앱을 테스트할 때 사용하는 기능이다. 사용자가 USB 디버깅을 선택하면 안드로이드 스마트폰의 ADB 데몬이 활성화된다.
ADB는 안드로이드 운영체제를 사용하는 기기를 다양한 명령어를 통해 제어하는 도구이다. 즉, 개발의 편의성을 제공하기 위한 것이라 할 수 있다. 그런데 개발자에게 유용한 기능인 USB 디버깅 설정을 많은 사용자가 활성화하는 이유는 무엇일까?
2. 왜 USB 디버깅의 활성화가 필요한가?
USB 디버깅은 스마트폰 루팅 시 필요한 기능이다. 루팅(Rooting)은 OS나 앱에 존재하는 취약점을 이용해 관리자 권한을 획득하는 것을 의미한다. 일부 스마트폰 사용자들은 바탕 화면을 바꾸거나 통신사와 스마트폰 제작사에서 임의로 포함한 앱을 제거하고 싶어한다. 또는 아직 자신의 스마트폰에 적용되지 않은 최신 버전의 운영체제로 업그레이드하려 한다. 이럴 때 필요한 것이 바로 관리자 권한이다.
또 다른 이유는 많은 사용자가 사용하는 마켓의 PC 매니저 프로그램이나 특정 앱을 설치하기 위해서다. 각 제작사나 통신사는 다양한 이름으로 앱 마켓을 운영하고 있고, 이들 마켓에서는 사용자 편의를 위해 PC 매니저 프로그램을 제공한다. 매니저 프로그램은 스마트폰 사용자의 PC에 설치되어 스마트폰에 저장된 데이터를 추출하거나 마켓에서 구매한 앱을 스마트폰에 손쉽게 설치하도록 도와주는 기능을 제공한다. 이러한 매니저 프로그램 중 일부는 USB 디버깅을 활성화할 것을 권장하기도 한다.
일부 안드로이드 스마트폰은 해당 기능의 비활성화를 시도할 때 특정 앱을 사용할 수 없다는 경고 메시지를 노출해 사용자가 USB 디버깅 기능을 비활성화하지 않도록 유도한다.
3. USB 디버깅의 활성화로 인해 발생할 수 있는 문제
PC에 감염된 악성코드가 ADB의 기능을 악용하는 것은 어렵지 않다. 스마트폰이 PC에 연결되는 것을 감지한 후 ADB의 옵션 중 일부를 이용하면 설치된 프로그램 목록을 손쉽게 확인하여 필요하다면 백신과 같은 보안 앱을 삭제할 수도 있다. 또 특정 앱을 삭제한 후 악의적으로 리패키징한 악성코드를 설치할 수도 있어 사용자는 자신의 스마트폰에 설치된 앱이 변조된 것을 알아채기 어렵다.
*보안 위협과 대응 방안
PC에 연결된 스마트폰으로 사용자가 인지하지 못한 사이에 설치된 악성코드는 저장된 연락처 정보를 읽어 외부로 유출하거나 사용자의 스마트폰으로 광고 SMS를 발송하는 등 휴대전화와 PC의 기능을 이용해 다양한 악의적인 행위를 할 수 있다.
이런 유형의 보안 위협에서 벗어나기 위해서는 다음의 사항을 명심해야 한다.
- USB 디버깅 설정은 필요한 경우에만 활성화하고 사용이 완료됐을 때는 반드시 비활성화한다.
- 많은 사람이 사용하는 PC방이나 도서관에서는 PC에 스마트폰을 연결하지 않는다.
- 스마트폰에 앱을 설치할 때는 유명한 마켓을 이용하고, 다운로드한 프로그램을 설치할 때에는 필요한 권한을 반드시 확인한다.
- 비밀번호와 같은 중요한 정보는 되도록 스마트폰 내에 저장하지 않아야 하지만, 꼭 저장해야 할 때는 별도의 프로그램을 이용하여 암호화한다.
- 모바일 백신 프로그램과 같은 보안 앱을 활용해 혹시 모르는 악성 앱의 감염을 예방한다.
출처 : AhnLab