인터넷에서 소프트웨어를 다운로드할 때 개발자의 프로그램이 악성이 아니라는 것을 개발자를 신뢰해야 합니다. 그러나 해커에 대해서도 걱정해야 합니다. 공격자는 웹사이트를 해킹하고 소프트웨어를 백도어 버전으로 교체함으로써 많은 것을 얻을 수 있습니다.
비트코인 지갑 유틸리티를 호스팅하는 사이트를 생각해 보십시오. 공격자가 합법적인 버전을 악의적인 버전으로 교체하면 잠재적으로 수만 명의 사용자로부터 돈을 훔칠 수 있습니다. 백도어의 또 다른 중요한 대상은 운영 체제입니다. 이것은 과거에 Linux Mint에서 일어난 일입니다.
그래서 당신은 그것에 대해 무엇을 할 수 있습니까?
해시 및 서명
보안에 민감한 개발자는 확인 가능한 체크섬과 함께 설정 파일이나 아카이브를 번들로 묶는 경우가 많습니다. Windows 또는 Linux에서 확인하는 방법을 읽을 수 있습니다. 그러나 이러한 해시의 문제는 해커가 웹사이트의 파일을 교체하면 해시도 쉽게 교체할 수 있다는 것입니다. 이로 인해 해시 자체가 거의 무용지물이 됩니다. 특히 프로그램이 있는 동일한 서버에서 호스팅되는 경우 더욱 그렇습니다.
이러한 체크섬을 유용하게 만들기 위해 개발자는 공개 및 개인 키 쌍을 사용하여 디지털 서명할 수도 있습니다. 이 개인 키를 소유한 사람만 서명을 만들 수 있습니다. 이는 인터넷에 공개된 해당 공개키로만 확인할 수 있습니다. 확인이 통과되면 개인 키 소유자가 소프트웨어에 서명했음을 (거의 항상) 확신할 수 있습니다.
해커가 이 보안 메커니즘을 우회하려면 개인 키를 어떻게든 훔쳐야 하며, 이는 소유자가 비밀을 유지하기 위해 적절한 조치를 취한다면 훨씬 더 어렵습니다. 그리고 키를 도난당하더라도 소유자는 이를 해지하고 공지하여 무효화할 수 있습니다. 이 경우 공개 키를 다운로드하고 이를 사용하여 서명을 확인하려고 하면 취소되었다는 알림이 표시됩니다.
GnuPG(GPG)를 사용하여 서명을 확인하는 방법
gpg 유틸리티는 일반적으로 모든 배포판에 기본적으로 설치됩니다. 어떤 이유로 누락 된 경우 아래 명령으로 설치할 수 있습니다. 일부 배포판에서 "gpg:failed to start dirmngr '/usr/bin/dirmngr':No such file or directory,와 같은 오류가 발생하는 경우 ” dirmngr
을 설치해야 합니다. 뿐만 아니라.
Debian, Ubuntu 또는 Debian 기반 배포판에서 다음을 실행합니다.
sudo apt install gnupg dirmngr
RedHat/CentOS의 경우:
sudo yum install gnupg dirmngr
그리고 Fedora:
sudo dnf install gnupg dirmngr
아래 예를 따라 Debian 9.8.0 설치 프로그램 ISO를 확인하는 방법을 테스트할 수 있습니다.
"SHA256SUMS", "SHA256SUMS.sign" 및 "debian-9.8.0-amd64-netinst.iso"를 다운로드합니다. 웹 브라우저에서 처음 두 파일을 마우스 오른쪽 버튼으로 클릭하고 "다른 이름으로 링크 저장" 또는 이에 상응하는 것을 선택해야 할 수도 있습니다. 그렇지 않으면 클릭하면 자동으로 다운로드되는 대신 콘텐츠가 표시될 수 있습니다.
터미널 에뮬레이터를 열고 다운로드가 있는 디렉토리로 변경하십시오.
cd Downloads/
체크섬 확인
ISO 다운로드가 완료될 때까지 기다리십시오. 다음으로 SHA256 체크섬을 확인합니다.
sha256sum -c SHA256SUMS
체크섬이 정상이면 파일 이름 뒤에 "OK" 메시지가 표시됩니다. 다른 유형의 체크섬을 확인하려면 다음 명령이 있습니다. sha1sum
, sha512sum
, md5sum
. 그러나 가능한 경우 SHA256 이상의 합계를 사용하는 것이 좋습니다.
일부 사이트는 SHA256SUMS와 같은 파일을 제공하지 않습니다. 여기서 파일 이름과 체크섬은 쉽게 확인할 수 있도록 함께 그룹화됩니다. 사이트에 합계를 표시하는 경우 다음과 같은 명령을 사용하여 파일의 해시를 확인하십시오.
sha256sum debian-9.8.0-amd64-netinst.iso
GPG를 사용하여 서명된 체크섬 확인
이 예에서 데비안 팀은 개인 키로 "SHA256SUMS" 파일에 서명하고 "SHA256SUMS.sign" 파일에 저장했습니다. 다음을 사용하여 서명을 확인하십시오.
gpg --verify SHA256SUMS.sign SHA256SUMS
다음 메시지가 표시됩니다.
gpg: Signature made Sun 17 Feb 2019 05:10:29 PM EET gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B gpg: Can't check signature: No public key
이것은 컴퓨터에 공개 키가 없음을 의미하며 이는 정상입니다. 키 서버에서 가져와야 합니다.
gpg --keyserver keyring.debian.org --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B
키 서버가 다운된 경우 대체 키 서버를 사용할 수 있습니다. 예를 들어, keyring.debian.org
를 바꿀 수 있습니다. keyserver.ubuntu.com
사용 .
그러나 이 키가 합법적인지 어떻게 알 수 있습니까? 불행히도 절대적으로 확신하려면 웹 오브 트러스트(web of trust)라는 것을 구축해야 합니다. 분명히, 당신은 이 시점에서 그것을 가지고 있지 않습니다. 하지만 할 수 있는 일이 몇 가지 있습니다.
Google에서 키의 지문(DF9B9C49EAA9298432589D76DA87E80D6294BE9B)을 검색합니다. 아무것도 찾지 못하면 마지막 8자(6294BE9B)만 Google에 검색해 보세요. 유사한 소프트웨어와 관련하여 많은 웹사이트에서 합법적인 키가 언급될 것입니다. 또한, 안전하게 보호된 키가 오랫동안 사용되기 때문에 포스트는 일반적으로 몇 년에 걸쳐 펼쳐집니다.
편집증이 심하다면 BitTorrent 이미지를 다운로드한 다음 체크섬과 서명을 확인하세요. 토렌트가 작동하는 방식으로 수백 명의 다른 사용자가 업로드한 파일을 교체하는 것은 불가능합니다. 또한 BitTorrent에는 다운로드하는 모든 데이터 청크의 무결성을 확인하는 자체 메커니즘이 있습니다.
이제 공개 키가 있으므로 마지막으로 서명을 확인할 수 있습니다.
gpg --verify SHA256SUMS.sign SHA256SUMS
"좋은 서명"이 표시되면 모든 것이 확인되었음을 의미합니다. 경고에 대해 걱정하지 마십시오. 언급한 바와 같이 공개 키에 대한 신뢰할 수 있는 웹이 없기 때문에 정상입니다.
결론
이미 알고 계시겠지만 인터넷에는 확실한 것이 없습니다. 그러나 예방 조치를 취하는 것이 확실히 더 안전하며 다운로드한 파일의 디지털 서명을 확인하면 악성 소프트웨어를 방지하는 데 도움이 될 수 있습니다. 많은 경우 사용자가 백도어 운영 체제나 비트코인 지갑 소프트웨어를 다운로드할 때 서명이 변조되지 않았기 때문에 서명을 확인했다면 문제를 피할 수 있었을 것입니다.