이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
Ajax 보안
웹 개발자가 꼭 알아야 할
원제
Ajax Security
베스트
IT 모바일 top100 2주
가격
30,000원
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

에이콘출판사- 해킹과 보안 시리즈

책소개

목차

1장 Ajax 보안 소개
Ajax 첫걸음
Ajax란 무엇인가?
비동기 방식
자바스크립트
XML
DHTML(다이내믹 HTML)
Ajax 아키텍처로의 패러다임 전환
무거운 클라이언트 아키텍처
가벼운 클라이언트 아키텍처
Ajax: 아키텍처계의 금발 미녀
보안 관점에서 본 무거운 클라이언트 애플리케이션
보안 관점에서 본 가벼운 클라이언트 애플리케이션
보안 관점에서 본 Ajax 애플리케이션
보안 취약점의 재앙
복잡도, 투명성 그리고 규모의 확장
사회학적인 이슈
Ajax 애플리케이션: 매력적인 전략 목표
결론

2장 보이지 않는 도둑
이브
HighTechVacations.net 해킹
쿠폰 시스템 해킹
클라이언트단 데이터 바인딩 공격
Ajax API 공격
보이지 않는 도둑

3장 웹 공격
공격의 종류
리소스 열거
파라미터 조작
그 밖의 공격 방법
크로스 사이트 요청 변조
피싱
서비스 거부 공격
리소스 열거와 파라미터 조작으로부터 보호하라
보안 소켓 계층
결론

4장 Ajax 공격 영역
공격 영역의 이해
전통적인 웹 애플리케이션 공격 영역
폼 입력
쿠키
헤더
숨겨진 폼 입력
쿼리 파라미터
업로드 파일
전통적인 웹 애플리케이션 공격: 성적표
웹 서비스 공격 영역
웹 서비스 메소드
웹 서비스 정의
Ajax 애플리케이션 공격 영역
Ajax 애플리케이션 공격 영역의 근원
해커에게 최고의 먹잇감
적절한 입력 확인
블랙리스트와 특별 조치의 문제
병 대신 병의 징후 다루기
화이트리스트 입력 검증
정규 표현
입력 검증에 대한 숙고
리치 사용자 입력 검증
마크업 언어 검증
이진 파일 검증
자바스크립트 소스코드 검증
시리얼라이즈 데이터 검증
사용자 지원 콘텐츠의 신화
결론

5장 Ajax 코드 복잡도
다양한 언어와 구조
배열 인덱싱
스트링 연산
코드 주석
다른 사람의 문제
자바스크립트와 관련해
인터프리트, 컴파일이 아니야
약한 타입 체크
비동기
경쟁 상태
데드락과 철학자의 식사 문제
클라이언트단 동기화
누구의 조언을 듣느냐가 중요하다
결론


6장 Ajax 애플리케이션의 투명성
블랙박스와 화이트박스
예: MyLocalWeatherForecast.com을 'Ajax'로
비교
API로서의 웹 애플리케이션
데이터 타입과 메소드 시그너처
보안과 관련한 특정 오판
부당한 인증
기능이 나뉜 서버 API
자바스크립트에서의 세션 상태 저장
민감한 정보가 사용자에게 노출될 때
클라이언트단 코드에 있는 주석과 문서화
클라이언트단에서 수행하는 데이터 변환
모호함을 통한 보안
난독화
결론

7장 Ajax 애플리케이션 하이재킹
Ajax 프레임워크의 하이재킹
실수로 인한 함수 덮어쓰기
함수 덮어쓰기의 예
주문형 Ajax의 하이재킹
JSON API의 하이재킹
객체 리터럴의 하이재킹
JSON 하이재킹이 가능한 이유
JSON 하이재킹을 막자
결론

8장 클라이언트단 스토리지 공격
클라이언트단 스토리지 시스템 개관
일반적인 클라이언트단 스토리지 보안
HTTP 쿠키
쿠키 접근 제어 규칙
쿠키의 생존시간
쿠키 스토리지에 대한 추가 기억사항
쿠키 스토리지 요약
플래시 로컬 공유 객체9
플래시 로컬 공유 객체 요약
DOM 스토리지
세션 스토리지
글로벌 스토리지
DOM 스토리지의 구멍
DOM 스토리지 보안
DOM 스토리지 요약
인터넷 익스플로러 userData
보안 요약
일반적인 클라이언트단 스토리지 공격법과 대처법
크로스 도메인 공격
크로스 디렉토리 공격
크로스 포트 공격
결론

