Deprecated된 `ssl.wrap_socket` 사용

Deprecated ssl.wrap_socket

설명

ssl.wrap_socket 함수는 더 이상 사용되지 않으며, 보안상 문제가 있을 수 있는 기능입니다. 대신 ssl.SSLContext으로 안전한 최신 보안 설정을 적용하여 암호화 강도를 높여 취약점 방지를 하는 것을 권장합니다.

잠재적 영향

  • 프로토콜 다운그레이드 공격: 강력한 암호화 프로토콜을 사용하지 않아 공격자가 취약한 프로토콜을 강제할 수 있습니다.

  • 데이터 유출: 안전하지 않은 암호화로 인해 민감한 데이터가 탈취될 수 있습니다.

해결 방법

  • ssl.SSLContext 사용: ssl.SSLContext를 사용하여 최신 보안 설정을 적용합니다.

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

  • 보안 설정 강화: 최신 보안 설정을 사용하여 보안 취약점을 방지합니다.

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

취약한 코드

# Unsafe ssl.wrap_socket
import socket
import ssl

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
wrapped_socket = ssl.wrap_socket(sock)
wrapped_socket.connect(('example.com', 443))

안전한 코드

Client 측

Server 측

설명:

  • 취약한 코드: ssl.wrap_socket은 더 이상 지원하지 않는 함수이기도 하며 사용시 최신 보안 설정을 적용할 수 없어 취약합니다.

  • 안전한 코드: ssl.SSLContext를 사용하여 최신 보안 설정을 적용하여 취약하지 않도록 적용합니다.

참조

Last updated