Mafia의 진실
Mafia의 진실 2010.02.10

낚시성 제목에 방문하신 분께는 죄송합니다. 이 글은 오래전부터 twitter 사용자들을 대상으로 퍼져나가고 있는 'Mobster world'라는 온라인 MMORPG 게임과 관련된 글입니다. 트위터 사용자 분들 중에는 위와 유..

iPhoto 슬라이드 쇼

트위터에 질문이 하나 올라와 짧게 작성해봤습니다. iPhoto에서 슬라이드 쇼 생성하는 방법입니다. 1. 먼저 사진 메뉴에서 슬라이드 쇼에 추가할 사진을 선택합니다. 사진 선택은 Command 키와 마우스를 이용합니다. 2...

노키아에서 동작하는 Mac OS X 10.3

핀란드에 사는 Toni Nikkanen이라는 분이 자신의 Nokia N900 모델에 Mac OS 10.3 Panther를 설치하고 실행시키는데 성공했다고 합니다. Toni의 블로그에 가보니 Mac OS X 말고도 Windows..

사용자 삽입 이미지
출판사 : Addison Wesley Professional 
저자: Kevvie Fowler 

기업의 핵심 정보 자산의 20% 정도는 DBMS에 존재한다는 연구 결과를 본 적이 있습니다. 이 통계 정보를 뒷받침하려는 듯, 최근의 침해 사고는 DBMS와 매우 깊은 연관을 가지고 있습니다. 물론 그 만큼 DBMS 포렌식에 대한 니즈가 증가하고 있는 것도 사실입니다. DBMS는 포렌직은 디지털 포렌식 분야 중에서도 아직 새로운 분야 중 하나로 구체적인 기술이 논의된지가 채 몇년 되지 않습니다. 소개하는 책의 저자는 DBMS 포렌직을 리딩하는 전문가로 BlackHat을 통해 DBMS 포렌식 기술을 공개하여 많은 주목을 받은 바 있습니다. 이 책에서는 DBMS에 대한 기본적인 내용과 Plan Cache, Data Cache, Virtual Log File등 DBMS의 주요 artifact들에 대한 소개와 더불어 실제 이를 수집하기 위한 절차, 방법, 관련 SQL script등을 다루고 있습니다. 또한 수집한 정보를 바탕으로 사용자 activity를 재구성하고 삭제된 DB 정보를 복구하는 기술 등 DBMS 포렌직의 핵심 지식들을 사례를 통해 잘 설명하고 있습니다. DBMS 포렌직 기술이 더 발전하게 된다하더라도 이 책은 고전이 될 만한 매우 훌륭한 서적임은 아무도 부인할 수 없을 것입니다. 포렌식을 하시는 분이라면 반드시 정독을 하셔야 할 필독서로 강력하게 추천합니다.
Posted by zesrever
사용자 삽입 이미지
최근 NSHC하우리가 아이폰용 백신 '바이로봇 산네'를 공동 개발하였다는 발표가 있었습니다. 하지만 이를 두고 시선이 곱지 않은 모양입니다. 그래서인지 며칠 뒤에 발표된 안철수 연구소 아이폰, 안드로이드폰 백신 출시 예정 소식은 '백신'이라는 용어대신 '보안 솔루션'이라는 용어를 사용하더군요. 어쨌든, 지난 며칠간 언론이나 인터넷 상의 게시판, 카페, 트위터등 다양한 정보 유통 채널에서 백신 개발 사실을 일종의 해프닝으로 간주하고 개발 성공 사실에 대한 의구심을 보인 글들이 많이 퍼져나갔습니다. 심지어 '아이폰에서는 백신이 필요없다','Jail Breaking을 하지 않고 정상적으로 사용한다면 악성 코드에 감염될 일이 없다'라는 다소 우려되는 의견까지 등장하기에 이르렀습니다. 이러한 현상에 대해 언론에서는 '논란'이라는 표현을 사용했습니다만, 사실 '논란'이라고 보기에는 의견들이 너무 편중되어 있는 것 같습니다. 아이폰용 백신 개발 성공의 진위 여부나 상품성등은 제가 이야기하기 어려운 부분이어서 논하지 않겠습니다. 다만 이번 사건을 통해 아이폰의 보안에 대한 지나친 맹신이 퍼져나가는 것 같은 우려에서 몇 가지 잘못알려진 또는 함께 고민해볼만한 사실들을 이야기하려 합니다. 이 글에서는 아이폰용 백신 논란의 핵심 중 하나인 아이폰의 악성코드 감염 가능성대한 이야기를 해볼까 합니다. 이어지는 글에서는 'iPhone 백신 기술적으로 가능한가?'를 주제로 이야기하도록 하겠습니다.