9장 오프라인 Ajax 애플리케이션
오프라인 Ajax 애플리케이션
구글 기어
자체 보안 기능과 구글 기어의 단점
작업풀의 이용
LocalServer 데이터의 노출과 감염
구글 기어 데이터베이스로의 직접 접근
SQL 인젝션과 구글 기어
클라이언트단 SQL 인젝션도 위험한가?
DOJO.OFFLINE
키를 안전하게
데이터를 안전하게
패스워드의 선택이 멋진 키를 좌우한다
클라이언트단 입력을 검증하자
오프라인 애플리케이션에 대한 그 밖의 접근법
결론

10장 요청 출처 이슈
로봇, 스파이더, 브라우저, 크롤러
안녕, 내 이름은 파이어폭스야. 청크화된 인코딩, PDF도 좋아하고 해변에서 오랫동안 산책하는 것도 좋아해
요청 출처 불확정성과 자바스크립트
웹 서버 관점에서 본 Ajax 요청
당신일까, 당신을 가장한 누구쿀까
자바스크립트로 HTTP 요청 보내기
pre-Ajax 세계에서의 자바스크립트 HTTP 공격
XMLHttpRequest로 콘텐츠 사냥하기
XSS/XHR 조합 공격
방어
결론

11장 웹 매시업과 애그리게이터
머신에서 활용하는 인터넷 데이터
90년대 초기: 웹의 시대가 오다
90대년 중반: 머신 웹의 탄생
2000년대: 머신 웹의 성숙기
공개적으로 사용 가능한 웹 서비스
매시업: 웹의 프랑켄슈타인
ChicagoCrime.org
HousingMaps.com
그 밖의 매시업
매시업 생성
매시업과 Ajax
브리지, 프록시, 게이트웨이 - 이런!
Ajax 프록시 대안
Ajax 프록시 공격
HousingMaps.com?
매시업의 입력 검증
애그리게이트 사이트
보안과 신뢰가 떨어지는 상황
결론

12장 프리젠테이션 계층에 대한 공격
프리젠테이션의 콘텐츠 괴롭히기
프리젠테이션 계층에 대한 공격
캐스케이딩 스타일시트에서 정보 가져오기
해킹을 보고 느껴라
발전된 형태의 해킹을 보고 느껴라
삽입된 프로그램 로직
캐스케이딩 스타일시트 요소
브라우저 캐시 수정
프리젠테이션 계층 공격 방지
결론

13장 자바스크립트 웜
자바스크립트 웜 개요
기존의 컴퓨터 바이러스
자바스크립트 웜
자바스크립트 웜의 구성
자바스크립트의 한계
자바스크립트 웜의 복제
자바스크립트 웜 실행부
중간 정리
사례 연구: 새미 웜
어떻게 동작하는가
바이러스 실행부
새미 웜에 대한 결론
사례 연구: 야매너 웜(JS/Yamanner-A)
어떻게 동작하는가
바이러스 실행부
야매너 웜에 대한 결론
실제 자바스크립트 웜에서 배우는 교훈
결론

14장 Ajax 애플리케이션 테스트
블랙 매직
모든 사람이 웹 브라우저를 이용해 웹 서핑을하는 것은 아니다.
Catch-22
보안 테스트 도구 ― 혹은 왜 실제 삶이 할리우드 같지 않은가?
사이트 목록 생성
취약점 탐지
분석 도구: Sprajax
분석 도구: Paros Proxy
분석 도구: LAPSE
분석 도구: WebInspect™
보안 테스트에 대한 숙고

15장 Ajax 프레임워크 분석
ASP.NET
ASP.NET AJAX(이전에 ATLAS)
ScriptService
보안성 비교: UpdatePanel과 ScriptService
ASP.NET AJAX와 WSDL
ValidateRequest
ViewStateUserKey
ASP.NET 환경설정과 디버깅
PHP
Sajax
Sajax와 크로스 사이트 요청 변조
Java EE
DWR
자바스크립트 프레임워크
클라이언트단 코드에서 주의할 사항
Prototype
결론

부록 A 새미 웜 소스코드

부록 B 야매너 웜 소스코드

저자 소개

