[정보보안기사 PART 04] 시스템 보안 - 클라이언트 보안


Section 15 클라이언트 보안

 

1. 악성 소프트웨어(악성 코드)

 

(1) 개요

1) 악성 소프트웨어의 기본 개념

 개발자가 의도적으로 악의적인 기능을 컴퓨터 프로그램에 포함시키거나 프로그램 자체의 오류를 발생시킨다.

 기밀성, 가용성, 무결성 등의 보안속성을 침해할 경우 유해한 프로그램으로 간주된다.

구분 컴퓨터 바이러스 트로이 목마
자기 복제 있음 없음 매우 강함
형태 파일이나 부트섹터 등 감염 대상 필요 유틸리티로 위장하거나 유틸리티 안에 코드 형태로 삽입 독자적으로 존재
전파 경로 사용자가 감염된 파일을 옮김 사용자가 내려 받음 네트워크를 통해 스스로 전파
주요 증상 해당 컴퓨터의 시스템 및 파일 손상 PC 성능 저하, 좀비 PC 네트워크 성능 저하

 

2) 악성 소프트웨어의 분류

기생형과 독립형

호스트 프로그램을 필요로 하는 기생형 호스트 프로그램이 필요 없는 독립형

ex) 바이러스, 논리폭탄, 백도어

ex) 웜, 좀비 프로그램

 

자기복제 여부

바이러스성 악성코드 비-바이러스성 악성코드
ex) 웜, 바이러스 ex) 트로이목마, 백도어

 

 

(2) 바이러스(Virus)

1) 기본 개념

 자기 자신 또는 자신의 변형을 보가하여 컴퓨터 작동에 피해를 주는 것

 

2) 세대별 분류

  1. 제 1세대 원시형 바이러스 : 구조 단순 분석 쉬움
  2. 제 2세대 암호화 바이러스 : 일부 또는 대부분 암호화
  3. 제 3세대 은폐형 바이러스 : 바이러스가 없는 것처럼 백신 프로그램이나 사용자 속임
  4. 제 4세대 갑옷형 바이러스 : 여러 단계의 암호화와 다양한 기법을 동원하여 분석 어렵게 만듬
  5. 제 5세대 매크로 바이러스 : 매크로 기능 가지고 있음

 

3) 매크로 바이러스

 - 플랫폼과 무관하게 사용된다

 - 대부분의 바이러스는 문서를 감염시키고 코드의 실행부분은 감염시키지 않는다.

 - 매크로 바이러스는 쉽게 퍼지나. 가장 보편적인 방법은 전자메일

 - 실행 파일을 다룰 때보다 주의를 덜 하기 때문에 피해가 더 크다

ex) Adobe사의 PDF 문서 또는 MS 워드나 엑셀에 숨어 있다.

 

4) 바이러스 방지책

 바이러스 위협에 대한 해결책은 예방!

 탐지(Detection) : 감염되면 바이러스 있는 지 판단 후 위치 파악!

 식별(Identification) : 탐지되면 감염시킨 특정 바이러스를 식별

 제거(Removal) : 바이러스를 모든 감염된 시스템에서 제거하여 퍼지지 않게 한다.

 

안티 바이러스 필터링 방법(Antivirus Filtering Method)

 virus signature scanning 방법

- 특정 바이러스만이 가진 유일한 형태의 signature 찾아낸다. 

 

 behavioral virus scanning 방법

- 바이러스가 수행 중에 어떤 행동을 보이는지를 추적하는 방법

 

 

(3) 웜(Worm)

1) 개요

 자기복사 기능만 가진 프로그램이지만 막대한 시스템 과부하를 일으킨다.

 다른 시스템에 직접적인 영향을 미치지 않는 점에서 트로이 목마와 구분되며,

 다른 프로그램에 기생하지 않는다는 점에서 컴퓨터 바이러스와 구분된다.

 

2) 웜의 실행

 버퍼 오버플로우, 포맷 스트링, SQL 삽입, PHP 삽입 등 공격 가능한 시스템의 취약점 이용

ex) 시스템 접근 권한이 확보되면 웜을 백도어에 설치

     DDoS 공격에 사용 될 수 있는 봇 또는 좀비 프로그램 다운로드하여 실행

 

3) 웜 대응책

네트워크 기반 웜 방어

 진입 모니터(Ingress monitors)

경계 라우터나 외부 침입차단시스템이나 독립된 수동 모니터의 진입 필터링 소프트웨어의 일부

 

 진출 모니터(Egress monitors)

나가는 트래픽에서 스캐닝의 흔적이나 기타 의심스런 행동을 모니터링해서 웹 공격의 출처를 잡는다.

 

(4) 트로이목마(Trojan horse)

 자신의 실체를 드러내지 않으면서 마치 다른 프로그램의 한 유형인 것처럼 가장하여 활동하는 프로그램

 자기 복제 X, 다른 파일 감염 또는 변경 X

 트로이목마가 포함된 프로그램 실행되는 순간, 시스템은 공격자에게 시스템을 통제할 수 있는 권한 부여

 

 

 

2. 인터넷 활용 보안

 

(1) 웹브라우저 보안

1) 브라우징 보안

 인터넷 : 다른 세가지 영역에 포함되지 않은 웹사이트를 위한 영역

 로컬 인트라넷 : 사용자의 컴퓨터와 네트워크(인트라넷)상에 있는 웹사이트를 위한 영역

 신뢰할 수 있는 사이트 : 사용자가 안전한 콘텐츠를 갖고 있다고 신뢰하는 페이지를 설정하는 웹사이트 영역

 제한된 사이트 : 어떤 이유에서든 사용자가 신뢰할 수 없거나 보안 페이지로 설정할 수 없는 웹사이트 영역

 

(2) 쿠키(Cookie)

1) 개요

 사이트와 웹 사이트를 연결해주는 정보가 담겨있음.

 

