확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
리버싱

리버싱

: 리버스 엔지니어링 비밀을 파헤치다

에이콘출판사- 해킹과 보안 시리즈이동
리뷰 총점10.0 리뷰 1건 | 판매지수 270
베스트
IT 모바일 top20 4주
정가
40,000
판매가
36,000 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  국내배송만 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2009년 05월 11일
쪽수, 무게, 크기 660쪽 | 188*254*35mm
ISBN13 9788960770805
ISBN10 8960770809

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 엘다드 에일람 (Eldad Eilam)
리버스 엔지니어링 분야의 컨설턴트로서 고객에게 운영체제와 소프트웨어 리버스 엔지니어링의 전문 서비스를 제공한다. 수년간 개선되고 진일보된 리버스 엔지니어링 기술을 개발하려고 노력하는 중이다.
역자 : 윤근용
시스템 프로그래머로서 시스템에 대한 다양한 분야에 관심이 많으며 특히 보안 분야에 대한 관심이 높아 다년간 보안 업무에 종사하고 있다. 바이러스 보안 업체를 거쳐 현재는 NHN에서 보안 관련 프로젝트를 수행 중이다. 에이콘출판사에서 펴낸 『웹 애플리케이션 해킹 대작전』, 『실전해킹 절대내공』, 『루트킷』을 번역했다.

책 속으로 책속으로 보이기/감추기

리버싱의 세계에 들어온 것을 환영한다. 이 책은 내가 다년간 소프트웨어 개발 프로젝트를 수행하며 여러 기업의 코드를 리버싱해온 경험에 근거해 저술했다. 초기 리버스 엔지니어링 작업은 정보를 얻어내기 위한 목적으로 오직 한 가지 방법만을 사용해 수행하는 매우 지루한 작업이었다. 그런데 어느 순간 갑자기 내 생각을 가로막던 장벽이 사라지고 문서화되지 않은 기계 코드를 매우 빨리 분석하고 있는 내 자신을 발견하게 됐다. 즉, 코드의 기능과 목적을 빠르게 알아낼 수 있게 된 것이다. 그때부터 이처럼 코드의 기능과 목적을 빨리 알아내는 것이 매우 강력한 기술이라는 사실을 깨달았다. 프로그램의 문서나 소스코드가 없는 상태에서도 해당 소프트웨어에 대한 질문에 매우 쉽게 답할 수 있게 됐다. 이 책은 누구나 소프트웨어를 제대로 이해할 수 있도록 관련 지식과 기술을 설명해준다.

리버싱을 제대로 하려면 로우레벨 소프트웨어를 충분히 이해해야 하고 어떤 프로그램 바이너리에서든 필요한 정보를 쉽게 끄집어 낼 수 있는 기술을 배워야 한다. 아무도 시스템의 동작 방식을 제대로 설명해 주지 않지만, 그건 아무런 문제가 되지 않는다. 우리 스스로 그것을 파헤치고 알아내면 되기 때문이다. 이 말이 좀 겁나고 비현실적으로 들리는가? 그렇지 않다. 이것이 바로 이 책의 목적이다. 이 책은 다양한 문제를 해결하는 데 적용할 수 있는 리버스 엔지니어링 기술을 설명하고 가르쳐준다. --- '저자 서문' 중에서

소스 코드가 없는 상태에서 프로그램이 수행하는 작업을 알아내기 위한 방법은 여러 가지가 있을 수 있다. 일차적인 방법은 각종 분석 툴을 이용해서 분석하는 것이다. 툴을 이용하면, 프로그램이 어떤 시스템 API를 호출하는지, 프로그램이 접근하는 파일이나 레지스트리는 무엇인지 그리고 어떤 네트워크 프로토콜을 사용해서 통신을 수행하며 네트워크 상에서 주고 받는 데이터는 어떤 것인지 등을 알아낼 수 있다. 이는 매우 간단해서, 빠른 시간 안에 많을 정보를 얻을 수 있는 방법이다.

하지만 여기에는 분명한 한계가 있다. 프로그램이 내부적으로 어떤 알고리즘과 기술을 사용해서 구현됐는지 알아내려면 프로그램 코드, 정확히 말하면 프로그램의 어셈블리 언어 코드를 분석해야만 한다. 물론, 디스어셈블된 어셈블리 언어 코드 분석을 도와주는 좋은 툴이 많이 있지만, 여전히 어셈블리 언어 코드를 분석해 나가는 작업은 지루하고 인내가 필요한 작업이다. 경우에 따라서는 운영 체제와 같은 시스템 내부적인 지식이 필요한 경우도 있다. 여기에 한가지 더, 분석에 대한 센스가 있으면 더 좋을 것이다.

