정보보안기사2

한택승·2021년 8월 12일
0

정보보안기사

목록 보기
2/4

네트워크 개요

1. 개요

(1) 프로토콜

데이터 통신에 있어서 신뢰성 있게 효율적이고 안전하게 정보를 주고받기 위해서 정보의 송/수신자측 또는 네트워크 내에서 사전에 약속된 규약 또는 규범이다.

3) OSI 모델의 계층구조

물리 계층(비트스트림)

  • 물리 매체상으로 전송하는 역할. 전송에 필요한 링크의 설정/유지/해제를 담당
  • 전기적인 인터페이스 규정에 초점을 둔다. 선로에 따라 전송방식, 인코딩 방식 결정

데이터링크 계층(프레임)

  • 논리적 연결제어를 담당하는 LLC, DLC장비와 장비 간의 물리적인 접속을 담당하는 MAC의 두 서브 계층으로 나뉜다.
  • 네트워크 계층에게 오류 없는 물리 계층으로 보이도록 한다.

네트워크 계층(패킷)
송신자측에서 수신자측까지 데이터를 안전하게 전달하기 위해서 논리적 링크 설정. 데이터를 작은 크기의 패킷으로 분할하여 전송하는 역할

전송 계층(세그먼트)
종단간 제어를 담당
응용 프로그램(프로세스)간 전달을 의미한다

세션 계층
통신 시스템 간에 상호대화를 설정, 유지, 동기화한다.

표현 계층
정보의 데이터 표현방식을 바꾸는 기능 담당
응용 계층으로부터 받은 데이터의 보안과 효율적인 전송을 위해 암호화와 압축한다

응용 계층
전자우편, 원격 파일 접속과 전송, 공유된 DB관리 등 사용자 인터페이스 제공

TCP/IP

2. 데이터링크 계층

서비스
1. 흐름제어
2. 혼잡제어
3. 오류제어

3. 네트워크 계층

서비스
1. 라우팅
2. 포워딩

ICMPv4

라우터나 호스트가 동작하고 있는지 알 필요가 있을 때
오류보고 메시지
IP가 신뢰성이 없는 프로토콜이기 때문에 ICMP의 주된 임무중 하나는 IP데이터그램의 프로세싱 동안 발생하는 오류를 보고하는 것이다.

TCP 연결

Three way handshaking이라고 불린다
1. 클라이언트는 SYN 세그먼트를 전송
2. 서버는 SYN + ACK 세그먼트를 클라이언트한테 전송한다.
3. 클라이언트가 ACK 세그먼트를 서버에 보낸다. 두 번째 세그먼트를 수신한 것에 대한 확인응답.

TCP 연결 종료

클라이언트, 서버 양측 모두에서 종료 가능

  • three way handshaking
  1. 클라이언트는 첫 번째 FIN 세그먼트 전송
  2. 서버는 FIN+ACK을 클라이언트한테 전송
  3. 클라이언트는 마지막 ACK 세그먼트를 서버한테 전송한다

절반 폐쇄(half-close)
-클라이언트는 FIN 세그먼트를 전송함으로 절반-폐쇄를 한다.
-서버는 ACK세그먼트를 송신함으로써 받아들인다.
-하지만 서버는 여전히 데이터 송신가능
-서버가 처리된 모든 데이터를 보냈을 때 ACK에 의해 확인 응답되는 FIN세그먼트 전송
-절반-폐쇄 후에 데이터는 서버에서 클라이언트로 이동가능하고, 확인 응답은 클라이언트에서 서버로 이동가능하다.

라우팅

1. 라우팅의 개요

1) 기본개념

패킷을 전송하기 위해 송신자측에서 목적지까지의 경로를 정하고, 정해진 경로를 따라 패킷을 전달하는 일련의 과정

2. 유니캐스트 라우팅

(1) 라우팅 알고리즘

1) 거리벡터 라우팅(DV, distance-vector)

처음으로 각 노드가 만드는 것은 인접한 이웃들의 기초 정보를 이용하여 작성된 자신의 최소비용 트리이다.
거리벡터
최소 비용트리에서처럼 목적지까지의 경로를 제공하지 않고, 단지 목적지까지의 최소비용만을 제공한다

2) 링크-상태 라우팅

최소비용 트리를 작성하귀 위해 각 노드는 각 링크 상태를 알아야 하기 때문에 네트워크의 완전한 맵이 필요하다. 링크의 상태집합을 링크상태 DB라 한다.

3) 경로 벡터 라우팅(PV, path-vector)

스패닝 트리
목적지까지 하나 이상의 경로가 있다면, 근원지는 가장 최선의 규칙을 사용하여 경로를 선택할 수 있다.

(2) 유니캐스트 라우팅 프로토콜

RIP : 거리벡터 알고리즘
OSPF : 링크상태 알고리즘
BGP : 경로벡터 알고리즘

1) RIP(Routing Information Protocol)

라우터는 거리 벡터 알고리즘을 사용. 네트워크에 도착하는 방법과 거리를 홉수로 저장.
RIP의 최대 홉수는 15

2) RIPv2

CIDR, VLSM, 브로드캐스팅, 멀티캐스팅, 메시지 마다 인증 기능이 추가됐다.

3) IGRP(Interior Gateway Routing Protocol)

RIP 홉수 제한으로 대규모 네트워크에 적용하기가 어려워 Cisco에서 제안

4) EIGRP

CIDR, VLSM 기능 추가

5) OSPF

공개형 프로토콜
네트워크 변화가 생겼을 경우 전체 네트워크에 플러딩 과정을 수행함으로써 라우팅 정보를 신속하게 갱신
최적경로 계산을 위해 다익스트라 알고리즘이라는 링크상태 알고리즘 이용

6) BGP4

유일한 인터넷 도메인 라우팅 프로토콜

3. 라우터 보안

2) 라우터 모드

  1. 유저모드 : 주로 테스트, 현재 상태를 볼 수 있다
  2. Privileged 모드 : 모든 명령어 이용. configuration file 조정가능
  3. 구성모드 : 라우터의 구성 파일을 변경하는 경우
  4. RXBOOT 모드 : 라우터의 패스워드를 모르는 경우나 이미지 파일에 문제가 생긴 경우에 복구를 위해 사용
  5. Setup 모드 : 라우터를 처음 구매해서 전원을 켰거나 구성파일이 없는 경우에 라우터가 부딩하면서 자동으로 들어가는 모드

모드 변경 방법
1. enable - 사용자모드에서 특권 모드
2. disable - 특권모드에서 사용자 모드
3. configure terminal - config모드
4. CTRL+Z, exit

4) 라우터 암호 설정

enable 실행 후 Privileged EXEC 모드로 진입
1. configure terminal(conf t)
2. line console 0
3. password " "
4. CTRL+Z

5) 라우터 자체 보안 설정

  1. 기본 접근통제
    -사용자마다 계정 및 패스워드 설정 후 원격에서 텔넷을 이용하여 접속할 때 계정 및 패스워드 이용하여 로그인하도록 서정
    -IP 주소 필터링으로 보안 강화 가능
    -라우터 0에서 15단계까지 권한 레벨이 있으므로 사용자별로 권한 수준을 지정
  2. 불필요한 프로토콜과 서비스 제거
  3. no service udp-small-servers
  4. no service pad
  5. no service finger

6) 액세스 리스트

  1. 패킷의 소스 IP만으로 허용하거나 차단
    Extended 액세스 리스트
    access-list ACL-No [permit][protocol] s_ip s_mask d_ip d_mask [eq|gt] port [extablished]
    -패킷의 소스IP뿐만 아니라 목적지IP, 포트, 프로토콜 등을 이용하여 차단 가능

7) 라우터를 이용한 네트워크 보안 설정

라우터를 이용한 네트워크 보안 설정 이해

  • ingress 필터링 설정
    -> standard 또는 extended access-list를 활용하여 라우터 내부의 사내 네트워크로 유입되는 패킷을 필터링하는 것
    ->외부에서 내부로 유입되는 IP주소가 내부의 IP주소라면 공격자이므로 차단해야한다
  • egress 필터링 설정
    ->내부에서 라우터 외부로 나가는 패킷의 소스 ip를 체크하여 필터링 하는 것
  • Null routing을 이용한 필터링
    ->access-list와 함께 유용하게 사용할 수 있는 필터링 기법으로는 blackhole 필터링이 있다
    ->특정한 ip 또는 ip대역에 대해서는 Null이라는 가상의 쓰레기 인터페이스로 보내도록 함으로써 패킷의 통신이 되지 않도록 하는 것
  • Unicast RPF를 이용한 필터링
    ->인터페이스를 통해 들어오는 패킷의 소스 ip에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인하는 것

네트워크 장비의 이해

1. 네트워크 장비의 이해

(1) 랜카드

PC 혹은 네트워크에서 전달되는 정보를 상호 교환할 수 있도록 만들어 준다.

(2) 허브

오직 물리계층에서만 동작하는 장비.
필터링 기능이 없다

(3) 브리지

패킷 프레임에 대한 인지능력이 있다.
데이터링크 계층인 MAC에서 동작. 둘 이상의 네트워크를 상호연결하는데 사용

(4) 스위치

리피터와 브리지의 기능을 결합. 전기적 신호를 증폭하며 내장 회로와 지능을 가진다.

4) 스위치 종류

  1. 2계층 스위치
    모든 포트에 연결된 호스트의 MAC주소를 학습하여 테이블 생성/갱신
  2. 3계층 스위치
    하드웨어를 사용한 라우터. 라우팅 스위치라고도 불린다
  3. 4계층 스위치
    포트번호를 기준으로 패킷 전송

스위칭 방법에 따른 분류
1. Store-and-Forward
들어오는 프레임을 전부 받아들인 다음에 처리를 시작하는 방식
에러 복구 능력이 뛰어나다.
2. Cut-Through
프레임이 다 들어오기를 기다리지 않고 앞에 들어오는 목적지 주소만을 본 다음 전송(48bit만 본다)
3. Fragment-Free
처음 512비트를 본다.
Cut-Through보다는 에러 처리가 뛰어남.

2. VLAN의 구성 및 관리

소프트웨어에 의해 구성한 근거리 네트워크