저자 : 빌리 호프만
HP 보안 연구소의 수석 보안 연구원으로, 웹 애플리케이션의 취약점을 자동으로 발견해주는 기술에 일가견이 있다. 블랙 햇, RSA, 툴콘(Toorcon), 쉬무콘(Shmooncon), 인포섹(Infosec)과 AJAXWorld 같은 컨퍼런스의 단골 발표자이며, FBI에서 초청 강연도 했다.
저자 : 브라이언 설리번
HP 소프트웨어의 애플리케이션 보안 센터 부서의 소프트웨어 개발 매니저로서 일하고 있다. HP에 오기 전, SPI 다이내믹에서 책임연구원으로서 DevInspect를 만들었다. 이 프로그램은 웹 애플리케이션의 보안 취약점을 체계적으로 점검을 하는 데 탁월한 성능을 보이고 있다. 브라이언은 산업 현장의 현안을 AJAXWorld, 블랙 햇, RSA에서 발표하고 있다.
역자 : 고현영
PKI(Public Key Infrastructure) 시스템 구축, 개발, 유지보수를 했다. NMS(Network Management System) 개발에도 참여했다. 광운대학교 전자통신공학과와 동대학원을 졸업했으며, 주요 관심분야는 보안과 네트워크 프로그래밍이다.
역자 : 윤평호
보안제품의 초기 기획과 설계를 시작으로 제품 상용화 및 유지보수를 포함한 소프트웨어 개발의 전체 프로세스를 진행했다. 현재 드림시큐리티에서 PKI 시스템 개발과 컨설팅을 하고 있다. 보안과 표준 기술에 관심이 많고 늘 새로운 것에 도전하기를 좋아하는 개발자로, 광운대 수학과를 졸업했다.

관련 분류

품목정보

발행일
2008년 11월 10일
쪽수, 무게, 크기
496쪽 | 1012g | 183*233*30mm
ISBN13
9788960770645

출판사 리뷰

안전하고 견고한 Ajax 웹 애플리케이션을 제작해야 하는 웹 개발자라면 누구나 꼭 알아야 할 Ajax 관련 보안 취약점을 알기 쉽게 설명한 실용 가이드. Ajax 애플리케이션의 잠재적 보안 문제를 제시하고 해결하며, 좀 더 견고하고 안전한 코드를 작성하기 위한 지침을 알려준다. 또 프로토타입, DWR, ASP.NET AJAX 등 잘 알려진 Ajax 프레임워크에서 지원하는 보안 프레임워크와 개발자가 추가로 개발해야 하는 사항도 다룬다.

★ 이 책에서 다루는 내용 ★

■ 관련 기능을 세분화해 제공하는 웹 서비스에서 발생하는 문제, 애플리케이션 제어 절차 조작, 프로그램 로직 조작 등의 피해를 최소화하는 법
■ 자바스크립트 하이재킹, 영속적인 스토리지 강탈, 매시업 악용 등 Ajax 공격 방지법
■ 단 두 번의 요청으로 백엔드 DB 전체 내용을 추출할 수 있는 Ajax 기반 SQL 인젝션 변종 형태의 공격 등 XSS와 SQL 인젝션 기반 공격을 피하는 방법
■ 구글 기어와 도조(Dojo)를 이용한 보안 오프라인 Ajax 애플리케이션 개발 방법
■ 프로토타입(Prototype), DWR, ASP.NET AJAX 같은 Ajax 프레임워크에 보안 개념을 적용하고 프레임워크의 보안상 취약한 부분을 파악하고 보안 코드를 작성하는 방법
■ 새로 작성하는 Ajax 코드를 좀 더 안전하게 작성하는 방법. 기존 코드에 있는 보안 문제를 감지, 수정하는 방법

★ 이 책의 대상 독자 ★

『Ajax 보안』은 Ajax 애플리케이션을 개발하고 유지보수할 사람이나, 새로운 Ajax 소프트웨어를 기획하고 설계할 사람, QA 전문가에서 문제를 점검하는 테스터에 이르기까지 모든 보안 전문가는 물론, 웹 개발자들도 꼭 읽어야 할 필독서다.

★ 저자 서문 ★

Ajax는 사람들이 웹 애플리케이션을 구성하고 배포하는 방식을 완전히 바꿨다. 웹 브라우저가 웹 서버 위에 구축된 강력한 애플리케이션을 사용하기 위해 단순한 벙어리 같은 터미널로서 동작하던 시대는 지나갔다. 오늘날에는 데스크탑 프로그램처럼 반응하는 Ajax 애플리케이션이 클라이언트와 서버의 기능을 모두 이용해 구현될 수 있다. 구글과 야후 같은 회사뿐만 아니라 오픈소스 커뮤니티의 개발자가 클라이언트 측 저장소, 오프라인 웹 애플리케이션, 풍부한 Web API 등 새로운 기능을 선보이며 Ajax의 지평을 넓히는 것을 날마다 보고 있다.

