필자 메모 - Dll Injection



필자 메모 - Dll Injection
강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2010년 4월호
("리버싱으로 분석하는 온라인 게임 해킹툴" 4회 - Wall Hack 中)

월핵을 제작하는 데에는 DLL Injection 이 사용된다. 하지만 Dll Injection 은 방법론의 하나일 뿐이지, 그것 자체가 월핵의 동작 구조라고는 할 수 없다. Dll Injection 이 몇 년 전에 비해서는 상당히 자료도 늘어나고 상세한 설명을 인터넷에서 쉽게 볼 수 있다는 점은 반길만한 일이다. 그러나 아쉬운 것은 이렇게 많은 데이터가 넘쳐나는데도, 아직도 상당히 많은 사람들이 DLL Injection 이라는 개념 자체를 잘못 이해하고 있는 것이 아닌가 하는 생각이 든다. 예를 들면 다음과 같은 대화가 이루어진다.

Q : 어떤 방식으로 월핵이 돌아가나요?
A : Dll Injection 을 사용합니다.

이 대화는 대략 다음과 같은 대화로 비유할 수 있지 않을까,

Q : 서울에서 부산까지 어떻게 가실 건가요?
A : 교통 수단을 이용할 겁니다.

Dll Injection 은 수단의 하나일 뿐이지. 그것 자체가 공격기술의 요지는 아니라는 것을 이해했으리라 본다. 특히나 이런 부류의 해킹툴 분석에 있어서는 더욱 그렇다. 보안회사에서 해킹툴 분석 내용으로 컨설팅을 할 때나, 게임회사 내부에서 분석 논의가 오갈 때에 저런 답변을 하는 사람으로 인해 회사나 팀의 이미지를 깎아먹는 일이 생기지 않기를 바란다.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/355 관련글 쓰기

댓글을 달아주세요

  1. 2010/05/02 21:42
    댓글 주소 수정/삭제 댓글
    비밀댓글입니다
    • 2010/05/02 21:49
      댓글 주소 수정/삭제
      비밀댓글로 해주신 것으로 보아 답변이 공개적으로 올라오지 않기를 바란다고 생각해도 될까요 ^^
      이메일 알려 주시면 답변 드리겠습니다~
    • Ditongs
      2010/05/02 22:02
      댓글 주소 수정/삭제
      앗; ditongs@naver.com 입니다.
      답변 감사드립니다. 실시간 대화를 하는 기분입니다 ^^;
  2. mAn1aS
    2010/05/03 16:11
    댓글 주소 수정/삭제 댓글
    맞는 말씀같습니다. 더미 DLL만 삽입된다고, 해킹이 되진 않죠.

    버스를 타야 부좌를 조작하든 의자에 앉든, 손잡이를 잡든, 의자를 수정하는 등의 행위를 할수 있잖아요.

    Dll Injection은 단지 현금을 내고 타느냐, 교통카드를 쓰고 타느냐의 차이인것 같습니다.

    가장 중요한것은 부좌를 분석하고, 그 부좌를 어떻게 원하는데로 조작하느냐가 주요 포인트 같습니다.
    • 2010/05/04 00:40
      댓글 주소 수정/삭제
      정확히 짚어주셨네요 : ) 좋은 비유 감사합니다 !

2009.7.7 대란 DDoS 공격실태와 현황





이번 DDoS 공격 현황에 대해 마소 8월호에 연재한 기사입니다.

지디넷코리아에도 올라왔네요... 저는 모르는 사실 ;;;
인터넷에 이미 올라온 자료이므로 pdf 업로드 하겠습니다.

