OSI 7계층 : 다양한 넽웤 간 호환 위해서 만든 표준 네트워크 모델
[1계층] 물리계층
시스템 간의 연결 의미. ANSI/EIA 표준 : 물리 계층에 쓰이는 케이블을 데이터 속도에 따라 분류. CAT으로 분류
케이블 내 구리선의 보호 방법이나 꼬임 방법에 따라서 케이블 분류. 일반적으로 케이블 선은 UTP 사용.
*UTP(Unshielded Twisted Pair) : 제품 전선과 피복만으로 구성되어 있으며, 두 선 사이의 전자기 유도를 줄이기 위해 절연의 구리 선이 서로 꼬여있음.
[2계층] 데이터 링크 계층
두 포인트 간의 신뢰성 있는 전송 보장을 위한 계층 .
CRC(순환 중복 검사, Cyclic Redundancy Check : 네트워크 등에서 데이터 전송할 떄 전송된 데이터에 오류가 있는지 확인하기 위한 체크값을 결정한다.) 기반의 오류 제어,흐름 필요함.
네트워크 위의 개체 간에 데이터를 전달하고 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 수단 제공.
*MAC 주소 : 데이터 링크 계층에서는 상호 통신을 위해서 MAC 주소 할당받음. cmd -> ipconfig /all
앞쪽 6개 : 네트워크 카드 만든 회사 시리얼, 뒤쪽 6개 : 각 회사에서 임의로 붙이는 일종의 시리얼. 같은 맥 주소는 존재하지 않는다.
무선 LAN 어댑터 로컬 영역 연결* 1:
미디어 상태 . . . . . . . . : 미디어 연결 끊김
연결별 DNS 접미사. . . . :
설명. . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
물리적 주소 . . . . . . . . : D8-F8-83-B0-C2-1F
DHCP 사용 . . . . . . . . . : 예
자동 구성 사용. . . . . . . : 예
무선 LAN 어댑터 로컬 영역 연결* 2:
미디어 상태 . . . . . . . . : 미디어 연결 끊김
연결별 DNS 접미사. . . . :
설명. . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
물리적 주소 . . . . . . . . : DA-F8-83-B0-C2-1E
DHCP 사용 . . . . . . . . . : 예
자동 구성 사용. . . . . . . : 예
패킷 흐름
데이터 링크 계층의 대표적인 네트워크 장비 : 스위치
*스위치: 허브와 사용 목적은 유사하지만 네트워크 속도가 훨씬 빠르다. 데이터를 필요로 하는 컴퓨터에만 전송되기 때문에 가능한 일. 전이중 통신 방식을 지원하기 때문에 송.수신이 동시에 일어나면 속도가 더 빨라짐. 각 컴퓨터의 고유 MAC 주소를 기억하고 있어야 기능을 수행할 수 있고, 이 주소를 통해서 어떤 데이터가 어디로 전송되어야 하는지 판단해야 함.
MAC 계층에서 동작하는 대표적인 프로토콜(데이터 교환 방식 정하는 규칙 체계) : 이더넷(컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격)
흘러가는 패킷의 구조 : 네트워크 계층까지의 패킷 정보(by 2진수) + 데이터 링크 계층의 패킷 정보(출발 MAC 주소 + 목적지 MAC 주소)
[3계층] 네트워크 계층
대표적인 네트워크 장비 : 라우터 (데이터 패킷 전송 네트워크 장치, 위치에 따른 최적의 경로 지정)
여러 개의 노드를 거칠 때마다 경로를 찾아준다. IP로 주소가 대표됨. 다양한 길이의 데이터를 네트워크를 통해서 전달하며 이 과정에서 라우팅(어떤 네트워크 안에서 데이터를 보낼 때 최적의 경로를 선택하는 과정), 흐름 제어, 세그먼테이션(운영체제.............ㅠㅠ), 오류 제어 등을 수행함.
출발지 IP와 MAC 주소 기록 -> 목적지 IP주소 입력 -> 목적지 MAC 주소에는 LAN을 벗어나기 위한 가장 일차적인 목적지, 즉 게이트웨이(컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 SW 두루 일컫는 용어)의 MAC 주소 입력. -> 데이터 링크 계층 정보 벗겨내고 -> 다음 라우터까지 데이터 링크 계층 정보를 패킷에 덧씌운다. ... 계속 해서 반복.
[4계층] 전송 계층
양 끝단의 사용자들이 신뢰성 있는 데이터 주고받을 수 있게 함. 상위 계층이 데이터 전달의 유효성이나 효율성 신경 쓰지 않게 해준다. 전송 프로토콜 : TCP
포트: 시스템에 도착한 후 패킷이 찾아갈 응용 프로그램으로 통하는 통로 번호임. 자신에게 해당되는 패킷을 식별할 때 사용.
출발지 포트는 보통 사용하지 않는 임의의 포트를 프로그램 별로 할당. 전송 계층의 패킷 정보에 넣어준다.
TCP 192.168.219.103:60912 20.44.229.112:443 ESTABLISHED
프로토콜 종류 클라이언트PC IP주소 : 웹브라우저포트번호 서버IP주소 :웹서버포트번호 연결상태
TCP의 연결 설정 과정 : 3-웨이 핸드셰이킹
1. 두 시스템 통신 하기 전에 클라이언트는 포트가 닫힌 상태, 서버는 포트로 항상 서비스 제공 가능한 Listen 상태
2. 처음 통신을 하려면 임의의 포트 번호가 클라이언트 프로그램에 할당됨. 서버에 연결하고 싶다는 의사 표시로 SYN sent 상태가 됨
3. 클라이언트의 연결 요청을 받은 서버는 Received로 상태가 변경되고 좋다는 의미로 SYN+ACK 패킷 전송
4. 클라이언트는 연결 요청에 대한 서버 응답 확인 표시 (ACK패킷) 전송
TCP | 연결 지향형 프로토콜 수신 측이 데이터 흘려버리지 않도록 데이터 흐름 제어 에러 발생 시 자동으로 재전송(에러 제어) 확실한 전송 보장하지만... 과정이 불완전해 해커들 공격 다수 받음 |
UDP | 데이터의 신뢰성 있는 전송 보장 X 신뢰성이 매우 높은 회선을 사용하거나 확실한 전송을 요하지 않거나 한번에 많은 상대에게 전송하는 경우에는 얘가 더 효과적임.. 덜 번잡하고 시간 절약 ㄱㄴ |
[5계층] 세션 계층 : 통신 관리 방법 제공
[6계층] 표현 계층 : 코드 간 번역
[7계층] 응용 프로그램 계층 : 응용 프로세스와 직접 관계해서 응용 서비스 수행
서비스 거부 공격 DoS
다른 해킹에 비해 비교적 간단... 약간 훼방 같은 느낌
네트워크 패킷 처리 로직에서 발견한 취약점을 공격(보잉크/봉크/티어드롭/랜드)하거나 자원을 소모(랜드,죽음의 핑, SYN 플러딩...) 시키는 형태로 공격함.
- 보잉크/봉크 : 프로토콜의 오류 제어 로직 악용. TCP는 데이터 전송 시 신뢰 확보를 위해서 패킷 전송에 문제가 있으면 반복적으로 재요청과 수정을 하는데, 공격 대상이 반복적인 재요청과 수정을 계속하게 함으로써 시스템 자원 고갈시킴.
- 티어드롭 : 패킷의 시퀀스 넘버와 길이 조작 -> 패킷 간의 데이터 부분 겹치거나 빠진 상태로 패킷 전송
- 랜드 : 패킷 전송 시 출발지 IP 주소 = 도착지 IP 주소 ... 공격 대상한테 보냄
SYN 플러딩과 마찬가지로 동시 사용자 수 점유하고 CPU 올려서 시스템 지치게 만든다.
- 죽음의 핑 : 넷바이오스와 함께 시스템 파괴하는 데 가장 흔하게 쓰인 초기 공격 방법임. 네트워크 연결 상태 점검하는 핑 명령 보낼 때 패킷을 최대한 길게 보내서 쪼개버림. 대량의 작은 패킷을 수신하려면 어마어마한 작업량이 필요하고.. 결국 네트워크 마비. 이를 방지하기 위해서 방화벽에서 ICMP 차단
- SYN 플러딩 공격 : 동시 사용자수 제한 이용한 공격. 존재하지 않는 클라이언트가 접속 가능 공간에 접속한 것처럼 속여서 다른 사용자가 서비스 제공 못하게 만듦. TCP 연결 과정인 3-웨이 핸드셰이킹 문제점 악용. 특정 웹 서버 접속자 폭주해서 서버 마비 되는 경우도 이 공격 받은 상황과 유사함.
-HTTP의 GET 메소드 특정 페이지 무한대 공격
- 스머프 공격 : ICMP(인터넷 제어 메세지 프로토콜)패킷과 네트워크에 존재하는 임의의 시스템 이용해서 패킷 확장, 서비스 거부 공격 수행. 한마디로... 지가 한 짓 엉뚱한 사람한테 덮어씌움 . 여기서 엉뚱한 사람이 공격 대상이 되는거임.
다이렉트 브로드캐스트 : 브로드 캐스트는 기본적으로 라우터 넘어가지 못한다. 요청을 받은 네트워크는 패킷의 위조된 시작 IP주소로 응답 재전송... 이가 과부하 상태로 만든다.
- 메일 폭탄... : 리터럴리.
분산 서비스 거부 공격(DDoS)
공격자의 위치와 구체적인 발원지 파악도 거의 불가능함..
공격을 주도하는 해커 컴퓨터와 공격자에게 직접 명령을 받는 시스템으로 여러 대의 에이전트를 관리하는 마스터가 있음. 이때 이 시스템의 역할을 수행하는 프로그램을 핸들러 프로그램이라고 함. 그리고 에이전트 시스템의 역할을 수행하는 프로그램은 데몬 프로그램이라고 함.
1. pc에서 전파 가능한 악성 코드 작성
2. 사전에 공격 대상과 스케줄을 정한 뒤에 미리 작성한 악성 코드에 코딩함
3. 인터넷 통해서 악성 코드 전파(봇 : 분산 서비스 거부 공격에 사용되는 악성 코드)
악성 코드에 감염된 PC : 좀비PC... 이 PC끼리 형성된 네트워크 : 봇넷
4. 공격자가 명령을 내리거나 봇넷을 형성한 애들이 공격 스케줄에 따라서 일제히 공격 명령 수행
- 스니핑 공격 : 동물이 킁킁거릴 떄 그 스니핑 생각하면 쉽다. 아무것도 하지 않고 조용히 하고 있는 것만으로도 충분하기 때문에 수동적인 공격임. 도청..생각하면 쉽다.
네트워크 카드: 패킷 아이피 주소와 맥 주소 인식하고 버퍼 저장 유무 결정함. 이때 카드에 인식 된 데이터 링크 계층과 네트워크 계층 정보가 자신의 것과 일치하지 않는 패킷은 무시한다. 스니핑을 수행하는 공격자는 가지지 말아야 할 정보까지 모두 볼 수 있어야해서 필터링 방해된다. 스니핑 위한 드라이버 설치하고 프러미스큐어스 모드로 변경.
스위칭 기능을 마비시키는 스위치 재밍 공격과 스위치 포트 미러링 기능을 이용한 SPAN 포트 태핑 공격이 있다.
- 탐지는 어떻게?
ping을 이용해서 탐지할 수 있음.
ICMP echo reply를 받으면 해당 호스트가 스니핑 하고 있는 것임ㅇㅇ. 그 외로 ARP나 DNS, 유인, ARP watch를 이용해서 탐지 가능.
ARP 스푸핑 공격 : MAC 주소를 속이는 것
서버와 클라이언트의 IP 주소에 대한 맥 주소를 공격자의 MAC 주소로 속임.
IP 스푸핑 공격
클라이언트의 IP 주소를 확보해서 실제 클라이언트처럼 패스워드 없이 서버에 접근. 트러스트를 맺고 있는 서버와 클라이언트 확인해야함. /etc/host.equiv
IP 사용해서 접속하면 위와 같은 스니핑처럼 패스워드 알아낼 필요가 없음. 대응책은 그냥.. 트러스트 이용하지 않는 거지 뭐.
- ICMP 리다이렉트
*공격자 : 라우터 B
만약 리다이렉트 패킷을 공격 대상에 보낸 후 라우터 A에 다시 연결하면 모든 패킷 스니핑 가능함. (공격자가 ICMP 리다이렉트 패킷 송신 -> 공격 대상은 공격자를 라우터로 인지하고 데이터를 송신함. )
-DNS 스푸핑 공격
실제 DNS 서버보다 빨리 공격 대상에게 응답 패킷을 보내서 잘못된 IP 주소로 접속 하도록 유도. 익스플로러에 사이트 주소 입력하고 엔터키 쳤을 때 불법 사이트나 쇼핑몰 뜨는 경우.
중요 접속 서버의 링크에 대한 IP를 호스트 파일에 등록해놓으면 되지만... 모든 서버의 IP를 등록하는 것은 거의 불가능함.. 모든 서버에 대한 DNS 스푸핑 막기 어려움.
세션 하이재킹(세션 가로채기)
- TCP 세션 하이재킹 : 공격자가 원하는 접속만 공격 대상이 생성하면 네트워크 공격으로 세션 빼앗기 가능.
무선 네트워크
- 무선 랜
무지향성 안테나 : 주로 봉의 형태, 전파 수신에 일정한 방향성 X, AP위치에 상관없이 동작. = 여러 방향 지원, 수평면에 대해 무지향성
지향성 안테나 : 수직과 수평으로 나뉨. 목표 방향을 지정해서 그 방향의 전파만 탐지. 통신 거리가 더 길다.
AP 보안
물리적인 보안 및 관리자 패스워드 변경, SSID(무선 랜 네트워크 검색 시 확인할 수 있는 AP 목록 중 이름으로 표시된 것) 브로드캐스팅 금지
무선 랜 통신의 암호화 - WEP, WPA-PSK
'Major > Security' 카테고리의 다른 글
system security (0) | 2022.04.14 |
---|