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

[정보처리기사] 2022년 2회차 (5)정보시스템 구축관리

by HJ0216 2023. 7. 7.

정보처리기사

정보보안 3요소

- 기밀성: 인가된 사용자만 접근
- 무결성: 인가된 사용자만 자원 수정, 전송중인 정보는 수정 불가
- 가용성: 인가된 사용자는 언제든지 접근 가능

 

취약점 관리 3요소

- 관리: 보안 지침 관련
- 기술: 서버, 네트워크, OS 관련
- 물리: 출입 통제 관련

 

용어

라이브러리: 함수들의 집합
API(Application Programming Interface): 컴포넌트를 활용하기 위한 규약
프레임워크
    - 응용프로그램이나 소프트웨어 구현을 수월하게 하기 위해 제공된 소프트웨어 환경
    - IoC: 제어의 흐름이 일반적인 프로그램과 반대로 동작

 

악성코드 유형

- Worm: 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 스스로 증식하는 것
- Adware: 사용자의 컴퓨터에 원하지 않는 광고를 표시하는 모든 응용프로그램

 

Dos(Denial of Service)

- 정의: 대량의 데이터를 보내어 타깃 시스템이 정상적인 서비스를 하지 못하도록 마비시키는 공격
- 종류
    - Ping Of Death: 대량의 Ping을 전송해 네트워크를 마비시킴
    - Land Attack: Packet의 보내는 사람과 받는 사람을 동일하게 설정
    - Smurf: IP와 ICMP 특성을 이용하여 문제 발생 시, 해당 사용자에게 보고하지 못하도록 공격
    - Teardrop Attack: 재조립 시 정확한 조립을 위해 오프셋이라는 값을 더하게 되는데 이 오프셋 값을 고의적으로 수정하여 시스템의 기능을 마비시켜 버리는 방법

 

DDoS (Distributed Denial of Service)

- 정의: 서비스 중단을 목적으로 표적 서버, 서비스 또는 네트워크에 인터넷 트래픽을 대량으로 보내려고 시도하는 악의적인 사이버 공격의 형태
- 종류
    - SYN Flooding: 접속을 요청하는 SYN Packet을 대량으로 전송해 네트워크를 마비 시킴
    - UDP Flooding: 많은 수의 UDP packet을 전송하여 정상적인 서비스가 불가능하도록 하는 공격

 

애자일 방법론

: 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행

- eXtreme Programming: 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
    - 5가지 핵심 가치: 의사소통, 피드백, 존중, 용기, 단순성
    - 12가지 기본 원리
        - 짝 프로그래밍 Pair programming
        - 공동 코드 소유 Collective Ownership: 시스템에 있는 코드는 누구든지 언제라도 수정 가능
        - 지속적인 통합 Continuous Integration(CI): 매일 여러 번씩 소프트웨어를 통합하고 빌드
        - 계획 세우기 Planning Process
        - 작은 릴리즈 Small Release: 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트
        - 메타포어 Metaphor: 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 함
        - 간단한 디자인 Simple Design: 현재의 요구사항에 적합한 가장 단순한 시스템을 설계
        - 테스트 기반 개발 Test Driven Development(TDD): 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 코드를 작성
        - 리팩토링 Refactoring: 프로그램의 기능을 바꾸지 않으면서 중복 제거, 단순화 등을 위해 시스템을 재구성
        - 40시간 작업 40-Hour Work
        - 고객 상주 On Site Customer
        - 코드 표준 Coding Standard
- Scrum: 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 개발 방법론
- 테스트 주도 개발(Test Driven Development, TDD): 테스트 케이스를 먼저 작성하고 이를 통과하는 코드를 개발
- LEAN: 낭비 요소를 제거하여 품질을 향상

 

소프트웨어 생명 주기

폭포수 모형 (Waterfall Model)
    - 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭 짓고 다음 단계를 진행
    - 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 함
프로토타입 모형(Prototype Model, 원형 모델)
    - 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
나선형 모델
    - 계획 및 정의 → 위험 분석 → 공학적 개발 → 고객 평가

 

암호화

Encryption_key

- 양방향 알고리즘 : 암호화, 복호화 가능
- 단방향 알고리즘 : 암화화 가능, 복호화 불가

