
HanCom Solutionware。成为国民文字处理软件的代码撑了三十年。朝鲜一直在挖它的缝。
金镐洸 Cyworld 前代表 / 2026年10月10日
分级: TLP:CLEAR | 类型: 分析专栏 (Analytical Column) | 日期: 2026-10-10 严重度: HIGH | 可信度: A2 | 相关行为体: APT37 · 金秀基(Kimsuky)
代码不会老。理解代码的人会老。 成为韩国“文档基础设施”的国产文字处理软件,以及三十年旧代码留下的作业。
主版本(2026年10月9日)
开篇 — 这个月,公务员邮箱将拦截 HWP
若政府计划落实,2026年10月,公务员与国民往来的公职人员综合邮箱将限制 HWP 附件。地方政府 Onnara 系统已从 5 月 18 日起扩大 HWPX 强制使用。政府给出的理由是“AI 能读的文档”。这次转换还有一个几乎不出现在新闻稿里的原因。十多年来,HWP 一直是朝鲜黑客最可靠的入口。
2025 年 12 月,Genians Security Center 公布了朝鲜关联组织 APT37 的“阿尔忒弥斯行动(Operation Artemis)”。攻击者冒充大学教授或广播撰稿人,多次交谈建立信任后,再发送伪装成预访谈问卷或活动通知的 HWP 文件。受害者打开文档、允许内容运行、点击正文里的“超链接”的瞬间,感染开始。那条链接其实是画成链接样子的 OLE 对象。
美国朝鲜问题媒体 38 North 在 2025 年 10 月的报告中指出:HWP 是韩国部委、军方、核心产业与学界的事实标准——这一事实本身,已成为韩国与美韩同盟的网络安全弱点。
为什么偏偏是下阿韩文?本文用历史、文化、技术三层来回答,最后谈几乎无人认真讨论的问题:三十年的 C 代码,以及仍能理解它的人正在老化。
1. 为韩语而生的文字处理软件
下阿韩文(Hangul Word Processor)由首尔大学计算机社团出身的李赞珍、金亨集、禹元植、金泽辰等人于 1988 年开始开发,1989 年以 1.0 面世。产品名「ᄒᆞᆫ글」保留了已经不用的元音“下阿”(ㆍ)。1990 年韩文与计算机(Hancom)成立,正式商业化。
当时的海外文字处理软件无法好好处理韩文。一个韩文字是初声、中声、终声的组合,现代韩语音节就有 11,172 个。下阿韩文用组合型编码正面解决问题,并实现韩汉混排、竖排、韩式段落与字距控制,成为“国民文字处理软件”。
韩语是助词与词尾发达的黏着语,汉字词与固有词混用,公文与学术文档里汉字并记和特殊符号频繁。最先、最准确地回应这套排版需求的,就是下阿韩文。1990 年代中期微软 Word 叩开韩国市场,却没能越过韩语排版质量与用户习惯的墙。1998 年外汇危机期间,针对微软投资提议掀起的“守住韩文”运动,说明这款软件在韩国社会不只是产品。
正是这种象征性,后来成了攻击者的机会。
2. 表格之国,以及为何变成“只有韩国在用”的格式
公文表格文化
韩国行政文档的特征是表格与改条式。草案、报告、计划、预算,乃至一页情况汇报,大多用表格切分条目,填上以“함”“임”结尾的改条式句子。单元格合并、边框粗细、行距、字体与长平都有既定格式,稍有偏差就会听到“重做”——这是公职社会长久以来的风景。
下阿韩文在表格编辑上占压倒优势。画复杂表、拆合单元格、甚至在表内计算,成了公务员与研究者的工作方式本身。
为什么只有韩国用 HWP — 政治经济锁定
只谈功能不够。HWP 的支配力,除了国民情绪,还靠几层锁定(lock-in)维持。
- 系统锁定。 政府业务管理系统 Onnara 一直把 HWP 当默认文档格式。公务员用 HWP,民间合作企业、研究机构、学校也必须用 HWP 提交。
- 格式资产锁定。 数十年积累的公文模板、资助申请、招标书全是 HWP。换格式意味着重做数万份表格。
- 采购与产业政策。 在培育国产软件的名义下,Hancom Office 在公共采购中长期是默认值。
- 象征锁定。 “对抗外产的国产软件”叙事,让转换讨论在情绪上更难。
在攻击者看来,这一结构是决定性的。目标每天打开的文件格式、打开时无人怀疑的文件格式、以及全世界事实上只有韩国在用的文件格式。 三个条件叠在 HWP 上。微软 Word 和 PDF 有全球安全行业一起盯;HWP 事实上只有韩国安全行业在看。眼睛少的地方,攻击就会聚过来。
“G7 峰会带来的青瓦台政策变化”
如果这份标题的 hwp 文档通过邮件或 KakaoTalk 发来,几乎没有官僚会不点。
3. 缺陷的特征 — 两条攻击轴
针对 HWP 的攻击分成性格完全不同的两支。分不清,处方就会打偏。
第一 — 内存缺陷:文档被“读”的瞬间就被打穿
旧版 HWP(5.0)格式是在微软复合文档结构(OLE Compound File)上压缩堆叠自有二进制记录。Hancom 虽公开了格式规范,但三十多年的向下兼容要求,让解析器必须处理的例外与分支极多。复杂的二进制解析器就是宽攻击面。
公开漏洞呈现出清晰模式。
| 时期 | 标识符 | 类型 | 备注 |
|---|---|---|---|
| 2015 | CVE-2015-6585 | 类型混淆 | FireEye 确认为朝鲜关联攻击的零日,Hancom 于 9 月 7 日打补丁 |
| 2016–2020 | CVE-2017-8291 等 | 内嵌 Ghostscript(EPS 处理)漏洞 | 处理 HWP 内 EPS 图的外部 C 库成了攻击通道 |
| 2022 | CVE-2022-33896 | 缓冲区下溢 | 基于 XML 的文档解析过程中的内存缺陷 |
| 2026.02 公开 | CVE-2025-29867 | 类型混淆(CWE-843) | Hancom Office 2018·2020·2022·2024 全线,CVSS 4.0 为 8.5。公开时点无确认实战滥用 |
类型混淆、缓冲区上溢/下溢、释放后使用(Use-After-Free)都是 C/C++ 这类内存不安全语言的典型缺陷。补一个,同类会在别处再冒出来。这不是个别开发者的失误,而是语言与架构的问题。Ghostscript 的例子也说明:问题不只在 Hancom 自有代码。为了在文档里画一张图拉进来的外部 C 库,同样可以成为攻击点。
第二 — 滥用正常功能:没有漏洞也能打穿
HWP 可以在文档里放入 OLE 对象。本意是放表格、图片或其他程序的数据。阿尔忒弥斯行动中,攻击者把 OLE 对象伪装成普通超链接。软件一个 bug 都没有,用户忽略警告点一次,感染也能成立。在压缩包里放带 HWP 图标的快捷方式(LNK),属于同一家族。
这条轴的核心不是技术,而是信任。攻击者冒充教授、记者、撰稿人、研究机构职员,先聊上几周再发文件。
两条轴要求不同的处方
| 轴 A:内存缺陷 | 轴 B:滥用正常功能 | |
|---|---|---|
| 攻击时点 | 打开(解析)文档的瞬间 | 用户允许/点击的瞬间 |
| 代表案例 | CVE-2015-6585、EPS/Ghostscript | 阿尔忒弥斯行动、HWP+LNK |
| 补丁能否挡住 | 单个 bug 能挡,家族会重复 | 挡不住(功能本身正常) |
| 根本处方 | 转向内存安全语言、沙箱 | CDR / 文档检查、用户行为 |
用 Rust 重写的 HWP,用户一点伪装链接照样被打穿。反过来,教育再好也挡不住“一打开就执行”的零日。只做一边不够。
4. 朝鲜针对 HWP 的十三年年表
| 时期 | 主体 | 内容 | 攻击轴 |
|---|---|---|---|
| 2013 | 金秀基 | 卡巴斯基首次公开金秀基行动。含专门偷 HWP 文档的模块。HWP 在成为入侵手段之前,先是收集目标 | 收集 |
| 2015 | 疑似朝鲜关联 | FireEye 公开 HWP 零日 CVE-2015-6585 与后门 Hangman。C2 与其他疑似朝鲜行动相连 | A |
| 2016–2020 | 多个朝鲜关联 | 伪装成统一/安保研讨会资料、虚拟资产相关文档的 HWP,内嵌恶意 EPS,持续数年 | A |
| 2017 | APT37 | 针对外交、安保、统一领域约 20 人的 HWP 鱼叉钓鱼 | A+B |
| 2023 | 金秀基 | 美韩六机构(美 FBI、国务院、NSA;韩国国情院、警察厅、外交部)联合公告。警告冒充记者、学者的社会工程 | B |
| 2025.03 | APT37 | “玩具箱故事”行动。针对涉朝活动人士,用伪装成 HWP 的 LNK 传播 | B |
| 2025.08–11 | APT37 | 阿尔忒弥斯行动。冒充教授/撰稿人、OLE 超链接伪装、隐写术与 DLL 侧加载结合 | B |
年表很清楚。2010 年代中期以前,轴 A(漏洞)是主力。Hancom 补丁加快、内嵌 Ghostscript 被移除后,重心转到轴 B(社会工程与正常功能滥用)。2023 年美韩联合公告强调的也是:金秀基第一封邮件不带恶意代码,先花很长时间建立信任。
5. 朝鲜现在仍在打 HWP
朝鲜的 HWP 攻击不是过去时。2026 年,业界仍在报告 HWPX 与脚本文件(JSE)结合的变种,以及金秀基把 HWP 与 LNK 编织在一起的链式攻击。
还有一点。攻击者已经把 HWPX 当诱饵用。换成开放格式,这场战争不会结束。他们跟的不是格式,而是目标信任的工作流。韩国公共机构用 HWPX,诱饵就变成 HWPX;公职人员综合邮箱被拦住,他们就转到即时通讯与云链接。
6. 我们该做什么
处方必须按两条轴来设计。本文提四点。第一、第二针对 轴 A,第三针对 轴 B,第四是 组织与个人 的份。
第一,把三十年 C 代码迁到内存安全语言 [轴 A]
这是本文最想强调的部分。
下阿韩文的根是 1980 年代末 DOS 时代的 C 代码。经过 Windows 时代扩展到 C/C++,上面又叠了三十多年的功能与兼容代码。直接操作指针、手工分配释放内存,当时是性能的最佳选择。今天,那份代码是朝鲜挖了十多年的攻击点。据说一度因为各 Windows 版本 GDI 渲染不同,连 MFC 都不用,自己做渲染。
然后是人的问题。做出下阿韩文的第一代开发者如今前后六十岁,大多早已离开公司。真正理解最初设计意图与内部结构的人在减少,叠在上面的代码却继续增加。代码不会老,理解代码的人会老。 遗留系统最大的风险,就是这种知识断裂。
世界的方向已经定了。
- 微软表示,每年在自有产品中修补的安全漏洞约 70% 是内存安全问题。
- 谷歌报告,Android 新代码开始用 Rust 等内存安全语言后,内存安全漏洞占全部漏洞的比重从 2019 年的 76% 降到 2024 年的 24%。关键是:不必把旧 C/C++ 全部推翻,只改新代码 就有效果。
- 美国 CISA、NSA、FBI 与友邦网络机构 2023 年联合建议软件厂商制定“内存安全路线图”;白宫国家网络主任办公室(ONCD)也在 2024 年正式推动转向内存安全语言。
- 美国国防高级研究计划局(DARPA)正在推进用 AI 把 C 自动转成 Rust 的 TRACTOR 项目。
过去,把数百万行 C 迁到另一种语言不现实。现在有了新工具:基于 LLM 的代码迁移。现实顺序是:
- 先迁解析器。 轴 A 的攻击发生在文档被“读”的瞬间。从接收外部输入的边界代码——HWP/HWPX 解析器、图像与 OLE 处理模块——用 Rust 重写。
- 用 AI 转换,用测试验证。 LLM 做 C 到 Rust 的初译;差分测试与模糊测试把同样的数百万份文档送进新旧引擎比对。Hancom 有三十年真实文档这一谁都没有的测试资产。LLM 是翻译机,不是裁判。裁判是测试。
- 把剩下的 C 关起来。 暂时迁不走的部分放进沙箱,即使被打穿也不扩散到整个系统。
- 把知识写成代码留下。 转换过程中用 LLM 文档化遗留行为,再用测试钉死,第一代的默会知识就能以下一代读得懂的形式保存。
谁出钱?老实说,这活 Hancom 一家扛太大。企业很难自发把数百亿韩元花在不增加营收的安全重写上。但只要 HWP 是国家文档基础设施,这就不是一家公司的质量问题,而是国家网络安全问题。需要两根杠杆。
- 采购条件。 要求公共机构采购的文档软件提交“内存安全路线图”。美国把 Secure by Design 接到采购上,是同一做法。
- 联合研发。 用国家研发支持解析器重写与模糊测试基础设施,并把部分成果(尤其是 HWPX 解析器)开源,让整个安全行业一起验证。
第二,把开放文档体系的转换推到底。尽量缩小暴露在单一文字处理软件上的面。
政府 2022 年在中央部委 Onnara 强制 HWPX,并从 2026 年 5 月 18 日起扩大到地方政府。公务员之间的 On-mail 与面向国民的公职人员综合邮箱从 10 月起限制 HWP 附件。HWPX 遵循基于 XML 的开放文档标准(OWPML,KS X 6101),把扩展名改成 zip 就能直接看内部结构。
转换的真正价值是“可检查性”。结构必须透明,自动检查、无害化(CDR)、AI 分析才可能。但如前所述,开放格式不等于安全格式。 HWPX 上也报告过解析漏洞,攻击者已经在用 HWPX。格式转换是起点,不是终点。
第三,建立基于 LLM 的文档检查体系
第一项里的 LLM 是修代码的工具;这里的 LLM 是检查进来文档的工具。同一技术,完全不同的用途。
轴 B 很难用特征码抓住。它不是恶意代码,而是正常功能加上像样的语境。所以需要读语境的检查。从 HWPX 结构化抽出 OLE 对象、外部链接、脚本、元数据后,可以让 LLM 问:
- “自称访谈问卷,为什么里面有可执行对象?”
- “正文里看到的链接文字和实际指向是否一致?”
- “显示为发件人的教授所属,与文档格式、元数据是否一致?”
在这套结构里,LLM 也不是最终裁判。确定性检查引擎确认风险要素;LLM 在前段过滤可疑信号,并用人能听懂的话解释。把数十年旧版 HWP 迁到 HWPX 或结构化数据,也是这套检查体系与公共数据利用的共同基础。
第四,组织默认 CDR,个人守住五个习惯 [组织·个人]
组织。 CDR(Content Disarm and Reconstruction,内容拆解重建)从文档里去掉 OLE 对象、脚本、外部链接等可执行要素,再重建成安全文档。无论漏洞是否已知都能工作,因此对轴 A 的零日和轴 B 的伪装链接都有效。外部进来的文档应默认只在经过 CDR 之后才能打开,写进邮件网关。
个人。 政策与技术要变,需要几年。这期间朝鲜瞄准的,终究是一个人的一次点击。
从今天就能做的五件事
- 第一次联系你的教授、记者、撰稿人发来文档,用你本来就认识的渠道再确认一次。 2023 年美韩联合公告建议用短视频通话确认身份——哪怕那是素颜视频通话。
- 打开文档时弹出“允许内容”“运行”之类警告,不要点。 正常的报告或问卷不会要这种许可。
- 文档里的链接和图标不是文档。 非要打开,就自己核对地址,另开浏览器输入。
- 在 Windows 资源管理器打开“显示文件扩展名”。 带着 HWP 图标的
.lnk不是文档,是可执行文件。- 保持 Hancom Office 最新,替换已停止支持的旧版。 收到可疑文档,向 KISA(118)或国情院(111)报告。
7. 预期反驳与回应
“那干脆换成微软 Word 不就行了?”国家 AI 战略委员会的民间委员里确实出现过 Word 导入论。但换成 Word,并不是少掉一条攻击轴,只是换到另一家公司的 C++ 解析器。Word 也长期是宏与 OLE 滥用的常客通道。还要算丢掉数十年公共模板与韩语排版资产的成本,以及把国家核心文档基础设施押在一家外国公司上的风险。问题不是“国产还是外产”,而是“能否检查、是否内存安全”。达标的话,HWPX、DOCX、ODF 都可以。HWPX 是现实起点,因为它能以最小损失迁移现有格式资产。
“公务员和研究者的转换成本呢?”不小。旧模板会坏,旧版用户打不开文件,部委间系统对接也要改。所以政府也选择了分阶段:公职人员综合邮箱给五个月宽限期,先从提示弹窗做起。转换成本是真的,但和十三年持续渗透的成本比,故事就不一样了。
“Hancom 这些年什么都没做吗?”不是。Hancom 从 2010 年起支持 HWPX,2021 年定期补丁把 HWPX 设为默认保存格式。2018 年前后用安全更新移除了成为攻击通道的内嵌 Ghostscript 模块,漏洞报告后也通过 KrCERT/CC 发补丁。本文的要点不是 Hancom 不够努力,而是仅靠现在的打补丁和换格式,结束不了语言层面的缺陷家族。下一步是改代码的地基。
“换成 Rust,朝鲜黑客就结束了吗?” 不会。第三章已经说明:Rust 只缩小轴 A,挡不住点伪装链接的轴 B。所以四条处方必须绑在一起。
收束
1989 年,外国软件还处理不好韩文的时候,几个大学生改变了这个国家用韩语写文档的方式。他们写下的 C 代码,撑起了三十多年的行政、研究与产业。
那份代码现在仍按当时的样子运行。变的是外面的世界。朝鲜挖它的缝已经十三年,最初设计它的人一个接一个离开现场。公务员邮箱拦截 HWP 的这个十月,必须是开始,而不是结束。改完格式之后改代码,改完代码之后把知识留给下一代。
1989 年的大学生有 C;2026 年的我们有 AI 和内存安全语言。重写下阿韩文,不是丢掉那份遗产,而是让那份遗产再撑三十年。
参考链接
朝鲜 HWP 攻击案例
- 38 North, "HWP as an Attack Surface: What Hancom's Hangul Word Processor Means for South Korea's Cyber Posture as a US Ally" (2025.10): https://www.38north.org/2025/10/hwp-as-an-attack-surface-what-hancoms-hangul-word-processor-means-for-south-koreas-cyber-posture-as-a-us-ally/
- Genians Security Center, Operation Artemis 分析 (2025.12): https://www.genians.co.kr/en/blog/threat_intelligence/dll
- Genians Security Center, "Operation: ToyBox Story" (2025.05): https://www.genians.co.kr/blog/threat_intelligence/toybox-story
- 보안뉴스, "'한글파일 열었더니 해킹' 北 연계 APT37 '아르테미스' 공격 포착" (2025.12.22): https://m.boannews.com/html/detail.html?idx=141110
- 보안뉴스, "북한 해킹그룹 APT37의 치밀한 스피어피싱 공격기법 분석해보니" (2023.06.13): https://m.boannews.com/html/detail.html?idx=119028
- 조선비즈, "'HWP에 악성 파일 숨겨 유포'… 北 해커 먹잇감 된 아래아한글" (2025.12.26): https://biz.chosun.com/it-science/ict/2025/12/26/6BU7EWAVA5FVDADT3W4XPQI4BU/
- KBS, "한글파일 열었더니 감염…북한 해킹 '아르테미스' 포착" (2025.12.22): https://newsws.kbs.co.kr/news/pc/view/view.do?ncd=8439673
- Korea JoongAng Daily, "Pyongyang-backed hackers launch newly detected cyberattack scheme using computer files" (2025.12): https://www.koreajoongangdaily.com/korea/pyongyang-backed-hackers-launch-newly-detected-cyberattack-scheme-using-computer-files/12026158
- Kaspersky Securelist, "The 'Kimsuky' Operation: A North Korean APT?" (2013.09): https://securelist.com/the-kimsuky-operation-a-north-korean-apt/57915/
- SecurityWeek, "North Korea Suspected of Using Zero-Day to Attack South" (2015.09): https://www.securityweek.com/north-korea-suspected-using-zero-day-attack-south/
- Computerworld, "North Korea is likely behind attacks exploiting a Korean word processing program" (2015.09): https://www.computerworld.com/article/1632897/north-korea-is-likely-behind-attacks-exploiting-a-korean-word-processing-program.html
- Trend Micro, "HWP and PostScript Abused Via Malicious Attachments" (2017.09): https://www.trendmicro.com/en/research/17/i/hangul-word-processor-postscript-abused-malicious-attachments.html
- 보안뉴스, "EPS 취약점 공격, 현재도 공공기관과 기업 노려" (2018.11.23): https://m.boannews.com/html/detail.html?idx=74890
- 시큐레터, "Kimsuky(APT43) HWP+LNK 연쇄 공격 — 한국 공공·안보 표적 TTP 완전 해부" (2026.04.21): https://seculetter.com/content-security/blog/a12-kimsuky-hwp-lnk/
- 시큐레터, "HWP/HWPX 제로데이 2020-2026 연표" (2026.04.18): https://seculetter.com/content-security/blog/a11-hwpx-zeroday-timeline/
漏洞与联合公告
- NVD, CVE-2025-29867: https://nvd.nist.gov/vuln/detail/CVE-2025-29867
- FBI、国务院、NSA、国情院、警察厅、外交部联合公告, "North Korea Using Social Engineering to Enable Hacking of Think Tanks, Academia, and Media" (2023.06.01): https://media.defense.gov/2023/Jun/01/2003234055/-1/-1/0/JOINT_CSA_DPRK_SOCIAL_ENGINEERING.PDF
- CISA、FBI、USCYBERCOM 联合公告 AA20-301A, "North Korean Advanced Persistent Threat Focus: Kimsuky" (2020.10): https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-301a
开放文档转换政策
- 바이라인네트워크, "정부, 공공 문서 유통망서 hwp 첨부 제한 추진" (2026.04.23): https://byline.network/2026/04/23-586/
- 헤럴드경제, "공공부문, 5월부터 'hwp 첨부' 제한된다" (2026.04.23): https://www.heraldk.com/article/2026042316000053545
- 머니투데이, "AI 못 읽는 한글 파일… AI G3 이끄는 숨은 공신들" (2026.06): https://www.mt.co.kr/article/2026052623275813425
- 디지털데일리, "[국감 2025] 韓 디지털 갈라파고스화 우려... '정부 문서 90%는 AI가 못 읽는 깜깜이'" (2025.10.14): https://www.ddaily.co.kr/page/view/2025101415400444080
- 바이라인네트워크, "아래아한글, HWP 아닌 HWPX로 저장된다" (2021.04.15): https://byline.network/2021/04/15-117/
- 디지털투데이, "韩国5月起限制公共文书流通使用HWP,推动转向HWPX" (2026.04.24): https://www.digitaltoday.co.kr/cn/view/50599/
内存安全语言转换
- Microsoft Security Response Center, "A proactive approach to more secure code" (2019): https://msrc.microsoft.com/blog/2019/07/a-proactive-approach-to-more-secure-code/
- Google Security Blog, "Eliminating Memory Safety Vulnerabilities at the Source" (2024.09): https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html
- CISA 等, "The Case for Memory Safe Roadmaps" (2023.12): https://www.cisa.gov/resources-tools/resources/case-memory-safe-roadmaps
- 白宫 ONCD, "Back to the Building Blocks: A Path Toward Secure and Measurable Software" (2024.02): https://bidenwhitehouse.archives.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf
- DARPA, "TRACTOR: Translating All C to Rust": https://www.darpa.mil/research/programs/translating-all-c-to-rust