메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

직접 설계하고 개발하는 IoT 백신(초급)

한빛미디어

집필서

판매중

  • 저자 : 이창우
  • 출간 : 2017-04-07
  • 페이지 : 300 쪽
  • ISBN : 9788968487361
  • 물류코드 :2736
초급 초중급 중급 중고급 고급
4.2점 (10명)
좋아요 : 20

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

 

1. 시리즈 소개 

• 리눅스 환경에서 동작하는 보안 솔루션을 개발하며 기본 구조를 이해할 수 있습니다.

• 백신 개발을 시작으로 시스템 보안과 네트워크 보안까지 개발합니다.

• 다 만들어진 코드를 설명하는 게 아니라 기획/설계/구현하는 방법을 이야기합니다.

• 보안 개발을 처음 시작하는 학생과 직장인을 대상으로 합니다.

• 최대한 쉽게 구현합니다.

• 누구나 보안 개발자가 될 수 있다는 꿈과 희망을 선사합니다.

 

2. 주요 특징

• UML 실용 설계 - UML을 효과적으로 사용하는 방법으로 간결한 코드만으로도 모든 요구사항을 만족시킬 수 있습니다.

• 현실주의 - 현업에서 실제로 일어나는 일들과 그에 맞는 개발 프로세스를 이야기합니다.

• 모듈식 구성 - 원하는 목적에 맞춰 골라 읽을 수 있습니다.

• 손 안에 기술서 - 한 권의 내용을 1주에서 2주 정도면 정독할 수 있는 분량으로 짧게 구성합니다.

 

3. 사전 지식(권장)

• C 언어

• 간단한 소켓 프로그래밍

• 리눅스 커널의 역할 이해(단, 커널 개발 경험은 없어도 됩니다.)

• UML과 VMWare 사용의 이해

저자

이창우

보안 기업 AhnLab에서 10년 동안 PC용 V3 방화벽과 침입차단 시스템 엔진, 웹 보안 솔루션을 개발했다. 이후 삼성전자에서 스마트TV 보안 강화 설계, SDL(Security Development Lifecycle) 적용, 임베디드 보안 프레임워크를 설계했고, 현재는 삼성 스마트TV 통합 보안 솔루션인 ‘스마트 시큐리티’를 담당하며 임베디드 백신, 코드 서명, 방화벽을 개발하고 있다.

하나의 보안 기술만으로 컴퓨터 시스템을 안전하게 만들 수 없다. 따라서 개발 기술뿐만 아니라 프로세스와 조직 문화까지 보안과 관련된 것이라면 무엇이든 공부하고 있다.

들어가며(시리즈 소개)

_“저도 백신을 만들 수 있을까요?”

_“Security School에 오신 것을 환영합니다.”

_“여러분이 준비할 것과 얻을 것입니다.”

1장 백신 개발 프로젝트 Airplane 시작

_1.1 보안 개발 입문기

_1.2 프로젝트 준비

2장 요구사항

_2.1 요구사항 수집

_2.2 요구사항 분석

3장 프로토타입

_3.1 개발 환경 만들기

_3.2 리눅스 커널 수정과 모듈 만들기

_3.3 백신의 실행 파일 실시간 감시

_3.4 리눅스 커널 소켓 프로그래밍

_3.5 프로토타입 정리

4장 설계

_4.1 설계 범위 정하기

_4.2 정적 설계 시작

_4.3 동적 설계로 완성하는 정적 설계

_4.4 모듈 설계

_4.5 배치도 작성하기

_4.6 정리

5장 구현

_5.1 구현 준비

_5.2 공통 소스 구현

_5.3 백신 업데이트 서버 구현

_5.4 백신 필터 구현

_5.5 정리

6장 테스트

_6.1 테스트 케이스 준비

_6.2 테스트 케이스 수행

_6.3 QA 리포트

7장 뫼비우스의 띠

_7.1 개선할 부분

_7.2 응용할 수 있는 부분

_7.3 끝이 없는 해킹과 보안의 싸움

IoT 시대가 이제 열렸다고 하지만, 우리는 이미 IoT 시대에 살고 있습니다. 아침을 알리는 스마트워치, 등교길 버스 요금 단말기, 강의 노트용 태블릿, 점심시간 편의점 계산 단말기, 인기 드라마를 보여주는 스마트TV, 친구와 즐기는 게임기, 자기 전 보는 전자책, 시도 때도 없이 보는 스마트폰 등 생김새는 다르지만, 우리는 모두 연결된 컴퓨터 시스템을 아침부터 밤까지 이용하고 있습니다. 그런데 이것 중 보안 기술이 적용된 것은 몇 개나 될까요?

모두가 보안이 중요하다고 말합니다. 하지만 관련 인력이 부족한 게 현실입니다. 이는 프로그래밍을 시작한 사람들에게 보안이 어려워 보이는 주제이기 때문입니다.

그래서 이 책을 썼습니다. C 프로그래밍은 가능한데 임베디드 개발 경험도 없고 리눅스 커널도 잘 모른다고요? 그래도 괜찮습니다. 이 책의 내용을 그대로 따라 해보세요. 차근차근 따라 하다 보면 UML을 이용한설계 방법도 알게 되고, 리눅스 커널도 약간 수정하다 보면 어느덧 간단한 백신의 실시간 감시 기능까지 구현하게 됩니다.

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

이 책은 고등학생, 대학생, 사회 초년생을 대상으로 집필했습니다. 어려운 지식이 전달이 아니라, 호기심을 충족시키며 보안 개발자가 되는 길에 희망을 드리고자 쓴 책입니다. 그러니 부담 없이 읽어보세요. 누구나 처음은 있습니다.

 

