06-computersecuritytechniques.ppt [호환...

22
1 컴퓨터 기술 15컴퓨터 기술 15장의 강의 목표 증의 의미와 방법을 이해. 접근 제어 관련, 접근 행렬 및 접근제어 리스트/ 권한 티켓에 대하여 이해한다. 권한 티켓에 대하여 이해한다. 침입 탐지의 기본 원칙, 호스트 기반 침입탐지 기술을 이해한다 기술을 이해한다. 안티바이러스, 웜 대책, 봇 대책에 대해 이해한다. 버퍼 오버플로우 공격에 대대처 방법을 이해 한다. Windows Vista에 대한 보안 정책을 이해한다. 컴퓨터보안기술 2

Upload: others

Post on 22-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

1 장 컴퓨터 안 기술15장 컴퓨터 보안 기술

15장의 강의 목표

인증의 의미와 인증 방법을 이해한다.증의 의미와 증 방법을 이해 다접근 제어 관련, 접근 행렬 및 접근제어 리스트/권한 티켓에 대하여 이해한다.권한 티켓에 대하여 이해한다.침입 탐지의 기본 원칙, 호스트 기반 침입탐지기술을 이해한다기술을 이해한다.안티바이러스, 웜 대책, 봇 대책에 대해 이해한다.

한버퍼 오버플로우 공격에 대한 대처 방법을 이해한다.Windows Vista에 대한 보안 정책을 이해한다.

컴퓨터보안기술 2

Page 2: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

목 차

15.1 인증(authentication)15.2 접근제어15 3 침입탐지15.3 침입탐지15.4 악성 코드 방어15.5 버퍼 오버플로우 공격 대응15 6 Windows Vista 보안15.6 Windows Vista 보안

컴퓨터보안기술 3

15.1 인증(authentication)

인증의 정의인증의 정의인증은 시스템 개체 (entity)에 대한 신원 (identity)을 밝히는 작업을 밝히는 작업

인증의 단계인증의 단계식별 (identification) 단계: 보안 시스템에 식별자

출를 제출하는 단계검증 (verification) 단계: 개체 (entity)와 식별자가연관지어져 있음을 확인해 주는 인증 정보를 제시하거나 생성하는 단계

컴퓨터보안기술 4

Page 3: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

인증 수단15.1 인증(authentication)

사용자의 신원을 인증하는 수단개인이 아는 정보

일례로 암호, 개인 식별 숫자 (PIN: personal identification number) 혹은 미리 정의된 문제들에 대한 답변들이 될 수 있number), 혹은 미리 정의된 문제들에 대한 답변들이 될 수 있다.

개인이 가지고 있는 것(토큰)일례로, 전자 키 카드, 스마트 카드, 물리적 열쇠 등이 될 수 있다. 이런 종류의 인증 수단을 token이라 부른다.

개인 몸의 일부인 것 (정적 바이오메틱스)개인 몸의 일부인 것 (정적 바이오메틱스)일례로 지문인식, 망막인식, 얼굴 인식 등이 있다.

개인이 행동하는 것 (동적 바이오메틱스)일례로 음성 패턴, 필기체 특성, 타이핑 리듬 등을 이용한 인식을 포함한다.

컴퓨터보안기술 5

패스워드 기반 인증15.1 인증(authentication)

대부분 다중 사용자 시스템, 네트워크 기반 서버등에 사용되는 인증 기법해싱된 패스워드의 사용

사용자가 패스워드를 선택솔트 값이 생성됨

패스워드 설정 시간 혹은 의사 난수(pseudo-random no.)

패스워드와 솔트 값을 이용, 해시함수를 수행하여 해시값 생성시값 생성해시값을 패스워드 파일에 저장해싱 함수는 추측 공격을 막기 위해 충분히 느리게 설해싱 함수는 추측 공격을 막기 위해 충분히 느리게 설계되어야 함

컴퓨터보안기술 6

Page 4: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

패스워드 기반 인증(계속)15.1 인증(authentication)

유닉스 패스워드기법

컴퓨터보안기술 7

토큰 기반 인증15.1 인증(authentication)

토큰 (token)사용자 인증을 하기 위해 사용자가 가지고 있는 객체메모리 카드, 스마트 카드

