*데이터 전송 프로토콜

 

1) TCP (Transmission Control Protocol)

 

- Layer 4 계층 프로토콜

 

- 연결 지향성 프로토콜 : 상대방과 통신 수립 연결을 실시하고 난 이후 데이터 요청 및 응답 실시

 

- 3-Way 핸드 쉐이킹 동작 실시 (syn,ack로 3번교환)

 

- 정상적으로 TCP연결이 되는지 알수있어야 함 (공격인지 아닌지 확인할수있어야 함)

 

 

  A(클라이언트)                                            B(서버)

데이터 서비스 요청                               데이터/서비스 응답

   Syn ->
                                                           <- Syn, Ack
   Ack -> 
                            통신 수립 완료 
                            (ESTABLISHED)

 

 

 

*TCP Control Flag (6bit)*

 

 - urg (1.....) : 긴급한 데이터 표기


 - ack (.1....) : 확인 응답/승인


 - psh (..1...) : 수신처리 이후, 상위 프로세스로 처리


 - rst (...1..) : 강제 종료


 - syn (....1.) : 통신 개시


 - fin (.....1) : 정상적인 종료

 

 

                  URG             ACK            PUSH           RESET           SYN             FIN

2^7             2^6             2^5             2^4              2^3            2^2             2^1

128              64              32                16                8                 4                2

 

 

 

[참고]공격자의 공격 방법 (보안 쪽에서 자세히 다룸)

 

공격 유형

 

0. 정보 수집

 

- 사회 공학적 기법 : 사람 , 장소 , 사물적으로 정보 수집
  90%의 정보유출은 사회 공학적 기법으로 유출됨

 

- 풋 프린팅 : 기술적으로 정보 수집

 


1. 스푸핑 공격 (Spoofing atk)

 

- 변조 공격

 

- 공격자의 위치 및 주소 노출 방지

 

- 공격자에게 돌아오는 패켓 수신 방지

 

- 정보 유출 및 해킹

 

Ex) IP 스푸핑 , MAC 스푸핑 , ARP 스푸핑 , DHCP 스푸핑

 


2. 플러딩 공격 (Flooding atk)

 

- 대량 패켓 전송 공격

 

- 시스템 부하 , 다운 , 재부팅 발생 , 서비스 거부(DOS)

 

Ex) TCP Syn Flooding , ICMP Flooding , UDP Flooding

 

 

#서버 부화 , 플러딩 공격


TCP SYN Flooding (DOS공격)

 

                공격자                                          웹-서버

           SYN(초당 1만개) ->

                                                                 서버 부화

 

 

 

 

 

#데이터 스트림 서비스 : 전송효율과 수신효율을 극대화 하기 위해 사용
                                데이터 단위 : 세그먼트

 

 

 

 

 

#흐름 제어 기능 : stop & wait 기법 -> 슬라이딩 윈도우 기법 

 

- 슬라이딩 기법이 나온이후 stop&wait보다 많이 사용됨

 

 

 

*stop & wait : 송신한 세그먼트에 대한 Ack를 수신해야지만, 그 다음 세그먼트 전송
                   (다음 세그먼트 송신 처리 지연 발생 및 Ack 양 많음)

 

 

                              Stop & wait

                  A                                    B

 

                 1 ->
                                                  <- Ack 1

                 2 ->
                                                  <- Ack 2

                 3 ->
                                                  <- Ack 3

 

 

 

 

 

*슬라이딩 윈도우 : 수신측 세그먼트 처리양에 맞게 송신측에서 세그먼트 다수 전송
                         (세그먼트 송신 지연 발생 및 Ack 양 최소함)

 

 

 

 

                                슬라이딩 윈도우

                   윈도우 : 송수신 할 수 있는 세그먼트 양


                    A                                       B

 

                   1->
                                                        <- Ack 2


                 2,3,4,5->                                                       

                                                         <- Ack 6


              6,7,8,9,10,11,12->

                                                        

 

 

 

 

*혼잡 제어 기능 : 혼잡 발생시 전송률을 최소화하는 기능

 

 

 