http://www.zdnet.co.kr/ArticleView.asp?artice_id=20090729112938

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/306 관련글 쓰기

  1. DDoS 악성코드들의 연관 관계 상세 분석

    2009/08/03 21:35
    삭제
    2009년 7월 7일 대한민국에서는 분산 서비스 거부 공격(DDoS)으로 인해 다수의 정부와 민간 업체들의 홈페이지가 접속 불능이 되는 사고가 발생하였다.이번 사고에 대해 ASEC에서는 7월 6일 저녁 무렵부터 신속하게 분산 서비스 거부 공격이 발생한 원인을 파악하기 시작하여 7월 7일 새벽 이번 공격은 다수의 악성코드에 의해서 발생한 것으로 파악하였다.이 번에 발생한 분산 서비스 거부 공격은 하나의 악성코드에 의해서 동시 다발적으로 발생한 것이...
  2. 7.7 대란, 그 시작과 끝

    2009/08/03 21:35
    삭제
    ASEC에서는 7월 7일 한국과 미국을 대상으로 한 분산 서비스 거부 공격(DDoS)과 관련된 악성코드에 대해서 아래 글과 같이 상세 분석 정보를 게시 한 바가 있다.DDoS 악성코드들의 연관 관계 상세 분석아래 보안 칼럼은 ASEC 김지훈 선임 연구원이 7월 7일 발생한 보안 사고에 대해 정리한 보안 칼럼 기고문이다.7.7 대란, 그 시작과 끝크리에이티브 커먼즈 라이센스이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한...
  3. 안철수연구소 DDoS 공격 방어 사례

    2009/08/03 21:36
    삭제
    청와대, 국방부 등 주요 사이트 마비…사상 초유의 DDoS 공격 발생”2009년 여름 대한민국을 뒤흔든 DDoS 폭풍은 이렇게 시작되었다. 7월 7일 6시를 기점으로 시작된 공격은 8일, 9일까지 계속됐다. 그리고 7월 10일 0시, 공격에 이용됐던 좀비 PC의 하드디스크에 손상을 입히는 자기파괴증상을 마지막으로 폭풍은 잦아들었다. 지금까지 알려진 시나리오는 여기까지이다. 공격자가 누구인지, 왜 공격을 실행했는지, 그리고 추가 공격을 준비하고 있는...
  4. DDoS 악성코드와 배후설 그리고 전쟁의 정당화?

    2009/08/03 23:54
    삭제
    http://sunbeltblog.blogspot.com/2009/07/nuttiness-has-started-show-of-force-or.html http://sunbeltblog.blogspot.com/2009/07/ddos-global-hysteria.html http://news.kukinews.com/article/view.asp?page=1&gCode=pol&arcid=0921350631&code=41111111&cp=nv1 http:/..
  5. 주요 사이트에 DDoS 공격 발생

    2009/08/04 10:43
    삭제
    어제(2009년 7월 7일) 주요 국내웹사이트(청와대, 국회, 국방부, 옥션, 네이버메일, 조선닷컴, 농협 등의 일부 은행,...)에 분산 서비스 거부 공격이 있었다. 옥션의 경우 오늘도 접속이 원활하지 않은 것으로 보인다. 현재(7월8일 오전 10시) 옥션 접속을 하면 페이지를 표시할 수 없다고 나온다. (지금까지 일부 사이트에 DDoS공격

댓글을 달아주세요

  1. 2009/08/04 10:45
    댓글 주소 수정/삭제 댓글
    '좀비PC 하드웨어 조사' 이미지를 올리시다니...
    잘봤습니다. ^^
    • 2009/08/04 12:21
      댓글 주소 수정/삭제
      ㅋㅋ 근데 마소에는 편집됐어요

네이티브 프로세스 예외



필자 메모 - 네이티브 프로세스 예외
강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2009년 5월호
("Bypass AntiVirus" 3회 - 백신을 공격하는 악성코드 中)


네이티브 프로세스를 감염시키는 바이러스는 정말 조심에 조심을 거듭해 치료해야 한다. 네이티브 프로세스를 잘못 건드렸다가는 컴퓨터가 부팅조차 되지 않기 때문이다. 그런데도 아쉽게도 네이티브 프로세스 오진으로 사용자의 컴퓨터를 마비시키는 치명적인 사건이 발생했다는 소식이 아직도 들려온다. 악성코드가 네이티브 프로세스를 건드리는 이유에는 여러 가지가 있겠지만, 그 중 하나는 그 부분을 감염시키면 백신이 건드리기 힘들 것이라는 의도도 포함돼 있다는 것이다. 나를 치료하려다가 이 컴퓨터의 주인에게 오히려 더 큰 원성을 살 것이라는 약삭빠른 계산이다.

안티바이러스 엔진 개발자들은 smss.exe, csrss.exe, lsass.exe, svchost.exe 등 시스템에 반드시 사용되는 프로세스를 치료할 때 삭제할 대상으로 판정돼도 그것을 오진으로 간주, 네이티브 프로세스를 지우는 일만큼은 피할 수 있는 예외를 추가해야 한다. 백신 업데이트 후 컴퓨터 부팅이 되지 않는다는 유저들의 울부짖음은 백신 업체들에게 큰 모욕이자 치명타가 된다.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/273 관련글 쓰기

댓글을 달아주세요

  1. 2009/05/06 17:19
    댓글 주소 수정/삭제 댓글
    • 2009/05/06 21:20
      댓글 주소 수정/삭제
      머... 안랩이 그냥 재수가 없었다고 생각합니다.
      svchost lsass winlogon 아마 각 백신들이 한번씩 다 날려봤을걸요? ㅎ
      안랩은 ASP서비스를 하고, 또 서버도 전 사이트 통합으로 쓰니까,
      한번 실수가 전 국민들에게 영향을 끼치게 되었다고 생각하고요
      다른 백신은 저런짓을 해도(특히 외산) 별로 잇슈가 되지 않는거 같습니다~
  2. 2009/06/21 04:15
    댓글 주소 수정/삭제 댓글
    안녕하세요^^ 마소 기사를 보고 어떤 분인가 궁금해서 놀러왔습니다.

    혼자 공부를 하다보면 전혀 모르는 부분이 등장할때마다 눈 앞이 캄캄해지곤 합니다.
    이번에도 혼자 1주일을 다날리고 나서 겨우 알아낸 내용들이 한 문서로 정리되어 있어서 이 시간에 한숨을 쉬고 있습니다 ( - -);

    정말 좋은 문서였던거 같습니다.
    내용도 그렇지만 이정도로 잘 정리된 문서를 제작하기가 쉽지 않으셨을것 같습니다~
    하지만 이런 글을 읽고 열심히 뒤쫒아가는 후배들이 있다는 걸 기억해주세요 ㅎㅎ


    앞으로도 좋은 기고 부탁드립니다.
    • 2009/06/24 19:11
      댓글 주소 수정/삭제
      어떤 문서인지 모르겠지만 도움이 되었다니 다행입니다 !
      실력 좋고 똑똑하신 분들이 더욱 발전하셔서
      보안업계를 지탱해 나가 주셨으면 좋겠습니다 : )

