본문 바로가기

2021 정보처리기사/5과목: 정보시스템 구축 관리

[정보처리기사 5과목] IT 프로젝트 정보시스템 구축관리(3)

728x90
반응형
[정보처리기사 5과목 필기 예상 키워드] 목록으로 돌아가기
과목: 5. 정보시스템 구축 관리
챕터: 2장 IT 프로젝트 정보시스템 구축관리(3)
네트워크 관련 신기술 / 네트워크 설치 구조 / 스위치
경로 제어 프로토콜  / SW 관련 신기술 / 트래픽 제어
HW 관련 신기술 / Secure OS / 병행제어 / 데이터 표준화

 

 

소프트웨어 개발 보안

활동 주체

감리법인, 사업자, 한국인터넷진흥원(KISA), 발주기관, 행정안전부

 

 

개발 직무별 보안 활동

✔ 프로젝트 관리자(PM)

- 응용 프로그램에 대한 보안 전략을 조직 구성원들에게 전달

- 조직의 상태를 모니터링

 

✔ 요구사항 분석가(Requirement Specifier)

- 보안 관련 비즈니스 요구사항을 설명

 

✔ 아키텍트(Architect)

- 보안 기술 문제를 충분히 이해함

- 시스템에 사용되는 모든 리소스 정의 및 각 리소스별 적절 보안 요구사항을 적용

 

✔ 설계자(Designer)

- 문제 발생 시 최선의 문제 해결 방법을 결정

- 어플리케이션 보안 수준에 대한 품질 측정을 지원

- 발생된 문제 상황에 대하여 적절히 대응

 

✔ 구현 개발자(Implementer)

- 시큐어 코딩 표준을 준수하여 개발(보안취약점을 사전에 보완하면서 프로그래밍)

 

✔ 테스트 분석가(Test Analyst)

- 소프트웨어 개발 요구사항과 구현 결과를 반복적으로 확인

 

✔ 보안 감시자(Security Auditor)

- 개발 프로젝트의 현재 상태의 보안을 보장

- 개발 프로젝트의 전체 단계에서 활동

 

 

 

 

 

Secure OS

개요

기존 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부 침입으로부터 시스템 자원을 보호하는 운영체제를 의미한다.(보안커널)

 

TCB 기반으로 참조 모니터의 개념을 구현하고 집행함

>> TCB(Trusted Computing Base)

>> OS,HW,SW,FW 등 컴퓨터 시스템 내의 모든 장치가 보안 정책을 따르도록 설계한 보호 매커니즘

 

✔ 보안 커널의 보호 대상: 메모리와 보조기억장치, 데이터, 하드웨어 장치, 자료 구조, 명령어 각종 보호 매커니즘

 

✔ 암호적 분리(Cyrptographic Separation): 내부 정보 암호화

✔ 논리적 분리(Logical Separation): 프로세스의 논리적 구역 지정, 구역 벗어나는 행위 제한

✔ 시간적 분리(Temporal Separation): 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생되는 취약점 제거

✔ 물리적 분리(Physical Separation): 사용자별로 특정 장비만 사용하도록 제한하는 방법

 

 

참조 모니터(Reference Monitor)

보호대상의 객체에 대한 접근통제를 수행하는 추상 머신, 이것을 실제로 구현한 것이 보안 커널임

 

✔ 격리성(Isolation): 부정 조작이 불가해야 함

✔ 검증가능성(Verifiability): 적절히 구현되었다는 것을 확인할 수 있어야 함

✔ 완전성(Completeness): 우회가 불가해야 함

 

 

 

 

 

 

 

 

DB 관련 신기술

빅 데이터(Big Data)

✔ 막대한 양의 정형 또는 비정형 데이터의 집합

✔ 기업, 정부, 포털 등이 빅데이터를 효과적으로 분석함으로써 미래를 예측하여 최적의 대응 방안을 찾고 이를 수익으로 연결

 

 

 

브로드 데이터(Broad Data)

✔ 다양한 정보를 뜻하는 것으로 소비자의 SNS 활동이나 위치 정보 등이 이에 속한다

✔ IBM은 아시아 유통 데이터 분석 리포트를 통해 브로드 데이터의 중요성을 강조하기도 했음

 

 

 

메타 데이터(Meta Data)

✔ 일련의 데이터를 정의하고 설명해주는 데이터

✔ 데이터 사전의 내용, 스키마 등을 의미하고, HTML 문서에서는 메타 태그 내의 내용이 메타 데이터

