• 검색 결과가 없습니다.

제 8 장 보호와 보안

N/A
N/A
Protected

Academic year: 2021

Share "제 8 장 보호와 보안"

Copied!
22
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제 8 장 보호와 보안

8.1 보호의 개요

• 보호 (protection) 란 컴퓨터시스템에 정의된 자원에 대하여 프로그램 , 프 로세스 , 또는 사용자의 접근을 제어하는 기법이다 .

• 보안 (security) 이란 시스템과 그 시스템의 자료들이 결함 없이 보전된다는 것을 의미하는 일종의 신뢰도이며 , 보안의 보장은 보호의 개념보다 광범위 한 주제로 생각할 수 있다 .

8.2 보호의 영역

• 보호 영역 (protection domain): 한 프로세스는 그 프로세스가 접근할 수 있는 자원들을 명시하고 있는 하나의 보호 영역 내에서 동작한다 . 각 영역은 객체들의 집합과 그 객체에서 취할 수 있는 조작의 형태를 정의한다 .

• 접근 권한 (access right): 어떤 주체가 어떤 객체를 이미 정해진 방법에 따

라 접근할 수 있는 능력 , 즉 어떤 프로세스가 객체에 대한 조작을 수행할 수

있는 능력을 말한다 . 하나의 영역 (domain) 은 접근 권한의 집합이고 , 이

것의 각각은 < 객체 이름 , 권한 집합 > 의 순서쌍으로 되어 있다 .

(2)

8.3 접근제어 정책 및 기법

• 보호를 위한 접근제어의 목적은 컴퓨터 시스템을 이루고 있는 컴퓨팅 자원 , 통신 자원 및 정보자원 등에 대하여 허가되지 않은 접근을 방어하는 것이다 .

• 접근제어는 각 자원에 대한 기밀성 , 무결성 , 가용성 및 합법적인 이용과 같 은 보호 서비스에 직접적으로 기여하게 되며 이러한 서비스들의 권한 부여를 위한 수단이 된다 .

• 접근권한의 결정은 어떤 주체가 어떤 객체에 대하여 어떤 목적을 갖고 , 어떤 조건 하에서 접근할 수 있는지를 다루는 문제이다 .

• 접근제어 정책의 형태

 권한 부여의 과정에서 어떤 정책은 기관의 부서별로 모든 결정이 제어되거나 , 또는 특정 객체에 대하여 사용자별 권한부여가 서술될 수 있다 .

 사용자 및 객체들이 공통의 처리를 위하여 함께 그룹을 형성하여 서술될 수 있 다 .

 어떤 정책이 시스템 요소에 의하여 강제적으로 시행될 수 있는 일반적 규칙들로

서술될 수 있다 .

(3)

8.3.1 접근 행렬 (Access Matrix)

 접근 보안 정책 특정 영역의 주체에 대응하는 행과 객체에 대응하는 열을 포함하는 행렬로서 표현되며 , 각 행렬의 엔트리는 주체가 대응하는 객체에 대하여 실행할 수 있는 접근 허가 ( 권한 또는 특권 ) 을 나타낸다 .

 접근 행렬

객체

영역 F1 F2 F3 CD-

ROM 프린터

D1 읽기  

읽기    

D2      

읽기 인쇄

D3  

읽기 실행    

D4 읽기

쓰기

  읽기

쓰기

   

(4)

8.3.2 접근 행렬의 구현

 전역 테이블 (global table)

 3 개의 순서쌍 < 영역 , 객체 , 권한 집합 > 들의 집합으로 구성

 전역 테이블

영역 객체 권한집합

D1 F1 READ

D1 F2 READ/WRITE

D2 CD-ROM READ

D2 프린터 PRINT

D3 F2 READ

D3 F3 EXECUTE

... ... ...

D4 F1 READ/WRITE

 전역 테이블의 단점

• 테이블이 매우 크기 때문에 기억 공간을 낭비한다 .

• 보조기억장치에 저장할 경우 추가적인 입출력이 필요하다 .

• 어떤 객체 또는 영역을 특별한 그룹으로 분류하여 이용하기가 어렵다 .

