본문 바로가기
정보처리기사

정보처리기사 필기 5과목 - 정보 시스템 구축관리

by aesup 2023. 5. 4.
728x90

1. 고전적 생명 주기 모형

2. 나선형 모형

3. 비용 산정 기법

4. COCOMO 모델

5. CMM 모델

6. 소프트웨어 개발 프레임워크

7. RIP vs. OSPF

8. 암호화 알고리즘

9. 정보보안 3대 요소

10. 공격기법

 

1. 소프트웨어 생명 주기 모델 종류

폭포수 모델 (Waterfall Model) 

-소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델-

-Boehm 보햄 이 제시한 고전적 생명주기 모형

-선형 순차적 모델

-가장 오래된 모델로 적용 경험과 성공사례가 많음

-단계별 정의와 산출물이 명확

-요구사항 변경이 어려움

-절차: 타당성 검토 > 계획 > 요구사항 분석 >  설계 > 구현 > 테스트 > 유지보수 (SI 업무 절차 비슷)

 

프로토타이핑 모델(Prototyping Model)

-고객이 요구한 주요 기능을 프로토 타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델

 

나선형 모델(Spiral Model)

-시스템 개발시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델

-대규모 시스템 적합

-위험을 관리 및 최소화

-절차 : 계획 및 정의 > 위험 분석 >  개발 > 평가

 

반복적 모델 (Iteration Model)

-구축대상을 나누어 병렬적으로 개발 후 통합하거나 반복적으로 개발하여 최종 시스템 으로 완성하는 모델


2. 소프트웨어 개발방법론

구조적 방법론(Structured Development)

-전체 시스템을 기능에 따라 나누어 개발

-분할과 정복 접근 방식

-하향식 방법론

-나씨 - 슈나이더만 차트 사용(논리의 기술에 중점을 둔 도형식의 표현, 논리구조로 표현)

-정형화 된 분석 절차에 따라 사용자 요구사항 분석 및 파악

 

정보공학 방법론(Information Engineering Development)

-정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론

-개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론

-자료중심의 방법론

 

객체 지향 방법론(Object-Oriented Development)

-'객체' 라는 기본 단위로 시스템을 분석 및 설계하는 방법론

-객체, 클래스, 메세지를 사용

 

컴포넌트 기반 방법론(CBD ; Component Based Development)

-소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론

-생산성과 품질을 높이고, 유지보수 비용을 최소화 할 수 있음

-컴포넌트 제작 기법을 통해 재사용성을 향상

-복잡성 최소화

-재사용 가능

 

애자일 방법론 (Agile Development)

-절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응

 

제품 계열 방법론(Product Line Development)

-특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법

 


3. 비용산정 모델

하향식 산정방법: 경험이 많은 전문가에게 비용 산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는방식

-전문가 감정기법, 델파이 기법

 

상향식 산정방법: 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식 

-코드라인수 LOC (Lines of Code) , Man Month(MM) , COCOMO 모형 , Putnam 모형, FP(Function Point) 모형 ,  개발 단계별 노력 기법 Effer Per Task

 

전문가 감정기법

- 조직 내에 있는 경험이 많은 2명이상의 전문가에게 비용 산정을 의뢰하는 기법

- 편리하고 신속하게 비용을 산정할 수 있지만 개인적이고 주관적이다

 

델파이 기법

- 전문가 감정 기법의 주관적인 판단을 보완하기 위해 많은 전문가의 의견을 종합하여 비용을 산정하는 방법

- 1명의 조정자와 여러 전문가로 구성

 

LOC(Lines of Code)

-소프트 웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정

측정이 쉽고 이해하기 쉬워 많이 사용

-예측치 = a + 4m + b / 6

비관치(b) : 가장 많이 측정된 코드 라인수

중간치(m): 측정된 모든 코드 라인수의 평균

낙관치(a): 가장 적게 측정된 코드 라인수

 

Man Month

한 사람이 1개월동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 기법

Man Month = LOC / 프로그래머의 월간 생산성

프로젝트 기간 = Man Month/프로젝트 인력

 

COCOMO(Constructive Cost Model)

보햄 이 제안한 모형으로 프로그램 규모에 따라 비용을 산정

 

COCOMO 의 소프트 개발 유형

1. 조직형( Organic Mode ) =  단순형

- 기관 내부에서 개발된 중 소 규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 개발에 적용

- 5만(50KDSI) 라인이하의 소프트웨어를 개발하는유형

-KDSI: 1000라인

 

2. 반 분리형(Semi-Deteched Mode) = 중간형

- 단순형과 인베디드형의 중간형

- 트랜잭션 처리 시스템이나 , 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용

- 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형

 

3. 임베디드형(Embedded Mode)

- 초대형 규모의 트랜잭션 처리 시스템이나 운영체제, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적용

- 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형

 

푸트남 모형 (Putnam)

소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 모형

푸트남이 제안함

생명주기 예측 모형

시간에 따른 함수 로 표현되는 Rayleigh - Norden  곡선의 노력 분포도를 기초로 함

대형 프로젝트의 노력 분포 산정에 이용

SLIM 자동화 추정 도구

 

기능점수(FP Function Point)

기능점수(FP) :  총 기능점수 * (0.65 + (0.1 * 총 영향도) )

 

개발 단계별 노력

LOC 확장한 기법 -> 모든 단계에서 비용을 산정


4. 일정관리 모델

주공정법(CPM ; Critical Path Method)

여러 작업의 수행 순서가 얽혀있는 프로젝트의 일정을 계산하는 기법

노드와 노드간의 연결을 통해 공정을 계산하기위한 엑티비티 표기법

