웹 개발자라면 반드시 읽어야 할 첫 "Ajax 보안" 책

사용자 삽입 이미지

웹 개발자가 꼭 알아야할 Ajax 보안
빌리 호프만, 브라이언 설리번 지음 | 고현영, 윤평호 옮김
496쪽 | 30,000원 | 2008년 11월 10일 출간예정 | 해킹·보안 시리즈 18


어느 때부터인가 조금씩 우리의 웹 생활을 조금씩 바꿔놓은 Ajax 기술. 몇 년 사이 급부상해 웹 개발의 스타로 떠오른 Ajax는 새로운 기술이 아닌, 이미 존재하던 자바스트립트비동기성을 이용한 기술입니다. 그렇기에 그 두 가지에서 발생하는 문제를 고스란히 간직하고 있었습니다.

'빛이 밝으면 그림자의 어둠도 깊다'는 말처럼 Ajax에 비춰진 화려한 스포트라이트 뒤에는 우리가 간과하거나 알면서도 애써 덮어두려 했던 문제점이 하나둘 부각되기 시작했습니다. Ajax는 서버에 요청하는 코드를 클라이언트 단에 두고 움직이는 자바스크립트에 기반한 기술이기 때문에 보안에 취약한 약점을 태생적으로 지니고 있었던 거죠. 따라서 Ajax 보안에 대한 문제점은 누구나 인식을 하면서도 마치 뜨거운 감자라서 함부로 건드리지 못하는 채로 방치되고 있었습니다.

드디어 누구나 쉽게 이해할 수 있도록 보안 전문가가 아닌 웹 개발자의 관점을 최대한 고려해 Ajax 보안을 기술한 책이 출간됐습니다.

이 책은 보안 전문가라면 반드시 알고 있어야 할 내용이지만, 그보다는 실제로 Ajax 웹 애플리케이션을 만드는 웹 개발자를 대상 독자로 하는 책이기 때문에 딱히 보안 전문가가 아니더라도 웹 개발자가 쉽게 이해할 수 있도록 구성했습니다. 저자는 일상생활에서 일어날 수 있는 쉬운 예를 통해 보안 개념과 발생가능한 문제를 설명하고 있습니다.

예를 들면, 8장에서 통화시 말끝마다 큰 소리로 특정 문구를 얘기하는 빌리라는 사람의 사례를 들어, 매번 요청문을 보낼 때마다 쿠키를 첨부해야하는 특성과 쿠키에서 발생할 수 있는 문제점이 무엇인지 지적하고 있습니다. 이 외에도 은행과 쇼핑몰의 비유, 클럽에 들어갈 수 있는 자격을 가진 사람의 비유, 블랙 박스와 화이트 박스의 비유를 들어가며 보안에 대한 개념을 단계별로 접근하기 쉽게 설명하고 있습니다.

1장부터 7장까지는 Ajax의 기본개념부터 관련 기술, 개발시에 발생할 수 있는 여러 핵심 보안 이슈를 설명합니다. Ajax, XMLHttpRequest(XHR), XML, DHTML, 서버-클라이언트 프로그래밍시 고려할 사항 등 Ajax를 쓰면서 다뤄야 할 기술의 핵심 내용과 이런 기술간의 연동시 고려해야 할 사항을 언급하는데, 앞에서 이야기 했듯이 여러 보안 이슈를 실제 일상생활 예를 들어가며 설명하고 있기에 이해하기 쉽습니다.

8장부터 12장까지가 이 책의 핵심이라고 할 수 있습니다. 클라이언트단 스토리지, 오프라인 Ajax 애플리케이션, 요청 출처 이슈, 매시업 등 고급 주제에 대해 다룹니다. 국내 개발자들이 사용은 해봤지만 취약한 부분이 무엇인지 모르거나 혹은 그 개념이 어려워서 접근하기 어려웠던 기술을 쉽게 설명하며 문제점과 해법을 제시합니다.

13장에서 15장까지는 자바스크립트 웜, 테스트할 때의 마음가짐, Ajax 프레임워크에서 발생할 수 있는 보안이슈에 대해 설명합니다.
 