*오류 검사 : 수신한 세그먼트 손상 여부 판단
                (손상된 세그먼트는 드랍 처리 실시)

 

 

*재전송 기능 : 송신한 세그먼트에 대한 Ack를 수신하지 못하면, 해당 세그먼트를 재전송 실시

 

 

*Window Size : 송수신할 수 있는 세그먼트양

 

 

*HTTP(80), HTTPs(443), Telnet(23), SSH(22), FTP(21), FTP-Data(20), SMTP(25), POP3(110)

 

 

 

 

 

2) UDP(User Datagram Protocol)

 

- Layer 4 계층 프로토콜

 

- 비연결 지향성 프로토콜

 

 

- 3-Way 핸드 쉐이킹 동작 실시 X
- 데이터 스트림 서비스  X
- 혼잡 제어 기능   X
- 재전송 기능   X
- Window Size   X

 

- 오류 검사

 

- DNS(53), TFTP(69), DHCP Server(67), DHCP Client(68), SNMP(161), NTP(123)

 

 

 

*TCP : 연결이 필요한 서비스에 사용
        (신뢰성이 높다 , 신속성이 낮다.)

 

 

*UDP : 연결이 불필요한 서비스에 사용
         (신뢰성이 낮다 , 신속성이 높다)

 

 

 

 

3) IP(Internet Protocol)

 

- Layer 3 계층 프로토콜

 

- 비연결 지향성 프로토콜

 

- 로컬 환경에서 리모트 환경으로 데이터 전송 담당

  (현재 내 네트워크에서 다른 네트워크로 데이터 전송)

 

- TTL(Time to Live) : 8bit(0~255), 거리 측정 및 패켓 루프 방지 기능

 

 

*운영 체제 TTL 기본값

 

- Cisco  255
- Window 128
- Linux  64

 

 

거리측정

win7-----------------------R1---------------------R2---------------------R3----------------Linux

 

TTL=128      ->      TTL = 127     ->      TTL = 126     ->      TTL = 125    ->      TTL = 125

 

TTL = 61             <- TTL = 61           <- TTL = 62         <-    TTL = 63          <-  TTL = 64

 

 

 

 

*루프방지

 

- 데이터가 루프현상이 일어나 TTL값이 0이되면 데이터를 drop

 

 

 

 

*Ethernet : Layer 2계층 프로토콜

 

- ETH 환경 내에서 데이터 전송을 담당한다.

 

 

Layer 4            TCP ㅣ HTTP   세그먼트


Layer 3            IP ㅣ TCP ㅣ HTTP    패켓


Layer 2           ETH ㅣ IP ㅣ TCP ㅣ HTTP   프레임


Layer 1          전기 신호 입출력         0,1         bit

 

 

 

 

4) ICMP(Internet Control Message Protocol)

 

- IP 프로토콜을 이용한 데이터 전송 여부 가능 테스트 프로토콜

 

- ping , tracert 명령어

 

 

                                 A                                          B


                         192.168.14.14                           192.168.14.11

 

                     ping 192.168.14.11

 

                   ICMP Echo-Request ->                 <- ICMP Echo-Reply


                     SA 192.168.14.14                         SA 192.168.14.11
                     DA 192.168.14.11                        DA 192.168.14.14

 

 

*tracert : 경로 추적 테스트 목적

 

 

#naver , daum : 방화벽으로 ICMP공격 방지

 

#google : 데이터 전송량이 많아지면 자동적으로 드랍 ICMP공격 방지

 

 

 

 

5) ARP(Address Resolution Protocol)

 

- 주소 변환 프로토콜

 

- 목적지 IP 주소에 대한 MAC 주소를 설정하는 프로토콜

 

