시스템 & 어플리케이션 보안 : 실습을 통한 학습

시스템 & 어플리케이션 보안 : 실습을 통한 학습

$35.50
저자

WenliangDu

저자:WenliangDu
Wenliang(Kevin)Du,박사는시라큐스대학의LauraJ.andL.DouglasMeredith교수상을받은우수강의교수이다.그는1993년중국과학기술대학에서학사학위를받았다.플로리다국제대학에서석사학위를받은후1996년부터2001년까지퍼듀대학에서수학했으며컴퓨터공학박사학위를받았다.2001년8월에시라큐스대학의조교수가되었다.그는현재전기공학및컴퓨터공학과의전임교수이다.
Du교수는2001년부터학부와대학원에서사이버보안과정을가르치고있다.또한Udemy과정을가르치고있으며,그의과정은종종"최고등급"인정을받았다."실습을통한학습"의확고한신념으로그는SEEDLab이라는40개이상의실습Lab을개발하여학생들이보안공격,대응책과기본보안원칙에대한직접적인경험을얻을수있도록했다.이Lab은널리알려져있다.전세계적으로1000개이상의대학,단과대학과고등학교에서교육과정에이Lab을채택하고있다.2010년에SEED프로젝트는국립과학재단(NSF)이의회에보낸보고서에서의해주목을받았다."새로운도전,새로운전략:학부STEM교육의우수성구축(16쪽)"이라는제목의보고서는"전국적으로학부STEM수업에서최첨단창의성을나타내는17개프로젝트"가주목을받았다.SEEDLab의영향으로제21회정보시스템보안교육콜로키움에서'2017AcademicLeadership'상을수상했다.2019년시라큐스대학은그에게강의우수교수에게주는Meredith교수상을수여하였다.
Du교수는시스템보안에특별한관심을가지고사이버보안연구를수행하고있다.그는100편이넘는기술논문을발표하였다.그의연구작업은16,600회이상인용되었다(2022년5월기준,GoogleScholar기준).그는2013ACMCCSTest-of-TimeAward와2021ACSACTest-of-TimeAward를수상했다.그의현재연구는사이버보안교육과연구를위한인터넷에뮬레이터구축에중점을두고있다.

역자:이재광
울산과학기술원(UNIST)전기전자공학과산학협력중점교수
한남대학교컴퓨터공학과명예교수

목차

PARTⅠ소프트웨어보안
Chapter01리눅스보안개요
1.1사용자와그룹
1.2허가권한과접근제어목록
1.3특권으로명령어실행하기
1.4인증
1.5요약

Chapter02Set-UID특권프로그램과이들에대한공격
2.1특권프로그램의필요성
2.2Set-UID메커니즘
2.3잘못될수있는것:슈퍼맨에게일어난일
2.4Set-UID프로그램의공격표면
2.5다른프로그램인보크하기
2.6최소특권의원칙
2.7요약

Chapter03환경변수를통한공격
3.1환경변수
3.2환경변수로인한공격표면
3.3동적링커를통한공격
3.4외부프로그램을통한공격
3.5라이브러리를통한공격
3.6응용프로그램코드
3.7Set-UID방식대서비스방식
3.8요약

Chapter04버퍼오버플로우공격
4.1프로그램메모리배치
4.2스택과함수호출
4.3스택버퍼-오버플로우공격
4.4실험을위한설정
4.5버퍼오버플로우공격수행하기
4.6주소와버퍼크기를알수없는공격
4.764비트프로그램에대한버퍼오버플로우공격
4.8대응책:개요
4.9주소랜덤화
4.10StackGuard
4.11bash와dash에서대응책을무력화하기
4.12요약

Chapter05Return-to-libc공격과반환-지향프로그래밍
5.1개요:실행불가능스택
5.2공격실험:설정
5.3Return-to-libc공격시작하기:1부
5.4Return-to-libc공격시작하기:2부
5.5쉘의대응책무력화하기
5.6반환지향프로그래밍
5.7요약

Chapter06형식문자열취약점
6.1인수가가변적인함수
6.2선택적인수가누락된형식문자열
6.3취약한프로그램과실험설정
6.4형식문자열취약점악용하기
6.5형식문자열취약점을이용한코드주입공격
6.6대응책
6.7버퍼오버플로우공격과의관계
6.8요약

Chapter07경쟁조건취약성
7.1일반적인경쟁조건문제
7.2경쟁조건취약성
7.3실험설정
7.4경쟁조건취약성악용하기
7.5개선된방법
7.6대응책
7.7요약

Chapter08DirtyCOW경쟁조건공격
8.1mmap()을이용한메모리매핑
8.2MAP_SHARED,MAP_PRIVATE및CopyOnWrite
8.3복사된메모리폐기하기
8.4읽기전용파일매핑하기
8.5DirtyCOW취약점
8.6DirtyCOW취약점악용하기
8.7요약

Chapter09쉘코드
9.1개요
9.2어셈블리코드작성하기
9.3쉘코드작성하기:기본아이디어
9.4접근방식1:스택방식
9.5접근방식2:코드세그먼트방식
9.664비트쉘코드작성하기
9.7일반쉘코드
9.8요약

Chapter10리버스쉘
10.1개요
10.2파일설명자와재지정
10.3입력/출력을TCP연결로재지정하기
10.4리버스쉘
10.5요약