웹 프로그래머와 보안 연구자로서 우리는 쿨한 새로운 애플리케이션과 기술을 가능한 한 많이 배우려고 경주해왔다. 그러나 Ajax가 제공하는 모든 가능성에 흥분하면서도 한편으로는 찜찜한 기분을 떨쳐버릴 수가 없었다. 그 누구도 이 새로운 애플리케이션 구조의 보안상의 반향에 대해 이야기하는 사람이 없었기 때문이다. SQL 인젝션 또는 크로스 사이트 스크립팅과 같은 위험한 보안 취약요소에 좀이 먹힌 예제 코드, 별로 좋지 않은 조언을 해주는 전문가와 그들이 제시하는 자료는 그럴 듯하지만 문제점을 쉽게 찾을 수 있다.

좀 더 언급하자면 잘 알려진 웹 취약점을 무시하거나 부록으로 언급을 미루는 경우가 많다. 그뿐 아니라 너무 낮은 하위 레벨의 웹 서비스를 제공하거나 애플리케이션 흐름제어 조작, 안전하지 않은 방법으로 매시업 프로그램 개발, 우회 가능한 인증 메카니즘을 사용하는 등 더 큰 보안상의 문제가 있음을 알게 됐다. Ajax는 데스크탑과 웹 애플리케이션으로부터 사용성의 장점을 상속받은 동시에 두 세계의 보안 취약점을 모두 물려받았다. 대부분의 개발자에게 보안은 여전히 사후의 문제인 것 같다.

이제, 사고방식이 바뀌어야 한다.

이 책은 최신의 강력한 Ajax 기능을 자신의 애플리케이션에 적용해봄과 동시에 개인적, 금전적 목적을 위해 프로그램의 약점을 찾는 사악한 해커의 먹잇감이 되지 않도록 안전하게 개발하고 싶은 Ajax 개발자를 위한 책이다. 본문에서는 Ajax 애플리케이션의 잠재적 보안 문제를 제시할 뿐만 아니라 그 문제를 해결하고 좀 더 견고하며 안전한 코드를 작성하기 위한 지침을 주고자 한다. 또 프로토타입(Prototype), DWR, 마이크로소프트 ASP.NET AJAX 같은 잘 알려진 Ajax 프레임워크에서 지원하는 보안 프레임워크와 개발자가 추가로 개발해야 하는 사항도 다룰 것이다.

또한 품질 보증 엔지니어와 시장 점유율 테스터에게도 도움이 될 것이다. 우리는 Ajax 애플리케이션에서 자주 보이는 약점과 보안상 결함에 대한 정보를 제공하려고 노력해왔다. 이 책은 Ajax 애플리케이션 감사를 위해 테스트를 진행하면서 부딪칠 문제들, 즉 웹 애플리케이션의 저장 위치를 찾는다든지 결함을 탐지하는 방법에 대해서 기술한다. 이런 도전적인 과제를 완수하는 데 도움을 줄 수 있는 도구를 검토할 것이다. 마지막으로 자바스크립트 하이재킹, 영속적인 저장공간 훔치기, 매시업 공격과 같은 공격 기술도 살펴본다. 그리고 단 두 번의 웹 요청만으로 전체 백엔드 데이터베이스를 뽑아낼 수 있는 단순한 Ajax 기반의 SQL 인젝션 기법처럼 익숙한 공격에 대해 새로운 시각도 제시할 것이다.

이 책은 Ajax나 웹 프로그래밍에 대해 알려주는 책은 아니다. 기술적인 내용은 이미 어느 정도 알고 있으리라 가정한다. 여기서는 보안에 취약한 Ajax 애플리케이션을 설계하고 제작하는 것에 대한 문제점과 실수에 초점을 맞추고 어떻게 하면 안전한 Ajax 애플리케이션을 개발할 수 있는지 조언한다. 이 책은 특정 프로그래밍 언어를 한정하거나 서버 측 애플리케이션을 특정 언어로 작성하도록 유도하지 않을 것이다. 우리는 HTTP, HTML, CSS, 자바스크립트 등 모든 Ajax 애플리케이션이 공통으로 사용하는 컴포넌트를 기준으로 이야기를 진행할 것이다. 웹 서버 코드의 보안에 관해 조언을 할 경우에는 어느 언어로든 작성 가능한 정규 표현식 또는 문자열 연산 함수 같은 기법을 사용할 것이다.

