본문 바로가기
엘클방 엘클방

디지털 서명으로 EXE 설치파일의 공식 배포자 확인하는 방법

ELIYAHUB 읽는 시간 약 9분
디지털 서명으로 EXE 설치파일의 공식 배포자 확인하는 방법

인터넷에서 내려받은 EXE 파일은 실행하는 순간 프로그램 설치뿐 아니라 시스템 설정 변경까지 수행할 수 있습니다. 따라서 파일 이름이나 아이콘만 보고 공식 프로그램이라고 판단해서는 안 됩니다. 윈도우의 디지털 서명을 확인하면 파일을 서명한 배포자와 파일 변조 여부를 점검할 수 있습니다. 다만 디지털 서명이 있다고 해서 프로그램의 안전성이 100% 보장되는 것은 아니므로 다운로드 출처와 함께 확인해야 합니다.

1. EXE 파일의 디지털 서명이란 무엇인가

디지털 서명은 소프트웨어 제작사가 코드 서명 인증서를 사용해 EXE 파일에 넣는 전자 증명 정보입니다. 여기에는 인증서를 발급받은 회사나 기관의 이름, 인증서를 발급한 인증기관, 유효기간 등이 포함됩니다. 파일이 서명된 이후 내용이 변경되면 계산된 해시값과 서명 정보가 맞지 않기 때문에 윈도우에서 서명이 올바르지 않은 것으로 표시될 수 있습니다. 마이크로소프트의 Authenticode 기술은 이러한 방식으로 프로그램 배포자의 신원과 서명 이후 파일의 무결성을 확인합니다. 그러나 디지털 서명은 “이 회사가 이 파일에 서명했다”는 사실을 증명하는 장치이지, 프로그램에 절대로 위험한 기능이 없다는 보증서는 아닙니다. 따라서 서명 유무뿐만 아니라 서명자의 이름이 개발사 공식 명칭과 일치하는지도 반드시 살펴봐야 합니다. Microsoft Authenticode 설명

2. 파일 속성에서 디지털 서명 확인하기

먼저 EXE 파일을 실행하지 말고 파일 위에서 마우스 오른쪽 버튼을 누른 뒤 속성을 선택합니다. 속성 창 위쪽에 디지털 서명 탭이 있다면 해당 파일에 확인 가능한 서명 정보가 포함되어 있다는 뜻입니다. 서명 목록에서 서명자 이름을 선택하고 자세히를 누릅니다. 정상적인 경우에는 “디지털 서명이 유효합니다”와 같은 문구가 나타납니다. 이어서 인증서 보기를 선택하면 인증서 발급 대상, 발급자, 유효기간을 확인할 수 있습니다. 디지털 서명 탭 자체가 없다면 서명되지 않은 파일일 가능성이 큽니다. 다만 일부 윈도우 시스템 파일이나 드라이버는 EXE 내부가 아니라 별도의 카탈로그 파일로 서명될 수 있으므로 탭이 없다는 사실만으로 악성파일이라고 단정할 수는 없습니다. 일반 소비자용 설치파일이라면 공식 홈페이지에서 제공하는 동일한 파일의 서명 상태와 비교하는 것이 가장 현실적인 점검 방법입니다.

3. 서명자 이름과 공식 배포자 비교하기

서명이 유효하더라도 서명자 이름을 확인하지 않으면 가짜 설치파일을 구별하기 어렵습니다. 예를 들어 프로그램의 화면에는 유명 제품명이 표시되지만 실제 서명자는 전혀 관련 없는 회사일 수 있습니다. 디지털 서명 목록의 서명자 이름과 인증서의 발급 대상을 확인한 다음, 프로그램 공식 홈페이지에 기재된 회사명과 비교해야 합니다. 회사의 브랜드명과 법인명이 서로 다를 수 있으므로 이름이 조금 다르다는 이유만으로 곧바로 위험하다고 판단하지 말고, 공식 사이트의 회사소개나 이용약관에서 법인명을 확인하는 것이 좋습니다. 반대로 철자가 교묘하게 다르거나 관계를 확인할 수 없는 회사가 서명했다면 설치를 중단해야 합니다. 검색 광고나 자료실에서 받은 파일이라면 같은 프로그램처럼 보여도 광고 프로그램이 추가된 재포장 설치파일일 수 있습니다. 가장 안전한 방법은 개발사 공식 도메인에서 다시 다운로드한 뒤 두 파일의 서명자와 해시값을 함께 비교하는 것입니다.

4. 인증서 체인과 유효기간 확인하기

인증서는 배포자가 마음대로 만들어 붙이는 단순 표시가 아니라 일반적으로 신뢰할 수 있는 인증기관과 연결된 구조를 가집니다. 인증서 보기 → 인증 경로로 들어가면 최상위 루트 인증기관, 중간 인증기관, 소프트웨어 배포자의 코드 서명 인증서로 이어지는 인증서 체인을 볼 수 있습니다. 각 단계에 오류가 없고 “이 인증서는 문제가 없습니다”라고 표시되는지 확인해야 합니다. 인증서가 만료되었다고 표시되더라도 파일이 반드시 위험한 것은 아닙니다. 인증서가 유효하던 기간에 파일이 서명되고 신뢰할 수 있는 타임스탬프가 추가됐다면 인증서 만료 후에도 서명이 유효하게 검증될 수 있습니다. 반면 타임스탬프가 없으면 인증서가 만료된 이후 파일이 서명되었는지 정확히 판단하기 어려워질 수 있습니다. 인증서 체인이 끊겼거나 폐기된 인증서라는 경고가 나오면 실행하지 말고 최신 설치파일을 공식 사이트에서 다시 받는 편이 안전합니다. Microsoft 타임스탬프 설명