- 만약 , 목적지 IP 주소에 대한 MAC 주소가 없을 경우 다음과 같이 ARP 요청 및 응답 실시

 

 

                                A                                      B


                       192.168.14.11                        192.168.14.14


                    90-9F-33-EB-34-98                 90-9f-33-eb-36-ff

 

         ARP Reqeust(192.168.14.14, MAC ?) -> 


                 SA 90-9F-33-EB-34-98
                 DA FF-FF-FF-FF-FF-FF


                                                    <- ARP Response(192.168.14.14


                                                          MAC 90-9f-33-eb-36-ff)
                                                           SA 90-9f-33-eb-36-ff
                                                           DA 90-9F-33-EB-34-98 

 

 

 

  

Ex) A - > ARP 요청 메세지

 

        cmd -> arp

 

- arp -d : arp 삭제

- arp -a : arp테이블 열기
- arp -s : 수동으로 주소 등록

 

영구적으로 등록되는 것은 아니다.

 

"13.13.10.3의 MAC주소 ? "
---------------------------------ARP 요청 메세지

SA 00de.584c.1278
DA FFFF.FFFF.FFFF   <- 브로드 캐스트로 설정되는 MAC주소

---------------------------------ETH

 

*A PC에서 ARP요청을 하면브로드캐스트로 B,C PC에 ARP요청을
 보내게 되면 C PC에 자동으로 A에 MAC주소를 할당(학습)된다.


"13.13.10.3"의 MAC은 0010.115C.81E2

 

 

 

 

[참고] 프로토콜을 이용한 공격 유형

 

 

프로토콜                       공격유형

 

TCP                             TCP Syn Flooding
UDP                            UDP Flooding
IP                                IP Spoofing
ICMP                           ICMP Flooding(ICMP Land , ICMP Smurf)
ARP                            ARP Flooding , ARP Spoofing

*네트워크 주소 체계

 

1) 포트 번호

 

- TCP , UDP 헤더 안에 포함된 주소

 

- 주소 , 체계 : 16bit(0~65535)

 

- 클라이언트 입장  : 서비스 요청 , 실행

 

- 서버 입장 : 서비스 구분 , 제공

 

 

 

 

2) IP 주소

 

- IP 헤더 안에 포함된 주소


- 주소 체계 : 32bit(2^32개 = 4,294,967,296)


- 로컬 환경에서 리모트 환경으로 데이터 전송 담당


- 변경이 가능한 논리적인 주소

 

 

 

 

 

3)MAC 주소

 

- ETH 헤더 안에 포함된 주소


- 주소 체계 : 48bit(2^48개)


- ETH 로컬 환경 내에서 데이터 전송 담당


- 00-e0-4c-14-62-ba
   ----------- OUI 24bit : 랜카드 업체가 IEEE 기관으로부터 임대받은 주소

 

- 변경 불가능한 물리적인 주소

 

 

 

#User Ports(1024~49151) : PC에서 사용하는 포트

 

 

#Dynamic and/or Private Ports(49152~65535) : 동적/사설 포트

 

 

#System Ports (0~1023) 서비스 예약용

 

            TCP                                                  UDP

   

  http            80                        domain(dns)                 53

  https           443                     bootps(DHCP Server)      68               

  telnet          23                       bootpc(DHCP Client)      67

  ssh             22                        tftp                            69 

  ftp             21                        snmp                         161 

  ftp-data      20                        ntp                            123

  smtp          25                        syslog                        514

  pop3          110 

 

 

 

윈도우 원격 포트번호 : 3389

 

 

 

#*SNMP* (Simple Network Management Protocol)

관리 대상 장비 : 시스템 100대 , 라우터 2대 , 스위치 30대 , 방화벽 2대   <- SNMP 에이전트

 

 

- CPU , 메모리 , 트래픽 현황 .......      분 / 시 / 일 / 주 / 월 / 년 상태 파악 및 보고서 작성

SNMP 매니저 < -- SNMP에이전트에서 보고함 Ports : 161

 

 

 

*네트워크

 

- 네트워크란 정보 공유를 목적으로 PC와 PC들이 모여서 구성된 망이다.

 

- 네트워크에 목적은 정보공유이다.

 

- 네트워크에 구성은 PC와 PC들이 연결된다는 것이다.

 

