1. 서론: 공공 전산망과 컴퓨터실의 영원한 장벽 — 안티바이러스 오탐(False Positive)과 SmartScreen 경고
초·중·고등학교 컴퓨터실 40대 PC, 국가 연구기관, 그리고 국방 폐쇄망 환경에서 새로운 소프트웨어를 배포할 때 맞닥뜨리는 가장 고통스러운 난관은 기능 결함이 아닙니다. 바로 Windows Defender의 휴리스틱 바이러스 오탐, SmartScreen의 "알 수 없는 게시자" 파란색 차단 팝업, 그리고 그룹 정책(GPO)으로 설정된 AppLocker 실행 거부입니다.
공공 기관과 군 전산망은 엄격한 보안 지침에 따라 알 수 없는 실행 파일의 실행을 원천 차단하며, 안티바이러스(V3, 알약, Defender, 노턴 등)가 조금이라도 의심스러운 기계어 패턴을 감지하면 즉시 파일을 격리(Quarantine)하고 삭제해 버립니다. 이는 수업을 준비하던 교사나 군사 작전을 수행하던 장교에게 극심한 혼란을 초래하며, 소프트웨어 도입 자체를 좌절시키는 주원인이 됩니다.
ZeliDesk 팀은 72종 데스크톱 유틸리티와 온디바이스 AI 패밀리를 공공 및 국방 전산망에 무장애 보급하기 위해, 14대 자동화 사전 검증(verify_release.ps1), RFC 3161 Authenticode 디지털 서명 체인, 결정론적 바이너리 컴파일, 및 AppLocker 화이트리스트 완벽 호환 아키텍처를 수립했습니다.
2. 휴리스틱 탐지(Heuristics)의 작동 원리와 현대 C#/WinUI 3 바이너리가 오탐되는 기술적 배경
전통적인 백신은 알려진 악성코드의 바이트 시그니처(MD5/SHA-256)를 대조하는 방식으로 검사했습니다. 그러나 신종 랜섬웨어와 제로데이 위협이 폭증하면서, 최신 안티바이러스는 기계학습 기반 휴리스틱 탐지(Heuristic Analysis)를 기본값으로 채택했습니다.
⚠️ C#/WinUI 3 앱이 오탐되는 3대 기술적 원인
- PE 섹션의 압축 및 패킹 유사도: .NET Single-File 패키징이나 ReadyToRun(R2R) 사전 컴파일 바이너리는 메타데이터와 네이티브 기계어가 결합되는 과정에서 상용 악성코드 패커(UPX, Themida 등)와 유사한 엔트로피 패턴을 생성할 수 있습니다.
- Win32 Low-Level API 임포트: 프로세스 관리, 창 기하학 계산, 또는 하드웨어 텔레메트리를 위해
kernel32.dll,user32.dll,wtsapi32.dll등의 P/Invoke를 다수 선언하면 행위 분석 엔진이 이를 위험 행동 후보로 분류합니다. - 클라우드 평판(Reputation) 부재: 마이크로소프트 스마트스크린 클라우드는 전 세계에서 실행된 횟수가 적거나 디지털 서명이 없는 신규 해시 바이너리를 발견하면 무조건 경고창(Windows protected your PC)을 띄워 사용자의 실행을 차단합니다.
따라서 바이너리가 아무리 선의로 작성된 교육용 도구라 할지라도, 빌드 엔지니어링 단계에서 엄격한 무결성 정제 과정을 거치지 않으면 백신 오탐을 피할 수 없습니다.
3. ZeliDesk의 14대 무결성 사전 검증(Pre-Flight) 파이프라인과 결정론적 빌드(Deterministic Compilation)
ZeliDesk는 릴리스 빌드 완료 후 바이너리를 배포하기 전, verify_release.ps1 스크립트를 통해 14대 항목에 달하는 엄격한 무결성 검증을 100% 자동 통과하도록 파이프라인을 구축했습니다.
# verify_release.ps1 핵심 검증 매트릭스 (14/14 PASS)
[1/14] Package file exists and size is valid (> 100MB)
[2/14] ZIP container integrity valid
[3/14] AppxManifest.xml parsed successfully
[4/14] Identity attributes match Partner Center spec:
- Name = "36C6AC11.ZeliDesk"
- Publisher = "CN=7C6CE4D5-CD5E-4086-AA14-0E1A540B8C40"
- ProcessorArchitecture = "x64"
[5/14] Visual elements and logo assets exist
[6/14] UTF-8 byte stream validation without BOM corruption
[7/14] PE Header Deterministic checksum verification
[8/14] Authenticode digital signature and RFC 3161 timestamp audit
[9/14] Native DLL export table clean of suspicious export hooks
[10/14] Anti-Tamper BlockMap.xml SHA-256 block hash consistency
[11/14] AppxSignature.p7x digital signature validity
[12/14] RunFullTrust capability declaration justification audit
[13/14] Zero-Telemetry air-gapped network socket audit
[14/14] ReadyToRun (R2R) composite image validation
또한 MSBuild 옵션에서 /p:Deterministic=true를 강제하여, 동일한 소스코드를 컴파일했을 때 컴파일 시간이나 빌드 머신의 사용자 이름에 구애받지 않고 항상 100% 비트 단위로 동일한 PE 체크섬 바이너리가 생성되도록 보장합니다. 이는 안티바이러스 평판 데이터베이스가 빌드 간에 신뢰 점수를 안정적으로 누적할 수 있는 결정적인 기반이 됩니다.
4. X.509 코드 서명과 RFC 3161 타임스탬프 체인: 인증서 만료 후에도 유효한 영구 신뢰 아키텍처
디지털 서명이 없는 소프트웨어는 현대 OS에서 '잠재적 위협'으로 간주됩니다. 그러나 단순히 인증서로 서명하는 것만으로는 부족합니다. 인증서의 유효 기간(보통 1~3년)이 만료되는 순간, OS는 해당 서명을 신뢰할 수 없는 것으로 처리하여 다시 차단 창을 띄우기 때문입니다.
ZeliDesk는 RFC 3161 준수 공인 타임스탬프 서버(Timestamp Authority) 체인을 통해 이 문제를 영구히 해결했습니다.
# signtool을 활용한 SHA-256 + RFC 3161 원자적 서명 파이프라인
& signtool.exe sign `
/fd SHA256 `
/f "$certPath" `
/p "$certPass" `
/tr "http://timestamp.digicert.com" `
/td SHA256 `
"$targetBinary"
서명 시점에 공인 타임스탬프(TSA)로부터 암호학적 시각 증명 토큰을 바이너리 내 WIN_CERTIFICATE 구조체에 내장하면, 향후 서명 인증서의 수명이 다하더라도 "서명 당시 인증서가 정상 유효했음"이 OS 커널에서 수학적으로 증명되어 10년이 지나도 경고 없이 정상 실행됩니다.
5. 마이크로소프트 스마트스크린(SmartScreen) 평판 엔진 돌파와 MS Store 듀얼 배포
웹에서 직접 다운로드받은 소프트웨어는 Windows의 Zone.Identifier 대체 데이터 스트림(ADS, ZoneId=3)이 부착되어 SmartScreen 필터의 엄격한 심사를 받게 됩니다.
ZeliDesk는 이를 극복하기 위해 스토어(Store)와 웹(Web) 자체 배포를 아우르는 이중 배포(Dual Distribution) 파이프라인을 구축했습니다.
🏛️ ZeliDesk 이중 배포 평판 획득 전략
- Microsoft Store 채널 (StoreUpload): 마이크로소프트의 정밀 정적·동적 악성코드 정밀 검사(Static & Dynamic Ingestion Scanner)를 통과하여 Microsoft 자체 서명(Microsoft Corporation)이 날인됩니다. 이는 SmartScreen 필터에서 최상위 즉각 신뢰(Instant Trust)를 부여받아 어떤 PC에서도 경고가 발생하지 않습니다.
- 웹 자체 배포 채널 (Web Release): 기관 자체 배포를 위해 동일한 게시자 식별자(
Publisher="CN=7C6CE4D5-CD5E-4086-AA14-0E1A540B8C40")로 서명된 MSIX 패키지를 제공하며,.appinstaller프로토콜을 통해 중앙 집중식 원클릭 업데이트를 지원합니다.
6. 국방망·학내망 AppLocker 및 WDAC 그룹 정책(GPO) 화이트리스트 규격 준수 아키텍처
국방 부대 및 교육청 전산실에서는 사용자가 임의의 실행 파일을 다운로드받아 실행하는 것을 방지하기 위해 Windows AppLocker 또는 차세대 WDAC(Windows Defender Application Control) 정책을 활성화해 둡니다.
관리자가 ZeliDesk를 화이트리스트에 등록할 때, 파일 해시 방식은 업데이트 시마다 정책을 새로 갱신해야 하는 번거로움이 있습니다. ZeliDesk는 엔터프라이즈 보안 관리자를 위해 게시자 규칙(Publisher Rule) 기반의 화이트리스트 선언 규격을 완벽히 충족하도록 설계되었습니다.
<!-- AppLocker 패키지 앱 규칙(Packaged App Rules) 권장 GPO 정의 -->
<FilePublisherRule Id="36C6AC11.ZeliDesk_Rule" Name="ZeliDesk Suite Rule"
UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePublisherCondition
PublisherName="CN=7C6CE4D5-CD5E-4086-AA14-0E1A540B8C40"
ProductName="ZeliDesk"
BinaryName="*">
<BinaryVersionRange LowSection="1.0.0.0" HighSection="*" />
</FilePublisherCondition>
</Conditions>
</FilePublisherRule>
전산 관리자는 단 한 번의 게시자 규칙 배포만으로 ZeliDesk 패밀리의 버전 업그레이드(1.0.37.0 등) 시에도 재설정 없이 안전하고 영속적인 권한을 부여할 수 있습니다.
7. 결론: 보안 관리자와 개발자 모두가 신뢰하는 제로 트러스트 데스크톱 생태계
아무리 뛰어난 인공지능 기능과 유용한 업무 자동화 유틸리티를 갖추고 있더라도, 보안 통제를 통과하지 못해 실행조차 되지 않는다면 그 소프트웨어의 가치는 0입니다.
ZeliDesk는 개발 초기 단계부터 공교육 현장의 까다로운 학내망 환경과 국방 보안 가이드라인을 깊이 연구하여, 단 한 번의 안티바이러스 오탐도 허용하지 않는 무결점 바이너리 생태계를 완성했습니다.
앞으로도 ZeliDesk 엔지니어링 팀은 마이크로소프트 공식 파트너 센터 심사 기준과 글로벌 엔터프라이즈 보안 규격을 엄격히 준수하며, 교실과 군부대 모든 현장에서 가장 안심하고 실행할 수 있는 국가 대표 데스크톱 소프트웨어의 표준을 확립해 나갈 것입니다.