메모리 카드마그네틱 띠 카드 (은행카드 등)카드리더기는 카드 띠의 코드를 읽어서 토큰을 얻음통상 패스워드나 개인 식별 숫자 (PIN)과 같이 사용단점

특별한 카 리더기 필특별한 카드리더기 필요토큰 분실사용자 불만족사용자 불만족

컴퓨터보안기술 8

Page 5: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

토큰 기반 인증 (계속)15.1 인증(authentication)

스마트 카드물리적 특성: 임베디드 마이크로프로세서 내장인터페이스: 키패드를 가질 수도 있고, 유/무선 통터페이 키패 를 가질 수 있 유 무선 통신 가능인증 프로토콜

정적사용자는 자신을 토큰에 인증, 토큰은 사용자를 컴퓨터에인증인증

동적 패스워드 생성기토큰을 주기적으로 생성

질의-반응컴퓨터 시스템은 질의를 생성, 스마트토큰은 응답을 만듦

컴퓨터보안기술 9

생체 인증15.1 인증(authentication)

사용자의 고유한 물리적 특성을 이용한 인증복잡하고 비쌈

생체 인증의 종류생체 인증의 종류안면 특징지문지문손모양망막 패턴망막 패턴홍채자필 서명자필 서명목소리

컴퓨터보안기술 10

Page 6: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.2 접근 제어(Access Control)

접근 제어 정책어떤 종류의 접근(access)이 어떤 경우에 누구에 의해 허용되는지 기술해 허용되는지 기술

종류임의적(discretionary: 자유재량의) 접근 제어강제적 d 접강제적(mandatory) 접근제어역할 기반( l b d) 접역할-기반(role-based) 접근 제어

컴퓨터보안기술 11

임의적 접근 제어15.2 접근제어(Access Control)

보호 상태를 표현하기 위해 접근 제어 행렬에서객체의 전체 집합을 다음과 같이 확장한다객체의 전체 집합을 다음과 같이 확장한다.

프로세스프로세스를 삭제하거나 멈추게 (블로킹) 하거나 혹은 깨우는프로세스를 삭제하거나 멈추게 (블로킹) 하거나 혹은 깨우는권한을 포함

