이번 CCC 컨퍼런스에서 발표된 가짜 SSL CA 인증서로 떠들석한데요. 이번엔 SANS에 올라온 MD5 SSL Summary를 번역해서 소개하고, 세부 내용은 다음 글에서 알려드리겠습니다.

  1. 파급 효과는?
    상황이 안 좋습니다. 유효한 가짜 SSL 인증서를 만들어 "완벽한" 피싱 사이트를 만들 수 있게 되었습니다. HTTPS 프로토콜이 이번 이슈에 가장 큰 영향을 받을 것입니다. SSL을 사용하는 다른 프로토콜들도 문제가 발생할 수 있습니다.
  2. 어떻게 대응해야 합니까?
    할 수 있는게 별로 없습니다. 이 문제는 브라우저의 버그도 아니고, 프로토콜 문제도 아닙니다. 일부 인증 기관에서 인증서 발급에 사용하는 방식 때문에 문제가 발생했기 때문입니다. SSL VPN 같은 곳에 SSL을 이용하고 있으시다면, 신뢰하는 인증 기관(CA)의 수를 제한하시기 바랍니다.
  3. 제 SSL 인증서도 문제가 있습니까?
    그럴 가능성이 있습니다. 자세한 내용은 벤더에서 발표한 보안 공지를 살펴보시기 바랍니다. 어디에서 인증서를 발급받았느냐에 따라 다릅니다. 그렇지만 여러분의 인증서가 SHA1을 사용하게 되어있더라도 누군가는 MD5를 이용하는 가짜 SSL 인증서를 만들어서 여러분의 사이트인 것처럼 위장할 수 있습니다.
  4. 왜 더 안전한 RIPEMD나 SHA2가 아닌 SHA1로 바꾸는 것인가요?
    음.. SHA1은 대부분의 SSL 라이브러리에서 지원됩니다. SHA2는 나온지 얼마 안 되어서 지원이 잘 안 되고 있거든요.
  5. HTTPS 말고 또 어떤 프로토콜이 문제가 될 수 있습니까?
    SSL을 사용하는 모든 프로토콜입니다. 특히 SSL VPN이나 S-MIME을 꼽을 수 있습니다. SSH는 영향받지 않습니다.

문제의 원인은 일부 인증 기관에서 발급한 인증서의 유효성을 검증할 때 사용하는 MD5 해시 때문입니다. MD5 해시가 취약하다는 점은 이미 잘 알려진 사실이고, 이번 이슈는 이미 알려진 MD5 취약점을 이용하여 실제 공격을 할 수 있다는 점을 증명했다는 점에서 의미가 있습니다. 인증서 발급 기관들은 인증서 발급 시 MD5 대신 SHA1 해시를 사용하도록 바꿔야 합니다. 여러분의 브라우저는 신뢰할 수 있는 인증 기관들의 목록을 가지고 있습니다. 안타깝게도 매우 유명한 인증 기관 몇 군데가 MD5를 이용한 인증서를 발급하고 있습니다. 

이제 MD5 취약점 공격이 이론적으로 가능한 것 뿐 아니라 실제 공격이 나타날 가능성도 커졌습니다. 연구자들은 200대의 플레이스테이션 3 시스템을 클러스터링해서 며칠만에 가짜 인증서를 만들어냈습니다. 어느 정도 규모가 되는 봇넷이라면 더 빨리 만들어 낼 수 있을 것입니다.

이렇게 인증 기관을 사칭할 수 있는 인증서를 하나 만들어내고 나면, 이 인증서를 이용하여 다른 인증서에 서명할 수 있게 됩니다. 브라우저는 기본 설정으로 신뢰할 수 있는 인증기관 목록을 가지고 있으므로, 아무런 경고 없이 MITM 공격 등이 가능해집니다.

아래 벤더에서 발표한 보안 공지를 참고하시기 바랍니다.