선릉역 1번 출구

[정보보안개론] - 네트워크 보안(1) 본문

Hacking & Security/Hacking

[정보보안개론] - 네트워크 보안(1)

choideu 2023. 1. 30. 23:25

OSI 7계층: 개념적 모델

TCP/IP: 실제 구현이 되어 실질적인 표준처럼 사용되는 네트워크 모델

 

Protocol: 네트워크를 통해 데이터를 주고받는 과정에 대한 약속

 

7계층(물리|데이터|네트워크|전송|세션|표현|응용) 중 주로 보안 위협의 대상이 되는 3, 4계층인 네트워크와 전송 계층에 집중

 

간단하게 OSI 7계층 복습

7: 사용자게에 인터페이스를 제공하는 계층

6: 7계층에서 다루는 데이터의 형식을 변환하는 계층(암호화, 복호화 or 디코딩, 인코딩)

*인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것

ex) 웹 브라우저가 사용자에게 보여줄 메시지는 HTML 포맷으로 인코딩 됨, 사용자에게는 HTML 포맷으로 인코딩된 메시지 내용을 일반 텍스트로 화면에 보여줌

5: 두 개의 응용 프로세스 사이의 통신을 관리하는 계층

(7~5): 일반 응용 프로그램 내부에서 처리하는 과정을 논리적으로 세분화해 설명한 것으로, 통신에 사용될 메시지가 만들어지는 과정임

4: 데이터를 주고받을 때 데이터의 loss가 없도록 보장해주는 계층으로, 신뢰성 있는 end to end 전송을 진행함

3: 라우팅을 진행하는 계층(어떤 경로로 데이터를 보낼 것인가?)

2: point to point의 신뢰성 있는 전송을 보장하는 계층

1: 광케이블이나 구리 케이블 또는 무선으로 단말과 단말 사이를 실제 물리적으로 연결함

*실질적으로 데이터가 전달되는 목적지는 바로 1계층임

 

IP 프로토콜

routing을 책임짐(= 발신자와 수신자 사이의 경로를 선택해 무사히 수신자 노드까지 전달할 수 있게 함)

라우터는 최소 비용이 드는 최단 거리를 찾는 알고리즘을 이용해 최적의 경로를 찾을 수 있음

라우팅 테이블: 라우터에서 저장하는 각 노드 사이의 연결 정보를 저장한 테이블

IPv4의 주소 문제

- IPv6으로 해결

 

IP 주소의 클래스

- A: network 8bit + host 24bit

- B: network 16bit + host 16bit
- C: network 24bit + host 8bit

- D: 멀티 캐스팅용 

- E: 연구용

 

사설 IP 주소

- A: 10.0.0.0 ~ 10.255.255.255

- B: 172.16.0.0 ~ 172.31.255.255

- C: 192.168.0.0 ~ 192.168.255.255

 

TCP 프로토콜

- IP 프로토콜의 상위 계층으로, 세그먼트 전송이 실패한 경우에 재전송을 요청해 오류를 복구하기 때문에 신뢰성을 제공함

- IP 프로토콜이 전달해주는 패킷을 재조립해 세그먼트를 생성, 이때 누락된 패킷이 있으면 재전송 요청

- TCP(connected oriented protocol): TCP에서는 송신자와 수신자가 일단 통신을 시작하면 둘 사이에 연결이 맺어지고 통신이 끝날 때까지 연결이 지속됨 vs UDP는 송신자와 수신자 사이의 연결이 지속되지 않음(메시지를 보낼 때마다 연결을 새로 맺고 끊음)

 

3 way handshake

연결 지향적인 TCP는 3way handshake로 통신을 시작함

연결이 맺어진 후 실제 메시지가 오고 가는 과정은 2-way 방식임

송신자 -- 데이터 --> 수신자

송신자 <--확인-- 수신자

*이때 수신자의 ACK 패킷을 송신자가 일정 시간 동안 못 받은 경우라면 송신자는 수신자에게 다시 메시지를 재전송함

TCP의 flow control은 tcp 헤더 정보의 sliding window 기법으로 처리함