보안적인 측면에서 보면 리버싱은 보안을 강화할 목적과 보안을 침해할 목적 모두에 사용된다. 막는 것보다는 공격하는 것이 언제나 훨씬 쉽고 재미 있다. 공격은 공격 자체만을 생각하면 되지만 방어는 공격 자체에 대한 방어뿐만 아니라 다양한 주변 요소들까지도 고려해서 종합적인 방어책을 마련해야만 한다. 즉 막는 것만이 능사가 아니라 잘 막는 것이 중요하다. 공격자들은 소프트웨어(또는 운영 체제)를 크랙하거나 그것의 취약점을 찾아내기 위해, 디스어셈블된 어셈블리 언어 코드를 분석(어셈블리 언어 자체에도 버그(?)가 있지만)해서 공격 포인트를 찾아낸다.

우리가 어떤 프로그램 언어를 선택해서 프로그램을 작성하든 결국에는 모두 기계어 코드(어셈블리 언어 코드) 형태로 실행된다. 결국에는 모두 어셈블리 언어 코드로 귀결되는 것이다. 요즘 같은 최첨단 시기에 고루하기 짝이 없는 어셈블리 언어에 왜 관심을 가져야 하는지 불평할 수도 있다. 물론 어셈블리 언어나 그것을 분석하는 리버싱 기술을 전혀 몰라도 소프트웨어를 개발하는 데에는 아무런 문제가 되지 않는다. 하지만 로우레벨의 시스템 프로그래밍이나 보안 분야에서는 어셈블리 언어를 반드시 알아야 한다. 시스템 내부를 자세히 알고 싶거나 심지어는 다른 소프트웨어의 특화된 기술이나 기능을 분석하고자 한다면 리버싱은 필수적인 요소다.

이러한 관점에서 이 책은 개발자들이나 보안 전문가들에게 분명히 도움이 될 것이다. 리버싱을 한 번도 해보지 못한 독자라도 기본적인 어셈블리 언어와 프로그래밍 지식만 있다면 누구나 이 책을 통해서 '리버싱'을 경험해볼 수 있을 것이다. 또한 이 책은 단순히 리버싱 기술 전달에만 치우치지 않고 법적인 부분 등 리버싱과 관련된 다양한 측면을 두루두루 다룬다.

자기가 작성한 프로그램이 어떻게 어셈블리 언어로 표현되는지 확인해 보는 것만으로도 리버싱 기술 향상에 많은 도움이 된다. 또한 프로그램 소스 코드 변경에 따라서 어셈블리 언어 표현이 어떻게 변경되는지 확인해 보면, 프로그램 언어 구문 자체의 내부적인 의미를 정확히 파악할 수 있다. 한 예로, 객체 지향 언어의 특징이 로우레벨에서 어떻게 표현되는지 알 수 있다. 물론 이 책에서도 이 부분을 자세히 다룬다. 이렇게 로우레벨 언어를 통해서 하이레벨 언어의 내부를 이해하게 되면 좀 더 정확히 하이레벨 언어를 이해한 상태에서 프로그래밍을 할 수 있다.

리버싱은 어떤 것을 분해, 해석해서 얻어낸 정보를 알아볼 수 있는 형태로 표현하는 한다는의미로 보면, 번역이라는 작업도 리버싱이라고 할 수 있다. 따라서 역자를 "Reverser"라고 표현한다 해도 그렇게 무리가 있어 보이지는 않는다. 이 책을 번역하면서 예전에 난해한 16진수 숫자들을 바라 보면서 낑낑대던 기억이 떠올랐다. 리버싱은 어찌 보면 인내와 끈기가 필요한 작업이다. 당시는 모든 것이 새로운 시기였기 때문에 이런 책이 너무나도 절실했다. 부디 이 책을 통해서 리버싱과 어셈블리 언어를 좀 더 체계적으로 학습할 수 있는 기회가 되길 바란다.
--- '옮긴이의 말' 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

회원리뷰 (1건) 회원리뷰 이동

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   36,000
뒤로 앞으로 맨위로 공유하기