POC2007 후기 학술

워낙 잘 까먹는 머리를 가지고 있는데 어제도 정리를 못 해서 매우 조급한 마음으로 정리를 합니다. 전반적으로 작년에 비해 임팩트가 덜한 느낌이었습니다. 동시 통역 장비도 잡음이 매우 심해서 듣는 도중에 머리가 아플 지경이었습니다. 게다가 데모도 그렇게 매끄럽게 안 된 것들이 많아서 작년에 비하면 약간 실망스러웠네요. 그래도 20만원 값은 했다고 생각합니다.

첫날.

Casper, Forensics and Anti-Forensics

XCon 운영자라고 하는 Casper 씨가 와서 첫번째 발표를 진행했습니다. 우리나라의 해커 이미지는 엘리트 코스랑 거리가 먼데 이 아저씨는 칭화대 연구실에 있다고 합니다. DSAPI를 이용해서 장비에 붙였던 USB 시리얼 키, 모델, 제조사 등을 확인하는 것이 제일 기억에 남아있고, 링크 파일 같은 것을 포렌식 할 때 간과하기 쉽다고 이야기 한 것 정도가 기억납니다. 파일 슬랙 같은 것들도 언급하긴 했는데 자세하게 설명한 것은 없어서, 수박 겉핥기로 넘어가는 느낌이었습니다.

Silverbug, How to Hack Your Cell Phones?

곧 결혼한다고 하는 안철수 연구소 아저씨입니다. 안철수 연구소는 어딜 가도 안 빠지는 것 같네요. 핸드폰과 PC를 데이터 케이블로 연결하고 전용 프로토콜을 사용해서 핸드폰 파일 시스템에 접근하는 것을 보여주었습니다. 문자메시지 파일의 구성을 확인시켜주었는데, 커다란 파일 하나 만들어놓고 80byte 고정 길이를 사용하도록 하고 삭제 시에는 플래그만 셋팅하는 기법을 사용하고 있었습니다. 한마디로 문자를 지우더라도 덮어쓰지 않은 이상 복구가 가능하다는 것입니다.

한편, 대부분 모바일 개발자들은 프로그램 파일들이 까일 것이라고 생각 안 하고 개발을 진행하기 때문에, jar 파일 등에 테스트 사이트 등의 정보를 그대로 남겨놓은 경우도 꽤 있다고 합니다. 폰에서 오는 정보를 믿고 그대로 사용하는 서버들도 많이 있을 것이라고 하구요. 요새 모바일 게임도 네트워킹이 대세인데, 이벤트 페이지를 만든다거나 게임 서버를 개발할 때 주의하지 않으면 공격당할 가능성이 상당히 높습니다.

i3eat, Hacking with Nintendo DS

순천향대 동아리에서 나와서 발표했습니다. PT는 디자인을 잘 했던데, 예전에 얼핏 봤던 PADOCON 자료들도 디자인이 괜찮았던거 생각해보면 의외로 정보보호 관련 동아리 친구들이 디자인 실력이 좋은건지 템플릿을 잘 수집해놓은건지 모르겠지만 하여간 보기는 꽤 괜찮았습니다.

요새 NDS 해킹 이야기는 많이 들어봤을테니까 사실 별로 할 말은 없습니다만, 실제로 다양한 Homebrew를 눈으로 확인할 수 있었다는 점에서 괜찮았던 발표입니다. 이미 리눅스까지 올릴 수 있는 상태이더군요. NDS를 이용해서 ARP Spoofing을 하면서 무선 통신 패킷 캡처해서 보여주고, ncPro sIP처럼 인터넷 사용 못 하게 게이트웨이나 PC의 맥 주소를 바꿔치기 해서 DoS 공격하는 것을 시연했습니다. 리눅스에 파이썬 올라가고 파이썬 네트워킹 모듈이 다 올라간다면 훌륭한 해킹 박스가 될 것으로 예상됩니다만, 하도 NDS를 해킹 도구로 쓴다는 얘기가 퍼지다보니 이미 삼성 같은 곳에서는 NDS도 반입금지된 물품이라 합니다.

Daiki Fukumori, Attacking Web 2.0

