Wireshark 으로 SSL/TLS 트래픽 캡처 및 디크립트 방법 (사이버 보안)

NmapBeginner
지금 연습하기

소개

사이버 보안 분야에서 암호화된 네트워크 트래픽을 이해하고 분석하는 것은 필수적인 기술입니다. 이 튜토리얼에서는 인기 있는 네트워크 분석 도구인 Wireshark 를 사용하여 SSL/TLS 트래픽을 캡처하고 해독하는 과정을 안내합니다. 이 문서를 마치면 암호화된 통신에 대한 가시성을 확보하여 사이버 보안 실무를 향상시킬 수 있는 지식을 갖추게 될 것입니다.

SSL/TLS 암호화 이해

SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) 는 인터넷을 통해 안전한 통신을 제공하는 암호화 프로토콜입니다. 로그인 자격 정보, 금융 거래, 개인 정보와 같은 민감한 데이터를 도청 및 변조로부터 보호하는 데 널리 사용됩니다.

SSL/TLS 암호화란 무엇인가요?

SSL/TLS 암호화는 클라이언트 (예: 웹 브라우저) 와 서버 (예: 웹 서버) 간에 전송되는 데이터의 기밀성과 무결성을 보장하는 프로세스입니다. 두 당사자 간에 안전하고 암호화된 연결을 설정하여 제 3 자가 데이터에 접근하는 것을 방지합니다.

SSL/TLS 암호화는 어떻게 작동하나요?

SSL/TLS 암호화 프로세스는 다음 단계를 포함합니다.

  1. 핸드셰이크: 클라이언트와 서버는 암호화 알고리즘을 협상하고 공개 키를 교환하여 안전한 연결을 설정합니다.
  2. 암호화: 클라이언트와 서버는 협상된 암호화 알고리즘과 교환된 공개 키를 사용하여 서로 간에 전송되는 데이터를 암호화 및 복호화합니다.
  3. 검증: 클라이언트와 서버는 디지털 인증서를 사용하여 서로의 신원을 검증하여 의도된 상대방과 통신하고 있음을 확인합니다.
sequenceDiagram participant Client participant Server Client->>Server: Client Hello Server->>Client: Server Hello, Certificate Client->>Server: Client Key Exchange Client->>Server: Change Cipher Spec Client->>Server: Encrypted Data Server->>Client: Change Cipher Spec Server->>Client: Encrypted Data

SSL/TLS 암호화 알고리즘

SSL/TLS 암호화는 통신의 보안을 보장하기 위해 다양한 알고리즘을 사용합니다. 일반적으로 사용되는 알고리즘 중 일부는 다음과 같습니다.

  • 대칭 암호화 알고리즘: AES(Advanced Encryption Standard), ChaCha20 등
  • 비대칭 암호화 알고리즘: RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman(ECDH) 등
  • 해시 함수: SHA-256, SHA-384, SHA-512 등
  • 메시지 인증 코드 (MAC): HMAC-SHA256, HMAC-SHA384 등

SSL/TLS 연결에서 사용되는 특정 알고리즘은 핸드셰이크 과정에서 협상됩니다.

SSL/TLS 암호화의 중요성

SSL/TLS 암호화는 인터넷을 통한 통신을 보호하는 데 필수적입니다. 다음과 같은 다양한 공격으로부터 보호합니다.

  • 도청: 제 3 자가 전송된 데이터를 가로채고 읽는 것을 방지합니다.
  • 중간자 공격: 클라이언트가 의도된 서버와 통신하고 있고 그 반대의 경우도 보장합니다.
  • 데이터 변조: 전송된 데이터의 무결성을 보장하여 전송 중에 수정되는 것을 방지합니다.

SSL/TLS 암호화는 다음과 같은 다양한 응용 프로그램에서 널리 사용됩니다.

  • 웹 브라우징: 웹 브라우저와 웹 서버 간의 통신 (HTTPS) 을 보호합니다.
  • 이메일: 이메일 클라이언트와 서버 간의 통신 (SMTPS, IMAPS) 을 보호합니다.
  • 파일 전송: 파일 전송 중의 통신 (FTPS, SFTP) 을 보호합니다.
  • 가상 사설망 (VPN): 클라이언트와 VPN 서버 간의 통신을 보호합니다.

SSL/TLS 암호화의 기본 사항을 이해하는 것은 사이버 보안 전문가에게 중요하며, 네트워크 트래픽을 효과적으로 모니터링, 분석 및 보호할 수 있도록 합니다.

Wireshark 를 사용한 SSL/TLS 트래픽 캡처

Wireshark 는 SSL/TLS 트래픽을 캡처하고 분석할 수 있는 강력한 네트워크 프로토콜 분석기입니다. SSL/TLS 트래픽을 캡처하면 클라이언트와 서버 간의 통신에 대한 귀중한 통찰력을 얻을 수 있으며, 보안 분석, 문제 해결 및 규정 준수 목적으로 유용합니다.