(5)

 접근 제어 리스트

 접근 제어 리스트는 객체에 접근할 수 있는 모든 영역을 포함하는 각 객체 리스트로 구성되어 있으며 , 각 영역은 < 사용자명 , 사용자 그룹명 > 의 쌍으로 지정된다 .

 자원 보호를 위하여 시스템의 각 자원마다 해당 자원을 사용할 수 있는 사용자의 리 스트를 유지하여 사용자들의 자원 접근을 제한하는 방법이다 .

 각 객체에 대한 리스트는 < 영역 , 권한집합 > 의 순서쌍으로 구성한다 .

 리스트와 접근 권한 집합의 결합으로 확장할 수 있다 .

 효율의 향상을 위하여 기본 권한 집합을 먼저 검사한 후 나중에 접근 리스트를 검색 하기도 한다 .

 단점 : 접근 제어 리스트의 변경이 현재 객체를 사용하고 있는 어떤 사용자에게도 영 향을 미치지 못한다 .

 접근 제어 리스트

종류 접근 제어 리스트

파일 0 (lee, 교수 , rw-) 파일 1 (kim, 교수 , rwx)

파일 2 (park, *, rw-)(choi, 대학원 , r--)(kim, 학생 , --x) 파일 3 (*, 학부 , r-x)

파일 4 (*, *, ---), (*, 교수 , r--)

(6)

 권한 리스트

 권한 영역에 대한 권한 리스트는 객체와 그 객체에 허용된 조작 리스트이며 , 다른 권 한 리스트와 서로 포인터로 연결되어 있다.

 권한을 소유한다는 것은 접근을 허용 받음을 의미한다 .

 권한 리스트는 보호 영역과 결합되어 있으나 해당 영역에서 수행중인 프로세스가 직 접 액세스할 수 없다.

 사용자에 의해서 간접적으로만 접근이 가능한 보호된 객체이다 .

 권한 리스트는 운영체제가 관리한다 .

D1 읽기

D3 읽기

D1 읽기

D4 읽기 쓰기/

D3 실행 D4 읽기 쓰기/

D2 읽기

D2 인쇄

파일 1 : 파일 2 : 파일 3 : CD-ROM : 프린터 :

(7)

 락 - 키 (lock-key) 기법

 접근 제어 리스트와 권한 리스트의 절충 기법

 각 객체는 락이라는 특별한 비트 패턴 리스트를 가지고 있으며 , 각 영역은 키라는 비트 스트링을 가지고 있다 .

 수행 중인 프로세스는 해당 영역이 객체의 락키와 일치하는 키가 있을 때에만 그 객 체에 접근할 수 있다 .

 해당 영역에 대한 키 리스트는 운영체제에 의해 관리되어야 하며 , 사용자들이 직접 키 또는 락 리스트를 수정하는 것은 허용되지 않는다 .

110110110001

영역 2 영역 1

(domain)

영역 들

프린터

(object)

객체 들

쓰기 키(key)

읽기 키

쓰기 락 (lock)

파일

읽기 락 쓰기 락

110110110001

영역내 프로세스는 키와 락이 일치하는 경우에 해 당객체에 접근 가능 lock

객체 비트맵 예 영역키 비트맵 예

비교

(8)

8.4 보안의 개요

 보안이란 적절한 보호 시스템뿐만 아니라 , 시스템이 동작하는 외부환경에 대해서도 고려해야 한다 .

 보안에는 외부보안과 내부 보안 , 사용자 인터페이스 보안의 세 가지로 구별 할 수 있다 .

 외부 보안은 외부의 침입자나 천재지변으로부터 컴퓨터시스템을 보호하는 것이 며 , 시설보안과 운용보안 두 가지가 있다 .

 내부 보안은 능숙한 불법침입자가 시스템에 들어왔을 때 , 컴퓨터 하드웨어나 운영체제가 불법 침입자로부터 프로그램이나 자료 및 데이터를 보호하기 위한 접근 제어 코드를 내장하고 있도록 하는 기능이다 .

 사용자 인터페이스 보안은 사용자의 신원을 운영체제가 먼저 확인하고 나서 시 스템의 프로그램이나 데이터 , 자료들을 접근할 수 있게 한다 .

 컴퓨터 시스템이 갖고 있는 각종 자원들의 보호와 해커를 막기 위한 도구의 집합을 총칭하여 컴퓨터 보안 (computer security) 이라고 한다 .

 네트워크와 통신시설을 이용하여 전송중인 자료를 보호하기 위한 조치들을

네트워크 보안 (network security) 이라고 한다 .

(9)

8.5 보안 위협

 보안 위협의 유형

수신자 송신자

수신자 송신자

수신자 송신자

제 자3

수신자 송신자

제 자3

수신자 송신자

제 자3 (a) 정상적인 흐름

(b) 흐름 차단

(d) 변조

(c) 가로채기

(e) 위조

