방화벽 규칙을 프로그램 경로로 훑다가 낯선 이름을 만났다. KOSinj, KOSinj64, Kings Online Security Service. 규칙이 가리키는 폴더 C:\Program Files (x86)\Kings Online Security 를 열려고 하니 그런 폴더는 없었다. 프로그램은 이미 사라졌는데 방화벽은 아직 그 프로그램에게 문을 열어 두고 있었다. 번외 편의 마지막은 지운 다음의 이야기다.

Kings Online Security 는 무엇이었나

Kings Online Security 는 킹스정보통신(Kings Information & Network)의 보안 프로그램이다. 키 입력을 가로채는 키로거를 막는 키보드 보안 제품으로 알려져 있고, 같은 제품이 K-Defense 라는 이름으로도 배포된 것으로 알려져 있다. 증권사 거래 프로그램이나 일부 금융 사이트와 함께 깔리는 경우가 많다. 9편의 TouchEn nxKey 와 같은 부류다.

공개된 설치 분석 자료를 보면 KOSSvc.exe 가 LocalSystem 서비스로 돌고, KOSinj.exe 같은 구성 요소가 함께 들어오는 구조로 알려져 있다. 이름의 inj 는 다른 프로세스에 모듈을 넣는(inject) 역할을 짐작하게 한다. 15편에서 TouchEn nxWeb 의 DLL 이 127개 프로세스에 올라와 있던 것과 비슷한 방식일 수 있지만, 이 PC 에서는 이미 지워진 뒤라 확인할 수 없었다.

이 PC 에 남아 있던 것

지금 이 PC 의 상태를 정리하면 이렇다.

항목 상태
설치된 앱 목록(HKLM·HKCU 세 곳) 없음
서비스 없음 (KOSSvc.exe 를 쓰는 서비스 없음)
프로그램 폴더 Kings Online Security 없음
방화벽 규칙 6개, 모두 사용, 허용
루트 인증서 Local Root CA 컴퓨터·현재 사용자 저장소 양쪽에 있음
레지스트리 HKLM\SOFTWARE\WOW6432Node\Kings 하위 키도 값도 없는 빈 키

프로그램 본체는 깔끔하게 지워졌다. 언제 어떻게 지워졌는지는 기록이 없다. 제거 프로그램이 앱 목록과 서비스, 폴더는 지웠지만 방화벽과 인증서 저장소까지는 손대지 않은 것으로 보인다.

방화벽 규칙은 실행 파일 세 개(KOSinj.exe, KOSinj64.exe, KOSSvc.exe)마다 들어오는 방향과 나가는 방향으로 하나씩, 모두 여섯 개다. 프로필은 Any, 프로토콜도 Any, 포트와 원격 주소 제한도 없다. 이 연재에서 본 규칙 중 가장 넓은 모양으로, 이 PC 에서 같은 모양인 것은 3편의 RAON K 규칙 정도였다. 그쪽은 프로그램이 아직 있고, 이쪽은 프로그램이 없다는 점이 다르다.

루트 인증서의 이름은 Kings Information & Network Co., Ltd Local Root CA, 기간은 2026년 5월 1일부터 2046년 4월 26일까지 20년이다. 이름에 Local 이 들어가 있고 기간이 설치 무렵에 시작하는 것으로 보아, 4편의 Veraport 처럼 설치할 때 이 PC 에서 만든 루트로 보인다.

남은 것이 왜 문제인가

규칙이 가리키는 파일이 없으니 지금 당장 이 규칙으로 통과하는 연결은 없다. 그래도 남겨 둘 이유가 없는 이유가 두 가지 있다.

첫째, Windows 방화벽의 프로그램 규칙은 경로로 프로그램을 알아본다. 그 경로에 같은 이름의 파일이 생기면 그 파일이 들어오고 나가는 연결을 모두 허락받는다. Program Files (x86) 아래는 관리자 권한이 있어야 쓸 수 있으니 쉽게 일어날 일은 아니다. 다만 쓸모없는 허용 규칙은 줄여 두는 것이 방화벽을 관리하는 기본이다.

둘째, 루트 인증서는 프로그램과 상관없이 혼자서 효력이 있다. 신뢰 목록에 있는 루트로 서명된 인증서라면 브라우저는 어느 사이트의 것이든 믿는다. 18편에서 정리했듯이 설치할 때 만든 루트라면 그 개인 키도 설치할 때 PC 어딘가에 있었다는 뜻이다. 프로그램이 사라진 지금, 그 루트가 해야 할 일은 남아 있지 않다.

이 PC 에는 출처를 찾지 못한 루트도 하나 있었다. KWIC Certificate Auth V2(조직 단위 KWIC Dev), 기간은 2026년 9월 21일부터 10년이다. 이름이 비슷한 프로그램 폴더나 앱 목록 항목, 서비스가 하나도 없었다. 어느 프로그램이 넣었는지 모르는 루트는 함부로 지우기보다, 발급일 무렵에 설치한 프로그램을 떠올려 보고 그 프로그램을 정리할 때 같이 보는 편이 안전하다.

직접 정리하는 방법

프로그램이 이미 없으니 제거 프로그램은 쓸 수 없고, 남은 것은 손으로 지운다.

방화벽 규칙은 "Windows Defender 방화벽 → 고급 설정"에서 인바운드 규칙과 아웃바운드 규칙 각각에서 KOSinj, KOSinj64, Kings Online Security Service 를 찾아 삭제한다. 관리자 PowerShell 이라면 먼저 목록을 확인한다.

Get-NetFirewallApplicationFilter |
    Where-Object Program -like '*Kings Online Security*' |
    Get-NetFirewallRule |
    Select-Object DisplayName, Direction, Action, Enabled

목록이 여섯 줄인지, 이름이 위의 셋뿐인지 확인한 다음 같은 줄 끝에 | Remove-NetFirewallRule 을 붙여 지운다. 확인 없이 바로 지우는 명령은 쓰지 않는다. 경로 조건이 엉뚱한 규칙을 함께 잡을 수 있기 때문이다.

루트 인증서는 certlm.msc 의 신뢰할 수 있는 루트 인증 기관에서 Kings Information & Network Co., Ltd Local Root CA 를 지우고, certmgr.msc 를 다시 열어 현재 사용자 쪽에도 남지 않았는지 본다. 빈 레지스트리 키 Kings 는 아무 동작도 하지 않으니 그대로 두어도 된다.

번외 다섯 편까지 해서 이 PC 의 보안 프로그램은 모두 한 번씩 열어 보았다. 마지막 편에서 얻은 교훈은 하나다. 제거 프로그램이 끝났다고 정리가 끝난 것은 아니다. 21편의 목록 스크립트를 지운 뒤에 한 번 더 돌려 보는 이유가 여기 있다.