CPM 임계 경로 기간 계산 : CPM 네트워크를 그려서 가장 긴 경로를 찾는다

 

PERT

일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리


5. 소프트웨어 개발표준

ISO/IEC 12207

소프트웨어 생명주기 프로세스

 

ISO/IEC 12207 구성

- 기본 공정/ 조직 공정/ 지원 공정 프로세스

 

CMMI

- CMMI( Capability Maturity Model Integration)

- 기존 능력 성숙도 모델 (CMM)을 발전시킨 것

- 단계적 모델, 연속적 모델 존재

- 소프트웨어 개발 업체들의 업무 능력 및 조직의 성숙도를 평가하기 위한 모델

 

CMMI 구성

- SW-CMM / CE-CMM / IPD-CMM / People-CMM / SA-CMM / SECAM

 

CMMI 단계적 표현 모델의 성숙도 레벨 (초관 정관최)

1. 초기화 단계 (Iniltial)

2. 관리 단계 (Managed)

3. 정의 단계 (Defined)

4. 정량적 관리 단계 (Quantitatively Managed)

5. 최적화 단계 (Optimized)

 

SPICE

SPICE 는 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준이다(평가를 위함)

ISO 12207 소프트웨어 생명주기 프로세스를 참고하여 ISO/IEC 15504 라는 규격을 완성

 

SPICE 프로세스 수행 능력 수준 (불수관 확예최)

레벨 단계
0 불안정
1 수행
2 관리
3 확립
4 예측
5 최적화

테일러링 

- 조직의 표준 프로세스를 커스터 마이징 하여 프로젝트의 비즈니스적으로 또는 기술적인 요구에 맞게 적합한 프로세스를 얻는 과정이다

 

 

테일러링 프로세스

순서 프로세스
1 프로젝트 특징 정의
2 표준 프로세스 선정 및 검증
3 상위 수준의 커스터 마이징
4 세부 수준의 커스터 마이징
5 테일러링 문서화

테일러링 개발 방법론의 기준

내부적 기준 : 목표환경 / 요구사항 / 프로젝트 특성 /  구성원 능력

외부적 기준 : 국제 표준 품질 기준 / 법적 규제

 

소프트웨어 개발 프레임워크

- 소프트웨어 개발 프레임워크는 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장받을 수 있게 하는 소프트웨어

- 정보 시스템을 요구분석, 설계, 개발, 테스트 하는 과정에 대한 기본 골격 또는 틀

 

소프트웨어 개발 프레임워크 적용 시 기대효과

- 개발할 소프트웨어에 대한 품질 보증이 가능

- 소프트웨어 개발 용이성 증가

- 소프트웨어 변경 사항 발생 시 대응이 용이

- 개발하고자 하는 소프트웨어의 복잡도 감소

- 표준화된 연계모듈 활용으로 상호 운용성이 향상

- 개발표준에 의한 모듈화로 유지보수 용이

- 공통 컴포넌트 재사용으로 중복 예산 절감

 

소프트웨어 재사용

- 소프트웨어 개발 프레임 워크 활용 시 소프트웨어 재사용을 쉽고, 편리하게 적용 할 수 있다

- 이미 개발됭러 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지보수에 사용

 

소프트웨어 재사용 방법

합성중심 (Composition - Based) : 전자 칩과 같은 소프트웨어 부품, 즉 모듈을 만들어서 끼워 맞추어 소프트웨어를 완성 , 블록 구성방법

생성중심 (Generation-Based) :  추상화 형태로 쓰여진 명세를 구체화 , 패턴 구성 방법

 


 

6. 네트워크 구축관리

 

SDN( SDN ; Software Defined Network) 소프트웨어 정의 네트워크

- 개방형 api 기반으로 네트워크 장비의 트래픽 경로를 지정하는 컨트롤 플레인과 트래픽 전송을 수행하는 데이터 플레인을 분리하여 네트워크 트래픽을 중앙 집중적으로  관리하는 기술

- 네트워크의 세부 구성정보에 얽매이지 않고 요구사항에 따라 네트워크를 제어 및 관리할 수 있음

 

SDN 의 구성요소

구성요소 설명
애플리케이션(Application) 네트워크 운영체제 상위에서 사용자 서비스를 지원
네트워크 운영체제(Network OS) 전체 네트워크에 대한 제어
기존 네트워크 제어 기능에 대한 중앙 집중화 구현
오픈플로우 컨트롤러는 오픈플로우 프로토콜을 통해 데이터 플레인에 있는 네트워크 장ㅂ지의 흐름 테이블을 제어
테이터 플레인 (Data Plane) 오픈플로우만을 지원하는 스위치 또는 기존 2계층 3계층(라우팅) 기능을 지원하는 스위치에 오픈플로우 기능을 추가한 스위치로 구성

 

NFV (NFV ; Network Function Virtualliztion)

- 범용 하드웨어(서버/스토리지/스위치)에 가상화 기술을 적용하여 네트워크 기능을 가상 기능으로 모듈화 하여 필요한 곳에 제공(스위치, 라우터)하는 기술

 

NFV 구성요소

구성요소 설명
VNFs(Virtual Network Function) 네트워크 기능 실현을 위한 소프트웨어 패키지
기존의 네트워크 노드를 소프트웨어로 가상화 한것으로 자체 관리 시스템 기능 포함
NFVI(Network Function Virtualization Infrastructure) VNF 를 실행하는 실제의 물리적/소프트웨어적 자원
하드웨어 가상화에 필요한 소프트웨어 계층으로 구성
MANO(Management & Orchestration) NFVI 의 물리 및 가상 자원 관리와 VNF의 조율 및 라이프 사이클 관리를 담당
가상화와 관련된 관리 업무를 담당

 