일본의 SST라는 보안 회사의 CTO가 와서 발표했습니다. 자기는 Web 2.0이 싫은데 언론이나 고객사에서 하도 Web 2.0 시대의 보안에 대해 물어오길래 아예 Web 2.0 보안 컨설팅으로 일을 바꿨답니다. Web 2.0 해킹은 최근에 이슈가 되어서 꽤 알려진 주제이긴 하지만, 이 발표에서는 좀 더 나아간 형태의 공격 기법들을 다루고 있습니다.

이미 RSS 피드 등에 스크립트를 삽입해서 공격하는 기법은 많이 알려져있고요. 후쿠모리 씨가 원하는 것은 Web 2.0 공격으로 사용자 컴퓨터의 로컬에서 임의의 명령어를 실행하는 것이 되겠습니다. 이거야말로 모든 해커들이 목표로 하는 것이지요. PT는 나중에 확인해보시면 첫 장이 꽤 재미있게 되어있는데, 팀 오라일리가 정의한 Web 2.0 그림을 그대로 가져와서, 크래커 관점의 Web 2.0으로 바꿔놓았습니다. 가령 Web as Platform 이라면 Web as Attack Platform 같은 식으로 말이죠. 생각해보면 제가 내년에 하려는 것은 그 반대로 Web as Security Platform 입니다만.

어쨌든 Web 2.0 공격으로 로컬에서 임의의 공격을 실행하려면 Same Origin Policy, My Computer Security Domain, IE 자체의 로컬 스크립트 실행 경고 등 돌파해야 할 어려움이 여러가지 있습니다. 이것들을 우회하는 방법으로, 로컬에서 Web 2.0 플랫폼을 통해 데이터를 끌어오는 프로그램들을 공략할 수 있습니다. 가령 Firefox의 SAGE, Google 데스크탑 위젯, ActiveX를 활용하는 자바 프로그램 등을 공략하면 IE의 보안 설정을 전혀 상속하지 않기 때문에, 마음대로 유린하는 것이 가능해집니다. 실제로 FileSystem 개체를 생성해서 공격자 시스템으로 사적인 그림 파일을 업로드하는 것을 데모로 보여주었습니다. 위젯 등을 개발할 때 발생하기 쉬운 취약점을 각인시켜주는 좋은 발표였습니다.

Dave Aitel, Writing Exploits Using Immunity Debugger

예전에 NSA (National Security Agency) 에서 근무했고 현재 Immunity 사의 CTO로 있는 Dave Aitel 씨가 발표했습니다. 현재 Immunity Debugger라는 디버거를 Python으로 개발해서 무료로 배포하고 있다고 합니다. 디버거까지 Python으로 개발하다니, 이젠 해킹 언어로는 Python이 대세로 굳어진 느낌입니다. 이 발표에서는 다루기 까다로운 Heap Overflow를 Immunity Debugger를 사용해서 공략하는 방법을 설명했는데, Stack Overflow도 간신히 기억하고 있는 형편이고 Heap Overflow는 자료를 본 적이 없어서 졸린 김에 그냥 자버렸습니다. 나중에 이 디버거로 취약점 찾는 모습을 보여주는 스크린캐스트가 올라온다고 하니 관심있으시면 찾아서 보시면 되겠습니다.

Grugq, Hacking Sucks: Presentation the Hash Hacking Harness

이 분은 VoIP 엔지니어이고 작년엔 다양한 VoIP 프로토콜을 마음대로 요리해서 보여준 재미있는 아저씨인데, 이번엔 hash라는 도구를 들고 왔습니다. 처음엔 갑자기 생뚱맞게 웬 hash냐, 라고 생각했는데 hacking shell 앞 자를 따서 hash라는 이름이 지어졌답니다. 이것도 역시 python으로 개발되었습니다. 뚫고 들어가는 것까진 재미있는데 그 이후 로그 안 남게 설정하고, 루트킷 깔고, 파일 올리고 내리고 하는 일이 너무나 고통스럽고 짜증나서 만들었다고 합니다. hash가 로컬에서 실행되고 원격지의 bash를 컨트롤하는 구조로 되어있습니다. 근데 워낙 해킹 경험이 없어서 이런 도구가 그렇게나 유용한 것인지는 잘 모르겠더군요. 사회자는 이거 쓰면 무지 편하겠다고 좋아하긴 했습니다만. 여담으로, 이 아저씨가 "Sucks!" 라고 말할 때마다 동시 통역하는 분이 "열라 후지죠" 라고 말해서 다들 웃느라 배가 아팠습니다.