가상PC 감지



가상PC 감지
강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2009년 4월호
("Bypass AntiVirus" 2회 - 실시간 감시 취약점 中)


바이러스를 분석하기 위해 많은 보안 관계자들은 VMWare나 Virtual PC와 같은 가상 머신을 이용한다. 그런데 몇몇 멀웨어는 현재 자신이 실행된 환경이 가상 환경이라면 활동을 멈추고 즉시 자신을 파괴시킨다. 바이러스가 가상PC에서 로딩됐다는 것은 바이러스 분석가들이 악성코드 분석을 위해 실행했을 것이라고 판단하기 때문이다. 그리고 바이러스를 분석하는 입장에서도 바이너리를 리버스 엔지니어링 해 보기 전에 먼저 한 번 실행부터 시켜보는 것이 일반적이다. 때문에 이런 내부적인 상황을 모르고 가상PC에서 테스트하며 돌아가지 않는 바이러스가 발견된다면 분석을 중단하는 일도 발생한다. 이런 점을 노린 악성코드 제작자들의 의도는 상당히 지능적이라고 볼 수 있다. 따라서 안티바이러스 업무를 하는 사람은 가상PC가 아닌 전용 리얼 테스트 머신을 갖춰야 한다. 또한 악성코드가 가상PC를 어떻게 감지하는지에 대한 스캔 엔진도 별도로 장만하면 더욱 효율적이다. 예를 들어 <리스트 7>과 같은 코드가 있다. 이 코드는 현재 실행된 환경이 VMWare인지 감지한다.

<리스트 7> VMWare 감지 코드


인터넷의 해외 사이트를 잘 조사하다보면 많은 자료가 있으니 참고하면 좋을 것이다. 해커나 공격자도 우리와 같은 검색 능력을 가진 사람이라 결국 인터넷을 뒤져서 이와 같은 가상PC 감지 코드를 추가해 공격한다. 따라서 이런 유형의 코드를 검색하는 미니 스캔 툴을 개발, 가상PC에서 동작하지 않는 바이러스를 발견했을 때 그 파일에 대해 실행시켜 해당 바이러스가 가상 머신을 감지하는지 아닌지를 확인할 수 있다(패턴이 완전히 일치하지 않을 가능성이 있기에 100% 장담은 못하지만 확실히 도움은 된다). 더 나아가 해당 루틴을 찾아내면 그것을 걷어낸 후 가상PC에서 자유롭게 분석할 수도 있다. 또는 실시간 감시 기능을 무력화시키는 바이러스의 경우는 이런 행위를 할 가능성이 더욱 농후하다. 가상PC에서 바이러스 샘플을 실행한 후 돌아가지 않는 바이러스라고 쉽게 단언하지 않는 내공깊은 분석가가 더 많아졌으면 하는 바람이다.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/252 관련글 쓰기

