[정보처리기사 실기] 9장 소프트웨어 개발 보안 구축
정보처리기사 수제비 2022 실기 문제집을 요약하며 공부했습니다! 😁
9-1.소프트웨어 개발 보안 구축
9-1-1. 소프트웨어 개발 보안 설계
📌 SW 개발 보안 3대 요소 및 보안 용어
- ✏️ 3대 요소
- 기밀성(Confidentiality): 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
- 무결성(Integrity): 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 안전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
- 가용성(Availability): 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성
- ✏️ 보안 용어
- 자산(Assets): 가치를 부여한 대상
- 위협(Threat): 악영향을 끼칠 수 있는 사건이나 행위
- 취약점(Vulnerability): 위협이 발생하기 위한 사전 조건
- 위험(Risk): 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
📌 DoS 공격
- DoS(Denial of Service): 시스템을 악의적으로 공격해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격
- SYN 플러딩: 서버의 동시 가용 사용자수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격
- UDP 플러딩: 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속해서 자원을 고갈시키는 공격
- 스머프/스머핑: 출발지 주소를 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo패킷을 직접 브로드 캐스팅하여 마비시키는 공격
- 죽음의 핑: ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하여 다수의 IP 단편화 및 재조합에서 많은 부하를 발생시켜 정상적인 서비스를 못하도록 하는 공격
- 랜드 어택: 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보내 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격
- 티어 드롭: IP 패킷의 재조합 과정에서 잘못된 정보로 인해 수신 시스템이 문제를 발생하도록 만드는 공격 = 헤더 조작
- 봉크/보잉크: 프로토콜의 오류 제어를 이용한 공격 기법. 봉크(같은 시퀀스 번호를 계속 보냄), 보잉크(일정 간격으로 시퀀스 번호에 빈 공간 생성)
📌 DDoS 공격
- DDoS(Distributed DoS): 여러대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법
✏️ 공격 구성요소
- 핸들러: 마스터 시스템의 역할을 수행하는 프로그램
- 에이전트: 공격 대상에 직접 공격을 가하는 시스템
- 마스터: 공격자에게 직접 명령을 받는 시스템. 여러대의 에이전트를 관리
- 공격자: 공격을 주도하는 해커의 컴퓨터
- 데몬 프로그램: 에이전트 시스템의 역할을 수행하는 프로그램
✏️ 공격 도구
- Trinoo: 많은 소스로부터 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구
- Tribe Flood Network(TFN): 많은 소스에서 하나 혹은 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행할 수 있는 도구
- Stacheldraht: 분산 서비스 거부 에이전트 역할을 하는 Linux 및 Solaris 시스템용 멀웨어 도구
📌 DRDoS 공격
- DRDoS(Distributed Reflection DoS): 공격자는 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로부터 다량의 응답을 받아서 서비스 거부가 되는 공격
📌 세션 하이재킹
- TCP 세션 관리 취약점을 이용한 공격 기법
- Victim과 Server 사이의 패킷을 스니핑하여 시퀀스 넘버를 획득하고, 공격자는 데이터 전송중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만들고, 스니핑하여 획득한 시퀀스 넘버를 이용해 공격하는 방법 -> 비동기화 상태 탐지 필요
📌 애플리케이션 공격
- HTTP GET 플러딩: 과도한 Get 메시지를 이용하여 웹 서버의 과부하를 유발시키는 공격
- Slowloris(Slow HTTP Header DoS): HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열을 전송하지 않고, 대상 웹 서버와 연결 상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격
- RUDY(Slow HTTP POST DoS): 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격
- Slow HTTP Read DoS: 다수 HTTP 패킷을 지속적으로 전송하여 웹서버의 연결 상태가 장시간 지속, 연결 자원을 소진시키는 서비스 거부 공격
- Hulk DoS: 공격자가 웹 페이지 주소를 지속적으로 변경하면서 다량으로 GET 요청을 발생시키는 서비스 거부 공격
- Hash DoS: 많은 수의 파라미터를 POST방식으로 웹서버로 전달하여 다수의 해시 충돌을 발생시켜서 자원을 소모시키는 서비스 거부 공격
📌 네트워크 공격
- 스니핑(Sniffing): 공격 대상의 데이터만 몰래 들여다보는 수동적 공격 기법
- 네트워크 스캐너, 스니퍼(Sniffer): 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 취약점을 탐색하는 공격 도구
- 패스워드 크래핑
- 사전 크래킹(Dictionary): ID와 PW가 될 가능성이 있는 단어를 파일로 만들어 파일의 단어를 대입하여 크랙 하는 공격 기법
- 무차별 크래킹(Brute Force): 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격 기법
- 패스워드 하이브리드: 사전 공격 + 무차별 대입공격 결합
- 레인보우 테이블 공격: 크래킹 하고자 하는 해시 값을 테이블에서 검색해서 역으로 패스워드를 찾는 공격 기법
- IP 스푸핑(Spoofing): 침입자가 인증된 컴퓨팅 시스템인 것처럼 속여서 인증된 호스트의 IP 주소로 위조하여 타깃에 전송하는 공격 기법
- ARP 스푸핑: 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑
- ICMP Redirect 공격: 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격 기법
- 트로이 목마(Trojan Horses): 악성 루틴이 숨어있는 프로그램으로, 겉보기에는 정상적이나 실행하면 악성 코드를 실행
📌 시스템 보안 위협
1. 버퍼 오버 플로우 공격
- 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 프로세스의 흐름을 변경시켜서 악성 코드를 실행시키는 공격 기법(스택 버퍼 오버플로우, 힙 버퍼 오버플로우)
✏️ 버퍼 오버 플로우 대응 방안
- 스택가드: 카나리(Canary)라고 불리는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입 후, 버퍼 오버 플로우 발생시 카나리 값을 체크해 값이 변할 경우 복귀 주소를 호출 하지 않음
- 스택쉴드: 함수 시작 시 복귀 주소를 Gloabl RET 라는 특수 스택에 저장해 두고, 함수 종료 시 값과 스택의 RET 값을 비교해 다를 경우 오버플로우 간주
- ASLR(Address Space Layout Randomization): 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화하고 실행 시 마다 메모리 주솔르 변경
- 안전한 함수 활용: 사이즈 체크 함수 이용 ex) strcat() -> strncat()
2. 백도어
- 허가받지 않고 시스템에 접속하는 권리, 정상적인 인증 절차를 우회하는 기법
3. 주요 시스템 보안 공격 기법
- 포맷 스트링 공격(Format String Attack): 포맷 스트링을 ㄹ인자로 하는 함수의 취약점을 이용한 공격으로 외부로 부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생
- 레이스 컨디션 공격(Race Condition Attack): 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인 결과가 발생하는 조건/상황
- 키로거 공격(Key Logger Attack): 컴퓨터 사용자의 키보드 움직임을 탐지해서 저장
📌 보안 관련 용어
- 스피어피싱(Spear Phising): 특정 대상을 선정한 후 그 대상에게 위장 메일을 지속적으로 발송하여, 메일의 본문 링크나 첨부 파일을 클릭하도록 요구 -> 개인정보 탈취
- 스미싱(Smishing): 문자메시지를 이용하여 개인 비밀정보를 요구하거나 휴대폰 소액 결제를 유도하는 피싱 공격
- 큐싱(Qshing): QR코드를 통해 악성 앱을 내려받도록 유도하여 금융 정보 등을 빼내는 피싱 공격
- 봇넷(Botnet): 악성 프로그램이 감염되어 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
- APT 공격(Advanced Persistent Threat): 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격
- 공급망 공격(Supply Chain Attack): 소프트웨어 개발사의 네트워크에 침투하여 소스 코드 수정 등을 통해 악의적 코드 삽입 및 배포 서버에 접근하여 악의적인 파일로 변경하는 방식으로 사용자가 설치 또는 업데이트 시에 자동적으로 감염되도록 하는 공격 기법
- 제로데이 공격(Zero Day Attack): 보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격 기법
- 웜(Worm): 스스로 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 프로그램
- 악성 봇(Malicious Bot): 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 또는 코드
- 사이버 킬체인(Cyber Kill Chain): 공격형 방위시스템으로 지능적, 지속적 사이버 공격에 대해 7단계 프로세스별 공격 분석 및 대응을 체계화한 APT 공격 방어 분석 모델
- 랜섬웨어(Ransomware): 시스템의 파일을 암호화하여 인질처럼 잡고 몸값을 요구하는 악성 소프트웨어
- 이블트윈(Evil Twin) 공격: 합법적인 Wifi 제공자처럼 행세하며 노트북이나 휴대 전화로 핫스팟에 연결한 무선 사용자들의 정보를 탈취
9-1-2. 서버 인증 및 접근 통제
📌 서버 인증
- 다중 사용자 시스템과 망 운영 시스템에서 접속자의 로그인 정보를 확인하는 보안 절차
📌 인증 기술 유형
- 지식기반 인증: ID/패스워드
- 소지기반 인증: 공인인증서, OTP
- 생체기반 인증: 홍채, 정맥, 얼굴, 지문
- 특징 기반 인증: 서명, 발걸음, 몸짓
📌 서버 접근 통제
- ✏️접근 통제 기법
- 식별(Identification) : 자신이 누구라고 시스템에 밝히는 행위
- 인증(Authentication) : 주체의 신원을 검증하기 위한 활동
- 인가(Authorization) : 인증된 주체에게 접근을 허용하는 활동
- 책임 추적성(Accountability) : 주체의 접근을 추적하고 행동을 기록하는 활동
- ✏️서버 접근 통제 유형
- 임의적 접근 통제(DAC; Discretionary Access Control) : 신분(=신원)에 근거하여 객체에 대한 접근을 제한하는 방법
- 강제적 접근 통제(MAC; Mandatory Access Control) : 주체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법
- 역할 기반 접근 통제(RBAC; Role Based Access Control) : 중앙 관리자가 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법
- ✏️ 3A
- 인증(Authentication): 접근을 시도하는 가입자 또는 단말에 대한 식별 및 신분을 검증
- 권한 부여(Authorization): 검증된 가입자나 단말에게 권한과 서비스를 허용
- 계정관리(Accounting): 리소스 사용에 대한 정보를 수집하고 관리하는 서비스
📌 접근 통제 보호 모델
- 벨-라파듈라 모델(BLP: Bell-LaPadula Policy): 미 국방부 지원 보안 모델로 보안 요소 중 기밀성을 강조하며 강제적 정책에 의해 접근 통제하는 모델
- No Read Up : 보안 수준이 낮은 주체는 보안 수준이 높은 객체를 읽어서는 안 됨
- No Write Down : 보안 수준이 높은 주체는 보안 수준이 낮은 객체에 기록하면 안 됨
- 비바 모델: 무결성을 보장하는 최초의 모델
- No Read Down : 높은 등급의 주체는 낮은 등급의 객체를 읽을 수 없음
- No Wirte Up : 낮은 등급의 주체는 상위 등급의 객체를 수정할 수 없음
9-1-3. SW 개발 보안을 위한 암호화 알고리즘
📌 암호 알고리즘
- 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
- 양방향 방식
- 대칭 키 암호 방식: 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘(블록 암호 방식, 스트림 암호 방식)
- 비 대칭 키 암호 방식: 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식으로 공개키는 누구나 알 수 있으나 개인키는 키의 소유자만 알고 있어야 한다. (RSA, ECC, ElGamel, 디피-헬만)
- 일방향 암호 방식(해시 암호 방식): 임의 길이의 정보를 입력받아, 고정된 길이의 암호문(해시값)을 출력하는 암호 방식
- MAC: 키를 사용하는 메시지 인증 코드로 메시지의 무결성과 송신자의 인증 보장
- MDC: 키를 사용하지 않는 변경 감지 코드로 메시지의 무결성 보장
📌 암호 알고리즘 상세
- ✏️ 대칭 키 암호화 알고리즘
- DES(Data Encryption Standard) : IBM 개발, 대칭 키 기반 블록 암호화 알고리즘. 블록크기 64 bits, 키 길이 56 bits
- SEED : 국내 한국인터넷진흥원(KISA) 개발한 블록 암호화 알고리즘. 블록 크기 128 bits, 키 길이에 따라 128bit, 256bit 으로 분류
- AES(Advanced Encryption Standard) :미국 표준기술 연구소(NIST) 발표한 블록 암호화 알고리즘. DES 성능 문제를 극복하기 위해 개발. 블록 크기 128 bits, 키 길이에 따라 128bit,192bit,256bit로 분류
- ARIA(Academy, Research Institute, Agency) : 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘. 블록 크기 128 bits, 키 길이에 따라 128bit, 192bit, 256bit 으로 분류
- IDEA(International Data Encryption Algorithm) : DES 대체하기 위해 스위스 연방 기술기관 개발. 128bit 키를 사용하며 64bit의 평문을 8라운드에 걸쳐 64bit의 암호문을 만듬
- LFSR(Linear Feedback Shift register) : 선형 함수로 계산되는 구조로 되어있는 스트임 암호화 알고리즘
- ✏️ 비 대칭 키 암호화 알고리즘
- 디피-헬만: 최초의 공개키 알고리즘. 이산대수의 어려운 문제를 기본 원리로 함. 최초의 비밀키 교환 프로토콜
- RSA : MIT의 Rivest, Shamir, Adelman에 의해 제안된 공개키 암호화, 큰 수를 소인수 분해하기 어렵다는 것에 기반한 공개키 암호와 알고리즘
- ECC(Elliptic Curve Cryptography): 1985년 RSA 대안으로 개발. 타원 곡선 암호는 유한체 위에서 정의된 타원곡선 군에서의 이산대수 문제에 기초한 공개키 암호화 알고리즘
- ElGamal : 1984년 ElGamal 개발. 이산대산이 기본 원리. RSA와 유사하게 전자서명과 데이터 암/복호화에 함께 사용 가능
- ✏️ 해시 암호화 알고리즘
- MD5 : MD4 개선한 암호화 알고리즘, 파일의 무결성 검사에 사용
- SHA-1 : NSA에 미국 정부 표준 지정되었고, DSA(Digital Signature Algorithm)에 사용
- SHA-256/384/512 : 256비트의 해시값을 생성하는 해시함수. AES의 키 길이만 128, 192, 256비트에 대응하도록 출력 길이를 늘인 해시 알고리즘
- HAS-160 : 국내 표준 서명 알고리즘을 위해 개발된 해시함수
- HAVAL : 메시지를 1024 bits 블록으로 나눔
📌 IPSec
- IPSec(Internet Protocol Security)는 IP계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜
- ✏️동작모드
- 전송모드: IP패킷의 페이로드를 보호하는 모드
- 터널모드: IP패킷 전체를 보호하는 모드
- ✏️IPSec 프로토콜
- 인증(AH) 프로토콜(Authentication Header): 메시지 인증 코드(MAC)를 이용하여 인증과 송신처 인증을 제공해주는 프로토콜로 기밀성은 제공하지 않음. 무결성과 인증 제공
- 암호화(ESP) 프로토콜(Encapsulation Security Payload): 메시지 인증코드(MAC)와 암호화를 이용하여 인증과 송신처 인증과 기밀성을 제공하는 프로토콜. 기밀성, 무결성, 인증 제공
- 키 관리(IKE; Internet Key Exchange) 프로토콜: Key를 주고받는 알고리즘
📌 SSL/TLS
- SSL(Secure Socket Layer)/TLS(Transport Layer Security): 4~7계층 사이에서 클라이언트와 서버 간의 웹데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
📌 S-HTTP
- S-HTTP는 (Secure Hypertexrt Transfer Protocol) 웹상에서 네트워크 트래픽을 암호화하는 방법중 하나로 클라이언트와 서버간에 전송되는 모든 메시지를 각각 암호화하여 전송하는 기술
9-2.소프트웨어 개발 보안 구현
9-2-1. SW 개발 보안 구현
📌 입력 데이터 검증 및 표현 개념
- 입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현단계에서 검증해야하는 보안 점검 항목들
📌 XSS(Cross Site Script)
- 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 웹페이지에 포함된 부적절한 스크립트 실행되는 공격 -> HTML 태그 사용 금지
✏️XSS 공격 유형
- Stored XSS: 방문자들이 악성 스크립트가 포함된 페이지를 읽어봄과 동시에 악성 스크립트가 브라우저에서 실행되면서 감염
- Reflected XSS: 공격용 악성 URL을 생성한 후 이메일로 사용자에게 전송하면 사용자가 URL 클릭시 즉시 공격 스크립트가 피해자로 반사되어 접속 사이트에 민감정보를 공격자에게 전송
- DOM(Document Object Model) XSS: 공격자는 DOM 기반 XSS 취약점이 있는 브라우저를 대상으로 조작된 URL을 이메일을 통해 발송하고, 피해자가 URL 클릭시 공격 피해를 당함
📌 SQL Injection
- 악의적인 SQL 구문을 삽입, 실행시켜서 DB 접근을 통해 정보를 탈취하거나 조작하는 공격 -> 변수 타입 명시적 지정, 모든 값을 필터링, Servlet Filter 기능 적용
- Form SQL Injection: HTML Form 기반 인증에 취약점이 있는 경우 사용자인증 쿼리문 조작해 우회
- Union SQL Injection: UNION 연산자 이용해 공격
- Stored Procedure SQL Injection: 저장 프로시저 이용해 공격
- Mass SQL Injection: 기존 SQL Injection의 확장개념. 1공격으로 대량의 DB값 변조되어 치명적 영향을 미침
- Error-Based SQL Injection: DB쿼리에 대한 에러값을 기반으로 한단계씩 점진적으로 DB정보 획득 가능
- Blind SQL Injection: 쿼리결과 참/거짓을 통해 의도치 않은 SQL문 실행함으로써 DB를 비정상적으로 공격함.
📌 CSRF (Cross-Site Request Forgery)
- 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하는 공격 -> 폼 작성시 GET 보다는 POST 방식 사용, CSRF 토큰 사용
9-2-2. 시스템 보안 구현
📌 네트워크 보안 솔루션
- 방화벽: 내,외부 트래픽을 모니터링해 시스템의 접근 허용하거나 차단함
- 웹방화벽(WAF: Web Application Firewall): 웹 애플리케이션 보안에 특화된 보안 장비
- 네트워크 접근제어(NAC; Network Access Control): 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어 및 통제
- 침입탐지시스템(IDS; Intrusion Detection System): 네트워크에서 발생하는 이벤트를 모니터링, 비인가자 자원접근과 보안 정책 위반 행위(침입)를 실시간으로 탐지
- 침입방지시스템(IPS; Intrusion Prevention System): 네트워크에 대한 공격이나 침입을 실시간 차단하고, 유해트래픽 조치 능동적으로 처리
- 무선침입방지시스템(WIPS; Wireless Intrusion Prevention System): 비인가 무선 단말기 접속 자동으로 탐지하고 차단. 보안에 취약한 무선공유기 탐지하는 시스템
- 통합보안시스템(UTM; Unified Threat Management): 방화벽, IDS, IPS, VPN 등 다양한 보안 기능을 하나의 장비로 통합해 제공하는 시스템.
- 가상사설망(VPN; Virtual Private Network): 인터넷같은 공중망에 인증, 암호화, 터널링기술 활용해 마치 전용망 사용하는 효과를 가지는 보안 솔루션
📌 콘텐츠 유출 방지 솔루션
- 보안 USB
- 데이터 유출 방지(DLP; Data Loss Prevention): 조직 내부의 중요 자료가 외부로 빠져나가는 것 탐지 및 차단
- 디지털 저작권 관리(DRM; Digital Right Management): 디지털 저작물에 대한 보호와 관리를 위한 솔루션
9-2-3. 비즈니스 연속성 계획(BCP)
📌 비즈니스 연속성 계획 관련 주요 용어
- BCP(Business Continuity Plan)는 각종 재해, 장애, 재난으로부터 위기관리 기반으로 재해, 업무 복구, 비상계획을 통해 비즈니스 연속성을 보장하는 체계
✏️주요 용어
- BIA(business import analysis): 시간흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축위한 비즈니스 영향분석
- RTO(recovery time objective): 업무 중단 시점부터 업무 복구되어 재 가동될 때 까지의 시간
- RPO(recovery point objective): 업무 중단 시점부터 업무 복구되어 재가동될 때 데이터 손실 허용 시점
- DRP(disaster recovery plan): 재난으로 장기간에 걸쳐 시설 운영 불가능한 경우를 대비한 재난 복구 계획
- DRS(disaster recovery system): 재해 복구 계획의 원활한 수행을 지원하기 위해 평상시에 확보하는 인적, 물적 자원 및 이들에 대한 지속적 관리체계 가 통합된 재해복구센터
📌 DRS 유형
1. Mirror Site: 주센터, 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구 센터. 재해발생시 복구까지의 소요시간(RTO)는 즉시
2. Hot Site: 주 센터와 동일수준의 자원을 대기 상태로 원격지에 보유하며 동기/비동기 방식의 미러링 통해 데이터의 최신상태 유지하고있는 재해복구센터. 재해 발생 시 복구까지의 소요시간(RTO)는 4시간 이내
3. Warm Site: 재해복구센터에 주센터와 동일수준의 자원 보유하는 대신, 중요성 높은 자원만 부분적으로 재해복구센터에 보유. 데이터 백업 주기가 수 시간~일. 재해발생 시 복구까지의 소요시간(RTO)은 수일~수주
4. Cold Site: 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요자원을 조달하여 복구할 수 있는 재해복구센터. 재해발생시 복구까지의 소요시간(RTO)은 수주~수개월. 구축 비용이 저렴하나 복구 소요 시간이 길고 신뢰성이 낮음
📌 보안 공격 관련 중요 용어
- 부 채널 공격(Side Channel Attack) : 암호화 알고리즘의 물리적 특성을 측정하여 암호 키 등 내부 비밀 정보를 부 채널에서 획득하는 공격
- 드라이브 바이 다운로드(Drive By Download) : 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버로 연결하여 감염시키는 공격
- 워터링 홀(Watering Hole) : 특정인에 대한 표적 공격을 목적으로, 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성 코드를 배포하는 URL로 유인하는 기법
- 스캠공격(SCAM): 기업 이메일 계정 도용하여 무역 거래 대금 가로채는 사이버 범죄
- 하트블리드(HeartBleed): OpenSSL 암호화 라이브러리의 하트비트라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB의 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있도록 하는 취약점
- 크라임웨어(Crimeware): 중요한 금융정보 또는 인증정보를 탈취하거나 유출을 유도하여 금전적인 이익 등의 범죄 행위를 목적으로 하는 악성코드
- 토르 네트워크 : 네트워크 경로를 알 수 없도록 암호화 기법을 사용하여 데이터를 전송하며, 익명으로 인터넷을 사용할 수 있는 가상 네트워크
- MITM 공격(Man in the Middle): 네트워크 통신을 조작하여 통신 내용을 도청 및 조작하는 공격 기법
- DNS 스푸핑 공격: 공격 대상에게 전달되는 DNS 응답을 조작하여 희생자가 의도하지 않은 주소로 접속하게 만듬
- 포트 스캐닝(Port Scanning): 침입 전 대상 호스트에 어떤 포트가 활성화되어 있는지 확인하는 기법
- 디렉토리 리스팅(Listing) 취약점 : 공격자가 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점
- 리버스 쉘 공격: 타깃 서버가 클라이언트(공격자)로 접속해서 타깃 서버의 쉘을 획득해서 공격하는 기법
- 익스플로잇(Exploit): SW/HW의 버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드, 행위
- 스턱스넷 공격(Stuxnet): 독일 지멘스사의 SCADA 시스템을 공격 목표로 제작된 악성코드로, 반도체, 전기 등 주요 산업 기반 시설의 제어 시스템에 침투해 오작동을 일으키는 악성코드 공격 기법
- 크리덴셜 스터핑(Credential Stuffing): 사용자 계정을 탈튀하여, ID나 PW를 다른 웹사이트나 앱에 무작위로 대입해 로그인하는 기법
📌 보안 공격 대응 관련 중요 용어
- 허니팟: 의도적으로 설치해 둔 시스템으로 해커에게 노출하는 유인 시스템
- OWASP Top 10: 빈도가 높고 보안상 큰 영향을 줄 수 있는 10가지 취약점에 대한 대응 방안을 제공하는 웹 보안 기술 가이드
- 핑거 프린팅: 멀티미디어 콘텐츠에 저작권 정보와 구매한 사용자 정보를 삽입해 콘텐츠 불법 배포자에 대한 위치 주적이 가능한 기술
- 워터 마킹: 디지털 콘텐츠에 저작권자 정보를 삽입하여, 불법 복제 시 워터마크를 추출하여 원 소유자를 증명할 수 있는 콘텐츠 보호 기술
- 이상금융거래탐지시스템(FDS; Fraud Detection System): 전자금융거래에 사용되는 단말기 정보, 접속 정보, 거래 정보 등을 종합적으로 분석하여 의심 거래를 탐지하고, 이상거래를 차단하는 시스템
- CC(Common Criteria): 정보기술의 보안 기능와 보증에 대한 평가 기준(등급)을 위해 공통으로 제공되는 국제 평가 기준
- 사이버 위협정보 분석 공유 시스템(C-TAS; Cyber Threats Analysis System): 사이버 위협정보를 체계적 수립해서 인터넷진흥원 주관으로 관계 기관과 자동화된 정보공유를 할 수 있는 침해 예방 대응 시스템
- 장착형 인증 모듈(PAM: Pluggable Authentication Module): 리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리
- CVE(Common Vulnerabilities and Exposures): 미국 비영리 회사인 MITRE 사에서 공개적으로 알려진 소프트웨어의 보안취약점을 표준화한 식별자 목록
- CWE(Common Weakness Enumeration): 미국 비영리 회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록