Network
RF Replay Attack - 자동차 리모트키
RF(Radio Frequency)란? RF란 Radio Frequency의 약자로 무선 주파수를 통해 정보를 교환하는 통신 방식이다. Radio, TV, Wi-Fi, Bluetooth 등 우리가 흔하게 사용하는 기기에서 RF 통신을 사용한다. 또한, 최근 IoT(자동차 스마트키, 드론, 스마트 도어락, 주차장 차단기 등)에도 RF 통신이 많이 사용되고 있다. 기후와 환경이 좋지 않더라도 주파수의 신호를 정확히 전달하는 장점을 가지고 있다. RF Replay Attack 위에서 설명한 RF를 재전송하여 공격자가 특정 기기의 행위를 발생시킬 수 있는 공격이다. HackRF one을 통해 특정 주파수 대역을 확인할 수 있다. 따라서, 악의적인 공격자는 기기간의 데이터 통신을 가로채어 재전송하여 특정 기기에게..
[Network] IEEE802.11 프레임 구조
802.11 헤더 구조 (사진 출처) Frame Control - 2byte (사진 출처) - 802.11 MAC 프레임 관련 제어 정보를 담고 있음. - bit단위로 나눠지면서 각각의 정보를 담는다. (아래 사진과 각 비드의 역할 참고.) 1) Protocol Ver - 2bit - 버전을 나타낸다. (현재로는 버전이 1개이고 0이다) 2) Type - 2bit - 프레임의 유형을 나타낸다. (00 : 관리프레임, 01 : 제어프레임, 10 : 데이터프레임) 3) Subtype - 4bit - 각 Type 유형에서 또 여러개로 나눠질 수 있게 함께 사용된다. (비콘프레임 : 1000, 인증해제프레임 : 1100) 4) To DS, From DS - 각 1bit - 802.11 MAC헤더의 Address..
[Network] ICMP Header 구조
ICMP(Internet Control Message Protocol)란? - 패킷을 목적지에 도달시키는게 목적인 IP을 보조하기 위해 사용된다. - 호스트가 꺼져 있거나, 단선인 경우와 같은 비정상적인 경우에 오류보고 메시지와 진단/정보를 전달한다. - 패킷이 대상 호스트에 도달하고 돌아오는지 확인할 때 사용한다. (ping test) ICMP 헤더 구조 Type - 패킷의 종류와 용도를 의미한다. (3 : 수신처 도달 분가 / 4 : 발신 제한 / 5 : 라우트 변경 / 11 : 시간 초과) Code - Type 부분의 세부 내용을 나타내며 Type과 조합을 이루어 ICMP 패킷의 목적을 나타낸다. Checksum - ICMP 패킷의 이상 유무를 확인한다. ICMP 헤더 C언어 구조체 구현
[Network] UDP Header 구조
UDP(User Datagram Protocol)란? - TCP와는 다르게 수신지에서 데이터를 받던 말던 상관하지 않고 데이터를 전송한다. - 수신된 패킷에서 오류를 탐지하면 폐기하는 정도의 오류제어 기능만 제공한다. - 위와 같은 이유때문에 TCP보다 빠르다. UDP 헤더 구조 Source Port - 2byte - 송신지 포트번호 Destination Port - 2byte - 수신지 포트번호 Length - 2byte - 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이를 정의한다. - 최소값은 헤더만 포함한다면 8byte이고, 최대값은 IP 수용 제한에 따라 달라진다. - 65,507byte = 65,535byte - UDP 헤더(8byte) - IP 헤더(기본적으로 20byte)이다. Chec..
[Network] TCP Header 구조
TCP(Transmission Control Protocol)란? - 서버와 클라이언트간에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜이다. - 데이터를 여러 개의 패킷으로 나누고 도착지에서는 패킷을 재조립한다. - 패킷의 분실이나 중복, 순서가 바뀌는 문제를 해결해주기 때문에 신뢰성 있다. TCP 헤더 구조 Source Port - 2byte - 송신지 포트번호 Destination Port - 2byte - 수신지 포트번호 Sequence Number - 4byte - TCP 세그먼트 안에 데이터의 송신 바이트 흐름의 위치를 가리킨다. - 세그먼트는 서로 다른 경로를 거치면서 순서가 뒤 바뀔 수가 있다. 이를 수신 측에서 재조립하기 위해 사용되는 번호이다. Acknowledgment Numbe..
[Network] IP Header 구조
IP(Internet Protocol)란? - 인터넷에 연결된 모든 장치들을 식별할 수 있도록 장비마다 부여되는 고유 주소이다. (각 장치의 주민등록번호와 같은 역할) - IPv4와 IPv6가 있으며 현재는 IPv4를 사용한다. - 32비트 방식으로 8비트씩 4자리, 각 자리는 온점으로 구분한다. IP 헤더 구조 1. Version - 4bit - 현재는 IPv4를 사용한다. -> 4 2. IHL(Header Length) - 4bit - 32비트 단위로 IP 헤더의 길이를 나타낸다. 최소 5부터 15까지의 값이다. - 대부분의 IP 헤더의 길이는 20byte(4 * 5 = 20)이다. 3. Type of Service (TOS) - 16bit - 패킷의 우선 순위를 제공한다. 4. Total Lengt..
[Network] Ethernet II 프레임 구조
ethernet 이란? - 컴퓨터 기술의 하나로, LAN에서 가장 많이 활용되는 기술 규격. - OSI Layer 1(물리 계층)에서 신호와 배선, OSI Layer 2(데이터 링크 계층)에서 MAC패킷과 프로토콜의 형식을 정의한다. - IEEE 802.3 규약으로 표준화되었다. Layer 2 : 데이터 링크 계층 (Date-Link Layer) - 패킷 맨 앞에 14byte - 물리적으로 같은 네트워크이며, IP의 서브넷마스크가 동일하면 무조건 통신이 가능하다. Ethernet Type II Frame 1. 목적지 MAC 주소 (Destination MAC Address) - 6byte - 수신자의 MAC 주소를 나타낸다. 2. 출발지 MAC 주소 (Source MAC Address) - 6byte -..
[Network] ARP Header 구조
ARP(Address Resolution Protocol)란? - IP주소(OSI Layer 3)를 MAC주소(OSI Layer 2)로 변환해주는 프로토콜 - 동일 네트워크(LAN)에서 통신하기 위해 IP주소를 이용해서 MAC주소를 알아온다. ARP 헤더 구조 1. 하드웨어 타입 (Hardware type) - 2byte - 사용중인 하드웨어 주소의 타입을 나타내는 필드이다. - ethernet : 1 / IEEE 802(Wi-fi) : 6 / HDLC : 17 2. 프로토콜 타입 (Protocol type) - 2byte - 상위 프로토콜을 정의 한다. (IPv4 : 0x0800) 3. 하드웨어 주소 길이 (Hardware Address Length) - 1byte - MAC 주소의 크기를 나타낸다. ..