2) 쿠키의 일반적 용도

 사이트 개인화

 장바구니 시스템

 웹 사이트 이용방식 추적

 타깃 마케팅

 

4) 쿠키의 구조

 4개의 속성과 하나의 데이터

Set-Cookie: name=value; expires=[Date]; domain=[Domain]; path=[Path]; [secure]

서버에서 "Set-Cookie 응답헤더" 클라이언트에게 전달

클라이언트는 "Cookie 요청헤더"를 이용해 지속적으로 쿠키를 전달

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 04] 시스템 보안 - 보안 운영체제


Section 14 보안 운영체제

 

1. 보안 운영체제 개요

 

(1) 기본 개념

 불법적인 수정이나 참조를 방지하는 정책과 기법

 시스템의 자원을 외부의 침입으로부터 보호하는 것

 

 

2. 보안 운영체제의 주요 제공 기능

 

(1) 보호 대상 및 방법

1) 보호대상

메모리, 보조기억장치 상의 파일 또는 데이터의 집합, 메모리상에서 실행 중인 프로그램, 파일들의 디렉터리, 하드웨어 장치, 스택과 같은 자료구조, 명령어, 패스워드와 사용자 인증메커니즘, 보호 메커니즘 자체 등

 

2) 보호방법

물리적 분리

시간적 분리

논리적 분리

암호적 분리

내려갈수록 구현 복잡도 증가!

 

(2) 파일시스템 보호

 파일의 이름 명명(naming)

 패스워드

 암호화

 

 

3. 보안 운영체제와 보안커널

 

(1) 보안 운영체제의 보안 기능

1) 사용자 식별 및 인증

2) 임의적/강제적 접근 통제

3) 객체 재사용(Object Reuse) 보호

4) 완전한 조정

5) 신뢰 경로(Trusted Path)

6) 감사 및 감사 기록 축소

 

(2) 보안커널(Security Kernel)

1) 기본 개념

 TCB 내에 있는 하드웨어, 소프트웨어, 펌웨어로 구성

 참조 모니터 개념을 구현하고 집행

 주체와 객체 사이의 모든 접근과 기능 중재   // 분리 가능, 변조 방지, 우회 불가능

 

2) 신뢰 컴퓨팅 기반(TCB, Trusted Computing Base)

 하나의 컴퓨터 시스템(H/W, F/W, S/W) 내의 모든 보호 메커니즘의 총체

 시스템과의 조화를 통하여 보안 정책을 적용할 책임 갖는다

 

3) 보안커널 설계 시 고려사항

참조모니터(Reference Monitor)

 주체의 객체에 대한 모든 접근통제를 담당하는 추상머신

 

3가지 규칙

- 반드시 부정조작이 없어야 한다.

- 항상 무시되지 않고 호출되어야 한다

- 모든 동작을 항상 분석과 테스트를 통해 확인할 수 있어야 한다.

 

참조모니터 및 보안커널의 3가지 특징

격리성 : 분리되고 부정조작 방지

검증가능성 : 크기 작아야함

완전성 : 우회 불가능

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 04] 시스템 보안 - 운영체제 주요 구성기술


Section 13 운영체제 주요 구성기술

 

1. 프로세스 관리

 

(1) 프로세스(Process)

 

1) 프로세스 개념

프로세스는 일을 수행하기 위해 CPU 시간, 메모리, 파일 그리고 입출력 장치를 포함한 여러 가지 자원을 필요로 한다. 즉, 현재 실행 중이거나 곧 실행할 수 있는 PCB를 가진 프로그램이다.

 

프로세스 상태

보류 상태(pending) : 작업이 일시 중지되거나 디스크에 수록된 상태

준비 상태(ready) : CPU가 사용할 수 있는 상태

실행 상태(running) : 프로세스가 CPU를 차지하는 상태

대기 상태(blocked) : 프로세스가 CPU를 차지하고 실행되다가 입출력 처리와 같은 사건이 발생 시, CPU를 양도하고 입출력 처리가 완료될 때까지 대기 큐에서 대기하는 상태

완료 상태(terminated) : 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

 

프로세스 상태 전이

디스패치(Dispatch) : 준비 상태 -> tlfgod tkdxo

할당 시간 초과(Time Run Out) : 실행 상태 -> 준비 상태

대기(Block) : 실행 상태 -> 대기 상태

깨움(Wake Up) : 대기 상태 -> 준비 상태

 

2) 프로세스 제어블록(PCB)

PCB(Process Control Block, 태스크 제어 블록)으로 OS가 프로세스를 관리하는데 필요한 모든 정보를 유지하는 자료구조 테이블

프로세스 디스크립터(Process descriptor)라 하여 프로세스가 생성할 때 만들어진다.

 

PCB 포함 정보

필드 설명
프로세스 상태 새로운(new), 준비완료(ready), 실행(running), 대기(waiting) 또는 정지(halted)
프로그램 카운터 실행 중인 프로세스가 다음에 실행할 명령어의 주소 가리킨다.
CPU 레지스터 CPU내부에서 처리할 명령어나 연산의 중간 값 등을 일시적으로 기억하는 임시 기억장소
CPU 스케줄링 정보 프로세스 우선순위, 스케줄 큐에 대한 포인터와 다른 스케줄 매개변수 등 포함
메모리 관리 정보 기준 레지스터와 한계 레지스터의 값, 페이지 테이블 또는 세그먼트 테이블 정보 포함
회계(accounting) 정보 CPU 사용시간과 경과된 시간, 시간 제한, 계정 번호, 잡 또는 프로세스 번호 등 포함
입출력 상태 정보 프로세스에게 할당된 입출력 장치와 열린 파일의 목록 등을 포함

 

(2) 스레드(Threads)

 단일 스레드 프로세스와 다중 스레드 프로세스

 각각의 스레드는 독립적인 제어 흐름을 가지고 자신만의 스택과 레지스터를 갖는 것이 특징

 