**tcp header의 sequence number는 송신자와 수신자가 패킷을 주고받을 때마다 값이 단순 증가함

4 way handshake

송신자 -- FIN --> 수신자

송신자 <-- ACK | FIN -- 수신자

송신자 -- ACK --> 수신자

 

tcp port

20, 21 FTP
22 SSH
23 Telnet
53 DNS
80 HTTP
110 POP3
443 HTTPS

- 주요 port 번호

 

sniffing(= 도청)

1. 허브 환경에서의 스니핑

허브: 입력으로 전달받은 패킷을 나머지 모든 포트로 단순히 전달하기만 함

-> 원래는 다른 PC로 전달되는 패킷을 무시하기 때문에 일반 응용 프로그램 수준에서는 다른 PC로 전달되는 패킷을 확인할 수 없음

-> NIC에서 자신의 MAC 주소가 아닌 패킷들을 필터링하는데 네트워크 카드를 promiscuous mode로 설정하면 허브 환경에서 스니핑이 가능함

*promiscuous mode: 내 MAC 주소가 아닌 패킷도 전달받음

 

2. 스위치 환경에서의 스니핑

허브와 달리 스위치는 패킷을 정확한 목적지로만 전달 -> NIC을 promiscuous mode로 바꿔도 도청이 불가능함

  • 모니터링 포트 이용: 스위치를 통과하는 모든 패킷의 내용을 전달함
    • 네트워크 관리를 위해 스위치 제조사에서 만든 것으로 물리적으로 스위치에 접근할 수 있다면 모니터링 포트에 자신의 PC를 연결하여 스니핑 가능
  • 스위치 재밍: 매핑 테이블의 최대 저장 개수보다 더 많은 정보가 추가되면 대다수의 스위치는 브로드 캐스팅 모드로 전환함(마치 허브와 같아짐)
  • 스푸핑 공격 기법: 공격자가 마치 자신이 수신자인 것처럼 '위장'하는 기법

스니핑 방지 =  1. 암호화, 2. VPN

 

이메일 환경에서의 암호화

  • PGP: 이메일 보안 프로그램
  • S/MIME: MIME에 암호화 기법을 추가한 것

VPN

: 사설망 or 사설 가상망이라는 뜻으로 사용됨, 일종의 네트워크 시스템 자체를 말함

본사와 지사가 전용망으로 구성됨, 둘 사이를 kt같은 통신 회사에 임대회선을 신청해 폐쇄망(closed network)을 구축할 수 있지만 상당한 비용이 발생함

비용을 낮추려면 인터넷과 같은 공개망을 사용해야함

but! 공개망을 사용사면서도 전용망을 사용하는 효과를 볼 수 있는 것 => VPN

 

지사의 VPN 전용 장비에서 해당 요청을 암호화한 다음 인터넷을 통해 본사의 VPN 전용 잔비로 전달

본사의 VPN 전용 장비는 암호화된 요청을 다시 복호화해 본사의 서버로 접속 요청을 전달

or 지사가 아니더라도 외부의 인터넷망을 통해 직접 본사와 연결해야하는 경우가 있음

 

스니핑 탐지 방법

1. ping 보내기

유효하지 않은 IP로 ping을 보내면 접속이 안됨 -> 해당 주소를 가지는 호스트가 없기 때문

그러나 promiscuous 모드가 동작중이라면 ping 명령어를 통해 연결이 안된다는 결과가 나올 수 없음

무차별 모드가 켜져 있기 때문에 없는 주소로 보낸 요청마저도 가져가기 때문

 

2. ARP 이용하기

존재하지 않는 IP 주소를 이용해 ARP 요청을 보냈을 때 응답 여부를 통해 누군가가 스니핑 중인지를 판단

'Hacking & Security > Hacking' 카테고리의 다른 글

보안 수업 정리(2)  (0) 2023.02.06
보안 수업 정리(1)  (0) 2023.02.03
[정보보안개론] - 시스템 보안(윈도우)  (0) 2023.01.29
[정보보안개론] - 정보 보안 개론  (0) 2023.01.29
System Hacking - gdb  (1) 2022.12.25
Comments