PARTⅡ웹보안
Chapter11웹보안개요
11.1웹구조
11.2웹브라우저
11.3웹서버:HTTP서버와웹응용프로그램
11.4브라우저-서버통신:HTTP프로토콜
11.5쿠키와세션
11.6자바스크립트샌드박싱
11.7Ajax요청과보안
11.8요약

Chapter12사이트간요청위조
12.1사이트간요청과이의문제
12.2사이트간요청위조공격
12.3HTTPGET서비스에대한CSRF공격
12.4HTTPPOST서비스에대한CSRF공격
12.5대응책
12.6요약

Chapter13교차사이트스크립팅공격
13.1교차사이트스크립팅공격
13.2동작중인XSS공격
13.3자체-전파달성하기
13.4XSS공격막아내기
13.5일반적인자바스크립트코드주입공격
13.6요약

Chapter14SQL주입공격
14.1SQL의간단한튜토리얼
14.2웹응용프로그램에서데이터베이스와상호작용하기
14.3SQL주입공격시작하기
14.4근본적인원인
14.5대응책
14.6요약

Chapter15Clickjacking공격
15.1전주곡
15.2개요와배경
15.3투명한iframe을이용한클릭재킹공격
15.4불투명한iframe을이용한클릭재킹
15.5대응책
15.6iframe보안
15.7요약

Chapter16Shellshock공격
16.1배경:쉘함수
16.2Shellshock취약점
16.3Set-UID프로그램에대한Shellshock공격
16.4CGI프로그램에대한Shellshock공격
16.5PHP에대한원격공격
16.6요약

PARTⅢ하드웨어보안
Chapter17Meltdown공격
17.1개요와유추
17.2CPU캐시를통한사이드채널공격
17.3비밀을간직한방:커널
17.4가드넘어가기:CPU에의한비순차적명령어실행
17.5Meltdown공격
17.6대응책
17.7요약

Chapter18Spectre공격
18.1개요
18.2비순차적실행과분기예측
18.3Spectre공격
18.4통계적방식을이용한공격개선하기
18.5Spectre변종과완화
18.6요약
Bibliography

출판사 서평

이책은저자의20년교육과연구경험을바탕으로쓴것이다.사이버보안의기본원칙을다룬다.이책의목표는독자가다양한공격이동작하는방식,공격의근본적인원인이무엇인지,공격을방어하는방법과다양한방어메커니즘이동작하는방식을이해하도록돕는것이다.이책의지식을갖춘독자는컴퓨터와네트워크시스템이직면한위험을평가하고,소프트웨어의일반적인취약점을감지하고,시스템과네트워크를보호하기위한적절한방법을사용하고,공격을차단하고더중요한것은보안원칙을적용하여실제문제를해결하는것이다.

저자는“실제해보고알아가는학습”을강력히믿기때문에이책은실험,실습접근방식을취한다.각보안원칙에관해이책에서는원칙을설명하는데도움이되는일련의실습활동을제공한다.독자는원리를읽는대신에"실제해보는"실험을할수있다.예를들어보안원칙에공격이포함된경우이책은독자에게실제로공격을해보도록안내한다(격리된환경에서).어떤경우에는원칙에보안메커니즘과관련된경우이책은독자에게이메커니즘의미니버전을구현하도록안내한다.독자는이러한실습활동을통해더잘배울수있다.

모든실험,실습활동은작성자가제공한가상머신이미지에서수행된다.다음URL에서다운로드할수있다:https://seedsecuritylabs.org.활동에필요한모든것이설정되어있다.독자는VM(무료)을다운로드하고VirtualBox를사용하여실행하기만하면책에서다루는활동을즉시수행할수있다.이책은Ubuntu20.04VM이미지를기반으로한다.

책에있는대부분의활동은전세계의강사들이널리사용하는저자의SEEDLab(버전2.0)을기반으로한다.이Lab은2002년부터국립과학재단이자금을지원한SEED라는프로젝트에서저자와그의학생들이수행한20년의연구,개발및테스트노력의결과이다.

저자는모든내용을깊이있게다루었다.강의에서다루는모든주제에대해저자는필요한만큼철저하게다루고싶었다.저자는학생들에게개념만가르치는것은관심이없다.저자는학생들이깊이이해하도록돕는것을좋아한다.이책에도같은철학이반영되어있다.예를들어,버퍼오버플로우공격을15분만에가르칠수있지만,이책은이에대해2개장을사용하여필수배경지식,공격세부정보,도전과제,대응책과대응책에대한공격에관해설명한다.

저자는기본을믿는다.보안은매우광범위한주제이다.새로운기술XYZ가나올때마다“XYZ보안”이라는새로운보안주제가생길것이다.이새로운보안주제를가르치는것이더유행을따르는것처럼보이지만저자는기본교육을믿고있다.이XYZ보안주제의바탕에는유사한보안기본사항이있다.기본사항을마스터한독자는습득한지식을바탕으로새로운보안주제에빠르게적용할수있지만XYZ보안을방금배운독자는새로운기술의보안을다루는데어려움을겪을것이다.

독자가기본사항을마스터할수있도록돕기위해이책은독자가근본적인유사점과차이점을볼수있도록돕기위해종종다른것처럼보이는몇가지항목(공격또는방어메커니즘)을함께제공한다.또한특정메커니즘의보안문제를분석할때,보안원칙을기반으로체계적인접근방식을취하고탄탄한기초를바탕으로추론한다.