1. 암호 알고리즘 - 양방향 대칭키 방식
암호화/복호화 키 서로 동일할 경우, 대칭키 = 양방향 방식
- 블록 암호화 방식
DES(Data Encryption Standard) - 미국 연방 표준국(NIST)에서 발표한 대칭키 기반의 블록 암호화 방식(64bit)
AES(Advanced Encryption Standard) - 대칭키 기반 블록 암호화 방식, DES에서 발전(128bit)
SEED - 국내에서 개발한 블록 암호화 알고리즘, 128bit 비밀키/블록키..128bit 비밀키로부터 생성된 16개의 64비트 라운드 키 사용.
ARIA(Academy, Research, Institute) - 학계, 연구기관, 정부, 국정원과 산학연구협회가 발표한 블록 암호화 알고리즘, 128bit
IDEA(International Data Encryption Algorithm) - DES 대체, 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘, 128bit
- 스트림 암호화 방식
LFSR(Linear Feedback Shift register) - 스트림 알고리즘시프트 레지스터, 레지스터 입력값이 이전 상태 값들의 선형 함수로 계산, 비트 바이트 단어들을 순차적으로 암호화
RC4
2. 암호 알고리즘 - 양방향 비대칭키 방식
암호화/복호화 키 서로 다를 경우, 비대칭키 = 단방향 방식
- 디피-헬만(Diffie-Hellman) - 최초의 공개키 알고리즘
- RSA - 소인수 분해 방식, 공개키 알고리즘
- ECC(Elliptic Curve Cryptography) - 이산대수 문제에 근거한 공개키 알고리즘, RSA 암호화에 대한 대안, 속도 및 안정성, 타원 기반
- Elgamal - 공개키 알고리즘, 이산대수 수학, RSA 유사
- DSA(Digital Signature Algorithm) - 정부용 전자서명 알고리즘, 안전성은 이산대수 문제 어려움에 기반
3. 해시 알고리즘 - 단방향 방식
- MD5(Message Digest Algorithm 5) - 프로그램, 파일의 무결성 검사에 이용, 512bit 입력 메시지 블록에 입력하여 128bit 해시값 생성
- SHA-1(Secure Hash Algorithm) - 미 정부 표준, DSA에서 작동하는 해시 알고리즘, 160bit 해시값 생성
- SHA-256/384/512(Secure Hash Algorithm) - 256bit 해시값 생성, AES 키길에 대응하도록 출력 길이 증대
- HAS-160 - 국내 표준 서명 알고리즘(KCDSA) 개발 해시 함수, MD5/SHA-1의 장점 취함
- HAVAL - 메시지를 1024bit 블록으로 나누고, 128~256bit 해시값 생성
4. DOS
※ 한 사람이, 특정 컴퓨터/서버에 직접적인 악의적인 공격으로 시스템 자원을 낭비하게 함
- SYN Flooding : TCP 프로토콜의 구조적 문제점, SYN패킷을 계속 보내서 시스템 자원 점유하여 사용자가 서버 사용 불가
- UDP Flooding : UDP패킷을 만들어 응답메시지 생성(ICMP Destination Unreachable)하여 지속적으로 자원 고갈, 출발지 IP를 피해서버 IP로 변경
- 스머프/스머핑(Smurfing) : 출발지 주소를 공격대상 IP로 변경, 직접 브로드캐스팅하여 마비
- 죽음의 핑(PoD, Ping of Death) : ICMP 패킷을 정상적인 크기보다 아주 작게 만들어 오버플로우 및 단편화 발생
- 랜드어택(Land Attack) : 출발지 주소와 도착지 주소를 같게 만들어서 루프, 시스템 가용성 저해
- 티어드롭(Tear Drop) : IP패킷의 재조합 과정에서 잘못된 fragment offset 정보로 인해 수신시스템 문제 발생, 공격자는 IP fragment offset 값을 중첩되게 구성
- 봉크/보잉크(Bonk/Boink) : 같은 SEQ번호를 계속 보내거나/일정 간격으로 시퀀스 번호에 빈 공간 생성 - 프로토콜의 오류 제어를 이용한 공격방식, 패킷 재전송 및 재조립이 과부하 유발
- 핑 플러드(Ping Flood) : 매우 많은 ICMP Echo 유발, 응답을 통한 시스템 자원 지속 사용
5. DDOS
※ 다수의 컴퓨터/서버를 감염시켜 간접적으로 공격하도록 지시
- 핸들러 : 마스터 시스템
- 에이전트 : 공격을 수행하는 컴퓨터
- 마스터 : 공격자에게서 명령받는 시스템, 여러 대의 에이전트 관리
- 공격자 : 공격주도 해커
- 데몬 프로그램 : 에이전트 시스템 수행
※ 공격도구
- Trin00 : UDP flood 서비스 공격 유발 도구, 몇개의 서버와 클라이언트(데몬)
- TFN(Tribe Fleood Network) : 공격자가 공격 명령을 일련의 TFN서버를 통해 전달, TCP SYN Fllod, ICMP Echo 요청 등의 DOS 공격 가능
- Stacheldrht : 분산 서비스 거부 에이전트, Linux 및 Solaris 시스템용 멀웨어 도구
6. 애플리케이션 공격 종류
- HTTP GET Flooding : Cache Control Attack 공격, 과도한 GET 메시지를 통해 웹서버 과부하, HTTP cach 옵션 조작하여 웹서버가 직접 처리하도록 유도
- Slowloris(Slow HTTP Header DoS) : HTTP GET 메서드에서, 헤더의 최종 끝을 알리는 개행 문자열(\r\n\r\n)을 이용하지 않고 \r\n만 전송, 웹 서버의 연결 상태를 지속
- RUDY(Slow HTTP Post DoS) : HTTP POST, 요청 헤더의 conteㅜt length 길게 하여 연결상태를 지속 유지
- Slow HTTP Read DoS : TCP 윈도 크기 및 데이터 처리율을 감소시킨 상태에서(Zero Window Packet), 패킷을 지속적으로 전송하고 읽게함으로써 연결자원 소진
- Hulk DoS : 공격자가 공격대상 웹 사이트 주소(URL)을 지속적으로 변경하면서 다량으로 GET 요청 발생 .. 임계치 기반 DDOS 대응 장비 우회
- Hash DOS : 해시 테이블에 사용되는 파라미터를 조작하여 POST방식으로 요청, 해시충돌(Collison) 발생
7. 네트워크 서비스 공격
- 네트워크 스캐너/스피너 : 네트워크 하드웨어 취약점 파악
- 패스워드 트래킹 : 사전 트래킹(가능성이 있는 단어 트래킹), 무차별 트래킹(Brute, 무차별 대입), 패스워드 하이브리드(사전+무차별), 레인보우 테이블(패스워드별 해시값 생성 대입)
- IP Spoofing : 패킷헤더를 수정하여 위조한 IP로 호스트 IP 위조, 서버에 대한 검증되지 않는 접근으로 액세스 권한 확보
- ARP Spoofing : 공격자가 특정 호스트의 MAC주소를 자신의 MAC주소로 위조한 ARP Reply를 만들어 패킷 스니핑(MAC정보 변경하여 패킷정보 탈취)
- ICMP Redirect : ICMP(3계층)에서 스니핑 시스템을 네트워크에 존재하는 또 다른 시스템으로 알려서 패킷의 흐름 변환
- 세션 하이재킹 : TCP 세션 관리 취약점 이용
※ 세션 하이재킹
- TCP Seq Number 보안상 문제로 발생
- ACK Storm 증가, 네트워크 부하 증가
- 비동기화 상태로 패킷 유실, 재전송 패킷 증가
-> 비동기화 상태 탐지
-> ACK 패킷 비율 모니터링
-> 특정 세션에서 패킷 유실, 재전송 증가 탐지
-> 기대하지 않는 접속의 리셋 탐지
8. 버퍼 오버플로우 공격 대응 방안
- 스택가드 : 카나리(무결성 체크용 값)을 복귀주소와 변수 사이에 삽입하여, 버퍼 오버플로우 발생시 카나리값 체크
- 스택쉴드 : 함수 시작시 복귀 주소를 Global RET 특수 스택에 저장, 함수 시작값과 종료값이 다를 경우 버퍼 오버플로우로 간주
- ASLR(Adress Space Layout Randomization) : 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화, 실행시 마다 메모리 주소 변경하여 오버플로우를 통한 특정 주소 호출 차단
- 안전한 함수 사용
9. 백도어(은밀접근, 우회접근) 탐지 기법
- 프로세스 및 열린 포트 확인
- SetUid 파일 검사(새로 생성된 파일, 변경된 파일)
- 백신 및 백도어 탐지 툴
- TripWire 사용(리눅스 무결성 검사 툴, No Such File or Directory)
- 로그 분석(wtmp, secure, lastlog, pacct, history)
10. 주요 시스템 보안 공격기법
- 포맷스트링 공격 : 포맷 스트링을 인자로 하는 함수의 취약점 이용, 외부의 입력값을 검증하지 않고 그대로 사용시 메모리 내용 참조 및 특정 영역의 값 변경
- 레이스 컨디션(race condition) 공격 : 둘 이상의 프로세스가 하나의 공유 자원을 동시에 접근할때 비정상적 결과를 초래, 실행 중에 끼어들어 악의적인 동작 수행
- 키로거 공격 : 키보드 입력값 탈취
- 루트킷 : 시스템 침입 및 백도어 관련 프로그램 모음
11. 보안관련 공격기법
- 피싱 : 소셜네트워크에서 피싱, 유명인인척하여 정보 탈취
- 스피어피싱 : 특정 대상에게 이메일 지속 발송 및 클릭 유도
- 큐싱 : 큐알코드와 피싱
- 스미싱 : SNS 피싱
- 애드웨어 : 광고표시
- 웜 : 스스로 복제가 가능한 악성 소프트웨어
- 악성 봇 : 공격자 명령대로 실행하는 악성 소프트웨어, 복제 불가
- 봇넷 : 악성 봇(감염 컴퓨터)들이 다수가 네트워크로 연결된 상태
- 랜섬웨어 : 시스템을 잠그거나 데이터를 암호화하여 금전요구
- 논리폭탄 : 특정 날짜 및 조건을 충족시 악의적인 기능 실행
- 공급망 공격(Supply Chain Attack) : 서비스 제공자 네트워크에 침투, 다운로드 및 업데이트시 자동 감염
- APT(Advanced Persistent threat) : 특정 타깃을 목표로 지속적이고 다양한 공격, 정보수집
- 제로데이 공격 : 보안 취약점이 발견되어 대응법 공표전에 공격, 공격의 신속성 의미(=제로데이)
- 이블 트윈 : 무선 wifi 피싱, 노트북/휴대전화로 핫스팟에 연결한 무선 사용자들의 정보 탈취
- 사이버불링 : 인터넷으로 괴롭힘
- 트로이목마 : 정상 프로그램인 척, 악성코드 실행
12. 보안관련 도구 및 방어기법
-
TripWire : 백도어 탐지를 위한 리눅스 무결성 검사 탐지 도구, 디렉토리 및 DB에 생성하여 차이점 체크 및 변화 감지
-
ping : 인터넷 접속 호스트가 정상 운영되고 있는지를 확인
-
tcpdump : 네트워크 인터넷을 거치는 패킷 출력
-
cron : 유닉스/리눅스에서 정해진 작업을 스케쥴링
-
netcat : TCP/UDP 프로토콜 상 네트워크 연결에서 데이터 읽고 쓰는 프로그램
-
사이버 킬 체인 : 사이버 공격에 대응하기 위한 7단계 프로세스별 공격분석
-
난독화 : 코드 가독성을 낮추어 역공학에 대한 대비
-
클라우드 기반 HSM(Cloud Based Hardware Security Modul) : 클라우드 기반 데이터 암호화 키 생성, 전용 하드웨어, 소프트웨어에 내재된 암호 기술 취약점 보완 가능
-
허니팟(Honeypot) : 비정상적 접근 탐지
13. 인증 솔루션
- SSO(Single Sign On) : 타사이트 인증을 다른 곳에서도 접근 허가
- IAM(Identify Access Management) : 보안정책수립 및 이에 따라 자동으로 사용자 계정 및 권한 관리
- EAM(Extra Access Management) : 통합인증 및 권한부여 조직내 자원 관리 등을 단일 방식으로 제공하는 솔루션
14. 서버 접근통제 유형
- DAC(Direct Access Control) : 신분/신원에 근거한 객체접근권한 관리
- MAC(Mandatory Access Control) : 강제적 접근 관리, 접근 허가 권한에 근거한 객체접근권한 관리, 규칙기반(Rule-based)
- 역할기반 접근통제(Role-based Access Control) : 중앙 관리자가 상호관계 통제, 조직내 맡은 역할에 근거하여 자원 접근 제한
DAC / MAC / RBAC
데이터소유자 / 시스템 / 중앙관리자
신분 / 보안등급 / 역할
변경용이 / 고정적(변경어려움) / 변경용이
구현용이함 / 안정적, 중앙집중적 / 관리용이
15. 접근통제 보호모델
- 벨 라파듈라 모델 : 미 국방부 지원 보안 모델, 기밀성 강조, 강제적 접근 권한 정책, 자신권한보다 높은 문서는 읽을 수 없고 쓰기만 가능(No Writ down)
- 비바 모델(Biba Integrity Model) : 벨라파듈라의 단점 보완, 자신의 권한보다 높은 문서는 쓸 수 없고 읽기만 가능(No Write up)
- 클락-윌슨(clark Wilson Model) : 무결성 중심 상업용 모델, 주체/프로그램/객체 관계를 사용한 무결성 모델
- 만리장성(Chinese Wall, Brewer Nash) : 충돌을 일으키는 어떠한 정보 흐름도 차단, 이익충돌회피, 직무분리접근통제