✔ 여러 용도로 사용되나 주로 빠르게 검색하거나 내용을 간략하고 체계적으로 하기 위해 많이 사용됨

 

 

디지털 아카이빙(Digital Archiving)

✔ 디지털 정보 자원을 장기적으로 보존하기 위한 작업

✔ 아날로그 콘텐츠는 디지털로 변환한 후 압축해서 저장하고 디지털 콘텐츠도 체계적으로 분류하고 메타데이터를 만들어서 DB화 하는 작업

✔ 늘어나는 정보 자원의 효율적인 관리와 이용을 위해 필요한 작업

 

 

 

하둡(Hadoop)

✔ 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼

✔ 하둡은 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후 등에 적용되고 있음

 

 

 

맵리듀스(MapReduce)

✔ 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델

✔ 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후

✔ 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행

✔ Google에 의해 고안되었으며 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법으로 많이 사용되고 있음

 

 

 

 

타조(Tajo)

✔ 오픈 소스 기반 분산 컴퓨터 플랫폼인 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트

✔ 우리나라가 주도하여 개발하고 있음

✔ 하둡(Hadoop)의 빅데이터를 분석할 때 맵 리듀스(MapReduce)를 사용하지 않고

✔ 대규모 데이터 처리와 실시간 상호 분석에 모두 사용할 수 있음

 

 

 

데이터 다이어트(Data Diet)

✔ 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장하는 작업

✔ 각 기관, 기업의 데이터베이스에 쌓인 방대한 정보를 효율적으로 관리하기 위해 대두된 방안

✔ 같은 단어가 포함된 데이터들을 한 곳에 모아 두되 필요할 때 제대로 찾아내는 체계를 갖추는 것이 중요

 

 

 

데이터 마이닝(Data Mining)

✔ 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법

✔ 데이터 속에 내재되어 있는 변수 사이의 상호관계를 규명하여 패턴화함으로써 효율적 데이터 추출이 가능

 

 

 

OLAP(Online Analytical Processing)

✔ 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

✔ OLAP 연산: Roll-up, Drill-Down, Drill-Through, Drill-Across, Pivoting, Slicing, Dicing

 

 

 

 

 

회복 / 병행제어

회복(Recovery)

✔ 트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업

 

장애의 유형

- 트랜잭션 장애

- 시스템 장애

- 미디어 장애

 

 

회복 관리기(Recovery Management)

✔ DBMS의 구성 요소

✔ 트랜잭션 실행이 성공적으로 완료되지 못하면 트랜잭션이 DB에 생성했던 모든 변화를 취소(Undo) 시키고,

트랜잭션 수행 이전의 원래 상태로 복구하는 역할을 담당

메모리 덤프, 로그(Log)를 이용하여 회복을 수행

>> 메모리 덤프(Memory Dump): 주기적으로 데이터베이스 전체를 복사해 두는 것

>> 로그(Log): 갱신되기 전후의 내용을 기록하는 별도의 파일로 저널(Journal)이라고도 함

 

 

회복 기법

연기 갱신 기법(Deferred Update)

✔ 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법

✔ 트랜잭션이 수행되는 동안 갱신된 내용은 일단 Log에 보관

✔ Redo 작업만 가능

 

 

즉각 갱신 기법(Immediate Update)

✔ 트랜잭션이 부분 완료되기 전이라도 데이터 갱신을 즉시 DB에 반영하는 방법

✔ 장애가 발생하여 회복 작업할 경우를 대비하여 갱신된 내용들은 Log에 보관

✔ 회복 작업을 할 경우에는 Redo와 Undo 모두 사용 가능

 

 

 

그림자 페이지 대체 기법(Shadow Paging)

✔ 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지로 별도 보관

✔ 갱신된 이후의 실제 페이지 부분에 그림자 페이지를 대체하여 회복시키는 기법

✔ 로그, Undo 및 Redo 알고리즘이 필요 없음

 

 

검사점 기법(Check Point)

✔ 실행 중 특정 단계에서 재실행할 수 있도록 갱신 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관

✔ 장애 발생 시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 하여 회복시간을 절약하도록 하는 기법

 

 

 

 

병행제어(Concurrency Control)

✔ 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행수행할 때 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제허하는 것

 

✔ 병행제어의 목적

 

- 데이터베이스의 공유를 최대화 함

- 시스템 활용도를 최대화 함

- 데이터베이스의 일관성을 유지

- 사용자에 대한 응답 시간을 최소화

 

✔ 병행제어 기법의 종류

 

로킹(Locking)

- 주요 데이터의 액세스를 상호 배타적으로 하는 것

