본문 바로가기

IT/News

[4338110] Microsoft 보안 권고

요약

CBC(암호화 블록 체인) 모드와 대칭 암호화를 함께 사용하는 것과 관련하여 개선된 지침이 발표되었음을 알려 드립니다. 패딩된 CBC 블록 암호화를 추가적인 데이터 무결성 검사 없이 사용할 경우 특정 상황에서 “패딩 오라클(Padding Oracle)” 보안 기능 우회 취약성이 존재할 수 있습니다. 이로 인해 공격자가 암호화 키를 알지 못하더라도 암호화된 데이터의 암호를 해독하고 데이터를 변조할 수 있습니다. 이 취약성은 로컬 환경에서는 물론, 네트워크 기반 공격에서도 사용될 수 있습니다.

이 취약성은 암호화가 코딩되는 방식에서 비롯되며, 데이터의 예측할 수 없는 특성으로 인해 프로그래밍 방식으로 식별할 경우 가양성 비율이 높게 나타나게 됩니다. 또한 메시지가 올바르게 패딩되었는지 여부에 관한 쿼리에 자유롭게 응답하는 “패딩 오라클”을 활용합니다. 공격 시에는 암호화된 데이터를 변경하고 오라클을 통해 결과를 테스트하는 기능을 이용합니다. 이 공격을 완전히 완화하는 유일한 방법은 암호화된 데이터의 변경 내용을 감지하고 이에 대한 작업 수행을 거부하는 것입니다. 이를 위해 기본적으로 데이터에 대해 확인 가능한 서명을 만들고 작업을 수행하기 전에 이 서명의 유효성을 검사하는 방법이 사용됩니다.

잠재적인 문제는 저장된 데이터 또는 전송 데이터에 적용될 수 있으며, 기밀 정보가 포함된 전송 데이터는 SSL(Secure Sockets Layer)에 이은 차세대 기술인 TLS(전송 계층 보안)를 통해 전송해야 합니다. 메시징 형식을 변경할 수 없지만 인증되지 않은 CBC 암호 해독을 수행할 수 있는 응용 프로그램은 완화 기능을 통합해 보는 것이 좋습니다. 현재까지의 조사 결과에 따르면, 인증 단계와 암호화 단계를 개별적으로 수행할 경우(비AE 암호화 모드의 경우) 암호 텍스트(암호화 후 서명)를 인증하는 것이 일반적인 상황에서 최상의 옵션인 것으로 확인되고 있습니다. 하지만 암호화와 관련하여 모든 경우에 들어맞는 해결책은 없으며, 이러한 일반화된 조치는 암호화 전문가의 체계적인 조언만큼 효과적이지는 않습니다.

요컨대, 패딩된 CBC 블록 암호화를 안전하게 사용하려면 데이터의 암호 해독을 시도하기 전에 일정한 시간 비교를 통해 유효성을 검사하는 키 해시 메시지 인증 코드(HMAC)(또는 다른 데이터 무결성 검사)와 이러한 블록 암호화를 결합해야 합니다. 모든 변경된 메시지의 경우 공격이 차단되었다는 응답을 생성하는 데 동일한 시간이 소요됩니다. Microsoft는 이 취약성의 발생 여부를 손쉽게 확인하기 위해 코드 검토를 수행하는 방법이 나와 있는 지침을 발표했으며, 자세한 내용은 업데이트된 문서인 패딩을 사용한 CBC 모드 대칭 암호 해독의 타이밍 취약성에서 확인할 수 있습니다. Microsoft 제품 및 서비스는 검토한 결과 영향을 받지 않는 것으로 확인되었습니다.

권장 조치:

  1. Microsoft 응용 프로그램을 업데이트된 상태로 유지합니다.
  2. 고유한 암호화 및 암호 해독을 수행하는 사용자 지정 응용 프로그램이 있는지 여부를 확인합니다.
  3. 보안 공지에 언급된 문서에서 취약한 코드를 식별하는 방법을 확인합니다.

추가 권장 조치

  • PC 보호
    Microsoft에서 제공하는 컴퓨터 보호 지침을 따라 방화벽을 사용하고 소프트웨어를 업데이트하고 바이러스 백신 소프트웨어를 설치할 것을 권장합니다. 자세한 내용은 Microsoft 안전 및 보안 센터를 참조하십시오.

  • Microsoft 소프트웨어 업데이트 상태 유지
    Microsoft 소프트웨어 사용자는 최신 Microsoft 보안 업데이트를 적용하여 보호 수준을 최신 상태로 유지해야 합니다. 소프트웨어가 최신 상태인지 잘 모르는 경우 Microsoft 업데이트를 방문하여 컴퓨터에 사용 가능한 업데이트가 있는지 검사하고, 제공되는 중요 업데이트를 모두 설치하십시오. 자동 업데이트를 사용하고 Microsoft 제품에 대한 업데이트를 제공하도록 구성한 경우 업데이트가 발표됨과 동시에 사용자에게 전달되지만, 설치되었는지 여부를 직접 확인해야 합니다.

기타 정보

MAPP(Microsoft Active Protections Program)

고객을 위한 보안을 강화하기 위해 Microsoft는 각각의 월별 보안 업데이트를 배포하기 전에 주요 보안 소프트웨어 제공업체에 취약성 정보를 제공합니다. 보안 소프트웨어 제공업체는 이 취약성 정보를 사용하여 바이러스 백신, 네트워크 기반 침입 탐지 시스템 또는 호스트 기반 침입 방지 시스템 등 자사의 보안 소프트웨어나 장치를 통해 업데이트된 보호 기능을 고객에게 제공할 수 있습니다. 보안 소프트웨어 제공업체가 활성 보호 기능을 제공하는지 확인하려면 Microsoft MAPP(Active Protections Program) 파트너(영문)에 나열된 프로그램 파트너가 제공하는 활성 보호 기능 웹 사이트를 참조하십시오.

피드백

지원

고지 사항

이 공지에서 제공되는 정보는 어떠한 보증도 없이 "있는 그대로" 제공됩니다. Microsoft는 상품성과 특정 목적에 대한 적합성의 보증을 포함하여 명시적이거나 묵시적인 모든 보증을 부인합니다. Microsoft Corporation 또는 그 공급자는 모든 직접적, 간접적, 부수적, 파생적 손해 또는 영업 이익 손실 또는 특수한 손실에 대하여 어떠한 경우에도 책임을 지지 않으며, 이는 Microsoft Corporation 또는 그 공급자가 그와 같은 손해의 가능성을 사전에 알고 있던 경우에도 마찬가지입니다. 일부 지역에서는 파생적 또는 부수적 손해에 대한 책임의 배제 또는 제한을 허용하지 않으므로 위 제한은 귀하에게 적용되지 않을 수도 있습니다.