장치장치를 읽고 쓰는 권한 장치를 제어하는 권한 (예: 디스크 찾장치를 읽고 쓰는 권한, 장치를 제어하는 권한 (예: 디스크 찾기 명령), 장치를 블로킹/블로킹해제 등의 권한을 포함

메모리 위치 혹은 영역보호되는 메모리의 특정 영역의 특정 위치를 읽거나 쓸 수 있보호되는 메모리의 특정 영역의 특정 위치를 읽거나 쓸 수 있는 권한을 포함하며 기본 권한은 접근 불가

주체어떤 주체에 대한 접근 권한이란 그 주체가 다른 객체를 접근하는 권한을 부여하거나 삭제하는 권한을 의미

컴퓨터보안기술 12

Page 7: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

임의적 접근 제어 (계속)15.2 접근제어(Access Control)

확장된 접근 제어 행렬확장된 접 제어 행렬

컴퓨터보안기술 13

임의적 접근 제어 (계속)15.2 접근제어(Access Control)

접근 제어 기능의 구조

컴퓨터보안기술 14

Page 8: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

임의적 접근 제어 (계속)15.2 접근제어(Access Control)

임의적 접 제어 (계속)

접근 제어 시스템 명령어

컴퓨터보안기술 15

역할 기반 접근 제어15.2 접근제어(Access Control)

사용자 주체가 아닌 역할별 접근 권한을 규정사용자 주체가 아닌 역할별 접근 권한을 규정NIST FIPS PUB 140-2사용자와 역할의 관계사용자와 역할의 관계

다 대 다의 관계. 자주 바뀌기 쉬움

역할 별 접근 권한의 관계역할 별 접근 권한의 관계고정되기 쉬움

컴퓨터보안기술 16

Page 9: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

역할 기반 접근 제어(계속)15.2 접근제어(Access Control)

사용자와 역할, 자원과의 관계사용자와 역할, 자원과의 관계

컴퓨터보안기술 17

역할 기반 접근 제어(계속)15.2 접근제어(Access Control)

Access Control Matrix Representation of pRBAC

컴퓨터보안기술 18

Page 10: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.3 침입 탐지(Intrusion Detection)

보안 침입 (Security intrusion)y보안 사고 (security incident)

침입자가 합법적인 허가 없이 시스템 (혹은 시스템 자원)에 접근 권한을 얻거나 얻 려 하는 시에 접근 권한을 얻거나 얻으려고 하는 시도

보안 사고를 일으키는 단일/다수 보안 사건

침입 탐지 (I i d i )침입 탐지 (Intrusion detection)시스템 자원에 불법적인 방법으로 침입하는 시도를 찾아내거나를 찾아내거나,실시간 혹은 실시간에 근접하게 경고를 발생시킬목적으로 시스템 사건을 모니터링하고 분석하는목적으로 시스템 사건을 모니터링하고 분석하는보안 서비스

컴퓨터보안기술 19

15.3 침입 탐지(Intrusion Detection)

침입 탐지 시스템의 분류호스트 기반 IDS

단일 호스트의 특성과 그 호스트에서 발생하는 의심스러운 행동을 모니터링 하는 시스템동을 모니터링 하는 시스템

네트워크 기반 IDS특정 네트워크 지역 혹은 장치의 네트워크 트래픽을 감시하고특정 네 워 지역 혹 장치의 네 워 래픽을 감시하네트워크, 트랜스포트, 응용 프로토콜을 분석하여 의심스러운행동을 찾아내는 시스템

침입 탐지 시스템의 논리적 컴포넌트침입 탐지 시스템의 논리적 컴포넌트센서: 데이터 수집분석기: 침입 발생 판단분석기: 침입 발생 판단사용자 인터페이스

컴퓨터보안기술 20

Page 11: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

침입 탐지 - 기본 원리15.3 침입탐지(Intrusion Detection)

최고의 침입 예방 시스템도 실패할 수 있으며, 시스템의 2 번째 방어 전략은 “침입 탐지”템의 2 번째 방어 전략은 침입 탐지침입탐지의 동기1 침입을 충분히 빠른 시간 내에 검출할 수 있다면 시스템1. 침입을 충분히 빠른 시간 내에 검출할 수 있다면, 시스템

이 손상되거나 데이터가 파괴되기 전에 침입자가 식별되어 시스템에서 추방될 수 있다. 탐지가 침입자를 빨리 중단시키지 못했더라도 탐지가 빠르면 빠를수록 손상의 적단시키지 못했더라도 탐지가 빠르면 빠를수록 손상의 적어지고 복구는 더욱 빨리 얻어질 수 있다.

2. 효율적인 침입 탐지 시스템은 침입을 억제할 수 있으므로침입 예방의 역할을 하게 된다.침입 예방의 역할을 하게 된다.

3. 침입 탐지는 침입 예방 기법을 강화하는데 사용되는 침입기법에 관한 정보를 수집할 수 있게 한다.

침입탐지는 침입자의 행동이 합법적인 사용자와 정침입탐지는 침입자의 행동이 합법적인 사용자와 정량적으로 다르다는 가정에 기반

“침입자와 합법적인 사용자의 동작 프로파일”

컴퓨터보안기술 21

침입 탐지 - 기본 원리15.3 침입탐지(Intrusion Detection)

침입자와 합법적 사용자의 행동 프로파일

컴퓨터보안기술 22

Page 12: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

호스트 기반 침입 탐지 기술15.3 침입탐지(Intrusion Detection)

침입탐지를 위한 기법통계적 이상 탐지 (St ti ti l l d t ti )1. 통계적 이상 탐지 (Statistical anomaly detection)

– 일정시간 동안 합법적 사용자 동작에 대한 데이터를 수집 후, – 현재 관측된 동작이 비합법적 사용자의 것인지를 높은 신뢰를 갖고 결정하

기 위해 통계적인 실험이 수행기 위해 통계적인 실험이 수행.(a) 임계값 탐지 (threshold detection)

• 사용자와는 독립적인, 다양한 사건의 빈도에 대한 임계값을 정의(b) 프로파일 기반 (profile based)파일 기반 (p )

• 각 사용자의 행동에 대한 프로파일이 작성되고 이것을 이용하여 각 사용자 계정의 동작 변화를 탐지

2. 서명 탐지 (signature detection)주어진 동작이 침입자의 것인지를 결정하는데 사용되는 규칙 집합을 정의

(a) 이상 탐지 (anomaly detection)• 이전 사용 패턴과의 차이를 탐지하기 위해 규칙이 정의됨

침투 식별 ( t ti id tifi ti )(b) 침투 식별 (penetration identification)• 의심스러운 동작을 탐색하는 전문가 시스템이 이용

컴퓨터보안기술 23

감사 기록 (audit record)15.3 침입탐지(Intrusion Detection)

침입 탐지의 기초 도구로써 IDS의 입력으로 사용됨

감사기록 작성법 1: 시스템 고유 감사 기록다중사용자 운영체제에서 제공하는 사용자의 행위 정보를 수집장점

부가적인 소프트웨어가 필요하지 않음단점

시스템 고유 감사기록이 필요한 정보를 포함하지 않을 수 있음.제공 정보도 편리한 형식이 아님

감사기록 작성법 2: 탐지 고유 감사 기록감사기록 작성법 탐지 유 감사 기록침입 탐지 시스템에서 요구하는 정보만을 갖고 있는 감사 기록을생성하는 수집 기능을 별도로 구현장점장점

운영체제 판매자에 독립적이며 다양한 시스템에 이식될 수 있음.단점

한 기계에 2 개의 회계 시스템을 가짐으로써 발생하는 오버헤드한 기계에 개의 회계 시 템을 가짐 써 발생하는 버헤

컴퓨터보안기술 24

Page 13: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

감사 기록 (audit record) (계속)15.3 침입탐지(Intrusion Detection)

탐지 고유 감사 기록의 예: 도로시 데닝이 1987년에 개발한 버전감사기록은 다음과 같은 필드들로 구성감사기록은 다음과 같은 필드들로 구성

주체단말 사용자, 사용자나 사용자 그룹을 대신하여 작업을 수행하는 프로세스 등주체는 여러 접근 계급으로 나뉘어지며 이 계급들은 중첩될 수 있다.주체는 여러 접근 계급으로 나뉘어지며 이 계급들은 중첩될 수 있다.

동작주체가 객체에 대하여 수행하는 연산예) 로그인, 읽기, I/O 연산, 실행 연산 등