Ubuntu 22.04 에 Wireshark 설치

Ubuntu 22.04 에 Wireshark 를 설치하려면 다음 단계를 따르세요.

  1. 패키지 인덱스 업데이트:
sudo apt-get update
  1. Wireshark 설치:
sudo apt-get install wireshark
  1. 프롬프트가 나타나면 비슈퍼유저 사용자가 패킷을 캡처할 수 있도록 "예"를 선택합니다.

Wireshark 를 사용한 SSL/TLS 트래픽 캡처

Wireshark 를 사용하여 SSL/TLS 트래픽을 캡처하려면 다음 단계를 따르세요.

  1. Wireshark 실행:
sudo wireshark
  1. 트래픽을 캡처할 적절한 네트워크 인터페이스를 선택합니다.
  2. "시작" 버튼을 클릭하거나 "Ctrl+E" 단축키를 눌러 캡처를 시작합니다.
  3. 캡처하려는 웹사이트 또는 서비스에 접속합니다.
  4. "중지" 버튼을 클릭하거나 "Ctrl+E" 단축키를 눌러 캡처를 중지합니다.

이제 Wireshark 는 캡처된 네트워크 트래픽, 포함하여 SSL/TLS 암호화된 데이터를 표시합니다.

Wireshark 에서 SSL/TLS 트래픽 필터링

캡처된 트래픽을 필터링하고 SSL/TLS 관련 패킷에 집중하려면 다음 Wireshark 디스플레이 필터를 사용할 수 있습니다.

ssl or tls

이 필터는 SSL 또는 TLS 세션의 일부인 모든 패킷을 표시합니다.

트래픽을 좁히기 위해 더 구체적인 필터를 사용할 수도 있습니다. 예를 들어:

tcp.port == 443 or tcp.port == 80

이 필터는 표준 HTTPS(포트 443) 및 HTTP(포트 80) 포트의 모든 트래픽을 표시합니다.

이러한 필터를 사용하여 네트워크 캡처에서 SSL/TLS 트래픽을 신속하게 식별하고 분석할 수 있습니다.

Wireshark 에서 SSL/TLS 트래픽 디크립트하기

SSL/TLS 트래픽을 캡처하는 것은 네트워크 통신을 분석하는 첫 단계일 뿐입니다. 암호화된 트래픽의 내용을 완전히 이해하려면 디크립트해야 합니다. Wireshark 는 SSL/TLS 트래픽을 디크립트하는 기능을 제공하며, 사이버 보안 전문가에게 매우 유용할 수 있습니다.

SSL/TLS 트래픽 디크립트를 위한 사전 조건

Wireshark 에서 SSL/TLS 트래픽을 디크립트하려면 다음이 필요합니다.

  1. SSL/TLS 마스터 키: 암호화 및 복호화를 위한 세션 키를 생성하는 데 사용되는 사전 마스터 시크릿입니다.
  2. SSL/TLS 개인 키: 서버의 SSL/TLS 인증서에 해당하는 개인 키입니다.

Wireshark 에서 SSL/TLS 트래픽 디크립트하기

Wireshark 에서 SSL/TLS 트래픽을 디크립트하려면 다음 단계를 따르세요.

  1. SSL/TLS 마스터 키와 개인 키를 얻습니다.

  2. Wireshark 에서 "편집" > "기본 설정" > "프로토콜" > "SSL"로 이동합니다.

  3. "SSL" 기본 설정에서 "RSA 키 목록" 옆의 "편집" 버튼을 클릭합니다.

  4. SSL/TLS 마스터 키와 개인 키를 목록에 추가합니다.

    주소 포트 프로토콜 키 파일 비밀번호
    * * * <키 파일 경로> <비밀번호>
  5. "확인"을 클릭하여 변경 사항을 저장하고 기본 설정 창을 닫습니다.

  6. Wireshark 는 이제 제공된 키를 사용하여 SSL/TLS 트래픽을 디크립트하려고 시도합니다.

sequenceDiagram participant Wireshark participant Server Wireshark->>Server: SSL/TLS 트래픽 캡처 Server->>Wireshark: 암호화된 데이터 Wireshark->>Wireshark: SSL/TLS 마스터 키 및 개인 키를 사용하여 트래픽 디크립트 Wireshark->>분석가: 디크립트된 SSL/TLS 트래픽

SSL/TLS 트래픽을 디크립트하면 이제 통신 내용을 분석할 수 있으며, 보안 평가, 사고 대응 및 규정 준수 목적으로 유용합니다.

요약

이 튜토리얼에서는 사이버 보안 전문가를 위한 귀중한 도구인 Wireshark 에서 SSL/TLS 트래픽을 캡처하고 디크립트하는 방법에 대한 포괄적인 개요를 제공했습니다. 제시된 기술을 이해함으로써 이제 암호화된 네트워크 통신을 효과적으로 분석하고 잠재적인 보안 위협을 식별하며 전반적인 사이버 보안 자세를 강화할 수 있습니다.