2011년 6월 8일 수요일

스마트폰 해킹 이슈

최근 들어 우연인지 물타기 인지 알 수 없지만, 스마트폰 해킹 이슈가 많이 나오고 있습니다.
모 언론사의 스마트폰 해킹 이슈에 대한 콤보 공격이네요. 사실 개발자 입장에선 좀 이해가 안가는 내용이 포함되어 있지만 주의를 환기시키기에는 좋은 예 같습니다.


스마트폰과 PC의 차이점


별로 차이 없습니다. 둘 다 컴퓨터지요. 정말 세세한 차이를 비집고 들어간다면 용도에 따른 기능 제공의 차이가 있습니다.

물론 일반인들에게 설명하기 어려운 OS의 구조나 SDK로 제공되는 API 까지 포함한다면 굉장한 차이를 설명할 수 있을 것 같지만 말입니다.

기사에서도 언급하고 있지만 일단 둘 다 비슷하기 때문에 해킹이나 악성코드의 위험성 또한 동일하게 존재합니다.

그렇다고 스마트폰과 PC가 완전히 같나


분명 하드웨어적, 그리고 원초적인 OS의 기능 제공 면에서 둘은 큰 차이는 없습니다. 다만, 일반적인 PC의 경우 프로그램이 정보 읽기 쓰기 권한이 스마트폰에 비해 많은 편입니다.

즉 스마트폰의 경우 용도에 맞게 기능이 제공되기 때문에 그에 한정되어서 악성코드 등의 해킹 영역이 좁습니다. 마켓에 올라온 악성코드 이야기 처럼 정상적인 루트로 제공되어서 사용자가 직접 실행시켜서 개인정보가 누출되는 경우를 제외하고는 크게 보안결함을 통해 파고들어오는 악성코드는 거의 없다는 말이지요.

해킹 이슈 - 정상적인(?) 루트


위에서 언급한 마켓에 올라온 악성코드 라는 것이 이 예입니다.

정상적인 루트라는 건, 사용자가 앱을 실행시켜서 앱이 동작하고, 그 앱은 그 앱의 권한에 맞는 모든 정보를 엑세스 할 수 있게 된다는 것을 의미합니다.

이런 것이 문제가 되는 케이스는 바로 개인정보 누출입니다.

안드로이드는 앱에 다양한 권한을 제공 할 수 있습니다. 물론 다양한 개인정보도 엑세스 할 수 있지요. 기사에서 예를 들고 있었던 도청 등은 순정 안드로이드에서도 제공되는 권한으로 구현이 가능한 케이스이지요.

iOS의 경우는 이런 권한을 앱에 주지 않기 때문에 아예 언급되어 있지 않습니다.

하여간, 이런 경우는 악성코드라고 부르기도 민망할 정도로 정상적이어야 할 케이스 입니다만, 개발자가 악의적으로 개인정보를 빼내어서 어딘가로 전송하게 했다면 크게 위험해 지는 건 당연한 겁니다.

해킹 이슈 - 보안결함


일반적인 PC든 스마트폰이든 보안결함이 존재한다면 굉장히 치명적입니다.

일례로, 예전에 아이폰 및 아이패드 등에서 사용하는 iOS에 보안결함이 있어서 이 루트를 이용해 쉽게 탈옥할 수 있었던 적이 있었습니다. 웹브라우저를 통해 특정 문서 뷰어의 보안 결함을 파고 들어서 시스템을 변경하는 방식이었는데 이런 결함은 외부에서 쉽게 침입할 수 있는 것이어서 굉장히 민감했지요. 물론 그래서 금방 고쳐졌습니다. (애플이라 좀 느렸지만 -_-)

이런 보안결함으로 인한 해킹은 굉장히 조심해야 합니다.

해킹 이슈 - 탈옥 및 루팅


스마트폰 탈옥(jailbreak)과 루팅(rooting)은 둘 다 동일한 용어입니다. 관리자(root) 권한을 사용자나 앱이 가질 수 있게 하는 행위를 말하는 것이지요.