네트워크 설치구조

종류 설명 장점 단점
버스형 하나의 네트워크 회선에 여러대의 노드가 멀티 포인트로 연결 구조가 간단하고 설치가 용이, 비용이 저렴
네트워크 회선에 노드를 추가 및 삭제가 용이
노드를 무분별하게 추가할 경우 네트워크 상태 저하
네트워크 회선의 특정부분 고장 시 전체 네트워크에 영향을 끼침
트리형 각노드가 계층적으로 연결되어있는 형태 (나뭇가지) 허브만 준비되어 있다면 많은 단말 노드를 쉽게 연결 가능 모든 네트워크가 허브를 통해 이뤄지므로 고장나면 네트워크 제한됨
링형 모든 노드가 하나의 링에 순차적으로 연결되는 형태 네트워크 회선에 단말 노드를 추가하거나 삭제하는 등의 네트워크 재구성에 용이  링의 어느 한부분에 장애 발생하면 전체 네트워크에 영향
성형 각 단말 노드가 허브라는 네트워크 장비에 점대 점으로 연결 소규모의 네트워크 설치 및 재구성이 간편 중앙 허브가 고장나면 전체 네트워크에 영향

네트워크 장비 유형

-네트워크는 전송 매체로 서로 통신을 할 수 있는 컴퓨터 단말기, 스위치, 라우터, 그외의 장치들의 집합체이다

-네트워크 장비 :  스위칭/라우팅장비, 광전송 장비, 액세스 장비, 이동 통신 장비

 

네트워크 관련 신기술

기술 설명
Mesh Network 기존 무선랜의 한계 극복을 위해 등장, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈 네트워킹, 공공, 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술
Wi - sun (Wireless Smart Utility Network) 스마트 그리드와 연계하여 전기, 수도, 가스 등의 공급자와 사용자가 무선 네트워크를 이용하여 효율적으로 관리할 수 있도록 활용
Small Cell 기존의 높은 전송 파워와 넓은 커버리지를 갖는 매크로셀과 달리 낮은 전송파워와 좁은 커버리지를 가는 소형 기지국
Son (Self Organizing Network) 모바일 무선 접속 네트워크의 계획, 구성,관리, 최적화, 문제 수정을 더 빠르게 만들기 위해 설계된 자동화 기술
MQTT (Message Queuing Telemetry Transport) Iot 장비, 텔레메트리 장치 등에서 최적화되어 사용할 수 있도록 개발된 프로토콜, 브로커를 사용한 발행/ 구독 방식의 경량 메시징을 전송하는 프로토콜
IOT (Internet of Things) 각종 사물에 센서와 통신 기능을 내장하여 무선 통신을 통해 각종 사물을 인터넷에 연결하는 기술
ex ) 인공지능 스피커
Smart Grid 전기 및 정보통신기술을 활용하여 전력망을 지능화 고도화
고품질의 전력서비스를 제공 에너지 이용효율을 극대화 
PICONET 여러개의 독립된 통신장치가 UWB 통신기술또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
NFC (Near Field Communication) 근거리 무선 통신 기술
RFID 기술의 일종
UsN (Ubiquitous Sensor Network) 필요한 모든 곳에 RFID 태그를 부착하고 사물의 인식 정보는 물론 주변의 환경정보까지 탐지하여 이를 네트워크에 연결해 정보를 관리함
Ad-hoc Network 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 구성한 네트워크

 

라우터 장비 (Router)

- OSI 3계층(네트워크계층)에서 사용되는 네트워크 장비로 스위치를 서로 연결하여 네트워크 간 비용 소모가 최적화된 라우팅 경로를 설정하고, 결정된 경로에 따라 트래픽을 전달하는  장비

 

라우팅 프로토콜

프로토콜 설명
RIP (Routing Information Protocol) -최초의 라우팅 프로토콜
-거리 벡터 알고리즘 활용
-Bellman-Ford 알고리즘 사용
-최대 홉수 15개로 제한
-30초마다 전체 라우팅 정보 갱신
-변화 업데이트시 많은 시간 소요
-라우팅루프 발생가능
OSPF(Open Shortest Path First) 규모가 크고 복잡한 TCP/IPP 네트워크에서 RIP 의 단점을 개선하기위해 링크 상태 알고리즘 적용하여 최단 경로를 찾는 라우팅 프로토콜
-홉수 제한 없음
-발생한 변경 정보에 대해 RIP 보다 빠른 업데이트
BGP (Border Gateway Protocol) 규모가 큰 네트워크의 상호연결
대형 사업자 간의 상호 라우팅

 

광전송 장비

기술 구분 설명
SONET (Synchronous Optical Network) 고속 디지털 통신을 위한 광전송 시스템 표준 규격
SDH (Synchronous Digital Hierarchy) 북미 표준인 SONET 을 기초로 동기식 디지털 다중화 신호계위에 대한 ITU 국제 표준 규격
충분한 오버헤드 확보가 가능한 기술
WDM (Wavelength Division Multiplexing) 파장이 서로 다른 복수의 광신호를 동시에 이용하는 것으로 광섬유를 다중화하는 방식
- 광섬유를 이용한 통신기술의 하나
DWDM (Dense Wavelength Division Multiplexing) 대용량 데이터 전송을 위하여 파장 대역 채널을 조밀하게 나누어 규격화한 광전송 기술
CET (Carrier Ethernet Transport)  광역통신망에서 고속으로 데이터를 전달하고 교환하는 차세대 패킷 전송 기술 