(10)

 적극적인 공격 : 시스템의 자원들을 의도적으로 변화 시키거나 시스템 운영 에 영향을 주려는 시도 .

 예 ) 메시지의 흐름 차단 (interruption), 신분위장 (masquerade), 변조 (modification), 재 전 송 ((replay), 그 리 고 서 비 스 거 부 (denial of service) 및 서비스 부인 (repudiation) 등

 소극적인 공격 : 시스템의 정보를 알아내거나 악용하려고 시도는 하지만 시 스템 자원에 직접적인 영향을 주지는 않는다 .

 예 ) 도청과 같은 정보의 가로채기 (interception) 및 트래픽 분석 (traffic analysis) 등

8.5.6 악성 소프트웨어

 트랩 도어 : 소프트웨어 개발 시 효율적인 코딩과 디버깅을 위하여 개발자만이 쉽게 접근할 수 있도록 한 것으로 , 접근 제어를 무시하거나 소스 코드의 민감한 부분까지 다룰 수 있도록 한 비밀 통로

 트로이 목마 : 자기 복사 능력은 없이 고의적인 부작용만 가지고 있는 프로그램

(11)

 논리 폭탄 : 논리 폭탄은 일정한 조건이 맞으면 “폭발”하도록 맞춰져 있는 합법적인 프로그램에 추가된 코드이다 .

 좀비 : 인터넷에 연결되어 있는 다른 컴퓨터에 몰래 침입하여 점령하는 프로그램으 로 , 좀비의 생성자를 추적하기 어렵게 만들기 위해 공격 시에 점령당한 컴퓨터가 사 용된다 . 좀비는 서비스 거부 공격에 사용되며 , 일반적으로 웹 사이트를 목표로 한 다 .

 바이러스 : 바이러스는 다른 프로그램을 수정해서 “감염”시키는 프로그램이다 . 이 러한 수정은 바이러스 프로그램의 복사를 포함하며 , 이 복사된 바이러스는 또 다른 프로그램을 계속 감염시킬 수 있다 .

 웜 : 전자우편 바이러스는 일련의 웜 특징을 가지고 있기 때문에 , 시스템에서 시스

템으로 자기 자신을 복제하여 전파한다 . 웜을 바이러스로 분류하는 이유는 전파하

기 위해서 사람이 필요하기 때문이다 . 웜은 전염시키기 위한 보다 많은 시스템을 적

극적으로 탐색하고 , 각 시스템은 다른 시스템을 공격하기 위해서 자동화된 공격 시

작점을 제공하는 감염된 서버가 된다 .

(12)

8.6 보안 서비스

 컴퓨터와 네트워크를 사용하는 환경에서 다양한 위협요소에 대응하여 제공 되어야 하는 보안 서비스의 5 가지 영역

 정당한 실체에게만 정보를 제공하는 비밀성

 자료가 불법적으로 변조되지 않았음을 보증하는 무결성

 실체의 신원 정당성을 보증하는 인증

 자원의 합법적인 접근만을 보증하는 접근제어

 제반 정보처리의 행위사실을 부인하지 못하도록 보증하는 부인봉쇄

8.6.1 보안 요구 사항

 비밀성 ( 기밀성 , Secrecy, Confidentiality)

 비밀성은 컴퓨터 시스템 내의 정보는 오직 인가 받은 사용자만이 접근할 수 있도록 보장되 어야 함을 의미한다 .

 무결성 (Integrity)

 무결성은 컴퓨터 시스템 내의 정보 및 유통 정보에 대하여 오직 인가 받은 사용자만이 수정 할 수 있도록 보장되어야 함을 의미한다 .

(13)

 가용성 (Availability)

 가용성이란 시스템의 성능 명세에 따라 인가된 시스템 실체의 요구 시 접근 및 사용될 수 있는 시스템 또는 시스템 자원의 자산으로 정의할 수 있다 .

8.6.2 인증 (Authentication)

 인증은 컴퓨터에 접근하기 위한 첫 단계에서 일반적으로 사용자 식별자를 제공하고 이에 대한 정당성을 주장하는 패스워드의 입력을 통하여 증명이 이루어진다 .

8.6.3 부인봉쇄 (Non-Repudiation)

 부인 봉쇄란 송신자나 수신자가 전송된 메시지를 부인하지 못하도록 방어하는 것을 의미한다 .

8.6.4 접근 제어 (Access Control)

 접근 제어 보안 서비스는 권한이 부여되지 않은 대상으로부터 시스템 자원을 보호하 기 위한 것이다 .

