잡담/정처기

정보처리기사 필기 2022년 04월 24일 기출(5과목 : 데이터베이스 구축)

xego 2023. 5. 11. 13:41

# 정보보안 3요소

- 기밀성 : 인가되지 않은 사용자로부터 정보공개 혹은 노출을 차단하는 특성

- 무결성 : 정당한 방법을 따르지 않고 데이터가 변경되지 않음을 보장하는 특성

- 가용성 : 권한을 가진 사용자가 원하는 서비스를 지속해서 사용할수 있도록 보장하는 특성

- wrapper = 실제 데이터의 앞에서 어떤 틀을 잡아주는 데이터 or 다른 프로그램이 성공적으로 실행되도록 설정

- TCP/IP 통신에서 TCP는 3-way handshake를 통해 통신이 원활히 이뤄질 수 있는지를 확인.

근거리로 가면 Zing 하고 소리남

- BcN(Broadband Convergence Network) : 다양한 통신기술과 서비스를 하나의 망에서 통합관리(안정적,높은대역폭)

- Zing : 전자기기에서 소리가 울리면서 동시에 진동한다.

- Marine Navi : 해상에서 사용되는 네비게이션 서비스로 선박의 위치,항로,지형 등의 정보를 제공한다.

- C-V2X : 차량,인프라,통신을 위한 셀룰러 통신기술(차량안전, 교통효율성, 자율주행 등)

 

서버 관리실 출입통제는 물리보안.

# 응용 프로그램 취약점 관리

- 패치 관리 : 응용프로그램에 대한 패치 또는 서비스팩 적용

- 응용 프로그램 실행권한의 제한 필요

- 운영체제의 접근 제한

- 정보 수집 제한

- 불필요한 서비스 및 악성 프로그램의 확인 및 제거

- 시스템 무결성 검사 : 주요 파일을 검사하여 변경 내역 확인

 

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

- 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화 하여 제공해주는 반제품 형태

- 프레임워크 : 이미 정해진 코드를 호출해 사용하고 자체적인 흐름을 가짐

  > 모듈화 : 프레임 워크는 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화

  > 재사용성 : 재사용 가능한 모듈을 제공함으로 예산 절감, 생산성 향상, 품질 보증

  > 확장성 : 다형성을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 필요

  > 제어의 역흐름 : 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성 향상

- 라이브러리 : 사용자 코드에서 호출해 사용하고 그에 대한 제어를 할 수 있다.

 

하드웨어적으로 구현함.

- HSM : 암호화 관련 전체 과정을 내부적으로 안전하면서 빠르게 수행하는 하드웨어 장치(USB형태의 보안토큰)

 

- VLAN : 네트워크를 논리적으로 분할하여 여러개읭 가상 네트워크 생성

- simple station network : 단순한 구성의 네트워크, 한대의 컴퓨터가 다른컴퓨터와 직결되어 있는 형태

- Mesh Network : 각 노드가 서로 연결되어 있는 분산형 네트워크. 중앙 집중식 구조에 비해 안전성과 확장성이 높다.

- Modem Network : 다양한 디바이스를 모뎀을 통해 연결하여 네트워크 형성.

 

방화벽 설정은 기술적 위협

- Worm : 다른 컴퓨터의 취약점을 이용하여 스스로 전파, 메일로 전파되며 스스로 증식

- Rogure Ware : 가짜백신소프트웨어

- Adware : 특정 소프트웨어를 실행, 자동으로 활성화 되는 광고프로그램.

- Reflection Attack : 반사공격. 송신자가 보낸 메시지를 탈취하여 공격자가 송신자에게 재전송하여 접근권한 탈취.

DDos는 IP를 Spoofing하여 ICMP를 폭주시키는 방식

- Session Hijacking : 세션 가로채기. 컴퓨터의 시스템의 정보나 서비스에 공격자가 피공격자의 로그인 정보를 탈취.

- Piggback Attack : 피그백 공격. 사용자가 비사용(비활성)기간을 이용하여 엑세스 접근. 간선(회선)공격이라고 불림.

- XSS(크로스 사이트 스크립팅) : 웹사이트에 악성 스크립트를 주입하는 행위.

 

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

- 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화 하여 제공해주는 반제품 형태

- 프레임워크 : 이미 정해진 코드를 호출해 사용하고 자체적인 흐름을 가짐

- 라이브러리 : 사용자 코드에서 호출해 사용하고 그에 대한 제어를 할 수 있다.

- 컨테이너 아키텍처 : 소프트웨어를 실행하는데 필요한 모든요소(코드, 라이브러리, 환경설정) 등을 제공

- 어휘 분석기 : 자연어 처리를 위해 문장을 구성하는 단어나 어절을 분석하여 형태소나 품사등의 정보를 추출

 

폭포수 모형

