[정보처리기사 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 되는 현상
교착상태
개요

교착상태(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
'2021 정보처리기사 > 5과목: 정보시스템 구축 관리' 카테고리의 다른 글
[정보처리기사 5과목] 소프트웨어 개발 보안 구축(2) (9) | 2021.05.12 |
---|---|
[정보처리기사 5과목] 소프트웨어 개발 보안 구축(1) (0) | 2021.05.12 |
[정보처리기사 5과목] IT 프로젝트 정보시스템 구축관리 (2) (2) | 2021.05.11 |
[정보처리기사 5과목] IT 프로젝트 정보시스템 구축관리 (1) (0) | 2021.05.11 |
[정보처리기사 5과목] 소프트웨어 개발 방법론 활용 (2) (0) | 2021.05.10 |