설치된 앱 목록에는 게시자가 HANCOM WITH Inc. 로 적혀 있는데, 제거 프로그램 경로는 C:\Program Files (x86)\SoftForum\XecureWeb\AnySign\uninst.exe 였다. 한컴 제품이 SoftForum 이라는 폴더에 들어 있다. 오래 PC 를 써 온 사람이라면 XecureWeb 이라는 이름에서 ActiveX 시절 인터넷 뱅킹 화면을 떠올릴지도 모르겠다.

SoftForum 경로가 남은 이유

이름이 섞인 이유는 회사의 이력에 있다. 공개된 기사들을 보면 소프트포럼은 2015년 한컴시큐어로 이름을 바꿨고, 2019년 무렵 다시 한컴위드로 바꾼 것으로 알려져 있다. XecureWeb 은 소프트포럼 시절의 웹 보안 제품 이름이고, AnySign 은 그 흐름을 잇는 전자서명 제품으로 보인다. 회사 이름은 두 번 바뀌었지만 설치 경로는 처음 정한 그대로 둔 것으로 보인다. 이미 깔린 PC 와 이 경로를 기준으로 만든 사이트 스크립트, 업데이트 도구가 많으니 경로를 바꾸는 쪽이 더 번거로웠을 것이다.

PC 안에도 그 흔적이 층층이 있었다. dll 폴더의 암호 모듈들은 이름이 XecureAcASN.dll, XecureAcPKCS7.dll 처럼 Xecure 로 시작하고 파일 설명은 XecureEXP 다. 설정 파일 preference.cfg 의 구역 이름은 [xecurewebclient] 였다. 그런데 실행 파일의 서명은 HANCOM WITH Inc. 이고, 함께 쓰는 라이브러리 이름은 libHancomxSecureStorage.dll 이다.

루트 인증서 저장소도 회사 이름의 변화를 그대로 보여 준다.

CN=Hancom Secure Root Authority, O=Hancom Secure Inc.   2016-04-19 ~ 2036-04-14
CN=Hancom With Root Authority,   O=Hancom With Inc.     2025-12-23 ~ 2045-12-23

한컴시큐어 시절에 만든 루트와 한컴위드 이름의 새 루트가 나란히 들어 있다. 새 루트의 발급일은 2025년 12월로 이 PC 에 깔린 날과 관계없는 날짜라, 모든 PC 에 같은 루트를 넣는 방식으로 보인다. 옛 루트는 아직 만료 전이라 함께 남아 있다.

서비스와 시작 프로그램, 포트 4개

AnySign4PC 는 프로세스 두 개로 동작한다.

프로세스 시작 방식 127.0.0.1 포트 메모리(작업 집합 / 개인)
AnySign4PCLauncher.exe 서비스 "AnySign4PC Launcher" (자동, LocalSystem) 31026, 31027 12.6MB / 11.7MB
AnySign4PC.exe Launcher 의 자식, 시작 프로그램(Run)에도 등록 10530, 10531 10.5MB / 13.4MB

두 파일 모두 버전 1.1.5.1, HANCOM WITH Inc. 서명이 유효했다. 서비스는 비정상 종료되면 60초 뒤에 한 번 다시 시작하도록 복구 설정이 걸려 있었다. 1편의 AhnLab 처럼 세 번씩 5초 만에 살리는 것보다는 느슨하다.

시작 프로그램에 등록된 명령에는 인수가 붙어 있었다.

AnySign4PC = "C:\Program Files (x86)\SoftForum\XecureWeb\AnySign\dll\AnySign4PC.exe" "port=10530;port_s=10531;no_shut=1"

port 와 port_s 가 실제로 열린 두 포트와 정확히 맞는다. port_s 의 s 는 secure, 즉 암호화 연결용 포트로 보인다. 설정 폴더의 AnySignLauncher.conf 에도 Launcher 의 포트가 no_tls_listen_port 31026, tls_listen_port 31027 로 적혀 있어서, 각 프로그램이 일반 연결용과 TLS 연결용 포트를 한 쌍씩 여는 구조로 보인다. 단순 TLS 접속으로는 네 포트 모두 인증서를 받아 오지 못했으니, 어느 쪽이 실제로 TLS 인지는 이름으로만 짐작한 것이다. no_shut=1 은 이름 그대로라면 창을 닫아도 프로그램을 끝내지 말라는 뜻으로 보인다.

재미있는 것은 본체용 설정 파일 AnySign.conf 에는 포트가 30308·30309 로 적혀 있다는 점이다. 실제로 열린 포트는 10530·10531 이니, 실행할 때 넘긴 인수가 설정 파일 값보다 우선하는 것으로 보인다. 레지스트리에는 anysign 주소 형식("URL:anysign protocol")도 등록되어 있어, 이 주소를 열면 AnySign4PC.exe "%1" 이 실행된다. 본체가 꺼져 있을 때 웹 페이지가 깨우는 용도로 보인다.

설치 폴더에 있는 것

설치 폴더 전체는 파일 218개, 약 18MB 였다. 암호 모듈 말고도 IC 카드용 XWMSmartCard.dll, eCard 모듈 KEBSFSC.dll, 화면 키보드로 보이는 DllOpenkeyboard.dll 이 있다. 공동인증서뿐 아니라 여러 저장 매체의 인증서를 다루는 프로그램이라는 뜻이다.

certstorage 라는 폴더도 있다. 아래에 root, ca, user 폴더로 나뉘어 있고, 이름으로 보면 이 프로그램이 따로 관리하는 인증서 보관함이다. user 폴더에는 이용자 인증서와 관련된 내용이 들어갈 수 있으니, 이 폴더를 통째로 다른 사람에게 보내거나 공유 폴더에 올리는 일은 피해야 한다.

취약점 공지와 지우는 방법

AnySign4PC 도 보안 공지를 피해 가지 못했다. 2025년 3월 KISA 보호나라가 1.1.4.3 이하 버전을 쓰는 사람은 1.1.4.4 이상으로 올리라는 공지를 냈고, 그해 여름에도 업데이트 안내가 이어졌다고 알려져 있다. 그 무렵 KISA 를 사칭한 가짜 업데이트 안내도 돌았다고 하니, 업데이트는 공지 팝업의 링크가 아니라 프로그램을 요구하는 사이트나 한컴위드 공식 경로로 받는 편이 안전하다. 내 PC 의 1.1.5.1 은 공지에서 꼽은 버전보다 높다.

이 프로그램을 요구하는 사이트를 당분간 쓰지 않는다면 지워도 된다. 설정 → 앱 → 설치된 앱에서 "AnySign4PC 1.1.5.1" 을 제거한다. 등록된 제거 프로그램은 앞에서 본 uninst.exe 다. 제거 뒤에는 다음을 확인한다.

서비스 "AnySign4PC Launcher" 와 시작 프로그램 AnySign4PC 가 사라졌는지 보고, C:\Program Files (x86)\SoftForum 폴더가 남았다면 재부팅한 뒤 지운다. 마지막으로 certlm.msc·certmgr.msc 의 신뢰할 수 있는 루트 인증 기관에서 Hancom With Root Authority 와 Hancom Secure Root Authority 를 확인한다. 한컴오피스 같은 한컴의 다른 제품이 이 루트를 쓰는지는 확인하지 못했으니, 한컴 제품을 함께 쓰고 있다면 인증서는 그대로 두는 편이 무난하다.

다음 편은 TouchEn nxKey 편에서 잠깐 이름이 나왔던 연결 프로그램, 이니라인의 CrossEX 다. 설치된 앱 목록에 이름이 보이지 않을 때 어떻게 지우는지도 함께 본다.