Jailbreaking을 하지 않은 아이폰(순정폰)은 악성코드에 감염되지 않는다.
많은 분들이 '아이폰에 설치된 애플리케이션들은 sandbox 환경에서 동작한다'는 사실을 아이폰 백신 무용론의 핵심 근거로 언급하고 있습니다. 이는 곧 아이폰 OS 보안 모델의 핵심인 sandbox 기술이 완벽에 가까워 우회할 수 없다는 인식에서 비롯된 것으로 보입니다. Sandbox 기술은 보안 분야에서 널리 사용되는 기술로 다양한 유형이 존재합니다. 아이폰의 경우 sandbox 유형 중 하나인 Jail system이라는 것을 사용하고 있습니다. Jail system이란 실행되는 프로그램이 접근할 수 있는 자원을 커널 수준에서 제약하는 기술입니다. 아이폰 OS의 경우 애플리케이션들이 시스템의 중요한 파일이나 다른 애플리케이션이 사용하는 디렉토리 및 파일, 그리고 허가받지 않는 방법으로 GPS나 카메라, 마이크로 폰등 주요 디바이스에 접근하지 못하도록 차단하고 있습니다. 그렇기 때문에 sandbox의 무결함이 보장된다면 악성코드가 다른 프로그램에 의해 저장된 정보를 읽어내거나 주요 디바이스에 접근하여 다양한 악의적인 활동을 벌일 수 없다는 주장은 인정할 만한 근거를 충분히 가지고 있습니다.

네. 아이폰에서 구현한 sandbox 기술이 완벽해야 가능한 일입니다. 하지만 불행하게도 사실은 그렇지 않습니다. 아이폰 OS는 많은 분들이 생각하시는 것처럼 보안상 완벽한 운영체제가 아닙니다.

2009년, Mac OS와 아이폰 보안 분야에서 권위를 인정받고 있는 Charlie Miller는 세계적인 보안 컨퍼런스 중 하나인 SyScan conferenceBlackHat 2009에서 아이폰의 SMS 취약점을 공개한 바 있습니다. 다음은 취약점과 관련하여 Charlie Miller가 밝힌 내용 중 일부입니다.


"a hole that would let attackers “run software code on the phone that is sent by SMS over a mobile operator’s network in order to monitor the location of the phone using GPS, turn on the phone’s microphone to eavesdrop on conversations, or make the phone join a distributed denial of service attack or a botnet.”

Charlie Miller의 이야기를 풀어 설명하자면 공격자가 전송한 문자메시지(SMS)를 열어보는 것만으로 악성 코드에 감염될 수 있는 가능성이 있으며, 실행된 악성코드는 GPS에 접근하여 사용자의 위치 정보를 공격자에게 전송하거나, 아이폰의 마이크로폰을 활성화시켜 대화 내용을 도청할 수도 있고 봇넷을 구성하여 DDoS 공격등을 수행할 수 있다는 것이지요. 물론 이 모든 것은 아이폰의 sandbox를 우회하여 이루어지는 일입니다.Charlie의 발표와 관련하여 해외 언론에 소개된 기사 중 일부와 Charile Miller의 인터뷰 동영상을 링크해 두겠습니다.

아이폰 SMS 취약점에 대한 Charlie Miller 인터뷰 동영상
Forbes에 실린 iphone SMS 취약점과 관련된 기사
iPhones Vulnerable to SMS Hackers
Apple Patching Serious SMS Vulnerability on iPhone - Mac World

iPhone의 SMS 취약점은 가장 최근 사례라 예로 든 것일뿐 iPhone 취약점이 이것 하나만 존재하는 것은 아닙니다. 2007년 첫번째 취약점이 발견된 이후로 매해 취약점이 보고되어 2010년 현재 '보고된 건만' 10여건에 달합니다. 하나씩 링크를 걸어드렸으면 하지만 구글 검색해보시면 어렵지 않게 관련 기사들을 찾을 수 있어, 생략토록 하겠습니다.