다음날.

AmesianX, How to Implement COM Monitor

최근 메모리 해킹 뉴스로 매우 유명해진 AmesianX 아저씨가 어떤 방식으로 해킹한 것인지 데모와 함께 자세히 설명해주었습니다. 사실 이거 하나만 해도 이번 POC2007 가치가 있었다고 생각합니다. PS Active Check라는 자체 제작한 도구를 이용하여 데모를 진행했습니다. 이 도구는 컴포넌트가 메소드 호출할 때 전달되는 매개변수를 실시간으로 모니터링 할 수 있는 기능을 가지고 있습니다. COM을 감싸는 wrapper를 만들어서 메소드 콜을 후킹하는 방식을 사용한다고 합니다. 원래 금융권을 대상으로 시험할 생각은 아니었는데, ActiveX를 가장 많이 사용하는 사이트를 찾다보니 자연히 금융권을 대상으로 하게 되었다더군요. Universal COM Wrapping 기법을 사용했다고 하는데, 원래 90년대 후반에 마이크로소프트 연구원이 작성한 페이퍼라고 합니다. 소스 코드까지 친절하게 나와있다고 하니 관심있으시면 직접 찾아보시면 될 것 같습니다.

특기할만한 점은 웹 2.0 해킹에 대응하는 실시간 감시 기술로 사용할 수도 있다는 것입니다. 웹에서 서버와 비동기 통신할 때 쓰는 것이 XMLHTTP이고, 파싱할 때도 XML을 사용하다보니 어차피 MSXML 컴포넌트를 사용하게 되어있습니다. XML 관련 컴포넌트만 메소드 콜을 후킹해서 모니터링을 하게 되면, 패턴 매칭으로 공격을 찾아내는 것도 가능합니다. 물론 지금도 IDS 등을 교묘하게 회피하기 위해 다양한 evasion 기법을 사용하고는 있지만 일단 전체 네트워크 트래픽이 아니라 특정 COM 통신만 선별해서 볼 수 있다는 것, 그리고 네트워크 트래픽이 발생하지 않아도 호스트 내에서 스크립팅을 통해 COM을 사용하는 경우를 감시할 수 있다는 장점이 있습니다.

Hendrik, Hacking VoIP Routers
작년에 VoIP 해킹은 잘 봤기 때문에 피곤해서 그냥 잤습니다. 독일 인터넷에 널린 VoIP 라우터를 빠르게 스캔하고, 그 라우터들을 공략하여 스팸 콜을 시연했습니다.

@tlas, VulnCatcher: Fun with Vtrace and Programmtic Debugging

DEFCON CTF 우승팀의 캡틴이 발표했습니다. 이것도 역시 Python으로 작성된 툴입니다. 단순한 디버깅이 아니라, memcpy, gets 같은 함수에 브레이크 포인트를 설정하고 자동으로 Source와 Dest 길이를 대조하도록 하는 등 버그 패턴을 프로그래밍하면 취약점을 자동으로 찾을 수 있도록 구현해놓았습니다. 어떤 분이 그걸로 그렇게 빨리 버그 찾아서 CTF 우승한거냐고 물었는데 (ㅋㅋ) FreeBSD에서는 Vtrace가 동작하지 않아서 아쉽지만 쓸 수가 없었답니다.

Sun Bing, BIOS Hijacking & VMware Vulnerabilities Digging

작년에 가상화 기술을 이용한 루트킷을 발표했던 아저씨가 이번엔 BIOS 해킹을 들고 왔습니다. BIOS 플래시 롬 업데이트 과정의 취약점을 이용하여 하드웨어에 커스텀 코드를 박아넣을 수 있습니다. TOP SWAP BIT을 이용하는 것인데, 백업 블록과 어드레스 바꿔치기 하는 정도만 데모를 보여줬습니다. 그 상태로 그냥 리부팅하면 CMOS 방전하기 전까진 컴퓨터 켜는 것도 불가능하다고 합니다.