댓글을 달아주세요

  1. 2009/04/05 19:20
    댓글 주소 수정/삭제 댓글
    위 코드는 "Identifying Malicious Code Through Reverse Engineering"(Springer, 2009) 라는 책에서 발췌한 코드이고요, 아쉽게도 VirtualPC 는 감지되지 않습니다 : )
  2. 2009/04/06 09:52
    댓글 주소 수정/삭제 댓글
    허헛..;; 그러고보니 벌써 4월인;;..
    =0= 얼릉 또.. 4월호 장만하러 달려가야겠군요;ㅋㅋㅋ
    아~ VirtualPC 감지하는 코드는 ?????????????? 에 잘 나와있더라구요~
    :D
    • 2009/04/06 10:16
      댓글 주소 수정/삭제
      복수하는거냐 -_-
      이 ????????? 같은넘...
  3. 2009/04/06 22:57
    댓글 주소 수정/삭제 댓글
    형~~ 기고한 것들 열심히 모으면서 애독자(?) 노릇하고있는데;;
    선물로~ =0= 4월호 하나 사주세용~~ :)
    • 2009/04/09 11:21
      댓글 주소 수정/삭제
      아래 영진사마한테 달라고 하면 되겟네 !
  4. 2009/04/07 16:23
    댓글 주소 수정/삭제 댓글
    HS // 담에 구로 놀러오세용. ㅋㅋㅋ ~
    어쩌다보니 4월호만 3권 받게된 ㅋㅋㅋ~~ @.@
    • 2009/04/09 10:29
      댓글 주소 수정/삭제
      저도 한권만요.. 굽신.. 굽신..

      공짜면 다 좋다는...
  5. 2009/04/07 21:15
    댓글 주소 수정/삭제 댓글
    비밀댓글입니다
    • 2009/04/09 11:21
      댓글 주소 수정/삭제
      오우... 이런 !! 완전 축하해요 !!!
      대단하네요 ㅎㅎ
  6. 2009/04/08 08:26
    댓글 주소 수정/삭제 댓글
    그러고 보니, VIX(VMWare SDK) 사용해서 프로그램 샌드박싱할 때 타겟이 저 기능을 가지고 있으면 테스트도 무용지물이겠네요.

    그나저나 요즘 나오는 역공학 방지도구들도 대부분 저 기능 지원하더라구요. (실제 구현하려면 병탁님 같은 분의 도움을 받아야 겠죠? ^^)

    여담입니다만, VIX가 굉장히 강력해지고 있어요. ^_________^
    • 2009/04/09 11:23
      댓글 주소 수정/삭제
      네. 그래서 짱꿰이 사이트에서는 Anti-Anti-VMWare,
      Anti-Anti-SandBox 같은것도 있는것 같더라고요
      저도 짜집기 코드로만 가지고 있는데
      전용 스캔 머신으로 둔갑 시켜야죠 : ) 실력이 딸려서 못하고 있어요 ^6;
  7. 베리굳
    2009/04/14 20:44
    댓글 주소 수정/삭제 댓글
    만약에 저런 악성코드가 많다면 우리는 가상pc사용하면 되네염 그럼 악성코드도 지가 알아서 꺼져줄테고 편안한 컴퓨터사용 이 가능하네염
  8. 2009/09/02 16:44
    댓글 주소 수정/삭제 댓글
    좋은정보 감사합니다.
    질문이 있는데요,

    - mov ebx, 0
    - mov ecx, 10 // any value but not MAGIC VALUE

    부분과,
    - cmp ebx, 'VMXh'

    에서, ebx 값과 magic value 를 비교하는걸 볼 때,
    magic value 를 피해야하는건 ebx 아닌가요?

마소 새연재



기존 연재가 끝나기도 해서 얼굴에 철판 한번 쫙 깔고 새연재 광고를 하겠습니다 :p

백신 우회가 주제인 "Bypass AntiVirus" 를 제목으로 3월부터 4회분량으로 나갈 거 같습니다.
어떻게 보면 "나쁜짓"을 공식 소프트웨어 개발 잡지에 싣는 것이 이상해 보일 수도 있겠습니다만
뭐 초삐리들이 살펴보고 바로 써먹을 수 있는 구체적이며 따라하기도 쉬운 나쁜짓을 다룬다거나
특정 회사의 백신에 대해 언급하고 욕하고 뭐 그런 내용이 되진 않을 것 같습니다.
취약점을 살펴보고 대응방법을 고민해보자.. 내용의 수준은 떨어지더라도 뭐 마음만은 거창하게
그렇게 쓰고 있습니다 :p


실전강의실 | Bypass AntiVirus

연재 순서
1회 | 2009. 3 | 바이러스 감지 회피의 원리
2회 | 2009. 4 | 실시간 감시 기능 취약점
3회 | 2009. 5 | 백신을 공격하는 악성코드
4회 | 2009. 6 | 키보드 보안 솔루션 취약점

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/245 관련글 쓰기

댓글을 달아주세요

  1. 2009/03/04 23:12
    댓글 주소 수정/삭제 댓글
    오옷.. 내 관심분야.. :)
    =0=;; 형이 기고를 하면~ ㅋ.. 계속 마소를 질러야되는;;..
    덕분에 책장 맨윗칸이 마소만으로~ 가득차려하고 있어요;;;..
    • 2009/03/09 00:57
      댓글 주소 수정/삭제
      마소에서 상 줘야겟네 단골 고객들 ㅋㅋㅋ
      잘 봐주면 그것만으로 ㄳ
  2. 2009/03/05 01:30
    댓글 주소 수정/삭제 댓글
    와우~ 새로운 연재를 하시는군요. ;)
    마소를 사야하는 이유가 또 늘었네요. ㅎㅎ 재미있게 잘 보겠습니다. ;)
    • 2009/03/09 00:58
      댓글 주소 수정/삭제
      흐흐 까마귀님 책이 더 기대됩니다 !
  3. 2009/03/05 02:35
    댓글 주소 수정/삭제 댓글
    항상 마소 잡지를 받으면 제일 먼저 확인하는 것이 window31님의 글인데...^^ 이번 주제는 꽤 신선했습니다... 고맙습니다. *^^*
    • 2009/03/09 00:58
      댓글 주소 수정/삭제
      이런! 1빠로 읽어주시는건가요 ㅎㅎㅎ
      몸둘바를 모르겟네요 ;;;
  4. 2009/03/06 10:18
    댓글 주소 수정/삭제 댓글
    나도 연재하고 싶오~

    Bypass Window31

    어떼?
    • 2009/03/09 01:01
      댓글 주소 수정/삭제
      그럼 그다음 연재는 incapacitate jepung 으로 하마.
  5. 2009/03/07 17:06
    댓글 주소 수정/삭제 댓글
    기대됩니다.^^
    • 2009/03/09 01:03
      댓글 주소 수정/삭제
      번데기 앞에서 주름 잡는건 아닐지 걱정되네요 ^^;;
  6. 2009/03/09 22:54
    댓글 주소 수정/삭제 댓글
    와 ㅋㅋ 키보드도 있네여 야호 ㅎㅎ
    • 2009/03/10 13:01
      댓글 주소 수정/삭제
      음~ chpie 님께서 생각하는 그런 얘기가 아니면 어떡하죠 ㅠ ㅠ