(3) CPU 스케줄링(CPU Scheduling)

1) 개요

CPU 자원을 언제, 어느 프로세스에게 배당할 것인지를 결정하는 작업

 

2) 스케줄링 기준

 CPU 이용률(utiliztion)

 처리량(throughput)

 총 처리시간(turnaround time)

 대기시간(waiting time)

 응답 시간(response time)

 

3) 프로세스 스케줄링 분류

선점 스케줄링 : 한 프로세스가 CPU를 차지하고 있을 때, 자신이 CPU를 차지할 수 있는 기법

  ex) RR(Round-Robin), SRT(Shortest-Remaining-Time), MLQ(MultiLevel Queue), MFQ(Multilevel Feedback Queue)

비선점 스케줄링 : 한 프로세스가 CPU를 차지하고 있을 때, 그 CPU를 뺏을 수 없는 기법

  ex) FIFO(First-In-First-Out), SJF(Shortest-Job-First), HRN(Highest Response-ratio Next)

 

4) 프로세스 스케줄링 알고리즘

FCFS(First Come First Service) 스케줄링

SJF(Shortest Job First 또는 Shortest Job Next) 스케줄링

HRN(Highest Response ratio Next) 스케줄링

RR(Round Robin) 스케줄링

SRT 스케줄링

다단계 큐(MLQ, Multi Level Queue) 스케줄링

다단계 피드백 큐(MFQ, Multilevel Feedback Queue) 스케줄링

 

(4) 교착상태(Deadlock)

1) 기본 개념

 다중 프로그래밍 시스템에서 아무리 기다려도 결코 일어나지 않을 사건을 기다리는 프로세스가 하나 또는 그 이상 있는 상태이다.

 

2) 교착상태의 4가지 필요조건

 상호 배제(Mutual Exclusion)

 점유와 대기(Hold & Wait)

 비선점(Non-preemption)

 환형 대기(Circular Wait)

 

 

 

2. 메모리 관리

 

(1) 메모리 관리 전략

1) 스와핑

 프로세스가 실행되기 위해서 메모리에 있어야 하지만 프로세스는 실행 중에 임시로 예비 저장장치(backup store)로 내보내어졌다가 실행을 계속하기 위해 다시 메모리로 되돌아온다.

 

2) 메모리 할당

고정 분할

가변 분할

 

4) 메모리 관리 정책

반입(Fetch) 정책

 CPU로 실행하거나 참조하기 위해 주기억장치에 적재할 다음 프로그램이나 자료를 언제 가져올 것인가

ex) 요구 반입 정책(demand fetch strategic), 예상 반입 정책(anticipatory fetch strategic)

 

배치(Placement) 정책

 새로 반입된 자료나 프로그램을 주기억장치의 어디에 위치할 것인가

ex) 최초 적합, 최적 적합, 최악 적합

 

교체(Replacement) 정책

 새로 들어온 프로그램이 들어갈 장소를 마련하기 위해 어떤 프로그램을 주기억장치에서 제거할 것인가

ex) 페이지 부재(page fault)

 

5) 페이지 교체 기법

선입 선출(FIFO, First In First Out)

최적 교체(Optimal Replacement)

LRU(Least Recently Used) : 가장 오랫동안 사용되지 않을 페이지를 제거하는 방법

 

(2) 가상 기억장치

1) 세그먼테이션(Segmentation)

 프로그래머가 생각하는 모양을 그대로 지원하는 메모리 관리 기법

 프로그래머가 생각하는 논리 구조 공간을 세그먼트의 집합으로 이룬다.

 각 세그먼트는 이름과 길이를 가진다.

 내부단편화 X, 외부단편화 O

 

2) 페이징(Paging)

 블록 사이즈가 고정된 방식으로 사용자가 작성한 프로그램은 기계적으로 페이지 단위로 분해

 내부단편화 O, 외부단편화 X

 

3) 페이징/세그먼테이션 혼용

 프로그램을 논리적인 세그먼트 단위로 분할하고 분할된 각 세그먼트를 다시 각각 페이지 단위로 분할

 

6) 연관 사상 방법(associative mapping)

7) 직접/연관 사상 혼용 방법

8) 직접 사상 방법

 

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 04] 시스템 보안 - 운영체제 개요


Section 12 운영체제 개요

 

1. 운영체제(OS, Operationg System) 개요

 

(1) 운영체제의 정의

 사용자 대신 컴퓨터 시스템의 각종 자원을 효율적으로 관리, 운영

 하드웨어와 사용자 간의 인터페이스 담당하는 시스템 프로그램

 CPU(중앙처리장치), 기억장치, 입출력장치, 공유된 코드 및 데이터 구조 등 관리

 

(2) 운영체제의 목적

 - 처리량(Throughput)의 향상

 - 반환시간(Turn-around time)의 최소화

 - 응답 시간(Response time)의 최소화

 - 사용가능도(Availability) 향상

 - 신뢰도(Reliability) 향상

 

(3) 운영체제의 이중연산 모드

 운영체제 코드의 실행, 사용자 정의 코드의 실행으로 구분

 

 사용자 모드(일반 모드)

- 특권이 부여되지 않은 상태

- 시스템 자원에 제한적 접근

 

 커널 모드(관리자 모드, 슈퍼바이저 모드, 시스템 모드, 특권모드)

- 오류를 발생시킬 수 있는 명령은 특권 명령

- 모든 명령어 사용 가능

 

 

2. 운영체제 구조(Operating System Structures)

 

(1) 간단한 구조(Simple Structure, Monolithic Architecture)

 시스템 호출 통해 파일 시스템, CPU 스케줄링, 메모리 관리 그리고 다른 운영체제 기능 제공

 구현 및 유지보수 어려움

 시스템 호출 인터페이스나 커널 안에서 통신하는 경우 오버헤드 거의 없음

 필요한 모든 기능이 커널 레벨에서 동작

 

(2) 계층적 접근(Layered Approach)

 5계층 구조

