알라딘

헤더배너
상품평점 help

분류

이름:크리스 카스퍼스키 (Kris Kaspersky)

최근작
2014년 1월 <소프트웨어 취약점 분석을 위한 리버싱과 보안 평가 세트 - 전3권>

크리스 카스퍼스키(Kris Kaspersky)

기술 서적 저자로서, Hacker Uncovered 시리즈 도서들과, <Code Optimization: Effective Memory Usage(코드 최적화: 효율적인 메모리 사용)>, <CD Cracking Uncovered: Protection Against Unsanctioned CD Copying(알려지지 않은 CD 크래킹: 승인되지 않은 CD 복사를 방지하는 보호 기술)>, <Data Recovery Tips & Solutions: Windows, Linux, and BSD(데이터 복구 팁 & 솔루션: 다양한 관점에서 보는 윈도우)> 등의 저서, 그리고 리눅스, BSD 해킹, 디스어셈블링, 코드 최적화 등과 관련한 다양한 기고문을 발표했다. 주로 컴파일러 개발, 최적화 기술, 보안 메커니즘 연구, 실시간 OS 커널 개발, 소프트웨어 보호 메커니즘, 안티 바이러스 프로그램 개발과 관련된 보안 및 시스템 프로그래밍을 주로 다룬다.  

대표작
모두보기
저자의 말

<해킹의 꽃 디스어셈블링 Hacker Disassembling Uncovered> - 2013년 12월  더보기