7. SW 구축관리

기계학습에 따른 분류

- 지도교사학습(입출력쌍으로 학습)/ 신경망, 회귀 분석

- 비지도교사학습(입력에대해 목표값 스스로 추론)/ k-Means 알고리즘, 주성분 분석

-강화학습(입력행위의 포상을 기억)/ Q-Learning, 몬테카를로 트리 탐색

 

Baas(Blockchain-as-a-Service)

- 블록체인 개발환경을 클라우드로 서비스하는 개념으로 블록체인 네트워크에 노드의 추가 및 제거가 용이

- 블록체인의 기본 인프라를 추상화하여 블록체인 응용 프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼

 

소프트웨어 신기술

기술 설명
인공지능 (AI ; Artifical Intelligence)  인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템
-인공지능은 인간의 지적 능력을 인공적으로 구현하여 컴퓨터가 인간의 지능적인 행동과 사고를 모방할 수 있도록 하는 소프트웨어
-
딥러닝(Deep Learning) 인간의 두뇌를 모델로 만들어진 인공 신경망(ANN)을 기반으로 하는 기계 학습 기술
블록체인 (Block Chain) P2P(Peer-to-Peer)네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
->비트코인
디지털 저작권 관리(DRM; Digital Rights Management) 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위해 데이터의 안전한 배포를 활성화 하거나 불법 배포를 방지하기 위한 시스템
양자암호통신(Quantum Cryptpgraphy and Communications) 양자 중첩, 얽힘, 불확정성의 원리 등 양자 역학의 원리를 기반으로 암호용 키를 송, 수신부에 분배하고 암호화 통신을 진행하는 양자역학 기분 보안통신 기술
양자 키 분배(Quantum Key Distribution) -양자 통신을 위해 비밀키를 분배하여 관리하는 기술
-양자 키 분배는 키 분배를 위해 얽힘 상태 광자 또는 단일 광자를 이용
매시업 (MashUP) 웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
그레이웨어 (Grayware) 바이러스나 명백한 악성 코드를 포함하지 않는 합법적 프로그램이면서도 사용자를 귀찮게 하거나 위험한 상황에 빠뜨릴 수 있는 프로그램
- 정상 소프트웨어 이미지인 백색과 악성 소프트웨어 이미지인 흑색의 중간에 해당
디지털 트윈(Digital Twin) 현실속의 사물을 소프트웨어로 가상화한 모델, 현실속의 사물을 대신해 컴퓨터 등 가상세계에서 다양한 상황을 모의 실험하기 위한 용도로 사용하는 기술 
타조(Tajo) 하둡기반의 대용량 데이터를 SQL 형태의 명령을 통해 분산 분석 작업을 지원하는 대용량 데이터 웨어하우스
파스타 (Pass-ta) 국내 IT 서비스 경쟁력 강화를 목표로 개발
개방형 클라우드 컴퓨팅 플랫폼
텐서플로 (TensorFlow) 구글의 구글 브레인 팀이 제작하여 공개한 기계학습을 위한 오픈 소스 라이브러리
마이크로서비스 아키텍처 (MSA) 하나의 큰 시스템을 여러개의 작은 서비스로 나누어 변경과 조합이 가능하도록 만든 아키텍처
서비스 지향 아키텍처 (SOA) 서비스라고 정의되는 분할된 애플리케이션 조각들을 Loosely-Coupled 하게 연결해 하나의 완성된 애플리케이션을 구현하기 위한 아키텍처
가상현실 VR 컴퓨터 등을 사용한 인공적인 기술로 만들어낸 실제와 유사하지만 실제가 아닌 어떤 특정한 환경이나 상황, 기술자체 의미
증강현실 AR 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 기술
포스퀘어 (Foursquare) 위치 기반 소셜 네트워크 서비스, 특정 장소에 체크인을 할 수 있는 기술

8. HW 구축관리

클라우드 컴퓨팅 개념

- 클라우드 컴퓨팅은 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술

 

클라우드 서비스유형

유형 설명
IaaS (Intrastucture as a service) 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
PaaS (Platform as a service) 인프라를 생성, 관리하는 복잡함 없이 애플리 케이션을 개발, 실행, 관리 할 수 있게 하는 플랫폼을 제공하는 서비스
SaaS (Software as a service) 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등을 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스(주문형 소프트웨어)

클라우드 컴퓨팅 기술요소

컴퓨팅 가상화(하이퍼바이저)

스토리지 가상화(분산 파일 시스템) 

I/O 가상화(가상 네트워크 인터페이스 카드) 

컨테이너(도커)

분산처리기술

네트워크 가상화 기술(SDN, NFV)

 

오픈스택(OPEN Stack)

- 오픈 스택은 서버,스토리지, 네트워크와 같은 리소스들을 모으고, 이를 제어하고 운영하기 위한 플랫폼 

 

SDDC (Software-Defined Data Center)

- SDDC는 모든 하드웨어가 가상화되어 가상 자원의 풀(POOL)을 구성하고, 데이터센터 전체를 운영하는 소프트웨어가 필요한 기능 및 규모에 따라 동적으로 자원을 할당, 관리하는 역할을 수행하는 데이터 센터

- 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의

- 인력 개입 없이 소프트웨어 조작만으로 자동제어 관리

- 데이터 센터 내 모든 자원을 가상화하여 서비스

 

SDDC 구성요소 (CNS 프로비저닝)

