HOME > 상세정보

상세정보

(직접 설계하고 개발하는) IoT 백신 (12회 대출)

자료유형
단행본
개인저자
이창우
서명 / 저자사항
(직접 설계하고 개발하는) IoT 백신 / 이창우 지음
발행사항
서울 :   한빛미디어,   2017-  
형태사항
책 : 삽화, 도표 ; 24 cm
총서사항
설계부터 개발까지 직접 만들면서 배우는 보안 개발 시리즈
ISBN
9788968487361 ([v.1])
일반주기
[1]. 초급 (300 p.)  
000 00000nam c2200205 c 4500
001 000045902885
005 20170414112101
007 ta
008 170413m20179999ulkad 000c kor
020 ▼a 9788968487361 ([v.1]) ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.8 ▼2 23
085 ▼a 005.8 ▼2 DDCK
090 ▼a 005.8 ▼b 2017z2
100 1 ▼a 이창우
245 2 0 ▼a (직접 설계하고 개발하는) IoT 백신 / ▼d 이창우 지음
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2017-
300 ▼a 책 : ▼b 삽화, 도표 ; ▼c 24 cm
440 0 0 ▼a 설계부터 개발까지 직접 만들면서 배우는 보안 개발 시리즈
500 ▼a [1]. 초급 (300 p.)
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2017z2 1 등록번호 121239979 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 세종학술정보원/과학기술실/ 청구기호 005.8 2017z2 1 등록번호 151334390 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.8 2017z2 1 등록번호 121239979 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.8 2017z2 1 등록번호 151334390 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

취업을 앞둔 대학생이 소프트웨어 공모전을 위해 간단한 IoT용 백신을 VMware 환경에서 개발하는 이야기이다. 현업에서 사용하는 기초적인 개발 프로세스를 기반으로 백신을 설계하고 구현하는 과정을 그리고 있다. 따라서 주제는 백신 개발이지만, 현장의 개발 과정을 체험하면서 실용적인 소프트웨어 설계 방법(UML 실용 설계)을 배울 수 있다.

설계부터 개발까지 직접 만들면서 배우는 보안 개발 시리즈 - Security School

시리즈 소개
• 리눅스 환경에서 동작하는 보안 솔루션을 개발하며 기본 구조를 이해할 수 있습니다.
• 백신 개발을 시작으로 시스템 보안과 네트워크 보안까지 개발합니다.
• 다 만들어진 코드를 설명하는 게 아니라 기획/설계/구현하는 방법을 이야기합니다.
• 보안 개발을 처음 시작하는 학생과 직장인을 대상으로 합니다.
• 최대한 쉽게 구현합니다.
• 누구나 보안 개발자가 될 수 있다는 꿈과 희망을 선사합니다.

주요 특징
• UML 실용 설계 - UML을 효과적으로 사용하는 방법으로 간결한 코드만으로도 모든 요구사항을 만족시킬 수 있습니다.
• 현실주의 - 현업에서 실제로 일어나는 일들과 그에 맞는 개발 프로세스를 이야기합니다.
• 모듈식 구성 - 원하는 목적에 맞춰 골라 읽을 수 있습니다.
• 손 안에 기술서 - 한 권의 내용을 1주에서 2주 정도면 정독할 수 있는 분량으로 짧게 구성합니다.

사전 지식(권장)
• C 언어
• 간단한 소켓 프로그래밍
• 리눅스 커널의 역할 이해(단, 커널 개발 경험은 없어도 됩니다.)
• UML과 VMWare 사용의 이해

