IT Memory Note

[정보처리기사] 소프트웨어 개발 보안 구축 : 소프트웨어 개발 보안 구현(3) 본문

자격증/정보처리기사

[정보처리기사] 소프트웨어 개발 보안 구축 : 소프트웨어 개발 보안 구현(3)

h00ddu 2024. 8. 29. 23:03

 

3️⃣ SW 개발 보안 테스트와 결함 관리

 


(1) 소프트웨어 개발 보안 테스트의 개념

 

  • 소프트웨어 보안 요구사항이 반영되어 있음을 보증하고, 취약점을 발견하고 개선하여 안전한 소프트웨어를 개발하기 위한 활동

 

(2) 소프트웨어 개발 보안 테스트의 유형

 

구분 설명 특징
정적 분석 SW를 실행하지 않고 보안 약점을 분석
 SW 개발 단계에서 주로 사용
취약점 초기 발견으로 수정 비용 절감
컴포넌트 간 발생할 수 있는 통합된 취약점 발견에 제한적
설계•구조 관점의 취약점은 식별 가능

동적 분석 SW 실행 환경에서 보안 약점 분석
SW 시험 단계에서 주로 사용
 소스 코드가 필요 없음
 정확도와 커버리지 향상
 구조 관점의 보안 약점은 식별 불가

 


 

4️⃣ 비즈니스 연속성 계획(BCP, Business Continuity Plan)

 


(1) 비즈니스 연속성 계획의 개념

 

  • 각종 재해, 장애, 재난으로부터 위기관리를 기반으로 재해 복구, 업무 복구 및 재개, 비상 계획 등을 통해 비즈니스 연속성을 보장하는 체계
  • 비즈니스 연속성 계획을 위한 비즈니스 영향 평가(BIA)가 선행되어야 함

 

(2) 비즈니스 연속성 계획 관련 주요 용어

 

주요 용어 설명
BIA
(Business Impact Analysis)
장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
RTO
(Recovery Time Objective)
업무 중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간
 재해 시 복구 목표 시간의 선정
RPO
(Recovery Point Objective)
 업무 중단 시점부터 데이터가 복구되어 다시 정상 가동될 때 데이터의 손실 허용 시점
 재해 시 복구 목표 지점의 선정
DRP
(Disaster Recovery Plan)
재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
DRS
(Disaster Recovery System)
재해 복구 계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리 체계가 통합도니 재해 복구 센터

 

< DRS의 유형 >

유형 설명
Mirror Site  주 센터와 데이터 복구 센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해 복구 센터
재해 발생 시 복구까지의 소요 시간(RTO)은 즉시(이론적으로 0)
Hot Site 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해 복구 센터
재해 발생 시 복구까지의 소요 시간(RTO)은 4시간 이내
Warm Site Hot Site와 유사하나 재해 복구 센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 재해 복구 센터에 보유하고 있는 센터
데이터 백업 주기가 수 시간 ~ 1일
재해 발생 시 복구까지의 소요 시간(RTO)은 수일 ~ 수주

Cold Site 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구할 수 있는 재해 복구 센터
재해 발생 시 복구까지의 소요 시간(RTO)은 수주 ~ 수개월
구축 비용이 저렴하나 복구 소요 시간(RTO)이 길고 신뢰성이 낮음

 


 

5️⃣ 보안 용어

 

 


(1) 보안 공격 관련 용어

 