이 책은 개발자와 테스트 모두에게 도움이 되는 자료를 많이 제공할 것이다. 마이스페이스(MySpace)의 새미(Samy)와 야후(Yahoo)의 야매너(Yamanner) 웜과 같은 사례를 가지고 실제 Ajax 애플리케이션과 그것들이 어떻게 해킹을 당했는지 살펴볼 것이다. 온라인 여행 예약 사이트 같은 샘플 애플리케이션과 예제를 가지고 어떻게 Ajax 애플리케이션을 안전하게 할 수 있는지 테스터와 개발자에게 지침을 제공할 것이다.

이 책은 처음부터 끝까지 통독하는 편이 좋지만 각 장은 독립적이다. 특정 Ajax 프레임워크의 보안 이슈 분석(15장 참조) 같은 특정 주제를 먼저 보고 싶다면 순서에 관계없이 바로 넘어가도 괜찮다.

Ajax는 웹 애플리케이션을 제작하기 위한 흥미롭고 새로운 철학을 제시했다. 이 책은 보안의 관점에서 Ajax가 어리석거나 타당치 않은 기술이므로 버리자는 얘기를 하는 것이 절대로 아니다. 우리는 강력하고 풍부한 기능을 바탕으로 최대한 유용하면서도 악의적인 공격으로부터 견고한 Ajax 애플리케이션을 제작하는 방법을 제시할 것이다.

즐거운 시간이 되길 바라며,
빌리와 브라이언으로부터

★ 옮긴이의 말 ★

대학에 입학했을 무렵 터미널실에서 인터넷을 처음으로 사용해 봤습니다. 워크스테이션에 붙은 터미널에서 웹 브라우저를 띄워가며 세계의 여러 정보를 접할 수 있다는 사실이 신기했습니다. 너도 나도 인터넷 인터넷 하지만 정작 쓸 줄 아는 사람은 많지 않았고 대학교에서도 환경이 열악했기에 인터넷 환경을 접하기란 그리 쉽지 않았습니다. 하지만 지금의 인터넷 환경을 보면 정말 그런 시절이 있었나 하는 생각이 듭니다. 인터넷 환경이 발전하면서 사회 생활과 문화 전반이 엄청나게 바뀌었습니다. 웹으로 수업 등록도 하고 물건도 사고 TV도 볼 수 있는 시대가 됐습니다.

세월과 함께 사람들의 요구도 증대했습니다. 좀더 화려한, 좀더 풍부한 웹 콘텐츠를 원하는 사람들의 요구에 웹 기술도 발전해 왔습니다. 이 때 등장한 것이 바로 Ajax입니다. Ajax는 비동기성과 부분 업데이트로 인해 더 빠르고 동적인 콘텐츠를 제공하는 기술로 부각됐습니다. 검색어 자동완성이나 구글맵에 쓰인 기능을 보며 사람들은 감탄을 금치 못했습니다. 너도 나도 Ajax에 관심을 갖게 됐고 많은 책들이 쏟아져 나왔습니다. 그러나 새로운 기술에 열광하다 보면 자칫 기술이 갖는 문제점을 간과하기 쉽습니다. 'Ajax는 최신 기술인데 무슨 문제가 있겠어요?' 이런 생각에 일침을 가하는 것이 바로 『Ajax 보안』입니다. Ajax는 최신 기술이긴 하지만 기존 웹 애플리케이션과 웹 서비스가 지닌 보안 문제를 그대로 가지고 있습니다. 저자는 실제 발생했던 사례와 일상 생활의 비유를 들어가며 Ajax에서 발생하는 보안 문제를 설명합니다.

이 책의 전반부는 기존의 웹 애플리케이션과 웹 서비스가 갖고 있는 보안 취약성을 설명합니다. 그리고 Ajax에서도 여전히 해당 문제가 나타나고 있음을 보이고 있습니다. 후반부에는 Ajax를 쓰면서 발생하는 문제와 해법을 제시하고 있습니다.

Ajax를 사용하는 개발자나 보안에 관심이 있으신 분은 이 책을 통해 보안과 관련된 폭넓은 지식을 얻고 문제가 발생하는 상황의 이해와 해결책을 찾을 수 있으리라 생각합니다. 이 책이 여러분의 애플리케이션을 좀더 안전하고 견고하게 만드는 데 도움이 되면 좋겠습니다.

첫번째 리뷰어가 되어주세요.

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

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.