계층 1 : 프로세서 관리

계층 2 : 기억장치 관리

계층 3 : 프로세스 관리

계층 4 : 주변장치 관리

계층 5 : 파일과 데이터 관리

 

(3) 마이크로 커널(Microkernels)

 중요치 않은 구성 요소를 커널로부터 제거

 시스템 및 사용자 수준 프로그램을 구현해 OS 구성하는 방법

 기본이 되는 서비스만 핵심 커널에 포함

 

(4) 모듈(Modules)

 OS를 설계하는 데 이용되는 최근 기술 중 최선책 = 적재가능 커널 모듈

 커널이 핵심 서비스 제공, 다른 서비스는 커널 실행 동안 동적으로 구현!

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 03] 접근통제 - 접근통제 보안 모델


Section 10 접근통제 보안 모델

 

1. 접근통제의 모델

 

(1) 강제적 접근통제(MAC, Mandatory Access Control)

 

1) 개요

 자원의 보안 레벨사용자의 보안 취급인가를 비교하여 접근 제어한다.

 취급인가를 가진 특정 개체가 자신의 의지로 다른 개체가 어떤 자원을 접근할 수 있게 할 수 없다는 점

 즉, 보안 관리자가 취급인가를 허용한 개체만 접근할 수 있도록 강제적으로 통제한다.

 

2) 특징

 비밀성을 갖는 객체에 대하여 주체가 갖는 권한에 근거하여 객체에 대한 접근을 제어

 관리자만이 정보자원의 분류를 설정하고 변경하는 방법

 중앙집중화된 환경에서 제어

 ex) 규칙 기반 접근 통제

 

3) 문제점

 매우 제한적인 사용자 기능, 많은 관리적 부담 요구, 비용이 많이 듬, 사용자 친화적이지 않다.

 특수한 목적(군 시스템)에서 사용, 성능 저하 우려

 

 

(2) 임의적 접근통제(DAC, Discretionary Access Control)

 

1) 개요

 Lampson에 의해 제안된 접근 통제 매트릭스(Access Control Matrix)를 구현하기 위해 개발된 정책으로써 미국 국방성 TESEC(Trusted Computer Security Evaluation Criteria)의 접근 통제 표준 중의 하나로 정의

 주체가 속해 있는 그룹의 신원에 근거하여 객체에 대한 접근을 제한하는 방법

 "주체 또는 그들이 속해 있는 그룹의 신분에 근거해 객체에 대한 접근을 제한하는 정책"

 세부적으로 '신원 기반 접근통제', '사용자 기반 접근통제', '혼합 방식 접근통제'

 

2) 특징

 동적으로 정보에 접근(분산형 보안관리)

 Window, 유닉스, 리눅스, 매킨도시, 데이터베이스 시스템 같은 대부분 운영시스템은 DAC 기반

 

 

3) 임의의 접근 통제 기법

 

 접근제어 행렬(Access Control Matrix)

행렬을 이용하여 주체, 객체, 접근권한의 관계를 기술하는 방법

주체 (터미널, 네트워크장비, 호스트, 애플리케이션) -> 행

객체  (데이터 필드, 레코드, 파일, 데이터베이스 등) -> 열

 주체, 객체 많을 수록 관리 어렵고 비어있는 셀 수가 많아지게 되면 비효율적이다.

 

 자격 목록(Capability List, Capability Tickets, Capability Table, 권한 리스트)

주체가 갖는 자격들의 리스트이다.      // 주체 관점

접근제어 행렬을 행 단위로 관리

ex) 커버로스

 

 접근제어 목록(ACLs, Access Control Lists)

객체에 어떤 주체가 어떤 접근 권한을 갖는지 명시       // 객체 관점

객체 중심으로 하나의 객체에 대한 접근권한을 갖고 있는 주체들의 모임

 

 

4) 장단점

 

장점

 객체별로 세분화된 접근제어 가능

 매우 유연한 접근 제어 서비스 제공 가능

 

단점

 시스템 전체 차원의 일과성 있는 접근 제어 부족

 높은 접근 권한을 가진 사용자가 다른 사용자에게 자료에 대한 접근을 임의로 허용할 수 있음

 다른 신분을 사용하여 불법적인 접근 이뤄지면 중대한 결함 발생

ex) 바이러스, 웜, 루트킷

 

 

(3) 역할기반 접근통제(RBAC, Role Based Access Control)

 

1) 개요

 다중 사용자, 다중 프로그래밍 환경에서의 보안처리 요구를 만족시키기 위해 제안된 방식

 사용자의 역할에 기반을 두고 접근을 통제하는 모델

 접근제어 관리 작업 단순화, 기능 기반 접근제어를 직접 제공

 

2) 특징

 중앙에서 관리되는 통제 모음 사용

 임의적 접근통제 방식의 단점과 강제적 접근통제 방식의 단점을 보완한 접근통제 기법

 주체의 인사이동이 잦은 조직에 적합한 접근통제 방식

 Non-DAC 라고 불림

 

3) 사용자, 역할, 그리고 자원

각각의 사용자 대신 역할에 접근 권한을 할당한다. 이후 사용자는 정적 또는 동적으로 각자의 책임에 따라 각자 다른 역할에 할당된다.

 

 사용자 : 조직의 구성원이나 프로세스 등 조직의 자원에 대한 접근 요청한 모든 개체

 역할 : 조직의 직무나 책임 등을 반영하여 설정한 추상화 개체

 권한 : 조직의 자원에 대한 오퍼레이션의 관계를 추상화 시킨 개체

 

4) RBAC의 장점

 관리자에게 편리한 관리능력 제공, 비기술적 정책 입안자도 쉽게 이해 가능

 중앙 집중적인 역할 설정과 역할에 따른 접근 권한 설정

 DAC에 비해 유연성은 떨어지지만 관리자에 의해 전체 시스템 관점에서 일관성 있는 접근제어 용이

 

