SHAttered 란 무엇입니까? SHA-1 충돌 공격, 설명

Mar 1, 2025
개인 정보 보호 및 보안

2016 년 첫날 Mozilla는 Firefox 웹 브라우저에서 SHA-1이라는 취약한 보안 기술에 대한 지원을 종료했습니다. 거의 즉시, 일부 오래된 웹 사이트에 대한 액세스를 차단하기 때문에 결정을 취소했습니다. 그러나 2017 년 2 월에 그들의 두려움이 마침내 실현되었습니다. 연구원들은 최초의 실제 충돌 공격 . 이것이 의미하는 바는 다음과 같습니다.

SHA-1이란?

SHA-1의 SHA는 보안 해시 알고리즘 간단히 말해서, 일종의 수학 문제 또는 방법으로 생각할 수 있습니다. 입력 된 데이터를 스크램블합니다. . 미국 NSA에서 개발 한이 제품은 인터넷에서 중요한 전송을 암호화하는 데 사용되는 많은 기술의 핵심 구성 요소입니다. 일반적인 암호화 방법 SSL 및 TLS는 SHA-1과 같은 해시 기능을 사용하여 브라우저 툴바에 표시되는 서명 된 인증서를 만들 수 있습니다.

SHA 함수의 수학과 컴퓨터 과학에 대해 깊이 들어 가지 않겠지 만 여기에 기본적인 아이디어가 있습니다. "해시"는 데이터 입력에 기반한 고유 코드 . SHA-1과 같은 해시 함수에 입력 된 작은 임의의 문자열조차도 길고 설정된 문자 수를 반환하므로 문자열을 원래 데이터로 되 돌리는 것이 (잠재적으로) 불가능합니다. 일반적으로 비밀번호 저장이 작동하는 방식입니다. 비밀번호를 생성하면 비밀번호 입력이 해시되어 서버에 저장됩니다. 반품시 비밀번호를 입력하면 다시 해시됩니다. 원래 해시와 일치하면 입력이 동일하다고 가정 할 수 있으며 데이터에 대한 액세스 권한이 부여됩니다.

해시 함수는 입력 (예 : 파일 또는 암호)이 변경되었는지 쉽게 알 수 있기 때문에 주로 유용합니다. 입력 데이터가 암호와 같이 비밀 인 경우 해시는 원래 데이터 ( "키"라고도 함)를 되돌리고 복구하는 것이 거의 불가능합니다. 이것은 "암호화"와는 약간 다릅니다. 나중에 데이터를 스크램블링하기 위해 데이터를 스크램블링하는 것이 목적입니다. , 암호 및 비밀 키 사용. 해시는 단순히 모든 것이 동일하도록 데이터 무결성을 보장하기위한 것입니다. 오픈 소스 코드를위한 버전 관리 및 배포 소프트웨어 인 Git, 바로 이런 이유로 SHA-1 해시를 사용합니다. .

이는 많은 기술 정보이지만 간단히 말하면 해시는 암호화와 동일하지 않습니다. 파일이 변경되었는지 식별하는 데 사용됩니다. .

이 기술이 나에게 어떤 영향을 미칩니 까?

웹 사이트를 비공개로 방문해야한다고 가정 해 보겠습니다. 은행, 이메일, 심지어 Facebook 계정까지 모두 암호화를 사용하여 보내는 데이터를 비공개로 유지합니다. 전문 웹 사이트는 신뢰할 수있는 기관 (제 3 자)으로부터 인증서를 받아 암호화를 제공합니다. 이는 암호화 수준이 웹 사이트와 사용자간에 비공개이며 다른 당사자가 감시하지 않도록 보장합니다. 이 제 3 자와의 관계는 인증 기관 , 또는 는 모든 사용자가 '자체 서명 된'인증서를 만들 수 있으므로 매우 중요합니다. Openssl로 Linux를 실행하는 컴퓨터에서 직접 수행 . 예를 들어 Symantec과 Digicert는 널리 알려진 두 CA 회사입니다.

이론적 인 시나리오를 살펴 보겠습니다. How-To Geek는 로그인 한 사용자 세션을 암호화를 사용하여 비공개로 유지하려고하므로 Symantec과 같은 CA에 인증서 서명 요청 , 또는 CSR . 그들은 공개 키 개인 키 인터넷을 통해 전송 된 데이터를 암호화하고 해독합니다. CSR 요청은 웹 사이트에 대한 정보와 함께 공개 키를 Symantec에 전송합니다. 시만텍은 데이터를 조금만 변경해도 해시가 근본적으로 다르기 때문에 데이터가 모든 당사자에 의해 변경되지 않았는지 확인하기 위해 레코드와 키를 확인합니다.

