[정보처리기사] 5과목 - 소프트웨어/시스템 보안 구축 관련 암기항목

Hyo Kyun Lee·2023년 1월 31일
0

정보처리기사

목록 보기
9/26
post-custom-banner

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) : 충돌을 일으키는 어떠한 정보 흐름도 차단, 이익충돌회피, 직무분리접근통제
post-custom-banner

0개의 댓글