3가지 기본 보안 정책 제공

 특권의 최소화 (least privilege)

 직무의 분리 (separation of duties)

 데이터 추상화 (data abstraction)

 

 

2. 보안 모델

 

(1) 벨라파듈라 모델(BLP, Bell-LaPadula Confidentiality Model) - MAC

 

1) 개요

 허가된 비밀정보에 허가되지 않은 방식의 접근을 금지하는 기밀성을 집행하는 상태머신모델이며 정보흐름모델이다.

 MAC 모델

 사용자 : 서로 다른 허가(clearances)를 가지고 시스템을 사용

 시스템 : 서로 다른 분류(classification) 수준에 있는 데이터 처리 -> 다중 수준 보안 시스템이라 불림

 

2) 보안 규칙

 기밀성 중심의 다중 수준 보안

 No read up

 No write down

 

3) BLP 모델의 트로이목마 방어

 

4) BLP의 장단점

 기밀성 유지 매우 강함

 BUT, 무결성 유지 매우 약함, 자원 공유 시 기밀성 유지 훼손 가능

 

 

(2) 비바 무결성 모델(Biba Integrity Model) - MAC

 

1) 개요

 무결성을 위한 상업용 모델

 상태머신 모델이며 최초의 수학적 무결성 모델

 무결성의 3가지 목표 중 비인가자에 의한 데이터 변형 방지만 취급

 

2) 보안 규칙

 단순 무결성(simple integrity) : No read down

 무결성 제한(integrity confinement) : No write up

 호출 속성(invocation property) : 낮은 주체가 높은 주체에게 요청 할 수 없다.

 

 

(3) 클락-윌슨 무결성 모델(Clark-Wilson Integrity Model) - MAC

 

1) 개요

 좀 더 정교하고 좀 더 실제적인 무결성 모델

 군사용보단 상업용

 

2) 접근 통제 원칙

 정확한 트랜잭션

데이터를 하나의 일치 상태에서 다른 일치 상태로 변경하는 일련의 동작

 

 무결성 모델들의 목적

- 허가되지 않은 사용자로부터의 수정 예방

- 허가된 사용자의 부적절한 수정 예방 (임무 분할, 직무분리)

- 내부 및 외부 일치성을 유지 (정확한 트랜잭션)

 

 

(4) 만리장성 모델(Chinese Wall Model, Breswer-Nash Model) - MAC, DAC

 

1) 개요

 사용자의 이전 동작에 따라 변화할 수 있는 접근 통제를 제공하기 위해 만들어졌다.

 정보 흐름 모델 기반

 주체와 객체 사이에서 이해 충돌을 야기하는 방식으로 정보가 흐르지 않도록 한다.

 자유재량 + 강제적 접근 개념 모두 이용

 

 

(5) 기타 접근통제 보안 모델

 

1) 정보흐름 모델(information Flow Models)

 한 보안(혹은 무결성) 수준이 다른 보안 수준으로 이동하는 것을 포함하는 모든 종류의 정보흐름을 다룬다.

은닉채널(Covert channel)이 존재하지 않는다는 것을 보장하는 방법에 대한 규칙을 만든다.

 

2) 상태 기계 모델(State Machine Models)

 시스템 내의 활동에 상관없이 시스템이 스스로를 보호하고 불안정한 상태가 되지 않도록 하는 모든 컴퓨터에 적용되는 관념적 모델

 상태천이(state transition)를 통해 안전한 상태를 유지한다.

 모든 보안 모델에 기본적을 적용된다.

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 03] 접근통제 - 사용자 인증


Section 09 사용자 인증

 

1.인증

 

(1) 메시지 인증

 

1) 기본 개념

 전달되는 메시지의 이상 유무를 확인할 수 있는 기능으로 전송 중 발생할 수 있는 메시지 내용 변경, 메시지 순서 변경, 메시지 삭제 여부를 확인하는 기능

 ex) 메시지 암호화 방식, MAC(Message Authentication Code)방식, 해쉬 함수 이용한 방식

 

 

(2) 사용자 인증

 

1) 기본 개념

  사용자 A가 사용자 B한테 자기 자신을 A임을 증명할 수 있는 것!

 

2) 사용자 인증의 유형

유형 설명
Type 1 (지식) 주체는 그가 알고 있는 것을 보여줌(Something you know) 패스워드, 핀(PIN)
Type 2 (소유) 주체는 그가 가지고 있는 것을 보여줌(Something you have) 토큰, 스마트카드
Type 3 (존재) 주체는 그를 나타내는 것을 보여줌(Something you are) 지문
(행위) 주체는 그가 하는 것을 보여줌(Something you do) 서명, 움직임
Two Factor 위 타입 중에서 두 가지 인증 메커니즘을 결합하여 구현 토큰 + PIN
Muti Factor 가장 강한 인증으로 세 가지 이상의 인증 메커니즘 사용 토큰 + PIN + 지문인식

 

 

2. 사용자 인증 기법

 

(1) 지식 기반 인증 (What you know)

 

1) 지식 기반 인증의 장,단점

 장점

1. 다양한 분야에서 사용 가능

2. 검증 확실성

3. 관리비용 저렴

 

 단점

1. 소유자가 패스워드 망각

2. 공격자에 의한 추측 가능

3. 사회 공학적 공격 취약

 

 

2) 패스워드

 고정된 패스워드

접속 시에 반복해서 사용되는 패스워드 (표나 파일 저장, 해시 저장, 솔트 이용)

 

 일회용 패스워드(one-time password)

오직 한 번만 유효한 높은 수준의 보안이 요구되는 환경에서 사용

 

 

3) 시도-응답 개인 식별 프로토콜

 - 대칭형 암호와 공개키 암호에 기반

 - 자기 자신만의 소유하고 있는 어떤 비밀 정보를 자신이 알고 있다는 사실을 간접적으로 보여줌