객체동작의 수신자이다.예) 파일, 프로그램, 메시지, 레코드, 터미널, 프린터, 사용자가 생성한 또는 프로그램이 생성한 구조로그램이 생성한 구조

예외 조건자원 사용도

각 요소의 자원 사용량 목록타임스탬프

동작이 발생한 시점을 인지하는 고유한 날짜-시간 정보.

컴퓨터보안기술 25

15.4 악성 코드 방어

바이러스 위협에 대한 해결안예방예방탐지

감염이 발생하면, 이를 확인하고 바이러스의 위치를 찾는다.식별식별

탐지가 확인되면, 프로그램을 감염시킨 특정 바이러스를 식별한다.제거

특정 바이러스가 식별되면 감염된 프로그램으로부터 바이러스의 모든 흔적을특정 바이러스가 식별되면 감염된 프로그램으로부터 바이러스의 모든 흔적을삭제하고 프로그램을 원래의 상태로 복원한다.

항 바이러스 기법 (Antivirus Approaches)범용 복호 (GD G i D ti )범용 복호 (GD: Generic Decryption)

항바이러스 프로그램이 빠른 속도를 유지하면서도 가장 복잡한 다형 바이러스조차도 쉽게 탐지할 수 있도록 해 준다GD scannerGD scanner

디지털 면역 시스템(digital immune system)

컴퓨터보안기술 26

Page 14: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

항 바이러스 기법 (Antivirus Approaches)15.4 악성코드방어

범용 복호(Generic Decryption)범용 복 ( yp )다형 바이러스도 탐지 가능구조구조

CPU 에뮬레이터바이러스 서명 스캐너바이러스 서명 스캐너에뮬레이션 제어 모듈

다형 바이러스가 있는 파일이 실행되면 바이러스다형 바이러스가 있는 파일이 실행되면 바이러스는 자신의 몸체를 복호화하여 활성화함실행파일이 GD 스캐너에서 실행되면 에뮬레이터실행파일이 GD 스캐너에서 실행되면, 에뮬레이터는 복호화 루틴을 실행하여 바이러스 몸체를 발견할 수 있음.할 수 있음.