괜찮아요



마소플러스
괜찮아요
- 월간 마소 2009년 3월호
강병탁 / window31@empal.com / www.window31.com


남녀가 사귈 때 서로에게 가장 듣고 싶어하는 말이 무엇일까? 이것에 대한 설문조사 결과를 한 포털에서 본 적이 있는데, 남자 쪽의 결과가 매우 흥미로운 답이 나왔다. 먼저 여자의 경우는 “사랑해” 라는 말이 1위를 차지했다. 자신이 사귀는 남자에게 사랑한다는 말을 가장 듣고 싶어하는 것은 자연스러운 일이고 어찌보면 당연한 설문 결과로도 보인다. 그러나 남자의 경우는 놀랍게도 여자에게 가장 듣고 싶은 말이 “사랑해”가 아닌 “괜찮아요” 였다.

남성의 심리적 결과 해석

여자친구에게 사랑한다는 말보다 괜찮다는 말을 더 듣고 싶어하는 이유는 무엇일까. 그만큼 여자친구에게 잘못을 많이 한다는 것일까, 아니면 남녀관계를 객관적으로 따지고 보았을 때 남자 쪽에서 실수하는 경우가 상대적으로 더 많기 때문인 것일까. 설문에 참가한 이들에게 직접 물어볼 수 없으니 진실을 확인할 순 없지만, 아무튼 “괜찮아요”라는 말을 듣고 싶어한다는 얘기는 본인이 무언가에 쫓기듯 불안한 상태에 있고 상대방에게는 자신에 대한 배려나 위안을 바란다는 해석으로도 생각할 수 있다.

프로젝트 진행시 발생하는 커뮤니케이션 오류

이와 같이 “괜찮아요”를 필요로 하게 되는 경우는 개발 프로젝트를 진행할 때도 유사하게 나타난다. 대형 프로젝트의 경우 여러 사람이 함께 작업하며 진행한다. 프로젝트에는 개발팀이 있으며 영업지원팀, QA팀, 문서작업팀 등여러 팀이 존재한다. 개발팀에서 코드를 작성하여 기능을 구현하면 QA팀에서는 프로그램에 문제가 없는지 다각도의 테스트 진행을 한다. 테스트가 완료되면 문서작업팀에서 프로그램의 매뉴얼 작성과 FAQ 가이드 등에 대한 문서 처리를 하며, 영업지원팀에서는 프로젝트의 진행상황에 대해 고객사와 커뮤니케이션을 담당한다.

이윽고 납기일이 되어 제품이 릴리즈 되고 라이브 서비스가 시작된다. 하지만 프로그램에 문제가 생겨 사용자들은 불편을 겪게 된다. 당장 고치기에도 힘든 수많은 버그가 발생한다. QA팀은 버그 있는 프로그램을 개발한 개발팀을 탓하며, 개발팀은 문제도 사전에 발견해주지 못한 QA팀을 탓하게 된다. 버그가 많은 것도 모자라 고객은 프로그램 사용에 불편함이 많다 혹은 제대로 된 가이드가 없다 불만을 제기하기도 한다. 고객과 커뮤니케이션 하는 영업팀은 매뉴얼을 제대로 만들지 못한 문서작업팀을 원망한다. 문서작업팀에선 고객이 원하는 바를 제대로 전달해 주지 않아서 매뉴얼의 결과가 이렇다는 식으로 영업팀을 책망한다.

효과적 프로젝트 진행을 위한 "괜찮아요"

상황이 이쯤 되면 각 팀에선 문제를 해결할 생각을 하기에 앞서 원인을 남 탓으로 돌리기에 바빠진다. 그리고 많은 일들을 타인에게 미룬다. 직접 나서서 했다가 문제만 일으켜서 책임 쓰기 싫다는 이유로 항상 적당히만 하려 한다. QA팀에선 애매한 모듈에 대해 서로 테스트를 하지 않으려 하고, 개발팀에서는 누구의 코드 때문에 버그가 생겼다며 논쟁한다. 영업팀에서는 고객에게 온 연락을 다른 사람에게 넘기기 일쑤다.