이런 탈옥이나 루팅이 존재한다는 건 스마트폰OS에서는 사용자에게 관리자 권한을 일부러 주지 않는다는 것을 말합니다. 바로 보안 때문이지요.

관리자 권한을 가질 수 있게 되면, 특히 앱이 관리자 권한을 가질 수 있게 되면 사용자는 이 앱을 막을 수가 없습니다. 무엇을 어떻게 하든 관리자 권한이 있기 때문에 아무런 저항 없이 스마트폰의 모든 정보를 읽고 쓸 수 있습니다.

제조사 등에서 탈옥이나 루팅을 하지 말라고 하는 이유가 바로 이런 점이지요. 만약 탈옥된 상태에서 출처가 불분명한 앱을 설치했는데 그 앱이 관리자 권한을 요구한다면 반드시 의심해야 합니다.

스마트폰 백신?


기사에서도 언급하고 있는데 백신을 깔아서 미리 위험에 대비하라는 것입니다.

백신? 웃깁니다. 왜냐하면 이야기 했다 싶이 스마트폰OS는 기능을 굉장히 제약해서 사용자 및 앱에게 제공합니다. 일반적인 PC와는 다르게 앱이 정상적으로 엑세스 할 수 있는 영역이 굉장히 제약되어 있다는 의미입니다.

그래서 정상적이라면 스마트폰 백신은 그냥 이름 뿐이고 실제 PC처럼 백신의 역활을 할 수 없습니다. 그저 설치된 앱의 정보를 읽어서 위험도를 측정해서 사용자에게 알려주거나 할 뿐 더 이상의 백신 다운 기능을 제공하기 어렵습니다.

특히 애플의 iOS라면 그 제약은 더 심해서 백신은 아무런 역활을 할 수가 없습니다. iOS디바이스용 백신이 존재하지 않는 이유는 만들 수가 없기 때문이라는 이야기지요.

그래서 스마트폰 백신은 탈옥이나 루팅된 디바이스를 대상으로 할 수 밖에 없습니다. 관리자 권한이 있어야 백신이 백신 답게 동작할 수 있기 때문입니다.

참 어이없지요? 백신을 설치한다는 것은 '보안을 위해서 보안을 해체하라'는 말이니까요.

결론


탈옥이나 루팅은 사용자가 직접 막아놓은 문을 열어버린 셈입니다. 이런 상태에서 해킹을 당했다면 이는 전적으로 사용자의 책임입니다. 막을 수가 없어요. 그러니 가급적이면 순정 상태로 쓰는 것을 추천합니다.

안드로이드는 앱의 권한이 상당히 많습니다. 그래서 순정 상태라도 특정 앱이 사용자의 특정 개인정보를 빼내 가는 것은 기술적으로 충분히 가능합니다. 앱을 설치할 때 사용자에게 알려주는 앱의 권한을 자세히 살펴보고 지나치게 많은 권한을 요구하는 경우 가급적 설치하지 않는 편이 안전합니다.

iOS의 경우, 탈옥하지 않고 정상적인 앱스토어를 이용해 앱을 다운받아 쓰는 경우라면 99% 믿어도 됩니다. 1%라는 것을 남겨놓긴 했지만, 보안결함이 발견되지 않고 앱스토어 심사위원들이 농땡이(?) 피우지 않는 이상 앱스토어에 악성코드는 올라올 수 없습니다.

최근 글

문재인 정부가 경제를 죽인다는 황교안

연일 보수세력의 현 정부 공격이 계속되고 있다. 특히 소득주도성장은 처음부터 끝까지 물고 늘어지고 있는 먹이감(?)으로 보이나보다. 이번 글도 이 내용의 연장선으로, 아래 기사에서 출발한다. "문재인 정권이 자유시장 경제를 망가뜨리고 있...

일주일간 인기글