- 네트워크에 장점은 편의성이 제공된다는 것이고 단점은 정보공유를 목적으로 PC와 PC들이 연결됨으로서

  보안성이 취약하다는 점이 있다.

 

 

 

#프로토콜 (Protocol)

 

- 데이터 전송규약 과 데이터 전송도구를 뜻한다.

 

- 네트워크 환경 내에서 데이터를 전송할 때 전송 방법을 정의하는 규칙/제도이다.

 

Ex) TCP , UDP , IP , Ethernet

 

 

 

#인캡슐레이션(Encapsulation) -> 디캡슐레이션 (Decapsulation)

 

- 데이터를 전송하기 위해서 프로토콜 정보를 추가하는 패키지 과정이다.

 

- 인캡슐레이션(Encapsulation)으로 데이터가 포장되어 전송되고 이 데이터가 나에게 온 데이터가 맞다면

  디캡슐레이션 (Decapsulation)을 이용해 데이터를 풀어서 보는 것

  나에게 온 데이터가 아니라면 절대 디캡슐레이션을 하면 안된다.

 

Ex) ETH ㅣ IP ㅣ TCP ㅣ HTTP  :  HTTP데이터를 포장한 ETH , IP , TCP등을 헤더라고 부른다.

     헤더   헤더  헤더

 

 

 

 

#네트워크 유형

 

1)LAN(Local Area Network)

 

- 내부 네트워크

 

- 장비 : 스위치(Switch) , PC 랜-카드(NIC = Network Interface Card) , UTP 케이블(랜 선) , 무선 AP

 

- 프로토콜 : Ethernet

 

- 구축 방법 : 버스 토폴리지 , 스타 토폴로지

 

- 설계 핵심 : 확장성 , 이중성 , 가용성

  확장성 (스타 토폴로지 사용) , 이중성 (이중화 도입) , 가용성 (최적의 환경 , 좋은장비 사용)

 

 

- 관리 : 사내 관리자 및 업체 관리자

 

 

 

*버스 토폴로지(Bus topology)

 

- 장점 : 케이블 연결이 쉽다.


- 단점 : 하나의 스위치에 문제가 생겼을 때 대체 구조가 없다. 권장하지 않음

 

 

 

 

 

 

 

*스타 토폴로지(Star topology)

 

- 장점 : 메인스위치를 이용하기 때문에 스위치에 문제가 생겨도 대체할 수 있음 대부분의 네트워크망이 스타 사용

           확장성이 있고 이중성(이중화 도입)이 지원됨 


- 단점 : 케이블 연결이 불편하다 , 어렵다.

 

 

 

 

 

 

 

2)WAN(Wide Area Network)

 

- LAN과 LAN을 연결하는 외부 네트워크 (광범위한 네트워크)

 

- 장비 : 라우터

 

- 프로토콜 : HDLC , PPP , Frame-Relay , Ethernet

 

- 구축 방법 : ISP 업체로부터 회선(네트워크망)을 임대하는 방식이다.

 

- 관리 : ISP업체 관리자 및 SI/NI업체 관리자

 

 

 

3)Internet

 

- 전 세계적으로 연결된 네트워크 망

 

- 프로토콜 : TCP/IP

 

 

 

4)Intranet

 

- 기업 내부에서 사용하는 인터넷과 같은 네트워크 망이다.

  (외부에서 부터 접근이 가능한 Intranet도 다수 존재한다.)

 

- 용도 : 회사 게시판 , 공지사항 , 기록/내역...

          

 

 

 

#데이터 전송 관계

 

- 요청에 의한 응답 관계

 

- 요청자 : 클라이언트(Client) 

- 응답자 : 서버(Server)

 

 

 

 

#데이터 전송 방식

 

1) 유니캐스트(Unicast)

 

- 1:1 데이터 전송

Ex) 인터넷

 

 

 

2) 브로드캐스트(Broadcast)

 

- 1:전체 데이터 전송 

Ex) ARP 요청 , DHCP 요청

 

 

3) 멀티캐스트(Multicast) 

 

- 1:특정 그룹 데이터 전송

Ex) IPTV

 

 

 

+ Recent posts