여담입니다만, 아이폰 사용자들이 Jailbreaking을 하지 않는 경우 안전하다고 인식하게 된 계기는 아마도 Ikee worm과 관련된 기사와 이에 대해 온라인 커뮤니티 및 블로그에 올라온 글 때문인듯 합니다. Ikee worm은 실제 감염 사례를 가진 아이폰 최초의 악성 코드로 jailbreaking된 아이폰의 ssh 서비스를 이용하여 감염되기 때문입니다. Ikee worm이나 비슷한 감염 방식을 가진 악성 코드라면 당연히 순정폰은 안전하겠습니다만, 이것을 순정폰은 안전하다는 식으로 일반화 시키는 것은 논리적으로 옳지 않습니다.

보안 취약점이 있다하더라도 패치되면 안전하다.
Apple은 발견된 보안 취약점을 신속하게 패치하였고 앞으로도 그럴 것이다?
위의 링크된 마지막 기사의 내용처럼 애플은 '신속하게' 취약점을 패치하였습니다. 이를 두고 몇 몇 분은 아이폰 OS가 완벽하지는 않더라도 애플이 신속하게 패치하였다 (그래서 앞으로도 그럴 것이고)는 사실을 강조하기도 하고 또 그만큼 아이폰은 안전한 OS이다(?)라고도 이야기하기도 합니다. 이는 취약점 연구자들의 가지고 있는 직업 윤리관이나 그들이 따르는 취약점 발표 절차등을 알지 못해서 생기는 오해입니다. 일반인들에게 소위 '화이트 해커(이는 WhiteHat을 임의대로 잘못 번역하여 사용하고 있는 용어입니다)'로 알려져있는 선의의 취약점 연구자들은 취약점을 발견한 후 이를 바로 발표하는 것이 윤리적으로 옳지 못하다고 생각하고 있습니다. 선의를 가진 연구 결과가 악용되어 피해자가 생겨날 수 있기 때문입니다. 그래서 취약점을 발견하면 먼저 해당 벤더사에게 사실을 알려 패치할 시간을 준 후에 패치가 발표된 후 또는 발표되는 시점에서 취약점 발견 사실을 공표하게 됩니다. iPhone의 SMS의 취약점의 경우에도 Charlie Miller가 Apple사에 먼저 취약점 발견 사실을 알려 Apple이 이를 패치한 것입니다. 하지만 블랙마켓에서 활동하고 있는 또 다른 '해커'들은 그렇지 않습니다. 금전적 이득을 기대하는 그들은 절대로 발견한 취약점을 발표하지 않습니다. 이 경우에는 실제 피해자가 발생하고 사건이 인지되기 전까지 패치가 이루어질 수 없습니다. 또한 알려지진 않은 취약점에 대한 피해 사실이 인지되어 패치를 한다 하더라도 기술적인 난이도와 안정성 테스트 등 여러가지 절차 상의 이유 때문에, 패치가 발표되기 까지는 짧으면 하루에서 길면 수 주일까지 소요되는 것이 일반적인 상황입니다. 더구나 패치가 발표되었다 하더라도 사회적인 이슈가 아닌 이상 사용자가 패치를 매일 확인할 수 없고, 자동 업데이트 시스템도 패치가 발표된 즉시 패치를 다운로드 받아 설치하는 것은 아니기때문에 악성코드로 인한 피해 위협에 노출되는 시간이 그 만큼 길어지게 됩니다. 그러면 취약점을 이용하여 전파되는 악성코드는 존재하고 패치는 아직 릴리즈되지 않은 상황에서 사용자들은 어떻게 해야합니까? 백신이 이러한 경우에 도움이 될 수 있습니다. 일반적으로 악성 코드를 탐지하기 위한 시그너처를 추출하여 배포하는 것은 취약점 부분을 보완하기 위한 패치를 개발하고 배포하는 것보다 기술적인 난이도가 낮고, 고려해야 할 사항이 적어서 보다 신속하게 이루어집니다. 패치가 발표되기 전까지 백신이 악성코드로 부터 시스템을 보호해 줄 수 있는 것입니다.