주요 용어 설명
부 채널 공격
(Side Cannel Attack)
암호화 알고리즘의 실행 시기의 전력 소비, 전자기파 방사 등의 물리적 특성을 측정하여 암호키 등 내부 비밀 정보를 부 채널에서 획득하는 공격 기법
드라이브 바이 다운로드
(Drive By Download)
악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격 기법
워터링홀
(Watering Hole)
특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에서 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격 기법
비즈니스 스캠
(SCAM)
기업 이메일 계정을 도용하여 무역 거래 대금을 가로채는 사이버 범죄
하트 블리드
(Heart Bleed)
OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있도록 하는 취약점
크라임웨어
(Crimeware)
중요한 금융 정보 또는 인증 정보를 탈취하거나 유출을 유도하여 금전적인 이익 등의 범죄 행위를 목적으로 하는 악성코드
토르 네트워크
(Tor Network)
네트워크 경로를 알 수 없도록 암호화 기법을 사용하여 데이터를 전송하며, 익명으로 인터넷을 사용할 수 있는 가상 네트워크
MITM 공격
(Man In The Middle)
네트워크 통신을 조작하여 통신 내용을 도청 및 조작하는 공격 기법
통신을 연결하는 두 사람 사이 중간에 침입하여 두 사람의 정보를 탈취하는 중간자 공격
DNS 스푸핑 공격
(Spofing)
공격 대상에게 전달되는 DNS 응답(IP 주소)을 조작하거나 DNS 서버의 캐시(Cache) 정보를 조작하여 희생자가 의도하지 않은 주소로 접속하게 만드는 공격 기법
DNS 캐시 포이즈닝(Cache Poisoning)이라고도 함
포트 스캐닝
(Port Scanning)
공격자가 침입 전 대상 호스트에 어떤 포트(서비스)가 활성화되어 있는지 확인하는 기법으로 침입 전 취약점을 분석하기 위한 사전 작업
디렉토리 리스팅
(Directory Listing)
취약점
웹 애플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화되어 있을 경우, 공격자가 강제 브라우징을 통해서 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점
리버스 쉘 공격
(Reverse Shell)
타깃 서버가 클라이언트(공격자)로 접속해서 클라이언트가 타깃 서버의 쉘을 획득해서 공격하는 기법
익스플로잇
(Exploit)
소프트웨어나 하드웨어의 버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드 또는 그러한 행위
스턱스넷 공격
(Stuxnet)
독일 지멘스사의 SCADA 시스템을 공격 목표로 제작된 악성코드로 원자력, 전기, 철강, 반도체, 화학 등 주요 산업 기반 시설의 제어 시스템에 침투해서 오작동을 일으키는 악성코드 공격 기법
크리덴셜 스터핑
(Credential Stuffing)
사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹 사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법
스피어 피싱
(Spear Phishing)
사회공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도하여 사용자의 개인정보 탈취하는 공격 기법
스미싱
(Smishing)
SMS(문자 메시지)와 피싱(Phising)의 합성어
문자 메시지를 이용하여 신뢰할 있는 사람 또는 기업이 보낸 것처럼 가장하여 개인 비밀 정보를 요구하거나 휴대폰 소액 결제를 유도하는 피싱 공격(사이버 사기)
큐싱
(Qshing)
큐알 코드(QR 코드)와 피싱(Phising)의 합성어
스마트폰을 이용하여 금융 업무를 처리하는 사용자에게 인증 등이 필요한 것처럼 속여 QR 코드(Quick Response Code)를 통해 악성 앱을 내려받도록 유도, 금용 정보 등을 빼내는 피싱 공격(사이버 사기)
 최근 제로페이 확산에 따라 피해 증가

봇넷
(Botnet)
악성 프로그램에 감염되어 악의적인 의도롤 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
APT 공격
(Advanced
Persistent Threat)
특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격 기법
특수 목적의 조직이 하나의 표적에 대해 다양한 IT 기술을 이용하여, 지속적으로 정보를 수집하고, 취약점을 분석하여 피해를 주는 공격 기법
공급망 공격
(Supply Chain
Attack)
소프트웨어 개발사의 네트워크에 침투하여 소스 코드의 수정 등을 통해 악의적인 코드를 삽입하거나 배포 서버에 접근하여 악의적인 파일로 변경하는 방식을 통해 사용자 PC에 소프트웨어를 설치 또는 업데이트 시에 자동적으로 감염되도록 하는 공격 기법
제로데이 공격
(Zero Day Attack)
보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격 기법
공격의 신속성을 의미하는 것으로, 일반적으로 컴퓨터에서 취약점이 발견되면 제작자나 개발자가 취약점을 보완하는 패치를 배포하고 사용자가 이를 다운받아 대처하지만, 제로데이 공격은 대응책이 공표되기도 전에 공격이 이루어지기 때문에 대처 방법이 없음
바이러스
(Virus)
사용자 컴퓨터(네트워크로 공유된 컴퓨터 포함) 내에서 프로그램이나 실행 가능한 부분을 변형해서 감염(Infect)시키는 프로그램
자신 또는 자신의 변형을 복사하는 프로그램으로 가장 큰 특성은 다른 네트워크의 컴퓨터로 스스로 전파되지는 않음

