[정보보안기사 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 정보보안기사&산업기사

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

[2020 정보처리기사 - 필기 / 1과목 / 소프트웨어 설계] - 요구사항 확인


1장 요구사항 확인

 

001 소프트웨어 생명 주기

 

1. 소프트웨어 생명 주기(Software Life Cycle)

2. 폭포수 모형(Waterfall Model)

3. 프로토타입 모형(Prototype Model, 원형 모형)

4. 나선형 모형(Spiral Model, 점진적 모형)

5. 애자일 모형(Agile Model)

 

002 스크럼(Scrum) 기법

 

1. 스크럼 개요

2. 스크럼 개발 프로세스

 

003 XP(eXtreme Programming) 기법

 

1. XP(eXtreme Programming)

2. XP 개발 프로세스

 

004 현행 시스템 파악

 

1. 현행 시스템 파악

2. 시스템 구성 파악

3. 시스템 기능 파악

4. 시스템 인터페이스 파악

5. 아키텍처 구성 파악

6. 소프트웨어 구성 파악

7. 하드웨어 구성 파악

8. 네트워크 구성 파악

 

005 개발 기술 환경 파악

 

1. 개발 기술 환경의 정의

2. 운영체제(OS, Operating System)

3. 운영체제 관련 요구사항 식별 시 고려사항

4. 데이터베이스 관리 시스템(DBMS)

5. DBMS 관련 요구사항 식별 시 고려사항

6. 웹 애플리케이션 서버(WAS, Web Application Server)

7. 웹 애플리케이션 서버(WAS) 관련 요구사항 식별 시 고려사항

8. 오픈 소스 사용에 따른 고려사항

 

006 요구사항 정의

 

1. 요구사항의 개념 및 특징

2. 요구사항의 유형

3. 요구사항 개발 프로세스

4. 요구사항 도출(Requirement Elicitation, 요구사항 수집)

5. 요구사항 분석(Requirement Analysis)

6. 요구사항 명세(Requirement Specification)

7. 요구사항 확인(Requirement Validation, 요구사항 검증)

 

007 요구사항 분석 기법

 

1. 요구사항 분석 기법

2. 요구사항 분류(Requirement Classification)

3. 개념 모델링(Conceptual Modeling)

4. 요구사항 할당(Requirement Alloction)

5. 요구사항 협상(Requirement Negotiation)

6. 정형 분석(Formal Analysis)

 

008 요구사항 확인 기법

 

1. 요구사항 확인 기법

2. 요구사항 검토(Requirement Reviews)

3. 프로토타이핑(Prototyping)

4. 모델 검증(Model Verification)

5. 인수 테스트(Acceptance Tests)

 

009 UMl(Unified Modeling Language)

 

1. UML(Unified Modeling Language)의 개요

2. 사물(Thing)

3. 관계(Relationships)

4. 다이어그램(Diagram)

 

 

 

 

*출처: [2020 시나공] 정보처리기사 필기

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

 

[정보보안기사 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 정보보안기사&산업기사

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

+ Recent posts