[정보처리기사 필기공부] 보안

1. 백도어

  • 정상적인 인증 과정을 거치지 않아도 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 통로

백도어 탐지 방법

  • 무결성 검사
  • 로그 분석
  • SetUID 파일 검사
  • 열린 포트 검사
  • 바이러스 및 백도어 탐지 툴 이용

2. Dos 공격

  • 다른 해킹에 비해 비교적 간단한 것으로 일종의 훼방

취약점 공격형

  • 네트워크 패킷의 처리 로직에 문제가 있을 때 그것을 이용하여 오작동을 유발
보잉크, 봉크, 티어드롭 공격 (Boink, Bonk, TearDrop)
  • 프로토콜의 오류 제어 로직을 악용하여 시스템 자원을 고갈시키는 방식
  • 이 공격은 공격 대상이 반복적으로 재요청과 수정을 하게 함으로써 시스템 자원을 고갈시키는 공격
  • 시퀀스 넘버를 속인다.

  • 보안
    • 패치 관리를 통해 제거
    • 과부하가 걸리거나 계속 반복되는 패킷을 무시하고 버리도록 처리
랜드 공격 (land) - 다람쥐 챗바퀴 돌듯
  • 출발지 IP 주소와 목적지 IP 주소의 값을 똑같이 만들어서 공격 대상에게 보내는 것.
  • 조작된 IP 주소는 공격 대상의 IP 주소
  • 보안
    • 방화벽과 같은 보안 솔루션을 이용
    • 출발지 주소와 목적지 주소의 적절성을 검증하는 기능

자원 고갈 공격형

  • 네트워크 대역폭이나 시스템의 CPU, 세션 등의 자원을 소모시키는 형태
죽음의 핑 공격 (ping of death)
  • 네트워크에서 패킷을 전송하기 적당한 크기로 잘라서 보내는 특성을 이용한 공격
  • ping 명령을 최대한 길게(최대 65500바이트)보내면 네트워크의 특성에 따라 수백 개에서 수천 개의 패킷으로 잘게 쪼개진다.
  • 공격 대상은 대량의 작은 패킷을 수신하여 네트워크가 마비된다.
  • 보안
    • 방화벽에서 ping이 사용하는 프로토콜인 ICMP(Internet Control Messaging Protocol)을 차단
SYN 플러딩 공격 (SYN flooding)
  • 동시 사용자 수 제한을 이용하는 것
  • 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 받지 못하게 하는 것
  • TCP의 연결과정인 3-way hand shaking을 악용한 것
  • SYN 패킷만 보내고 ACK 패킷을 보내지 않는 것.
    • 서버는 클라이언트가 ACK 패킷을 보낼 때까지 SYN Received 상태로 일정 시간을 기다려야함
  • 보안
    • SYN Received의 대기 시간을 줄이는 것
    • 침입 (방지, 탐지, 차단) 시스템 (IPS) 같은 보안 시스템을 통해서 공격을 차단

HTTP GET 플러딩 공격 (7계층)
  • 공격 대상 시스템에 TCP 3-way hand shaking 과정으로 정상적으로 접속한 뒤 특정 페이지를 HTTP의 GET 메소드를 통해 무한대로 실행하는 공격
  • 보안
    • 웹 방화벽을 통해 특징적인 HTTP 요청 패턴을 방어
HTTP CC 공격
  • HTTP 1.1 버전의 CC(Cache-Control)헤더 옵션은 자주 변경되는 데이터에 새로운 HTTP 요청 및 응답을 요구하기 위해 캐시 기능을 사용하지 않도록 할 수 있다.
  • 웹 서버는 캐시를 사용하지 않고 응답해야 하므로 웹 서비스의 부하가 증가한다.
  • 보안
    • 웹 방화벽을 통해 특징적인 HTTP 요청 패턴을 방어
동적 HTTP 리퀘스트 플러딩 공격
  • 위 공격의 차단 기법(보안)을 우회하기 위해 지속적으로 요청 페이지를 변경하여 웹 페이지를 요청하는 기법
슬로 HTTP 헤더 DoS(슬로로리스) 공격
  • HTTP 메시지의 헤더 정보를 조작
  • 웹 서버가 헤더 정보를 완전히 수신할 때까지 연결을 유지하도록 하는 공격
  • 개행 문자 빼먹기
