디지털 서명이 없는 설치 파일을 받았을 때

설치 파일을 받아 실행했더니 윈도우가 빨간 경고 창을 띄우거나, 맥에서 신뢰할 수 없는 개발자라며 막아 두는 일이 있습니다. 무언가 큰일이 난 것 같지만, 사실은 그 파일이 디지털 서명을 가지고 있지 않거나 가지고 있더라도 검증된 것이 아니라는 안내일 뿐입니다. 그럼에도 이 경고는 빈말이 아닙니다. 서명이 없다는 것은 그 파일이 누가 만들었는지, 중간에 바뀌지 않았는지를 시스템이 확인할 수 없다는 뜻이기 때문입니다.

디지털 서명이 무엇을 보장하는가

디지털 서명은 어떤 파일에 그 파일을 만든 쪽의 도장이 찍혀 있는 상태와 비슷합니다. 그 도장은 수학적 방법으로 만들어지고, 같은 도장을 다른 사람이 흉내 내기가 사실상 불가능합니다. 서명된 파일이 누군가에 의해 한 글자라도 바뀌면 도장이 어긋나서 검증에 실패합니다. 그래서 서명이 있다는 것은 두 가지를 동시에 말해 줍니다. 누가 만들었는지를 확인할 수 있고, 받은 그대로 변경되지 않은 상태라는 점입니다.

서명을 발급하는 체계

이 도장은 누구나 마음대로 찍을 수 없습니다. 인증 기관이라고 부르는 외부 기관이 신원을 확인한 뒤에 서명을 발급해 주는 체계가 있고, 운영체제는 이 인증 기관 목록을 가지고 있어 서명을 검증할 때 참조합니다. 이 체계 덕분에 시스템은 처음 보는 파일이라도 누가 만들었는지 어느 정도 추적할 수 있게 됩니다. 마이크로소프트의 Authenticode 안내에 윈도우가 서명을 검증하는 흐름이 정리되어 있습니다.

경고 메시지의 의미

윈도우에서 서명이 없는 파일을 실행하면 흔히 알 수 없는 게시자라는 문구와 함께 실행을 막는 화면이 뜹니다. 맥에서는 식별되지 않은 개발자라는 안내가 뜹니다. 이 메시지는 그 파일이 반드시 위험하다는 뜻은 아닙니다. 다만 시스템이 그 파일의 출처를 확인하지 못했다는 신호입니다.

이 단계에서 어떻게 행동하느냐가 안전과 위험을 가르는 지점이 됩니다. 그 파일을 어디서 받았는지, 받기 전부터 출처가 분명했는지를 떠올려 보고 결정해야 합니다. 무료 다운로드 사이트의 악성코드를 거르는 법에서 짚은 가짜 페이지의 신호를 떠올리면, 경고 앞에서 망설일 자리가 어디인지 한층 분명해집니다.

서명이 없는 데도 안전한 경우

종이에 직접 서명

모든 서명 없는 파일이 위험한 것은 아닙니다. 작은 개인 개발자가 만든 무료 도구나, 오래된 오픈소스 프로젝트의 옛 빌드에는 서명이 붙어 있지 않은 경우가 많습니다. 인증 기관에서 서명을 발급받으려면 비용이 들고, 매년 갱신해야 하는 부담도 있어서 모든 개발자가 서명을 갖추기는 어렵습니다.

이런 경우에는 서명 대신 다른 신뢰의 단서를 살핍니다. 그 프로젝트의 공식 사이트에서 직접 받았는가, 사이트가 충분히 오래되었는가, 사용자 모임이 활발한가, 같은 항목을 함께 보면 서명이 없더라도 어느 정도 판단이 섭니다. 처음 보는 온라인 서비스의 신뢰성을 가늠하는 기준은 설치 파일에도 그대로 적용됩니다.

체크섬으로 보충하기

서명이 없는 파일을 받아야 한다면, 그 자리를 보충하는 가장 단순한 방법은 체크섬을 비교하는 것입니다. 체크섬은 파일의 내용을 짧은 문자열로 압축한 값이고, 한 글자만 달라져도 전혀 다른 문자열이 나옵니다. 공식 사이트에 그 파일의 체크섬이 함께 적혀 있다면, 받은 파일에서 직접 체크섬을 뽑아 비교해 볼 수 있습니다.

체크섬을 뽑는 일은 어렵지 않습니다. 윈도우의 파워셸이나 맥의 터미널에서 한 줄짜리 명령으로 결과가 나오고, 두 값이 같으면 그 파일은 사이트에 올라온 그 파일과 정확히 같습니다. 이 과정을 거치면 누군가가 중간에서 파일을 바꿔치기했을 가능성을 크게 낮출 수 있습니다.

체크섬과 서명의 차이

체크섬은 파일이 변하지 않았는지를 확인해 줄 뿐, 누가 만들었는지를 보장하지는 않습니다. 그 체크섬 값을 게시한 사이트 자체가 가짜라면 의미가 없어집니다. 그래서 체크섬은 사이트가 신뢰할 만하다는 전제 위에서 보충적인 역할을 한다는 점을 기억해 두어야 합니다.

경고를 우회할 때의 위험

서명이 없는 파일을 어떻게든 실행하기 위해 시스템 보호 기능을 꺼 두라는 안내를 종종 보게 됩니다. 짧은 시간 동안 한 번의 설치를 위해서라면 큰 문제가 없을 수 있지만, 그대로 꺼 둔 채 다른 파일까지 받기 시작하면 위험이 빠르게 커집니다. 시스템 보호를 일시적으로 풀어야 한다면, 그 설치를 마친 뒤에 곧바로 원래 상태로 되돌리는 습관이 필요합니다.