(Worm)
스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
컴퓨터 바이러스와 비슷하지만, 바이러스가 다른 실행 프로그램에 기생하여 실행되는데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않은 특징이 있음
악성 봇
(Malicious Bot)
스스로 실행되지 못하고, 해커의 명령에 의해 원격에서 제어 또는 실행 가능한 프로그램 혹은 코드
주로 취약점이나 백도어 등을 이용하여 전파되며, 스팸 메일 전송이나 DDoS 등에 악용
사용자들에게 잘 알려진 '좀비 PC'는 악성 봇에 의해 감염된 PC

랜섬웨어
(Ransomware)
악성코드의 한 종류로 감염된 시스템의 파일들(문서, 사진, 동영상 등)을 암호화하여 복호화할 수 없도록 하고, 피해자로 하여금 암호화된 파일을 인질처럼 잡고 몸 값을 요구하는 악성 소프트웨어
현금이나 비트코인 등을 받고 복호화해주는 범죄 행위에 이용되고 있음
이블 트윈
(Evil Twin) 공격
무선 WIFI 피싱 기법으로 공격자는 합법적인 WIFI 제공자처럼 행세하며 노트북이나 휴대전화로 핫스팟에 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격 기법
타이포스쿼팅
(Typosquatting)
네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 일로, URL 하이재킹이라고도 부름
사회공학
(Social Engineering)
사람들의 심리와 행동 양식을 교묘하게 이용해서 원하는 정보를 얻는 공격 기법
예 : 상대방의 자만심이나 권한을 이용하는 공격 및 도청

 


 

(2) 주요 시스템 보안 공격 기법

 

공격 기법 설명
포맷 스트링 공격
(Format String Attack)
포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격으로 외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생하는 취약점 공격 기법
printf(argv[1]) 등 포맷 스트링(서식 문자열)을 인자로 하는 함수 사용 시 포맷 스트링을 지정하지 않고 사용자 입력값을 통해 (argv[1]) 포맷 스트링이 지정된다면 공격자는 이를 조작하여 메모리 내용을 참조하거나 특정 영역의 값을 변경 가능
레이스 컨디션 공격
(Race Condition Attack)
둘 이상의 프로세스나 스레드가 공유 자원을 동시에 접근할 때 접근 순서에 따라 비정상적인(원하지 않는) 결과가 발생하는 조건/상황
실행되는 프로세스가 임시 파일을 만드는 경우 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼어들어 임시 파일을 심볼릭 링크하여 악의적인 행위를 수행하게 하는 공격 기법
키 로거 공격
(Key Logger Attack) 
컴퓨터 사용자의 키보드 움직임을 탐지해서 저장하고, ID나 패스워드, 계좌번호, 카드 번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격
키보드 활동을 기록하는 것을 키 로깅 또는 키스트로크 로깅이라함
루트킷
(Rootkit)
시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음

 


 

(3) 보안 공격 대응 관련 용어

 

⓵ 보안 체계 및 모델

 