슬로 HTTP POST 공격
  • 느린 속도로 전송
  • 웹 서버와의 커넥션을 최대한 오래 유지하여 웹 서버가 정상적인 사용자의 접속을 받아들일 수 없게 하는 공격 방식
  • HTTP POST 메소드를 사용할 때, 헤더의 Content-Length 필드에 임의의 큰 값을 설정하여 전송
    • 해당 크기의 메시지를 전송할 때까지 커넥션을 유지
스머프 공격
  • ICMP(ping) 패킷과 네트워크에 존재하는 임의의 시스템을 이용하여 패킷을 확장함으로써 서비스 거부 공격 수행
  • 네트워크 공격시 사용
  • 다이렉트 브로드캐스트
    • 기본적인 브로드캐스트는 라우터(네트워크 계층 장비)를 넘어가지 못함
    • 넘어가려면, 172.16.0.255 같이 네트워크 부분(172.16.0)에 정상적인 IP 주소를 적고, 클라이언트 IP 주소에 255를 채워서 원격지의 네트워크에 브로드캐스트
  • (src:공격 대상 IP, des: 네트워크 망(172.16.0.255))

  • 보안
    • 라우터에서 다이렉트 브로드캐스트를 막으면 됨.
메일 폭탄 공격
  • 스팸 메일과 같은 종류
  • 메일이 폭주하여 디스크 공간을 가득 채우면 정작 받아야 할 메일을 받을 수 없기 때문.

3. 시스템 침입탐지 및 무결성 도구

Tripwire
  • 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구
  • MD5, CRC-32, SHA 등의 알고리즘을 사용
Aide
  • Tripwire를 대신할 수 있는 도구로 파일의 무결성을 검사하는데 사용
sXid
  • MD5 체크섬을 사용하여 suid, sgid파일을 추적 루트키트가 설치되어있는지 검사.
  • Cron 작업형태로 수행.
  • 자동으로 파일을 추적하고 경고
Claymore
  • 침입탐지 및 무결성 모니터링 도구로 크론테이블을 이용하여 주기적으로 파일시스템의 변조유무를 확인하고 변조되었을 경우 관리자에게 메일로 통보해 주는 기능
Samhain
  • 시스템의 무결성을 점검하는 도구로 여러 시스템을 관리할 수 있는 수단을 제공한다.
  • 모니터링 에이전트와 중앙 로그서버로 구성
Slipwire
  • 파일시스템의 무결성을 검사하는 도구로 파일의 SHA-1 hashes값을 비교하여 변경될 경우 사용자에게 경고하는 기능
Fcheck
  • 유닉스 파일시스템의 변조유무를 점검하기 위한 PERL script 도구로 syslog. console 등로 관리자에게 파일시스템 변화를 경고해 준다.
  • tripwire와 비슷한 도구로 보다 설치 및 운영이 쉽다.

4. 보안의 3대 요소

C : 기밀성(confidentiality) - 비밀성
  • 당사자 외에 사람은 통신 내용을 몰라야 한다.
  • 열람
    • 기밀문서 = 비공개 문서 (수정 문서 x)
I : 무결성(integrity) - 결함 x
  • 위변조가 되지 않도록 문서 내용이 그대로 수신자에게 전달되야 한다
  • 수정
    • 기밀성 내에서 인가된 사용자만 내용을 수정
A : 가용성(availability) - 인가된 사용자
  • 인가된 사용자만 이용 가능해야 한다.
  • 언제든지 접근 가능해야한다.
  • 사용
    • 인가된 사용자가 언제든지 사용가능한 것

5. 디지털 저작권 관리 (DRM, Digital Right Management)

  • 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정에서 사용되는 디지털 콘텐츠 관리 및 보호 기술
  • 아날로그 콘텐츠는 디지털로 변환한 후 패키저(Packager)에 의해 DRM 패키징을 수행
  • 패키징을 수행하면 콘텐츠에는 암호화된 저작권자의 전자서명이 포함되고 저작권자가 설정한 라이선스 정보가 클리어링(Clearning House)에 등록된다