컴퓨터보안기술 27

항 바이러스 기법 (Antivirus Approaches)15.4 악성코드방어

디지털 면역 시스템 (Digital Immune System)IBM에서 개발된 것으로 바이러스 보호에 대한 포괄적인 기법이다IBM에서 개발된 것으로 바이러스 보호에 대한 포괄적인 기법이다동작 단계

1. 각 PC에서의 감시 프로그램은 바이러스가 있음을 추론하기 위하여, 시스템동작과 프로그램에 대한 의심스러운 변경 시그니처 등에 기반한 다양한 방동작과 프로그램에 대한 의심스러운 변경, 시그니처 등에 기반한 다양한 방법을 사용한다. 감시 프로그램은 감염된 것으로 생각되는 프로그램이면 어느 것이든 조직 내에 있는 관리 기계로 전송한다.

2. 관리 기계는 표본을 암호화하여 중앙 바이러스 분석 기계로 전송한다.3. 중앙 바이러스 분석 기계는 분석을 위하여 감염된 프로그램이 안전하게 수

행될 수 있는 환경을 생성한다. 이러한 목적으로 사용되는 기법은 에뮬레이션, 즉 혐의를 갖는 프로그램이 실행되고 감시될 수 있는 보호된 환경을 생성하는 것이다. 바이러스 분석 기계는 다음으로 바이러스를 식별하고 제거성하는 것이다 바이러 분석 기계는 다음 바이러 를 식별하 제거하는 처방을 생산한다.

4. 생성된 처방전은 관리 기계로 보내진다.5. 관리기계는 처방전을 감염된 고객에게 보낸다.

처방전은 한 직 내에 있 다른 객에게 전송된다6. 처방전은 또한 조직 내에 있는 다른 고객에게도 전송된다.7. 전 세계의 가입자들도 새로운 바이러스로부터 자신들을 보호해줄 항바이러

스 갱신 자료를 받는다.

컴퓨터보안기술 28

Page 15: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

항 바이러스 기법 (Antivirus Approaches)15.4 악성코드방어

디지털 면역 시스템의 동작 원리

컴퓨터보안기술 29

항 바이러스 기법 (Antivirus Approaches)15.4 악성코드방어

행위 차단 소프트웨어행위 차단 웨어호스트 컴퓨터의 운영체제와 통합되어 프로그램의 행위를 모니터링하여 악의적인 행동을 실시간에 탐지할수 있음수 있음

감시되는 행위들파일을 열거나 보거나 삭제하거나 수정하는 시도파일을 열거나 보거나 삭제하거나 수정하는 시도디스크 드라이브를 포맷하거나 다른 회복할 수 없는디스크 연산 시도실행 파일 혹은 매크로의 논리 구조를 변경실행 파일 혹은 매크로의 논리 구조를 변경시작 설정 등 중요 시스템 설정의 변경전자 메일을 작성하거나 메신저 클라이언트가 실행파전자 메일을 작성하거나 메신저 클라이언트가 실행파일을 보내게 하는 스크립트네트워크 통신을 시도

컴퓨터보안기술 30

Page 16: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

항 바이러스 기법 (Antivirus Approaches)15.4 악성코드방어

Behavior-Blocking Software OperationBehavior Blocking Software Operation

컴퓨터보안기술 31

웜 대처15.4 악성코드방어

웜 대처를 위한 요구사항일반성일반성적시성강인성효율성효율성투명성전/지역 방어 범위

웜 방어 방식서명 기반 웜 검사 여과필터 기반 웜 제한필터 기반 웜 제한패킷 내용 분류 기반 웜 제한임계치 임의 작업 검사 탐지통신 속도 제한통신 차단

컴퓨터보안기술 32

Page 17: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

봇과 루트킷 대응15.4 악성코드방어

봇과 루 킷 대응

봇 (bot) 대응IDS, 전자면역시스템 등 활용

루트킷 대응루트킷 대응탐지하여 없애기가 어렵다.다양한 종류의 네트워크 보안도구 사용다양한 종류의 네 워 안 구 사용복구: 운영체제 재설치

컴퓨터보안기술 33

15.5 버퍼 오버플로우 공격 대응