그 외에 아직 정리는 안 됐다고 하는데 VMware 쪽으로 제로데이 취약점을 비롯해서 다양한 취약점을 데모로 보여주었습니다. VMware Workstation 설치만 되어있으면 관리자 권한을 그냥 따더군요. 제로데이라서 구체적인 설명은 해주지 않았습니다. 그 외에도 VMware 드라이버를 통해 Ring0 명령을 실행할 수 있는 등 모듈별로 문제가 많다고 합니다. 당분간 VMware 업데이트를 주시하는 것이 좋겠습니다.

GilGil, SnoopSpy2 (Advanced Network Hacking and Security Tool) Project

단순히 ARP 스푸핑하는 프로그램이라고 생각할 수도 있는데, MITM 공격을 잘 수행할 수 있게 SSL Proxy도 붙여놨고, 간단하게 데이터 변조도 할 수 있도록 만들어놓은 프로그램입니다. 사실 프로그램 자체보다는 해커다운 아이디어가 돋보이는 발표였습니다. MITM 공격으로 이베이나 구글 같은 사이트에 SSL 보안 접속을 하더라도 계정과 패스워드가 노출되는 것을 직접 보여주었습니다. 간단한 데이터 변조로 재미있는 생각을 많이 해놨는데, 예를 들면 https를 http로 바꿔치기 하는 것입니다. 보안접속을 체크해도 실제로는 http로 통신하게 되는 것이죠. VoIP 같은 경우엔 전화번호 바꿔치기를 제시했고, FPS 게임은 일부러 UDP를 5초 지연시켜서 보내어 유리하게 게임을 할 수 있음을 보여줬습니다.

다른 것보다 버전 롤백이 허를 찌르는 공격이었습니다. 물론 개념 자체는 저도 알고 있었는데, 그걸 실제로 적용한 사례는 처음 봤습니다. MSN 같은 경우 ARP 스푸핑하고 나면 쉽게 대화 내용을 보는 것이 가능한데, 여러분들이 아시는 바와 같이 네이트온은 암호화가 적용되고 있습니다. 그렇지만 실제로 구형 클라이언트를 지원하기 위해 암호화가 지원 안 되는 프로토콜도 사용하는게 가능합니다. 따라서 ARP 스푸핑 후, 버전만 바꿔치기 하면 굳이 암호화된 내용을 풀려고 노력하지 않고도 그냥 대화 내용을 볼 수 있게 됩니다. 사용자는 전혀 알 방법이 없죠.

이 프로그램을 오늘 snoopspy.com에서 공개했는데, KISA 관계자랑 싸움이 붙었습니다. "당신 2개월 전에도 공개하지 말라고 해서 안 했는데, 그래서 지금 국내 보안 상황이 나아진게 있느냐"라는게 이 분의 입장이고, "굳이 칼을 아이들에게 쥐어줄 필요가 있느냐"는게 KISA 관계자의 입장이었습니다. 글쎄요. 전 사실 어느 쪽이 더 나은 길인지는 잘 모르겠습니다. ARP 스푸핑이야 제로데이도 아니고 이미 개나 소나 다 알고 있는 기법이라고는 하지만, Cain & Abel 같은 외산 툴도 있다고는 하지만 말이죠. 대응할 시간은 이미 충분히 있었다고 생각하는 것이겠지만.. 사실 최근에도 국내에서 ARP 스푸핑으로 웹 서버 HTTP 통신 변조를 통해 악성 코드를 배포한 침해 사고로 고생한 적이 있는 KISA로서는 저런 툴이 달갑지 않겠죠. 판단은 각자에게 맡겨야 될 듯 합니다.

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://xeraph.com/tb/3939845 [도움말]

핑백

  • Xeraph Online : 기년회 준비 2007-12-20 14:35:40 #

    ... . 아마 올해 가장 역사적인 이벤트로 기록되지 않을까 (..) 11월 10일. Ending Spam. 이 날부터 베이지안 필터 공부 했음 ㅎㅎ 11월 17일. POC2007 후기. 작년보다는 약간 임팩트가 덜 했지만 여전히 재미있었던 POC 컨퍼런스. ... more

덧글

  • 홈쥬인 2007/11/17 09:05 # 답글

    모바일 게임서버도 전용게이트웨이를 속일 수 있는 무궁무진한 방법이 있어여~~
댓글 입력 영역