다운그레이드 공격

다운그레이드 공격 또는 버전 롤백 공격은 컴퓨터 시스템 또는 통신 프로토콜에 대한 암호화 공격의 한 형태로, 고품질 작동 모드(예: 암호화된 연결)를 포기하고 이전의 저품질 작동 모드(예를 들어 일반 텍스트)는 일반적으로 이전 시스템과의 이전 버전과의 호환성을 위해 제공된다.  이러한 결함의 예는 공격자가 클라이언트와 서버 간에 더 낮은 버전의 TLS 사용을 협상할 수 있도록 하는 OpenSSL에서 발견되었다.  이것은 다운그레이드 공격의 가장 일반적인 유형 중 하나이다.  또 다른 예는 웹 트래픽을 낮추고 웹사이트의 안전한 HTTPS 버전에서 암호화되지 않은 HTTP 버전으로 사용자를 리디렉션하는 것이다.

공격 편집

다운그레이드 공격은 PITM(person-in-the-middle) 공격의 일부로 구현되는 경우가 많으며, 다른 방법으로는 불가능할 수도 있는 암호화 공격을 가능하게 하는 방법으로 사용될 수 있다.  다운그레이드 공격은 SSL/TLS 프로토콜 제품군의 일관된 문제이다.  이러한 공격의 예로는 POODLE 공격이 있다.

TLS 프로토콜의 다운그레이드 공격은 다양한 형태를 취한다.  연구원들은 다운그레이드 공격을 다음과 같이 다운그레이드 공격을 추론하는 프레임워크를 나타내는 4가지 다른 벡터와 관련하여 분류했다.

  1. 대상이 되는 프로토콜 요소
    • 연산
    • 버전
  2. 공격을 가능하게 하는 취약점 유형
    • 이행
    • 디자인
    • 신뢰 모델
  3. 공격 방법
    • 적하
    • 가감
    • 주입
  4. 공격으로 인한 피해 수준
    • 깨진 보안
    • 보안 약화

TLS 클라이언트(예: 웹 브라우저)가 레거시 버전에 대한 클라이언트의 지원을 이용하거나  POODLE, ClientHello 단편화, 및 DROWN(일명 "특수 익사") 다운그레이드 공격과 같은 권장 암호 모음(예: 순방향 비밀성 또는 인증된 암호화를 지원하지 않는 것).

이전 버전과의 호환성을 제거하는 것이 다운그레이드 공격을 방지하는 유일한 방법인 경우가 많다.  그러나 때때로 클라이언트와 서버는 서로를 방지하는 방식으로 서로를 최신 상태로 인식할 수 있다.  예를 들어 웹 서버와 사용자 에이전트가 모두 HTTP Strict Transport Security를 구현하고 사용자 에이전트가 서버에 대해 이를 알고 있는 경우(이전에 HTTPS를 통해 액세스했거나 "HSTS 사전 로드 목록"에 있기 때문), 악의적인 라우터가 자신과 서버가 HTTPS를 지원하지 않는 것으로 표시하더라도 사용자 에이전트는 기본 HTTP를 통한 사이트 액세스를 거부한다.

같이 보기 편집