컴파일 타임 방어컴파일 타임 방어프로그램 작성시 공격이 침입하기 어렵게 만듦

런타임 방어기존 프로그램에 대한 공격을 탐지하여 중단케 함기존 프로그램에 대한 공격을 탐지하여 중단케 함

컴퓨터보안기술 34

Page 18: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

컴파일 시간 방어15.5 버퍼오버플로우공격대응

프로그래밍 언어의 선택고수준 언어를 선택

E.g., Java, ML, …

안전한 코딩 기술안전한 코딩 기술C 언어로 작성 시, 포인터나 메모리 접근 시 유의OpenBSDp

언어 확장 및 안전한 라이브러리 사용표준 라이브러리 대신 안전한 라이브러리 사용

스택 보호 방법컴파일러를 다음 기능을 하도록 추가

함수 호출 시 canary(카나리아 밀고자의 의미) 값을 삽입함수 호출 시 canary(카나리아, 밀고자의 의미) 값을 삽입함수 반환 시 canary 값이 변했는지 체크

모든 프로그램을 다시 컴파일해야함

컴퓨터보안기술 35

수행 시간 방어15.5 버퍼오버플로우공격대응

실행 주소 공간 보호스택과 힙 페이지를 실행하지 못하게 설정NX bit in x86 CPU, SPARC CPU

주소공간 난수화프로그램 로딩 시 세그먼트의 위치를 임의로 바꾸어로딩로딩

보호 페이지사용되는 주 공간 사이의 공간에 호 페이지를 넣사용되는 주소 공간 사이의 공간에 보호 페이지를 넣는 기법더 많은 페이지 사상이 필요함더 많은 페이지 사상이 필요함

컴퓨터보안기술 36

Page 19: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.6 Windows Vista 보안

Windows 접근 제어 기법접근 제어 기법강력하고 유연한 접근 제어 능력을 제공하기 위해객체 지향 개념을 이용객체 지향 개념을 이용프로세스, 쓰레드, 파일, 세마포어, 윈도우 및 기타객체들에 대하여 단일한 접근 제어 기능을 제공객체들에 대하여 단일한 접근 제어 기능을 제공접근 제어는 접근토큰과 보안 디스크립터의 두 요소에 의하여 관리됨소에 의하여 관리됨

접근토큰프로세스에 있음

보안 디스크립터프로세스가 접근하는 객체에 있음

컴퓨터보안기술 37

15.6 Windows Vista 보안 (계속)

Windows 접근 제어 기법 (계속)사용자가 Windows 시스템에 로그인할 때, Windows는 사용자를 인증하기 위하여 이름/패스워드 기법을 사용한다. 로그온이 받아들여지면, 사용자를 위하여 프로세스가 생성되고 이 프로세스 객체에게 접근 토큰(access token)이 지정됨.

접근 토큰은 보안 ID(SID)를 포함보안 ID는 보안의 목적으로 사용자가 시스템에게 알려지는 식별자

초기 사용자 프로세스에 의해 프로세스가 추가로 생성되는 경우, 새로운프로세스 객체는 동일한 접근 토큰을 상속받는다.프로세스가 특정 객체에 접근하려 할 때, 접근허가가 가능한지를 결정하프로세스가 특정 객체에 접근하려 할 때, 접근허가가 가능한지를 결정하기 위해 프로세스의 SID가 객체의 접근제어 리스트 내용과 비교됨

보안 디스크립터각 개체가 프로세스 간 접근을 가능하게 하는 것각 개체가 프로세스 간 접근을 가능하게 하는 것다양한 사용자 및 사용자 그룹의 객체에 대한 접근권한을 명시하는 접근제어 리스트 보유

컴퓨터보안기술 38

Page 20: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.6 Windows Vista 보안 (계속)

Windows 보안 구조

컴퓨터보안기술 39

15.6 Windows Vista 보안 (계속)

접근 토큰 목적접근 큰 목적접근 토큰은 빠른 접근 확인을 위하여 모든 필요한 보안 정보를 함께 유지한다. 사용자와 연관된한 보안 정보를 함께 유지한다. 사용자와 연관된프로세스가 접근을 시도할 때, 사용자의 접근 특권을 확인하기 위하여 보안 서브시스템은 그 프로세스와 연관된 토큰을 사용할 수 있다.접근 토큰은, 각 프로세스가 사용자를 대신하여 수각 세 가 사용자를 대 하여 수행중인 다른 프로세스에 영향을 주지 않고, 제한된방법으로 자신의 보안 특성을 수정하도록 해준다.