- 서자 서문에서 발췌

  • 직접 설계하고 개발하는 IOT  백신 : 초급

    직접 설계하고 개발하는 IoT 백신 초급
    국내도서
    저자 : 이창우
    출판 : 한빛미디어 2017.04.07
    상세보기

     

    백신은 컴퓨터 바이러스를 예방하거나 치료하는 소프트웨어를 말한다. 하나의 백신을 개발하기 위해서는 엄청난 기술력과 노하우를 필요로 한다고 생각을 했다. 이책을 보기 전까지는 내가 직접 백신개발을 할수 있다는 생각을 해보지 못했다.  실체도 모르면서 막연하게 엄청나게 똑똑한 사람들이 아주 많이 모여야만 만들수 있다고 생각했다. . "직접 설계하고 개발하는 IOT  백신 : 초급"은 아주 기본적이고 작은 백신을 만들어 볼수 있는 예제를 제공한다. 

     

    난감 했던 환경세팅

      나는 맥북을 주로 사용한다. OS를 설치할 VMWARE를 설치해야하는데 VMWARE가 맥용이 없었다. 그래서 생각한게 AWS에 인스턴스두개를 띄우는 것이였다. 어째서인지 여러 에러를 내뱉기만 하고 진행이 되지 않았다. 여러번 재설치도 해봤는데 나의 기술이 모자라선인지 제대로 구동하지 않았다. 결국 회사에 남는 컴퓨터를 세팅해서 겨우 진행할 수 있었다. 많은 IT책에서 실습시 VMWARE를 설치하게 하는데 AWS의 프런티어로 진행할 수있게 하면 좀더 쉽게 접근이 가능하지 않을까? 하는 생각을 해본다. 


    어려웠던 언어의 이해

      나는 자바 개발자다. 리눅스나 C언어를 제대로 모르는 상태에서 진행하다보니 쉬운 문법 오류에도 당황했다.  저자의 홈페이지를 통해 도움을 구하라고 되어있지만 전혀 도움은 안되는 것 같다, 그보다는구글링의 도움을 받거나 몇번이고 다시 타이핑을 하면서 진행했다. 이런식으로 진행하다보니 책한장  넘기는데 도상당한 시간이 걸렸다.  하지만 C언어와 리눅스도 조금은 공부가 되었다.  

     

    초급이라면서...

      UML에 관련된 이미지가 아주 많이 나온다. 설계와 구현 모두를 한책에 담았다. 그래서 UML반, 코드반의 비율로 진행 되는 것같다. 설계에 관한 글을 보는것보다 이미지를 같이 보면서 이해하니 조금 쉽게 이해 되었다. 책의 초급이라는 것은 백신의 수준이 초급이라는 것이지 설계에 대한 이해와 구현이 초급이 아니라는 것을 알게 된다. 사실 알만한 용어도 많지만, 어려운 용어들도 나온다.  그리고 너무 많은 기초지식을 필요로 한다.  어렵다....많이 어려웠다..ㅠㅠ

     

    마무리....

      책을 완독한다면 제목대로 설계부터 구현까지 한사이클을 경험해볼수이다. 프로그래머에게 프로젝트하나를 처음부터 끝까지 경험한다면 그것만으로도 좋은 공부가 된다.  이책을 읽으려는 초급자들이 있다면 포기하지 말라고 이야기 해주고싶다. 포기하지 않으면 많은게 남는다. 

     

    by.조조나리

  • 종이접기 책으로 오해할 수 있을법한 표지를 소유한 "직접 설계하고 개발하는 IoT 백신"을 소개한다.
     
    표지는 정말 아기자기 하지만 반면에 책 내용은 "백신"이라는 주제를 다루고 있는 반전 매력을 가진 책이다.
     
     
    불과 몇년 전만 해도 "IoT" 또는 "사물인터넷"이라는 단어가 매우 낮설었을 것이다.
    최근들어 IoT 라는 단어를 심심치 않게 듣기도 하고 뉴스나 방송을 통하여 접하고 있기 때문에 낯설지 않게 느껴진다.
     
    IoT를 간단하게 설명해보자면?
    이제 우리 생활에 사용되는 가전제품들이 궁극적으로는 모두 연결되는 세상을 가리켜 "IoT세상"이라고 할 수 있을 것 같다. 연결된다 라는 의미는 바로 인터넷을 통하여 서로 통신을 할 수 있다는 이야기다. 
    현재 대표적인 예를 들어 보자면 "핸드폰"을 이야기할 수 있겠다.
     
    조금만 더 시간이 흐른다면 냉장고나 세탁기, 자전가, 신발 등 다양한 제품들이 인터넷에 연결되어 수많은 정보들을 주고 받게 될 것이다. 이런 정보들은 특히나 예민한 "개인정보"들이 될 것인데 이 정보들을 보호하기 위해서는 지금 이 책(IoT백신)에서 설명하는 백신을 통하여 보호해야 할 것이다.
     
     
    서론이 길었다. 하하.
    "직접 설계하고 개발하는 IoT백신"의 특징을 몇 가지 이야기 해보겠다.
     
    이 책은 목적성이 뚜렷하다. 
    IoT용 백신을 만드는 것이다. PC용 백신이 아닌 IoT 디바이스간 해킹에 대한 보호를 위한 백신을 만들기 때문에 한정된 자원에 대해서 많은 고민을 하면서 실습을 진행하게 된다.
    물리적인 IoT장치를 가지고 있지 않더라도 가상머신 2대를 이용하여 개발 및 테스트를 진행할 수 있다.
     
    실용적인 설계를 추구한다.
    저자가 외국인이 아니고 백신업체에서 많은 경험을 가지고 있는터라 경험을 풀어내는 내용들이 한국에서 개발하고 있는 입장에서 보았을 때 와닿는 부분들이 많았다. 번역서가 아니라 생각보다 저자가 표현하고자 했던 내용들을 왜곡 없이 접할 수 있는 것은 장점 중에 하나인것 같다.
    또한 다양한 설계 방법들이 있지만 저자의 경험을 바탕으로 "프로토타입" 개발프로세스로 진행하는데 생각보다 유용하다는 생각이 들었다.
    또한 설계 시 UML을 사용하지만 틀에 얽매이기보다는 적재적소에 알맞게 사용하는 방법들에 대해서 이야기 하는 부분이 마음에 들었다.
     
    개발 라이프 사이클을 경험할 수 있다.
    백신 개발을 하기 위하여 요구사항 분석부터 설계 구현 테스트까지 전체적인 개발 라이프 사이클을 경험할 수 있도록 구성되어 있다. 다른책들과의 차이가 있다면 테스트 부분에 직접 QA팀의 입장에서 테스트케이스를 도출하고 테스트를 진행하는 사항까지도 꼼꼼히 설명하고 있는 부분을 들 수 있겠다. 책을 한번 훑고 난다면 개발이 어떻게 시작되고 끝맺음이 되는지 알 수 있는 좋은 계기가 될 것 같다.
     
    리눅스 커널을 접할 수 있다.
    리눅스 커널이라고 하면 어렵고 손대기 힘든 미지의 세계라고 생각들기 마련이다.
    IoT백신을 제작하면서 리눅스 커널 내부를 접할 수 있게 되고, 애플리케이션 및 리눅스 드라이버도 만들어 볼 수 있는 계기가 된다. 또한 직접 운영체제인 리눅스 커널 이미지를 제작하여 내가 만들 커널로 사용한다는 것은 생각만해도 짜릿하지 않은가?
    리눅스 드라이버를 공부하고 싶어도 무엇부터 공부해야 할지 막막할때가 많을텐데 백신을 직접 제작해보면서 드라이버를 접할 수 있기 때문에 생각보다 좋은 시작 포인트가 될 것 같다는 생각이 든다.
     
     
    위와 같이 책을 읽으면서 좋은 느낌들을 받았다.
    하지만 아쉬운점도 눈에 띄었다.

    책을 읽는 도중에 추가적인 설명이나 자료에 대해서 저자가 운영하는 홈페이지에서 확인 할 수 있도록 안내하고 있다. 그런데 이 홈페이지를 가보면 아직 제대로 된 정보가 업데이트 되어있지 않았다. 분명히 책에는 해당 홈페이지에서 정보를 확인할 수 있다고 되어있지만 실상 홈페이지에 접속해보면 내용이 없어서 매우 당혹스러웠다. 이 책은 이제 시리즈로 작성된다고 하는데 이 부분에 대해서는 빠른 조치가 필요할 것 같다. 
     
     
    이 책을 덮은 후 다시 한번 생각을 정리해보니
    IoT백신이라는 주제도 흥미로웠고, 국내 저자가 들려주는 생생한 경험담도 좋았다.
    그리고 리눅스 커널 및 드라이버 개발에 관심이 있는 학생들이라면 처음 입문하는데 많은 도움이 될 것이라 생각된다.

  • 소개

    IOT(Internet of Things : 사물인터넷)
    영어 자체로는 물건들의 인터넷이 된다.

    텔레비전을 틀면 통신사나 대기업들은 적어도 IOT광고를 하나씩은 하고 있다.
    몇년부터 굉장히 인기있는 차세대 기술이고, 이미 집에도 IOT서비스를 몇개 사용하고 있다.

    집 밖에서 공기청정기를 켠다던지, 습도를 보는 용도로 사용중인데, 공통적으로 네트웍에 근간을 두고 있고,
    프로그래머이다 보니, 보안 문제는 굉장히 중요하기도 해서 관심이 갔다.

    생각보다 두껍지 않은 책인데
    기본적으로는 오동작하는 악성코드(간단하긴 하지만 악성코드의 목적은 달성한다)를 처리하는 프로그램을 개발하는 과정을
    소프트웨어 개발모델에 따라, 개발방법론(UML)을 적용하여 학생처럼 진행하는 것이다.

    그 외에도 
    VMWare(가상운영체제 설치툴)에 리눅스(우분투)를 설치해서 커널소스를 컴파일 해본다던지,
    소켓프로그램을 해서 서버/클라이언트 구조를 만든다던지,
    백신 프로그램의 업데이터 서버를 구축한다던지
    다양한 것들을 해볼수 있다.
    참고로 페이지는 많지 않지만, 따라해보려면 꽤 많은 시간이 든다.​

     
    장점
    - 실제 백신/IOT관련 업무를 담당하는 직원이 쓴 글이라서 믿음이 간다.
    - IOT라는 제목이 시각을 끌고 호기심을 자극한다.
    - 보안관련 책이 많지 않고, 내용도 어려운것이 보통인데 쉽게 접근할 수 있다.
    - 생각보다 다양한 지식에 대해 다루어 준다.
    - 리눅스 관련 지식을 짧게나마 익힐수 있다.
    - 소켓프로그램은 보통 윈도우즈를 기반으로 하는것이 많은데, 리눅스 기반 소켓프로그램을 해 볼 수 있다.
    - 어플리케이션의 업데이트 서비스를 구축해 볼 수 있다.

    단점
    - 내용 자체는 초급이긴 하지만. 제대로 해보려면 알아야 하는 내용들이 꽤 있다(C / Linux / VMWare / 소켓프로그래밍)
    - 입문책이라 그렇지만, 알고보면 그렇게 깊은 내용은 아니다.(하지만 이 부분은 사람에 따라 굉장한 차이가 있다)
     

  • 직접 설계하고 개발하는 IoT 백신 초급

     

     

    얼마전에 있었던 랜섬웨어에 대한 이슈가 온 나라를 뒤 흔들었던 것 처럼 

     

    오늘날 보안은 더 이상 일부 전문가들만이 관련있는 특별한 일이

     

    아닌 국민 전체의 생활에 중요한 문제입니다. 

     

    랜섬웨어까지는 아니더라도, '백신'이라는 것을 직접 '설계'하고

     

    '개발'할 수 있는 '초급' 책이라는 이 책의 제목은 개인적인 

     

    호기심을 상당히 자극하는 내용이기도 했습니다. 

     

    뭔가 대단한 사람들이 모여서 엄청난 고난을 통해서 만들어지는

     

    것이 아닌가라고 생각되었던 '백신'이라는 것을 직접 만들수 

     

    있다는 점은 꼭 소프트웨어에 대해 잘 모르는 사람들에게도 

     

    꽤 관심있는 주제가 되지 않았을까 싶습니다. 

     

     

    1. 준비

     

    책은 표지를 제외하고 정확하게 300쪽입니다. 

     

    차례 및 모든 내용을 포함한 분량인데요. 다루는 주제를 생각한다면

     

    그리 많지 않은 분량이라는 생각이 들었습니다. 

     

    책을 받고 가장 먼저 살펴봤던 것은 책의 뒷 표지에 있는 

     

    '사전 지식' 이었습니다. 과연 '초급'이라는 제목을 붙이고 있는

     

    이 책이 '제목'만 '초급'인지 아니면, '실제'로 '초급' 책인지

     

    알고 싶었기 때문입니다. 

     

    책에서 나온 사전 지식은 

     

    1) C 언어, 

    2) 간단한 소켓프로그래밍, 

    3) 리눅스 커널의 역할 이해

      (단, 커널 개발 경험은 없어도 됩니다.)

    4) UML과 VMWare 사용의 이해 

     

    이렇게 4가지가 나와있었습니다. 

     

    '백신'이라는 주제와 '초급'이라는 주제에 맞추다 보니 

     

    이렇게 되어 있지만, 실제 책을 읽다보면, '초급'이라고 부르기

     

    애매한 경우가 곳곳에 나옵니다. 

     

    책을 읽고난 상황에서 보면, 1, 2 항은 미리 보는 것이 좋을 것

     

    같고, 3 항은 몰라도 일단 들어가도 될 거 같고, 

     

    4 항 UML은 대략알아도 되고, VMWare는 좀 아는 것이 좋은 것 

     

    같습니다.

     

    또한 우분투라는 리눅스를 주로 사용하기 때문에, 이에 대한 

     

    사용법을 조금 알고 들어가는 것이 학습을 진행하는데 도움이

     

    될 것 같습니다. 

     

     

    2. 진행

     

    책의 구성은 요구사항분석, 프로토타입, 설계, 구현, 테스트와 

     

    같은 흐름으로 진행됩니다. 이른바 꼭 백신이 아니더라도 

     

    소프트웨어를 개발하는 전형적인 방식을 따라가고 있습니다. 

     

    이를 통해 백신 개발에 대해 궁금한 사람들 뿐만 아니라, 

     

    '소프트웨어개발의 초보'들에게도 소프트웨어 개발의 흐름을 

     

    맛볼 수 있는 기회를 제공해 주고 있습니다. 

     

    앞서 말한 것 처럼, 여러가지 사전 지식이 있으면 좀 더 쉽게

     

    접근하고 진행할 수 있지만, 부분적으로 잘 모른다고 하더라도

     

    일단 부딪쳐서 전진해 나가면 될 만큼, 아주 어렵지는 않게 

     

    되어 있습니다. 

     

     

     

    3. 학습 효과

     

    책의 앞부분에서 저자분도 이 책이 이른바 '상용 백신'수준의 

     

    복잡하고 다양한 내용을 알려주는 것이 아니라는 점을 분명히 

     

    하고 있습니다. 뭔가 백신에 대한 사명감이나 전문적인 기술을 

     

    배우려는 분들이라면, 작은 참고가 될 수는 있겠지만, 이 자체로

     

    큰 도움이 될지는 잘 모르겠습니다. 

     

    다만, 이 책은 다음과 같은 경우에 도움이 될 것 같습니다.

     

     

    1) 기본적인 소프트웨어 개발에 대한 프로세스를 잘 몰랐던 사람

     

    2) 프로그래밍에 관심도 있었고, 프로그래밍 언어도 한 두개 

     

       배웠지만, 그 다음에 뭘할지 잘 모르겠던 사람

     

    3) C 언어나, 소켓 프로그래밍, UML 처럼 몇 가지 특정 기술들을 

     

       배웠지만, 실제로 하나의 목적을 위해 다양한 기술이 

     

       어떻게 모여서 사용될 수 있는지 잘 몰랐던 사람

     

     

    이런 사람들에게 실제 백신이라는 구체적인 결과물을 얻어내는 

     

    과정을 통해 소프트웨어 개발의 흐름과 과정을 이해할 수 있는 

     

    기회를 제공해 줍니다.

     

     

    소프트웨어 개발이 어떤 과정을 거쳐 어떻게 이루어지는지 궁금한

     

    분들에게 좋은 안내서가 되리라 생각합니다. 

     

  • < 이 책은 한빛 미디어 '한빛리더스'로 부터 책을 지원받아 작성된 글입니다.>

     


    [ 책소개 ]

     

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

     

    1. 시리즈 소개 

    • 리눅스 환경에서 동작하는 보안 솔루션을 개발하며 기본 구조를 이해할 수 있습니다.

    • 백신 개발을 시작으로 시스템 보안과 네트워크 보안까지 개발합니다.

    • 다 만들어진 코드를 설명하는 게 아니라 기획/설계/구현하는 방법을 이야기합니다.

    • 보안 개발을 처음 시작하는 학생과 직장인을 대상으로 합니다.

    • 최대한 쉽게 구현합니다.

    • 누구나 보안 개발자가 될 수 있다는 꿈과 희망을 선사합니다.

     

    2. 주요 특징

    • UML 실용 설계 - UML을 효과적으로 사용하는 방법으로 간결한 코드만으로도 모든 요구사항을 만족시킬 수 있습니다.

    • 현실주의 - 현업에서 실제로 일어나는 일들과 그에 맞는 개발 프로세스를 이야기합니다.

    • 모듈식 구성 - 원하는 목적에 맞춰 골라 읽을 수 있습니다.

    • 손 안에 기술서 - 한 권의 내용을 1주에서 2주 정도면 정독할 수 있는 분량으로 짧게 구성합니다.

     

    자세한 소개 : Link

     

     

    [ 책을 읽으며 ]

     

     

    "초급이지만 초급이 아닌"

     

     이 책으로 공부하기 위해서는 사전 지식이 조금 많이 필요할 듯 하다. UML이라니!!!!!!!!!! 팀 프로젝트나 개인 프로젝트를 UML로 준비 해본게 아니라면 대학교 교육 기준으로는 다시 어렵다. UML 해석도 해야하고 TCP/IP 지식도 알아야 하며 리눅스에 대한 이해도도 있는 상태에서 공부를 해야하지 않을까 싶다. 초급이라고 해서 마냥 처음부터 끝까지 알려주는게 아니라 백신을 만들때 어떻게 하는지를 더 많이 보여주는 책이다.

     

     

    "차근차근"

     

     UML을 시작으로 시나리오 작성, Use-Case 작성까지, 설계도 부터 자근차근 진행한다. 그러나 Vmware 설치나 C언어에 대한 설명이나 이런 부분은 없기 때문에 사전 지식이 없다면 사전지식을 먼저 공부하고 책을 펴도록 해야할 것이다. 많은 프로젝트 책을 읽어봤지만 이렇게 차근차근, 작은것부터 시작해서 개발을 할 수 있도록 해주는 책은 처음 본 것 같다. 물론 다른 책에 없다는건 아니지만 지금까지 읽은 책들이 프로젝트 기반보다는 학업 목적이라서 그런것 같다.

     

     

     

    "리눅스, 우분투"

     

      얼마 전 '이것이 우분투 리눅스다'라는 책을 리뷰한 적이 있다. 책을 읽고 보는중 OS가 우분투라서 굉장히 좋았다. 아는 부분에서 나온다니 얼마나 좋은가. IoT 장치와 IoT 장비 모두 Vmware로 테스트하게 되는데 실제 IoT장비는 아두이노와 라즈베리를 주로 사용하지 않나 싶다. 그런 부분에 있어서 라즈베리가 아닌게 조금 아쉬웠다. 많은 차이는 없지만 vmware를 이용하여 테스트하기 때문에 어쩔수 없나보다.

     

     

     

    "소켓 프로그래밍"

     

     리눅스에 이어 소켓프로래밍도 나온다. 학교 수업을 제외하고 궁금해서 TCP/IP에 대해 공부했는데 그런 사전 지식이 없었다면 이 책을 읽는 것을 포기 했을 것이다. 만약 사전 지식이 없다면 책 구입을 한 번쯤 고민해보길 바란다. C, 리눅스, 소켓 프로그래밍, UML에 사전 지식이 있어야할 것이다. 백신 서버와 통신하기 위해 소켓을 이용한다. 네트워크도 같이 공부할 수 있는 기회라고 생각된다.

     

     

    "자세히"

     

     책을 읽으면서 가장 좋았던 점은 개발을 하면서 궁금했던 부분의 답을 뒷장을 넘기면 답을 얻을 수 있다는 것이다. 저자님께서 독자들을 신경을 많이 써주셨다는 것을 알 수 있는 부분인 것 같다. 

     

     

    [ 마무리 ]

     

     개인적으로는 보안과는 맞지 않는다는 생각을 했다. 프로젝트를 진행하면서 보안도 중요하지만 나와 보안은 맞지 않는다. 너무 많은 부분을 알아야하기 때문이 아닐까 싶다. 머리가 터질정도로 많은 정보들에 대해 알고 있어야 하고, 그것을 알지 못하면 개발을 진행할 수 없다. 이번에 리뷰한 책은 '초급'이다. 고급도 있다. 과연 고급에는 어떤 내용을 다루고 있을지 궁금하지만, 무서운 책이다.

     

     

    [ 총평 ]

     

    디자인        ★★★★★

    난이도        ★★★★★

    내용           ★★★☆



  • 이 책은 사전 지식이 필요한 책이다. 책을 사기 전에 꼭 한번 권장 지식이 있는지 꼭 파악해 두길 바란다. 하지만, 초급 개발자 정도라면 무난히 읽을 수 있는 내용으로 작성이 되어 있다. 

     

     

     

    하지만 사전 지식이나 개발 경험이 부족한 분들이더라도 꼭 29페이지까지는 읽어보기를 바란다. 100% 현실에 꼭 들어 맞지는 않지만 그래도 프로젝트 매니저이거나 개발자라면 서로에 대한 협력을 하기 위해서 기본적으로 알아야 되는 내용이 담겨져 있고, 아래 그림에서 종이접는 방법이 순서대로 나와있는 것처럼 초급 개발자나 처음 프로젝트를 맞게 되어 방향을 잡기 힘든 분들에게 도움이 될 수 있을 것이라 생각되었기 때문이다.

     




    책의 한 부분 처럼 UML로 전체 흐름을 직접 그려보고 파악하고 코드를 작성하는 구조로 되어 있다. 실제 프로젝트에서는 이런 과정이 개발기간이 짧다는 이유로 생략되고 개발자의 경험에 의한 소위말하는 "겐또와 통밥" 으로 개발이 되기도 하지만, 개발을 처음하는 분들이라면 꼭 한 번은 이런 과정을 통해 개발을 할 수 있음을 꼭 파악해 둘 필요가 있기 때문이다.
     
    왜냐하면 "겐또와 통밥"은 순간적인 결과를 만들어내지만 나중에는 극단적인 문제를 발생하기 때문이다.

     

     

     

    프로토타입 -> 설계 -> 구현 -> 테스트 형태의 기본적인 개발 구조에 대한 분들에게 추천드리는 책이며, 책에 대한 추가적인 정보는 아래 사이트에에서 찾길 바란다.

    홈페이지 : http://www.schoolime.com/securityschool/

    자료실 : 

    http://www.schoolime.com/securityschool/download-category/antivirus-download-ko/

    아쉬운 점은 추가적으로 공부할 내용에 대해서 홈페이지나 인덱스등이 부족한게 아쉽지만, 다음 책 (심화편) 이 출간될 예정이라고 하니 기대를 하고 기다리게 만드는 책이었다.

     



    출처: http://franky.tistory.com/67 [Franky Works(WEB, APP 개발)]

  • 내가 왜 이 책을 선택했을까... 하는 후회도 하면서 책을 받아들고선 처음 이 책을 왜 선택했지? 라는 생각을 하며 기억을 더듬어 봤습니다.

      책 제목부터 매우 멋집니다. IoT 백신이라. 요즘 한참 유행하는 IoT 라는 키워드도 들어있고 백신 만들기라니! 멋지지 않은가?! 나는 백신을 만들어본적도 없지만 보안은 아주 조금은 공부해봤으니 멋내기 딱 좋은 책이 아닐까? 이런 생각이었던 것 같습니다. 물론 책 내용이 어떠하든간에 개발 공부에는 도움이 될테니 상관없다는 생각도 있었지만요. 

      그래서 책을 받아들고는 초입에서 저자가 말하는 얘기에 뜨끔하기도 했습니다. 나도 백신을 만들 수 있을까? 백신 개발자에 대한 선입견, 시각들에 대한 짧은 얘기였지만 아 내가 생각하던 것과 비슷하기도 하고 내가 이 책을 집어든 이유와 동일하구나 하면서 뜨끔했던 것입니다.

     

      여튼 책은 멋들어지게 개발 능력을 뽐낼 수 있는! 무언가를 보여준다기보다는 개발 실력 특히 설계부터 개발 요구 사항 충족까지 이어지는 개발자로서의 기본기를 탄탄히 하는 프로세스를 '백신 개발' 이라는 틀 안에서 진행해가는 내용입니다. 

      책에서는 보안 관련인 백신인 만큼 윈도우 기반이기 보다는 리눅스 기반의 프로그램을 설계하고 만드는 방법들에 대해서 배우고 특히나 UML을 이용한 설계도 깔끔하게 설명하고 있습니다. 읽으면서 좋았던 점은 저자의 서술 방법과 어투가 매우 친근하다는 점입니다. 딱딱하고 거리감이 느껴지기보다는 편안한 어투로 설명하기 때문에 읽다보면 생각보다 쉽게 많이 진도를 나가 있는 것을 깨닫게 됩니다.

     

      휴휴 저자 칭찬은 다 했으니(벌써?) 다음으로 넘어가서 책의 편집 상태를 좀 봅시다.

      내용은 300페이지 정도 됩니다. 전혀 적은 장수가 아니죠. 하지만 책 가격은 24,000원! 생각보다 요즘 책 중에서는 저렴한 편입니다! 왜냐? 컬러가 아닙니다! 표지는 왕 이쁘지만 컬러가 아니죠! 물론 컬러가 아니어도 보는데 전혀 지장이 없습니다!(코드 하이라이팅이 꼭 필요한게 아니시라면...) 또 한빛답지 않게 편집은 매우 단순한 편입니다. 메인시리즈가 아니여서 그런건지는 모르겠지만 편집에 매우 힘을 뺀 느낌? 그래서 다른 출판사 책 같은 느낌이 들 정도 입니다. 하지만 보기 불편한 정도는 아니여서 전혀 거슬리지는 않았습니다.

      이 가격을 충족하기위해서 힘들 뺀것이라면 적극 찬성하고 싶은 편집인정도 입니다!

     

      자 마지막으로 책 내용을 조금만 살펴봅시다. 내용은 구체적으로 나열한다기보다는 보통 어떤 것을 완성하는 절차로 흐름이 가다보면 거기에 포커스가 집중되어서 딱 그 흐름만 배울 수 있게 됩니다. 하지만 이 책에서는 그 흐름을 따라가면서도 선배 개발자가 후배 개발자들에게 필요한 내용을 설명하는 것을 전혀 놓치지 않고 있습니다. 

      개인적으로는 이 책을 어떤 분에게 추천하고 싶으냐? 물으신다면 저희 회사에 입사하는 신입 개발자들에게는 꼭 한번씩 읽어보라고 하고 싶습니다. 개발 기술? 프로그래밍 언어 문법을 배우거나 최신 디자인 패턴을 적용한다! 이런건 어렵지 않습니다. 따라하면 되고 기존의 소스를 이용해서 유지보수 하는 것도 생각만큼 어렵지는 않습니다.

      그런데 새로운 제품을 설계하고 요구 사항을 충족하는 것. 즉 주어진 문제를 해결하는 것은 경력과 상관없이 어떻게 배웠느냐 어떻게 사고를 하느냐에 달려있다고 생각합니다. 이 책에서는 그런 근본적인 문제를 고민하고 해결해 나가는 과정을 그대로 담고 있어서 신입 개발자들에게는 정말 좋은 책이라고 설명 드리고 싶네요.

     

      그럼 백신 개발을 공부해보고 싶은 사람에게는? 이라고 물으시면 음 그것도 어느정도? 책의 주제는 분명 백신이지만 책 초입에 저자분이 말씀하신 것처럼 막 엄청난 현대 백신에서 채용하고 있는 최신 기술들을 구현하는 것이 아니라 필요한 파일을 보호하고 문제있는 파일을 제거하고 탐색하는 형태의 기본적인 백신 형태를 운영체제에 맞게 구현하는 것입니다. 즉 백신 최신 기술을 공부하고자 하는 분들에게는 비추입니다.

      백신 개발의 기초를 공부하고 싶거나 나는 제품을 설계하고 만들어 보는 과정에 대한 자신이 없다! 하는 개발자 분들에게 추천합니다!!!!

     

      이상 이번 책 리뷰를 마칩니다. 저도 한번 더 보고 후배 개발자들에게 해주고 싶은 얘기들을 다시 정리해 봐야겠네요! 좋은 하루 되세요!

     

  • 첫인상

    처음 이 책을 접했을 때 들었던 생각은 '백신 개발에 대한 지식이나 경험이 전무한 내가 이 책을 제대로 읽을 수 있을까?' 하는 걱정이었다. 하지만 막상 책을 읽어보니 생각했던 것 보다 글이 잘 읽히고 내용을 이해하기도 편하게 되어 있어서 놀랐다.

    책을 읽는데 도움이 되는 사전 지식

    - C 언어
    - 간단한 소켓 프로그래밍
    - 리눅스 커널의 역할 이해 (단, 커널 개발 경험은 없어도 됩니다.)
    - UML의 이해
    책에서는 위의 사전 지식들을 언급하고 있지만, 단계 별로 그림과 함께 설명이 잘 되어 있기 때문에 프로그래밍에 대한 기본적인 지식만 있다면 누구나 쉽게 읽을 수 있는 책이라고 생각한다. 

    내용
    한 대학생이 한 전자 회사의 소프트웨어 공모전에 출품할 IoT 백신을 개발을 한다. 저자는 이 대학생의 입장에서 IoT 백신 개발하는 과정을 예로 들면서 각 개발 프로세스의 단계들과 해야할 작업들을 설명한다.

    한 가지 특이한 점은 이 책에서 설명하고 있는 개발 방법론이 폭포수 모델에서 프로토타입 단계를 추가한 변종 모델이라는 점이다.

    개발 프로세스 그림 (23 페이지)

    프로토타입을 만들어 봄으로써 잘 알지 못했던 기술에 대해 익숙해지는 시간을 가질 수 있고 기존 분석에서는 보이지 않았던 잠재적 위험성을 알 수 있기 때문에 충분히 실용적인 방법론이라는 생각이 들었다.

    구성

    이 책은 폭포수 변종 개발 모델을 기반으로 IoT 백신을 개발하는 과정을 설명한다. 그림과 자세한 설명을 참고하여 단계 별로 개발을 진행시켜 나가다 보면 마지막에는 실제 동작하는 백신 프로그램이 완성되도록 구성되어 있다. 실제 개발에 사용되는 도구의 설치 및 사용법도 단계 별로 잘 설명되어 있기 때문에 초급 개발자가 따라하기에 부담이 없어 보인다.

    또한 중간 중간 "쉬어가기" 글을 삽입하여 개발에 유익한 이야기도 추가하고 "SKIP" 안내을 통해 이미 알고 있는 내용이라면 다음으로 바로 넘어갈 수 있도록 하는 등 저자의 섬세한 배려가 돋보인다.

    하지만 이 책의 가장 특징적인 구성은 이 책이 시리즈 물로 기획되어 있다는 점이다. 모듈식 구성으로 난이도(초급, 심화), 해킹 변화별 대응 전략(악성코드 대응, 변종코드 대응, 네트워크 공격 대응) 별로 총 6권의 책이 쓰여진다고 한다.

     
    악성코드 대응
    변종코드 대응
    네트워크 공격 대응
    초급
    A
    B
    C
    심화
    D
    E
    F

    독자는 필요와 관심 주제에 따라 자신이 원하는 책을 사서 읽으면 된다. (단, 초급/악성코드 대응에 해당하는 이 책은 이 시리즈의 시작이기 때문에 필수적으로 읽어야 한다.) 개인적으로 이러한 걸 본적이 없어서 무척 참신한 기획이라고 생각한다.

    결론

    이 책을 통해 백신의 기본적인 동작 원리와 리눅스 커널 모듈의 기초 동작 방식을 배울 수 있었다. 그리고 프로토타입 단계는 실제 업무 프로세스에 잘 적용하면 많은 도움이 되겠다는 생각이 들었다.

    하지만 너무 특정 도구(Enterprise Architect) 중심으로 설명되어 있는 점은 단점으로 생각된다. 해당 도구에 대한 자세한 사용법 설명은 따라하기에 쉬운 반면 이 도구를 사용하지 않는 사람들에게는 별 의미 없는 내용이 되기 때문에 해당 내용의 범위를 잘 조절하는게 필요해 보인다.

    전반적으로 읽기 쉽고 실제 개발 방법론의 전 단계를 거쳐 하나의 소프트웨어를 만들어 본다는 것은 의미있는 작업이라고 생각한다. 하지만 중급 이상의 개발자가 옆에 두고 지속적으로 업무에 참고하면서 보기에는 먼가 아쉽다는 생각이 든다. 이 부분은 추후에 나올 시리즈 책들에서 해결해 줄 것으로 믿으면서 이만 리뷰를 줄이고자 한다.


  • 보안 개발 전반을 다루는 Security School 시리즈의 첫 문을 여는 도서이다. 이 시리즈는 ‘설계부터 개발까지 직접 만들면서 배우는 보안 개발’이라는 타이틀을 걸고 기획되었는데, 특이하게도 모듈식 구성을 취했다. 원하는 목적에 맞춰 필요한 부분만 읽을 수 있도록 각 권의 주제가 독립적으로 구성된다고 한다.

    이 책은 대학생이 공모전 제출을 위해서 간단한 IoT용 백신을 개발하는 시나리오로, 하나의 프로젝트를 기획/설계/구현해서 최종 완성하는 형태로 진행된다. 사실 책을 받아보기 전에는 IoT나 백신의 코딩 관련 기술 얘기만 빼꼭하게 차 있을 줄 알았는데, 뜻밖에 기획/설계에도 많은 페이지가 할애되었다. 요구사항 분석부터 차근차근 알려주기 시작해서, UML로 주요 다이어그램도 직접 그려본다. 최근에는 많이 쪼그라든 UML이지만, 이 정도는 알아야 한다고 생각하는 핵심은 빼놓지 않고 다뤄줘서 좋았다. 요구사항을 취합해서 프로토타이핑을 먼저 해본 이후에 상세 설계와 구현에 들어가는 점은 특히 프로젝트 경험이 많지 않은 대학생들에게 도움이 될 것으로 보인다. 그 뒤로도 S/W 개발 실무에서 일반적으로 진행하는 스타일로 내용이 구성되어 있다. 저자가 자신 있게 실용적인 소프트웨어 설계 방법을 알려준다고 적어둘 만했다.

    모르는 걸 가장 빠르게 배우는 방법은 그냥 무작정 해보는 것이다. 냉장고 안의 재료를 닥치는 대로 넣고 끓인 자취생의 부대찌개같이, 자꾸 해서 먹어봐야만 뭐가 맛있는지, 뭘 넣으면 좋고 뭘 덜 넣으면 안 될지를 알 수 있다. 같은 맥락에서 일단 나 같은 초보자는 보안 솔루션(?) 하나를 처음부터 끝까지 만들어서 맛볼 수 있다는 점이 매력적이었다. 개인적으로 리눅스는 단순히 개발된 결과물을 이용/배포하는 서버로만 삼는 경우가 많아서, 직접 커널을 수정해서 빌드를 하고 프로세스를 감시하며, 간단한 백신의 실시간 감시 기능까지 구현한 것은 처음이었다.

    보안과 IoT에 대한 코어 기술 전수를 위해 제작된 도서는 아니다. 생각보다는 굉장히 보편적인 소프트웨어 개발을 논한다. 현업에서 실제로 프로젝트를 만들어가는 과정을 비전문가들에게 그대로 보여주고 싶다는 저자의 열망이 강하게 느껴졌다. 출퇴근 지하철에서 읽어도 1~2주 이내로 다 볼 수 있을 만큼 분량도 적절했다. 편집도 지루하지 않고 경쾌한 느낌으로, 입문자를 위한 난이도 조절에 성공한 것으로 보인다. IoT 백신이란 건 도대체 뭘 어떻게 개발하는지 감도 잡을 수 없었던 나 같은 초보에게는 더 없는 보안 입문서였다고 생각된다.
     

  •  

    04월 11일 리뷰 - 리뷰자 김종욱

    B8304726903_l.jpg

    클로버 직접 설계하고 개발하는 IoT 백신

    이창우 지음

     

     처음에 본 서를 받았을 때에는 책의 두깨가 너무나 얇아서 내용을 많이 담지 못할 것이라 생각했습니다. 하지만 책을 펼쳐보는 순간, 정말 알찬 구성과 다양한 내용들. 그리고 개발을 함에 있어서 정석적인 루트로 개발하는 잘 구성된 내용들이 보였습니다. 이 책의 내용은 초보자들을 위해서 구성되었지만, 본 블로거의 생각으로는 적어도 Linux OS, UML 설계 이론 등과 같은 기초적인 소프트웨어 개발에 필요한 지식들이 있어야 한다고 판단되었습니다. 이제 본격적인 리뷰를 시작해 보겠습니다.


    책에 관한 본격적인 리뷰에 임하기에 앞서 어떤 사람들에게 본 서를 권하는지 적어보도록 하겠다.

     


    【어떤 독자를 위한 책인가】

     

      본 서는 정말 정석적인 루트에서 개발을 시작합니다. 즉 요구 사항을 수집하고 이를 분석한 후, UML을 디자인하고 요구에 맞춰 백신을 설계/ 디자인/ 구현 하는 내용들이 아주 짜임세 좋게 구성되어있습니다. 따라서 본 블로거의 판단으로는 소프트웨어 개발론에 대한 기초적인 지식이 있고 또한 UML과 리눅스 프로그래밍과 OS에 관한 기초적인 지식을 갖추신 분들이 학습하신다면, 최고의 효과를 이끌어 내실 수 있을 것이라 생각됩니다. 따라서 본 서는 보안과 관련하여 입문하려는 분이나, 혹은 전체적인 하나의 프로그램을 디자인/구현 해보고자 하는 입문가 분들에게 추천합니다.

        

    【책의 구성】 '직접 설계하고 개발하는 IoT 백신책의 구성은 어떠한가.


    망치 본 서는 다양한 구성을 가지고 있습니다. 처음 장에서는 본 서를 읽기에 앞서 필요한 지식과 보안과 관련된 전망에 대해서 친절한 예를 들어가며 자세히 설명하고 있으며, 이후에 본 서에서 구현하고자 하는 프로그램과 관련된 요구사항 수집 및 분석에 대해 논합니다. 이후 이를 바탕으로 UML 설계 및 프로토타입 구현을 시작하며 본 서의 가장 핵심이라 할 수 있는 백신과 관련된 설계 및 구현을 수행 그리고 테스트 합니다. 마지막 장에서는 지금 까지 다루었던 내용을 총괄적으로 개선할 부분과 응용할 부분으로 나누어 잘 설명하고 있습니다. 책의 목차는 본 웹사이트에 잘 명시되어 있으니 참고하시면 좋을 것 같습니다.

     


    【직접 설계하고 개발하는 IoT 백신을 읽으며…….

     프로그램을 만드는 것을 배운다는 것은 어떠한 필요에 맞게 동작하는 논리적 구현채를 완성하는 행위에 필요한 지식을 채우는 과정이라고 할 수 있습니다. 특히나 이러한 구현채와 관련된 구현 욕구는 초심자 프로그래머에게 두드러지게 나타나는 대표적인 현상 중 하나로, 아무래도 자신이 이제껏 만든 프로그램이 많이 없었고 무엇보다 백신과 같은 응용 소프트웨어에 대한 서비스 경험이 거의 전무하기 떄문이라고 생각합니다. 본 서는 이러한 초심자들의 욕구를 시원하게 긁어줄 뿐만 아니라, 초급 -> 고급 과정으로 나뉘어 (고급은 추후에 출간 된다고 합니다.) 단계별 주도 학습을 이끌어가기 때문에 많은 내용을 체계적으로 학습할 수 있을 것이락 기대합니다. 따라서 초심자 분들 뿐만아니라, 중급자 분들 역시 본 서를 읽어보길 권장합니다.



     

    【점수…….】

    구성 : ★★★★☆ 내용:★★★★☆  디자인: ★★★★☆ 전문성 : ★★☆☆☆


    #본 리뷰는 리뷰자 김종욱의 저작권에 귀속되므로 참고시 참고 URL 명시 및 저작자에게 사용 통보를 해 주시기 바랍니다.

    #본 리뷰의 점수 및 평가 내용은 김종욱 리뷰자의 한정된 것이므로 지극히 주관된 평가 임을 명시합니다.

    #학습과 관련된 질문과 문제에 대한 질문은 일절 받지 않습니다. 스스로 찾아서 학습하는 것 그것이야 말로 진정한 학습자입니다. 



    ######  감사합니다  ###### 

결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
직접 설계하고 개발하는 IoT 백신(초급)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
직접 설계하고 개발하는 IoT 백신(초급)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
직접 설계하고 개발하는 IoT 백신(초급)
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실