맥 쪽은 비교적 친절합니다. 파일을 마우스 오른쪽 버튼으로 열기를 선택하는 방식으로 한 번만 우회할 수 있어, 시스템 전체의 보호를 풀지 않고도 그 파일만 실행해 볼 수 있습니다. 윈도우에서도 추가 정보 항목을 통해 비슷한 일이 가능합니다. 가능한 한 시스템 차원의 보호는 그대로 두고, 그 파일에 한정해서 허용하는 방향으로 처리하는 것이 안전합니다.

설치 도중에도 살펴볼 것들

서명 여부와 별개로, 설치 화면 자체에서 단서를 얻을 수 있는 부분이 있습니다. 화면이 한국어가 아닌 어색한 번역으로 되어 있다든가, 동의 항목 안에 다른 프로그램의 이름이 끼어 있다든가, 빠른 설치를 권하면서 사용자 정의 설치를 잘 보이지 않게 두는 흐름은 의심해 볼 만한 표시입니다.

설치가 끝난 뒤 시작 메뉴와 작업 표시줄에 본래 받으려던 프로그램 외에 처음 보는 도구가 같이 추가되어 있다면, 그 도구가 무엇인지 곧바로 확인하고 필요 없다면 즉시 지우는 것이 좋습니다. 한 번의 설치 안에 여러 프로그램을 한꺼번에 깔아 넣는 것은 보통 광고 수익을 노린 묶음 배포의 형태이고, 그중에는 광고를 띄우는 정도가 아니라 더 깊은 자국을 남기는 도구도 있습니다.

업데이트도 같은 시선으로

처음 설치 때 서명을 확인하더라도, 그 프로그램이 자체적으로 업데이트를 받을 때 다시 서명을 확인하지 않으면 의미가 줄어듭니다. 잘 만들어진 도구는 업데이트 파일도 같은 인증서로 서명되어 있어, 받는 동안 자동으로 검증합니다. 사용자 입장에서는 보이지 않는 절차이지만, 도구를 처음 고를 때 업데이트 경로의 신뢰성을 한 번 살펴 두면 두고두고 안심할 수 있습니다.

드물게 서명이 만료되는 경우

아주 오래된 프로그램을 새로 설치할 때, 한때는 정상이었던 서명이 만료되었다는 안내가 뜨는 경우가 있습니다. 그 자체로는 위험하지 않을 수 있지만, 그동안 그 프로그램이 보안적으로 갱신되지 않았을 가능성이 큽니다. 같은 일을 할 수 있는 더 새로운 도구가 있다면 그쪽으로 옮겨 가는 것이 안전합니다.

운영체제별 검증 방식의 차이

윈도우와 맥은 서명을 다루는 방식이 조금 다릅니다. 윈도우는 사용자 계정 컨트롤 화면에서 서명 정보를 보여 주는 정도로 끝나지만, 맥은 게이트키퍼라는 별도의 보호 장치가 서명과 공증을 함께 확인합니다. 공증은 애플이 그 파일을 한 번 검사해 보고 발급해 주는 추가 표시로, 서명이 있는 것보다 한 단계 더 안전하다고 받아들여집니다.

리눅스 환경에서는 또 다른 방식이 쓰입니다. 운영체제의 패키지 관리자가 정해진 저장소에서만 도구를 받아 오고, 그 과정에서 서명을 자동으로 검증합니다. 그래서 일반 사용자는 검증 절차를 직접 의식하지 않아도 안전이 어느 정도 보장됩니다. 운영체제마다 방식은 다르지만 결국 출처를 확인하려는 같은 목적을 다른 방식으로 풀고 있는 셈입니다.

받은 파일을 살피는 짧은 습관

실생활에서 새 설치 파일을 받았을 때 그 자리에서 할 수 있는 점검은 의외로 단순합니다. 파일을 마우스 오른쪽 버튼으로 눌러 속성 화면을 열고, 서명 항목이 있다면 누구의 이름으로 발급되었는지를 봅니다. 그 이름이 그 도구를 만든 회사나 개인의 이름과 일치하는지를 확인하면 됩니다. 이름이 비슷하지만 한두 글자 다른 경우는 의심스럽고, 아예 다른 이름이라면 더더욱 그렇습니다.

이 점검은 1분도 걸리지 않습니다. 한 번 익숙해지면 새 도구를 받을 때마다 자연스럽게 들여다보게 되고, 그 짧은 시선이 가짜 설치 파일을 거의 다 걸러 줍니다. 서명이 있는 파일을 만났을 때 그 서명을 한 번 더 살피는 것만으로도, 시스템이 받는 위험이 크게 줄어듭니다.

서명이라는 단서 다루기

디지털 서명은 안전을 절대적으로 보장해 주는 도구가 아닙니다. 서명이 있는 악성 파일이 가끔 발견되고, 서명이 없는 파일 가운데 안전한 것도 많습니다. 다만 서명은 단서입니다. 그 단서가 있을 때 검증 절차가 짧아지고, 없을 때 다른 단서를 더 모아야 한다는 신호로 받아들이는 정도가 적당한 자리입니다. 받은 파일 앞에서 한 번 멈춰서 서명, 출처, 체크섬을 같이 보는 짧은 습관이 시스템을 오래 깨끗하게 지켜 줍니다.

Similar Posts