하향식 비용 산정 기법
과 상향식 비용 산정 기법
이 있음.프로젝트 요소
자원 요소
생산성 요소
하향식 비용 산정 기법
: 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법.전문가 감정 기법
: 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법델파이 기법
: 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법상향식 비용 산정 기법
: 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법.예측치
= (a + 4m + b) / 6 # 단, a: 낙관치, b: 비관치, m: 기대치(중간치)노력(인월)
= 개발 기간 X 투입 인원 = LOC / 1인당 월평균 생산 코드 라인 수개발 비용
= 노력(인월) X 단위 비용(1인당 월평균 인건비)개발 기간
= 노력(인월) / 투입 인원생산성
= LOC / 노력(인월)생명 주기 예측 모형
이라고도 함.기능 점수(Function Point) 모형은 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 산출하며 총 기능 점수와 영향도를 이용하여 기능 점수(FP)
를 구한 후 이를 이용해서 비용을 산정하는 기법
최근에 그 유용성과 간편성으로 비용 산정 기법 가운데 최선의 평가를 받고 있음.
COCOMO나 Putnam 모형은 LOC를 중심으로 비용을 산정하는데 반해, 기능 점수 모형은 FP를 이용하여 비용을 산정함.
SLIM
: Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구ESTIMACS
: 다양한 프로젝트와 개인별 요소를 수용하도록 FP모형을 기초로 하여 개발된 자동화 추정 도구ISO/IEC 12207
은 ISO(International Organization for Standardization, 국제표준화기구)에서 만든 표준 소프트웨어 생명 주기 프로세스
로, 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공CMMI(능력 성숙도 통합 모델)
는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델
CMMI의 소프트웨어 프로세스 성숙도 구분
초기(Initial)
- 정의된 프로세스 없음 : 작업자 능력에 따라 성공 여부 결정관리(Managed)
- 규칙화된 프로세스 : 특정한 프로젝트 내의 프로세스 정의 및 수행정의(Defined)
- 표준화된 프로세스 : 조직의 표준 프로세스를 활용하여 업무 수행정량적 관리(Quantitatively Managed)
- 예측 가능한 프로세스 : 프로젝트를 정량적으로 관리 및 통제최적화(Optimizing)
- 지속적 개선 프로세스 : 프로세스 역량 향상을 위해 지속적인 프로세스 개선SPICE(소프트웨어 처리 개선 및 능력 평가 기준)
는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로, 공식 명칭은 ISO/IEC 15504
목적
SPICE는 5개의 프로세스 범주와 40개의 세부 프로세스로 구성됨.
SPICE는 프로세스 수행 능력 단계를 불완전, 수행, 관리, 확립, 예측, 최적화의 6단계로 구분
불완전(Incomplete)
수행(Performed)
관리(Managed)
확립(Established)
예측(Predictable)
최적화(Optimizing)
소프트웨어 개발 방법론 테일러링
은 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 보완하는 작업프레임워크(Framework)
: 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템
프레임워크의 주요 기능에는 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등
스프링 프레임워크
전자정부 프레임워크
닷넷 프레임워크(.NET Framework)
네트워크는 각 사이트들이 분포되어 있는 지리적 범위에 따라 LAN과 WAN으로 분류
근거리 통신망(LAN
; Local Area Network)
광대역 통신망(WAN
; Wide Area Network)
스위치
는 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치로, OSI 7계층의 Layer에 따라 L2, L3, L4, L7 으로 분류됨.L2 스위치
MAC 주소를 기반
으로 프레임을 전송
함.L3 스위치
라우터 기능
이 추가된 것으로, IP 주소를 기반
으로 패킷을 전송
함.L4 스위치
로드밸런서
가 달린 L3 스위치로, IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공함.L7 스위치
백본(Backbone)
이라 하고, 백본에서 스위칭 역할을 하는 장비를 백본 스위치
라고 함.경로 제어
: 송·수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능최적 패킷 교환 경로
: 어느 한 경로에 데이터의 양이 집중하는 것을 피하면서, 최저의 비용으로 최단 시간에 송신할 수 있는 경로를 의미경로 제어표(Routing Table)
를 참조해서 이루어지며, 라우터
에 의해 수행됨.IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
BGP(Border Gateway Protocol)
트래픽 제어
: 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능흐름 제어, 폭주(혼합) 제어, 교착상태 방지 기법
이 있음.정지-대기(Stop-and-Wait)
슬라이딩 윈도우(Sliding Window)
느린 시작(Slow Start)
혼잡 회피(Congestion Avoidance)
교착 상태
: 교환기 내의 패킷들을 축적하는 기억 공간이 꽉 차 있을 때 다음 패킷들이 기억 공간에 들어가기 위해 무한정 기다리는 현상복잡 이벤트 처리(CEP)
는 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)
을 유지하는 것을 목표로 함.멤스(MEMS; Micro-Electro Mechanical Systems): 멤스는 초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터(Actuator) 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작 할 수 있도록 한 초미세 장치
트러스트존 기술(TrustZone Technology): ARM에서 개발한 기술로, 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역(Normal World)과 보안이 필요한 애플리케이션을 처리하는 보안 구역(Secure World)으로 분할하여 관리하는 하드웨어 기반의 보안 기술
엠디스크(M-DISC, Millennial DISC): 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장 장치
멤리스터(Memristor): 메모리와 레지스터의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자
Secure OS
: 기존의 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제를 의미TCB를 기반으로 참조 모니터의 개념을 구현하고 집행
함.TCB(Trusted Computing Base)
: OS, 하드웨어, 소프트웨어, 펌웨어 등 컴퓨터 시스템 내의 모든 장치가 보안 정책을 따르도록 설계한 보호 매커니즘암호적 분리(Cryptographic Separation)
: 내부 정보를 암호화하는 방법논리적 분리(Logical Separation)
: 프로세스의 논리적 구역을 지정하여 구역을 벗어나는 행위를 제한하는 방법시간적 분리(Temporal Separation)
: 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법물리적 분리(Physical Separation)
: 사용자별로 특정 장비만 사용하도록 제한하는 방법참조 모니터
는 보호대상의 객체에 대한 접근통제를 수행하는 추상머신이며, 이것을 실제로 구현한 것이 보안 커널임.식별 및 인증
임의적 접근통제
강제적 접근통제
객체 재사용 보호
완전한 조정
신뢰 경로
감사 및 감사기록 축소
회복
: 트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업회복 관리기 (Recovery Management)
Secure SDLC
: 보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미세션
은 서버와 클라이언트의 연결을 의미. 세션 통제
는 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것.SQL 삽입
경로 조작 및 자원 삽입
크로스 사이트 스크립팅(XSS)
운영체제 명령어 삽입
위험한 형식 파일 업로드
신뢰되지 않는 URL 주소로 자동접속 연결
보안 기능
: 소프트웨어 개발의 구현 단계에서 코딩하는 기능인 인증, 접근제어, 기밀성, 암호화 등을 올바르게 구현하기 위한 보안 점검 항목들적절한 인증 없이 중요기능 허용
부적절한 인가
중요한 자원에 대한 잘못된 권한 설정
취약한 암호화 알고리즘 사용
중요정보 평문 저장 및 전송
하드코드된 비밀번호
ICMP Ping 메시지가 전송되지 못하도록 방화벽에서 차단
하는 기술이 개발됨.송신 주소를 공격 대상자의 IP 주소로 위장
하고 해당 네트워크 라우터의 브로드캐스트 주소를 수신지
로 하여 패킷을 전송하면, 라우터의 브로드캐스트 주소로 수신된 패킷은 해당 네트워크 내의 모든 컴퓨터로 전송된다.각 네트워크 라우터에서 브로드캐스트 주소를 사용할 수 없게 미리 설정
해 놓는 것.수신지의 'SYN' 수신 대기 시간을 줄이거나 침입 차단 시스템을 활용
Fragment Offset이 잘못된 경우 해당 패킷을 폐기하도록 설정
송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로
하여 공격 대상에게 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격송신 IP 주소와 수신 IP 주소의 적절성을 검사
여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것
분산 서비스 공격용 툴: 에이전트(Agent)의 역할을 수행하도록 설계된 프로그램으로 데몬(Daemon)이라고 부름.
스미싱(Smishing)
스피어 피싱(Spear Phishing)
APT(Advanced Persistent Threats, 지능형 지속 위협)
무작위 대입 공격(Brute Force Attack)
큐싱(Qshing)
SQL 삽입(Injection) 공격
크로스 사이트 스크립팅(XSS; Cross Site Scripting)
파밍(Pharming)
좀비(Zombie) PC
C&C 서버
봇넷(Botnet)
웜(Worm)
제로 데이 공격(Zero Day Attack)
키로거 공격(Key Logger Attack)
랜섬웨어(Ransomeware)
백도어(Back Door, Trap Door)
트로이 목마(Trojan Horse)
보안 서버
: 인터넷을 통해 개인정보를 암호화하여 송·수신할 수 있는 기능을 갖춘 서버- 행위 기반 인증
- 위치 기반 인증
ISO 27001
(p. 813)
(p. 814)
침입 탐지 시스템
은 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템침입 탐지 시스템의 위치
DMZ
는 외부 인터넷에 서비스를 제공하는 서버가 위치하는 네트워크로, 강력한 외부 공격이나 내부 공격으로부터 중요 데이터를 보호하거나 서버의 서비스 중단을 방지할 수 있음.침입 방지 시스템
은 방화벽과 침입 탐지 시스템을 결합한 것데이터 유출 방지
는 내부 정보의 외부 유출을 방지하는 보안 솔루션웹 방화벽
은 일반 방화벽이 탐지하지 못하는 SQL 삽입 공격, Cross-Site Scripting(XSS) 등의 웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽NAC
은 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안 솔루션ESM
은 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션