2) 특징

  1. 데이터링크 계층에서 브로드캐스트 도메인을 나누기 위해 사용하는 기술
  2. 태그가 상이한 네트워크로의 접근을 근본적으로 차단하여 보안성을 유지
  3. 관리자가 서로 다른 논리적 그룹에 대하여 서로 다른 보안 정책을 적용

3) VLAN 종류

  1. Port 기반
  2. MAC 기반
  3. 네트워크 주소 기반
  4. 프로토콜 기반
  5. 멀티캐스트 IP 기반
  6. 조합

무선통신 보안

4) 무선랜 접근제어

CSMA/CD 알고리즘은 다음의 이유로 무선랜에서 동작하지 않는다.
1. 충돌을 감지하기 위해, 호스트는 송수신을 동시에 수신해야 한다.
2. 숨겨진 지국때문에 충돌이 발생하더라고 감지되지 않을 수 있다
3. 기지국들 간의 거리가 멀 경우 신호 감쇠는 다른 측에서 발생하는 충돌을 감지하지 못할 수 있다.
때문에 위의 문제를 해결하기 위해서 CSMA/CA가 무선 LAN에서 사용된다.

무선랜설명
802.11b2.4GHz, 11Mbps
802.11a5GHz, 54Mbps
802.11g고속통신이 가능 24Mbps, 옵션(54Mbps)
802.11iWPA-1/2 규격 포함
802.11n직교 주파수 분할 다중화 방식, 최대 600Mbps

2. 무선랜 보안

(1) 무선랜 보안 취약점 분석

1) 무선랜의 물리적 취약점

  1. 도난 및 파손
  2. 구성설정 초기화
  3. 전원 차단
  4. LAN 차단

2) 무선랜의 기술적 취약점

  1. 도청
  2. DoS
  3. 불법 AP
  4. 무선 암호화 방식
  5. 비인가 접근

(2) 무선랜 인증 기술

  1. SSID 설정
    SSID 값을 NULL로 설정하여 연결 시도 차단
  2. 폐쇄 시스템 운영
    SSID 숨김
  3. MAC 주소 인증
  4. WEP 인증
    AP에 대한 인증을 하지 않고, 단방향 인증으로 인해 악의적인 목적으로 운영되는 복제 AP를 이용해 정상 사용자의 정상 AP로의 접근을 막거나 복제 AP로 접속하도록 유도
  5. EAP 인증
    1. 802.1x보안
    • 브리지 혹은 무선 AP에서의 물리적인 포트 사용권을 획득하는 절차를 규정
    • 외부 단말이 내부 네트워크로 접근하고자 할 때 AP에서 인증을 수행하여 접근 통제할 수 있도록 함

(3) 무선랜 암호화 기술

1) WEP(Wired Equivalent Privacy)

서로 같은 공유키를 갖는 사람을 정상 사용자로 인증하는 방식
암호화 절차
1. 공유키와 난수 발생기를 이용하여 키스트림 생성하여 평문과 XOR연산하여 암호문 생성
2. CRC-32알고리즘으로 구성되는 ICV를 사용하여 무결성 제공
복호화 절차
1. 초기 벡터값을 추출하여 수신자가 갖고있는 WEP키를 암호키로 난수발생기에서 난수를 생성 후 키스트림을 구성한다. 구성된 키스트림과 암호문을 XOR연산하여 복호화.
2. 복호화된 평문의 데이터와 ICV를 이용하여 무결성 체크

2) TKIP(Temporal Key Integrity Protocol)

WEP를 보완하기 위해 나온 기술
TKIP 보안 기술
- 48bit의 확장된 초기벡터
- IV의 순차적 증가 규칙을 보완하여 재생공격 방지
- CRC32보다 안전한 MIC를 사용
취약점
여전히 RC4를 사용하여 WEP의 기본적인 취약점을 가지고 있다.

3) CCMP(Counter mode with CBC-MAC Protocol)

  • AES블록 암호를 사용
  • 128비트의 대칭키 사용, 48비트 IV사용
  • 802.11 헤더의 무결성 보장

(4) 무선랜 인증 및 암호화 복합 기술

  1. WPA
  • 하드웨어 변경없이 소프트웨어의 업그레이드로 지원 가능
  • 주요 기술로 TKIP
  • 802.1x EAP를 기반으로 강력한 사용자 인증 제공
  • RADIUS, Kerberos, 기타 다른 인증서버와 호환
  • AP에서 비밀번호 수동으로 설정할 수 있는 사전 공유 키 방식 제공
  1. WPA2
  • TKIP대신 AES에 기반을 둔 CCMP 암호화 방식 사용.
  1. WPA-PSK(Wi-Fi Protected Access Pre-Shared Key)
  • PSK인증 방식은 인증 서버가 설치되지 않은 소규모 망에서 사용되는 방식
  • 단말기가 자신과 동일한 공유키(PSK)를 가지고 있는지 확인(4-way handshake)

3. WAP(Wireless Application Protocol)

모바일 사용자에게 무선전화기나 기타 인터넷과 웹을 포함하는 정보 서비스를 제공하는 무선 단말기를 위한 표준
규칙

  • WWW 프로그래밍 모델에 기반
  • XML과 무선 마크업 언어
  • 경량 통신의 프로토콜 스펙
  • 무선 전화 응용(WTA)을 위한 프레임워크
  • 모바일 무선 단말기에 적합한 소형 브라우저의 규격

5) WAP 프로토콜 구조

  1. 무선 세션 프로토콜
  2. 무선 트랜잭션 프로토콜
  3. 무선 데이터그램 프로토콜

(2) WTLS(무선 전송 계층 보안)

모바일 장비와 WAP 게이트웨이 간의 보안 서비스 제공
SSL을 보완하여 구성. TLS프로토콜에 기반을 두고 있다
클라이언트와 게이트웨이 사이에는 WTLS를 사용하고 게이트웨이와 목적지는 TLS를 사용
기능

  • 데이터 무결성
  • 프라이버시
  • 인증
  • DoS 보호

4. 디바이스 인증기술(기기인증)

다양한 기기의 운영을 위하여 해당 기기를 식별하고 진위를 판단할 수 있는 신뢰된 인증방법. 기기인증서 기반의 인증을 의미한다.

2) 도입 배경

  1. 사양의 고도화
  2. 네트워크 환경의 변화
  3. 서비스의 다양화
  4. 해킹 수법의 발전
    • 스턱스넷 : 독일 지멘스사의 원격 감시 제어 시스템(SCADA)의 제어 SW에 침투하여 시스템을 마비시키도록 만든 악성 코드.

3) 도입의 장점

  1. 보안성
  2. 경제성
  3. 상호연동성

4) 기기인증 기술

  1. ID/PW 기반 인증
  2. MAC주소값 인증
  3. 암호 프로토콜을 활용한 인증
  4. Challenge/Response 인증

5. RFID(Radio-Frequency Identification)

무선 주파수를 이용해 ID를 식별하는 방식으로 전자태그로 불린다
수동형, 능동형으로 나뉜다

2) RFID의 네트워크 공격유형

  1. 도청
  2. 트래픽분석
  3. 위조
  4. DoS

3) RFID 보안기술

암호기술 이용X
1. 킬 명령어
2. Sleep 명령과 Wake 명령어
3. 블로커 태그
4. Faraday Cage
5. Jamming
암호기술 이용O
1. 해시 락
2. XOR기반 원타임 패드

6. 모바일 보안

(1) BYOD 보안 기술

  1. 모바일 단말 관리(MDM, Mobile Device Management)
    IT부서가 기기를 완전히 제어할 수 있도록 직원의 스마트패드와 스마트폰에 잠금/제어/암호화/보안 정책 실행을 할 수 있는 기능 제공
  2. 컨테이너화(containerization)
    하나의 모바일 기기 내에 업무용과 개인용 영역을 구분
  3. 모바일 가상화(Hypervisors)
    하나의 모바일 기기에 개인용과 업무용 운영체제를 동시에 담아 개인과 사무 정보를 완전히 분리
  4. MAM(Mobile Application Management)
    기기에 설치된 업무 관련 앱에만 보안 및 관리 기능 적용
  5. NAC(Network Access Control)
    기업 내부 네트워크 접근 전 보안 정책 준수했는지 여부 검사

네트워크 관리

2. SNMP(Simple Network Management Protocol)

관리자는 보통 라우터나 서버인 에이전트의 집단을 제어하고 감시
관리 대상 장치의 물리적 특성과 하부 네트워크 기술로부터 관리 작업을 분리한다.
SNMP는 관리 작업을 수행하기 위해 SMI, MIB를 사용한다.
기반도구
1. NMS(Network Management System)
2. MRTG(Multiple Rouler Traffic Grapher)

SNMP의 역할
1. 관리자와 에이전트 사이에 교환되는 패킷의 형식을 정의
2. SNMP 패킷에서 객체(변수)의 상태(값)를 읽고 변경

SMI의 역할
객체에 이름을 붙이고 객체 유형을 정의. 객체와 값을 부호화하는 방법을 나타내기 위한 일반적인 규칙을 정의

MIB의 역할
관리될 각 개체를 위해 객체의 수를 결정, SMI에 의해 정의된 규칙에 따라 이름을 붙인다.

4) SNMP 주요 연산

SNMP는 다음을 가능하게 해준다
1. 관리자가 에이전트에서 정의된 객체의 값을 읽는다
2. 관리자가 에이전트에서 정의된 객체의 값을 저장한다.
3. 에이전트가 비정상적 상황에 대한 경고 메시지를 관리자에게 보낸다.

PDU
SNMPv3은 8가지 유형의 프로토콜 데이터 유닛을 정의한다

  • GetRequest
  • GetNextRequest
  • GetBulkRequest
  • SetRequest
  • Response
  • Trap(서버에서 클라이언트)
  • InformRequest
  • Report

3. 원격접속 서비스

(1) 원격접속 프로토콜

2) Rlogin

원격 로그인을 의미한다. 인터넷 표준이 아니며 BSD 계열 시스템 간의 원격접속을 위해 설계.

3) SSH

TELNET보다 안전한 통신. 공개키 암호화 기법 사용
주요기능
1. 인증
2. 기밀성 유지 : 암호화
3. 무결성 : MAC
4. 압축
5. 포트 포워딩