공격 기법 설명
CC
(Common Criteria)
정보기술의 보안 기능과 보증에 대한 평가 기준(등급), 정보보호 시스템의 보안 기능 요구사항과 보증 요구사항 평가를 위해 공통으로 제공되는 국제 평가 기준
ISMS(Information Security Management System) 조직의 주요 정보 자산을 보호하기 위하여 정보보호 관리 절차와 과정을 체계적으로 수립하여 지속적으로 관리하고 운영하기 위한 종합적인 체계 
PIMS(Personal Information Management System) 기업이 개인정보보호 활동을 체계적•지속적으로 수행하기 위해 필요한 보호 조치 체계를 구축했는지 여부를 점검, 평가하여 기업에게 부여하는 인증 제도
PIA(Privacy Impact
Assessment)
개인정보를 활용하는 새로운 정보시스템의 도입이나 개인정보 취급이 수반되는 기존 정보시스템의 중대한 변경 시, 동 시스템의 구축•운영•변경 등이 프라이버시에 미치는 영향에 대하여 사전에 조사 및 예측, 검토하여 개선 방안을 도출하는 체계적인 절차
사이버 킬 체인
(Cyber Kill Chain)
록히드 마틴의 사이버 킬 체인은 공격형 방위 시스템으로 지능적, 지속적 사이버 공격에 대해 7단계 프로세스별 공격 분석 및 대응을 체계화한 APT 공격 방어 분석 모델

 


⓶ 취약점 식별

 

용어 설명
OWASP Top 10 웹 애플리케이션 취약점 중 공격 빈도가 높으며, 보안상 큰 영향을 줄 수 있는 10가지 취약점에 대한 대응방안을 제공하는 웹 보안 기술 가이드
CVE(Common
Vulnerabilites
and Exposures)
미국 비영리회사인 MITER 사에서 공개적으로 알려진 소프트웨어의 보안 취약점을 표준화한 식별자 목록
규칙 : CVE-(연도)-(순서)
CWE(Common
Weakness
Enumeration)
미국 비영리회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록으로, 소스 코드 취약점을 정의한 DB
 소프트웨어 약점은 SDLC 과정에서 발생할 수 있기 때문에 설계, 아키텍처, 코드 단계 등에 대한 취약점 목록을 포함

 


⓷ 기술 및 시스템

 

용어 설명
핑거 프린팅
(Finger Printing)
멀티미디어 콘텐츠에 저작권 정보와 구매한 사용자 정보를 삽입하여 콘텐츠 불법 배포자에 대한 위치 추적이 가능한 기술(저작권 정보 구매자 정보)
워터 마킹
(Water Marking)
디지털 콘텐츠에 저작권자 정보를 삽입하여, 불법 복제 시 워터 마크를 추출, 원소유자를 증명할 수 있는 콘텐츠 보호 기술
트러스트존
(Trustzone)
프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM 사에서 개발한 보안 기술로 프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술
장착형 인증 모듈
(PAM, Pluggable
Authentication Module)
리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리
허니팟
(Honeypot)
비정상적인 접근을 탐지하기 위해 의도적으로 설치해둔 시스템으로 일부러 허술하게 만들어서 해커에게 노출하는 유인 시스템
이상금융거래 탐지 시스템(FDS, Fraud Detection System) 전자금융거래에 사용되는 단말기 정보, 접속 정보, 거래 정보 등을 종합적으로 분석하여 의심 거래를 탐지하고, 이상 거래를 차단하는 시스템
사이버 위협정보 분석 공유 시스템(C-TAS, Cyber Threats
Analysis System)
사이버 위협정보를 체계적 수립해서 인터넷진흥원(KISA) 주관으로 관계 기관과 자동화된 정보 공유를 할 수 있는 침해 예방 대응 시스템
TKIP(Temporal
Key Integrity Protocol)
 임시 키 무결성 프로토콜
IEEE 802.11i의 암호화 방식을 초기 WIFI 장비에서 널리 사용되었던 안전하지 않은 WEP(Wired Equivalent Privacy) 암호화 표준을 대체하기 위한 암호 프로토콜