ex) 일방향 개인 식별 프로토콜, 상호 개인 식별 프로토콜

 

 

4) 영지식 개인 식별 프로토콜

 자신의 비밀 정보를 서버에게 제공하지 않고 자신의 신분을 증명하는 방식

 

 

5) i-PIN (Internet Personal Identificatin Number)

 인터넷상에서 주민번호 대신에 아이디와 패스워드를 이용하여 본인 확인을 하는 수단

 

 

(2) 소유 기반 인증 (What you have)

 

1) 소유기반 인증의 장,단점

 장점

1. 일반적임

2 입증된 기술

3. 생체 인식방식보다 경제적

 

 단점

1. 소유물 없는 경우 인증 어려움

2. 복제 가능

3. 자산 관리 기능 요구됨

 

 

2) 메모리 카드(토큰)

 - 메모리 카드는 저장 가능하지만 프로세스 데이터는 아님

 - 카드 뒤에 있는 마그네틱 선

 

 

3) 스마트카드

 마이크로 프로세스, 카드 운영체제, 보안 모듈, 메모리 등으로 구성되어 특정 업무를 처리함

 집적 회로가 내장된 신용카드 크기의 플라스틱 카드

 

 

4) 일회용 패스워드(OTP, One-Time Password)

 - OTP용 프로그램에서 사용자 비밀번호와 일회용 비밀번호 생성용 입력값을 입력하면 암호 알고리즘을 사용해서 일회용 패스워드를 생성하는 사용자 인증 방법

 - 패스워드 가로채기, 어깨너머 훔쳐보기 등에 대처하며 일정시간마다 비밀번호 변경

 ex) 질의응답, 시간 및 이벤트 동기화, S/Key 방법

 

질의 응답 : 시도응답 방식, 임의의 난수

시간  동기화 : 토큰장치와 비밀키에 나타나는 시간값은 OTP 생성하는데 사용

이벤트 동기화 : 인증값과 비밀키 해시되어 사용자에게 보여짐

S/Key 방식 : 해시 체인 기반 

 

 

(3) 개체(생물학적) 특성 기반 인증 (What you are)

 

1) 생물학적 특징 기반 인증의 장,단점

 장점

1. 사용 쉬움

2. 쉽게 도난 및 손상 할 수 없음.

3. 위조 어려움

 

 단점

1. 잘못 판단할 영역(판단 모호성) 존재

2. 관리 어려움

3. 인증 위한 임계치 설정 어려움

 

 

2) 생체인증 (Biometrics)

 생체적 혹은 행동적 특성 측정하여 신원 인증하는 방법

 

생체인증 기술의 평가항목

특성 설명
보편성 모든 사람이 가지고 있는 생체 특징인가?
유일성 동일한 생체 특징을 가진 타인은 없는가?
지속성 시간에 따른 변화가 없는 생체 특징인가?
획득성 정량적으로 측정이 가능한 특성인가?
성능 환경변화와 무관하게 높은 정확성을 얻을 수 있는가?
수용성  사용자의 거부감은 없는가?
반기만성 고의적인 부정사용으로부터 안전한가?

 

 

3. 통합 인증 체계

 

(1) SSO (Single Sign On)의 기본 개념

 

1) 통합 인증 체계(SSO) 정의

 한 번의 시스템 인증을 통하여 접근하고자 하는 다양한 정보시스템에 재인증 절차 없이 접근할 수 있도록 하는 통합 로그인 설루션

 

2) SSO 구성요소

사용자 : 개별 ID/Password 로그인 시도

인증 Server : ACL을 통한 통합 인증 서버

LDAP : 네트워크상의 지원을 식벼하고, 사용자와 Application들이 자원에 접근할 수 있도록 하는 네트워크 디렉터리 서비스

SSO Agent : 각 정보시스템에 자동인증 정보(Token) 송수신 수행

 

 

(2) 커버로스(Kerberos)

1) 개요

  SSO의 한 예이며, 혼합 네트워크를 위한 사실상의 표준

 

2) 특징

 확장성, 투명성, 안정성, 보안

 티켓이 지정된 유효기간 내에만 있다면 동일한 서버에서 여러가지의 서비스 응용 가능

 

3) 커버로스의 구성요소

구성요소 설명 비고

KDC

(Key Distribution Center)

키 분배 서버

모든 사용자와 서비스의 비밀키 보관

신뢰할 수 있는 티켓 생성

무결성 신뢰

사용자의 패스워드 비밀키로 변환 (사용자의 인증 목적 위해 사용)

TGS와 AS로 구성

AS

(Authentication Service)

실질적으로 인증 수행

사용자에 대한 인증을 수행하는 KDC의 부분 서비스

 

TGS

(Ticket Granting Service)

티켓 부여 서비스

티켓을 부여하고 티켓을 분배하는 KDC의 부분 서비스

 
Ticket 사용자에게 대해 신원과 인증을 확인하는 토큰  
Principals 인증을 위하여 커버로스 프로토콜을 사용하는 모든 실체  

 

 

4) 커버로스의 취약성

 - 실패 단일 지점(SPOF, Single Point Of Failure)이 될 수 있다. KDC를 위한 이중화 구성 필요

 - 비밀키는 사용자의 워크스테이션에 임시 저장 -> 침입자가 암호화된 키 획득 가능성 암시

 - 패스워드 추측 공격에 취약

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 03] 접근통제 - 접근통제 개요


Section 08 접근통제 개요

 

1. 접근통제 개요

 

1) 접근통제 (접근제어, Access Control) 기본 개념

 

 - 비인가된 사용자의 정보자원 사용의 방지뿐만 아니라 인가된 사용자가 비인가된 방식으로 정보자산을 접근하는 행위 방지

 - 인가된 사용자가 정보 자산을 실수 혹은 의도적으로 잘못 접근하여 정보 자산 훼손하는 행위 방지

 - 주체(사람, 시스템) 등이 접근 대상이 되는 객체에 접근할 때, 보안상의 위협, 변조 등과 같은 위험으로부터 객체와 제반 환경을 보호하기 위한 보안대책을 말한다.

 