★ 저자 서문 ★ 나는 어린 시절부터 컴퓨터에 흠뻑 빠져 지내왔다. 특히 리버스 엔지니어링, 보안 메커니즘의 취약점 발견, 자체 보호 시스템 개발 등에 관심이 많다. 컴퓨터의 "깊은 영역에는 무엇이 있을까"라는 의문과 함께 쇠파이프와 망치(비유하자면)를 사용해 무언가를 부셔버리고 싶은 자연스러운 욕망이 집필이라는 새로운 도전으로 이어졌다. 과연 컴퓨터를 부숴서 안을 열어보지 않고 이것이 어떻게 동작하는지 이해할 수 있을까? 우주를 만물을 이해하기 위해 애쓰는 사람을 해커라 부른다면 나 또한 이들과 한 배를 탄 사람이다. 해킹은 지각 있는 존재가 느끼는 자연스러운 욕구 중 하나다. 해킹은 세상 만물의 참된 진실을 이해하기 위한 험난한 길을 지나 파멸을 향해 덤벼드는 여정과 같다. 주위를 둘러보자. 핵물리학자들은 원자를 분리하고, 화학자들은 긴 길이의 분자를 여러 조각으로 쪼개며, 수학자들은 식을 분해한다. 그 누구도 이들을 비난하지 않는다. 하지만 이상하게도 소프트웨어 안을 들여다보고 분해를 시도하는 코드 분석가들은 종종 검열을 받는다. 이들을 규제하는 것이 과연 정당한 행위인가? 일반적인 해킹, 그 중에서 특히 디스어셈블링이 정말 불법적인 행위란 말인가? 해킹은 공공 기물을 파손하는 행위가 아니다. 해킹은 자연스러운 호기심과 세상 만물을 이해하려는 욕구의 결과물이다. 디스어셈블 리스트, 기계어 명령, 소프트아이스 특유의 검은 화면은 초기 MS-DOS 시절을 상기시켜 주는 매력적이고 흥미로운 영역이다. 이 영역은 숨겨진 메커니즘과 보호 코드의 세상 속에 위치한다. 지도상에서는 이 영역을 찾을 수 없다. 이 세계는 출력물의 한 부분, 가장 흥미로운 위치에서 확인하는 기술 매뉴얼, 모니터 앞에서 밤을 꼬박 새는 순간에만 접근이 가능하다. 보호 메커니즘 개발자와 해커는 서로 적이며, 동지다. 해커가 수준 높은 보호 메커니즘을 구축하지 못하는 프로그래머의 무능력함에 기생한다면 반대로 프로그래머 또한 보호 메커니즘 우회 프로그램 제작이 불가능한 사용자들의 무능력함을 공격한다. 해킹과 프로그래밍은 많은 부분에서 공통점이 있다. 수준 높고 신뢰성 있는 보호 메커니즘을 제작하려면 상당 수준의 로우레벨 프로그래밍 기술이 필요하다. 이 밖에도 운영체제, 드라이버 및 관련 도구를 다룰 수 있는 능력, 최신 프로세서 아키텍처에 대한 지식, 특정 컴파일러를 위한 코드 생성 기능, 사용 중인 라이브러리의 '생태'에 대한 이해가 선행돼야 한다. 이 정도 프로그래밍 수준에서 볼 때 프로그래밍과 해킹의 차이는 너무 근소해서 그 선을 긋기가 애매할 정도다. 보호 메커니즘 개발에 뛰어들기 전에 프로그래머는 최소한 해커의 작업 방식과 그들이 사용하는 도구를 이해할 필요가 있다. 해커와 동등한 관점에서 해커의 무기고를 분석하는 것도 좋은 방법이다. 하지만 무엇보다 직접 부딪혀 보는 방법이 가장 효과적이다. 프로그래머는 실전 경험(프로그램 크래킹)을 통해 해커가 사용하는 공격 기법과 전략을 효과적으로 익힐 수 있고, 이를 통해 최적의 방어 전략을 구성할 수 있다. 또한 이런 경험은 해커의 공격 대상이 될 수 있는 가장 가능성 높은 대상을 찾아내 방어를 강화할 수 있는 대응력을 길러줄 뿐만 아니라, 프로그래머의 모든 가용 자원과 전략을 적재적소에 집중시킬 수 있게 만들어준다. 즉, 보호 메커니즘 개발자는 해커의 심리를 잘 파악해야 하며, 해커처럼 생각하는 습관을 길러야 한다. 정보보호 기술을 통달하는 것은 크래킹 기법을 통달하는 것과 같다. 보호 메커니즘에 존재하는 취약점에 대한 이해와 이를 크랙하는 방법, 해커의 무기고에 대한 정보 없이는 저렴한 비용으로 쉽게 구현이 가능하면서도 강력한 보호 메커니즘을 개발할 수 없다. 보호 메커니즘의 관점에서 기술된 대부분 보안 관련 서적들은 실제 애플리케이션이 아닌 단편화된 정보 제공에 대해서만 언급하는 경향이 있다. 이 책은 크래킹이나 안티해커 보호 메커니즘에 대한 매뉴얼이 아니다. 이런 매뉴얼 형식의 책은 이미 많이 시판됐으며, 그보다 이 책은 코드 분석가를 위한 '여행 일기'에 가깝다고 할 수 있다. 이 책을 통해 인텔 컴파일러부터 상용 프로그램의 보호 메커니즘 내부를 전문적으로 다루기 위한 디스어셈블러와 디버거 활용법 등을 학습한다. 당장이라도 이 책을 던져버리고 싶을 만큼 앞으로 나아가는 것이 두려운 사람이 아니라면 누구라도 새롭고 흥미로운 사실을 깨우칠 수 있는 기회를 얻게 될 것이다. 개정2판에서 새롭게 추가된 내용 이 책의 초기 목적은 전문가의 분석 능력 향상에 초점을 맞췄다. 하지만 1판이 발행된 후 독자들에게 받은 칭찬과 비판들을 고려하지 않을 수 없었다. 독자들은 책이 좀 더 대중성 있고 많은 사람이 이해하기 쉽게 구성되기를 원했다. 하지만 한 권의 책에 모든 독자가 만족할 만한 내용을 전부 포함시키는 것은 거의 불가능하다. 나는 이 책이 가장 폭넓고 든든한 독자층인 해킹 초보자들의 갈증을 해소할 수 있게 도와주고 싶다. 초보자들이 컴퓨터에 느끼는 심리적 무기력감을 이 책을 통해 극복할 수 있다면 더할 나위 없을 것 같다. 전문가들에게는 이 책의 내용이 크게 도움이 되지 않을 수 있다. 대부분 전문가들은 1판의 내용 중 흥미로운 부분들이 곳곳에 산재해 있는 정도여서 책을 대략적으로 훑는 것만으로 충분하다고 언급했다. 예를 들어 다음과 같은 의견이 있었다. "이 책에는 좋은 내용이 많이 담겨 있지만, 개인적으로 깊이 있는 설명 면에서는 부족하다고 생각한다." 많은 전문가 독자가 책이 너무 윈도우 중심으로 서술돼 있다는 불만을 제기했다. 이러한 비난은 나의 역할과 임무를 명확하게 만드는 촉진제 역할을 했다. 2판을 집필함에 있어 1판에서 제기된 모든 비평을 최대한 수용하고 개선하기 위해 노력했다. 이 책의 2판에서는 실제 디스어셈블링 기법에 대한 내용을 보완했다. 책에서 제공된 이론과 예제는 디스어셈블링 입문에 필요한 내용을 포함한다. 특정 언어 구조체를 분석하는 것부터 시작해 디스어셈블된 코드에서 길을 잃지 않는 방법, 정교한 트랩에 빠지지 않는 방법까지 다양한 내용을 다룬다. 뿐만 아니라 메모리 덤프 분석과 합법적인 소프트웨어 보호 메커니즘, 악성 프로그램에 대한 내용을 다룬 새로운 단원도 추가했다. 모든 예제는 새로운 개념과 최신 트렌드를 고려해 수정 작업을 거쳤다. 특히 안티디버깅 기법 극복과 패킹, 암호화, 다형성, 난독화 처리된 코드 분석 같이 중요한 주제에 관련된 내용은 좀 더 심층적으로 다뤘다. 1판에서 누락됐거나 잘못된 부분 또한 모두 수정했다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자