- 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 허락되어야만 로킹 단위를 액세스 할 수 있는 기법

 

타임 스탬프 순서(Time Stamp Ordering)

- 직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중 가장 보편적인 방법

- 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업 수행

- 교착 상태가 발생하지 않음

 

최적 병행수행(검증기법, 확인 기법, 낙관적 기법)

- 병행수행하고자 하는 대부분의 트랜잭션이 판독 전용(Read Only) 트랜잭션일 경우

- 트랜잭션 간의 충돌률이 매우 낮아서 병행제어 기법을 사용하지 않고도 시스템 상태를 일관성 있게 유지한다는 점을 이용

 

다중 버전 기법

- 타임 스탬프의 개념을 이용하는 기법

- 트랜잭션 및 데이터들이 이용될 때의 시간을 시간표로 관리하지만, 갱신될 때마다의 버전을 부여하여 관리한다.

 

 

✔ 병행수행의 문제점

 

- 갱신 분실(Lost Update):

두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상

 

- 비완료 의존성(Uncommitted Dependency):

하나의 트랜잭션 수행이 실패한 후 회복 전 다른 트랜잭션이 실패한 결과 참조

 

- 모순성(Inconsistency):

두 개의 트랜잭션이 병행수행될 때 원치 않는 자료를 이용함으로써 발생하는 문제(=불일치 분석)

 

- 연쇄 복귀(Cascading Rollback):

병행수행되던 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback 하는 경우 다른 트랜잭션도 함께 Rollback 되는 현상

 

 

 

 

교착상태

개요

 

이미지 출처: https://ybdeveloper.tistory.com/62

 

교착상태(Dead Lock)는 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미한다.

 

✔ 위 그림과 같이 자동차(프로세스)들이 현재 위치한 길(자원)을 점유함과 동시에 다른 차가 사용하는 길을 사용하려고 대기하고 있지만 다른 길을 사용할 수 없으며 현재 길에서도 벗어나지 못하는 상태이다.

 

 

 

 

교착상태 발생의 필요 충분 조건

교착 상태가 발생하기 위해서는 다음의 4가지 조건이 충족되어야 함

상호 배제
(Mutual Exclusion)
한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
점유와 대기
(Hold and Wait)

최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함

비선점
(Non-Preemption)
다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
환형 대기
(Circular Wait)

공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어
자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

 

 

 

교착상태의 해결 방법

예방 기법
(Prevention)

교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법

교착상태 발생의 네 가지 조건 중 어느 하나를 제거(부정)함으로써 수행됨

회피 기법
(Avoidance)

교착상태가 발생할 가능성을 배제하지 않고, 발생하면 적절히 피해나가는 기법

주로 은행원 알고리즘(Banker's Algorithm)이 사용됨

은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래한 기법

발견 기법
(Detection)

시스템에 교착상태가 발생했는지 점검하여 프로세스와 자원을 발견하는 것을 의미
교착상태 발견 알고리즘과 자원 할당 그래프 등을 사용할 수 있음
회복 기법
(Recovery)

교착상태를 일으킨 프로세스를 종료하거나 할당된 자원을 선점하여 프로세스나 자원 회복

 

 

 

 

데이터 표준화

정의

✔ 데이터 표준화는 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것을 의미

 

✔ 데이터 표준화 작업을 통해 사용자가 데이터를 정확히 이해하고 활용할 수 있도록 데이터 용어 및 항목 이름이 중복되지 않고 직관적이며, 공통된 의미로 전달되도록 표준 항목명을 부여해야함

 

✔ 엔티티, 속성, 테이블, 컬럼 등 데이터 요소에서 사용되는 단어에 대해 일정한 규칙이 적용되도록 해야 함

 

✔ 데이터 표준, 데이터 관리 조직, 데이터 표준화 절차가 있음

 

 

데이터 표준

데이터 모델이나 DB에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준화를 수행해야 함

 

✔ 표준 단어: 업무에서 사용하고 일정한 의미를 갖고 있는 최소 단위의 단어

✔ 표준 도메인: 문자형, 숫자형, 날짜형, 시간형과 같이 컬럼을 성질에 따라 그룹핑한 개념

✔ 표준 코드: 선택할 수 있는 값을 정형화하기 위해 기준에 맞게 이미 정의된 코드 값으로, 도메인의 한 유형

✔ 표준 용어: 단어, 도메인, 코드 표준이 정의되면 이를 바탕으로 표준 용어를 구성함

 

 

 

 

 

 

 

 

 

 


 

정보처리기사 5과목 필기(상시업뎃)

2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없이 

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90