2) 접근통제 절차

 

단계 설명 접근 매체
식별

본인이 누구라는 것을 시스템에 밝히는 것

인증 서비스에 스스로를 확인시키기 위해 정보를 공곱하는 주체의 활동

책임 추적성 분석에 중요하 자료가 됨

사용자명

계정번호

메모리카드

인증

주체의 신원을 검증하기 위한 사용 증명 활동

본인임을 주장하는 사용자가 그 본인이 맞다고 시스템이 인정해 주는 것

패스워드, PIN

토큰, 스마트카드

생체인증 (지문 등)

인가 인증된 주체에게 접근을 허용하고 특정 업무를 수행할 권리부여하는 과정

접근제어목록(ACL)

보안 등급

 

 

3) 접근통제 요구사항

 

  1. 입력의 신뢰성(Input Reliability) : 입력되는 사용자 정보 신뢰 할 수 있어야 함

  2. 최소 권한 부여(Least Privilege) : 최소한의 자원과 접근권한 부여

  3. 직무 분리(Separation of Duty) : 시스템의 기능의 단계를 다수의 개인들에게 나눔

  4. 정책 결합과 충돌 해결(Policy Combination and Conflict Resolution)

  5. 개방적 정책과 폐쇠적 정책(Open and Closed Policies)

  6. 관리 정책(Administrative Policies)

 

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 02] 암호학 - 전자서명과 PKI


Section 06 전자서명과 PKI

 

1. 전자서명

 

(1) 전자서명의 개요

 

1) 전자서명의 형식

 

- 암호방식에 따라 공개키 서명방식과 관용 암호방식을 이용한 중재서명방식으로 나눌 수 있다.

 

- 공개키 서명방식 : 서명자의 검증정보를 공개하여 누구나 검증할 수 있는 서명방식

   (서명 생성 및 검증이 간편)

 

- 중재서명방식 : 관용 암호방식의 성질상 서명 생성과 검증을 제3자가 중재하는 방식

   (서명할 때마다 제3자의 참여가 있어야 하는 불편함 존재)

 

2) 전자서명 과정

 

   1. 송신자는 서명 알고리즘(signing algorithm)을 이용해서 메시지에 서명

   2. 메시지와 서명은 수신자에게 전송

   3. 수신자는 메시지와 서명을 받고, 검증 알고리즘(verifying algorithm)을 적용한다

 

3) 전자서명 서비스

 

   (가) 메시지 인증

   (나) 메시지 무결성

   (다) 부인 방지

    (라) 기밀성

 

4) 전자서명의 주요 기능

 

   1. 위조 불가(Unforgeable) : 합법적인 서명자만이 전자서명을 생성할 수 있어야 한다.

   2. 서명자 인증(User authentication) : 전자서명의 서명자를 누구든지 검증할 수 있어야 한다.

   3. 부인방지(Non-repudiation) : 서명자는 서명행위 이후에 서명한 사실을 부인할 수 없어야 한다.

   4. 변경 불가(Unalterable) : 서명한 문서의 내용을 변경할 수 없어야 한다.

   5. 재사용 불가(Not reusable) : 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.

 

 

(2) 전자서명 구조

 

1) RSA 전자서명 구조 (RSA digital signature scheme)

 RSA의 소인수분해의 어려움을 기반으로 한 전자서명

 

2) ElGamal 전자서명 구조

- EIGmal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다르다.

   (이산대수 문제를 이용한 최초의 서명 방식)

- EIGmal 서명 알고리즘은 거의 사용하지 않지만 대신 DSA이란 변형을 많이 사용한다.

 

3) Schnorr 전자서명 구조

 서명의 크기를 줄이기 위해서 EIGmal에 기반을 두고 있지만 서명의 크기는 작은 새로운 구조를 제안

 

4) 전자서명 표준(DSS, Digital Signature Standard)

- DSS은 EIGamal 전자서명을 개량한 방식

- 서명과 검증에 소요되는 계산량을 획기적으로 줄인 방식

- 이산대수 문제를 기반, 오직 전자서명 기능만을 제공

- 암호화나 키 교환에 사용 되지 않지만, 공개키 기술이다.

 

5) 타원곡선 전자서명 구조

- 타원곡선에 기반을 둔 DSA

- ECC보다 짧은 비트 길이로 인해 짧은 처리시간에 짧은 서명 생성이 가능

 

 

(3) 전자서명 방식

 

1) 메시지 복원한 전자서명

 

- 서명자가 자신의 개인키를 이용해 메시지 암호화

- 검증자가 서명자의 공개키를 이용하여 서명된 암호문 복호화

- 그 결과가 일정한 규칙을 만족하는 의미 있는 메시지가 되는지 확인함으로써 서명 검증

 

2) 부가형 전자서명

 

- 임의의 길이로 주어진 메시지를 해시 알고리즘을 이용하여 일정한 길이로 압축

- 해시한 결과에 서명자에 개인키 이용하여 전자서명한 후 메시지를 덧붙여 전송

 

 

(4) 특수 전자서명

 

1) 개요

 

- 누구나 서명의 진위를 검증할 수 있으나 전자 서명을 제한적으로 사용하려는 경우가 제한하기 어려움

- 서명자의 동의가 있어야 검증이 가능하거나 서명문의 내용을 알지 못하게 하고 서명해야하는 경우 등 다양한 형태의 전자 서명 필요

 

2) 부인방지 전자서명

 자체 인증 방식을 배제시켜 서명을 검증할 때 반드시 서명자의 도움이 있어야 검증이 가능

 

3) 의뢰 부인방지 서명

 부인 방지 서명의 거짓말 탐지 기능 문제를 해결하기 위해서 임의의 검증자가 부인 과정을 수행

 

