인생이 쓰다!인생쓰

공부/정보처리기사

정보처리기사 실기 8일차 (소프트웨어 개발 보안 구축)

Johnal 2021. 4. 2. 10:03
반응형

 

*정리는 2020시나공 문제집을 참고했습니다.*

 

소프트웨어 개발의 비용 산정 기법

 

소프트웨어 비용 산정은 소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것입니다.

 

하향식 비용 산정 기법

과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법입니다.

 

* 종류 *

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

델파이 기법 - 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법

 

상향식 비용 산정 기법

프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법입니다.

 

* 종류 *

LOC(원시 코드 라인 수 ) 

소프트 웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법입니다.

 

산정공식 - 

노력(인월) = 개발 기간 X 투입 인원 = LOC/ 1인당 월평균 생산 코드 라인 수 

개발 비용 = 노력(인월) X 단위 비용 (1인당 월평균 인건비) 

개발 기간 = 노력(인월) / 투입 인원 

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

 

개발 단계별 인월수 기법 

LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정합니다.

 

서비스 거부 공격

 

표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써, 표적이 되는 서버의 정상적인 기능을 방해하는 것입니다.

 

서비스 거부 공격의 유형

 

Ping of Death 

ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용범위이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법

 

Smurfing(스머핑)

IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법입니다.

 

SYN Flooding 

TCP는 신뢰성 있는 전송을 위해 3-way-handshake 를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상자인 서버거 대기상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격방법입니다.

 

LAND

패킷을 전송할 때 송신 IP 주소와 수신 IP주소를 모두 공격대상의 IP주소로 하여 공격대상에게 전송하는 것으로, 이 패킷을 받은 공격대상은 송신 IP주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격

 

DDOS

여러 곳에 분산된 공격지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 에이전트로 만든 후 DDOS 공격에 이용함

 

 

네트워크 침해 공격 관련 용어

 

스미싱(Smishing)

각종 행사 안내, 경품 안내 등의 문자 메시지를 이용해 사용자의 개인 신용 정보를 빼내는 수법

 

스피어 피싱(Spear Phishing)

사회 공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도해 사용자의 개인 정보를 탈취합니다.

 

APT(Advanced Persistent Threats, 지능형 지속 위협)

다양한 IT기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격

 

무작위 대입공격 ( Brute Force Attack)

암호화된 문서의 암호키를 찾아내기 위해 적용 가능한 모든 값을 대입하여 공격하는 방식

 

큐싱( Qshing)

QR코드를 통해 악성 앱의 다운로드를 유도하거나 악성 프로그램을 설치하도록 하는 금융사기 기법의 하나로, QR코드와 개인정보 및 금융정보를 낚는다는 의미의 합성 신조어

 

SQL Injection (삽입) 공격 

전문 스캐너 프로그램 혹은 봇넷 등을 이용해 웹사이트를 무차별적으로 공격하는 과정에서 취약한 사이트가 발견되면 데이터 베이스 등의 데이터를 조작하는 일련의 공격 방식

 

정보 보안 침해 공격 관련 용어

 

좀비PC

악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터로, C&C 서버의 제어를 받아 주로 DDOS 공격 등에 이용됨

 

C&C서버

해커가 원격지에서 감염된 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한용도로 사용하는 서버를 말함

 

봇넷(Botnet)

악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태를 말함

 

웜(Worm)

네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종으로, 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 한형태입니다.

 

제로 데이 공격(Zero Day Attack) 

보안 취약점이 발견되었을 때 발견된 취약점의 존재 자체가 널리 공표되기도 전에 해당 취약점을 통하여 이루어지는 보안 공격으로, 공격의 신속성을 의미함

 

키로거 공격 (Key Logger Attack)

컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 , 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격

 

랜섬웨어 (Ransomware)

인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 함

 

백도어 (Back Door)

시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자(Programmer)의 액세스 편의를 위해 시스템 보안을 제거하여 만들어 놓은 비밀 통로로, 컴퓨터 범죄에 악용되기도 합니다.

 

*백도어 탐지기법* 

무결성 검사, 로그 분석, SetUID 파일 검사

 

트로이 목마(Trojan Horse)

정상적인 기능을 하는 프로그램으로 위장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 것으로, 자기 복제 능력은 없음 

 

소프트웨어 개발 보안

소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다.

소프트웨어 개발 보안은 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 합니다.

 

소프트웨어 개발 보안 관련 기관

행정안전부 : 소프트웨어 개발 보안 정책을 총괄한다.

한국 인터넷진흥원(KISA) : 소프트웨어 개발 보안 정책 및 가이드를 개발한다.

발주 기관 : 소프트웨어 개발 보안의 계획을 수립한다.

사업자 : 소프트웨어 개발 보안 관련 기술 수준 및 적용 계획을 명시한다.

감리법인 : 감리 계획을 수립하고 협의한다.

 

 보안 활동 관련 법령

개인정보 보호법 - 개인정보의 처리 및 보호에 관한 사항을 정함으로써 개인의 자유와 권리를 보호함

 

정보 통신망 이용촉진 및 정보보호 등에 관한 법률 - 정보 통신망의 이용 촉진 및 정보통신 서비스를 이용하는 이용자들의 개인정보 보호

 

신용정보의 이용 및 보호에 관한 법률 - 개인 신용정보의 효율적 이용과 체계적인 관리를 통해 정보의 오남용을 방지합니다.

 

위치정보의 보호 및 이용등에 관한법률 - 개인 위치정보의 안전한 이용 환경을 조성하여 정보의 유출이나 오남용을 방지

 

표준 개인정보 보호 지침 - 개인정보의 처리에 관한 기준, 개인정보 침해의 유형 및 예방 조치 등에 관한 세부사항을 규정합니다.

 

개인정보의 안전성 확보 조치 기준 -

처리자가 개인정보를 분실,도난,유출,위조 등 되지 않도록 안전성 확보에 필요한 기술적, 관리적, 물리적 안존조치에 관한 최소한의 기준을 규정함

 

개인 정보 영향평가에 관한 고시 - 개인정보 영향평가를 위한 평가기관의 지정, 영향평가의 절차 등에 관한 세부기준을 규정한다.

 

 

Secure SDLC

 

보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미한다.

 

SDLC(Software Development Life Cycle, 소프트 웨어 개발 생명주기)

소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 전 과정을 각 단계별로 나눈 것

 

요구사항 분석 단계 보안 항목에 해당하는 요구사항을 식별하는 작업을 수행합니다.
설계 단계 식별된 보안 요구사항들을 소프트웨어 설계서에 반영하고 ,보안 설계서를 작성한다.
구현 단계 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하며,
설계서에 따라 보안 요구 사항들을 구현한다.

*시큐어 코딩*
소프트웨어의 구현 단계에서 발생할 수 있는 보안 취약점들을 최소화 하기 위해 보안 요소들을 고려하며 코딩하는것
테스트 단계 설계 단계에서 작성한 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검한다.
유지 보수 단계 이전 과정을 모두 수행하였음에도 발생할 수 있는 보안 사고들을 식별하고,
사고 발생 시 이를 해결하고 보안 패치를 실시한다.

 

728x90
반응형