구성요소 설명
SDC (Computing) 소프트웨어 정의 컴퓨팅 환경으로 서버의 CPU , 메모리에 대해서 소프트웨어 명령어 기반으로 제어할 수 있는 컴퓨터
SDN (Networking) 개방형 API 를 통해 네트워크의 트래픽 전달 동작을 소프트웨어 기반 컨트롤러에서 제어/관리하는 가상화 네트워크 기술
SDS (software Defined Strorage) 서버와 전통적인 스토리지 장치에 장착된 물리적 디스크 드라이브를 가상화 기술을 적용하여 필요한 공간만큼 나눠서 사용할 수 있도록 논리적인 스토리지로 통합한 가상화 기술
프로비저닝 SDDC 자원에 대한 할당관리 기술

 

인프라 관련 신기술 (가상화 관련 인프라 기술)

기술 설명
인터클라우드 컴퓨팅 (Intercloud Computing) 단일 클라우드를 넘어서 , 타 클라우드 서비스에서 필요한 자원을 가져다 서비스 하는 클라우드 내의 중첩 클라우드 서비스
메타 클라우드 (Meta Cloud) 클라우드 서비스를 위한 개발환경, 실행환경, 환경설정 등을 개발자의 요구 조건에 맞게 자유롭게 구성할 수 있도록 제시하는 통합 클라우드 시스템 모델
멀티 클라우드 (Multi Cloud) 2곳 이상의 클라우드 벤더가 제공하는 Public 클라우드를 조합하여 구성하는 클라우드 서비스 제공 모델
도커 (Docker) 하이퍼바이저(Hypervisor) 없이 리눅스 컨테이너 기술을 바탕으로 애플리케이션을 격리된 상태에서 실행하는 가상화 솔루션
하이퍼바이저(Hypervisor)  하나의 호스트 컴퓨터상에서 동시에 다수의 운영체제를 구동시킬 수 있는 HW 와 OS 사이의 SW 가성화 플랫폼
쿠버네티스 (Kubernetes) 리눅스 재단에 의해 관리되는 컨테이너화된 애플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템
서버리스 컴퓨팅 (Serverless Computing) MSA, Baas, Faas 등의 기술을 활용하여 서버가 없는 것과 같이 직접 해당 이벤트에 접근하여 처리하는 컴퓨팅 기술
3D  프린팅 CAD 프로그램으로 설계한 파일, 산업용 스캐너, 의료용 스캐너, 비디오 게임 등의 3차원 설계 데이터를 기반으로 실물모형을 만들어 내는 기술
4D 프린팅 인간의 개입 없이 특정 시간이나 환경이 갖춰지면 스스로 형태를 변경시킴
엔 스크린 (N screen) 하나의 멀티미디어 콘텐츠를 N 개의 기기에서 자유롭게 이용가능

스토리지 시스템

- 정보시스템 구축 및 운영을 위해서는 많은 저장 공간의 확보가 필요하며 이런 대용량 데이터를 저장하기 위한 장치가 스토리지 장치이다

 

DAS (Direct Attached Storage)

- 하드 디스크와 같은 데이터와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식으로 구성된 기술

- 저장장치와 호스트 기기 사이에는 네트워크 디바이스가 있지 말아야하고 직접 연결하는 방식으로 구성된 기술

- 장점: 주어진 데이터 전송 성능을 보장, 전용케이블 사용하여 안정성 우수
- 단점: 파일 시스템의 공유가 어렵고, 확장성/유연성의 부족하며 연결되는 서버의 수가 제한적

 

NAS (Network Attached Storge )

- 서버저장장치네트워크로 연결하는 방식으로 구성된 기술

- 구성 설정이 간편하여 별도의 운영 체제를 가진 서버 한 곳에서 파일을 관리하기 때문에 서버 간에 스토리지 및 파일 공유가 용이

- 저장 장치와 서버를 직접 연결하는 것이 아니라 네트워크를 통해 스토리지에 접속하고 파일 단위로 관리

- 장점: 이기종 간 파일 공유가 가능하고, 설치 및 관리가 용이

- 단점: 네트워크 대역폭을 잠식할 수 있고, OLTP  성능 저하 문제 발생이 가능하며, 채널 접속단계 증가로 장애 포인트 늘어남

 

SAN (Storage Area Nework)

- 서버와 스토리지를 저장 장치 전용 네트워크상호 구성하여 고가용성, 고성능, 융통성, 확장성을 보장하고 데이터를 블록 단위로 관리 하는 기술

- DAS 의 빠른 처리와 NAS  의 스토리지 공유 방식의 장점을 합친 방식으로

광케이블 및 광 채널 스위치를 통해 근거리 네트워크 환경을 구성하여 빠른속도로 데이터를 처리할 수 있다

 

백업

- 중요한 자산인 데이터를 예기치 않은 사고로 유발된 원본 데이터의 손상 및 분실로 부터 보호 하기 위해 특정 시점 기준으로 사본을 사전에 생성하는 절차 및 작업

- 테이프, 디스크, VTL, 가상화 백업

 

고가용성

- 두 개 이상의 시스템을 클러스터로 구성하여 하나의 시스템이 장애시 최소한의 서비스 중단을 위해 다른 시스템으로 신속하게 시스템 대체 작동(Fail Over)하는 기술이다

- Hot standby (상시 대기 방식) : 평상시에는 대기 상태를 유지하다가 장애시에 전환

- Mutual Take Over(상호인수) : 2개의 시스템이 각각의 고유한 가동 업무 서비스를 수행하다가 한 서버 장애 발생 시 상대 시스템의 자원을 (페일오버; 1선 시스템 장애시 2선 시스템이 기능을 넘겨받아 운용) 하여 동시에 2개의 업무를 수행하는방식

