정보처리기사(5과목 정보 시스템 구축 관리)
카테고리: IPE
5과목 정보 시스템 구축 관리 필기 (요약)
72. 공개키와 비밀키 암호화 기법
공개키(비대칭키)암호화기법
- 암호키와 해독키가 서로 다른 기법이다
- 비칭키 암호화 기법 또는 공중키 암호화 기법이라고도 한다
- 키 분배가 비밀키 암호화 기법보다 용이하다
- 암호화/복호화 속도가 느리고 알고리즘이 복잡하다
비밀키(대칭키) 암호화 기법
- 동일한 키로 암호화하고 복호화하는 기법으로 키 개수는 N(N-1)2개 필요하다
- 대칭 암호 알고리즘은 처음 통신 시에 비밀키를 전달해야 하므로, 키 교환 중 키가 노출될 수 있다
- 암호화/복호화 속도가 빠르고 알고리즘이 단순하다
- 종류 : DES, AES, ARIA, SEED, IDEA, RC4
73. 나선형 모형(Spiral Model)
- Boehm이 제시하였으며, 반복적인 작업을 수행하는 점증적 생명주기 모형이다
- 점증적 모형, 집중적 모형이라고도 한다
74. 폭포수 모델(Waterfall Model)
- 각 단계가 끝나는 시점에서 확인, 검증, 검사를 거쳐 다음 단게로 넘어가거나 이전 단계로 환원하면서 구현 및 운영 단계에 이르는 하양식 생명주기 모형이다
- 폭포수 모델의 순서 : 계획 → 요구사항 정의 → 개략 설계 → 상세 설계 → 구현 → 통합 시험 → 시스템 실행 → 유지보수
76. COCOMO(COnstructive COst MOdel)모델
- 보헴(Boehm)이 제안한 소스 코드(Source Code)의 규모에 의한 비용 예측 모델이다
- 같은 규모의 소프트웨어라도 그 유형에 따라 비용이 다르게 산정된다
- 시스템의 구성 모듈과 서브 시스템의 비용 합계를 계산하여 시스템의 비용을 산정한다
- 현실적으로 가장 이해하기 쉬운 실험적 모형이다
COCOMO 개발 유형
Organic Mode (단순형) |
- 5만 라인 이하의 소프트웨어를 개발하는 유형 - 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 등 |
---|---|
Semi-detached Mode (중간형) |
- 30만 라인 이하의 소프트웨어를 개발하는 유형 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등 노력(MM)=3.0 x (KDSI) |
Embedded Mode (임베디드형) |
- 30만 라인 이상의 소프트웨어를 개발하는 유형 - 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등 - 노력(MM)=3.6 x (KDSI) |
77.LOC(Line Of Code)기법
- 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법이다
- 예측치 = a + (4 x c) + b / 6(단, a는 낙관치, b는 비관치, c는 기대치임)
- 개발 기간 = 예측된 LOC / (개발자 수 x 1인당 월평균 생산 LOC)
- 10000 / (2 x 5)
78.SLIM
- Putnam 모형 기반의 자동화 추정 도구이다
- 푸트남(Putnam)이 제안한 것으로 생명주기 예측 모형이라고도 한다
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다
79.CMMI 5단계(소프트웨어 프로세스 성숙도)
CMMI 5단계
단계 | 내용 |
---|---|
1. 초기(nital) | 예측/통제 불가능 |
2. 관리(Managed) | 기본적인 프로젝트 관리 체계 수립 |
3. 정의(Defined) | 조직 차원의 표준 프로세스를 통한 프로젝트 지원 |
4. 정량적관리 (Quantitativelymanaged) |
정량적으로 프로세스가 측정/통제됨 |
5. 최적화(Optimizing) | 프로세스 개선 활동 |
80.소프트웨어 품질 목표
소프트웨어 품질 목표
정확성(Correctness) | 사용자의 요구 기능을 충족시키는 정도 |
---|---|
신뢰성(Reliability) | 주어진 시간동안 주어진 기능을 오류 없이 수행하는 정도 |
사용 용이성(Usability) | - 사용에 필요한 노력을 최소화하고 쉽게 사용할 수 있는 정도 - 적절한 사용자 인터페이스와 문서를 가지고 있는 정도 |
효율성(Efficiency) | 명시된 조건하에서 소프트웨어 제품을 일정한 성능과 자원 소요량의 관계에 관한 속성, 즉 요구되는 기능을 수행하기 위해 필요한 자원의 소요 정도 |
무결성(Integrity) | 허용되지 않는 사용이나 자료의 변경을 제어하는 정도 |
이식성(Portability) | 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도 |
81.소프트웨어 개발 프레임워크
- 소프트웨어 프레임워크를 활용하면 개발 및 운영 용이성을 제공하고, 시스템 복잡도 감소, 재사용성 확대 등의 장점이 있다
- 개발 용이성 : 패턴 기반 개발과 비즈니스 로직에만 집중한 개발이 가능하며, 공통 기능은 프레임워크가 제공한다
- 운영 용이성 : 변경이 용이하며, 비즈니스 로직/아키텍처 파악이 용이하다
- 시스템 복잡도의 감속 : 복잡한 기술은 프레임워크에 의해 숨겨진다. 미리 잘 정의된 기술 Set을 적용할 수 있다
- 개발 코드의 최소화 : 반복 개발을 제거하며, 공통 컴포넌트와 서비스 활용이 가능하다
- 이식성 : 플랫폼 비의존적인 개발 가능하며, 플랫폼과의 연동은 프레임워크가 제공한다
- 변경 용이성 : 잘 구조화된 아키텍처를 적용하며, 플랫폼에 비의존적이다
- 품질 보증 : 검증된 개발 기술과 패턴에 따른 개발이 가능하며, 고급 개발자와 초급 개발자의 차이를 줄여준다
- 설계와 코드의 재사용성 : 프레임워크의 서비스 및 패턴의 재사용. 개발된 컴포넌트의 재사용이 가능하다
82.플랫폼 성능 특성
플랫폼 성능 측정 항목
- 응답 시간(Response Time)
- 가용성(Availability)
- 사용률(Utilization)
83.테일러링(Tailoring) 고려 사항
내부족 요건
- 목표 환경 : 시스템의 개발 환경 및 유행이 서로 다른 경우 테일러링이 필요
- 요구사항 : 프로젝트의 생명주기 활동 측면에서 개발, 운영, 유지보수 등 프로젝트에서 먼저 고려할 요구사항이 서로 다른 경우 테일러링이 필요
- 프로젝트 규모 : 사업비, 참여 인력, 개발 기간 등 프로젝트의 규모가 서로 다른 경우 테일러링이 필요
- 보유 기술 : 프로세스, 방법론, 산출물, 인력의 숙련도 등이 다른 경우 테일러링이 필요
외부적 요건
- 법적 제약사항 : 프로젝트별로 적용될 IT Compliance 서로 다른 경우 테일러링이 필요
- 표준 품질 기준 : 금융, 제조, 의료 업종별 표준 품질 기준이 상이하므로 방법론의 테일러링이 필요
84.RIP(Routing Information Protocol)
- 최단 경로 탐색에는 Bellman-Ford 알고리즘을 사용하는 거리 벡터 라우팅 프로토콜이다
- 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 ICP에 해당한다
- 최적의 경로를 산출하기 위한 정보로서 홉(거리값)만을 고려하므로, RIP을 선택한 경로가 최적의 경로가 아닌 경우가 많이 발생할 수 있다
- 소규모 네트워크 환경에 적합하다
85.정보보안의 3요소
- 무결성(Integrity) : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소
- 기밀성(Confidentiality) : 인가되지 않는 사용자가 객체 정보의 내용을 알 수 없도록 하는 보안 요소
- 기용성(Availavility) : 정보 시스템 또는 정보에 대한 접근과 사용이 요구 시점에 완전하게 제공될 수 있는 상태를 의미하는 보안 요소
86.신기술 용어
Mesh Network
- 기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수 목적을 위한 새로운 방식의 네트워크 기술이다
Zing
- 기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10cm 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접 무선통신(NFC : Near Field Communication) 기술이다
MQTT(Message Queuing Telemetry Transport)
- IBM이 주도하여 개발한 기술로 사물 통신, 사물 인터넷과 같이 대역폭이 제한된 통신 환경에 최적화하여 개발된 푸시 기술 기반의 경량 메시지 전송 프로토콜이다
- TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 loT 환경에서 자주 사용되고 있는 프로토콜이다
SDN(Software Defined Networking)
- 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술이다
- 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발된다
직접 연결 저장 장치(DAS : Direct Attached Storage)
- 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식이다
- 저장 장치와 호스트 기기 사이에 네트워크 디바이스 없이 직접 연결하는 방식으로 구성된다
Docker
- 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진으로 SW 컨테이너안의 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈소스 프로젝트이자 소프트웨어이다
87. 데이터베이스 관련 기술 용어
하둡(Hadoop)
- 오픈소스를 기반으로 한 분산 컴퓨팅 플랫폼으로 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고, 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 빅데이터 분산 처리를 돕는 자바 소프트웨어 오픈소스 프레임워크이다
- 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리한다
- 하둡의 필수 핵심 구성 요소는 맵리듀스(MapReduce)와 하둡 분산 파일 시스템(Hadoop Distributed File System)이다
- Sqoop : 하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전공할 수 있도록 설계된 도구이다
88.공격 유형
- **Dos(Denial of Service, 분산 서비스 거부)
- 공격 종류 : Ping Of Death, Land Attack, SYN Flooding, Smuf, DDoS, UDP Flooding
TCP 세션 하이재킹
- 서버와 클라이언트 통신 시에 TCP의 3-Way Handshake 단계에서 발생하는 취약점을 이용한 공격 기법이다
- 세션 하이재킹 탐지 기법 : 비동기화 상태 감지, ACK STORM탐지, 패킷의 유실 및 재전송 증가 탐지, 예상치 못한 접속의 리셋 탐지
**백도어(Back Door)
- 프로그램이나 손상된 시스템에 허가되지 않는 접근을 할 수 있도록 정상적인 보안 절차를 우회하는 악성 소프트웨어이다. 트랩 도어(Trap Door)라고도 한다
- 백도어 공격 도구 : NetBus, Back Orifice, RooKit 등
- 백도어 탐지 방법 : 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사 등
웜(Worm)
- 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높여 결국 시스템을 다운시키는 바이러스의 일종이다
89.Secure OS 와 OWASP
Secure OS의 보안 기능
- 강제적 접근 통제, 임의적 접근 통제, 식별 및 인증, 객체 사용 보호, 완전성 조성, 신뢰 경로
OWASP(The Open Web Application Security Project)
- 오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 곳이다
- 연구 결과에 따라 취약점 발생 빈도가 높은 10가지 취약점을 공개한다
OWASP TOP 10 LIST 2022
- Broken Access Control
- Cryptographic Falures
- Injections
- Insecure Design
- Security Misconfigurations
- Vulnerable and Outdated Components
- Identification and Authentication Failures
- Software and Data Integrity Failures
- Securlty Logging and Monitoring Failures
- Sserver-Side Request Forgery(SSRF)
90.접근통제
정보의 통제 정책
정책 | MAC | DAC | RBAC |
---|---|---|---|
권한 부여 | 시스템 | 데이터 소유자 | 중앙 관리자 |
접근 결정 | 보안 등급(Label) | 신분(Identithy) | 역할(Role) |
정책 변경 | 고정적 (변경 어려움) |
변경 용이 | 변경 용이 |
장점 | 안정적 중앙 집중적 |
구현 용이 유연함 |
관리 용이 |
AAA(Authentication Authorization Accounting, 인증 권한 검증 계정 관리)
- 시스템의 사용자가 로그인하여 명령을 내리는 과정에서 대한 시스템의 동작을 Authentication(인증), Authorization(권한 부여), Accounting(계정 관리)으로 구분한다
- Authentication(인증) : 망, 시스템 접근을 허용하기 전에 사용자의 신원을 검증한다
- Authorization(권한 부여) : 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용한다
- Accounting(계정 관리) : 사용자의 자원에 대한 사용 정보를 모아서 과금, 감사, 용량 증설, 리포팅 등의 관리를 한다
Honeypot
- 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템을 의미한다
댓글 남기기