문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Android/문제점 (문단 편집) ==== 악성 코드가 내장된 애플리케이션 ==== 무단 수정이 쉬워서 정상적인 앱에 크랙을 설치할 수 있다.[* 대표적인 예로 게임의 아이템 언락, 광고 블럭 등] 또한 구조를 분석하여 해킹하기도 쉽다.[* apk 추출한 다음에 압축 프로그램으로 apk파일을 연 다음 classes.dex 파일을 분석하면 코드를 대략 알 수 있다. dex2jar과 jd-gui를 이용해서 코드를 분석한 뒤, 우회 방법을 찾아내서 classes.dex를 디컴파일한 smali 파일들을 수정해서 apktool로 다시 apk파일로 만들면 끝. 자신이 코드를 분석할 수 있고, apk파일을 구할 수만 있다면 유료 앱의 구매 검증 과정을 우회해서 사용하는 것까지 가능하다.] 그리고 정상적인 앱에서 이미지 같은 리소스를 빼내 가짜 앱에 집어넣어 진짜 앱처럼 위장하기도 쉽다. 당연히도 짝퉁 애플리케이션은 개인정보 유출 용도로 이용되는 경우가 많다. 좀 더 대담한 경우는, 정상적인 앱을 복제한 후 악성 코드를 심은 후 재배포하는 '''앱 리패키징''' 행위. 그래서 안드로이드에선 애플리케이션을 다운받기 전에 권한을 확인해볼 것이 권고된다. 애플리케이션의 기능에 비해 너무 많은 권한이 부여되어 있으면[* 구글이 이 부분에 대해 조금 더 적극적인 대처만 하더라도 상당한 개선이 될 수 있다고 보는 시각이 있다. 예를 들면 운영 체제 측면에서 앱이 사용하지도 않는 권한을 너무 많이 요청하면 주의 문구나 안내 문구를 앱 실행할 때마다 보이게 한다든지. 실제로 마시멜로부터는 앱에서 민감한 권한을 요구할 경우 무조건 사용자의 허가를 받도록 변경되면서 좀 나아졌다. 문제는 허가 내리는 사용자가 [[컴맹|'''무슨 일이 일어나는지 모르고''']] [[예스맨|'''설치하는 때가 많다''']]는 것.] 대부분은 개인 정보 유출이다.[* 애플리케이션의 권한 문제는 Apple처럼 권한을 일부만 승인해주는 방식을 쓰면 되나 구글은 이것을 적용하지 않았다. 안 깔거나 깔거나 둘 중 하나다.] 앱 옵스라는 선택적 권한 조작 기능으로 보안이 향상될 줄 알았으나, 이 기능을 구글 내부 디버깅 용도로 사용했으며 유저를 위한 기능이 아니라고 한다. 심지어 개발자 옵션에서도 접근할 수 없다. 4.4.2 버전부터는 사용할 수 없도록 변경했다. [[http://bbs2.ruliweb.daum.net/gaia/do/ruliweb/default/mobile/55/read?articleId=1268005&bbsId=G003&itemGroupId=2&pageIndex=1|링크]] 2015년 6월, 구글이 새로운 개발자 버전인 M 개발자 버전을 발표하면서 차기 버전에는 앱 권한은 8개 카테고리로 나눠 분류하고, 이 권한은 앱을 설치할 때 일괄적으로 동의하는 것이 아니라, 권한을 처음 사용할 때 선택적으로 켜고 끌 수 있도록 할 것이라고 한다. 6.0 마시멜로 버전인 경우 앱별로 권한을 설정할 수 있도록 요청하지만, 앱 개발사가 권한별로 유기적으로 동작하도록 재설계하는 과정이 필요하며, 그렇지 않으면 이전 버전의 Android로 설계되었다며 대부분의 권한을 요구하고 있는 상황. 다만, MIUI같은 제조사의 커스텀 안드로이드는 앱이 요구하는 권한을 선택적으로 부과할 수 있게 해놓았다. 이처럼 아무 데서나 앱을 올리고 아무 데서나 받을 수 있고 받은 다음 또 아무 데서나 수정, 재배포가 가능하다는 게 문제라는 것은 다들 지적하는 부분이다. 정말 안타까운 부분은 이게 누가 강요해서 그러는 것이 아니라 사람들이 그렇게 주어진 시스템 안에서 자발적으로 그렇게 행동하고 있다는 것이 문제. 이러한 문제를 인식해서인지 일부 안드로이드 폰에는 Google Play 외의 다른 스토어에서 다운받은 애플리케이션의 설치를 차단하는 기능[* 보안 메뉴에서 설정/해제할 수 있다]이 있다. 그러나 안드로이드의 경우 "아무데서나 앱 다운받을 수 있지?"라는 마인드가 이미 깊게 박혀서, 기업들도 Google Play에 굳이 앱을 올리지 않을 때가 있다. 대표적인 게 각종 은행 앱과 네이버 앱스토어 같은 서드파티 앱스토어들. 그래서 웬만한 소비자들은 그냥 저 설정을 무시하는 경우가 다수. 그런데 문제는 '''Google Play이라고 믿을 수 있는 게 아니라는 것'''이다. App Store와 같은 사전 검수가 아닌 사후 검수이기 때문에 앱이 퍼지는 걸 막는 것은 한계가 있다. 특히 단기간에 치고 빠지는 사기 결제 앱은 잡을 수가 없다. 2013년 8월 보안 회사인 트렌드 마이크로는 '''Google Play에 약 70만 개가 넘는 악성코드가 있다'''고 발표했다. [[http://www.itdaily.kr/atl/view.asp?a_id=42730|요약기사]] [[http://www.trendmicro.com.au/cloud-content/au/pdfs/security-intelligence/reports/rpt-2q-2013-trendlabs-security-roundup.pdf|트렌드 마이크로 발표 원문]] 구글 측에서는 평점, 사용자 수, 사용 후기를 통해 악성 앱을 피할 수 있다고 주장하지만, 아래쪽 사례를 보면 말도 안 되는 소리라는 것을 알 수 있다. 개발자 신뢰 검증 및 인증 기관이 없다. 윈도우나 mac은 verisign과 같은 인증 기관의 인증서가 없으면 프로그램 실행할 때 경고한다. 인터넷도 https 연결할 때 verisign과 같은 인증기관의 인증서가 없으면 경고를 띄운다. 하지만 안드로이드에는 이런 기능이 없다. 신뢰할 수 없는 출처 차단은 단지 Google Play에서 다운로드받은 것을 제외한 나머지를 차단하는 기능일 뿐이다. Google Play의 빈약한 보안 시스템은 믿을 것이 못 된다. Google Play에 평점이 백만 개가 넘고 1억 다운로드가 넘어도 안심할 수 없다. '''평가자 7백만 명, 다운로드 수 1억 이상의 믿을만한 [[페이스북]]앱은 사용자 몰래 전화번호를 빼돌리는 행위를 하다 걸렸다.''' [[http://www.clien.net/cs2/bbs/board.php?bo_table=news&wr_id=1639639|페북 기사]] [[http://www.symantec.com/connect/blogs/norton-mobile-insight-discovers-facebook-privacy-leak|보안업체 발표]] 2013년 12월에는 더욱 노골적인 악성 앱이 등장했다. 바로 [[https://play.google.com/store/apps/details?id=goldenshorestechnologies.brightestflashlight.free|손전등 앱]]인데 사용자의 위치 정보를 무단으로 전송하는 행위를 하다가 미국 연방거래위원회(FTC)에 적발되었다. 앱에는 '개인 정보 공유 불가'를 택하는 항목이 있었지만, 실제 이 선택 기능은 함정이었고 사측은 고객 의사와 관계없이 사생활 정보를 외부에 유출했다고 FTC는 강조했다.[[http://clien.net/cs2/bbs/board.php?bo_table=news&wr_id=1733868|손전등 악성앱 기사]] 대놓고 악질적이다. 유료 앱도 믿을 수 없다. 한 안티바이러스 앱은 다운로드 1만 이상 평점 4.7을 받았지만 실제로는 악성 코드를 심었다. 유료 앱은 사용자가 안심한다는 특성을 이용해 역으로 악성 코드를 배포했다. [[http://m.media.daum.net/m/media/digital/newsview/20140408090715539|관련 기사]] 구글은 이러한 문제를 해결하기 위해 바운서라는 일종의 [[백신]]을 Google Play에 내장했으나 한계가 있으며 이마저도 쉽게 우회되고 있다.[* 소프트웨어를 통한 자동화 방식이어서 해커가 우회 방법을 찾기 쉽다. 구글 눈에만 보이지 않으면 지속적으로 피해를 입힐 수 있다.] [[http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120606140242|바운서 우회 기사]] 구글뿐만이 아니라 다른 기업들도 휴대폰용 백신을 출시한 상황. 그러나 PC와 마찬가지로 웬만한 소비자들은 백신에 대해 별 관심이 없고 더욱이 "휴대폰에 백신을 설치해야 한다."라는 관념은 더더욱 박혀있지 않다. 백신을 깔더라도 휴대폰의 배터리나 메모리 등 하드웨어적 한계로 인하여 웬만한 백신 앱은 백그라운드 작업이 제한된다. 결국, 백신이 항상 작동하는 것이 아니므로 한계가 있다. F-Secure의 리포트에 따르면 스마트폰 [[악성 코드]]의 96%는 안드로이드용이다. 또한 전체 안드로이드 스마트폰 중 79%가 악성코드에 위협받고 있다. 사실상 안드로이드 기기는 PC처럼 관리해야 하며, 그래야만 보안에 있어 조금이나마 덜 위험해진다. 모든 운영 체제는 보안상의 취약점이 있으며 이러한 취약점은 패치하지 않으면 해킹에 악용되고 피해가 발생한다. 안드로이드는 배포 구조상 보안 패치가 매우 힘들다.[* 구글에서 AOSP(원본 안드로이드)를 배포하면 그것을 제조사에서 가져다가 개조하는 구조. 새 버전이 나오려면 구글 - 제조사 순으로 2단계 이상 거쳐야 한다.] 구글에서 보안 패치를 발표해도 제조사에서 개조한 운영 체제에 맞게 적용하는 작업을 하지 않는 경우가 많다. 주로 업데이트가 끊긴 기종에 해당한다. 보안 문제에 대한 무지는 "안드로이드 = 리눅스 기반, 리눅스 = 바이러스엔 철벽"이라는 오해에서 보인다. 리눅스는 사용하는 사람이 최소한 관련 전공자인 경우가 다수이기에 보안의 허점이 있더라도 유저의 수준이 높으므로 어느 정도 자가복구/예방을 하고 있기는 하나 Windows는 사용자가 매우 많고 사용하는 유저의 수준이 대체로 낮아서 그만큼 보안 문제가 자주 터지는 것이다. 안드로이드도 이와 비슷한 맥락이다. 또 한 가지 일반적인 리눅스와 안드로이드의 보안성 차이는 업데이트 주기 차이에서 오는 것으로 볼 수 있다. 리눅스는 활발한 프로젝트라면 알아서 새 버전에 맞춰 따라오라는 식이라 업데이트 주기가 매우 빠르다. 물론 패치하고는 나몰라라 하는 건 아니지만 적어도 안드로이드보단 부담이 적다. 반면, 상업용 성격이 강한 안드로이드는 사소한 거라도 뭔가 하나 건드렸다가 호환성 문제가 생겨 어딘가 삐걱대면 대책이 없어지므로 쉽게 건드리질 못한다. 리눅스에서는 오픈 소스라는 특징이 빠른 업데이트로 이어져 긍정적인 작용을 하지만, 안드로이드에서는 취약점 공개가 되어 오히려 독이 되는 셈.[* 이전 판에서 오픈 소스이면서 보안이 강한 예로 SELinux가 언급되었는데 안드로이드에는 이미 SELinux가 적용되어 있다.] 게다가, 구글에서 아무리 빠르게 대처를 한다고 해도 파편화 문제가 남아있는 한 제조사에서 또다시 최적화 과정을 거쳐야 한다는 것도 문제이다. 더욱이 어중간한 헛똑똑이들 때문에 루팅에 쓰이는 취약점을 막을 때마다 오히려 욕을 먹는 일도 있는 판이니(...) 그렇다고 버전 업만 잘하면 보안에 문제가 없는 것은 아니다. 일부 저가형 제품은 안드로이드 최신 버전을 적용해도 보안 취약점이 넘쳐났다. 어떤 제품은 롤리팝 배포되기 직전에 가장 최신 버전인 킷캣 4.4.0이 탑재되어 있지만, 보안 구멍이 너무 커서 등급을 도저히 매길 수가 없었다. 저가형이나 유명하지 않은 물건들은 거의 다 보안 부적합 판정을 받았다.[[http://www.itworld.co.kr/news/90751|테스트 기사]] 안드로이드 유저들은 '사용자가 많아서 이런 사례가 많은 것이다.'등의 변명을 하고 있지만 몇 가지 반박을 할 수 있다. 통계와 자료에 따르면[* [[http://kwang82.hankyung.com/2013/04/blog-post_6.html|미국 점유율 자료]], [[http://kwang82.hankyung.com/2013/09/blog-post_25.html|일본 스마트폰 판매 순위]]] 미국과 일본에서 iPhone의 사용자 수와 점유율은 전혀 낮지 않다. 그리고 iPhone 사용자는 대체로 구매력이 크다. 즉, 해커에게 충분히 매력적인 타겟이다. 하지만 보안업체 통계에 따르면 '''악성코드가 안드로이드만 노리고 있다.''' [[http://www.bloter.net/archives/178669|시스코, 악성코드 99% 안드로이드용]] 사용자가 많아서 공격을 받는 것이라면 iPhone 사용자가 많은 일본이나 미국에서 iPhone용 악성코드가 보여야 하는데 안드로이드용 악성코드만 99%이다. Apple은 사전 검열 방식이라 통계가 왜곡됐다는 주장도 있지만 여기서 말하는 악성코드는 앱, 웹(운영 체제 취약점)까지 모두 포함한 것이다. 이 문제를 극복하기 위한 목적으로 [[삼성전자]]에서는 [[삼성 KNOX|삼성 Knox]]라는 보안 솔루션을 개발해 자사 단말기에 탑재했다. [[삼성 KNOX|삼성 Knox]]는 안드로이드에 통상 모드와 KNOX 모드를 따로 제공하는데[* 거의 따로 논다고 할 정도로 독립적이다.], KNOX 모드에서는 모든 작업 및 활동이 암호화되며 KNOX 전용 스토어의 앱만 사용할 수 있다. 그러나 현재 일반 사용자가 쓰기에는 KNOX용 스토어의 앱이 너무 적은데다, '''결정적으로 이 솔루션이 루팅과 롬질, 커널 교체 등을 매우 어렵게 하고 있어서 헤비 유저들에게 까이고 있다.''' 물론 KNOX 이전에도 이미 기업용 커스텀 안드로이드 보안 솔루션은 존재했다. KNOX는 이를 일반 제품으로 확대했다는 의의가 있긴 한데, 이게 삼성 제품에 기본적으로 깔려 나오다시피 하니 일반 소비자에게 사실상 강요를 하는 것처럼 된다는 게 문제이다. 더 큰 문제는 KNOX가 사실상 무의미하다는 점이다. 요즘 유행하는 안드로이드 보안 위협은 SU[* 슈퍼유저, 다시 말해 루트권한]권한 없이 AOSP의 취약점만 노린다. 하지만 KNOX는 취약점을 못 막는다. KNOX가 부팅 중에는 SU를 비롯한 거의 모든 명령어 바이너리의 실행 통제와 /data 파티션 안의 명령어 바이너리가 시스템 권한 없이 시스템을 건드리는 것을 막는 일을 하는데 단순 정보 탈취나 앱 제어는 이 두 가지가 모두 필요없다. 그런가 하면 국가 정보 기관이나 경찰 등의 감시로부터도 매우 취약하다. 단적인 예로, 2014년 8월에 워싱턴 포스트는 감마그룹에서 유출된 내부 문서를 근거로 감마그룹이 정보 기관에 제공하는 휴대폰 도감청 프로그램인 FinSpy에 대해 기사를 썼다. 유출된 문서에 따르면 이 프로그램은 안드로이드, 블랙베리(7.1이하), iOS(탈옥), 심비안 Windows Mobile 기기에서 전화번호부나 통화 내용, 문자 메시지를 모두 엿볼 수 있으며, 심지어 '''[[텔레스크린|기기의 마이크를 몰래 켜서 주변 소리를 엿들을 수도 있다]]'''. 여기서 안드로이드는 완전 구버전인 2.xx부터 시작해서 가장 최신 버전인 4.4x까지 모두 지원 대상이 됨에 따라, 모든 모바일 운영 체제중 가장 광범위하게 털리는 취약성을 드러냈다. 참고로 이 프로그램이 지원하지 않는, 즉 도·감청할 수 없는 운영 체제는 순정 iOS와 윈도 폰 운영 체제, [[블랙베리 OS 10]] 세 개뿐인데, 윈도폰 운영 체제는 '아직 지원하지 않음'이라고 쓰여 있어서 미래엔 지원할 수도 있다. 더욱이 블랙베리 OS 7은 블랙베리 OS 10과는 완전히 다른 물건이다. ([[http://www.bloter.net/archives/202671|출처 기사]])저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기