이러한 공개 키와 디지털 인증서는 해시 함수로 서명됩니다. 이러한 함수의 출력은보기 쉽기 때문입니다. 인증 기관인 Symantec의 검증 된 해시가 포함 된 공개 키 및 인증서 (이 예에서는)는 How-To Geek 사용자에게 키가 변경되지 않았으며 악의적 인 사람으로부터 전송되지 않았 음을 보증합니다.

해시는 모니터링이 쉽고 (일부는 "어려움"이라고도 함) 역전이 불가능하기 때문에 정확하고 검증 된 해시 서명은 인증서와 연결을 신뢰할 수 있으며 데이터를 끝에서 끝까지 암호화하는 데 동의 할 수 있음을 의미합니다. . 하지만 해시가 실제로 고유하지 않았습니다. ?

충돌 공격이란 무엇이며 실제 세계에서 가능합니까?

당신은 수학의“생일 문제” , 이름이 무엇인지 몰랐을 수도 있습니다. 기본 아이디어는 충분히 많은 사람들을 모으면 두 명 이상의 사람들이 같은 생일을 가질 가능성이 매우 높다는 것입니다. 예상했던 것보다 더 높았습니다. 사실 이상하게도 우연처럼 보일 정도입니다. 23 명 정도의 작은 그룹에서는 두 사람이 생일을 공유 할 확률이 50 %입니다.

이것은 SHA-1을 포함한 모든 해시의 본질적인 약점입니다. 이론적으로 SHA 함수는 입력 된 모든 데이터에 대해 고유 한 해시를 만들어야하지만 해시 수가 늘어 나면 서로 다른 데이터 쌍이 동일한 해시를 만들 가능성이 높아집니다. 따라서 신뢰할 수있는 인증서와 동일한 해시를 사용하여 신뢰할 수없는 인증서를 만들 수 있습니다. 신뢰할 수없는 인증서를 설치하도록 유도하면 신뢰할 수있는 것으로 가장하여 악성 데이터를 배포 할 수 있습니다.

두 파일 내에서 일치하는 해시를 찾는 것을 충돌 공격 . MD5 해시에 대해 적어도 하나의 대규모 충돌 공격이 이미 발생한 것으로 알려져 있습니다. 하지만 2017 년 2 월 27 일에 Google은 그림자 , SHA-1을 위해 만들어진 최초의 충돌입니다. Google은 콘텐츠가 다르더라도 다른 PDF 파일과 동일한 SHA-1 해시를 가진 PDF 파일을 만들 수있었습니다.

PDF 파일에서 SHAttered가 수행되었습니다. PDF는 비교적 느슨한 파일 형식입니다. 독자가 그것을 열거 나 눈에 띄는 차이를 일으키지 않고 아주 작은 비트 수준의 변경이 가능합니다. PDF는 맬웨어를 전달하는데도 자주 사용됩니다. SHAttered는 ISO와 같은 다른 유형의 파일에서 작동 할 수 있지만 인증서는 엄격하게 지정되어 이러한 공격이 발생할 가능성이 없습니다.

그렇다면이 공격은 얼마나 쉽게 수행 할 수 있습니까? SHAttered는 방법 2012 년 Marc Stevens에 의해 발견되었으며 2 ^ 60.3 (9.223 quintillion) 이상의 SHA-1 작업이 필요했습니다. 이는 엄청난 수입니다. 그러나이 방법은 무차별 대입으로 동일한 결과를 얻는 데 필요한 작업보다 100,000 배 더 적습니다. Google은 110 개의 고급 그래픽 카드가 병렬로 작동하면 충돌이 발생하는 데 약 1 년이 걸린다는 사실을 발견했습니다. Amazon AWS에서이 컴퓨팅 시간을 임대하는 데 드는 비용은 약 $ 110,000입니다. 컴퓨터 부품의 가격이 떨어지고 적은 비용으로 더 많은 전력을 얻을 수 있으므로 SHAttered와 같은 공격이 더 쉬워진다는 점을 명심하십시오.

110,000 달러는 많은 것 같지만 일부 조직의 경우 경제적 인 범위 내에 있습니다. 즉, 실제 사이버 범죄자가 디지털 문서 서명을 위조하거나 Git 및 SVN과 같은 백업 및 버전 제어 시스템을 방해하거나 악성 Linux ISO가 합법적으로 보이도록 만들 수 있습니다.

다행히도 이러한 공격을 방지하는 완화 요소가 있습니다. SHA-1은 더 이상 디지털 서명에 거의 사용되지 않습니다. 인증 기관은 더 이상 SHA-1로 서명 된 인증서를 제공하지 않으며 Chrome과 Firefox 모두 지원을 중단했습니다. Linux 배포판은 일반적으로 1 년에 한 번 이상 릴리스되므로 공격자가 악성 버전을 만든 다음 동일한 SHA-1 해시를 갖도록 패딩 된 버전을 생성하는 것은 비현실적입니다.