- Concurrent Access(동시접근) : 여러개의 시스템이 동시에 업무를 나누어 병렬처리하는 방식


9. DB 구축관리

빅데이터 기술

기술 설명
척와(Chukwa) 분산된 각 서버에서 에이전트를 실행하고, 컬렉터가 에이전트로 부터 데이터를 받아 HDFS에 저장
스쿱 커넥터를 사용하여 관계형 데이터베이스 시스템HDFS로 데이터를 수집
HDFS (하둡파일시스템) 대용량 파일을 분산된 서버에 저장하고, 그 저장된 데이터를 빠르게 처리할 수 있게 하는 하둡 파일 시스템
하둡✨ 오픈소스를 기반으로 한 분산 컴퓨터 플랫폼
-일반 PC 급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록개발된 자바 소프트웨어 프레임워크 구글, 야후등에 적용
맵리듀스 (Map Reduce) Google에서 대용량 데이터를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어
- 데이터 분류로 묶는 Mapping   작업수행 후 중복데이터를 제거하고 원하는 데이터를 추출하는 작업 수행
데이터 마이닝 (Data Mining) 빅데이터 분석 기술중 대량의 데이터를 분석하여 데이터 속에 잇는 변수 사이 상호관계를 규명하여 일정한 패턴을 찾아내는 기법
데이터 웨어하우스(DW) - 정보와 창고의 합성어
사용자의 의사 결정에 도움을 주기 위하여, 기간 시스템의 데이터베이스에 축적된 데이터를 공통 형식으로 변환해서 관리하는 데이터 베이스
데이터 마트 (DM) 데이터 웨어하우스 환경에서 정의된 접근 계층으로, 데이터 웨어하우스에서 데이터를 꺼내 사용자에게 제공하는 역할
데이터 웨어하우스의 부분이며, 대개 특정한 조직 혹은 팀에서 사용하는것을 목적으로함
메타 데이터 (Meta Data) 데이터에 대한 구조적인 데이터로서, 일련의 데이터를 정의하고 설명해주는 데이터이고, 구축할 정보 자원을 기술하는 데이터
디지털 아카이빙 (Digital Archiving) 지속적으로 보존할 가치를 가진 디지털 객체를 장기간 관리하여 이후의 이용을 보장 할 수 있도록 변환 압축저장하여 DB 화 하는 방법
마이 데이터  정보 주체가 기관으로부터 자기 정보를 직접 내려받아 이용하거나 제3자 제공을 허용하는방식으로 정보 주체중심의 데이터 활용 체계

10. 암호 알고리즘

암호알고리즘 주요 관련 용어

평문 (Plain/ PlainText) : 암호화 되기 전의 원본 메세지

암호문(Cipher/ Ciphertext) : 암호화가 적용된 메세지

암호화(Encrypt/ Encryption/ Encoding ) : 평문을 암호문으로 바꾸는 작업

복호화(Decrypt/ Decryption / Decoding) :  암호문을 평문으로 바꾸는 작업

키(Key) : 적절한 암호화를 위하여 사용하는 값

치환암호(대치암호) : 비트, 문자또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체하는 방법

전치암호 : 비트, 문자 또는 블록이 원래 의미를 감추도록 자리바꿈 등을 이용하여 재배열

 

양방향 방식

1. 대칭키 암호 방식(개인키) Private Key

- 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘

방식 설명
블록 암호 방식 긴 평문을 암호화 하기 위해 고정 길이의 블록을 암호화 하는 블록 암호 알고리즘을 반복하는 기법
DES : 56bit 의 키를 이용, 64bit 의 평문 블록을 64bit의 암호문 블록으로 만드는 블록 암호 방식의 미국 표준 암호화 알고리즘
- AES : 고급 암호화 표준이며 DES  를 대체한 알고리즘
- SEED : KISA, ETRI 개발하고 TTA에서 인증한 안전성, 신뢰성 우수한 고속 블록 단위의 128비트 대칭키 암호화 알고리즘
스트림 암호 방식 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식
- 비트, 바이트, 단어 들을 순차적으로 암호화
- RC4

2. 비대칭 키 암호 방식 (공개키) Public key

- 사전에 비밀키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식이다

- 비대칭 키 암호 방식에서는 공개키(Pubic Key)와 개인키(Private Key)가 존재하며, 공개키는 누구나 알 수 있지만, 그에 대응하는 개인키는 키의 소유자만 알 수 있어야 한다.

- 공개키는 보안 타협없이 공개적으로 배포가 가능
- 공개키로 암호화된 메시지는 반드시 개인 키로 복호화해야한다

- 비대칭 키 암호 방식에는 RSA , ECC , Elgamal,  디피-헬만

- RSA : 현재 비대칭 키 암호방식 중에서 가장 널리 쓰이고 있는 방식 , 소인 수 분해의 어려움을 이용한 방식

- 디피-헬만 : 암호 키를 교환하는 방법으로써 두사람이 암호화되지않은 통신망을 통해 공통의 비밀키를 공유

 

암호 알고리즘 비교

구분 대칭 키 암호 방식(private) 비대칭 키 암호 방식(public)
대칭키 (비밀키) 비대칭 키 (공개키)
키의 관계 암호화 키 = 복호화 키 암호화 키 != 복호화 키
키의 개수 n(n-1)/2

n: 사람
2n

n: 사람
암호 알고리즘 공개 공개
장점 계산 속도가 빠름
암호화 키 사전 공유 필요
암호화 키 사전 공유 불필요
관리해야할 키 개수가 적음
단점 키 분배 및 관리의 어려움
기밀성만 보장
계산 속도가 느림
알고리즘 DES, AES, SEED RSA, 디피-헬만

 

