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

소득공제
자바 시큐어 코딩 가이드라인
베스트
프로그래밍 언어 top100 1주
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

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

  •  국내배송만 가능
  •  문화비소득공제 가능

이 분야의 이벤트

책소개

목차

Chapter 01 안정성
01 민감-데이터의 수명을 제한하라
02 클라이언트에 암호화되지 않은 민감-데이터를 저장하지 말라
03 민감한 가변적 클래스에 수정이 불가능한 래퍼를 제공하라
04 보안에 민감한 메서드들이 검증된 매개변수를 가지고 호출되도록 보장하라
05 마구잡이 파일 업로드를 방지하라
06 출력을 적절하게 인코딩하거나 이스케이핑하라
07 코드 인젝션을 방지하라
08 XPath인젝션을 방지하라
09 LDAP인젝션을 방지하라
10 비신뢰-메서드의 매개변수를 clone()메서드로 복제하지 말라
11 암호키를 Object.equals()로 비교하지 말라
12 안전하지 않거나 약한 암호 알고리즘을 사용하지 말라
13 해시 함수를 이용하여 패스워드를 저장하라
14 SecureRandom에 적절한 시드를 제공하도록 보장하라
15 비신뢰-코드가 오버라이드할 수 있는 메서드에 의존하지 말라
16 과도한 권한 승인을 삼가라
17 특권-코드를 최소화하라
18 비신뢰-코드에게 간소화된 보안검사를 하는 메서드를 노출하지 말라
19 섬세한 보안을 위해 맞춤형 보안 퍼미션을 정의하라
20 보안 관리자를 이용하여 안전한 샌드박스를 생성하라
21 비신뢰-코드가 콜백 메서드의 권한을 오용하지 못하도록 방지하라

Chapter 02 방어적 프로그래밍
22 변수들의 영역범위를 최소화하라
23 @SuppressWarnings주석의 범위를 최소화하라
24 클래스와 멤버들에 대한 접근성을 최소화하라
25 쓰레드-안정성을 문서화하고 적절한 곳에 주석을 사용하라
26 메서드의 결과값에 대해 항상 피드백을 제공하라
27 여러 가지 파일 속성을 이용하여 파일을 식별하라
28 enum에서 부여한 순서번호에 의미를 두지 말라
29 숫자의 확대변환 동작을 주의하라
30 가변형 매개변수의 타입에 대해 컴파일 검사를 시행하라
31 이후의 릴리즈에서 변경될 수 있는 상수에 public final을 사용하지 말라
32 패키지간의 순환적 종속성을 피하라
33 일반적인 예외 타입보다는 사용자-정의 예외를 사용하라
34 시스템 오류로부터 정상적으로 복구하도록 노력하라
35 릴리즈하기 전에 인터페이스를 신중하게 설계하라
36 가비지 수집-친화적 코드를 작성하라

Chapter 03 신뢰성
37 부분영역의 식별자들을 섀도잉하거나 차폐하지 말라
38 하나의 선언문에 두 개 이상의 변수를 선언하지 말라
39 프로그램에서 리터럴을 표현할 때 의미있는 심볼릭 상수를 사용하라
40 상수 정의에서 관계를 적절히 인코딩하라
41 배열이나 컬렉션을 반환하는 메서드에서 널 값 대신 빈 배열이나 컬렉션을 반환하라
42 예외적 상황에 대해서만 예외를 사용하라
43 닫을 수 있는 자원을 안전하게 처리하기 위해서는 자원동반-try문장을 사용하라
44 런타임 오류가 없음을 검증하는 용도로 가정검증을 사용하지 말라
45 조건식에서 두 번째와 세 번째 피연산자의 타입을 동일하게 사용하라
46 다이렉트 핸들을 시스템 자원으로 직렬화하지 마라
47 열거형보다는 반복자를 사용하라
48 수명이 짧고 사용빈도가 낮은 객체용으로 다이렉트 버퍼를 사용하지 말라
49 장기 컨테이너 객체로부터 단기 객체를 삭제하라