아이폰에서 발견된 취약점의 개수가 적다? 그래서 가장 안전한 OS이다.
취약점의 개수가 적고 많음이 중요한 문제가 아닙니다. 어떠한 취약점이 발견되었다는 것은 그와 유사한 또 다른 취약점이 어딘가에 발견되지 않은 채 남아있을 수 있다는 가능성의 문제로 받아들여져야 합니다.
위의 이야기에 동의하지 않는다 하더라도 '발견된 취약점 개수가 적다 = 보다 안전하다'로 받아들이는 것은 논리적인 오류를 포함하고 있습니다. 예를 들어 윈도우의 취약점과 Mac OS의 취약점 개수를 통해 OS의 상대적인 안전성을 평가하고자 한다면, 정확하게 동일한 기술력을 보유한 전문 인력을 정확하게 동일한 시간동안 투입하여 취약점을 찾도록한 후 발견되는 취약점의 개수를 가지고 판단을 해야 할 것입니다. 윈도우에 1000명의 인력을 투입하고 Mac OS에 10명의 인력을 투입한 후 발견되는 취약점의 수를 가지고 판단해서는 안될 일이지요. 그런데 현실은 그렇지 않습니다. 동일한 비용을 투자한다면 보다 파급효과가 크거나 보다 큰 이익을 기대할 수 있는 분야에 투자하는 것이 상식입니다. 이러한 상식은 당연히 보안 분야에서도 그대로 적용됩니다. 실제로 전 세계적으로 윈도우 사용자가 압도적으로 많기 때문에 취약점을 연구하는 사람들도 대부분 윈도우 취약점을 연구합니다. 취약점의 개수로 논할 일이 아니지요. 얼마나 많은 사람이 연구하고 있는지 등에 대한 이야기를 쏙 빼고, 단지 결과로 보이는 취약점의 개수만 노출시키는 것은 일부 언론에서 보여준 '빵꾸똥꾸'같은 수법과 다를게 뭡니까?

설령 iPhone OS가 세상에서 제일 안전한 운영체제라 하더라도 그 사실이 백신 무용론을 펼만한 근거는 되지 않습니다. 완벽을 100% 보장할 수 없다면 취약점 존재 가능성을 인정하고 이에 적극적으로 대응하는 자세가 필요합니다.

악성코드 유포 가능 경로 중 하나 : 앱스토어
앱스토어에 올라가는 프로그램은 철저하게 검사하기 때문에 앱스토어를 통해서 악성코드가 배포될 가능성이 적다?
와우. 놀라움을 금할 수가 없습니다. 과연 앱스토어에 올라가는 프로그램들이 기술적으로 어떠한 테스트를 거쳤는지에 대해서, 그리고 그 테스트가 기술적으로 시스템의 안전함을 담보할 만큼 충분한 것이었는지에 대해서 알고있다는 이야기 같습니다. 내부 직원이 아니고서야 힘들지 않겠습니까. 물론 저 역시 그 절차나 행해지는 테스트에 대해서 정확하게 알지는 못합니다만, 다음과 같은 짐작은 하고 있습니다.
일반적으로 어떠한 프로그램이 악의적인 기능을 가지고 있는지는 프로그램의 소스 코드를 분석하지 않고서는 완벽하게 알아낼 수 없습니다. 현재 앱스토어에 프로그램을 등록 신청할 때 소스 코드를 보내지 않는 것으로 알고 있습니다. 사실이 그렇다면 프로그램이 악의적인 기능을 가지고 있는지를 확인하기 위해서는 기술적으로 리버스 엔지니어링이라는 것을 수행해야 합니다. 설령 소스코드를 본다 하더라도 전세계에서 올라오는 수많은 애플리케이션의 소스 코드를 일일히 분석하기도 어려울 뿐더러 리버싱을 통해서 분석한다면 소스 코드를 분석하는 것보다 몇 배는 더 많은 시간이 필요합니다. 게다가 소스코드 분석이나 리버싱은 자동화하기에도 어려운 점이 많습니다. 현실적으로 쉽지 않다는 것이지요. 그렇다면 남은 최소한의 방법은 실제 프로그램을 동작시켜 프로그램의 행동을 모니터링하는 방법인데, 이 방법의 경우 특정 조건하에서만 악의적인 기능이 동작하도록 구현되어 있는 프로그램을 100% 발견하여 차단하기가 어렵습니다. 최근 안드로이드 마켓에서 인터넷뱅킹 애플리케이션으로 위장한 악성코드가 등록되었다 제거된 사건(안드로이드 마켓은 앱스토어와 달리 검증정을 거치지 않는 다는 김기창 교수님의 지적이 있었습니다. 감사합니다.)도 이와 같은 가능성을 보여주는 사례라 할 수 있습니다. 물론 이러한 고민은 Apple도 충분히 했을 것이라 여겨지며 그래서 sandbox를 통해 애플리케이션을 철저하게 분리시키고, 지정된 방법으로만 시스템 자원에 접근할 수 있도록 제한을 둔 것이겠지요. 어찌되었든 앱스토어의 등록 절차는 앞으로도 더욱 철저해지기를 바라고 요구해야 할 사안이지, 근거없이 절대적으로 신뢰할 대상은 아닌 것 같습니다.


