MD5 취약점을 이용한 가짜 SSL 인증서 이슈 요약
이번 CCC 컨퍼런스에서 발표된 가짜 SSL CA 인증서로 떠들석한데요. 이번엔 SANS에 올라온 MD5 SSL Summary를 번역해서 소개하고, 세부 내용은 다음 글에서 알려드리겠습니다.
- 파급 효과는?
상황이 안 좋습니다. 유효한 가짜 SSL 인증서를 만들어 "완벽한" 피싱 사이트를 만들 수 있게 되었습니다. HTTPS 프로토콜이 이번 이슈에 가장 큰 영향을 받을 것입니다. SSL을 사용하는 다른 프로토콜들도 문제가 발생할 수 있습니다. - 어떻게 대응해야 합니까?
할 수 있는게 별로 없습니다. 이 문제는 브라우저의 버그도 아니고, 프로토콜 문제도 아닙니다. 일부 인증 기관에서 인증서 발급에 사용하는 방식 때문에 문제가 발생했기 때문입니다. SSL VPN 같은 곳에 SSL을 이용하고 있으시다면, 신뢰하는 인증 기관(CA)의 수를 제한하시기 바랍니다. - 제 SSL 인증서도 문제가 있습니까?
그럴 가능성이 있습니다. 자세한 내용은 벤더에서 발표한 보안 공지를 살펴보시기 바랍니다. 어디에서 인증서를 발급받았느냐에 따라 다릅니다. 그렇지만 여러분의 인증서가 SHA1을 사용하게 되어있더라도 누군가는 MD5를 이용하는 가짜 SSL 인증서를 만들어서 여러분의 사이트인 것처럼 위장할 수 있습니다. - 왜 더 안전한 RIPEMD나 SHA2가 아닌 SHA1로 바꾸는 것인가요?
음.. SHA1은 대부분의 SSL 라이브러리에서 지원됩니다. SHA2는 나온지 얼마 안 되어서 지원이 잘 안 되고 있거든요. - HTTPS 말고 또 어떤 프로토콜이 문제가 될 수 있습니까?
SSL을 사용하는 모든 프로토콜입니다. 특히 SSL VPN이나 S-MIME을 꼽을 수 있습니다. SSH는 영향받지 않습니다.
문제의 원인은 일부 인증 기관에서 발급한 인증서의 유효성을 검증할 때 사용하는 MD5 해시 때문입니다. MD5 해시가 취약하다는 점은 이미 잘 알려진 사실이고, 이번 이슈는 이미 알려진 MD5 취약점을 이용하여 실제 공격을 할 수 있다는 점을 증명했다는 점에서 의미가 있습니다. 인증서 발급 기관들은 인증서 발급 시 MD5 대신 SHA1 해시를 사용하도록 바꿔야 합니다. 여러분의 브라우저는 신뢰할 수 있는 인증 기관들의 목록을 가지고 있습니다. 안타깝게도 매우 유명한 인증 기관 몇 군데가 MD5를 이용한 인증서를 발급하고 있습니다.
이제 MD5 취약점 공격이 이론적으로 가능한 것 뿐 아니라 실제 공격이 나타날 가능성도 커졌습니다. 연구자들은 200대의 플레이스테이션 3 시스템을 클러스터링해서 며칠만에 가짜 인증서를 만들어냈습니다. 어느 정도 규모가 되는 봇넷이라면 더 빨리 만들어 낼 수 있을 것입니다.
이렇게 인증 기관을 사칭할 수 있는 인증서를 하나 만들어내고 나면, 이 인증서를 이용하여 다른 인증서에 서명할 수 있게 됩니다. 브라우저는 기본 설정으로 신뢰할 수 있는 인증기관 목록을 가지고 있으므로, 아무런 경고 없이 MITM 공격 등이 가능해집니다.
아래 벤더에서 발표한 보안 공지를 참고하시기 바랍니다.
by xeraph | 2008-12-31 16:08:39 | 미분류 | 트랙백 (1) | 덧글 (9)
Tracked from nchovy's me2DAY 2008-12-31 16:17:46
MD5 취약점을 이용한 가짜 SSL 인증서 이슈 요약, MD5 취약점 공격이 현실화 되고 있네요. PS3 200대를 클러스터링 했답니다.





... 판타지스러운 공격이... -_-);;; HTTPS 의 보안 근본이 무너지는군요;
음 근데 자료를 구해서 봤는데 그리 걱정 안 해도 될 듯 합니다. CA들이 SHA1로 바꾸기만 하면 이번 건은 해결될 듯 해요.
훔... 긴글은 에러없이 그냥 사라지네요 ㅠㅠ 간단히 적을께요
http://www.win.tue.nl/hashclash/rogue-ca 사이트를 보면 아주 상세히 나와있고요
FreeSSL, TrustCenter, RSA Data Security, Thawte, verisign.co.jp 의 회사가 문제점이 발견되었답니다. 그리고 자신의 사이트를 검사해보려면 https://www.networking4all.com/en/support/tools/site+check/?fqdn=www.verisign.com 이렇게 검사하면 됩니다.
앗.. 정말 죄송합니다. 255자 밖에 안 되다보니.. 조만간 패치하겠습니다.
궁금한 점이 있는데요, 인증서가 md5를 썼는지 sha1을 썼는지는 어떻게 확인하나요?
예를 들어 https://secure.anycert.co.kr/anycert_ssl/ssl/sslEnrollment.html
이 사이트의 인증서를 인증한 thawte의 인증서를 보면 서명알고리즘은 md5RSA,손도장 알고리즘은 sha1으로 나옵니다.
위 사이트를 mantory 님이 알려준 url에서 검사해보면 일단 안전하다고 나오네요...
서명 알고리즘을 확인하시면 됩니다만, 이번 이슈는 "CA 인증서"를 만들 수 있다는게 중요한 점이었고, 지금은 모두 해결된 것으로 알려져 있으니 안심하셔도 될 것입니다.
그리고 아직 아무렇게나 써도 MD5 충돌이 발생하도록 하는 방법은 알려지지 않았고 일부분을 겨우 수정할 수 있는 정도라고 합니다. 어차피 많은 시간과 비용을 들여서 일반 인증서 하나를 만든다면 그냥 사는게 싸다고 할 수 있겠죠. :)
답변 감사합니다.