정보처리기사
SW 비용 산정 기법
- 하향식
- 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화
- 종류: 전문가 감정 기법, 델파이 기법
- 상향식
- 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정
- 종류
- LOC(원시 코드 라인 수, source Line of Code)
-각 기능의 원시 코드 라인 수의 비관치(1), 낙관치(1), 기대치(4)를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정
- 수학적 산정
- 종류
- COCOMO: LOC(원시 코드 라인 수)에 의한 비용 산정 기법
- 종류:
조직형 Organic: 5만 라인 이하
반 분리형 Semi-Detached: 30만 라인 이하
내장형 Embedded: 30만 라인 이상
- Putnam: 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
- SLIM: Rayleigh-Nordan 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
- 기능점수(FP): 소프트웨어의 기능을 증대시키는 요인별로 기능 점수(FP)를 구한 후, 비용을 산정
Dos(Denial of Service)
- 정의: 대량의 데이터를 보내어 타깃 시스템이 정상적인 서비스를 하지 못하도록 마비시키는 공격(가용성 저하)
- 종류
- Ping Of Death: 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화된 패킷을 처리하게 만드는 공격
- Smurf: IP를 위조하여 ICMP 받을 대상에 과부하
- Land Attack: Packet의 보내는 사람과 받는 사람을 동일하게 설정
- Teardrop Attack: Fragment를 재조립 시 정확한 조립을 위해 오프셋이라는 값을 더하게 되는데 이 오프셋 값을 고의적으로 수정하여 시스템의 기능을 마비시켜 버리는 방법
DDoS (Distributed Denial of Service)
- 정의: 서비스 중단을 목적으로 표적 서버, 서비스 또는 네트워크에 인터넷 트래픽을 대량으로 보내려고 시도하는 악의적인 사이버 공격의 형태(가용성 저하)
- 종류
- SYN Flooding: 접속을 요청하는 SYN Packet을 대량으로 전송해 네트워크를 마비 시킴
- UDP Flooding: 많은 수의 UDP packet을 전송하여 정상적인 서비스가 불가능하도록 하는 공격
- Ping Flooding: 많은 ICMP Echo를 보내 이에 대한 응답을 하기 위해 자원을 모두 사용해버려 시스템이 정상적으로 동작하지 못하도록 하는 공격
- 도구
- Trinoo : UDP flood 공격을 유발하는 데 사용되는 도구
- TFN(Tribe Flood Network) : Trinoo와 거의 유사한 분산 도구로 UDP flood 공격 이외의 다양한 공격도 수행 가능
- Stacheldraht: Linux 및 Solaris 시스템용 멀웨어 도구
ISO/IEC 9126: 소프트웨어 품질 특성과 척도에 관한 표준 지침
- 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성ISO/IEC 12119: 소프트웨어 품질 특성과 척도 + 테스트에 관한 표준 지침
- CMM, CMMi, SPICE: 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준
소프트웨어 프로세스에 대한 개선 및 능력 측정 기준
- CMMi(5)
- 레벨 1, Initial 초기: 소프트웨어 개발 프로세스는 거의 없는 상태
- 레벨 2, Managed 관리: 기본적인 프로세스 구축에 의해 프로젝트가 관리되고 있는 조직
- 레벨 3, Defined 정의: 세부 표준 프로세스가 있어 프로젝트가 통제되는 조직
- 레벨 4, Quantitatively Managed 정량적 관리: 소프트웨어 프로세스와 품질에 대한 정량적인 측정이 가능
- 레벨 5, Optimizing 최적화: 조직적으로 최적화된 프로세스를 적용하여 다시 피드백을 받아 개선하는 상위 단계
- SPICE(6)
- 레벨 0, Incomplete: 특정한 프로세스의 작업이 목표 달성에 실패하는 경우가 많음
- 레벨 1, Performed: 프로세스 작업 목표는 일정 수준 달성하나, 철저한 계획이 되어있지 않을 수 있음
- 레벨 2, Managed: 프로세스가 정해진 절차에 따라 이루어져 산출물을 내며 모든 작업이 계획되고 추적
- 레벨 3, Established: 정의된 프로세스가 표준화되어 있고 문서화되어 있음
- 레벨 4, Predictable: 프로세스 능력을 정량적으로 이해할 수 있고 수행을 예측하고 정량적으로 관리할 수 있음
- 레벨 5, Optimizing, 프로세스가 최적화되어 있어 현재 프로젝트만이 아니라 미래에 수행될 프로세스에 대하여도 목표를 잘 만족시킬 수 있음
소프트웨어 생명 주기
- 폭포수 모형 (Waterfall Model)
- 계획 → 분석 → 설계 → 구현 → 테스트 → 유지보수
- 이전 단계로 돌아갈 수 없다는 전제
- 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 함
- 나선형 모델
- 계획 및 정의 → 위험 분석 → 공학적 개발 → 고객 평가
- 프로토타입 모형(Prototype Model, 원형 모델)
- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
- RAD 기법 모델
- 짧은 개발 기간동안 개발하기위한 순차적 프로세스 모델
- V 모델
- 단위 테스트 → 통합 테스트 → 시스템 테스트 → 인수 테스트
- 작업 결과의 검증(테스트)에 초점
- 4세대 기법
- 자동화 도구들을 이용하여 요구사항 명세서로부터 실행코드를 자동으로 생성할 수 있게 해주는 방법
Hadoop
- 대규모 데이터 세트를 분산 처리할 수 있는 오픈 소스 프레임워크
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지 형성
- MapReduce: 분산처리엔진 역할을 하는 하둡의 중심 모듈
암호화
- 단방향(Hash): MD ▶ SHA, HAVAL
- 양방향
- 대칭키
- 빠른 속도
- 많은 양
- 키 개수: n*(n-1)/2
- 종류
- Stream: RC4
- Block: DES ▶ AES, IDEA, SEED, ARIA
- 비대칭키(공개키)
- 느린 속도
- 적은 양 ◀ 내용보다는 키를 암호화하는 방식으로 사용
- 키 개수: 2*n
- 종류
- 소인수분해: RSA, Robin
- 이산대수: DH, DSA, EIGmal
- 타원곡선: ECC, ECDSA
- 대칭키
Routing Protocol
- 정적: 관리자가 직접 라우터에 경로 설정
- 동적: 라우터가 직접 경로 설정
- EGP: 외부 게이트웨이 프로토콜
- BGP: Board Gateway Protocol
- IGP: 내부 게이트웨이 프로토콜
- Distance Vector
- RIP: Routing Information Protocol
- 인접한 라우터간 일정 시간마다 상태 공유
- 최대 홉수 15로 제한
- RIP: Routing Information Protocol
- Link State
- OSPF: Open Shortest Path First
- 변경된 데이터가 있을 때마다 상태 공유
- 가장 많이 사용되는 내부 라우팅 프로토콜
- 홉 수 제한 X
- OSPF: Open Shortest Path First
- Distance Vector
정보보안 3요소
- 기밀성: 인가된 사용자만 접근
- 무결성: 인가된 사용자만 인가된 방법으로 자원 수정
- 가용성: 인가된 사용자는 언제든지 접근 가능
Ransomware: 컴퓨터 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어
Pharming: 피싱 기법 중 하나로, 정확한 웹 페이지 주소를 입력해도 가짜 웹 페이지에 접속하게 하여 개인정보를 훔치는 것
Phishing: 공격자가 사람들을 속여 사기에 빠지도록 고안된 악성 이메일을 보내는 것
XSS(Cross Site Scripting): 악의적인 스크립트를 포함하여 정보 유출 등의 공격을 하는 것
참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2020년 2회차 실기 (0) | 2023.08.27 |
---|---|
[정보처리기사] 2020년 1회차 실기 (0) | 2023.08.25 |
[정보처리기사] 2020년 1회차 (4)프로그래밍 언어 활용 (0) | 2023.07.19 |
[정보처리기사] 2020년 1회차 (3)데이터베이스 설계 (0) | 2023.07.19 |
[정보처리기사] 2020년 1회차 (2)소프트웨어 개발 (0) | 2023.07.18 |