IoT 시대가 이제 열렸다고 하지만, 우리는 이미 IoT 시대에 살고 있습니다. 아침을 알리는 스마트워치, 등교길 버스 요금 단말기, 강의 노트용 태블릿, 점심시간 편의점 계산 단말기, 인기 드라마를 보여주는 스마트TV, 친구와 즐기는 게임기, 자기 전 보는 전자책, 시도 때도 없이 보는 스마트폰 등 생김새는 다르지만, 우리는 모두 연결된 컴퓨터 시스템을 아침부터 밤까지 이용하고 있습니다. 그런데 이것 중 보안 기술이 적용된 것은 몇 개나 될까요?
모두가 보안이 중요하다고 말합니다. 하지만 관련 인력이 부족한 게 현실입니다. 이는 프로그래밍을 시작한 사람들에게 보안이 어려워 보이는 주제이기 때문입니다.
그래서 이 책을 썼습니다. C 프로그래밍은 가능한데 임베디드 개발 경험도 없고 리눅스 커널도 잘 모른다고요? 그래도 괜찮습니다. 이 책의 내용을 그대로 따라 해보세요. 차근차근 따라 하다 보면 UML을 이용한설계 방법도 알게 되고, 리눅스 커널도 약간 수정하다 보면 어느덧 간단한 백신의 실시간 감시 기능까지 구현하게 됩니다.
이 책은 취업을 앞둔 대학생이 소프트웨어 공모전을 위해 간단한 IoT용 백신을 VMware 환경에서 개발하는 이야기입니다. 현업에서 사용하는 기초적인 개발 프로세스를 기반으로 백신을 설계하고 구현하는 과정을 그리고 있습니다. 따라서 주제는 백신 개발이지만, 현장의 개발 과정을 체험하면서 실용적인 소프트웨어 설계 방법(UML 실용 설계)을 배울 수 있습니다.
이 책은 고등학생, 대학생, 사회 초년생을 대상으로 집필했습니다. 어려운 지식이 전달이 아니라, 호기심을 충족시키며 보안 개발자가 되는 길에 희망을 드리고자 쓴 책입니다. 그러니 부담 없이 읽어보세요. 누구나 처음은 있습니다.
- 서자 서문에서 발췌


정보제공 : Aladin

저자소개

이창우(지은이)

보안 기업 AhnLab에서 10년 동안 PC용 V3 방화벽과 침입차단 시스템 엔진, 웹 보안 솔루션을 개발했다. 이후 삼성전자에서 스마트TV 보안 강화 설계, SDL(Security Development Lifecycle) 적용, 임베디드 보안 프레임워크를 설계했고, 현재는 삼성 스마트TV 통합 보안 솔루션인 ‘스마트 시큐리티’를 담당하며 임베디드 백신, 코드 서명, 방화벽을 개발하고 있다. 하나의 보안 기술만으로 컴퓨터 시스템을 안전하게 만들 수 없다. 따라서 개발 기술뿐만 아니라 프로세스와 조직 문화까지 보안과 관련된 것이라면 무엇이든 공부하고 있다.

정보제공 : Aladin

목차

지은이 소개 = 3
지은이의 말 = 4
추천사 = 5
들어가며
  "저도 백신을 만들 수 있을까요?" = 13
  "Security School에 오신 것을 환영합니다." = 18
  "여러분이 준비할 것과 얻을 것입니다." = 28
1장 백신 개발 프로젝트 Airplane 시작
  1.1 보안 개발 입문기 = 37
  1.2 프로젝트 준비 = 39
    1.1.1 EA 준비 = 40
    1.2.1 UML 전체 흐름도 준비 = 45
    1.2.3 UML 실용 설계 = 49
2장 요구사항
  2.1 요구사항 수집 = 55
    2.1.1 사용자 인터뷰 = 55
    2.1.2 요구사항 작성 = 57
    2.1.3 제약사항 작성 = 61
  2.2 요구사항 분석 = 64
    2.2.1 정적 분석 = 64
    2.2.2 동적 분석 = 72
