설치된 앱 목록을 설치 날짜순으로 정렬하면, 인터넷 뱅킹을 시작한 날이 한눈에 보인다. 내 PC 에서는 6월 29일 하루에 AhnLab Safe Transaction 과 함께 위즈베라 프로그램 세 개가 들어와 있었다. 이름은 각각 Delfino G3, Veraport G3, WIZVERA Process Manager 였다. 이 중 Delfino 는 검색어 "delfino g3" 로 이 블로그를 찾아오는 사람이 있을 만큼 정체가 궁금한 이름이다.
세 프로그램의 이름표
먼저 설치 정보와 실행 파일의 속성을 모았다. 세 실행 파일 모두 WIZVERA Co. 서명이 유효했다.
| 설치 프로그램 | 실행 파일 · 파일 설명 | 시작 방식 | 127.0.0.1 포트 |
|---|---|---|---|
| Delfino G3 (x86) 3.7.1.0 | delfino.exe · WIZVERA Delfino Handler | 시작 프로그램(Run) | 16107, 16117 |
| Veraport(보안모듈 관리 프로그램) G3 4.0.1.0 x64 | veraport-x64.exe · Veraport Handler | 시작 프로그램(Run) | 16106, 16116 |
| WIZVERA Process Manager 1.0.6.1 | wpmsvc.exe · Wizvera process manager service | 서비스 WizveraPMSvc (자동, LocalSystem) | 없음 |
Delfino 는 공동인증서(옛 공인인증서)로 로그인하거나 이체를 서명할 때 인증서를 고르고 서명하는 창을 띄우는 프로그램이다. 은행 사이트에서 인증서 선택 창이 뜨는 순간 실제로 일하는 것이 delfino.exe 다.
Veraport 는 설치 프로그램 이름에 스스로 "보안모듈 관리 프로그램"이라고 적어 두었다. 은행 사이트가 요구하는 보안 프로그램들(키보드 보안, 방화벽, 인증서 프로그램 같은 것)이 PC 에 깔려 있는지 확인하고, 없거나 버전이 낮으면 한꺼번에 내려받아 설치해 주는 관리자다. 사이트에 처음 들어갔을 때 "필수 보안 프로그램 설치" 목록이 뜨는 화면이 바로 Veraport 가 그리는 것이다. 이 연재 1편의 AhnLab Safe Transaction 도 아마 이 목록을 통해 들어왔을 것이다.
WIZVERA Process Manager 는 이름 그대로 프로세스 관리자다. 위즈베라의 두 핸들러가 늘 떠 있도록 지켜보는 서비스로 보인다. 메모리는 셋 다 작았다. 작업 집합 기준으로 delfino 9MB, veraport 7MB, wpmsvc 14MB 정도였다.
사이트가 PC 의 프로그램을 부르는 방법
시작 프로그램에 등록된 실행 명령을 보면 이 프로그램들이 웹과 어떻게 이어지는지 실마리가 있다.
wizvera-delfino-pc = "C:\Program Files (x86)\Wizvera\Delfino-G3\delfino.exe" wizvera-delfino-pc://exec/x86/16107/
wizvera-veraport-x64 = "C:\Program Files\Wizvera\Veraport20\veraport-x64.exe" wizvera-veraport://exec/x86/16105/
인수 자리에 wizvera-delfino-pc:// 같은 주소가 붙어 있다. 위즈베라가 등록한 전용 주소 형식이다. 핸들러가 꺼져 있으면 웹 페이지가 이런 주소를 열어 PC 의 프로그램을 깨울 수 있다. 일단 떠 있는 핸들러는 127.0.0.1 의 포트를 열고 기다리고, 은행 페이지의 스크립트는 그 포트로 "인증서 목록을 달라", "이 내용에 서명해 달라" 같은 요청을 보낸다. 실제로 delfino.exe 는 16107·16117 번을, veraport-x64.exe 는 16106·16116 번을 열어 두고 있었다. 주소가 127.0.0.1 이라 바깥에서는 이 포트에 접속할 수 없다.
은행 페이지는 https 이므로, 페이지가 PC 의 핸들러와 통신하려면 핸들러 쪽도 브라우저가 믿는 인증서를 내밀어야 한다. 16106 번 포트에 TLS 로 접속해 보니 이런 인증서가 돌아왔다.
주체 : CN=127.0.0.1, O=WIZVERA, C=KR
발급자 : CN=Veraport-CA, O=WIZVERA, C=KR
만료 : 2046-06-24
127.0.0.1 이라는 이름으로 발급된 인증서이고, 발급자는 Veraport-CA 다. 이 인증서를 브라우저가 믿게 하려고, 설치할 때 신뢰할 수 있는 루트 인증 기관 저장소에 Veraport-CA 와 Delfino-CA 를 넣어 둔다. 내 PC 에서도 두 인증서가 컴퓨터 저장소와 현재 사용자 저장소 양쪽에 들어 있었고, 발급일은 설치한 날인 6월 29일, 만료일은 20년 뒤인 2046년이었다. 발급일이 설치한 날과 같은 것으로 보아, 설치할 때 PC 마다 새로 만드는 루트 인증서로 보인다.
PC 마다 다른 루트를 만드는 방식은 한 곳의 개인 키가 새도 다른 PC 에 번지지 않는다는 점에서 낫다. 그래도 루트 인증 기관은 어떤 사이트 이름으로든 인증서를 발급할 수 있는 지위라는 점은 같다. 프로그램을 지울 때 이 인증서도 함께 지워졌는지 확인해야 하는 이유다.
지우는 순서
인터넷 뱅킹을 거의 모바일로만 한다면 세 프로그램 모두 지워도 PC 동작에는 영향이 없다. 다음에 PC 로 은행에 들어가면 Veraport 의 설치 목록이 다시 뜬다.
지울 때는 순서를 지키는 편이 깔끔하다. Process Manager 가 핸들러를 다시 띄우는 역할이라, 먼저 지우면 나머지를 정리하는 동안 되살아나는 일이 없다.
- 설정 → 앱 → 설치된 앱에서 "WIZVERA Process Manager" 제거
- "Delfino G3" 제거
- "Veraport(보안모듈 관리 프로그램) G3" 제거
세 프로그램 모두 설치 폴더의 unins000.exe 가 제거 프로그램으로 등록되어 있다. 제거한 뒤에는 certmgr.msc 와 certlm.msc 의 "신뢰할 수 있는 루트 인증 기관"에 Delfino-CA, Veraport-CA 가 남아 있지 않은지 확인한다. 남아 있으면 직접 지운다.
다음 편은 이 PC 에는 없지만 검색으로 많이 찾아오는 이름, 정부24 같은 공공기관 사이트에서 PDF 를 볼 때 깔리던 ezPDF 런처다.