디지털 저작권 관리의 흐름도

  • 클리어링 하우스 (Clearing House)
    • 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리 등을 수행하는 곳
  • 콘텐츠 제공자 (Contents Provider)
    • 콘텐츠를 제공하는 저작권자
  • 패키저 (Packager)
    • 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
  • 콘텐츠 분배자 (Contents Distributor)
    • 암호화된 콘텐츠를 유통하는 곳이나 사람
  • 콘텐츠 소비자 (Customer)
    • 콘텐츠를 구매해서 사용하는 주체
  • DRM 컨트롤러 (DRM COntroller)
    • 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
  • 보안 컨테이너 (Security Container)
    • 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치

6. 공개키 암호 알고리즘 (public key cryptosystem) = 비대칭키 암호 알고리즘

  • 공개키 분배
    • 각 개인의 공개키 등록부를 가지면 회원들간에 비밀통신이 가능하다
  • 트랩도어(뒷문) 일방향 함수를 이용, 구현
  • 종류
    • RSA, Elgamal, Diffie Hellman, ECC

수신자의 공개키로 암호화 수신자의 개인키로 복호화

RSA 암호

  • 1978년 MIT 교수였던 Rivest, Shamir, Adleman 등에 의해 설계

소인수분해의 어려움에 기반

  • 키와 평문의 길이가 가변적
  • 100 digit
    • digit은 자리수
System 생성
  • 2개의 소수 p와 q를 선택
    • n = p*q
  • ϕ(n) = (p-1)*(q-1)
    • ϕ(n)는 n과 서로소인 1부터 n까지의 정수의 개수
    • p와 q가 소수이면 pq의 ϕ(n)는 (p-1)(q-1)과 같다.
      • p = 3, q = 5 ⇒ n = 15, ϕ(n) = (2 * 4) = 8
  • d를 구할때 생각할 것
    • 5 mod 3 = 2 ⇒ 3x + 2 = 5
    • (ed) mod ϕ(n) = 1 ⇒ ϕ(n)x + 1 = ed ⇒ (ϕ(n)x + 1)/e = d

Encryption and Decryption

  • 암호화할때 3자리로 자르는 것은 n이 4자리라서
RSA의 보안성
  • p와 q는 다음 조건을 만족해야 한다
    • p와 q는 같지 않고 거의 같은 크기의 자릿수여야 한다.
    • p-1과 q-1은 커다란 소인수를 각각 가져야 한다
    • p-1과 q-1의 최대 공약수는 작은 수여야 한다.
  • 실제 RSA에서 사용하는 p와 q는 대게 100자리 정도의 소수로 거의 같은 크기의 자릿수를 가지는 수를 선택한다
  • 129비트 RSA의 경우 소인수 분해하는데 5000MIPS년 소요

Elgamal 공개키 암호

이산대수의 어려움에 기반한 것

System 생성

Diffie-Hellman 공개키 분배

관용 암호 방식(블럭암호)에 사용되는 공통 비밀키(Common Secrey key), 세션키(session key)

  • 사전에 공통되는 비밀키를 나눠 갖고 있어야 함.
  • 키분배(key distribution), 키합의(key agreement)

7. 관용 암호 방식과 공개키 암호방식 비교

8. 디지털 서명

  • 송신자가 자신의 비밀키로 암호화한 메시지를 수신자가 송신자의 공용 키로 해독하는 과정
  • 공개키 암호방식

9. DDoS

  • 공격자가 한 지점에서 서비스 거부 공격을 수행하는 것을 넘어 광범위한 네트워크를 이용하여 다수의 공격 지점에서 동시에 한곳을 공격하는 형태의 서비스 거부 공격
  • 광대한 공격 범위를 위해 공격을 증폭시키는 중간자가 필요
  • 공격자(attacker) : 공격을 주도하는 해커 컴퓨터
  • 마스터(master) : 공격자에게 직접 명령을 받는 시스템으로 여러 대의 에이전트를 관리
    • 핸들러(handler) 프로그램 : 마스터 시스템의 역할을 수행하는 프로그램
  • 에이전트(agent) : 직접 공격을 가하는 시스템
    • 데몬(daemon) 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램

DDoS 공격용 툴
  • Trin00
  • TFN (Tribe Flooding Network)
  • TFN2K
  • Stacheldraht

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.