2010-01-27 2 views
4

https://www.secretplace.com/really/really/secret.php에 액세스하려고했는데 SSL 세션이 설정되기 전에 실제로 일반 텍스트로 전송됩니다.SSL 연결에서 얼마나 많은 데이터가 유출 되었습니까?

브라우저가 개입하여 https를 원한다는 사실을 알았습니까? secretplace.com으로 SSL 세션을 시작합니다 (즉, 일반 텍스트로 경로를 전달하지 않고). SSL 세션을 설정 한 후에야 경로가 전달됩니까?

그냥 궁금합니다.

답변

5

HTTP Secure

보호의 수준은 웹 브라우저와 서버 소프트웨어 및 지원되는 실제 암호화 알고리즘의 구현의 정확성에 따라 달라집니다.

또한 HTTPS는 공개적으로 사용 가능한 정적 콘텐츠에 적용될 때 취약합니다. 전체 사이트는 웹 크롤러를 사용하여 인덱싱 할 수 있으며 차단 된 요청/응답 크기 만 알면 암호화 된 리소스의 URI를 유추 할 수 있습니다. 이를 통해 공격자는 일반 텍스트 (공개적으로 사용 가능한 정적 컨텐츠) 및 암호화 된 텍스트 (정적 컨텐츠의 암호화 된 버전)에 액세스하여 암호화 공격을 허용합니다.

SSL은 HTTP보다 아래에서 작동하며 상위 수준 프로토콜에 대한 지식이 없기 때문에 SSL 서버는 특정 IP/포트 조합에 대해 하나의 인증서 만 엄격하게 제시 할 수 있습니다. 즉, 대부분의 경우 HTTPS와 함께 이름 기반 가상 호스팅을 사용할 수 없습니다. 많은 구형 브라우저가이 확장을 지원하지 않지만 서버 이름 표시 (SNI)라는 솔루션이 연결을 암호화하기 전에 호스트 이름을 서버로 보냅니다. SNI에 대한 지원은 Windows Vista의 Firefox 2, Opera 8 및 Internet Explorer 7부터 사용할 수 있습니다.

-2

귀하의 브라우저에서 요청한 내용은 https://url:443이며, 그 내용은 분명합니다. 그런 다음 서버와 클라이언트는 데이터 보호를 위해 암호 조합을 협상합니다. 일반적으로이 작업에는 변조를 탐지하기 위해 대칭 암호화 알고리즘 (예 : 3DES 또는 RC4 또는 AES)과 메시지 인증 코드 (예 : HMAC-SHA1)가 포함됩니다. 기술적으로이 두 가지 모두 선택 사항이므로 SSL을 암호화없이 사용할 수는 있지만 현재는 없기 때문에 일 수 있습니다.

일단 클라이언트 (브라우저)와 웹 서버가 암호 조합에 동의하고 키가 결정되면 나머지 대화는 보호됩니다.

솔직히 말해서 나는 프로토콜 분석기를 연결하여 눈앞에서 펼쳐지는 것을 보았습니다!

SSL은 TCP/IP 스택의 전송 계층에 있으며, 브라우저 데이터 아래에 있으므로 모두 보호됩니다.

희망이 있습니다.

+1

위의'https : // url : 443'에'url'을 쓰는 곳은'domain-or-ip'가 더 나은 설명이라고 생각합니다. 도메인 이름은 SSL 연결에서 "명확한"것은 아니지만 별도의 DNS 조회를 통한 것일 수 있습니다. 연결하려는 서버의 IP 주소가 명확하게 표시됩니다. – awatts

+1

'url'에 원시 IP를 지정하면 클라이언트 응용 프로그램은 사용자가 올바른 서버 (예 : 비 악의적 인 서버)에 연결하고 있는지 확인할 수 없습니다. 이는 서버가 IP 주소가 아닌 DNS 도메인 이름 집합에 대해 발급 된 인증서로 ID를 증명하기 때문입니다. –

+0

이 대답의 첫 번째 문장은 오해의 소지가 있습니다. 서버 ('ClientHello')에 대한 초기 요청을 할 때 서버의 IP는 이미 알려져 있습니다. SNI가 사용 중이면 URL의 가상 호스트도 유출됩니다. 프로토콜 분석기 (훌륭한 제안)를 사용하기로 결정했다면, 여러분이보고있는 것은 최소한의 누설이라는 점을 기억하십시오. 사소한 검사를 통해 거의 알 수없는 누설이 거의 발생합니다. – Andrew

5

일반적으로 대화하고있는 서버의 이름이 유출됩니다 ("stackoverflow.com"). SSL/TLS가 연결되기 전에 DNS를 통해 유출되었을 수 있습니다.

서버 인증서가 누수되었습니다. 보낸 클라이언트 인증서 (일반적인 구성 아님)는 분명히 전송되었을 수도 있고 아닐 수도 있습니다. 능동적 인 공격자 (man-in-the-middle)는 아마도 브라우저에 요청하여 어쨌든 수신 할 수 있습니다.

"/ questions/2146863/how-much-data-is-ssl-connection에서 누출 된"URL의 경로 부분이 유출되어서는 안됩니다. 암호화되고 안전한 것으로 전달됩니다 (클라이언트와 서버가 올바르게 설정되었고 어떤 인증서 오류도 클릭하지 않았다고 가정).

정적 인 콘텐츠에 대한 일부 사항을 추론 할 수있는 트래픽 분석 공격이있을 수있는 다른 포스터입니다. 사이트가 매우 크고 역동적이라면 (stackoverflow.com) 나는 많은 유용한 정보를 얻는 것이 매우 어려울 수 있다고 생각합니다. 그러나 고유 한 크기의 파일이 몇 개 밖에없는 경우 다운로드가 확실 할 수 있습니다.

양식 POST 데이터가 유출되어서는 안됩니다. 알려진 크기의 객체를 전송하는 경우에는 일반적인주의 사항이 적용됩니다.

타이밍 공격으로 인해 일부 정보가 노출 될 수 있습니다. 예를 들어, 공격자는 응용 프로그램의 여러 부분 (예 : 특정 데이터베이스 테이블)에 스트레스를가하거나 디스크에서 일부 정적 파일을 미리로드하고 연결 속도가 느려지거나 응답 속도가 빠른지 지켜 볼 수 있습니다.

이것은 "누출"정보이지만 대부분의 사이트에서는 큰 문제가 아닐 수 있습니다.

관련 문제