네트워크 기반 프로그램 활용

1. 네트워크 기반 프로그램 활용

1) 연결테스트(ping)

접속하려는 원격 호스트가 정상적으로 운영되고 있는지 확인하는 진단 목적.
ICMP를 이용하는 유틸리티이며, Echo Request(TYPE 8), Echo Reply(TYPE 0)을 송수신함으로써 접근성을 확인
도메인 명을 이용하여 접속대상 시스템의 IP주소를 알아낼 때도 효과적이다.

2) 경로추적(traceroute)

  1. 라우팅 문제점을 찾아내는 목적으로 많이 사용
  2. TTL을 하나씩 증가시켜 보냄
  3. TTL을 갖는 UDP 패킷은 두 번째 라우터에 도달하여 소멸된다. 목적지에 도달할 때까지 패킷을 보내는데 사용 불가능한 포트 33434를 붙여서 간다
  4. Unreachable Port라는 ICMP 메시지를 받으면 trace가 목적지에 도달했음을 알 수 있게 된다. 우연히 도달하는 것을 방지하기 위해 정확히 3개의 UDP 패킷을 보낸다

3) 네트워크 인터페이스 진단(netstat)

netstat 옵션

  • r : 라우팅 정보 출력
  • i : 인터페이스에 대한 정보 출력
  • s : 프로토콜에 대한 통계 정보 출력
  • a : 모든 소켓 정보 출력
  • n : 네트워크 주소를 숫자로 표시
    state 값
  • Listen : 연결요청 기다림
  • SYN-SENT : 원격 호스트로 연결을 요청한 상태
  • SYN-RECV : 서버가 클라이언트의 확인 메시지를 받지 않은 상태
  • ESTABLISHED : 서로 연결된 상태

5) 네트워크 패킷/로그 분석(tcpdump)

tcpdump는 네트워크 인터페이스를 거치는 패킷의 내용을 출력해주는 프로그램
네트워크 관리를 위해 개발되었다.

7) ipconfig 유틸리티

옵션/인자설명
(없음)IP주소, 서브넷 마스크, 기본 게이트웨이 출력
/all호스트 인터페이스에 대한 구체적인 정보 출력
/releaseDHCP 임대를 종료
/renewDHCP 임대 수동 갱신
/displaydnsDNS 캐시의 내용 출력
/flushdnsDNS 캐시 내용 삭제
/registerdnsDHCP 임대 갱신, 호스트와 연관된 DNS 이름을 재등록

네트워크 기반 공격의 이해

1. 네트워크 기반 위협

2) 네트워크 위협의 유형

구분수동적공격능동적공격
특징직접적인 피해 없음직접적인 피해 있음
탐지 가능성어려움쉬움
예시스니핑, 도청재전송 공격, Dos/DDoS, 세션하이재킹

2. 네트워크 기반 보안위협 및 대응책

(1) DoS

2) TCP SYN Flooding

  • 3way-handshaking과정에서 Half-Open연결 시도가 가능하다는 취약점 이용.
  • 공격자가 다수의 SYN 신호를 피해자한테 전송. 대상의 SYN+ACK에 대한 ACK응답을 하지 않는다. 대상 시스템은 신호를 기다리게 됨
    대책
  1. 동일 IP의 연결 요청에 대한 임계치 설정을 통해 차단한다.
  2. 클라이언트로부터 SYN패킷을 받더라도 Syn_Cookie만 보내놓고 세션을 닫아버린다.
  3. TCP 연결 테이블(Backlog Queue) 엔트리 선택적 삭제 기법으로 연결 테이블이 오버플로우 되면

3) Smurf

출발지 IP주소를 목표 시스템으로 스푸핑. 목적지 주소를 직접 브로드캐스트 주소로 설정한 ping 메시지를 수신한 네트워크 내의 모든 시스템이 ping 응답 메시지를 출발지 주소인 목표 시스템으로 전송하는 것
증폭 네트워크를 통해 ICMP Echo Request 브로드캐스트 메시지를 받아 Reply를 대량 전송
공격방법
1. 출발지 IP를 목적지 IP주소로 위장하여 ICMP 브로드캐스트로 다수의 시스템에 전송
2. ICMP 브로드캐스트 수신한 시스템은 Reply패킷을 공격대상 서버로 전송
3. 공격대상 시스템은 다수의 Relpy를 받아 시스템 성능에 문제 야기
보안대책
1. 라우터에서 IP directed broadcast패킷을 막도록 설정
2. 호스트는 IP broadcast address로 전송된 ICMP패킷에 대해 응답하지 않도록 설정
3. 동일한 ICMP Echo Reply 패킷이 다량으로 발생하면 IPS로 차단

4) Flooding

  • ICMP Flood
    Smurf라고도 한다
  • UDP Flood
    Fraggle이라고도 한다
    비연결성/비신뢰성 때문에 공격이 용이하다. 주로 echo, chargen 서비스를 이용한다.
    UDP 7번 포트로 echo a를 보내면 a를 응ekq
    UDP 19번 포트로 chargen에 들어오는 0~512까지 무작위로 선택된 문자를 가진 패킷으로 돌려주는 서비스를 제공
    이 두 서비스는 네트워크 진단을 위한 목적으로 사용되고 있다.

5) Land Attack

패킷 전송할 때 출발지 IP주소와 목적지 IP주소값을 똑같이 만든다
보안대책

  • 탐지방법
    1. 소스IP, 목적지IP 같은지 확인
    2. 공격인정 시간 내에 공격인정 횟수가 많으면 탐지
  • 조치방법
    1. 자신의 시스템 주소와 동일한 주소를 가진 패킷 필터링

6) Ping of Death

  • ping을 이용하여 ICMP 패킷을 정상 크기보다 아주크게 만드는 것
  • 크게 만들어진 패킷은 라우팅되어 공격 네트워크에 도달하는 동안 아주 작은 조각을 쪼개짐
  • 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 성능 저하가 일어난다
    보안대책
  • 보통 ICMP는 분할하지 않으므로 분할된 패킷을 공격 의심 탐지하는 방식

7) Teardrop

  • 패킷 전송시 IP 단편화가 일어나는데 단편화 간에 오프셋을 중복되도록 고의적으로 수정하거나 정상적인 오프셋 크기보다 크게하여 오버플로우 일으켜 기능을 마비 시키는 것
    보안대책
    - 근본적인 해결을 위해서는 시스템 OS가 취약점을 갖지 않도록 패치하는 것

8) Inconsistent Fragmentation

  1. Bonk
    1. 패킷을 Fragment하여 전송할 때 패킷 조작하여 시스템 부하를 증가시키는 공격
    2. 첫 패킷을 1번으로 보낸 후 다음 패킷 순서번호를 모두 1번으로 조작
  2. Boink
    1. 첫 패킷 1번으로 보낸 후 다음 패킷을 100번 다음 패킷을 200번 등 정상적으로 보내다가 20번 째 패킷을 2002, 2002등으로 중간에 패킷 시퀸스 번호를 비정상적인 상태로 보내는 공격기술
    보안대책
  • SYN Flooding, Ping of Death 대응책과 같다

(2) DDoS 공격

3) 구성요소

구성요소설명
공격자, 봇마스터공격을 주도하는 해커의 PC. 서버에 공격명령을 전달
마스터, C&C서버공격자에게 직접 명령을 받은 시스템으로 여러 대의 에이전트를 관리
핸들러마스터 시스템의 역할을 수행
에이전트공격 대상에 직접적인 공격을 가하는 시스템, 악성코드에 감염된 시스템
데몬에이전트 시스템 역할을 수행하는 프로그램
표적공격대상이 되는 시스템

4) 공격 대응 절차

  1. 공격 인지

  2. DDoS 공격 유형 파악

    공격유형공격기법대응방안
    대역폭 소진UDP/ICMP Flooding웹 방화벽이나 라우터에서 해당 프로토콜 차단하는 ACL 설정
    TCP FloodingIP별로 PPS 임계치 설정
    웹서버 자원 소모SYN/ACK/FIN Flooding소스IP별로 PPS임계치 설정, 패킷 헤더 검사를 통해 비정상적인 옵션 차단
    DB연결 부하 유발Get/Post Flooding클라이언트 요청 수 임계치 설정, HTTP 표준헤더에 어긋나면 차단
    웹서버 자원 소모Slow Header/Date Flooding완료되지 않은 연결 상태를 지속적으로 유지시키므로 연결 타임아웃을 설정
  3. 공격 유형에 따른 차단정책 정의 및 대응

  4. 공격 대응 후, 사후 조치

5) DDoS 공격 사례

  1. 트리누(Trinoo)
    많은 호스트로부터 통합된 UDP flood 서비스거부 공격을 유발하는데 사용되는 도구는 몇 개의 서버와 많은 수의 클라이언트로 이루어진다
  2. TFN
    믹스터가 개발했고, 트리누와 유사하지만 소스에서 하나 혹은 여러개의 목표 시스템에 대해 DoS공격 수행. UDP 뿐만 아니라 TCP SYN, ICMP echo request, ICMP 브로드캐스트 공격이 가능하다
  3. Stacheldraht
    트리누와 TFN을 참고하여 이들이 갖고 있는 특성을 대부분 가지고 있다. 마스터 시스템 및 자동적으로 업데이트되는 에이전트 데몬 사이에 통신을 할 때 암호화하는 기능 추가
  4. TFN2K
    통신에 특정 포트가 사용되지 않고 암호화되어 있다. UDP, TCP, ICMP가 복합적으로 사용되며 포트도 임의로 결정된다. 지정된 TCP 포트에 백도어 실행 가능

7) 최신 DDoS 공격유형 설명

  1. UDP/ICMP Traffic Flooding
  • UDP/ICMP Flooding
    다량의 UDP/ICMP 패킷을 서버로 전송하여 대역폭 가득 채워서 정상적인 서비스 못하도록하는 공격
  • DNS Query Flooding
    DNS 쿼리를 대량으로 보내 정상적인 서비스를 방해하는 공격
  1. TCP Traffic Flooding
  • SYN Flooding
    SYT 패킷을 다량으로 보내 서버의 대기큐를 가득채워 다른 클라이언트의 연결요청을 무시하도록 하는 공격
  • TCP Flag Flooding
    Flag값을 임의로 조작하면 SYN, ACK, FIN, RST과 같이 여러 형태의 패킷 생성이 가능하다. 서버는 이러한 패킷을 수신하는 경우 해당 패킷을 검증하기 때문에 서버의 자원을 소모한다.
  1. IP Flooding
    - LAND
    인위적으로 소스IP와 Port를 목적지 IP, Port와 동일하게 설정
    - TearDrop
    IP 데이터그램을 조작하거나 순서를 뒤바꾸어 전송

  2. HTTP Traffic Flooding
    - GET Flooding
    3-way 핸드셰이킹 과정을 통해 접속 한 뒤 특정 페이지를 GET Method를 통해 무한대로 실행
    - GET Flooding with Cache-Control(CC Attack)
    웹서버 부하 감소를 위해 캐싱서버를 운영. 공격자는 HTTP 메시지의 캐시 옵션을 조작하여 캐싱서버가 아닌 웹서버가 직접 처리하도록 유도하여 캐싱서버의 기능을 무력화하고 웹서버의 자원을 소진시킨다.
    - 동적 HTTP Request Flooding
    Get/CC 공격과 달리 요청 페이지를 변경하여 웹 페이지를 요청하는 기법

  3. HTTP Header/Option Spoofing Flooding

종류공격원리
Slow HTTP POST DoSHTTP POST를 이용하여 서버로 전달할 대량의 데이터를 장시간에 걸쳐 분할 전송하면 서버는 POST데이터가 모두 수신되지 않았다고 판단하여 연결을 장시간 유지
Slow HTTP Header DoS(Slowloris)HTTP 메시지의 헤더부분을 먼저 수신하여 이후 수신할 데이터의 종류를 판단한다. 헤더 부분을 비정상적으로 조작하여 웹서버가 헤더정보를 구분할 수 없도록하면, 웹 서버는 HTTP 헤더정보가 모두 전달되지 않은 것으로 판단하여 연결을 장시간 유지한다
Slow HTTP Read Dos공격자는 웹서버와 TCP 연결 시, TCP 윈도우 크기 및 데이터 처리율을 감소시킨 후 HTTP 데이터를 송신하여 웹서버가 정상적으로 응답하지 못하도록 DoS상태를 유발한다.
  1. 기타 서비스 마비 공격
    • 해시도스 공격
      웹서버는 클라이언트로부터 전달받는 HTTP 메시지의 파라미터 관리를 위해 해시테이블 사용. 조작된 파라미터를 포함한 다량의 메시지는 해시테이블 검색을 위한 인덱스로 사용되는데 해시값에 충돌을 발생시켜 정확한 값을 찾기 위해 모든 해시테이블을 검사하면서 CPU 자원을 소모
    • 헐크도스
      웹서버의 가용량을 모두 사용하도록 하여 정상적인 서비스 불가능하도록 유도하는 GET Flooding공격 유형. 공격대상 웹사이트 주소를 지속적으로 변경하여 DDoS 차단정책 우회
    • SIP Flood
      Voice over IP(VoIP)에서 전화연결에 많이 사용하는 프로토콜을 SIP라고 한다. SIP Flood는 INVITE Request메시지가 상당한 양의 자원을 소모한다는 사실을 악용. SIP 프록시에 수많은 INVITE request를 가짜 시작주소에 넣어 보내거나 혹은 봇넷을 이용한 DDoS를 통해서 보낸다.

8) DNS 싱크홀

악성 봇을 조종하는 조종자를 탐지하고, 감염된 개인용 PC와 조종자 간의 접속을 차단해 2차 피해를 예방하기 위한 시스템

9) DRDoS(Distributed Reflection Denial of Service)

별도의 에이전트 설치 없이 프로토콜 구조의 취약점을 이용
형태
1. TCP 연결설정과정 : SYN을 반사서버로 보내고 반사서버에서 SYN+ACK 응답이 공격대상으로 간다
2. ICMP Echo Request/Reply : Request를 반사서버로 전달하여 Reply는 공격대상서버로 간다.
3. UDP protocol 서비스 이용
- DNS 증폭 : DNS서버에 많은 양의 레코드 정보를 요구하는 DNS질의 타입(ANY, TXT)을 요청하여 증폭
- NTP 증폭 : NTP서버에 최근 접속한 클라이언트 목록을 요청하여 대량의 응답 증폭 유발
- SNMP 증폭 : SNMP agent에 MIB와 같은 정보를 대량 요청
- Chargen 증폭 : Chargen서버에 접속 시 대량의 문자열을 전송

DRDoS가 위협적인 이유
1. 전송되는 경로가 무수히 많다.
2. 반사서버의 단계적 사용 및 확산
3. SYN 패킷 근원지의 IP를 공격대상 IP로 위조하여 전송하기 떄문에 역추적이 어려움

대응방법
1. IP주소 위조된 패킷 ISP에서 차단
2. 스위치 또는 서버에서 ICMP프로토콜 필요없는 경우 차단
3. DNS서버 악용되지 않게 점검하기
- 내부 사용자용 DNS서버라면 내부 사용자 주소만 Recursive Query가능하도록 제한
- 서버 방화벽 또는 네트워크 장비를 통해서 특정 byte이상의 DNS질의에 대안 응답을 차단하거나 동일 IP에 대해 단취 초당 임계치 설정

(3) 네트워크 스캐닝

< 자료 날라감 >

애플리케이션 보안

FTP 보안

1. 파일 관련 프로토콜

제어 연결 : 21번 포트
데이터 연결 : 20번 포트 or 1024번 포트 이후

3) FTP 연결

능동모드

  • 클라이언트 PC에 방화벽이 설치되어 외부에서 접속 허용이 안된다면 접속은 되지만 데이터 채널 연결이 안되어 파일을 받을 수 없는 문제가 발생한다.
    동작방식
    1. 클라이언트가 21번 포트로 연결
    2. 사용자가 파일 목록을 보기 위해 ls 명령어를 입력하면 클라이언트는 사용할 임시포트를 결정하여 FTP서버에게 알린다
    3. 서버는 클라이언트가 알려준 포트로 연결을 설정하여 데이터 채널을 생성

수동모드

  • 클라이언트에서 서버측 21번 포트로 접속하여 제어채널 생성하고 데이터 채널도 클라이언트에서 서버로 접속하여 데이터를 보내는 방식
    동작방식
    1. 클라이언트는 서버의 21번 포트로 연결 설정하여 제어 채널 생성
    2. 클라이언트는 PASV명령을 전송하고 서버는 사용할 임시포트를 결정하여 알려준다
    3. 클라이언트는 서버가 알려준 포트로 연결을 설정하여 데이터 채널 생성

(2) 익명 FTP

계정이나 패스워드가 필요하지 않다.

(3) TFTP(Trivial File Transfer Protocol)

  • FTP의 기능을 모두 지원할 필요가 없는 경우
  • UDP(69번 포트) 사용
  • 소프트웨어 패키지를 읽기 전용 메모리나 디스크 없는 워크스테이션에 설치할 때 주로 쓰임
  • 파일을 보내고 받기만 한다
  • 데이터 표현 방식은 ASCII와 바이너리
  • 인증기능이 없다(삭제 기능이 없는 이유)

(4) NFS와 삼바

1) NFS

  • 네트워크 상에서 파일시스템을 운영할 수 있도록 해주는 프로토콜
  • 데이터의 보안과 무결성을 보장, 인증된 네트워크 사용자가 공유된 네트워크 파일을 ㅁ마치 자신의 저장장에 있는 것처럼 사용할 수 있는 방식

2) 삼바

  • SMB 프로토콜을 사용하여 유닉스 계열 시스템과 윈도우 시스템 간에 파일 및 프린터 자원을 공유할 수 있는 기능

2. FTP 보안 위협 및 대책

1) FTP

  • 비밀번호는 평문 전송

2) SFTP

  • SSH 프로토콜의 일부분으로 SFTP라 불리는 Unix 프로그램

3) TFTP

  • 보안에 대한 고려가 없다.
  • 서버 근처 라우터에 보안을 구현 혹은 특정 호스트만 접근가능할 수 있도록 설정
  • secure mode로 운영. chroot 기능을 이용하는 것으로 지정한 디렉터리를 최상위 디렉터리로 지정하여 지정한 디렉터리의 상위 디렉터리로 접근하지 못하도록 제한

4) Bounce attack

  • 데이터 채널을 생성할 때 목적지를 확인하지 않는 FTP 설계의 구조적 취약점 이용
  • 능동모드에서 FTP서버의 파일을 요청하면 클라이언트에서 파일을 받을 IP, PORT를 지정해서 전달해준다. 이 때 IP, PORT를 요청한 클라이언트가 아닌 임의의 주소로 지정할 수 있는데 이러한 FTP설계의 취약점을 이용
  • 주로 익명 FTP를 이용
    보안
  1. FTP 원래 규약을 어느 정도 제한
  2. 다른 서비스가 20번 포트로 접속을 요청하면 거절

5) Anonymous FTP 취약점

  • 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버로의 접근 허용
  • 서버에 쓰기 권한이 있을 때 악성 코드 생성 가능
    대책
  • 반드시 사용해야하는 경우 아니면 서비스 제거
  • 루트 디렉터리의 소유자와 퍼미션 관리

6) FTP 접근 제어 설정

ftpusers 파일을 통한 접근 제어

  • FTP서비스는 평문 송수신이므로 중요 계정에 대해서는 직접 접속을 제한
  • ftpusers 파일은 접속을 제한할 계정정보를 담는 설정파일. root등 중요 계정을 명시
    TCPWrapper를 통한 접근 제어
  • hosts.allow/deny 파일을 이용하여 IP 기반 접근 제어

3. FTP 서비스 운영

1) proftpd

특징

  • wu-ftpd의 대안으로 개발
  • 안정적이고 빠름
  • xinetd / standalone 형태로 작동 가능

ftp 접속 시 확인 설정

  • /etc/passwd, /etc/shadow에 사용자가 있는지 검사
  • /etc/ftpusers에 사용자 id가 있으면 거부
  • /etc/shell/에 등록되지 않은 셸을 사용하는 유저 거부

2) vsftpd(Very Secure FTP Daemon)

주요기능

  • 가상 IP별 별도의 환경 설정 기능
  • 가상 사용자 설정
  • 전송 대역폭 지정
  • PAM 지원
  • xferlog 표준 로그 파일보다 상세한 자체 로그 파일 형식 지원
  • Standalone방식과 inetd를 통한 운영 모두 지원
  • IP별로 다른 환경 파일 지정 기능

이메일 보안

1. 이메일 관련 프로토콜

(1) 전자우편의 구조

  • 메시지를 작성하기 위해 UA 프로그램 호출
  • 전자 우편 서버로 메시지 전송하기 위해 MTA 프로그램 사용
  • 메시지를 검색하고자 할 때 MAA프로그램 호출
    MTA, MAA는 각 서버에 설치되어 있는 서버 기능을 갖는 C/S 프로그램으로 구성

(2) SMTP

  • 송신자와 송신자의 메일 서버 사이 그리고 두 메일 서버들 사이에서 총 두번 사용
    특징
  • SMTP는 이메일을 암호화하여 이메일 전송을 보호하는 기능을 지원안함
  • SMTP가 이메일을 전달할 때 DNS을 통해 사용자의 메일 서버를 찾은 후 직접 보낸다
    명령
    Keyword:argument(s)
    - HELO
    - EHLO
    - MAIL
    - RCPT
    - DATA
    - RSET
    - VRFY
    - EXPN 등

(3) POP, IMAP

1) POP3

  • 클라이언트, 서버 POP3 소프트웨어 존재
  • 사용자가 메일 서버에 있는 편지함에서 전자우편을 내려 받을 필요가 있을 때 클라이언트에서 시작
  • TCP 110번 포트로 연결
  • USER/PASS 명령을 송신

2) IMAP4

  • TCP 143포트 사용
  • 헤더/특정 문자열 검사
  • 편지함에서 생성, 수정, 삭제 가능
  • 폴더 체계적 생성 가능
  • 부분적으로 내려받기 가능

2. 이메일 콘텐츠 보안을 위한 보안 기술

(1) PEM(Privacy Enhanced Mail)

  • 기밀성, 인증, 무결성, 부인방지를 지원하는 이메일 보안 기술
  • 암호화된 정보, 전자서명, 암호화 방법 등의 내용을 본문에 텍스트 형식으로 전송
  • 사양이 방대하며 구현이 복잡하여 많이 사용되지 않는다

(2) PGP(Pretty Good Privacy)

  • 구현이 용이하여 가장 널리 사용됨 + 무료, 안전함, 다양한 영역 응용 가능
  • 전자서명을 이용하여 인증 제공
  • 대칭 블록암호를 이용하여 기밀성
  • ZIP 압축 제공
  • 기수-64 부호화 시스템으로 호환성 제공
  • 긴 전자우편 데이터를 전송할 수 있도록 단편화 조립 제공

3) PGP 보안 서비스

기밀성
- 알고리즘(3DES, IDEA, CAST, RSA)
송신자가 생성한 일회용 세션키로 메시지 암호화, 수신자의 공개키로 RSA이용하여 세션키 암호화하고 메시지 첨부
- 인증(RSA, DSS, SHA-1, MD5, RIPEME-160
해시 알고리즘을 이용해서 메시지 다이제스트를 생성, 송신자의 개인키로 DSS나 RSA이용 암호화, 그리고 메시지에 첨부
- 압축(ZIP)
- 전자 우편 호환성(RadiX-64 변환)
ASCII 부호로 변환
- 분할 및 재결합
최대 메시지 사이즈 제한으로 인한 데이터의 분할 및 재결합

5) PGP 인증서

  • CA가 필요없다. 링에 속해 있는 사용자라면 누구라도 인증서에 서명 가능
  • 신뢰에 대한 계층 구조가 없다.

(3) S/MIME

1) MIME
  • ASCII가 아닌 데이터가 송신될 수 있도록 허용하는 부가적인 프로토콜
  • 데이터는 NVT ASCII데이터로 변환된다.

2) S/MIME

  • PEM 구현의 복잡성, PGP의 낮은 보안성과 기존 시스템 통합이 용이하지 않다는 점을 보완하기 위해 IETF의 작업 그룹에서 RSADSI의 기술을 기반으로 개발된 전자 우편 보안 시스템
  • MIME 객체를 전송할 수 있는 모든 프로토콜에서 보안 서비스 이용할 수 있게 한다
  • 기밀성, 무결성, 사용자 인증, 송신 사실 부인 방지
    보안서비스
  • 디지털 서명 표준(DSS) 사용하고 디피-헬만으로 세션키 암호화
  • 전자서명 생성하기 위해 해시함수 SHA-1, ME5, 3DES로 메시지 암호화
  • 전자서명과 세션키 암호화 모두를 위해 RSA알고리즘 사용
  • RFC 2634에서 4가지 강화면 보안 서비스
    • 서명된 수령증
    • 보안 레이블
    • 안전한 메일링 목록
    • 서명 인증서

3. 스팸 메일 보안 대응 기술

(1) 스팸 메일의 대응 방안

1) 기술적 대응 방안

메일 서버 수신 차단

  • 콘텐츠 필터링 : 헤더, 제목, 특정 메시지 내용, 문장 패턴을 이용하여 차단
  • 송신자 필터링 : IP, 주소, URL 등의 정보를 포함한 스팸 발신처 블랙리스트 관리
  • 네트워크 레벨 필터링 : 패킷 필터링, DNS 변경
  • 발송량 기준 차단 : 특정 용량 이상의 메일 수신 시 이후 수신 메일 차단
  • 시간대별 차단 : 업무 시간 외 외부메일 차단

메일 서버 보안

  • 릴레이 스팸 방지 : 액세를 DB를 통한 송신자별 릴레이 허용 여부 설정 기능
  • Aril-SPAM 솔루션 도입 : 별도의 스팸 차단 보안 솔루션 도입

메일 클라이언트 보안

  • 콘텐츠 필터링 : 특정 단어 포함된 필터링 규칙 적용
  • 송신자 필터링 : 수신 거부 등 별도의 블랙리스트 관리

2) 메일 서버 등록제(SPF)

정의

  • 발송지 IP가 실제로 메일을 발송한 서버 IP와 일치하는지를 비교하여 위변조 여부 파악하는 기술
  • 발송자의 서버를 DNS에 미리 등록하고 수신자의 서버에 메일이 도착하면 등록된 서버로부터 발신되었는지 확인하여 스팸 메일 차단하는 기능

특징

  • 수신자에게 전달되기 전에 각 포털 업체 메일 서버에서 자동으로 차단
  • 서버 및 네트워크 자원 소모가 낮고 과오 차단의 가능성이 낮다
  • 오픈 소스

스팸 필터 솔루션의 기능

  • 메일 헤더 필터링
  • 제목 필터링
  • 본문 필터링
  • 첨부파일 필터링

보안도구

  • Procmail : Sendmail.cf에 포함시키거나 사용자 디렉터리에 forward 파일을 위치시켜 실행시키는 Plug-in 형식으로 쓰임. 제목, 크기, 내용 등의 단일/다중 기준으로 필터링 가능
  • Sanitizer : 모든 공격에 효과적으로 대응해주는 procmail ruleset이다. MS Office매크로 검사, 악성 매크로 score기능, 감염된 메시지 보관 장소 설정 기능 제공
  • Inflex : 메일서버에서 로컬이나 외부로 나가는 이메일에 대한 Inbound/Outbound정책. 첨부파일만 필터링 가능
  • SpamAssassin : 오픈 소스. Perl로 개발. 헤더 내용, 화이트/블랙 리스트, RBL등의 다양한 분류로 메일 필터링 가능

4. sendmail

  • SMTP 프로토콜을 통해서 메일 서비스 기능
  • 메일 서버간에 메일을 주고받는 역할

3) 스팸 메일 방지법

제어 옵션설명
RELAYRELAY허용. 관련 메일의 수신 또는 발신 허용
REJECTRELAY를 허용 안함. 관련 메일의 수신 거부
DISCARD메일 받은 후 폐기. 메일발신자에게 폐기통보 안함
OK조건없이 허용. 관려 메일의 모든 것을 realy
501 메시지메일 주소가 일부분 이상 일치할 경우 지정된 메시지로 거부
502 메시지발신 메일주소에 host명이 없을 경우에 메일을 받지 않는다

웹 보안

2) 웹 트래픽 보안 방법

  1. IPSec : 종단 사용자의 응용에 투명성을 제공
  2. 소켓 계층 : SSL, 전송 계층 : TLS

2. 월드와이드웹과 HTTP

(1) 하이퍼텍스트 전송 프로토콜(HTTP)

  • 웹에서 웹 페이지를 가져오기 위해 어떻게 C-S 서버 프로그램이 작성될 수 있는지를 정의하는데 사용
  • 서버는 80, 클라이언트는 임시포트 사용

3) HTTP 트랜잭션

HTTP는 TCP를 이용하지만 HTTP자체에 상태가 존재하지 않는(stateless) 프로토콜이다. 클라이언트의 정보가 서버에 저장되어 있지 않다는 의미이다.
요청메시지

  • 요청라인
    • 첫 줄은 요청라인이라고 부른다. 세 개의 필드(메소드, URL, 버전)가 존재
      • 메소드
        - GET : 웹서버에 저장된 정보를 단순히 요청. URL로 인수 전달
        - POST : 웹서버로 데이터를 전송할 때 사용하는 방법
        - HEAD : 메시지 바디를 제외하고 헤더부만 응답해주는 메소드. URL 유효성 검증을 위해 사용
        - PUT : 헤더 및 바디에 포함하며 바디에 콘텐츠 내용을 덧붙여 원격지 서버에 지정한 콘텐츠를 저장하기 위한 목적.
        - DELETE : 권한이 있다면 웹페이지 제거하는 것을 허용
        - TRACE : 디버깅에 사용
        - OPTIONS : 시스템에서 지원되는 메소드 종류 확인
        - CONNECT : 서버에 프록시 기능 요청할 때 사용
      • 요청 헤더라인
        • Host : 요청의 대상이 되는 서버의 도메인명 및 포트정보
        • User-Agent : 요청 클라이언트 애플리케이션/OS 정보
        • Referer : 현재 요청 URL 정보를 담고 있는 이전 문서의 URL 정보
      • 빈 라인
        헤더의 끝을 의미하는 개행.
      • 본체(Body)
        PUT, POST 때 송신될 주석이나웹사이트에 게시될 파일을 담고 있다.

응답메시지

  • 상태라인 : 첫 줄은 상태라인이라 부른다. 첫 필드는 HTTP 프로토콜의 버전
  • 응답 헤더 라인 : 송신자는 문서에 대한 부가 정보를 보낼 수 있다.
    • Content-Type : 메시지 바디의 데이터 형식
    • Content-Length : 메시지 바디의 전체 크기
  • 빈 라인 : 헤더의 끝을 의미하는 개행.
  • 본체 : 서버에서 클라이언트로 전송되는 문서를 포함.

3. SSL/TLS

  • TCP 기반 종단간 보안서비스 제공하기 위해 만들어진 전송계층 보안 프로토콜
  • SSL/TLS에서 대칭키/공개키 암호, 일방향 해시함수, MAC, 의사난수 생성기, 전자서명을 조합해서 안전한 통신 수행

3) SSL/TLS상의 HTTP

  • 통신내용을 암호화해주는 프로토콜

4) SSL/TLS 보안 서비스

  • 기밀성 서비스
  • 클라이언트와 서버 상호 인증
  • 메시지 무결성 서비스

5) 암호 스위트(cipher suite)

  • 암호 기술의 결함이 발견되었을 때 부품과 같이 교환할 수 있다
  • 클라이언트와 서버가 같은 암호 기술을 사용하지 않으면 통신을 할 수 없어 상호운영성을 확보하기 어려워지기 때문에 뭐든지 자유롭게 고를 수 있는 것은 아니다

6) SSL vs TLS

  • 웹 브라우저인 Netscape Navigator에 내장
  • SSL3.0은 푸들공격 취약점이 있다.(프로토콜 버전 다운 그레이드 공격)
  • TLS는 SSL3.0을 기초해서 만든 프로토콜
  • TLS 1.1에 대칭 암호 알고리즘 AES가 추가
  • TLS 1.2에는 GCM, CCM을 사용할 수 있게 되었다. HMAC-SHA 256추가

TLS

  • 인터넷 표준 상업적 프로토콜인 안전한 소켓 계층으로 진화

2) TLS 구조

  • Record
    TLS 상위 프로토콜로부터 오는 메시지 전송. 전송계층의 페이로드
  • Handshake
    Record 프로토콜에 대한 보안 매개변수 제공. 암호 집합 설정 및 키와 보안 매개변수 제공
  • ChangeCipherSpec
    암호학적 비밀을 신속하게 보내는 데 사용
  • Heartbeat
    프로토콜 개체의 가용성을 모니터링 할 때 사용하는 프로토콜

3) Handshake 프로토콜

  • 서버와 클라이언트가 서로 인증하고 암호화 MAC 알고리즘, TLS 레코드 안에 보낸 데이터를 보호하는데 사용할 암호키를 협상
    단계별 세부 내용
  • HelloRequest
  • ClientHello
  • ServerHello
  • ServerCertificate
  • ServerKeyExchange
  • CertificateRequest
  • ServerHelloDone
  • ClientCertificate
  • CertificateVerify
  • ChangeCipherSpec, Finished

4) Record 프로토콜

  • 기밀성, 메시지 무결성 서비스 제공

6) Alert 프로토콜

  • 오류를 통보하기 위해
  • 각 메시지는 2바이트로 구성

7) 하트비트 프로토콜

  • 정상적으로 동작한다는 것을 나타내기 위해서 또는 시스템의 다른 부분과 동기화를 하기 위해서 HW, SW가 생성하는 주기적 신호
  • 가용성을 모니터링 할 떄 사용하는 프로토콜

8) SSL/TLS 공격

OpenSSL의 HeartBleed 취약점(2014년 4월)

  • OpenSSL 암호화 라이브러리 하트비트라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있는 취약점
  • 원격에서 발생 가능한 취약점.
  • 노출 가능한 정보 : SSL 서버 비밀키/세션키, 쿠키 및 개인정보
    대응책
  • 하트비트 확장을 사용하지 않는 옵션을 부착해 재컴파일
  • SSL/TLS 개인키 유출되었을 가능성 배제할 수 없기에 인증서 재발급 검토

**SSL 3.0 취약점과 푸들공격

  • TLS사용해도 SSL 3.0으로 다운그레이드 당하여 푸들 공격 받을 취약점
  • SSL 3.0 강제로 사용하게 하여 MITM 공격을 통해 데이터 추출

*FREAK 공격과 암호 수출 규제

  • SSL/TLS 서버에 대한 RSA Export Suites라고 불리는 약한 암호 스위츠를 사용하게 하는 공격.

완전 순방향 비밀성(PFS)

  • SSL/TLS 통신의 서버 개인키 노출 시 문제점
    • 서버 공개키와 개인키를 이용하여 키 교환할 경우 MITM을 통해 트래픽 가로채어 송수신 데이터 복호화 할 수 있다
    • 서버 인증서 폐기해도 이전 트래픽 정보는 모두 복호화 될 수 있다
    • 이러한 문제를 해결하기 위해 FS, PFS 등장
  • 완전 순방향 비밀성(PFS)
    • 서버 개인키가 노출되어도 이전 트래픽 정보의 기밀성은 그래도 유지되는 암호학적 성질
    • 서버 개인키가 노출되어도 이전 트래픽의 세션키/비밀키 기밀성은 그대로 유지

4. 웹 서버 보안

(1) IIS 보안 설정

  1. 권한설정
  2. 관리자 페이지 접근통제
  3. 메소드 제한
  4. 헤더 정보 숨김

(2) Apache 보안설정

  1. 서버 실행 계정 확인
  2. httpd.conf 파일(아파치 설정 파일)
    • ServerTokens : 서버의 정보 표시제한
      • ProduckOnly : 웹 서버 종류만 표시
      • Minimal : 웹 서버 종류와 버전 정보 표시
      • OS : 웹 서버 종류와 버전, 운영체제 정보 표시
      • Full : 웹 서버 종류와 버전, 운영체제, 설치된 모듈 정보 표시

3) 검색엔진 노출 취약점

robots.txt

(2) 주요 웹 보안위협 및 대응책

1. SQL Injection

취약점 판단 방법
- ', ",; 등 입력하여 DB 에러 발생 확인
- 'or 1=1# / 'or'1'='1# 참이 되는지
공격 종류
- Form SQL Injection
- Unino SQL Injection
- Error-Based SQL Injection
- Blind SQL Injection
대응방법
- 입력값 검증
- 에러메시지 표시하지 않기
- 최소 권한이 설정된 계정 사용
- 외부 입력값이 삽입되는 SQL 쿼리문을 동적으로 생성해서 실행하지 않도록 하기
- Prepared Statement 이용(문자열 처리)

2. XSS

  • 공격자가 입력이 가능한 폼에 악의적인 스크립트 삽입
    공격종류
    - Stored XSS
    가장 일반적인 공격 유형.
    - Reflected XSS
    악성 스크립트 코드가 인자 형태로 포함된 URL을 클릭할 때 악성 스크립트 코드가 서버 사이트에 의해 HTML문서로 반사되어 웹 브라우저에서 실행된다.
    - DOM based XSS
    보안대책
    - < > & " 등을 문자 변환 함수나 메소드를 사용하여 </gt/amp,quot로 치환
    - 입력값에 대한 검증은 반드시 서버단에서 해야한다.
    - HTML태그는 허용된 태그만 사용하도록 한다

3. CSRF

  • 세션탈취, XSS등을 통해 공격자가 의도한 행위를 사이트가 신뢰하는 인증된 사용자의 권한을 통해 실행
  • XSS는 클라이언트에서 실행 / CSRF는 스크립트를 서버에 요청
    보안대책
    - CSRF 토큰 사용
    - 사용자 상호 처리 기능 적용
    - 재인증 요구
    코드예제
    - method에서 get대신 post사용

4) 직접 객체 참조

  • 파일, 디렉터리, DB 키와 같이 내부적으로 구현된 객체에 대한 참조가 노출될 때 발생
    디렉터리 탐색 공격(파일 다운로드 취약점)
    - 디렉터리 탐색(Traversal)은 웹 브라우저에서 확인 가능한 경로의 상위로 탐색하여 시스템 파일을 다운로드하는 공격
    - 경로 조작에 사용될 수 있는 문자 필터하지 않으면 발생
    파일 업로드 제한 부재
    - 클라이언트에서 서버 측으로 임의의 파일을 보낼 수 있다는 것은 웹 서버의 가장 치명적인 취약점
    - 대표적인 공격은 웹셸이다
    보안대책
    - 저장된 파일의 타입, 크기, 개수, 실행권한 제한
    - 외부에서 식별되지 않도록
    - 다운로드 요청 시, 요청파일명에 대한 검증작업
    - 무결성 검사

5) 보안 설정 취약점

디렉터리 리스팅
- 웹서버의 특정 디렉터리를 열면 해당 디렉터리의 파일과 목록이 모두 나열되는 것을 의미
백업 및 임시 파일 존재
- 개발 후 임시/백업 파일 삭제
주석 관리 미흡

(3) 웹의 취약점 보안

1) 특수문자 필터링
2) 서버측 통제 적용
3) 지속적인 세션 관리
4) 웹 방화벽

(4) 웹 방화벽

기능
1. 사용자 요청 검사
2. 콘텐츠 보호
3. 위장

6. 소프트웨어 개발 보안

4) 소프트웨어 보안약점 유형

  • 입력데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러처리
  • 코드오류
  • 캡슐화
  • API 오용

DHCP와 DN 보안

1. 호스트 설정과 호스트 설정 프로토콜

2) 호스트 설정 프로토콜 종류

  1. RARP
  2. BOOTP
  3. DHCP
    UDP기반 프로토콜. IP를 실시간 부여

2. DNS

  • 호스트 연결을 위해 IP주소를 사용하지만 사람들은 주소보다는 이름을 사용하기 원했다. 이름을 주소로, 주소를 이름으로 바꿔주는 시스템이 필요로해진 계기

2) 네임 서버의 계층

  • 영역
    • 전체 도메인 네임 계층을 하나의 서버에 저장할 수 없기 때문에 여러 서버에 나누게 된다. 서버가 책임을 지거나 권한을 가지는 곳을 영역 즉, zone이라 한다
    • 서버는 zone file이라는 DB를 가지며 그 도메인 내의 모든 노드 정보를 여기에 보관한다.
  • zone 파일
    • 개별 도메인에 대한 DNS정보가 설정되어 있는 파일
    • /etc/named.conf 파일의 directory지시자에 설정된 디렉터리에 존재해야 한다
  • DNS Record Type
PR 문자 코드PR유형설명
A주소32비트
NS네임 서버DNS존을 위한 권한 DNS 네임 서버의 네임을 나타냄
CNAME정규네임노드의 실제 네임을 가리키도록 정의한 별칭을 위해 사용
SOA권한 개시 정보DNS 존의 시작을 표사. 하나의 SOA 레코드를 가져야함.
PTR포인터네임 공간의 다른 위치를 가리키는 포인터를 제공
MX메일 교환도메인으로 오는 이메일을 처리하는 위치를 명시
  • 일차 및 이차 서버
    • 일차서버 : 자신이 권한을 가지는 영역에 대한 파일을 가진다
    • 이차서버 : 다른 서버로부터 영역에 관한 완전한 정보를 수신하여 로컬 디스크에 파일을 저장하는 서버. 영역파일을 생성하지도 않고 갱신하지도 않는다.
  • 존 전송
    • 마스터 네임 서버상의 레코드는 아무 때나 갱신 가능.
    • 슬레이브 서버를 정시적으로 갱신해야 한다. 유효하지 않은 정보만 가지고 있다면 신뢰하기 힘들어진다.

(3) DNS 동작방식

1) 해석

해석기
- 주소->이름, 이름->주소로 매핑하기 원하는 호스트는 해석기라고 불리는 DNS 클라이언트를 호출
- 해석기는 매핑요구를 보내기 위해 가장 가까운 DNS서버에 접속. 정보가 없다면 다른 서버를 참조하거나 다른 서버가 이 정보를 제공하도록 요구.
재귀석 해석
- 클라이언트가 네임 서버에 요청한 후 서버에 정보가 없다면 그 서버가 클라이언트가 되어 대신 스스로 다른 서버에 새로운 요청을 보내는 방법
반복적 해석
- 클라이언트가 네임 서버에게 반복적 요청을 보내면 서버는 요청에 대한 답변 또는 해당 정보를 가지고 있거나 그 정보에 좀 더 가까운 다른 서버의 네임으로 응답한다.

2) DNS 변환 과정

아래 순위로 변환 과정을 거치게 된다.
1. 캐싱
2. /etc/hosts
3. DNS 서버

(4) DNS 룩업 유틸리티

2) nslookup

nslookup [HOST][서버]

  • 호스트 : DNS 도메인 이름. 역변환인 경우 IP
  • 서버 : 선택적인 인자.

3) dig

nslookup의 대안. host 명령보다 훨씬 풍부한 정보 제공
dig [@서버] <호스트> [<유형>][질의옵션]

  • @네임서버 : 사용할 네임 서버 지정
  • 질의 유형 : 기본적으로 A.

4) host

nslooup의 비대화형 모드에서 수행되는 것과 같은 단순 요청에 쓰이는 경우가 많다
host <호스트> <서버>

5) whois

  • 해당 도메인의 등록정보, 네트워크 할당 정보 등을 조회하기 위한 명령어
  • 해당 도메인 명이 다른 사람에 의해 사용 중인지 여부 체크할 때도 쓰임

3. DNS 보안

(1) DNS 보안 위협

DNS는 아래와 같은 방법으로 공격될 수 있다.

  • 공격자는 해당 사이트의 특징을 살피기 위해 DNS 응답을 읽어볼 수 있다. DNS 메시지의 비밀성이 보장되어야 한다.
  • DNS 서버의 응답을 중간에 가로채에 위조 응답을 만들어 사용자를 접속시키기 원하는 도메인이나 사이트로 가도록 할 수 있다.
  • DNS서버가 붕괴되거나 압박받도록 대량 트래픽 공격을 할 수 있다.

(2) DNS 스푸핑

DNS응답, 캐시정보를 정보를 조작하여 희생자가 의도치 않은 주소로 접속하게 만드는 공격

2) 스니핑 기반의 DNS 스푸핑

  • 희생자가 DNS 질의를 수행하면 공격자가 스니핑하고 있다가 정상 응답보다 빠르게 희생자한테 조작된 웹사이트 IP정보를 담은 DNS 응답을 보내 정상 주소를 입력해도 조작된 주소로 접속하게 만드는 공격
    대응책
    - 스니핑을 탐지 및 차단하도록 한다
    - 중요한 사이트 IP 주소는 DNS 질의보다 우선순위가 높은 hosts 파일에 등록하여 관리

3) DNS 캐시 포이즈닝

  • DNS 서버의 캐시정보를 조작
  • 공격 대상 DNS 서버에 조작할 도메인 질의를 다수 보낸다
  • DNS서버가 반복적 질의시 사용하는 Transaction ID와 출발지 Port를 모르기 때문에 랜덤한 Transaction ID와 목적지 PORT를 다수 생성하여 응답
  • 공격자는 조작된 응답 중 정상 응답보다 먼저 일치하는 응답이 있으면 조작된 주소정보가 공격 대상 DNS 서버의 캐시에 저장되고 이를 질의하는 사용자는 조작된 사이트로 접속하게 된다
    대응책
  • 네임서버의 SW를 최신 버전으로 유지
  • 재귀적 질의를 허용하지 않도록 설정
  • DNSSEC 기술 활용
    - 기밀성은 제공안함

4. DNS 서버 보안 설정

2) 도메인 쿼리순서 설정파일(/etc/host.conf)

특정 도메인에 대한 IP를 찾고자 할 때 어디에서 먼저 찾을 것인가에 대한 순서를 정해놓은 파일
hosts : /etc/hosts 파일 지칭
bind : DNS를 의미. /etc/reslov.conf 파일의 nameserver항목에 지정된 네임서버를 의미

3) 사용할 네임서버 지정파일(/etc/resolv.conf)

이 파일은 서버가 사용할 네임서버를 지정해둔 파일

4) name 설정 파일(/etc/named.conf)

named 데몬의 설정파일. BIND 데몬인 named인 존 환경설정 파일로 매우 중요한 파일

데이터베이스 보안

1. 데이터 베이스 기본 개념

1) 데이터 베이스 정의

  • 통합된 데이터 : 똑같은 데이터가 중복되지 않음
  • 저장된 데이터 : 저장매체에 저장된 데이터 집합
  • 운영 데이터 : 반드시 유지해야할 데이터가 있음을 의미
  • 공용 데이터 : 한 조직에서 여러 응용프로그램이 공동으로 소유, 유지 가능한 데이터

2) 키의 유형

  • 후보키 : 키의 특성인 유일성과 최소성 만족
  • 슈퍼키 : 유일성을 만족하는 키
  • 기본키 : 여러 개의 후보키 중에서 하나 선정
  • 대체키 : 여러 개의 후보키 중에서 기본키로 선정되고 남은 나머지 키
  • 외래키 : 어느 한 릴레이션 속성의 집합이 다른 릴레이션에서 기본키로 이용되는 키

3) 무결성의 종류

  • 키 무결성 : 한 릴레이션에 같은 키 값을 가진 tuple이 있으면 안된다
  • 개체 무결성 : 기본키에 속해 있는 애트리뷰트가 널 값을 가질 수 없다는 제약 조건
  • 참조 무결성 : 외래키는 널이거나 참조 릴레이션에 있는 기본키와 같아야 한다

4) 트랜잭션

  • 하나의 논리적 기능을 수행하기 위한 작업 단위
  • 한꺼번에 모두 수행되어야 할 일련의 데이터베이스 연산
  • 병행 제어 및 회복 작업의 논리적 단위
    트랜잭션의 ACID 성질
  • 원자성 : 트랜잭션 내의 모든 연산은 반드시 한꺼번에 완료. 혹은 모두 취소
  • 일관성 : 일관성 있는 DB 상태로 변환
  • 격리성 : 연산의 중간 결과는 다른 트랜잭션이 접근 못함
  • 영속성 : 트랜잭션이 성공적으로 완료되면 그 결과는 영속적이다

2. 데이터베이스 보안 요구사항

(2) 보안 위협

1) DB 보안 위협

  1. 집성(Aggregation)
    • 개별적인 여러 소스로부터 민감하지 않은 정보를 수집/조합하여 민감한 정보 생성
    • 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보를 획득
  2. 추론(inference)
    • 일반적인 데이터로부터 비밀정보를 획득할 수 있는 가능성
    • 통계적인 데이터 값으로부터 개별적인 데이터 항목에 대한 정보를 추적하지 못하도록 하여야 함
    • 추론 대응책 : Polyinstantiation, Partition, Cell suppression, Perturbation
      &Polyinstantiation(다중사례화)
      - 낮은 등급자가 레코드 입력 시 높은 등급자가 존재하고 있다는 것을 입력 오류를 통해 확인하는 것을 방지하기 위한 방법

(3) 보안 요구사항

보안 요구사항내용
부적절한 접근 방지승인된 사용자에게만 접근 권한을 부여
추론방지사용자가 통계적인 데이터 값으로부터 개별적인 데이터 항목에 대한 정보를 추적할 수 없도록 해야 함
무결성 보장인가되지 않은 접근, 데이터 손상시킬 수 있는 시스템 오류/고장/파업 등으로부터 보호
운영적 무결성 보장트랜잭션의 병행 처리 동안에 데이터에 대한 논리적 일관성을 보장해야 함
의미적 무결성 보장데이터에 대한 허용 값을 통제함으로써 변경 데이터의 논리적 일관성을 보장
감사 기능DB에 대한 모든 접근이 감사 기록을 생성해야함
사용자 인증OS에서 수행하는 사용자 인증보다 엄격한 인증 필요
기밀성 보장중요 데이터에 대한 기밀성을 보호

3. DB 보안 통제

(1) DB 보안제어

  1. 흐름제어
    • 객체 X의 값을 읽어 이를 객체 Y에 기록할 때 객체 X와 Y간에 정보 흐름이 발생
    • 임의의 객체에 포함되어 있는 정보가 명시적으로 혹은 암시적으로 보다 낮은 보호수준의 객체로 이동하는 것을 검사하여 접근가능한 객체 간의 정보흐름을 조정하는 것
  2. 추론제어
    • 데이터 사용자가 읽은 데이터 항목 X가 X에 대한 함수 f를 적용하는 Y=f(X)인 데이터 Y를 얻기 위하여 사용된다면 추론이 발생. 추론 제어는 간접적인 데이터 노출로부터 데이터를 보호하기 위한 것
      추론제어 방법
      - 비밀정보의 은폐
      - 모든 사용자에 대한 정보 유지, 데이터 고려하여 질의 허용여부 결정
  3. 접근제어
    • 시스템 객체에 대한 모든 직접적 접근이 보호정책에서 세운 모드와 규칙에 따라 상호 배타적이게 하는 것이 정보시스템에서의 접근제어

(3) DBMS 보안 통제

1) SQL 기반의 접근통제(GRANT/REVOKE)

2) 뷰 기반의 접근통제

  • 뷰 : 하나 이상의 기본 테이블로부터 유도되어 만들어지는 가상 테이블
  • 논리적 독립성 제공, 자료에 대한 접근제어로 보안 제공

3) DBMS 보안 점검 사항

기본적인 보안 취약점 점검

  • 디폴트 계정 패드워드 변경
  • DB 패스워드 규칙 강화
  • DBA 권한의 제한
  • 보안 패치 적용
    추가적인 보안 취약점 점검
  • 사용하지 않는 계정 삭제
  • 개발자 IP 접근 제한
  • 제품별 취약점 제거
  • 데이터의 암호화

(4) DB보안

2) DB암호화 방법

컬럼 암호화 : 암/복호화 위치에 따라 Plug-in, API 및 Hybrid 방식
- Plug-in
암/복호화 모듈을 DB서버 내에 설치
- API
암/복호화 모듈을 애플리케이션 서버 내에 설치
- Hybrid
단점인 배치 업무의 성능저하를 보완하기 위해 API방식을 이용. SQL은 API방식 이용, 나머지 DB내 Plug-in방식 이용하여 애플리케이션 수정 최소화 하도록 함

블록 암호화 : TDE, 파일 암호화

  • TDE
    DB내부에서 데이터 파일 저장 시 암호화, 파일에 저장된 내용을 메모리 영역으로 가져올 때 DBMS에 의해 자동으로 복호화되는 방식
  • 파일 암호화
    OS상에서 확인이 가능한 개체인 파일을 암호화하는 방식

4. DBMS 보안 관리

(1) MS-SQL

2) 인증

Windows 인증

  • SQL 서버 기본 인증모드
  • DB의 인증 절차를 Windows 사용자 인증 방법 사용
  • Windows 사용자 또는 그룹에 따라 SQL Server에 대한 액세스 부여
  • DB 관리자가 사용자에게 접근권한 부여 가능
  • 윈도우 인증 로그인 추적 시 SID 값 사용

혼합 인증

  • Windows 인증과 SQL Server인증을 혼용
  • SQL Server로 인증된 사용자의 사용자 이름과 암호쌍은 SQL Server내에 유지
  • 표준 Windows 로그인을 사용할 수 없는 경우

전자상거래 보안

2) 전자상거래 보안 공격 유형

  • 인증에 대한 공격
  • 송/수신 부인 공격
  • 기밀성에 대한 공격
  • 무결성에 대한 공격

3) 전자상거래 보안 요구사항

  1. 네트워크 상에서 상대방 및 자신에 대한 신분 확인 수단 필요
  2. 거래 사실의 공증을 보장할 수 있는 신뢰할 만한 제3자의 중재 필요
  3. 전자지불 방식의 안전성을 보장하기 위한 방법이 확보

(2) 전자화폐

2) 요구조건

  1. 디지털 정보화
  2. 재사용 불가능성
  3. 익명성
  4. 오프라인성
  5. 양도성
  6. 분할이용 가능성
  7. 부정 사용자의 익명성 취소
  8. 이중사용 방지

(3) 전자지불 시스템

은행 : 전자화폐 발행, 결제하는 기관
고객 : 전자화폐를 은행으로부터 발급받아 사용하는 주체
상점 : 상품을 공급하고 전자화폐를 구매대금으로 받는 자
인증기관 : 신분인증, 거래내용 부인방지 등을 위한 기관

3) 전자지불 시스템의 종류

기술적인 분류

  • 신용카드
  • 전자화폐
  • 계좌이체
  • 모바일

지불 브로커의 유/무에 따른 분류

  • Payment Broker 시스템
    독립적인 신용구조와 달리 신용카드나 은행계좌를 이용한 전자적 지불.
    SET, cyber cash, first virtual 등
  • 전자화폐 시스템
    지불브로커 없이 독립적인 신용구조를 가지는 현금과 유사한 개념의 전자적 지불수단
    Mondex(IC 카드형), E-cash(네트워크형), Millicent(소액지불), Proton(선불형) 등이 있다

3) 전자지불 시스템의 정보보호 요구사항

  • 위조불가능
  • 부인방지
  • 누명면제
  • 무결성/인증
  • 프라이버시
  • 원자성, 감사, 양도성, 분할성, 효율적 규모

2. SET(Secure Electronic Transaction)

전자봉투와 이중 서명 기술을 사용
SET의 목적

  • 정보의 기밀성 확보
  • 지불 정보의 무결성 확보
  • 상인과 고객의 상호 확인

2) SET 참여주체

  1. 카드소지자
  2. 발행사
  3. 가맹점
  4. 지불 은행
  5. 지불 게이트웨이
    지불처리 은행 또는 제3자에 의해 운영되는 장치로서 상점이 요청한 카드소지자의 지급정보를 이용하여 해당 금융기관에 승인 및 결제를 요청하는 기존의 카드 지불 네트워크로의 통로
  6. 인증 기관

3) 이중서명 프로토콜

  • 사용자의 지불정보는 상점에게 숨기고 주문정보는 은행에게 숨기는 기능
  • 사용자의 주문정보는 상점의 공개키로 암호화, 지불정보는 은행의 공개키로 암호화하여 전송
    카드 사용자가 구매정보와 지불정보를 각각 해시한 후, 두 해시값을 합한 뒤 다시 해시한다. 최종 해시 값을 카드 사용자의 개인키로 암호화한다 => 이중서명 값 생성

4) SET의 장단점

장점
- 전자거래의 사기 방지
- 기존의 신용카드 기반을 그대로 활용
- SSL단점을 해결(상점에게 지불정보 노출)

단점

  • 암호 프로토콜 복잡
  • RSA 동작은 속도를 크게 저하
  • 카드 소지자에게 전자지갑 SW 요구
  • 상점에 SW 요구
  • 지불 게이트웨이에 거래를 전자적으로 처리하기 위한 별도의 HW, SW요구

3. 전자상거래 응용 보안

  1. e-business를 위한 ebXML 보안
  • 전자상거래 기반 기술을 토대로 특정한 응용분야 기술이 개발되고 있는 것중 하나
  • 인터넷 표준 브라우저만으로 장소에 구애 없이 어디서나 전자상거래를 할 수 있으며 저렴한 구현 비용, 국제 표준 제공
  1. e-Business를 위한 ebXML
    ebXML 구성 요소
    1. 비즈니스 프로세스
    2. 핵심 컴포넌트
    3. 등록저장소
    4. 거래당사자
    5. 전송, 교환 및 패키징
    ebXML 사용 효과
    1. 재활용성
    XML문서를 만들 때마다 컴포넌트를 만드느라 고민할 필요없이 만들어져 있는 핵심 컴포넌트에서 필요한 항목을 뽑아 쓰기만 하면 되므로 문서개발에 중복되는 시간과 비용을 대폭 절약
    2. 비즈니스 프로세스 활용
    문서 수준뿐만 아니라 시나리오 수준까지 확대하여 사용

3) 무선플랫폼에서의 전자상거래 보안

  1. WPKI
    - WAP에서 서버-클라이언트 간의 무선 환경에 적합한 인증서를 발급, 운영, 관리하는 무선망의 공개키 기반 구조를 말한다
    구성요소
  2. CA 서버 시스템 : 인증서 발급, 관리
  3. RA 서버 시스템 : 발급, 관리 요청 중계
  4. Client 시스템 : 발급, 관리 요청
  5. Directory 서버 시스템 : CA가 발생한 인증서 정보를 저장, 관리

침해사고대응(디지털 포렌식)

2. 침해사고 대응과 포렌식

3) 사고대응 7단계 절차

  1. 사고 전 준비 과정
  2. 사고 탐지
  3. 초기 대응
  4. 대응 전략 체계화
  5. 사고 조사
  6. 보고서 작성
  7. 복구 및 해결

(2) 디지털 포렌식

2) 기본 원칙

  1. 정당성의 원칙
  2. 재현의 원칙
  3. 신속성의 원칙
  4. 연계보관성의 원칙
  5. 무결성의 원칙

3) 포렌식 수행 절차

  1. 증거 수집
  2. 보관 및 이송
  3. 조사 및 분석
  4. 보고서 작성

각종 애플리케이션 보안위협 및 대응책

1. 각종 애플리케이션 보안위협 및 대응책

2) 살라미 공격

  • 많은 사람들로부터 눈치 채지 못할 정도의 적은 금액을 빼내는 사기수법

3) 데이터 디들링

  • 원시정보 자체를 변조 및 위조해 끼워 넣거나 바꿔치기하는 수법
  • 처리할 자료를 코드로 바꾸면서 변경할 다른 자료와 바꿔치기하는 방식

4) 이블 트윈 공격

  • 소셜 엔지니어링 공격기법
  • 무선 네트워크에서 rogue AP를 이용하여 사용자 정보를 가로채 사용자인 것처럼 속이는 것

0개의 댓글