- 애자일 방법론 : 고객의 요구사항 변화에 유연하게 대응할수 있도록 일정 주기를 반복하며 개발과정을 진행하는 방법론

소규모 프로젝트, 급변하는 요구사항에 적합

- 폭포수 모형 : 개발 프로세스를 요구사항분석, 설계, 구현, 테스트, 유지보수의 단계로 구분.

각 단계를 순차적으로 진행하는 전통적인 소프트웨어 개발 방법, 각 단계의 결과를 완전히 확인 후 다음 단계 진행.

 

# 대칭 암호 알고리즘(DES,AES,SEED,RC4,IDEA)

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

  - 키 교환이 필요하기 때문에 키가 탈취될 수 있는 문제가 있다.

  - 실행 속도가 빠름. 

# 비대칭 암호 알고리즘(디피-헬만, RSA)

  - 사전에 비밀키를 나눠가지지 않은 사용자들이 안전하게 통신하는 암호 알고리즘

  - 비대칭 키와 비밀 키가 존재. 

  - 실행 속도가 느리다

 

# 비용 산정 기법

- 하향식 비용 산정 기법 : 과거 경험을 바탕으로 회의를 통한 비용을 산정하는 비과학적인 방법(전문가, 델파이 기법)

- 상향식 비용 산정 기법 : 프로젝트의 세부적인 작업 단위별로 비용을 산정 후 전체 비용을 산정하는 방법

> LOC(원시 코드 라인 수) 방법 : 

- 프로그램의 라인 수를 평가하여 비용을 산정하는 방법(비관치, 낙관치, 기대치를 측정해 예측치를 구함.)

- 예측치 = {낙관치+(4 * 기대치) + 비관치} / 6

- 생산성 = LOC / 노력(인월)  

 

> COCOMO(Constructive Cost Model) 방법 : 

- 보헴(boehm)이 제시한 원시 프로그램 규모에 의한 비용 예측 모형

- 소프트웨어의 종류에 따라 다르게 책정되는 비용 신장 방정식

- 같은 규모의 프로그램이여도 그 성격에 따라 비용이 다르게 산정됨

- 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용

- 비용 산정 결과는 프로젝트를 완성하는데 필요한(Man-Month)로 나타냄

- 개발할 소프트웨어 규모(LOC)를 예측 한 후 이를 소프트웨어 종류에 따라 책정되는 비용산정방정식에 대입

    

> COCOMO 소프트웨어 프로젝트 모드(개발 유형)

- 복잡도, 원시 프로그램의 규모에 따라 조직형, 반분리형, 내장형으로 분류

- Organic Mode(조직형) : 중,소규모의 소프트웨어(사무,업무용). 50KDSI라인 이하의 소프트웨어를 개발

- Semi-Detached Mode(반분리형) : 조직형과 내장형의 중간(운영체제,데이터베이스 관리). 30KDSI 이하

- Embedded Mod(내장형) : 최대형 규모(트랜잭션 처리시스템, 운영체제). 30KDSI 이상

 

> COCOMO 모형의 종류(기본형, 중간형, 발전형)

- Basic(기본형) : 생산라인코드, 개발 유형만을 이용하여 산정하는 모형

- Intermediate(중간형) : 기본형을 토대. 여러가지 다른 요인에 의해 비용을 산정하는 모형

- Detailed(발전형) : 중간형을 보완. 개발 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용을 산정하는 모형

- 인적비용(COST) = MM * 1인당 월 평균 급여

> Putnam 모형 : 생명주기 예측 모형. 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선을 기초로함

> SLIM 모형 : Putnam + Rayleigh-Norden 곡선을 기초. 자동화 추정 도구

> FP(Function Point) 기능점수 모형 : Albercht가 제안. 기능증대의 요인을 가중치. 요인별 가중치를 합산하여 총 기능 점수를 산출. 총 기능 점수와 영향도를 이용하여 기능점수(FP)를 구한후 이를 이용하여 비용을 산정하는 기법

 

# 접근통제 3요소

- 접근통제 정책

  > DAC(Discretionary Access Control) : 데이터 소유자가 접근권한을 지정하고 제어

  > MAC(Mandatory Access Control) :  시스템이 접근통제 권한을 지정

  > RBAC(Role Based Access Control) : 사용자의 역할에 따라 접근권한, 중앙관리자가 권한지정, 다중환경에 최적화

- 접근통제 기술

  > 신분기반 정책 : 신분에 근거하여 접근을 제한(IBP: 단일주체-하나객체 최소권한정책, GBP: 복수주체-하나객체)

  > 규칙기반 정책 : 권한에 근거하여 접근 제한(MLP: 객채별 기밀분류에 따른 정책, CBP: 집단별 기밀 허가 정책)

  > 역할기반 정책 :  GBP의 변형된 정책(주체의 역할에 근거하여 객체 접근)