이런 상황에 가장 필요한 것은 빠른 속도의 문제 해결이 아니라, 서로에 대한 배려일 것이다. 그리고 이해심이다. 자신의 잘못을 누군가가 커버해준다면, 그리고 실수를 보완하기 위해 모두 함께 노력해 준다면, 모든 문제는 원활하게 풀리지 않을까 싶다. 아니 설사 풀리지 않는다 하더라도 더 이상 나빠지는 사태만은 방지할 수 있지 않을까. 그렇다면 이 같은 배려심과 이해심을 표출시킬 수 있는 방법을 생각해 보자. 그 방법은 단 한마디로 말로 시작할 수 있다. 그것이 바로 “괜찮아요” 라는 표현이다. 다른 사람이 만든 실수지만 그래도 어떤 관점에서 보면 누구 한사람의 잘못이라고 꼬집일 수 없는 현재의 프로젝트 상황. 이 프로젝트의 일원들에게 설문조사를 하여 서로에게 가장 듣고 싶은 말이 무엇인지 알아본다면 아마 괜찮다는 말 한마디가 가장 높은 표를 얻지 않을까.

비록 개발팀의 실수 코드로 인해 버그가 탄생했더라도 QA팀에서 괜찮다고 말해주는 이해심, 그리고 테스트 단계에서 충분히 발견할 수 있는 문제가 그대로 릴리즈되어 고객사에게 일일히 해명하러 다니는 영업지원팀도 그정도는 괜찮다고 말해줄 수 있는 배려. 이런것이 바로 누군가와 같이 공동으로 진행하는 프로젝트에서 가장 중요한 것의 하나가 아닐까 한다.

하지만 “괜찮아요”라는 말을 듣고 싶은 대상은 어쨌든 문제를 더 많이 일으킨 입장일 것이다. 그리고 목이 말라서 우물을 파고 싶어하는 더 아쉬운 쪽이다. 남녀 관계도 어찌보면 두 사람이 진행하는 하나의 인생 프로젝트라 할 수 있다. 따라서 남자 쪽에서 “괜찮아요”를 더 많이 듣고 싶은 사람은 먼저 나서서 사랑한다는 표현을 써보라고 권하고 싶다. 마찬가지로 프로젝트 진행중 “괜찮아요” 라는 말을 듣고 싶은 개발자들은 먼저 자신이 그 말을 건네며 이해심을 베풀어 보는 것은 어떨까 한다. 그런 한마디 한마디로 인해 프로젝트에 밝은 분위기가 피어날 수 있고, 마치 베토벤 바이러스에 감염된 음악인들 처럼 배려심 바이러스가 구성원 사이 내부로 전파되어 프로젝트 진행에 더 좋은 결과를 낳을 수도 있지 않을까.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/241 관련글 쓰기

댓글을 달아주세요

  1. 2009/03/05 08:06
    댓글 주소 수정/삭제 댓글
    이 글 도입부만 보고 깜짝 놀랐어요.. 아니 왜 이런 내용이 나오지?!?! 하고..ㅋㅋ
    • 2009/03/13 11:23
      댓글 주소 수정/삭제
      ㅎㅎ 전 원래 도입부는 쓸데없는 내용으로 시작 ;
  2. 2009/03/13 09:19
    댓글 주소 수정/삭제 댓글
    감동적인 글입니다.
    • 2009/03/13 11:24
      댓글 주소 수정/삭제
      아오. 감사합니다. 용휘씨는 항상 hardcore 하게 일하시니 고생이 많겠어요 ㅠ ㅠ

모니터링의 아픔



 