이처럼 이 책에서는 전반적으로 문제가 될 수 있는 Ajax 코드와 이에 대한 해법을 제시하며, 무엇보다도 실제 코드 사례나 비유를 통해 웹 개발자도 누구나 이해하기 쉽게 쓰여졌다는 것이 포인트입니다. 그리고 웹 개발자들이 간과했던 보안 이슈, 스레드간의 경쟁상태에서 발생할 수 있는 오동작으로 인한 취약점, 프레임워크 사용시 발생할 수 있는 보안 문제 등을 다룹니다.

또한 이 책 전반을 통해 저자는 입력 검증(validation)의 중요성과, 중요한 로직은 서버단에 두고 클라이언트단에는 두지 말것을 일관되게 설파합니다.
 
계속 말씀드리지만 Ajax 웹 애플리케이션 보안 문제에 대해 "이거다!"라고 내놓을 수 있을 만한 정답을 찾기란 쉽지 않습니다. 그러나 이 책을 읽으면 그동안 간과했던 문제에 대한 경각심이나 통찰력을 키울 수 있을 것이라 생각합니다.

이 책은 처음 저희 에이콘에서 번역서를 펴내게 되신 고현영님과 윤평호님이 번역을 하셨습니다. "열심히, 꼼꼼히, 훌륭하게" 번역을 마무리해주신 두분께 감사 말씀 드립니다. 특히, 주위 소개 없이 직접 에이콘출판사의 문을 두드리고 역자 신청을 해주셔서 인연을 맺게 된 후 먼 길 오가며 책 마무리까지 정말 열심히 해주신 고현영님께 정말 감사합니다. 앞으로도 저희 해킹 보안 책의 훌륭한 역자로서 좋은 책 소개해드릴 수 있을 것 같습니다.

마지막으로 저자들이 책 첫 머리에 써놓은 위트 넘치는 서문을 한번 읽어보세요. :)

불, 수레바퀴, 전기.

인간의 이 위대한 발명품들은 오랜 시간을 거쳐 Ajax라는 기념비적인 업적을 탄생시키는 것으로 이어진다.

직립보행을 시작한 그때부터 인간은 웹에서 페이지를 부분적으로 갱신할 수 있는 날을 꿈꿔왔다. 아니 그날을 갈망했다.

어느 날 아침 제시 제임스 가렛은 샤워를 하던 중에 절대자 하나님으로부터 Ajax 복음을 계시받았다.

그러나 아즈텍의 코르테스나 스타워즈 에피소드 전편에서처럼 인류의 희망으로 등장했던 궁극의 기술이 결국 파멸의 앞잡이로 전락하고 말았다.

Ajax의 보안상 취약점이 그 음흉한 고개를 들고, 거리는 혼돈으로 가득 찼다. 찬란했던 문명은 모래처럼 무너져 내리고 있었다.

이때 빌리와 브라이언, 이름 없는 두 용사가 Ajax의 거대한 공포에 맞서 분연히 들고 일어났다.

연약하고 무고한 사람들을 지키기 위해.
어둠의 세력을 무찌르기 위해.
우주 모든 생명의 종말을 막기 위해.

49.99달러 혹은 3만원을 흔쾌히 내고 이 책을 구입해주신 여러분께 진심으로 감사드린다.

이 책은 지금 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 예약 판매를 하고 있습니다. 웹 보안의 취약점을 우려해오셨던 분들께 길잡이가 될 수 있기를 바랍니다.

CC

크리에이티브 커먼즈 라이센스 에이콘출판사에 의해 창작된 이 저작물크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.


  • kenu| Nov 06, 2008

    이게 다 구글맵을 만든 구글때문이야 라고 말하고 싶습니다. 예전엔 "이건 웹이라 안되요"라고 배짱 튕겼는데 말이죠.
    복잡해진만큼 구글 연봉 따라갔으면 좋겠습니다.

  • 호야지기| Nov 06, 2008

    이게 다 에이콘 때문이야 라고 말하고 싶습니다만...ㅎ

  • lovedev| Nov 07, 2008

    기대되네요 정말..빨리 읽고 싶습니다! :)