이전에 HTTPS에 관해 공부해보면서 >이전 포스팅: HTTP? HTTPS?
네트워크 상에서 데이터를 어떻게 가로채는 것일까? 하는 궁금증이 생겼다.
해커들은 어떤 정보를 빼가길래 악용 할 수 있는 것일까?
그리고 어떻게 가로채는 것 일까?
네트워크에서 데이터를 가로채는 것은 일반적으로 네트워크 스니핑(Network Sniffing) 또는 패킷 스니핑(Packet Sniffing)이라고한다.
스니핑(Sniffing) : 네트워크에서 데이터를 가로채고 분석하는 것
스니핑 소프트웨어를 사용하여 네트워크 트래픽을 가로채어 네트워크 인터페이스를 통해 들어오고 나가는 패킷을 캡처하고 분석할 수 있습니다.
패킷(Packet) : 네트워크 통신에서 데이터의 기본 단위. 데이터를 작은 조각으로 분할하여 전송하는데, 이러한 조각을 "패킷"이라 하며 데이터의 일부, 발신지와 목적지의 주소 정보, 제어 정보 등이 포함되어 있다.
패킷이라는 것이 와닿지 않았는데, F12를 눌러 볼 수 있는 'Network'탭의 모든 것이라고 이해 할 수 있었다. 한마디로 오가는 모든 정보를 빼가는 것..!
스니핑 소프트웨어로는 Wireshark, tcpdump, Ettercap 등이 있으며 네트워크 인터페이스에 접근하여 패킷을 읽고 기록하며, 그들을 분석하여 사용자에게 제공한다.
일반적으로 이러한 소프트웨어는 다음과 같은 단계를 거쳐 동작한다.
이러한 소프트웨어들은 해킹만 사용되는 것이 아니라 네트워크 관리자, 보안 전문가 등이 네트워크의 동작을 이해하고 문제를 해결하기 위해 사용하기도 한다. 또한, 보안 공격을 감지하거나 네트워크 트래픽을 분석하여 보안 문제를 식별하는 데도 사용될 수 있다.
ARP 공격, DNS 포이즈닝, SSL 중간자 공격과 같은 기술을 사용하여 중간에서 데이터를 가로챌 수 있다. 상대방으로 위장하여 데이터를 중간에서 조작하거나 가로챌 수 있는 것이다.
ARP 공격은 네트워크 상에서 공격자가 ARP 패킷을 조작하여 공격 대상의 네트워크 트래픽을 가로채고 조작하는 기술이다. 일반적으로 로컬 네트워크에서 이루어지며, 공격자는 자신의 컴퓨터를 네트워크 내의 다른 장치로 위장하여 공격 대상의 통신을 도청하거나 조작할 수 있다.
ARP(Address Resolution Protocol) : 네트워크 상에서 IP 주소를 해당 네트워크 인터페이스의 물리적 MAC 주소로 매핑하기 위해 사용되는 프로토콜.
ARP 공격은 다음과 같이 두 가지 유형이 있다.
결국 목적은 해커의 MAC을 LAN과 연결하는 데 있다. 감염된 LAN으로 전송되는 트래픽이 모두 공격자에게 보내지는 것이다.
악의적인 공격자가 DNS(Domain Name System) 서버의 캐시를 위조하여 사용자를 잘못된 웹사이트로 리디렉션하거나 악의적인 웹사이트로 유도하는 공격이다.
DNS(Domain Name System) : 퓨터 네트워크에서 호스트의 도메인 이름을 네트워크 주소로 변환하거나 그 반대의 변환을 수행하는 분산형 데이터베이스 시스템.
(간단히 말해, DNS는 사람이 이해하기 쉬운 도메인 이름(예: www.example.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 192.0.2.1)로 매핑하는 역할!)
DNS 포이즈닝 공격은 공격자가 DNS 서버의 캐시를 위조하여 사용자가 원래의 도메인 이름에 대한 IP 주소 대신 악의적인 웹사이트의 IP 주소를 반환하도록 만드는 것이다. 이를 통해 사용자는 의도하지 않은 웹사이트로 리디렉션되거나, 악성 코드가 포함된 웹사이트로 유도될 수 있다.
공격자가 통신하는 두 당사자 사이에 위치하여 암호화된 통신을 가로채고 조작하는 공격이다.
SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) : 네트워크 통신에서 데이터를 안전하게 전송하기 위한 프로토콜.
SSL 중간자 공격의 단계는 아래와 같다.
핸드셰이크(handshake) : 네트워크 통신에서 두 개체 간의 연결을 설정하고 안전한 통신을 위한 초기화 프로세스.
프록시 서버는 클라이언트와 서버 사이에 위치하여 트래픽을 중간에서 가로챌 수 있다.
프록시 서버(proxy server) : 클라이언트와 서버 사이에서 중계 역할을 하는 서버
이 외에도 무선네트워크, 미러링 포트, 패킷 주입 등 다양한 방법의 해킹 방법이 있었다.
어쨌든 공통된 점은 통신 구조에 개입하여 중간에 데이터를 가로채고, 그것을 활용하여 이득은 취하는 것이 해커가 하는 일이라는 것이다.
자료들을 찾아보며 데이터를 빼가려는 무궁무진한 시도들이 있었구나 싶다.
역시 사람은 나쁜짓 하려고 할 때 가장 창의적이 되는 것일까?