HTTP를 통한 통신

Requests via HTTP

설명

HTTP를 통한 요청은 민감한 데이터를 평문으로 전송하여, 중간자 공격(Man-in-the-Middle, MITM)이나 패킷 스니핑 공격에 취약하게 만듭니다. 이러한 요청은 기밀성, 무결성, 인증이 보장되지 않기 때문에 보안상 위험합니다.

잠재적 영향

  • 데이터 유출: 공격자가 네트워크를 통해 평문으로 전송된 민감한 정보를 탈취할 수 있습니다.

  • 데이터 변조: 공격자가 전송 중인 데이터를 변조할 수 있습니다.

  • 인증 우회: 공격자가 인증 정보를 탈취하여 인증 메커니즘을 우회할 수 있습니다.

해결 방법

  • HTTPS 사용: 모든 요청을 HTTPS를 통해 전송하여 데이터를 암호화합니다.

  • 최신 보안 프로토콜 사용: TLS 1.2 이상을 사용하여 보안성을 높입니다.

  • 보안 설정 강화: 서버와 애플리케이션의 보안 설정을 강화하여 HTTPS 사용을 강제합니다.

취약한 코드 및 안전한 코드 예시

취약한 코드

# Unsafe HTTP requests
import requests

response = requests.get('http://example.com/api/data')

안전한 코드

설명:

  • 취약한 코드: HTTP를 사용하여 민감한 데이터를 평문으로 전송하여 중간자 공격에 취약합니다.

  • 안전한 코드: HTTPS를 사용하여 데이터를 암호화된 채로 전송하여 중간자 공격을 방지합니다.

참조

Last updated