디지털 서명으로 Windows 소프트웨어의 진위를 확인하는 방법

소프트웨어 서명 확인 기능

인터넷에서 프로그램을 다운로드할 때마다 개발자가 악성 프로그램이 아님을 신뢰해야 합니다. 이건 피할 수 없는 일입니다. 그러나 일반적으로 잘 알려진 소프트웨어와 개발자와 함께라면 큰 문제가 되지 않습니다.

하지만 소프트웨어를 호스팅하는 웹사이트는 더 취약합니다. 공격자는 웹사이트의 보안을 무너뜨리고 프로그램을 자신의 악성 버전으로 교체할 수 있습니다. 이는 원본과 똑같이 보이고 작동하지만, 백도어가 삽입되어 있습니다. 이 백도어를 통해 공격자는 일상적인 컴퓨팅의 여러 부분을 제어할 수 있습니다. 당신의 컴퓨터는 봇넷에 삽입되거나, 더 나쁜 경우에는 유틸리티가 당신의 신용/직불 카드를 사용할 때까지 기다렸다가 자격 증명을 훔칩니다. 운영 체제, 암호화폐 지갑 또는 유사한 중요한 소프트웨어를 다운로드할 때는 특히 조심해야 합니다.

디지털 서명이 문제를 해결할 수 있습니다

소프트웨어 작성자는 자신의 제품에 서명할 수 있습니다. 공격자가 개인 키를 훔치지 않는 한, 이 서명을 위조할 수 있는 방법은 알려져 있지 않습니다. 수천 명의 사용자가 악성 프로그램을 다운로드한 사례가 많으며, 거의 모든 경우에 디지털 서명을 확인했더라면 유효하지 않다는 것을 알았을 것이고, 따라서 상황을 피할 수 있었을 것입니다. 취약한 웹사이트에서 소프트웨어를 교체하는 것은 상대적으로 쉽지만, 인터넷 접근으로부터 적절히 저장되고 격리된 개인 키를 훔치는 것은 믿을 수 없을 만큼 어렵습니다.

디지털 서명에 대한 더 많은 내용을 여기에서 읽을 수 있습니다. 이 기사는 동일한 내용을 다루고 있지만, 다운로드를 검증하기 위해 Windows 유틸리티를 사용할 것입니다.

Gpg4win을 사용하여 디지털 서명 확인하는 방법

이 페이지로 가서 Gpg4win을 다운로드하고 설치하세요. 똑똑한 사람들은 “하지만 이것이 합법적이라는 것을 어떻게 알 수 있나요?”라고 스스로에게 물어볼 것입니다. 그리고 이는 좋은 질문입니다. 만약 이것이 깨진다면, 이후의 모든 단계는 무의미해질 것입니다.

다행히도 개발자는 자신의 소프트웨어를 인증 기관에 의해 서명받기 위해 모든 노력을 기울였습니다. 그리고 그는 자신의 프로그램을 검증하는 단계를 웹사이트에 자세히 설명하고 있습니다. 유효성을 확인하기 위해 유사한 암호화가 사용되지만, 전체 방법은 다릅니다. 디지털 인증서가 사용됩니다.

파일 체크섬 확인하기

비트코인 코어 지갑을 다운로드하고 싶다고 가정해 봅시다. x64 Windows 실행 파일(exe, zip 아님)을 다운로드하세요. 그 후, “릴리스 서명 확인”을 클릭하여 “SHA256SUMS.asc” 파일을 다운로드하세요. 첫 번째 단계는 설치 파일의 해시를 확인하는 것입니다. 해시에 대한 더 많은 내용을 여기에서 읽을 수 있습니다.

다운로드 폴더로 가서 Gpg4win이 설치된 상태에서 파일을 마우스 오른쪽 버튼으로 클릭하면 새로운 컨텍스트 메뉴가 나타납니다. 비트코인 설치 파일(다운로드한 exe)을 마우스 오른쪽 버튼으로 클릭하고 “더 많은 GpgEX 옵션 -> 체크섬 생성”을 선택하세요, 아래 그림과 같이요.

소프트웨어 서명 확인 오른쪽 클릭 체크섬

생성된 “sha256sum.txt”와 다운로드한 “SHA256SUMS.asc”를 모두 엽니다. SHA256 체크섬을 비교하세요. 완벽하게 일치해야 합니다.

소프트웨어 서명 확인 SHA256 체크섬 비교

체크섬 목록 파일의 서명 확인하기

방금 같은 웹사이트에서 설치 파일과 체크섬 목록을 다운로드했지만, 공격자가 설치 파일을 교체했다면 체크섬 목록도 쉽게 교체할 수 있습니다. 그러나 그가 할 수 없는 것은 서명을 위조하는 것입니다. 이는 알려진(합법적인) 공개 키로 검증할 수 있습니다. 먼저 이 키를 다운로드해야 합니다.

다음 이미지는 서명이 어떻게 생겼는지를 보여줍니다.

소프트웨어 서명 확인 인라인 서명 예시

이것은 인라인 서명(검증하는 동일한 파일에 포함됨)입니다. 때때로 이는 분리되어 별도의 파일에 포함될 수 있습니다. 이 텍스트 파일에서 한 글자만 변경하면 서명이 무효가 됩니다. 이는 개발자가 정확히 이 특정 내용과 올바른 체크섬으로 승인하고 서명했음을 아는 방법입니다.

개발자의 공개 키 가져오기

비트코인 다운로드 페이지의 “비트코인 코어 릴리스 서명 키” 아래에서 다운로드할 수 있는 공개 키가 있습니다. 예방 조치로, 다른 출처에서 다운로드할 수 있습니다. 공격자가 합법적인 키를 자신의 것으로 교체했다면, 우리가 다른 모든 곳에서 게시되거나 논의된 올바른 키(및 지문)를 찾을 가능성이 높습니다.

“SHA256SUMS.asc”를 마우스 오른쪽 버튼으로 클릭하고 “복호화 및 검증”을 선택하세요. 프로그램이 당신에게 공개 키가 아직 없다고 알려줄 것입니다. “검색”을 클릭하세요.

소프트웨어 서명 확인 공개 키 검색

검색에는 시간이 걸릴 수 있습니다. “찾기” 필드의 문자열을 주목하세요.

소프트웨어 서명 확인 키 지문

이것을 복사하여 구글에 붙여넣어 이 공개 키 지문이 합법적인 포럼 스레드/웹사이트 등에서 논의되었는지 확인할 수 있습니다. 더 많은 곳에서 찾을수록, 그것이 의도된 소유자에게 속할 가능성이 높습니다.

키를 클릭한 후 가져옵니다. 다음에 나오는 프롬프트에서 “아니오”를 클릭할 수 있습니다(키 인증 조치를 취하는 방법을 모른다면 지금 하고 싶지 않다면).

마지막으로, “감사 로그 보기”를 클릭하세요.

소프트웨어 서명 확인 감사 로그 보기

다음 그림에서 강조 표시된 텍스트, “좋은 서명”이 표시되어야 합니다.

소프트웨어 서명 확인 좋은 서명

“SHA256SUMS.asc”에서 한 글자만 변경해 보세요. 그러면 다음 이미지에 나타난 것과 같은 결과를 얻을 수 있습니다.

소프트웨어 서명 확인 나쁜 서명

결론

몇몇 개발자는 그들의 소프트웨어가 그들로부터 온 것인지 확인할 수 있는 가능성을 제공합니다. 그러나 일반적으로 민감한 데이터를 다루거나 매우 중요한 프로그램은 이 옵션을 제공합니다. 이를 사용하면 언젠가 문제를 피할 수 있습니다.