이승기가 부릅니다. '그래서 어쩌라고?'
애플은 전통적으로 많은 매니아층의 절대적인 지지를 받아온 회사입니다. 세계 최초로 마우스를 선보인 것도 애플이고, 다른 OS에서 맛볼 수 없었던 혁신적인 UI를 선보인 곳도, 아이팟과 아이튠스를 통해 세상을 놀라게했던 곳도, 앱스토어라는 새로운 비지니스 모델을 통해 본격적인 스마트폰의 시대를 열어 간 것도 애플입니다. 그들이 말하는 '해적'처럼 이미 누군가가 자리잡고 있는 영역을 새롭게 해석하여 시장을 재편하는 그 거침없는 도전 정신과 'Think Different'로 축약되는 혁신적인 모습, 스티브 잡스의 지나칠 만큼의 완벽주의는 애플이 상품을 파는 회사가 아니라 이미지를 파는 회사가 되도록 하였습니다. 하지만 그 '이미지'가 우리들의 개인정보를 보호해 주지는 않습니다. 사랑하더라도 아닌 것은 아닌 것이지요. 맹목적으로 믿을 것이 아니라 보다 확실한 근거를 가지고 정확하게 판단하였으면 하는 바램입니다.

NSHC 측에서도 간과한 몇 가지가 있다는 점은 사실이지만 (이에 대해서는 다음 글에서 이야기해보겠습니다), 우리의 오해 때문에 어처구니 없는 생각을 하는 회사, 국제적인 망신을 준 회사라는 참으로 송구한 오명을 뒤집어 쓰게 된 것이 과연 올바른 일이었는지 되묻고 싶습니다. 과거 그 어느 때보다 정보 유통 채널이 다양하고 유통 속도 또한 빨라진 지금, 내 말 한마디에, 또한 숙고없이 무작정 베껴날랐던 나의 행동 하나에 열정과 패기로 버텨온 어느 회사의 수많은 밤이 허무하게 날아가버릴 수도 있음을 우리는 알아야 합니다. 전문가의 전문 영역에 대해 비판하기 위해서는 비판에 필요한 충분한 지식을 가져야 하는게 상대방에 대한 최소한의 예의가 아닐까 싶습니다.


글을 맺으며
0. 밤샘 작업하다 잠깐 쓰고 일하려고 했는데 벌써 아침이네요. 할말이 많았나 봅니다. 사실 저도 아이폰 사용자이고, 제 노트북도 Mac 북입니다. 제 MP3도 아이팟이고, 데스크탑도 여유만 된다면 iMac을 사용하고 싶어할 정도로 애플 제품을 좋아합니다. 보안 분야에 몸담고 있지만 애플 제품을 좋아하는 이유가 보안상 안전하기 때문은 아닙니다. 오히려 어떤 측면에서는 Mac OS가 윈도우보다 해킹하기가 더 쉬운 OS라고 생각하고 있습니다.
1. 제 글에 대한 기술적인 토의는 언제든지 환영입니다. 부족한 점이 있다면 날카롭게 지적해 주세요. 실시간 토의를 원하신다면 오후 6시 이후 트윗날려주세요. @zesrever
2. 저는 NSHC나 하우리와 아무런 이익 관계도 가지고 있지 않습니다.
3. 이 글은 내용을 변경하지 않는 다는 조건하에 마구마구 퍼가셔도 좋습니다.
Posted by zesrever

BLOG main image
Slow but Steady, Broad and Deep ... by zesrever

공지사항

카테고리

분류 전체보기 (44)
Digital Forensics (4)
Reverse Engineering (21)
Vulnerability (2)
Secure Coding (0)
Book Story (1)
Digital Life (7)
My Life (7)
세미나자료 (1)
개인용 (0)
Musics (0)
Total : 254,891
Today : 22 Yesterday : 70