일방향 암호 방식(해시방식) = 단방향

- 임의 길이의 정보를 입력받아, 고정된 길이의 암호문(해시값)을 출력하는 암호 방식

- 해시 암호화 알고리즘에 적용된 정보는 복호화가 불가능하다

- 해시 함수의 경우 레인보우 테이블 공격에 취약할 수 있다

- 취약점을 극복하기 위해서 솔트 키를 추가하는 방법과 키 스트레칭 방법이 사용

- 솔트 키 (salt): 시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결괏값으로 저장되는데

솔드 키는 암호공격을 막기 위해 똑같은 패스워드들이 다른 암호값으로 저장되도록 추가되는 임의의 문자열 

- 키 스트레칭 : 해시값을 알아보지 못하도록 하기 위해서 원문의 해시값을 입력값으로 다시 그 해시값을 다시 입력값으로 n번 반복해서 적용하는 방법

 

일방향 암호 종류

종류 설명
MAC MAC 는 키를 사용하는 메세지 인증 코드 (Message Authentication Code)로 메시지의 무결성과 송신자의 인증보장
HMAC, NMAC
MDC MDC  는 키를 사용하지 않는 변경감지코드(Modification Detection Code)로 메시지의 무결성을 보장
MD5, SHA

 

대칭 키 암호화 알고리즘

종류 설명
DES (Data Encryption Standard) 1975년 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 알고리즘
-56bit 의 키를 이용, 64bit 의 평문 블록을 64bit의 암호문 블록으로 만드는 블록 암호 방식의 미국 표준 암호화 알고리즘
SEED 1999년 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘
-TTA에서 인증한 안전성, 신뢰성 우수한 고속 블록 단위의 128비트 대칭키 암호화 알고리즘
AES (Advance Encryption Standard) 2001년 미국 표준 기술 연구소에서 발표한 대칭 키 기반의 블록 암호화 알고리즘
- DES 의 성능문제를 극복하기위해 개발
ARIA 2004년 국가 정보원과 산학연구협회가 개발한 블록 암호화 알고리즘
IDEA (International Data Encryption Algorithm) DES 를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
LFSR( Linear Feedback Shift register) 선형 되먹임 시프트 레지스터는 시프트 레지스터의 일종

 

비대칭 키 암호화 알고리즘

종류 설명
디피-핼만 최초의 공개키 알고리즘으로 디피와 헬만이 1976년에 고안한 알고리즘으로서 유한 필드 내에서 이산대수의 계산이 어려운 문제를 기본 원리로 함
- 공개키 암호 방식의 개념을 이용하여 두 사용자 간에 공통의
암호화 키를 안전하게 공유할 방법을 제시하였
- 최초의 비밀키 교환 프로토콜
RSA (Rivest - Shamir - Adleman) MIT 수학교수가 고안한 큰 인수의 곱을 소인 수 분해하는 수학적 알고리즘 이용하는 공개키 암호화 알고리즘
ECC 유한체 위에서 정의된 타원곡선 군에서 이산대수 문제에 기초한 공개키 암호화 알고리즘
ElGamal 이산대수의 계산이 어려운 문제를 기본 원리로 하고 있으며, RSA  와 유사하게 전자서명과 데이터 암 / 복호화에 함께 사용 가능
DSA (Digital Signature Algorithm) 전자서명 알고리즘

해시 알고리즘

MD5, SHA-1, SHA-256/384/512 k, HAS-160, HAVAL

 

코드 오류 취약점 

널 포인터 역참조 , 정수를 문자로 변환 , 부적절한 자원 해제, 초기화되지않은 변수 사용

 

캡슐화 취약점

잘못된 세션에 의한 데이터 정보 노출, 제거되지 않고 남은 디버거 코드, 민감한 데이터를 가진 내부 클래스 사용, 시스템 데이터 정보노출

 

API 오용 취약점

DNS Lookup 에 의존한 보안 결정 ,  위험하다고 알려진 함수 사용, 널 매개변수 미검사


11. 서비스 공격유형

DoS(Denial of Service)

- 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

 

DoS 공격의 종류

공격기법 설명 대응방안
SYN 플러딩
(SYN Flooding)
-TCP 프로토콜의 구조적인 문제를 이용한 공격
-서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능 하게 하는 공격
-공격자는 ACK 를 발송하지 않고 계속 새로운 연결 요청을 하게 되어 서버는 자원할당을 해지하지않고 자원만 소비하여 자원이 고갈
- 존재하지 않은 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것 처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는것
TCP 연결 타임아웃을 짧게 가져가서 연결 요청 대기 시간을 줄임
UDP 플러딩 - 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지를 생성하게 하여 지속해서 자원을 고갈시키는 공격  
스머핑 (Smurfing)✨✨ -출발지 주소를 공격대상의 IP  로 설정하여 네트워크 전체에게 ICMP 패킷을 직접 브로드캐스팅 하여 마비시키는 공격
- 바운스 사이트라고 불리는 제 3의 사이트를 이용해 공격
증폭 네트워크로 사용되는 것을 막기 위해서 다른 네트워크로부터 자신의 네트워크로 들어오는 직접 브로드캐스트 패킷을 허용하지 않도록 라우터 설정
죽음의 핑 (Ping of Death) - ICMP 패킷(Ping)을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화 발생하고, 수신 측에서는 단편화 된 패킷을 처리하는과정에서 많은 부하가 발생
-재조합 버퍼의 오버플로가 발생하여 정상적인 서비스를 하지 못하도록 하는 기법 
패킷중 분할이 일어난 패킷을 공격으로 의심하여 탐지하도록 설정
랜드 어택 (Land Attack) - 출발지 IP 와 목적지 IP  를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법
(자신에게 무한히 응답 LOOP)
 