8.7 보안기법

 보안 기법 : 보안 위협요소로부터 위험 및 공격을 탐지하고 , 예방하며 , 복

구하기 위하여 설계된 제반 기법

(14)

8.7.1 대칭키 암호방식 (Symmetric Encryption Method)

 대칭키 암호방식 ( 비밀성 )

 대칭키 암호방식의 예

 DES(Data Encryption System) 기법

 ES(Advanced Encryption Standard)

 BLOWFISH, RC5, IDEA, CAST

8.7.2 비대칭키 암호방식 (Asymmetric Encryption Method)

 기본적인 처리 단계

 각 사용자는 메시지의 암호화와 복호화에 사용하기 위한 키 쌍을 생성한다 .

 각 사용자는 자신의 개인키를 안전하게 비밀 보관하고 , 공개키는 다른 사용자가 사용할 수 있도록 공개한다 .

 만약 A 가 B 에게 비밀 메시지를 보내기 원한다면 , A 는 B 의 공개키를 사용하여 메시지 M 을 암호화 한다 .

 B 가 메시지를 받았을 때 , B 는 자신의 개인키를 사용하여 복호화 한다 . 단지 B 만이 B

(15)

 공개키 암호방식 ( 비밀성 )

 공개키 암호방식 ( 인증 , 서명 )

 가장 널리 사용되고 있는 공개키 암호방식은 암호화 / 복호화 및 키 교환과 디지털 서

명 에 공 통 적 으 로 사 용 될 수 있 는 RSA(Rivest, Shamir, Adleman), ECC(Elliptic

curve), 키 교환에 사용되는 Diffie-Hellman, 디지털 서명에 사용되는 DSS(Digital

Signature Standard) 등이 있다 .

(16)

 RSA

• 키 생성

 단계 1.

두개의 큰 소수 p, q 를 선정하여 자신의 비밀열쇠로 한다 .

 단계 2.

n = pq 인 n 을 공개하고 φ(n) 과 서로 소인 임의의 정수 e 를 선택하여 공개 자물쇠로 한다 .

 단계 3.

ed ≡ 1 (mod φ(n)) 이 되는 d 를 Euclidean Algorithm(2 개의 자연수 ( 또는 정식 ) a, b 에 대해서 a 를 b 로 나눈 나머지를 r 이라 하면 , a 와 b 와의 최대공약수는 b 와 r 의 최대공약수와 같다 ) 등으로 계산하여 비밀 열쇠로 한다 . 즉 , p 와 q 그리고 d 는 비밀 열쇠로 , n 과 e 는 공개 자물쇠로 한다 .

• 암호화 단계 .

평문 M 을 공개 자물쇠 e 를 사용하여 Me 를 계산한 다음 modular n 으로 간단히 한다 . 즉 암호문 C 는 다음과 같다.

  C = Me (mod n)

• 복호화 단계 .

(17)

 RSA 의 예

단계 1

  p = 5, q = 11 이라 하자 .

단계 2

 n=55 을 공개하고 φ(n) = (5-1)(11-1) = 40 과 서로소인 정수 중에서 임의로  e = 7 을 선택하여 공개한다 .

단계 3

7 x 23 ≡1 (mod 40) 이므로 d = 23 이다 . 공개 열쇠는 (55, 7) 이고 비밀 열쇠 는 (55, 23) 이다 .

암호화 단계 M=5

57 mod 55 = 25

복호화 단계 C=25

2523 mod 55 = 546 = 5

(18)

 RSA( 공개키 ) 암호 연습

(19)

8.7.3 해쉬 함수

• 해쉬 함수 H() 는 가변적인 길이의 메시지 M 에 대해 적용하여 고정적인 길이의 출력값 h 를 생성하는 단방향 함수를 말한다 ( 즉 h=H(M)).

• 단방향성이란 메시지 M 으로부터 해시 값 h 를 계산하는 것은 쉽지만 , h 가 주어졌을 때 이 해 시 값을 생성케 하는 M 을 찾는 것이 계산적으로 불가능한 성질을 말한다 .

 대표적으로는 MD5 와 SHA 를 들 수 있다 .

(20)