3장 프로토타입
  3.1 개발 환경 만들기 = 83
    3.1.1 필요한 테스트 베드 = 83
    3.1.2 개발과 테스트를 위한 우분투 설치 = 85
    3.1.3 Update Server Guest OS 설치 = 94
    3.1.4 최종 확인 = 94
  3.2 리눅스 커널 수정과 모듈 만들기 = 96
    3.2.1 커널 재빌드 = 96
    3.2.2 커널 모듈 만들기 = 102
  3.3 백신의 실행 파일 실시간 감시 = 107
    3.3.1 Linux Security Model이란 = 107
    3.3.2 실행되는 프로세스 로그 남기기 = 111
    3.3.3 간단한 필터링 구조 만들기 = 113
  3.4 리눅스 커널 소켓 프로그래밍 = 126
    3.4.1 간단한 소켓 서버 만들기 = 127
    3.4.2 간단한 소켓 클라이언트 만들기 = 132
    3.4.3 서버와 클라이언트 통신 테스트 = 135
    3.4.4 커널에서 소켓 클라이언트 만들기 = 136
    3.4.5 백신의 업데이트 기능 = 148
    3.4.6 악성 파일 목록 변화 감지 = 149
    3.4.7 파일 정보 추출하기 = 166
  3.5 프로토타입 정리 = 181
    3.5.1 알게 된 것 = 181
    3.5.2 다음 설계에 반영할 내용 = 182
4장 설계
  4.1 설계 범위 정하기 = 186
    4.1.1 설계서 작성을 싫어하는 개발자 = 186
    4.1.2 소프트웨어 설계는 소프트하게 = 187
    4.1.3 모듈 성격에 따라 설계서는 다르게 = 188
    4.1.4 UML 실용 설계서 = 189
  4.2 정적 설계 시작 = 190
    4.2.1 클래스 도출하기 = 190
    4.2.2 클래스 관계 만들기 = 194
  4.3 동적 설계로 완성하는 정적 설계 = 196
    4.3.1 효과적인 Sequence와 Class 다이어그램 작성 방법 = 196
    4.3.2 Airplane 프로젝트의 Sequence 다이어그램 작성하기 = 204
    4.3.3 Sequence 다이어그램을 UML 전체 흐름도에 삽입하기 = 211
    4.3.4 완성된 Airplane의 클래스 다이어그램 = 213
  4.4 모듈 설계 = 215
    4.4.1 Component 다이어그램 작성 방법 = 215
    4.4.2 Airplane 모듈 설계서 = 217
  4.5 배치도 작성하기 = 219
    4.5.1 노드 도출하기 = 220
    4.5.2 Deployment 다이어그램 완성 = 221
  4.6 정리 = 222
5장 구현
  5.1 구현 준비 = 226
    5.1.1 UML에서 소스 코드 자동 생성하기 = 226
    5.1.2 Airplane 소스 트리 = 231
  5.2 공통 소스 구현 = 233
    5.2.1 설계 도면 = 234
    5.2.2 pss_hash 소스 = 235
    5.2.3 pss_ksock소스 = 239
  5.3 백신 업데이트 서버 구현 = 244
    5.3.1 설계 도면 = 244
    5.3.2 pssas_update 소스 = 245
    5.3.3 pssa_serv 빌드 = 252
  5.4 백신 필터 구현 = 255
    5.4.1 설계 도면 = 255
    5.4.2 pssa_filter 소스 = 257
    5.4.3 pssa_lkm.ko 빌드 = 264
  5.5 정리 = 267
6장 테스트
  6.1 테스트 케이스 준비 = 269
    6.1.1 테스트 케이스란 = 269
    6.1.2 EA를 이용한 테스트 케이스 작성 = 270
    6.1.3 테스트 케이스 정리 = 275
  6.2 테스트 케이스 수행 = 277
    6.2.1 TC#01 Eicar 테스트 = 277
    6.2.2 TC#02 업데이트 서버 시작 = 279
    6.2.3 TC#03 백신 필터 시작 = 280
    6.2.4 TC#04 Eicar 차단 = 282
    6.2.5 TC#05 업데이트 = 282
  6.3 QA 리포트 = 287
7장 뫼비우스의 띠
  7.1 개선할 부분 = 292
    7.1.1 업데이트 서버 = 292
    7.1.2 클라이언트 = 293
  7.2 응용할 수 있는 부분 = 295
    7.2.1 시스템 모니터링 = 295
    7.2.2 산업 소프트웨어 보안 = 296
  7.3 끝이 없는 해킹과 보안의 싸움 = 297
    7.3.1 백신의 태생적 한계 = 298
    7.3.2 새로운 도전의 시작 = 299

관련분야 신착자료