Chapter 04 프로그램 이해용이성
50 시각적으로 오해의 소지가 있는 식별자와 리터럴 사용에 주의하라
51 가변형 메서드의 모호한 오버로딩을 삼가라
52 인밴드 오류 지표를 삼가라
53 조건식에서 대입문을 실행하지 말라
54 if, for, while문의 몸체에 중괄호를 사용하라
55 if, for, while조건식 직후에 세미콜론을 입력하지 말라
56 case레이블에 연계된 모든 문장은 break문으로 마무리하라
57 반복문 카운터의 부주의한 순환을 피하라
58 연산의 우선순위를 위해 괄호를 사용하라
59 파일 생성에 관하여 가정하지 말라
60 실수 연산을 위해서는 정수를 실수로 변환하라
61 clone()메서드가 super.clone()을 호출하도록 보장하라
62 가독성 있고 일관된 주석을 사용하라
63 과도한 코드와 값을 찾아 제거하라
64 논리적 완벽을 추구하라
65 모호하거나 혼동되는 오버로딩의 사용을 피하라

Chapter 05 프로그래머의 오해
66 레퍼런스를 휘발성으로 선언하면 참조되는 객체 멤버의 안전한 공개가 보장된다고 가정하지 말라
67 sleep(), yield(), getState()메서드가 동기화를 제공한다고 가정하지 말라
68 정수형 피연산자에 대한 나머지 연산 결과는 항상 음수가 아니라고 가정하지 말라
69 추상 객체의 동등성과 래퍼런스의 동등성을 혼동하지 말라
70 비트 연산자와 논리 연산자의 차이를 이해하라
71 문자열이 로드될 때 이스케이프 문자들이 어떻게 해석되는지 이해하라
72 런타임 시의 타입으로 구분되도록 오버로드 메서드를 사용하지 말라
73 레퍼런스의 불변성과 참조되는 객체의 불변성을 절대 혼동하지 말라
74 직렬화 메서드인 wirteUnshared()와 readUnshared()의 사용을 주의하라
75 가비지 수집기를 위해 지역 레퍼런스 변수에 널을 설정하려고 하지 말라

저자 소개 6

영국 Aberystwyth대학 컴퓨터학과의 교수이다. 정형 기법(Formal Method)과 자바, C++, C프로그래밍 언어와 프로그래밍과 관련된 보안 이슈를 강의한다. 영국 컴퓨터 학회 웨일즈 중부지역 의장이기도 하다. 1992년부터 소프트웨어 공학 연구소 객원 연구원을 역임하고 있다. 최근에는 자바 취약점을 연구하고 있다.

Dhruv Mohindra

관심작가 알림신청
 
인도 Persistent Systems사의 CTO오피스 부서인 보안 실전 그룹(security practice group)의 기술책임자이다. 클라우드, 협업, 뱅킹과 금융, 텔레커뮤니케이션, 기업, 모빌리티, 생활 과학, 건강 관리와 같은 다양한 기술들에 대해 보안 컨설팅 솔루션을 제공하고 있다. 그는 Fortune 500개 회사, 중소기업, 그리고 신규업체의 고위 관리직과 개발팀을 대상으로 정보보안 모범사례 및 보안요소가 내재된 소프트웨어 개발과정에 대한 컨설팅을 하고 있다.

로버트 C. 시코드

관심작가 알림신청
 

Robert C. Seacord

