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