- 접근통제 보안모델

  > 기밀성 : 군사적 목적으로 개발된 최초의 수학적 모델.

  > 무결성 : 기밀성 모델에서 발생하는 불법적 정보변경을 방지하기 위해 개발된 모델

  > 접근통제 : 임의적인 접근통제를 관리하기 위한 보안모델. 주채와 객체의 권한 유형

 

럼바우 기법

> COCOMO 소프트웨어 프로젝트 모드(개발 유형)

- 복잡도, 원시 프로그램의 규모에 따라 조직형, 반분리형, 내장형으로 분류

- Organic Mode(조직형) : 중,소규모의 소프트웨어(사무,업무용). 50KDSI라인 이하의 소프트웨어를 개발

- Semi-Detached Mode(반분리형) : 조직형과 내장형의 중간(운영체제,데이터베이스 관리). 30KDSI 이하

- Embedded Mod(내장형) : 최대형 규모(트랜잭션 처리시스템, 운영체제). 30KDSI 이상

 

* 럼바우 분석 기법

- Ojbect(객체 모델링) : 시스템의 정적 구조 표현(속성과 연산식별, 객체간의 관계를 규정)

- Dynamic(동적 모델링) : 동적 행위(객체들 간의 제어 흐름, 상호 작용, 동작 순서 등)

- Functional(기능 모델링) : 데이터 값의 변화 표현(자료흐름도(DFD)를 이용하여 다수 자료 흐름을 중심으로 처리)

 

- 지식 : 본인이 알고있는것 (Passwd, PIN)

- 소유 : 본인이 가지고 있는것(Tokken, 스마트카드)

- 존재 : 본인을 나타내는 것(홍채, 지문)

- 행위 : 본인이 하는 것(서명,음성)

 

- Aging : 사용자의 계정의 유효기간을 설정

- Accounting : 시스템 자원 사용 기록을 수집하고 분석

- Authorization : 권한부여, 사용자나 프로세스에 대한 접근 권한을 결정하고 부여

- Authentication : 사용자나 디바이스의 신원을 확인하고 인증

 

- SDN(Software Defined Networking) : 네트워크의 데이터 흐름과 제어를 분리하여 네트워크 제어

- NFS(Network File System) : 분산환경에서 파일 공유를 위해 사용되는 Client-Server 모델의 파일시스템

- Network Mapper : 네트워크상의 보안을 위해 분석하는 보안도구(Port Scanning)를 통해 취약점 도출

- AOE Network(Activity On Edge Network) : Ethernet Protocol을 사용하는 디스크 저장장치. 이더넷 케이블을 이용하여 Server-Storge를 연결함으로써 스토리지 공간을 확장함.

 

막대도표, 시간선, 수평막대길이가 작업의 기간=GANTT // 상호관련,결정경로,경계시간,자원할당 = PERT

@ 프로젝트 일정 계획

- 프로세스를 이루는 소작업을 파악하고 예측된 노력을 각  소작업에 분배하여 소작업의 순서와 일정을 정하는것

- 프로젝트 일정 계획에 사용되는 기능 : WBS, PERT/CPM, GANTT 차트

# PERT :

- 전체 작업의 상호 관계를 표시하는 네트워크(낙관적,가능성,비관적은 경우로 단계를 나누어 종료를 결정)

- 개발 경험이 없어 소요기간 예측이 어려운 프로젝트 일정 계획에 사용

- 노드와 간선으로 구성되며 원 노드에는 작업, 간선에는 낙관치/기대치/비관치를 표시

- 결정 경로, 작업에 대한 경계시간, 작업 간의 상호 관련성등을 알수 있음

  > 작업 예측치 계산 공식 : 작업예측치 = (비관치 + 4*기대치 + 낙관치) /6, 방향편차 = {(비관치-낙관치)/6}*2 

# CPM : 

- 작업을 나열하고 작업에 필요한 소요 기간을 예측하는데 사용하는 기법

- 노드(작업)와 간선(작업사이 전후 의존관계)로 구성된 네트워크

- 원형 노드는 각각의 작업을 의미하며, 작업 이름과 소요 기간을 표시

- 박스 노드는 이정표를 의미하며, 이정표 이름과 예상 완료시간을 표시

- 간선을 나타내는 화살표의 흐름에 따라 각 작업이 진행되며, 전 작업이 완료되어야 다음 작업을 진행할 수 있음

# GANTT 차트 : 

- 프로젝트 작업 일정을 막대 도표로 이용하여 표시하는 프로젝트 일정표

- 시간선 차트

- 중간 목표 미달성 시 그 이유와 기간을 예측 할 수 있게 함

- 사용자와 문제점이나 예산 초과 지출 등도 관리할수 있게 함

- 자원배치와 인원 계획에 유용하게 사용

- 이정표, 작업 일정, 작업 기간, 산출물로 구성

- 수평 막대의 길이는 각 작업의 기간을 나타냄