컴퓨터보안기술 40

Page 21: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.6 Windows Vista 보안 (계속)

접근 토큰 구성 요성보안 ID(S it ID)보안 ID(Security ID)

사용자를 네트워크 상의 모든 기계에 대하여 유일하게 식별한다.일반적으로 사용자의 로그인 이름에 대응한다.

그룹 보안 ID(Group SID)그룹 보안 ID(Group SID)사용자가 소속된 그룹의 목록

특권(Privileges)사용자가 호출할 수 있는 서비스의 목록사용자가 호출할 수 있는 서비스의 목록예) 토큰 생성, 집합 백업 특권

기본 소유자(Default owner)프로세스가 다른 객체를 생성할 때 이 필드는 새로운 객체의 소유자가 누구프로세스가 다른 객체를 생성할 때, 이 필드는 새로운 객체의 소유자가 누구인지를 명시한다. 일반적으로 새로운 프로세스의 소유자는 그 프로세스를 생성한 소유자와 동일하다. 그런데, 사용자는 새로 생성되는 프로세스의 소유자를 이 사용자가 속한 그룹의 그룹 보안 ID로 설정할 수도 있다.

기 f l기본 ACL(Default ACL):이것은 사용자가 생성한 객체에게 할당된 보호의 초기 리스트이다. 사용자는후에 자신이 소유한 또는 자신의 그룹이 소유한 ACL을 변경할 수 있음

컴퓨터보안기술 41

15.6 Windows Vista 보안 (계속)

보안 디스크립터 구성 요소플래그플래그

보안 디스크립터의 유형과 내용을 정의SACL과 DACL 존재 여부, 이들이 기본 기법에 의하여 객체에 저장되었는지여부 디스크립터 내에 있는 포인터가 절대 주소 또는 상대 주소를 사용하는여부, 디스크립터 내에 있는 포인터가 절대 주소 또는 상대 주소를 사용하는지 여부

소유자객체의 소유자는 일반적으로 보안 디스크립터에 대한 어떠한 동작이든지 수행할 수 있다. 소유자는 개인이거나 그룹 SID일 수 있다. 소유자는 DACL의 내용을 변경할 수 있는 권한을 갖는다.

시스템 접근 제어 리스트(System Access Control List: SACL)객체에 대한 어느 종류의 연산이 감사 메시지를 생성해야 하는지를 명기객체에 대한 어느 종류의 연산이 감사 메시지를 생성해야 하는지를 명기응용 프로그램은 임의 객체의 SACL을 읽거나 쓰기 위해서 접근 토큰 내에 대응하는 특권을 갖고 있어야 함

임의 접근 제어 리스트(Discretionary Access Control List: DACL)임의 접근 제어 리스트(Discretionary Access Control List: DACL)어느 사용자와 그룹이 어느 연산으로 이 객체를 접근할 수 있는지를 결정접근 제어 요소 (ACE: Access Control Entries)로 구성됨.

컴퓨터보안기술 42

Page 22: 06-ComputerSecurityTechniques.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2012/mmos/06-ComputerSecurity... · cpu 에뮬레이터 바이러스서명스캐너 에뮬레이션제어모듈

15.6 Windows Vista 보안 (계속)

접근 마스크

컴퓨터보안기술 43

요 약

인증의 개념 및 수단패스워드 기반 인증 토큰 기반 인증 기법패스워드 기반 인증, 토큰 기반 인증 기법

접근 제어 정책임의적 접근제어, 강제적 접근제어, 역할 기반 접근제어

침입탐지호스트기반 침입탐지, 네트워크 기반 침입탐지

악성 코드 방어악성 코드 방어안티 바이러스: 범용 복호, 전자 면역 시스템, 행위차단 소프트웨어웜, 봇, 루트킷 대응 방어

버퍼 오버플로우 공격에 대한 대응 기법컴파일시간방어, 수행시간방어 기법

Wi d Vi t 의 보안 기법Windows Vista의 보안 기법

컴퓨터보안기술 44