반면 SHAttered를 기반으로 한 일부 공격은 이미 현실 세계에서 일어나고 있습니다. SVN 버전 제어 시스템은 SHA-1을 사용하여 파일을 구별합니다. SHA-1 해시가 동일한 두 PDF를 SVN 저장소에 업로드하면 문제가 발생합니다. 부패하다 .

SHA-1 공격으로부터 어떻게 자신을 보호 할 수 있습니까?

일반 사용자가 할 일이 많지 않습니다. 체크섬을 사용하여 파일을 비교하는 경우 SHA-1 또는 MD5가 아닌 SHA-2 (SHA-256) 또는 SHA-3을 사용해야합니다. 마찬가지로 개발자 인 경우 SHA-2, SHA-3 또는 bcrypt와 같은 최신 해싱 알고리즘을 사용해야합니다. SHAttered가 두 개의 개별 파일에 동일한 해시를 부여하는 데 사용 된 것이 걱정된다면 Google은 공유 사이트 당신을 확인할 수 있습니다.

이미지 크레딧 : 레고 파이어 폭스 , 많은 해시 , 제발 알 수없는 웹 작성자에게 상처를주지 마세요. 구글 .

What Is SHAttered? SHA-1 Collision Attacks, Explained

Shattered SHA-1 Exploit Explained

SHA-1 Shattered: Overview Of SHA-1, How And Why It Broke

Looking At SHA-1 Collision

USENIX Security '17 - Speeding Up Detection Of SHA-1 Collision Attacks...

SHA1 Collision - What's It All About?

SHAttered - SHA-1 - CS50 Live - S3E1

How We Created The First SHA-1 Collision And What It Means For Hash Security

Security Snippets: MD5, SHA-1 And SHA-2

SHAttered - SHA1 Busted: Demo Of The Files Used For The Collision Attack

How We Created The First SHA-1 Collision And What It Means For Hash Security - Defcon 25

USENIX Security '20 - SHA-1 Is A Shambles: First Chosen-Prefix Collision On SHA-1 And Application


개인 정보 보호 및 보안 - 가장 인기있는 기사

Android 기기에서 "Ok Google"을 끄는 방법

개인 정보 보호 및 보안 Aug 4, 2025

캐치되지 않은 콘텐츠 "Ok Google"핫 워드를 사용하여 검색을 시작하거나 휴대 전화에서 명령을 실행하는 것은 멋지고 유용한 기능입니다..


누군가가 암호를 알아 내려고 할 때 일시적으로 PC를 잠그는 방법

개인 정보 보호 및 보안 Jun 6, 2025

누군가가 Windows 암호를 추측하려고하는 것이 걱정된다면 Windows에서 특정 횟수의 실패한 로그인 시도를 일시적으로 차단하도록 할..


바이러스 백신 소프트웨어의 작동 방식

개인 정보 보호 및 보안 Sep 26, 2025

바이러스 백신 프로그램은 Windows 컴퓨터에 필수적인 강력한 소프트웨어입니다. 바이러스 백신 프로그램이 바이러스를 탐지하는 방법, �..


Mac에서 이미지를 하나의 PDF 파일로 결합하는 방법

개인 정보 보호 및 보안 Jul 4, 2025

구직을 신청하고 고용 회사에서 서명 된 문서를 보내길 원하거나 집에 추가하고 싶고 계약자가 사진을보고 싶어한다고 가정 해 봅시다. ..


라우터에서 맬웨어를 확인하는 방법

개인 정보 보호 및 보안 Jul 10, 2025

소비자 라우터 보안은 매우 나쁩니다. 공격자는 부족한 제조업체를 이용하고 많은 양의 라우터를 공격하고 있습니다. 라우터가 손상되�..


장치에서 고유 번호를 브로드 캐스트하고 사용자를 추적하는 데 사용됩니다.

개인 정보 보호 및 보안 Sep 28, 2025

스마트 폰 및 Wi-Fi를 사용하는 기타 장치는 근처 Wi-Fi 네트워크를 검색 할 때 고유 번호를 브로드 캐스트합니다. 기기의 고유 한 MAC 주소�..


위험을 감수하고 2014 년 4 월 이후에 Windows XP를 사용 하시겠습니까?

개인 정보 보호 및 보안 Aug 21, 2025

캐치되지 않은 콘텐츠 Windows XP 지원 종료 기한은 매일 가까워지고 있지만 많은 사람들과 기업이 계속해서이를 사용하고 있습니다. Micro..


모든 브라우저에서 설치된 플러그인을보고 비활성화하는 방법

개인 정보 보호 및 보안 Jul 3, 2025

Flash 및 Java와 같은 브라우저 플러그인은 웹 페이지에서 사용할 수있는 추가 기능을 추가합니다. 그러나 사용 중일 때 속도를 늦추거나 �..


카테고리