NCC 그룹의 기술 이사로 C, C++ 및 다른 언어의 시큐어 코딩을 개발하고 가르친다. C 프로그래밍 언어의 국제 표준화 작업 그룹인 ISO/IEC JTC1/SC22/WG14의 전문가이기도 하다. 또한, 『CERT C 프로그래밍 2/e』(에이콘출판, 2022)와 『(개정판) C & C++ 시큐어 코딩』(에이콘출판, 2015), 『자바 시큐어 코딩 가이드라인』(인피니티북스, 2017) 등의 다른 책도 저술했다. 소프트웨어 보안과 구성 요소 기반 소프트웨어 엔지니어링, 웹 기반 시스템 설계, 레거시 시스템 현대화, 구성 요소 저장소 및 검색 엔진 그리고 사용자 인터페이스 설계 및
NCC 그룹의 기술 이사로 C, C++ 및 다른 언어의 시큐어 코딩을 개발하고 가르친다. C 프로그래밍 언어의 국제 표준화 작업 그룹인 ISO/IEC JTC1/SC22/WG14의 전문가이기도 하다. 또한, 『CERT C 프로그래밍 2/e』(에이콘출판, 2022)와 『(개정판) C & C++ 시큐어 코딩』(에이콘출판, 2015), 『자바 시큐어 코딩 가이드라인』(인피니티북스, 2017) 등의 다른 책도 저술했다. 소프트웨어 보안과 구성 요소 기반 소프트웨어 엔지니어링, 웹 기반 시스템 설계, 레거시 시스템 현대화, 구성 요소 저장소 및 검색 엔진 그리고 사용자 인터페이스 설계 및 개발에 관한 50편 이상의 논문도 발표했다.

로버트 C. 시코드의 다른 상품

Dean F. Sutherland

관심작가 알림신청
 
CERT의 선임 소프트웨어 보안 엔지니어이다. 2008년도에 카네기 멜론 대학교에서 소프트웨어 공학박사학위를 받았다. 학교로 돌아오기전 14년 동안 Tartan사에서 소프트웨어 엔지니어로 근무했다. 이 기간 중 마지막 6년 동안 선임 기술자였으며, 컴파일러 백엔드 기술 팀장이었다.

David Svododa

관심작가 알림신청
 
CERT/SEI의 소프트웨어 보안 엔지니어이다. C, C++, Perl 뿐만 아니라 자바를 위한 CERT보안 코딩 표준 웹사이트를 운영하고 있다. 1991년부터 계층구조의 칩 모델링, 사회적 조직 시뮬레이션, 그리고 자동기계번역(AMT)에 이르기까지 카네기 멜론 대학교의 다양한 소프트웨어 개발 프로젝트의 주요 개발자였다.
이화여자대학교 전자계산학과(이학사), 이화여자대학교 대학원 전자계산학과(이학석사), 이화여자대학교 과학기술대학원 컴퓨터학과(공학박사), 한국전자통신연구원 선임연구원, 초빙연구원, 이화여자대학교 컴퓨터학과 전임강사, 우석대학교 정보보안학과, IT전자융합공학과 교수이다.

조태남의 다른 상품

관련 분류

품목정보

발행일
2017년 06월 02일
쪽수, 무게, 크기
288쪽 | 188*235mm
ISBN13
9791185578156

출판사 리뷰

이 책은 전문가를 위한 가이드라인과 권고사항, 그리고 이러한 요구사항을 준수하도록 도와주는 예제들을 제공한다.
75개의 가이드라인들은 일관성 있고 직관적인 방법으로 기술되었다. 각 가이드라인에 대하여 준수해야 하는 요구사항들이 기술되며, 대부분의 요구사항들은 적절하지 못한 코드 예와 적절한 솔루션들과 함께 제공된다. 저자들은 각 가이드라인이 언제 적용되는지 설명하고 있으며 좀 더 상세한 정보를 얻기 위한 참고자료도 제공한다.
이 책은 최신의 자바 보안 연구를 반영하여, 계획적인 공격이나 예상하지 못한 결과를 방지하기 위한 새로운 기술들을 제공한다. 코드의 신뢰성과 명확성을 개선하는데 있어서 최고의 실질적인 도움을 얻게 될 것이다. 불완전한 모드를 초래하는 일반적인 오해에 대해서는 별도의 장을 할애하여 설명하였다.

리뷰/한줄평2

리뷰

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

한줄평

2.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정