티어 드롭 (Tear Drop) - IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 DoS 공격
(패킷을 분할하고 넘겨줄때 일부로 잘못된 정보를 전송)
 
봉크/ 보잉크 프로토콜의 오류 제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발  
핑 플로드 (Ping Flood) 특정 사이트에 매우 많은 ICMP 를 보내면 이에 대한 응답을 하기 위해 시스템 자원을 모두 사용해버려 시스템이 정장적으로 동작하지 못하도록 하는 공격 방법  

 

DDoS(Distributed Dos)

- DoS 의 또다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법

- 분산 서비스 거부

DDos 공격 구성요소 설명
핸들러 (Handler) 마스터 시스템의 역할을 수행하는 프로그램
에이전트(Agent) 공격 대상에 직접 공격을 가하는 시스템
마스터(Master) 공격자에게서 직접 명령을 받는 시스템
여러대의 에이전트를 관리하는 역할
공격자(Attacker) 공격을 주도하는 해커의 컴퓨터
데몬 프로그램 에이전트 시스템의 역할을 수행하는 프로그램

DDoS 공격도구

Trinoo , Tribe Flood Network, Stacheldraht

 

 

보안 공격기법

공격기법 설명
피싱 (Phishing) - 소셜 네트워크에서 악의적인 사용자가 지인 또는 특정 유명인으로 가장하여 불특정 다수의 정보를 탈취
스피어 피싱 (Spear Phishing) - 사회 공학의 한기법으로, 인간 상화 작용의 깊은 신뢰를 바탕으로 특정 대상을 선정한 후 메일의 링크나 파일을 클릭하게 유도한뒤 개인정보를 탈취
큐싱(Qshing) - 큐알 코드와 피싱의 합성어
- 개인정보 및 금융정보를 탈취
스미싱 (Smishing) - SMS 와 피싱의 합성어
- SMS에 링크를 거든 등 문자메세지를 이용해 개인정보를 빼냄
애드웨어(adware) - 특정 소프트웨어를 실행할 때 또는 설치 후 자동적으로 광고가 표시되는 시스템
웜 (Worm) - 스스로 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
악성 봇 (Malicious Bot)  - 스스로 실행되지 못하고, 해커의 명령에 의해 원격에서 제어 또는 실행
- 사용자들에게 잘 알려진 좀비 PC 는 악성 봇에 의해 감염
봇넷 (Botnet) 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터 들이 네트워크로 연결된 형태
랜섬웨어 (Ransomware) - 개인과 기업, 국가적으로 큰 위협이 되고 있는 주요 사이버 범죄중 하나로 snake, Darkside 등 시스템을 잠그거나 데이터를 암호화해 사용할 수 없도록 하고 이를 인질로 금전을 요구하는데 사용되는 악성 프로그램
제로 데이 공격 (Zero Day Attack) - 보안 취약점이 발견되었을 때 발견된 취약점의 존재 자체가 널리 공표되기도 전에 해당 취약점을 통하여 이루어지는 공격
키 로거 공격 (Key Logger Attack) - 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 중 개인의 중요한 정보를 몰래 빼가는 해킹 공격
트로이목마(Trojan Horse) - 악성 루틴이 숨어 있는 프로그램으로 겉보기엔 정상 적인 프로그램으로 보이지만 실행하면 악성 코드를 실행
좀비 PC - 악성 코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터

 

인증 기술의 유형

유형 설명 예시
지식기반 인증 사용자가 기억하고 있는 지식 ID/패스워드
소지기반 인증 소지하고 있는 사용자 물품 공인인증서, OTP
생체기반 인증 고유한 사용자의 생체 정보 홍채,정맥,얼굴,지문
특징기반 인증 사용자의 특징을 활용 서명, 발걸음, 몸짓

인증 솔루션의 유형

유형 설명
SSO (single sign On) - 시스템이 몇대가 되어도 하나의 시스템에서 인증에 성공하면 다른 시스템에 대한 접근 권한도 얻는 시스템
IAM (Identify Access Management) - 조직이 필요로 하는 보안정책을 수립하고 정책에 따라 자동으로 사용자의 계정과 권한을 관리하는 솔루션
EAM (Extra Access Management) - 통합인증과 권한부여, 조직 내 자원 관리, 보안 정책 수립을 단일한 방식으로 제공하는 솔루션

서버 접근 통제 유형

정책 DAC
임의적 접근 통제
MAC
강제적 접근 통제
RBAC
( Role Based Access Control)
역할기반 접근통제
권한 부여 데이터소유자 시스템 중앙관리자
접근결정 신분 보안등급 역할
정책 변경 변경용이 고정적 변경용이
장점 구현용이
유연함
안정적
중앙 집중적
관리 용이

 

접근 통제 보호 모델

모델 설명
벨-라파둘라 모델 기밀성을 강조하여 강제적 정책에 의해 접근을 통제
- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
- No read Up , No write Down
비바 모델 벨-라파둘라 모델의 단점을 보완한 무결성을 보장하는 최초의 모댈
- No Read Down ,  No write Up
클락-윌슨 모델 무결성 중심의 상업용 모델로 설계된 모델
만리장성 모델 충돌을 일으키는 어떠한 정보의 흐름도 차단해야 한다는 모델로 이익 충돌 회피를 위한 모델
728x90