8.7.4 기타 보안 기법

 보안관리

 신뢰성 확보를 위해 우선적으로 필요한 보안정책 및 지침과 절차를 수립

 방화벽

 유형은 특정한 패킷들을 차단하기 위하여 각 IP 패킷에 규칙을 적용해서 패킷을 받아들이 거나 폐기하는 방식의 패킷 필터링 라우터 (Packet Filtering Router) 가 있다 .

 IP 계층에서 보안 서비스 제공의 어려움을 개선하기 위하여 응용계층에서 특정 응용서비 스를 통제하는 프락시 서버라고도 부르는 응용레벨 게이트웨이 (Application-Level Gateway) 가 사용될 수 있다 .

 회선레벨 게이트웨이 (Circuit-Level Gateway), 베스천 호스트 (Bastion Host) 등 다양한 형태의 침입 차단 시스템을 구성할 수 있다 .

 참조 모니터

 참조 모니터 (Reference Monitor) 는 보안 등급을 토대로 하여 컴퓨터 시스템 자원을 보호 하는 것이다 .

 참조 모니터는 각 주체의 접근 권한 ( 보안 등급 ) 과 각 객체의 보호 속성 ( 허용 등급 ) 을 열거하고 있으며 보안 커널 데이터베이스 (security kernel database) 로 알려져 있는 , 파 일에 대한 접근을 가지고 있다 .

(21)

 안티 바이러스 기법

 자원의 모든 접근을 에뮬레이터 상에서 이루어지도록 유인하여 통제된 환경에서 접근을 허용하고 바이러스 감염시도를 찾아내는 기법

 디지털 면역시스템 (Digital Immune System) 기법 : 인터넷에 근거한 기능을 기반으로 한 위협에 대응하여 , 즉시 처방을 마련하여 잔여 시스템에 방역함으로써 디지털 면역 시 스템을 갖추도록 조치하는 것이다 .

 행위 방지 소프트웨어 (Behavior-Blocking Software): 호스트 컴퓨터의 운영체제와 통합 되어 악의적인 행위들에 대하여 실시간으로 프로그램을 감시하는 기법이다

 컴퓨터 포렌식

 전자 증거물 등을 사법기관에 제출하기 위해 데이터를 수집 , 분석 , 보고서를 작성하는 일련의 작업

 하드 디스크 등 컴퓨터 저장매체에 들어있는 데이터를 대상으로 복구 , 검색 그리고 수사 하는 기법

 전자적으로 처리되어 보관 · 전송되는 디지털 데이터를 적법한 절차와 과학적 기법을 사용 하여 수집하고 분석하여 증거로 제출하는 제반행위

(22)

증거물 획득

Acquisition Acquisition

증거물 분석

Analysis Analysis

증거물 보관

Preservation Preservation

증거물 제출

Presentation Presentation

계획수립 압수수색 증거물 확인 디스크 이미징 디스크 복제 해싱(Hashing)

삭제된 파일 복구 암호 크랙

문서 키워드검색 MAC Time 분석 웹히스토리 분석 이메일 분석

증거의 훼손 , 변경방지 외부유출, 도난 방지 보관의 연속성 유지 (Chain-of-custody) 증거물 꼬리표 부착 무결성 유지

분석과정 및 결과에 대한 간단 명확한 분석보고서 작성

증거로 제출

문서화 ( 기록 )

Documentation Documentation

 컴퓨터 포렌식 절차

참조

관련 문서

⚫ Inventor 임베디드를 통해, Inventor Data 혹 은 DXF 가져온 파일 최적화. ⚫ 멀티 시트 기능을 통해, 판금 제품 자동 배 치

차세대 방화벽 보안 웹 게이트웨이 ATP: 지능형 위협 방어 클라우드 및 모바일 보안 Cloud 최적화. WAN 최적화 Global Route 최적화

RFID 시스템이란 IC 칩을 내장하여 제품에 붙이는 태그에 생산,유통,보관,소비의 전 과정에 대한 사물의 정보 및 주변 환경정보를 담고,무선으로 데이터를

하여 움직임을 검출하는 방법에는 화소 값을 기반으로 하는 방법과 차 영상의 히스토그램 을 이용하는 방법 그리고 움직임 예측을 통해 검출하는 방법과 학습된

학생들은 선정한 주제에 맞는 데이터를 수집하기 위하여 공공데이 터 포털 혹은 아두이노를 활용하여 데이터를 수집을 계획하는 등 주제에 맞는 데이터를

다양한 고양이와 개 그림을 학생들에게 제시하고 개와 고양이 그룹으로 분류한 다음 고양이가 개와 다른 특징을 모둠별로 토의하여 정리하도록 지도한다... (얼굴

- &#34;This work was supported by the Korea Foundation for the Advancement of Science and Creativity(KOFAC) grant funded by the Korea government(MOE)&#34;..

[r]