필자 메모
강병탁 / window31 (
window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2009년 1월호
("올리디버거 플러그인의 구조와 원리 4회 - 유용하며 재미있는 플러그인 中)



범람하는 해킹툴을 차단하기 위하여 새 보안 코드를 넣어 릴리즈 하였으나 그 부분을 우회한 새 해킹툴이 등장한다. 해킹툴이 공격하는 부분을 추적하기 위하여 바이너리를 분석하던 중 우리가 작성한 코드 근처에 보안 개발자를 조롱이라도 하듯 기록되어 있는 “fu*k Reverser” 라는 문자열을 발견한다.

해커와 직접적인 코드 공방전을 벌이는 보안 개발자들과 리버서들은 이런 일을 종종 겪는다. 심지어는 회사 이름과 욕설을 섞은 스트링이 발견될 때도 있다. 당신들이 이곳을 리버싱 할 테니 나는 이곳에 이런 메시지를 넣어놓겠다 식의 심보로 보인다.

욕을 먹는 일은 그렇게 기분나쁜 것이 아니지만 실제로 가장 마음 졸이는 것은 릴리즈 후 새버전의 해킹툴이 등장했는지 불안한 마음으로 기다릴 때이다. 새로운 안티 해킹 코드를 작성하고 바이너리 릴리즈 후 새버전의 해킹툴이 나오는지 해커들의 포럼을 모니터링 하는 작업은 몸이 힘든 것 보다 정신적인 고단함이 더 큰 것 같다. 게시물 중 우리가 패치한 버전의 [Release] 라는 말머리만 나와도 심장이 두근거린다. 이들 때문에 보안 개발자들이 먹고 사는 것이기도 하겠지만 한편으로는 숨통을 조이는 역할에 오히려 더욱 일조하는 게 아닐까 하는 생각이 든다.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/229 관련글 쓰기

댓글을 달아주세요

  1. 2009/01/02 10:57
    댓글 주소 수정/삭제 댓글
    좋은글 ㅋ 퍼가요~ㅋ
    • 2009/01/11 02:04
      댓글 주소 수정/삭제
      감사합니다 ^^;

게임 해킹 시연시 사용되는 타겟





필자 메모
강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2009년 1월호
("올리디버거 플러그인의 구조와 원리 4회 - 유용하며 재미있는 플러그인 中)



게임 해킹 시연에서 보통 많이 타겟으로 사용되는 것은 핀볼이나, 지뢰찾기 등이다. 이 두가지 타겟을 선정하는 이유는, 공개적으로 제공되는 게임이라 법적 분쟁에서 자유롭기도 하고, 또 메모리 해킹 테스트용으로는 아주 쉬운 대상이 되기 때문이다.

하지만 몇 년 째 이와 같은 레파토리가 반복되다 보니 이제 보는 사람 입장에선 두 게임 중 하나만 거론되어도 식상해 하거나 졸리다는 표정의 반응이 나오고 있다. 인터넷에는 소스가 공개된 오픈 게임이 많이 베포되어 있다. 게임 해킹 세미나 등, 시연 자료 제작을 할 때에 그런 게임을 구해서 PPT를 작성한다면, 준비 과정중 새 코드를 보면서 본인의 공부에도 도움이 되고, 관객 입장에서도 새로운 소재가 나와서 신선하므로 여러가지 면으로 좋을 것 같다. 이제 핀볼과 지뢰찾기가 세미나에서 난자질 당하는 모습은 더 이상 그만 보았으면 하는 바램이다.
Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/228 관련글 쓰기

댓글을 달아주세요

소스 분석과 리버싱



강병탁 / window31 (window31@empal.com / www.window31.com)


월간 마이크로소프트웨어 2008년 12월호
("올리디버거 플러그인의 구조와 원리 3회 - 리버싱 보조 플러그인 中)


리버스 엔지니어링이란 참 묘한 부분이 있다. 수십 시간을 투자해도 결과물이 나오지 않아 스트레스를 받을 때가 있는 반면에 단 몇십분만에 분석이 완료되어 쾌감을 느낄 때가 있다는 양면성 때문이다. 그것은 바이너리가 크고 작고의 문제가 아니며 코드의 양 또한 이유가 되지 못한다. 바로 분석 지점의 정확하고도 탁월한 선택이 어떻느냐에 따라 달라지는 내용이다. 그리고 그것은 분석가를 지치고 괴롭게 하거나 또는 명쾌한 해결이라는 지름길로 안내해 줄 지를 결정하게 된다.

그래서 타겟의 목표 번지 선정이 필요한 것이고 브레이크 포인트라는 개념이 존재한다. 타인이 개발한 프로그램의 소스를 받아 살펴볼 때와 리버스 엔지니어링의 공통점이 바로 그것이다. 내가 아는 부분이나 불필요한 부분, 나의 소스분석의 목적과 관계가 없는 부분은 더듬어갈 필요가 없다. 그리고 그런 부분은 살펴보아봤자 시간낭비가 될 뿐이다. 개발자와 리버서는 늘 시간에 쫓기는 사람들이다. 자신이 원하는 기능과 필요로 하는 내용을 섭렵하기 위해서 정확한 목표 지점을 선정하는 작업은 정말 필수적인 것이다........

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/223 관련글 쓰기

댓글을 달아주세요

2008 SCA DebugLab 발표자료



 





이번주 토요일날 발표할 PPT 자료입니다.
급조해서 만든지라, 이번에도 쵸큼 챙피하네요 (요즘은 왜 계속 챙피한 일만 생기는 건지)
DEMO가 들어간 페이지는 시연이 포함된 내용이 될 것 같습니다.
디버그랩 사이트에서도 다운로드 받을 수 있습니다.

참고로 발표내용에 대한 소요시간 시뮬레이션을 거치지 않았으므로
상황에 따라 여기서 내용이 더 늘어날 수도 줄어날 수도 있을 것 같습니다.

첨부파일 비번은 "카페모카" 입니다.

2008 SCA 관련 며칠전 포스트 : 여기



 

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/218 관련글 쓰기

댓글을 달아주세요

  1. weslinkr
    2008/11/12 04:07
    댓글 주소 수정/삭제 댓글
    오옷..드디어 올라왔군요. :) 알찬 정보를 베풀어 주셔서 감사합니다. 마음 속으로나마 항상 응원하고 있어요.
    • 2008/11/13 21:41
      댓글 주소 수정/삭제
      응원 감사합니다 ^^
  2. 2008/11/12 13:10
    댓글 주소 수정/삭제 댓글
    우와.. 재밌겠는데요?
    기대됩니다~~
    • 2008/11/13 21:41
      댓글 주소 수정/삭제
      다 아시는 걸텐데.. 부끄럽네요 ;
  3. 2008/11/13 17:42
    댓글 주소 수정/삭제 댓글
    당일날 참석하지 못해 안타까울 뿐입니다...
    그래서 지금 볼려고 하는데 zip의 패스워드가 카페모카 맞나요???
    안풀리는...;;
    • 2008/11/13 18:56
      댓글 주소 수정/삭제
      영어로 맞춰놓고 '카페모카'치니까~ 되네요~ :D
      'zk?p?h??' :D
    • 2008/11/13 20:01
      댓글 주소 수정/삭제
      신선하군요~ XD
    • 2008/11/13 20:17
      댓글 주소 수정/삭제
      Oh~ :p 정말로 흥미진진하네요...

      특히 PEB(PEB_LDR_DATA/MODULE_ENTRY) 조작 없이, 후킹 없이 DLL을 숨기는 건 어떤 방법일지 정말 궁금합니다...
    • 2008/11/13 21:42
      댓글 주소 수정/삭제
      보시면 압니다 ;
    • 2008/11/14 00:26
      댓글 주소 수정/삭제
      ㅠㅠ 이런 말씀 드려서 죄송한데 그날 세미나를 못가게 될 것 같네요...;; (저는 부산에 살고 있는지라 거리상,시간상으로 갈 수 있는 여건이 안되서요...;;)

      그래도 멀리서 나마 응원하고 있겠습니다... 힘내세요~!!
    • 2008/11/14 01:23
      댓글 주소 수정/삭제
      이런!! 아쉽군요.
      실력이 보통이 아니신 거 같은데 나이는 정말 젊으시네요 ^^;
      다음에 꼭 볼 수 있었으면 해요 : )
  4. 2008/11/16 10:52
    댓글 주소 수정/삭제 댓글
    오 지져스, 내공이 묻어나는 PPT이네요 :-O
    -_-; 전 과다음주로 토요일날이 없는 일주일을 보냈구요,
    금요일 눈을 감아, 눈떠보니 일요일이네요 -_-)
    • 2008/11/16 11:13
      댓글 주소 수정/삭제
      '토요일날이 없는 일주일' 에서 한참 웃었습니다...;;
    • 2008/11/16 22:53
      댓글 주소 수정/삭제
      POC는 못갔네요
      사무엘군이 하는 발표도 보고 싶었는데 이런!
  5. 2008/11/16 15:06
    댓글 주소 수정/삭제 댓글
    어제 세미나 잘봤습니다. 많이 젊어보이시던군요!!ㅋ

    여러 방법들을 알 수 있어서 재밌었고, 신선했습니다. 유익한 시간이었어요~ : )

    강의 준비하고 하시느랴 수고하셨습니다!!
    • 2008/11/16 22:53
      댓글 주소 수정/삭제
      하하 전 아직 젊습니다 ㅎㅎㅎ
      발표 잘 봐주셔서 감사합니다!!
  6. seyool
    2008/11/17 09:07
    댓글 주소 수정/삭제 댓글
    만나뵙게 되서 반가웠습니다.
    리버싱은 시간싸움이라는 말씀과 IAT 르네상스 그리고 여러가지 재미난
    꽁수들이 기억에 남네요.
    아직도 저는 우물안에 개구리같네요;;
    유용한 정보들을 공유해주셔서 감사합니다 ^^
    • 2008/11/16 22:55
      댓글 주소 수정/삭제
      공개댓글로 해주셨어도 괜찮았을텐데 ^^;
      많이 아시는 분들 앞에서 발표하는건 참 민망 ;;
      저도 반가웠습니다 !
  7. 2008/11/16 20:29
    댓글 주소 수정/삭제 댓글
    세미나 최고였습니다!!! :)
    • 2008/11/16 22:55
      댓글 주소 수정/삭제
      리버싱의 고수에게 이런얘기 들으면 기분 좋죠 ^^;
  8. 2008/11/16 21:56
    댓글 주소 수정/삭제 댓글
    비밀댓글입니다
  9. 2008/11/17 09:26
    댓글 주소 수정/삭제 댓글
    고수는 아니고 초수라는... ;;;

BLOG main image
by window31

카테고리

분류 전체보기 (281)
Reverse Engineering (21)
C, C++ (20)
Kernel (8)
Guitar (19)
잡담 (77)
etc (8)
who am i (8)
보안 이야기 (88)
Tools (3)
월간 마이크로소프트웨어/그.. (28)

글 보관함