- 대칭키 방식: 암호화, 복호화시 모두 동일한 키를 사용
    - 빠른 속도
    - 많은 양
- 비대칭키(공개키)방식: 암호화 복호화에 서로 다른 키를 사용
    - 느린 속도
    - 적은 양

 

SW 비용 산정 기법

- 하향식
    - 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화
    - 종류: 전문가 감정 기법, 델파이 기법
- 상향식
    - 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정
    - 종류
        - LOC(원시 코드 라인 수, source Line of Code)
            -각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정
- 수학적 산정
    - 경험적 추정 모형, 실험적 추정 모형
    - 종류
        - COCOMO: LOC(원시 코드 라인 수)에 의한 비용 산정 기법
            - 종류: 조직형(5만 라인 이하), 반 분리형(30만 라인 이하), 내장형(30만 라인 이상)
        - Putnam: 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상
            - 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
            - SLIM: Rayleigh-Nordan 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
        - 기능점수(FP): 소프트웨어의 기능을 증대시키는 요인별로 기능 점수(FP)를 구한 후, 비용을 산정

 

3A

Authentication, 인증: 신원 검증
Authorization, 인가: 권한 허가
Accounting, 계정 관리: 사용자의 자원 사용 정보

 

프로젝트 일정 관리

PERT 차트
- 전체 작업의 상호 관계를 표시하는 네트워크
- 소요 기간 예측이 어려운 프로젝트 일정 계획에 사용

간트 차트(시간선 차트)
- 각 작업들의 시작과 종료에 대한 일정을 막대 도표를 이용하여 표시
- 수평 막대 길이 = 각 작업 기간

CPM(Critical Path Method)
- 처음부터 끝까지 프로젝트를 완수하는데 드는 시간을 측정하고 가장 긴 의존 활동을 식별

 

TCP Wrapper: 외부 컴퓨터 접속 시, 인가 여부를 점검해서 인가된 경우에는 접속 허용, 반대의 경우 접급 거부할 수 있는 접근제어 유틸리티
Zing: 초고속 근접무선통신(근접 거리, 기가급 속도 데이터 전송) 기술
HSM(Cloud-based HardWare Security Module): 클라우드 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기

 

 

 

참고 자료

 

흥달쌤

흥달쌤과 함께하는 IT 채널입니다. 정보처리기사 자격증 관련된 강의 및 실무 노하우, 프로그래밍 언어(JAVA, C언어, Python) 특강 등이 진행됩니다. 앞으로 진행 예정인 동영상은 IT 관련된 이야기

www.youtube.com

 

DoS & DDoS 공격의 개념 및 종류

이번 시간에는 네트워크 공격 중 하나인 DoS 및 DDoS 공격의 개념 및 종류에 대해서 알아보도록 하겠습니다. 1. DoS (Denial of Service) 시스템이나 네트워크의 구조적인 취약점을 이용하거나 대량의 데

ja-gamma.tistory.com

 

암호화 양방향, 단방향, 공개키(비댕칭키), 비공개키(대칭키) 개념/분류 알고리즘 정리

암호화 양방향, 단방향, 대칭키(비공개키), 비대칭키(공개키) 개념/분류 알고리즘 정리양방향 단방향 알고리즘우선, 가장먼저 분류되는 방식은 양방향, 단방향 알고리즘이다. 간단하게 말해서

javaplant.tistory.com

 

[정보처리기사] 비용 산정 기법

개발에 소요되는 인원, 자원, 기간 등으로 소프트웨어의 규모를 확인하여 개발 계획 수립에 필요한 비용을 산정하는 것소프트웨어 비용을 너무 높게 산정할 경우 예산 낭비와 일의 효율성 저하

velog.io

 

[정보처리기사 5과목] 소프트웨어 개발 방법론 활용 (2)

[정보처리기사 5과목 필기 예상 키워드] 목록으로 돌아가기 과목: 5. 정보시스템 구축 관리 챕터: 1장 소프트웨어 개발 방법론 활용(2) 키워드: 소프트웨어 개발 방법론 #애자일 방법론 / #소프트웨

y-oni.tistory.com