모두를 위한 소프트웨어 보안 설계와 구현
2025년 01월 24일 출간
국내도서 : 2024년 12월 11일 출간
- eBook 상품 정보
- 파일 정보 PDF (10.91MB) | 428 쪽
- ISBN 9791189909819
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

쿠폰적용가 23,040원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
핵심 보안 개념인 신뢰, 위협, 완화, 보안 설계 패턴, 암호화를 설명하며 1부를 시작한다. 2부에서는 보안을 염두에 두고 소프트웨어를 설계하고 검토하는 과정을 다룬다. 마지막 3부에서는 C와 파이썬으로 작성된 다양한 코드 예제를 활용해 취약점이 만들어지는 코딩 결함에 대해 자세하게 살펴본다.
소프트웨어의 미래에 대한 현대적이고 실용적인 모범사례, 통찰, 아이디어가 담겨 있으므로, IT 분야에 종사하는 누구나 읽어야 하는 필독서다.
| 이 책에서 다루는 내용 |
- 시스템에서 중요한 자산, 공격 표면, 신뢰 경계 식별
- 다양한 위협 완화 조치에 대한 효과 평가
- 잘 알려진 완화 조치와 보안 설계 패턴을 통한 작업
- 크로스 사이트 스크립팅과 크로스 사이트 요청 위조, 메모리 결함 등의 취약점
- 보안 테스팅을 이용한 코드 취약점의 사전 식별
- 보안 결함을 찾기 위한 소프트웨어 설계의 객관적 평가
| 이 책의 대상 독자 |
- 보안에 초보인 사람들, 특히 보안을 어렵다고 느끼는 사람들
- 보안에 관심이 있지만 지식은 많지 않은, 보안에 대한 인식이 있는 독자들
- 보안 분야를 주도하는 보안 전문가들
1장 보안의 기초
보안에 대한 이해
신뢰
__신뢰감
__비트는 눈에 보이지 않는다
__능숙함과 불완전성
__신뢰는 스펙트럼이다
__신뢰 결정
__암묵적으로 신뢰할 수 있는 컴포넌트
__제품 신뢰도 높이기
고전적인 원칙
__정보 보안의 C-I-A 원칙
__황금표준
__개인정보보호
2장 위협 모델링
적대적인 관점
4가지 질문
위협 모델링
__모델 기반 작업
__자산 식별
__공격 표면 식별
__신뢰 경계 식별
__위협 식별
__위협 완화
개인정보보호 고려사항
어디에나 존재하는 위협 모델링
3장 보안 위협의 완화
위협 처리
구조적 완화 전략
__공격 표면 최소화
__좁은 취약점 창
__데이터 노출 최소화
접근 정책과 접근 제어
인터페이스
통신
스토리지
4장 보안 설계 패턴
설계 속성
__설계의 경제성 패턴
__투명한 설계
노출 최소화
__최소 권한
__최소 정보
__안전이 기본
__차단목록보다 허용목록
__예측 가능성 방지
__안전한 실패
강력한 집행
__완전한 중재
__최소 공통 메커니즘
중복성
__심층 방어
__권한 분리
신뢰와 책임
__신뢰에 대한 저항
__보안 책임 수용
안티패턴
__혼동된 대리인
__신뢰의 역류
__서드파티 훅
__패치 불가능한 컴포넌트
5장 보안을 위한 암호화 기법
암호화 도구
난수
__의사 난수
__암호학적으로 안전한 의사 난수
메시지 인증 코드
__변조 방지를 위한 메시지 인증 코드 사용
__재전송 공격
__안전한 MAC 통신
대칭 암호화
__일회용 패드
__고급 암호화 표준
대칭 암호화 사용
비대칭 암호화
__RSA 암호체계
디지털 서명
디지털 인증서
키 교환
암호화 사용
2부 l 안전한 소프트웨어 설계
6장 보안 설계 원칙
설계에 보안 통합
__설계 가정의 명시화
__범위 정의
__보안 요구사항 설정
__위협 모델링
완화의 구현
__인터페이스 설계
__데이터 처리 설계
소프트웨어 설계에 개인정보보호 통합
전체 소프트웨어 수명주기 계획
트레이드오프 처리
설계 단순성
7장 보안 설계 리뷰
보안 설계 리뷰의 실행 계획
__수행 목적
__수행 시기
__문서화는 필수적이다
보안 설계 리뷰 프로세스
__검토
__질문
__식별
__협력
__작성
__후속 조치
설계 보안 평가
__4가지 질문을 지침으로 사용하라
__좀 더 파고 들어본다면
__개인정보보호 리뷰
__업데이트 리뷰
이견 관리
__재치 있게 소통하라
__사례 연구: 어려운 리뷰
__의견 불일치의 조정
실습, 실습, 실습
3부 l 보안 구현
8장 안전한 프로그래밍
안전한 프로그래밍이 어려운 이유
__악의적인 영향
__취약점은 버그다
__취약점 체인
__버그와 엔트로피
__경계심
사례연구: goto fail 취약점
__코드 한 줄의 취약점
__풋건을 조심하라
__goto fail의 교훈
코딩 취약점
__원자성
__시차 공격
__직렬화
유력한 용의자
9장 로우레벨 코딩의 취약점 사례
산술적 취약점
__고정너비 정수 취약점
__부동소수점 정밀도 취약점
__예제: 부동소수점 언더플로
__예제: 정수 오버플로
__안전한 연산
메모리 접근 취약점
__메모리 관리
__버퍼 오버플로
__예제: 메모리 할당 취약점
__사례 연구: 하트블리드 보안 대참사
10장 신뢰할 수 없는 입력의 보안 위협
입력 유효성 검사
__유효성 결정
__검사 기준
__잘못된 입력 거부
__잘못된 입력 수정
문자열 취약점
__문자열 길이 문제
__유니코드 문제
인젝션 취약점
__SQL 인젝션
__경로 탐색
__정규표현식
__XML의 위험성
인젝션 공격의 완화 조치
11장 웹 보안
프레임워크 기반 구축
웹 보안 모델
__HTTP 프로토콜
__디지털 인증서와 HTTPS
__동일 출처 정책
__웹 쿠키
일반적인 웹 취약점
__크로스 사이트 스크립팅(XSS)
__크로스 사이트 요청 위조(CSRF)
기타 취약점과 완화 방법
12장 보안 테스팅
보안 테스팅이란 무엇인가
goto fail 취약점에 대한 보안 테스팅
__기능 테스트
__취약점을 갖는 기능 테스팅
__보안 테스트 케이스
__보안 테스팅의 한계
보안 테스트 케이스 작성
__입력 유효성 검사 테스팅
__XSS 취약점 테스트
퍼즈 테스팅
보안 회귀 테스트
가용성 테스팅
__리소스 소비
__임계치 테스트
__분산 서비스 거부 공격(디도스 공격)
보안 테스팅 모범사례
__테스트 주도 개발
__통합 테스팅 활용
__보안 테스팅 따라잡기
13장 안전한 개발 모범사례
코드 품질
__코드 관리 습관
__예외 및 오류 처리
__보안 문서화
__보안 코드 리뷰
의존성
__보안 컴포넌트 선택
__인터페이스 보안
__보안 도구를 재발명하지 말라
__레거시 보안과의 경쟁
취약점 분류
__DREAD 평가
__작동하는 공격 코드 제작
__분류 결정
안전한 개발환경 유지
__운영환경과 개발환경의 분리
__개발 도구 보안
__제품 출시
14장 끝나지 않는 보안의 여정
실천하고 행동할 것
__보안은 모두의 일이다
__보안의 내재화
보안의 미래
__소프트웨어 품질 향상
__복잡성 관리
__투명성 최소화에서 최대화로
__소프트웨어의 진본성, 신뢰, 책임감 개선
라스트 마일: 마지막 한걸음 완수
마치며
부록 A 소프트웨어 설계 문서 샘플
부록 B 용어집
부록 C 생각해볼 문제
부록 D 핵심 요약 자료
[이 책에서 다루는 내용]
이 책은 14개 장으로 구성돼 있으며, 전체 내용은 개념, 설계, 구현을 다루는 3개 부로 나뉘어 있다.
[1부, 안전한 소프트웨어를 위한 기본 개념]
1부에서는 이 책에 대한 개념적 기반을 제공한다. 1장 ‘보안의 기초’는 정보 보안과 개인정보보호 기본사항을 개괄한다. 2장 ‘위협 모델링’에서는 위협 모델링을 소개하고 공격 표면과 신뢰 경계에 대한 핵심 개념을 자산 보호 맥락에서 구체화한다. 이어지는 3개 장은 안전한 소프트웨어를 구축하기 위해 독자들이 이용할 수 있는 귀중한 도구들을 소개한다. 3장 ‘보안 위협의 완화’에서는 식별된 위협을 방어적으로 완화하기 위해 일반적으로 사용되는 전략을 설명하고, 4장 ‘보안 설계 패턴’에서는 여러 가지 효과적인 보안 설계 패턴을 제시하고 피해야 할 안티 패턴 몇 가지를 살펴본다. 5장 ‘암호화 기법’에서는 일반적인 위험을 완화하기 위해 표준 암호 라이브러리를 사용하는 방법을 설명하는 복합적 기법을 다루되, 기반이 되는 수학까지는 다루지 않는다(실제로 거의 필요하지 않기도 하다).
[2부, 안전한 소프트웨어 설계]
2부에서는 가장 독특하면서도 이 책의 대상 독자들에게 가장 도움이 될 만한 내용을 다룬다. 6장 ‘보안 설계 원칙’과 7장 ‘보안 설계 리뷰’에서는 안전한 소프트웨어 설계와 이를 달성하기 위한 실제 기법에 대한 가이드를 제공하며, 각각 설계자와 리뷰어 관점에서 주제에 접근한다. 이를 통해 소프트웨어 설계 초기부터 보안을 내재화하는 것이 왜 중요한지도 설명한다.
2부에서는 1부에서 살펴본 아이디어를 보안 설계에 통합시키기 위한 구체적인 방법론을 알아본다. 리뷰 방법론은 나의 업계 경험에 바탕을 둔 것으로, 여러분의 작업에 적용할 수 있는 단계별 프로세스도 다룬다. 이런 아이디어를 실행에 옮기는 방법의 예로서 부록 A의 샘플 설계 문서를 함께 살펴보자.
[3부, 보안 구현]
8장에서 14장까지는 구현 단계에서의 보안을 다루며 배포, 운영, 수명 종료 단계를 살펴본다. 안전한 설계 이후의 단계로서, 이 책의 3부에서는 취약점의 추가적인 발생을 방지하면서 소프트웨어를 개발하는 방법을 알아본다. 3부의 각 장에는 코드가 포함되어 있으며, 취약점이 코드에 침투하는 방식과 취약점을 방지하는 방법을 설명한다.
8장 ‘안전한 프로그래밍’에서는 프로그래머가 직면하게 될 보안 문제와 실제 취약점이 코드에서는 어떻게 보이는지를 소개한다. 9장 ‘로우레벨 코딩의 취약점 사례’에서는 컴퓨터 산술의 약점과 동적 메모리 할당에 대한 C 언어 스타일의 명시적인 관리가 보안을 어떻게 훼손하는지를 다룬다. 10장 ‘신뢰할 수 없는 입력의 보안 위협’과 11장 ‘웹 보안’에서는 오랫동안 잘 알려져 있지만, 여전히 해결되지 않은 다양하고도 일상적인 버그(인젝션 공격, 경로 탐색, XSS, CSRF 취약점 등)를 다룬다. 12장 ‘보안 테스팅’에서는 제대로 활용되고 있지는 않지만, 코드 안전성을 보장해 줄 수 있는 테스트 기법들을 다룬다. 13장 ‘안전한 개발 모범사례’는 몇 가지 모범사례와 흔히 빠지기 쉬운 함정을 다룸으로써 안전한 구현 가이드를 마무리한다.
3부에서 다루는 코드부는 일반적으로 피해야 하는 취약점을 보여준 후, 뒤이어 이 코드를 안전하게 만드는 방법을 보여주는 패치 버전을 제시한다(각각 ‘취약한 코드’와 ‘수정된 코드’로 표시된다). 따라서 이 책에 있는 코드는 운영 환경의 소프트웨어에 바로 복사해서 사용하라고 만든 것이 아니다. 심지어 수정된 코드라도 환경이 달라지면 다른 문제가 생겨 취약점이 생길 수 있기 때문에, 이 책에 제시된 코드가 모든 애플리케이션에서 안전하다고 생각해서는 안 된다.
마지막으로, 14장 ‘끝나지 않는 보안의 여정’에서는 이 책이 긍정적인 영향을 미치게 될 것으로 기대하는 몇 가지 방안에 대해 설명한다. 이 책에서 다뤄진 핵심 포인트를 요약하고 미래까지 전망해 본다. 아울러, 이 책이 어떤 식으로 소프트웨어 보안 향상에 기여할 수 있는지 그 비전을 설명하는 것으로 시작해서, 소프트웨어 보안을 점진적으로 개선하는 데 도움이 될 만한 실험적인 아이디어까지 이야기한다.
[부록]
부록 A는 실제 보안을 고려한 설계를 보여주는 샘플 설계 문서다. 부록 B는 이 책 전반에 걸쳐 쓰인 소프트웨어 보안 용어를 정리한 용어집이다. 부록 C에는 의욕적인 독자들이 기꺼이 연구해볼 만한 개방형 연습 문제와 질문 몇 가지가 들어 있다. 부록 D는 핵심 개념과 과정을 요약한 자료 모음이다.
■[옮긴이의 말]
보안이란 주제는 다소 딱딱하고 어려운 느낌을 풍깁니다. 난해한 개념과 어려운 수학 등이 어우러져 전문가의 영역이라 간주되며, 모두가 관심은 많지만 접근하기 어려운 영역이라 여겨집니다. 그러나 이 책은 전문 보안 서적과는 다른 재미를 주는 책입니다. 이 책은 보안 엔지니어링에 대한 입문서로 보안의 기본 개념들과 소프트웨어 개발에서의 다양한 보안 사례를 풍부하게 다룹니다. 그간 보안을 주제로 한 책들은 적지 않게 출간됐지만 보안 전문가와 소프트웨어 개발자 모두를 대상으로 한 경우는 드물었다고 생각합니다.
네트워크 보안과 암호학 분야의 중요 인물로 공개 키 인프라(PKI) 개념을 제안하고, 프레리트 가그(Praerit Garg)와 함께 위협 모델링 분야의 걸출한 업적인 STRIDE 모델을 개발한 저자 로렌 콘펠더는 현대적인 소프트웨어 개발에서 보안이 매우 중요한 요소라 이야기합니다. 콘펠더는 이 책에서 소프트웨어 개발자와 보안 전문가가 소프트웨어를 설계하고 개발할 때 보안을 고려하는 방법에 대해 개념 수준부터 실사례까지 전반적으로 가이드해 줍니다. 어려운 개념을 나열하기보다는 저자가 현업에서 실제로 겪은 경험이나 각종 사례를 예로 들어 보안에 접근할 때의 장벽을 낮춰 주므로 개발 실무자들에게도 많은 도움이 될 것입니다.
이 책은 보안 개념부터 시작해, 보안 위협과 취약점 분석, 보안 모델링부터 사례 연구까지 보안에 관련한 많은 분야를 다룹니다. 또한 보안 설계 리뷰(SDR) 같은 각 조직이나 회사에서 보안을 적용할 때 도움이 되는 많은 팁이 담겨 있습니다. 따라서 이 책은 소프트웨어 개발 과정에 보안을 통합하고 싶은 개발자, 보안 전문가, 시스템 아키텍트, 보안 관리자 등 보안에 관련된 모든 이가 참고 자료로 활용할 수 있습니다. 더욱 안전한 소프트웨어를 개발하는 데 큰 도움이 될 책이라 확신합니다.
- 김영기
요즘은 계정이 새로운 기기에서 로그인됐다거나, 해외에서 접속됐다거나, 아니면 미사용 중인 자산이 있으니 빨리 찾아가라는 등의 피싱 메시지를 받는 것이 일상이 됐다. 그중 일부는 너무나 교묘해서, 혹시 무심코 접속했다가 내 PC나 폰이 해킹되지 않을까 전전긍긍하는 일도 흔해졌다. 지난 여름에는 크라우드 스트라이크라는 사이버 보안 회사의 소프트웨어 업데이트 파일 오류로 수많은 윈도우 PC에 블루스크린이 발생하며 윈도우 부팅이 제대로 시작되지 않아 전 세계의 은행, 항공사, 방송국 등이 일대 혼란을 겪으며 우리나라 공항에서도 전산 마비 사태를 빚기도 했다. 사실 이제 이런 문제는 일상이 되어서 일일이 손으로 꼽기도 어려울 정도다.
모든 것이 인터넷으로 연결되면서 작은 실수와 한 번의 악의적인 공격으로 엄청난 피해가 초래되는 세상이 된 것이다. 그럼에도 소프트웨어 개발 현장에서 보안은 여전히 후순위로 밀려나기 일쑤다. 빠르게 변화하는 시장과 소비자의 요구를 따라잡기에도 벅차다 보니, 보안은 개발 막바지에나 고려하게 되곤 한다. 또한 아직도 IT 업계의 많은 종사자에게 보안은 반드시 전문가들에게 맡겨야 할, 난해하고 골치 아픈 문제로만 여겨진다.
앞으로 악의적인 공격은 AI 기술과 결합해 훨씬 더 교묘해질 것이고, 그로 인한 피해는 상상을 초월할 수도 있다. 이제 소프트웨어 보안을 더 이상 전문가에만 맡겨둘 수 없는 시대가 됐다. 진실은 진즉부터 그래야 했던 것이고, 우리가 그 진실을 외면해 왔을 뿐일 것이다. 개발자나 보안 전문가뿐만 아니라 업계의 모든 종사자들이 보안을 고려해서 각자의 직무를 수행해야만, 악의적인 공격과 사고로부터 자신과 조직, 고객의 소중한 자산을 지킬 수 있는 시대가 된 것이다.
이 책의 주요 기획의도는 소프트웨어 개발자들이 보안을 고려한 안전한 소프트웨어를 설계하고 구현하는 데 필요한 개념과 방법론을 설명하는 것이지만, 보안의 본질에 대한 통찰을 기반으로 보안에 필요한 마인드셋을 갖추는 데 초점이 맞춰져 있어, 번역을 진행하면서 개발자뿐만 아니라 모든 업계 종사자가 보안을 이해하는 데 더할 나위 없이 적합한 책이란 생각이 들었다.
이 책의 저자인 로렌 콘펠더는 누구보다도 보안의 본질을 얘기할 수 있는 자격이 있는 인물이다. 마이크로소프트와 구글에서 현대적 보안 기법의 기반을 구축했을 뿐만 아니라, 오늘날 널리 사용되는 암호화 기술의 핵심 기반인 디지털 인증서 시스템을 최초로 고안한 보안의 선구자다. 20여 년에 걸친 저자의 풍부한 실무 경험과 깊은 통찰이 이 책 곳곳에 녹아 들어 있다. 나 또한 이 책을 번역하면서, 그간 IT 업계에 오래 종사하며 알고 있던 보안에 대한 단편적인 지식들이 하나의 큰 그림으로 맞춰져 가는 것을 느낄 수 있었다.
모쪼록 이 책을 읽을 독자 여러분도 나와 비슷한 경험을 하기를 기대하며, 자신의 소프트웨어와 디지털 자산을 안전하게 지키는 데 도움을 얻기 바란다.
- 박기성
작가정보
(Loren Kohnfelder)
50여 년 전에 프로그래밍을 시작했다. MIT 학부생 시절 졸업 논문으로 제출한 「실용적인 공개 키 암호화 시스템을 향해(Towards a Practical Public-Key Cryptosystem)」는 사상 처음으로 디지털 인증서와 공개 키 인프라(PKI)의 기초를 설명한 논문이었다.
펀치카드, 디스크 컨트롤러 작성, 링킹 로더, 비디오 게임, 2차례의 일본 근무부터 반도체 연구소의 장비 제어 소프트웨어에 이르기까지 다방면의 프로그래밍 작업을 아우르는 소프트웨어 경력을 자랑한다. 마이크로소프트에 재직할 당시 인터넷 익스플로러(IE) 팀의 보안 업무로 복귀했으며, 이후 닷넷(.NET) 플랫폼 보안 팀에서 업계 최초의 사전 예방적 보안 프로세스 방법론에 기여한 바 있다.
최근에는 구글에서 보안 팀 소프트웨어 엔지니어로 일했으며, 개인정보보호 팀의 창립 멤버로서 대규모 상용 시스템에 대한 보안 설계 리뷰를 100회 이상 수행했다.
삼성전자 네트워크 사업부 SE 그룹에서 소프트웨어 개발과 관련한 다양한 업무를 수행하고 있다. 주요 이력으로는 지능망(IN)과 모바일 자바 애플리케이션 개발, 정적 분석과 소프트웨어 구조 분석 등이 있다. 현재는 형상 관리와 SW 개발 전략을 담당하고 있으며 소프트웨어 개발과 관련 조직 구조와 개발 문화, 애자일과 데브옵스, 인프라 자동화, 데이터 사이언스 등에 관심이 많다. 보안과 관련해 5G 통신장비 보안 인증인 NESAS 인증을 위한 사업부 TF 멤버로도 활동했다. 『프로메테우스, 오픈소스 모니터링 시스템』(책만, 2019), 『만들면서 배우는 헥사고날 아키텍처 설계와 구현』(위키북스, 2022) 등을 번역하며 기술 번역가로도 활동하고 있다.
IT 업계와 게임업계에서 기획자, 설계자, PD, 개발총괄 임원, 창업자, 대표이사로서 오랜 기간 활동하며 다양한 프로젝트를 수행했다. SK㈜를 거쳐, 직접 창업하고 대표이사를 맡았던 엔플레이 등에서 근무했으며, 가장 최근에는 게임빌, 컴투스의 개발 담당 임원으로 일했다.
게임 외에도 IT 업계에 대한 다양한 관심을 바탕으로 경력 중간 틈틈이 (때로는 필명으로 활약하며) 20여 권에 달하는 게임 및 IT 분야 도서를 번역해 왔다. 대표 번역서로는 『알고리즘으로 세상을 지배하라』(이하 에이콘출판, 2016), 『닌텐도는 어떻게 세계를 정복했는가』(2015)가 있으며 『인 더 플렉스: 0과 1로 세상을 바꾸는 구글』(2012)을 번역 감수했다.
작가의 말
이 책은 소프트웨어 보안 분야의 필수 개념을 더 잘 이해하고 안전한 소프트웨어 설계와 구현을 배우고자 하는 소프트웨어 전문가를 위한 가이드다. 여기서 다루는 주제 중 몇 가지는 운 좋게도 내가 직접 혁신할 수 있었으며, 그 밖의 주제들 역시 발전하고 뿌리내리는 과정을 지켜봤다. 업계에서의 내 경험을 바탕으로, 여러분이 작업하는 소프트웨어를 더 안전하게 만들기 위해 바로 실행할 수 있는 아이디어를 이 책에 가득 담았다.
이 책은 2가지 중심 주제를 다룬다. 소프트웨어 전문가들이 소프트웨어 구축 과정 초기에 보안에 집중하도록 장려하는 것, 그리고 전체 팀이 보안에 대한 책임을 질 뿐만 아니라 보안 프로세스에까지 동참하게 하는 것이다. 확실히 이 두 영역 모두에서 아직 개선의 여지가 충분하며, 이 책은 이런 목표들을 실현하는 방법을 보여준다.
나는 경력 내내 소프트웨어 보안의 최전선에서 일할 수 있는 흔치 않은 기회를 얻었고, 이제 내가 배운 것을 가능한 대로 폭넓게 공유하고 싶다. 20여 년 전, 나는 마이크로소프트에서 대규모 소프트웨어 기업에 위협 모델링을 최초로 적용한 팀에 속해 일한 적이 있다. 몇 년 후 구글에서도 그와 동일한 기법을 발전시키는 일에 참여했으며, 문제점에 접근하는 완전히 새로운 방식을 이때 경험했다. 이 책의 2부에서는 내가 수행한 100회 이상의 설계 리뷰를 통해 얻게 된 정보를 살펴본다. 우리가 거쳐온 길을 돌아봄으로써 커다란 시각을 얻고 모든 것을 새롭게 설명할 수 있게 됐다.
소프트웨어 시스템을 설계, 구축, 운영하는 일은 본질적으로 위험을 수반한다. 모든 단계에 걸쳐 모든 선택은 보안 취약점을 초래하는 위험을 높이기도 낮추기도 한다. 이 책은 누구보다도 내가 가장 잘 아는 것, 그리고 직접 경험하며 배운 것들을 다룬다. 이 책에서 나는 보안적 사고를 첫 번째 원칙부터 전달하고, 어떻게 해야 개발 전반에 걸쳐 보안을 내재화할 수 있을지를 살펴보고자 한다. 이 과정에서 제공하는 설계와 코드 예시는 대체로 특정 기술에 의존하지 않으므로 매우 광범위하게 적용될 수 있다. 본문에는 다양한 일화, 비유, 사례들을 많이 가미해서 추상적인 아이디어를 최대한 효과적으로 전달한다.
보안적 사고를 체득하는 데는 저마다 개인 차가 있다. 따라서 나는 직관을 기르는 데 중점을 둠으로써 여러분이 자신의 작업에서 소프트웨어 보안 관점을 촉진할 수 있는 새로운 방법을 생각해내는 데 도움을 주려 한다. 내 경험에 따르면, 태생적으로 보안적 사고를 쉽게 습득하는 이들조차 항상 더 많은 통찰을 얻을 수 있다는 점을 덧붙이고 싶다.
이 책에서는 방대한 내용을 간결하게 다루는데, 이 책을 쓰면서 나는 그런 간결함이 책의 성공에 필수적이라는 생각이 들었다. 소프트웨어 보안은 엄청나게 방대하고도 심오한 분야이므로, 간결한 책이어야만 더 널리 읽힐 것이라 기대한다. 모쪼록 독자 여러분이 새로운 방식으로 보안을 고려하고 이 새로운 관점을 여러분의 작업에 쉽게 적용할 수 있기를 바란다.
- 로렌 콘펠더
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)