5. PowerShell로 서명 상태 정밀 확인하기

여러 파일을 확인하거나 속성 창보다 구체적인 결과가 필요할 때는 PowerShell을 이용할 수 있습니다. 시작 버튼을 마우스 오른쪽 버튼으로 누르고 터미널 또는 PowerShell을 실행한 후 다음 명령을 입력합니다.

Get-AuthenticodeSignature -LiteralPath "C:\Users\사용자이름\Downloads\설치파일.exe" |
Format-List Status, StatusMessage, SignerCertificate, TimeStamperCertificate

파일 경로는 실제 EXE 파일의 위치로 바꿔야 합니다. 경로를 직접 입력하기 어렵다면 Get-AuthenticodeSignature -LiteralPath 까지 입력한 다음 파일을 PowerShell 창으로 끌어다 놓는 방법도 있습니다. 결과의 Status가 Valid이면 윈도우 기준으로 서명이 유효하다는 의미입니다. NotSigned는 확인 가능한 서명이 없다는 뜻이고 HashMismatch는 서명 이후 파일 내용이 달라졌을 가능성을 나타냅니다. NotTrusted나 UnknownError는 인증서 신뢰 문제, 네트워크 상태, 인증서 폐기 정보 확인 실패 등 여러 원인으로 발생할 수 있으므로 곧바로 실행하지 말고 추가 확인이 필요합니다. Microsoft PowerShell 명령어 안내

6. 서명이 없거나 오류가 발견됐을 때 대처법

서명이 없다고 해서 모든 파일이 악성은 아닙니다. 개인 개발자가 만든 무료 프로그램이나 오래된 프로그램은 비용과 관리 문제 때문에 코드 서명을 사용하지 않을 수 있습니다. 그러나 출처를 확신할 수 없는 EXE 파일에 서명까지 없다면 실행 위험은 훨씬 커집니다. 우선 파일을 삭제하기 전에 공식 홈페이지에서 동일 프로그램을 다시 내려받고, 공식 사이트가 SHA-256 해시값을 제공한다면 내 파일의 해시값과 비교합니다. 윈도우 보안으로 검사하고 필요하면 VirusTotal과 같은 다중 백신 검사 서비스도 보조적으로 활용할 수 있습니다. 서명 오류가 발생한 파일에 대해 경고를 무시하거나 인증서를 임의로 ‘신뢰할 수 있는 게시자’에 등록해서는 안 됩니다. 특히 이메일 첨부파일, 무료 자료실, 검색광고의 다운로드 버튼, 단축 URL을 통해 받은 설치파일은 더욱 주의해야 합니다. 서명이 유효하더라도 공식 배포자 이름이 다르거나 다운로드 출처가 불분명하면 설치하지 않는 것이 원칙입니다.

장점과 단점 분석

구분내용
장점별도 프로그램을 설치하지 않고 윈도우에서 바로 확인할 수 있습니다.
장점서명한 회사 또는 기관의 이름과 인증서 발급자를 확인할 수 있습니다.
장점서명 이후 파일 내용이 변조됐는지 탐지하는 데 도움이 됩니다.
장점PowerShell을 이용하면 여러 파일의 서명 상태를 체계적으로 점검할 수 있습니다.
단점디지털 서명이 유효하더라도 프로그램의 모든 동작이 안전하다는 뜻은 아닙니다.
단점탈취된 인증서나 관리가 부실한 인증서가 악용될 가능성도 있습니다.
단점브랜드명과 인증서의 법인명이 달라 일반 사용자가 판단하기 어려울 수 있습니다.
단점오래된 정상 프로그램과 개인 개발 프로그램은 서명이 없을 수도 있습니다.

내 의견

내가 생각하기에 EXE 파일을 설치하기 전에 디지털 서명을 확인하는 습관은 어렵지 않으면서도 효과가 큰 보안 방법이다. 특히 유명 프로그램과 비슷하게 꾸민 가짜 설치파일은 아이콘과 파일명만으로 구별하기 어렵지만, 디지털 서명의 공식 배포자 이름까지 똑같이 위장하기는 상대적으로 어렵다.

다만 “서명이 유효함”이라는 문구 하나만 보고 무조건 실행해서는 안 된다. 가장 안전한 판단 기준은 공식 홈페이지에서 다운로드했는지, 서명이 유효한지, 서명자가 실제 개발사인지를 함께 확인하는 것이다. 중요한 프로그램이라면 여기에 SHA-256 해시값과 백신 검사 결과까지 더하는 것이 좋다. 결국 디지털 서명은 안전을 보장하는 단독 판정 장치가 아니라, 다운로드 출처와 파일 무결성을 함께 판단하기 위한 강력한 확인 수단이라고 생각한다.

ELIYAHUB

ELIYAHUB
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!