三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

供水管网GIS数据泄露复盘:坐标脱敏怎么做才不破坏空间查询

供水管网GIS数据泄露复盘:坐标脱敏怎么做才不破坏空间查询

一次复盘,四个泄露入口

某水务集团安全团队在一次内网监测中发现:管网 GIS 系统的地图服务接口,在无鉴权的情况下能批量返回管线坐标数据。顺着这条线做了一轮完整复盘:

时间事件
第1天监测发现 GIS 查询接口未做鉴权,遍历参数可批量拉取管线坐标
第2天排查确认该接口曾被异常访问,调用量明显高于日常
第3天复盘发现不止一个口子:测试环境带生产数据、备份散落共享盘、运维可直接查库
第4天启动整改:接口鉴权、数据脱敏、数据库加密、备份加密、防勒索兜底

复盘结论很直接:管网 GIS 数据泄露不是单一漏洞,而是"接口越权 + 测试环境未脱敏 + 备份散落 + 明文存储"四个口子叠加。

先想清楚:GIS 数据泄露到底值多少

很多人对 GIS 数据泄露不以为然,觉得"就是一堆地图坐标"。但供水管网 GIS 数据是典型的关键信息基础设施数据

数据类型泄露后果
管线坐标/拓扑(管径、材质、埋深)精确定位供水干管走向,为破坏/攻击提供地图
阀门/消火栓/水表位置基础设施分布暴露
压力监测点坐标结合管网模型可反推运行状态
维修/巡检记录推断管网薄弱环节

管网坐标+拓扑泄露,等于把一张"供水系统精确地图"交给攻击者——这也是住建部门供水安全合规里反复强调管网数据要保护的原因。按 GB/T 43697 数据分类分级,管网空间数据应当定级为重要数据

四个口子怎么堵

口子一:接口越权 → 鉴权 + 脱敏后出数

GIS 查询接口必须鉴权,且不能直接返回原始坐标——应用层出数前先脱敏(见下文)。

口子二:测试环境带生产数据 → 静态脱敏

开发/测试环境不允许使用生产真实数据,测试环境数据必须脱敏到"可用但失真"。

口子三:备份散落 → 加密 + 权限管控

备份文件加密落盘,开发机/共享盘不再允许明文备份流转。

口子四:运维直查明文 → 动态脱敏 + 数据库加密

运维、第三方人员查库只给脱敏数据;生产库落盘加密,非授权进程只见密文。

坐标脱敏:为什么不能简单"打码"

脱敏看着简单,但 GIS 坐标脱敏有个特殊坑:普通掩码会破坏空间查询。

管线数据被空间索引(如 R-tree/Geohash)组织,如果对坐标做"123.4567 → 123****"这种字符掩码,空间查询、范围查询、邻接分析全部失效——测试环境"能用"就无从谈起。

坐标脱敏的正确姿势是保留格式加密/置换(FPE)+ 偏移降精度:让脱敏后的坐标仍然是合法坐标、数值特征被保留,但已经不是真实位置:

脱敏方式效果空间查询是否可用风险
字符掩码(123****)彻底失真❌ 不可用
随机替换数据失真❌ 不可用
FPE保留格式脱敏坐标合法、统计特征保留✅ 可用中(保留近似)
偏移/降精度位置漂移、保留空间关系✅ 可用

实操上常用组合:

管线坐标 → FPE保留格式脱敏(保持经纬度格式与数值范围) + 整体平移偏移(按片区平移,保留拓扑相对关系) + 精度降级(保留到百米级,抹掉精确点位)

降精度这步很关键:把坐标从"精确到米"降到"精确到百米",管线走向仍可分析,但具体阀门、消火栓的精确点位被抹掉——测试开发够用,泄露出去也只是一张"模糊地图"。

落地:静态脱敏 + 动态脱敏 + 数据库加密

静态脱敏(测试环境 / 数据导出)

导出测试数据前,对 GIS 库做一次静态脱敏,坐标走保留格式偏移、地址走掩码:

# KTM静态脱敏任务:对坐标/地址字段执行脱敏ktm mask--taskgis_test_data\--sourcewater_gis--targetwater_gis_test\--rule'{"lon":{"type":"fpe_shift","range_km":50},"lat":{"type":"fpe_shift","range_km":50},"addr":{"type":"mask"}}'\--batch10000

动态脱敏(运维 / 第三方查询)

运维、报表、第三方系统访问 GIS 库时,走网关实时脱敏,底层数据不动:

# 动态脱敏策略:运维只读脱敏,业务读写明文masking_policy:role_groups:-role:"运维/第三方"mask:"坐标FPE+降精度, 地址掩码"-role:"GIS业务系统"mask:"明文"audit:"全量访问审计"

生产库加密(TDE)

GIS 生产库落盘加密,外部拖库拿到的是密文:

-- 管线拓扑表启用TDE加密(SM4,在线,不停机)EXECtde_enable_table_encryption@database_name='water_gis',@table_name='t_pipe_topology',@encryption_algorithm='SM4_256',@key_id='tde_gis_pipe_key',@rotation_interval_days=90,@mode='online';

备份加密 + 防勒索兜底

GIS 备份文件加密落盘,恢复演练在解密端执行;RDM 防勒索双引擎兜底,防止管线库被勒索加密后无法对外服务。

验收:一条都不能少

验收项怎么验
接口不再返回原始坐标带脱敏参数调用接口,返回坐标与真实位置偏差 ≥ 设定阈值
测试环境数据可用空间查询、范围查询在脱敏库上正常运行
生产库非授权进程只见密文无授权直查管线表输出密文
备份文件不可明文读取直接打开备份文件内容为密文
运维访问为脱敏数据审计日志确认运维会话走脱敏通道

供水管网 GIS 数据防泄露,核心不是"加一道权限",而是"接口鉴权 + 测试环境脱敏 + 生产库加密 + 备份加密 + 防勒索"五个动作一起上。坐标脱敏用保留格式脱敏 + 降精度,既不破坏空间查询,又抹掉精确点位。安当 KTM 静态脱敏、TDE 数据库透明加密、KSP 密钥管理、RDM 防勒索,可提供管网 GIS 数据安全的完整落地支持。

文章作者:安当加密技术负责人

← 返回列表