4) 수신자 지정 서명

 서명의 검증 시 특정 검증자만이 서명을 확인할 수 있도록 함

 

5) 은닉 서명 (블라인드 서명, Blind Digital Signature)

 서명문의 내용을 숨기는 서면 방식으로 제공자의 신원과 서명문을 연결시킬 수 없는 익명성을 유지

 

6) 위임 서명 (proxy digital signature)

 자신을 대리해서 서명할 수 있는 위임 서명

 

7) 다중서명 (multisignature)

 여러 사람이 서명하는 것

 

 

(5) 전자서명의 응용

 

1) 전자투표 (Electronic Voting)

 

- 선거인 명부를 DB로 구축한 중앙 시스템과 직접 연결한 단말에 자신이 정당한 투표자임을 증명하면, 단말이 있는 전국 어디서나 쉽게 컴퓨터 망을 통하여 무기명 투표를 할 수 있는 방식

- 투표율 향상, 투표 결과 신속히 알 수 있음

- 개인의 인증, 투표 내용의 기밀서 유지 등의 문제점 있음

 

전자투표 시스템 구현을 위한 요구사항

   1. 완전성 : 모든 투표가 정확하게 집계되어야 한다.

   2. 익명성 : 투표결과로부터 투표자를 구별할 수 없어야 한다.

   3. 건정성 : 부정한 투표자에 의해 선거가 방해되는 일이 없어야 한다.

   4. 이중투표방지 : 정당한 투표자가 두 번 이상 투표할 수 없다.

   5. 정당성 : 투표에 영향을 미치는 것이 없어야 한다.

   6. 적임성(투표자격제한 선거권) : 투표권한을 가진 자만이 투표 할 수 있다.

   7. 검증 가능 : 누구라도 투표 결과를 확인하여 검증해 볼 수 있어야 한다.

 

전자투표 방식

구분 투표장치 선거관리정도 기술정책점정도 특징
PSEV 방식 전자투표기

이미 정해져있는 기존 투표소에서 투표기를 이용하여 투표를 실시한 후 전자식 투표기록장치를 개표소로 옮겨와 컴퓨터로 결과를 집계

키오스크 방식
(Kiosk)
전자투표기 정해지지 않은*비지정) 임의 투표소에서 잔자투표, 투표소와 개표소를 온라인으로 연결하여 투표결과를 자동적으로 개표소로 전송되어 자동적으로 집계
REV방식 모바일, 디지털TV, PC 가정이나 직장에서 인터넷을 통하여 투표, 투표 결과가 개표소나 중앙관리센터로 보내져 자동적으로 집계

 

2) 전자입찰 시스템

 다수의 공급자가 응찰하여 오면 이 중에서 가장 싼 가격을 제시한 응찰자와 계약을 맺는 입찰방식

 

전자입찰 시스템의 요구사항

 독립성

 비밀성

 무결성

 공평성

 안전성

 

 

 

2. PKI (공개키 기반 구조)

 

(1) PKI (Public-key Infrastructure)의 개요

 

1) 기본 개념

 

 - 공개키 알고리즘을 위한 키 관리 구조

 - 인증서 발급, 사용 및 취소와 관련 서비스를 통하여 기밀성, 무결성, 접근제어, 인증, 부인방지의 보안서비스를 제공하며, 인증기관, 등록기관, 사용자, 신뢰 당사자, 저장소 등의 요소로 구성 

 

(2) PKI의 주요 구성요소

1) 인증기관 (CA, Certification Authority)

2) 검증기관 (VA, Validation Authority)

3) 사용자와 최종 개체 (subjects and end entities)

4) 등록 기관 (RA, Registration Authority)

5) 저장소 (Repository, Directory)

 

(3) PKI의 형태

1) 계층 구조

2) 네트워크 구조

3) 혼합형 구조

 

(4) PKI의 주요 관리 대상

 

1) 인증서 (PKC, Public-Key Certificate)

 

 - 한 쌍의 공개키/개인키와 특정 사람/기관을 연결시켜 주는, 즉 해당키가 특정인의 것이라는 것을 보증

 - 표준화된 양식에 의거하여 믿을 수 있는 제3자(인증기관)가 발행하며 PKI의 근간을 이룸

 - 공개키 인증서엔 이름, 소속, 메일 주소 등의 개인종보 및 그 사람의 공개키 기재

 - 인증기관(CA)의 개인키로 전자서명 되어있음

 

인증서 표준 규격 X.509

- 인증서 작성, 교환을 수행할 때의 표준 구격으로 많은 애플리케이션에서 지원

- IP 보안, 안전한 소켓 계층, 안전한 전자거래, S/MIME 같은 네트워크 보안 응용에서 널리 사용

 

2) X.509 인증서 폐지 목록 프로파일

 

인증서 폐지 사유

- 인증서의 유효기간이 끝나기 전에 폐지

 

CRL (Certificate Revocation List)

- 폐지된 인증서들에 대한 목록을 인증서 폐지 목록(CRL)이라고 한다.

- 저장소 또는 디렉터리 시스템 등에 등재하여 신뢰 당사자가 언제든지 이 목록을 검색할 수 있도록 하여야 한다.

- 인증서 폐지 목록에는 인증서 폐지 목록의 버전, 서명 알고리즘 및 발급 기관의 이름, 인증서 발급일, 다음 번 갱신일, 취소된 인증서에 대한 정보(인증서 일련 번호, 폐지일자, 폐지 사유 등) 포함

 

 

3) 인증서 운영 프로토콜

 

온라인 인증서 상태 검증 프로토콜(OCSP, Online Certificate Status Protocol)

 - CA에 의해 관리되고 있는 CRL을 검사한다.

 - CRL은 여전히 사용되고 있지만, 인증서 검증 과정에서 CRL을 확인할 수 있는 프로토콜을 가진 것

 - 실시간으로 인증서 상태를 확인할 수 있는 효율적인 방법

 

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts