Download presentation
Presentation is loading. Please wait.
Published byLouisa George Modified 6년 전
1
세미나.. NETWORK??!! 저자 : 장경칩 E-mail : ox1111@paran.com
도전하라 창조의 세계로(SINCE 1992) - 장경칩
2
TCP / IP 란? LINK 계층 ( DATA-LINK LAYER ) NETWORK 계층 TRANSPORT 계층
APPLICATION 계층
3
TCP /IP 란? LINK계층( DataLink Layer )
장치 구동기( device driver)와 Network Card를 포함한 모든 하드웨어(cable, connector )에한 규정
4
TCP/IP? Network 계층 네트워크상에서 패킷 전송에 필요한 여러가지 사항을 규정 인터넷 주소를 인식하는 계층
사용 프로토콜은 IP, ICMP 등
5
TCP/IP? Transport 계층 바로 상위 계층인 응용 계층(Application Layer)에게 호스트간의 데이터 흐름 통로를 제공한다. 이 계층의 프로토콜로는 TCP와 UDP(User Datagram Protocol)가 있다. TCP에서는 흐름제어, 에러 제어 등을 통해 신뢰성 있는 전송을 제공하지만, UDP는 신뢰성 있는 전송을 제공하지 않는다. 따라서 UDP를 이용하는 프로그램은 에러제어, 흐름제어 등을 스스로 수행해 주어야 한다. 현재 인터넷상의 대부분의 서비스는 TCP를 이용하고 있다.
6
TCP/IP? Application 계층 각종 응용프로그램들 ( ftp ,telnet )
7
Tcp/ip? telnet server telnet client TCP TCP IP IP Ethernet Driver
8
TCP/IP TCP/IP 프로토콜 인터넷에서 사용하는 프로토콜을 TCP/IP라고 하는데, 이 때 말하는 TCP/IP란 TCP와 IP만을 정의한 한 것이 아니라 앞에서 설명한 네 계층의 모든 프로토콜을 통틀어서 TCP/IP라 한다. 그래서 TCP/IP 프로토콜(TCP/IP Protocol Suite 또는 TCP/IP Protocol Family)이라는 말을 쓰기도 한다.
9
공격 1단계 정보수집 해커들이 해당 목표시스템에 대한 정보를 수집하는 단계이다.
일반적으로 목표 시스템에서 기본으로 제공하는 정보들을 수집한다. 2단계 서비스및 시스템 탐지 대상 목표에 어떤 시스템이 있는지 어떤 서비스를 운영하고 있으며 포트는 어떤 것들이 열려있고 해당 서비스의 버젼은 어떻게 되는지를 분석하는 단계이다. 일반적으로 ping이라는 명령어를 사용하며 그 외에도 많은 포트 스케너 프로그램들이 존재한다. 3단계 운영체제 탐지 목표 시스템의 운영체제가 무었인지 감지하는 단계이다. OS를 감지하는 기술은 "IP stack fingerprinting"이라는 특성을 이용한다 시스템에 따라 IP stack의 구현이 다른 점을 이용하여, 특정 패킷을 만들어 보내어 그 응답에 따라 시스템을 구별해내는 방법이다 4단계 네트워크 토폴리지 밎 필터링 규칙 감지 "hop count"를 사용하여 네트워크 거리를 알아내며 파이어 월이 필터링을 하지 못하는 특정 ICMP 패킷이나 UDP를 사용하여 분석한다. 5단계 네트워크 서버의 정보 수집 DNS, SNMP, sendmail, NetBios등 일반 네트워크 서버에서 제공하는 정보를 알아내서 공격시에 유용하게 사용할수 있도록 한다. 6단계 시스템 침입 시스템의 침입 단계이며 5단계까지 분석한 정보를 사용하여 실제로 시스템에 침입을 하게 되는 단계이다. 침입은 주로 잘 알려진 버그를 이용하는 경우가 많은데 sandmail, bind등 의 오버플로우의 취약점을 사용하여 공격하는 방법이 있다. 7단계 공격준비 이것은 일단 침입을 한후에 일어나는 단계이다. 일단 해커는 자신의 침입 기록을 먼저 제거하려고 한다. 그리고 다시 나중에 다시 침입을 위해서 백도어를 설치하게 된다. 해커는 필요에 따라 직접 공격을 하거나, 다른 사이트를 공격하는 좀비컴퓨터를 만드는것을 목표로 한다.
10
공격 공격자 공격자 좀비 컴퓨터 1) 공격 ISP 라우터 스위치 3) 패킷 탐지 2) 라우터에서 Portalbe 패킷 보냄
Portable 컴퓨터 패킷 필터링 좀비 컴퓨터 스위치 비정상 패킷 탐지 Detection Agent 4) 공격 패턴 유형을 기반으로 portable 에게 packet 필터링 요구 3) 패킷 탐지 2) 라우터에서 Portalbe 패킷 보냄 1) 공격
11
공격/방어(DOS 공격) 공격자 소스 200.200.200.2 목적지 203.203.20.1 목적지 라우터 목적지
ISP 라우터 공격자 소스 Black hole 방어 기술 Ip rotue null0 라우터에 위 명령어를 입력해서 공격 당하는 IP대역을 무력화 시킴 단점 해당 대역폭은 사용하지 못함. 1. 정보수집 2. 서비스 및 시스템 탐지 3. 운영체제 탐지 4. 네트워크 토폴리지 및 필터링 규칙 감지 5. 네트워크 서버의 정보 수집 6. 시스템 침입 7. 공격 준비
12
공격예) 3-WAY HANDSHAKE A B TCP 커넥션은 three-way Handshake로 3중 패킷 교환
1) A는 SYN 패킷을 B로 보냅니다. 2) B는 SYN/ACK 패킷으로 응답하고 3) A는 ACK 패킷으르 응답합니다.
13
공격예) SYN FLOODING [ SYN 공격 ]
SYN 플러드 공격은 존재하지 않거나 도달할 수 없는 주소를 가진 위조된(“스푸핑된”) IP 소스 주소가 포함된 SYN 패킷으로 사이트에 쇄도합니다. SYN공격은 공격지에 SYN패킷을 보내서 넘치게 함 SYN가 오면 SYN-ACK로 응답하는데 그 후 다시 ACK가 올 때 까지 backlog큐에 모든 SYN/ACK를 넣는다 해당 ACT가 오거나 TIME OUT되었을 경우 3단계 교환 의 TCP 통신규약이 종료 Backlog큐가 꽉 찼을 때 들어오는 모든 SYN요구 무시하며 시스템이 인증된 사용자의 요구도 응답을 못함
14
공격예) 해커 (A) 공격지 (B) 1) A는 SYN 패킷을 B로 보냅니다.(응답 받지 못하는 가짜 IP로 설정 ) 2) B는 SYN/ACK 패킷으로 응답 가짜 IP (C) 3) B는 ACK 패킷을 받지 못해서 TIME OUT됨. 4) Backlog큐가 꽉찬다. 5) 모든 syn요구 / 사용자 요구 응답 못함
15
TCP의 세부 매커니즘 SENDER FLOG 방향 SEQ ACK NEXT DATA SIZE RECEIVER SenderID
생성 현재 자신이 생성한SEQ 혹은 대상이 원하는 SEQ 다음에 대상이 가지고 들어와야 하는 ID SYN 1000 1001 SYN/ACK 2000 ReceiverID SenderID++ 2001 ReceiverID++
16
TCP의 세부 매커니즘 SEQ NUMBER : 초기에는 자신이 생성하며 그 이후에 대상 장비가 원하는 SEQ NUMBER를 대상 장비로부터 받아서 사용한다. ACK NUMBER : 대상 장비에게 SEQ NUMBER를 지정 할 때 사용한다. SYN : 먼저 Sender의 ID를 생성 후 SEQ NUMBER로 설정한다.. SYN/ACK : Receiver가 ID를 생성 후 SEQ NUMBER로 설정한다.. 그리고 Sender에게 받은 SEQ NUBER에 +1 시켜서 ACK NUMBER로 설정 후 보낸다. ACK : Receiver에게 받은 ACK NUMBER를 SEQ NUMBER로 설정 하고 Receiver에게 받은 SEQ NUMBER에 +1 해서 ACK NUMBER로 설정 후 보낸다.
17
방어 예) TCP 차단 1안) : TCP flow의 중간에 끼어 들어서 RST( Reset ) 패킷을 보내서 세션을 끊는다.
단점 : 스위치 허브에서는 작동하지 않는다. 장점 : 특정 서비스 포트별로 차단이 용이하다. [1] SYN : SENDER가 자신의 SEQ 번호를 전송한다 [ SEQ NUMBER : 1000 , ACK NUMBER : 0 ] RECEIVER SENDER [2] SYN / ACK : RECEIVER가 자신의 SEQ번호를 전송하고 다음에 들어올 SENDER의 SEQ 번호를 지정해 (ACK NUMBER) 준다 [SEQ NUMBER : 2000 , ACK NUMBER : 1001 ] [3] ACK [SEQ NUMBER : 1001 , ACK NUMBER 2001 ]
18
[3] SYN / ACK [ SEQ NUMBER : 2000 ]
방어 예) [1] SYN [ SEQ NUMBER : 1000 ] [3] SYN / ACK [ SEQ NUMBER : 2000 ] [5] ACK[ SEQ NUMBER : 1001 ] SENDER [2] RST[ SEQ NUMBER : 1000 ] ( SYN: Reset 패킷을 보내서 바로 세션 종료 시킴 ) [6] RST[ SEQ NUMBER 1001 ] ( ACK : Reset 패킷을 보내서 바로 세션 종료 시킴 ) [4] RST[SEQ NUMBER : 2000 ] ( SYN/ACK : Reset 패킷을 보내서 바로 세션 종료 시킴 ) RECEIVER TCP 차단 : TCP flow의 중간에 끼어 들어서 RST( Reset ) 패킷을 보내서 세션을 끊는다. 1-1) 세션이 연결하기 전에 차단하는 방법 : SYN,SYN/ACK,ACK 패킷 다음에 끼어들어서 RST( Reset ) 패킷을 보낸다.
19
FRAME 구조
20
FRAME 구조
21
FRAME 구조
22
WDM 구조
23
WDM : 파일시스템의 호출 구조도 : VOD에서 top device object를 찼아서 attach 한다.
: CreateFile및 드라이버 호출 method : ReadFile,WriteFile의 method : Close method
24
WDM 위 표는 가장 간단한 구조를 설명 한 것으로 사실은 좀더 복잡합니다.
하지만 좀더 이해를 돕기 위해 Anti Virus의 driver의 엔지 설치되는 과정을 짚어 보겠습니다. CDO는 장치로부터 NTFS, FAT의 파일의 정보를 관리합니다. VDO는 장치부터 C\,D\의 볼률에 관한 정보를 관리합니다. 새로운 장치가 발견된다면 OS의 열거자가 감지해서 2개의 OBJECT를 이용해 해당 장치를 관리합니다. 이런 FILESYSTEM는 스택구조로 관리 되고 있으며 CDO -> VDO -> FILESYSTEM( C\ ) 순으로 나열되고 있습니다. 가령 커널 데이터에서 애플리케이션단으로 가는 정보를 제어 및 변경 하고 싶다면 ( 예 ) VDO->FILESYSTEM(C\) -> ANTI- VIRUS 엔진 이렇게 C\ DEVICE DRIVER위에 ANTI-VIRUS 엔진을 올려서 커널에서 올라오는 정보를 감시/제어를 할수 있습니다.. 만약 다른 시만텍의 VIRUS나 다임즈가 개발한 VIRUS 엔지를 ATTACH 한다면 현 시스템의 TOP OJBECT CLASS를 찼아서 그 위에 ATTACH합니다. VOD -> FILESYSTEM(C\) -> ANTI-VIRUSL 엔진 -> 시만텍 VIRUS엔진 -> 다임즈 VIRUS 엔진
25
참고 해커 스랩 : http://www.hackerslab.org/korg/
해커 그룹 : 해커 스쿨 : Hack in the box : 카이스트 : 정보보호 개론 "Security in Computing," Charles P. Pfleeger, Prentics-Hall International Inc., 1997
Similar presentations