모방 소프트웨어는 이름, 아이콘, 스크린샷을 복사하며, 설득력 있게 보일 만큼 충분히 잘 연결됩니다. 터널이 열린다는 것은 아무것도 증명하지 못하며, 물어야 할 것은 그 바이너리를 누가 작성했느냐입니다. 이것을 보안 감사가 아니라 신원 확인으로 다루고, 모든 기준값은 앱 자체의 페이지가 아니라 여러분이 직접 고른 경로에서 가져오세요. 이어서 다섯 가지 확인이 있으며, 하나가 실패해도 나머지는 통과합니다. 뒤의 확인은 앞의 확인을 구제하지 못하므로 순서대로 하세요.

기준값은 여러분이 직접 고른 경로에서 가져오세요

무엇이 설치되어 있는지 보기 전에 프로젝트의 공식 다운로드 안내나 조직의 관리된 소프트웨어 경로를 여세요. 예상되는 스토어 게시자, 패키지 또는 설치 프로그램의 식별 정보, 지원 플랫폼을 적어 두고, 다음 업데이트 때 찾을 수 있는 곳에 그 메모를 두세요. 검색 결과나 후원 광고는 그 경로가 아니며, 유료 광고가 자연 검색 결과 위에 오는 이유는 사람들이 첫 일치 항목을 클릭하기 때문입니다. 확인한 뒤에는 다음 다운로드가 반복 검색이 아니라 결정에서 시작되도록 페이지를 북마크하세요.

미러나 외부 패키지 저장소도 하나의 경로이며, 그 신뢰성은 운영자만큼입니다. 업데이트 사이에 잊히는 것이 바로 그 세부 사항이므로 어느 것을 썼는지 적어 두세요.

이름이 아니라 설치된 게시자를 비교하세요

존재한다면 플랫폼 자체의 서명 및 응용 프로그램 기록에 의존하고, 이어서 버전, 업데이트 경로, 앱이 요청한 권한을 읽으세요. 유효한 서명을 발견하는 것은, 인증서가 그 인증서를 가진 누군가가 바이너리에 서명했다는 것만 증명하기 때문에, 기대한 게시자를 발견하는 것과 같지 않습니다. 들어본 적 없는 회사의 서명도 여전히 유효한 서명이며, 그래서 확인은 의도한 당사자를 지목해야 합니다. 추가 소프트웨어를 함께 가져오는 설치 프로그램이 인증서를 요구하거나 예상하지 못한 계정 창을 여는 경우, 제품 자체의 문서에 설명이 있어야 합니다.

# Windows: inspect the installed signature
Get-AuthenticodeSignature "C:\Program Files\WireGuard\wireguard.exe"
# macOS: check the bundle identity
codesign -dv --verbose=2 /Applications/WireGuard.app
# Linux: confirm the package origin
apt-cache policy wireguard

플랫폼에 맞는 확인을 실행하고, 그 출력을 첫 단계에서 만든 기준 메모와 비교하세요. 게시자 항목의 불일치는 아이콘 복사에는 비용이 들지 않기 때문에 어떤 시각적 유사성보다도 많은 정보를 줍니다. 출력에 프로젝트 문서 어디에도 없는 조직 이름이 나오면 거기서 멈추고 로그인하지 마세요.

설치된 서명이 실제로 증명하는 것

프로젝트가 체크섬, 서명, 릴리스 키를 공개할 때는 기준 키를 얻는 부분을 포함해 문서화된 절차 전체를 밟으세요. 다운로드와 같은 페이지에 인쇄된 체크섬은 그 파일이 그 페이지와 일치한다는 것만 증명하며, 이는 보이는 것보다 약한 주장입니다. 유용한 질문은 서명이 프로젝트가 문서화한 신원까지 이어지는지, 그리고 그 경로를 모방품이 통제하지 못하는지입니다. 사람들이 이 단계를 파일에 서명이 있는가로 줄이는 것이 문제입니다.

키 서버에서 가져온 키와 README에 인쇄된 지문은 동등한 증거가 아닙니다. 파일을 검증되었다고 부르기 전에 실제로 어느 것을 썼는지 정하세요.

앱은 진짜인데 프로필이 아닐 때

클라이언트와 서버 프로필은 서로 다른 두 발급자에게서 오며, 둘을 혼동하는 것은 잘못된 바이너리를 설치하는 것과는 다른 실패입니다. 한 프로젝트가 유지하는 OpenVPN 빌드는 무관한 운영자가 작성한 구성을 기꺼이 불러오며, 이것은 정상 동작이고 침해의 증거가 아닙니다. 반대도 성립하며, 정당한 프로필이 비공식 클라이언트를 신뢰할 수 있게 만들지는 않습니다. 각 객체를 그 자체의 출처에 대조해 검증하고, 연결이 된다는 이유로 두 확인을 하나로 합치지 마세요.

해결책이 다르기 때문에 행동하기 전에 두 객체 중 어느 것이 실제로 의심스러운지 물으세요. 나쁜 클라이언트는 재설치를, 나쁜 프로필은 파일 하나를 지우고 다시 발급하는 것을 뜻합니다.

불확실할 때 행동하고, 그다음 제대로 정리하세요

신원이 불확실하게 남으면 자격 증명 제공을 멈추고, 북마크한 검증된 경로로 소프트웨어를 독립적으로 구하세요. 폴더를 지우고 기대하는 대신 플랫폼의 원치 않는 앱 관련 안내를 따르세요. 그런 다음 받아들인 게시자, 버전, 검증 방법을 기록해 두어, 다음 업데이트를 기억이 아니라 사실과 비교할 수 있게 하세요.

정당한 교체 후에는 이전 프로필과 부여된 권한을 클라이언트와 운영 체제 양쪽에서 살펴보세요. 다운로드한 파일을 제거해도 설치된 앱은 그대로 남으며, 오래된 프로필은 그것을 만든 클라이언트보다 오래 살아남아 아무도 유지하지 않는 엔드포인트를 계속 가리킬 수 있습니다. WireGuard의 공식 설치 페이지는 미러가 아니라 개발자 자신의 목록이라는 점에서 남겨 둘 만한 참조의 좋은 예입니다.

관련 글