作者:
来源:
我做信息系统这一行很多年,见过最麻烦的事故之一,就是采血管理系统被人拖库,几万条带姓名、身份证号、联系方式甚至特殊标注的采血记录在黑市流转。和普通业务系统不一样,采血数据往往和身份信息、健康状况紧密绑定,一旦泄露,既是隐私灾难,也是对机构公信力的致命打击。说白了,采血管理系统不是简单的业务系统,而是高度敏感的个人健康信息系统,必须按接近医疗核心系统的标准来防护。我一般会从三个维度来审视安全问题:一是谁能看到、改动这些数据,也就是权限和身份管理;二是数据在存、传、用三个环节是否加了“壳”;三是事后能不能快速还原现场,找出是人、是系统、还是外部攻击出了问题。下面这些做法,都是我在医院和血站项目里踩过坑后沉淀下来的,能真正在一线落地。

采血管理系统最容易被忽视的,是内部人员越权访问。很多地方图省事,给医生、护士、检验科甚至前台一个通用账号,谁都能查所有人的采血记录,这等于主动把门敞开。我现在做项目,第一条硬规定就是必须做到最小权限和实名账号。每个岗位只给完成工作所必需的数据访问范围,例如采血窗口只能看到当日排队和本人窗口相关记录,后台管理员也要分数据库管理、应用配置、运维审计等细颗粒度角色,避免一个账号“通天”。同时,严禁共享账号,不能因为人员流动频繁就偷懒,一个账号必须对应到具体个人,离职立刻注销,岗位调整立刻收回多余权限。所有关键操作,例如导出数据、批量修改、删除记录,都要强制二次验证并记录。只要做到这几点,即使用的是同一套系统,也能把潜在泄露面收窄到最小。
不少单位一听安全就先跑去给数据库加个密码,甚至上个透明加密软件,以为万事大吉。但我见过更多的泄露,是卡在传输和终端上。我的做法是按数据生命周期来设计保护壳。数据在传输时,采血终端到服务器之间必须走加密传输通道,哪怕是内网,也要考虑以后和外部系统对接的扩展性,提前把安全通道建好。数据在存储时,数据库层面采用字段级或表级加密,对姓名、身份证号、联系方式等核心字段单独加密,运维人员即便拿到备份文件,没有解密授权也无法直接看到明文。同时对服务器磁盘启用加密功能,防止硬盘被拆走后脱机读取。在使用环节,要限制导出功能,默认禁止批量导出带完整身份信息的报表,确需导出的,自动做脱敏处理,只保留必要字段,导出文件默认加打开口令并设置过期时间。这些看着有点“烦”,但真出事时,它们就是最后的保险丝。

发生泄露后,最糟糕的情况不是泄露本身,而是完全查不到是谁、什么时候、通过什么方式把数据带出去的。想避免这种窘境,日志这件事必须上纲到审计级别,而不是简单记录几个访问时间。我建议在采血管理系统外再加一层运维访问控制,也就是常说的堡垒机,让所有对服务器和数据库的登录都经过统一入口,操作全程录像和命令记录,这样数据库管理员也不再是“绝对安全岛”。应用层面,要精细记录每次查询、修改、导出的行为,至少要包含用户身份、访问来源终端、查询条件、数据量级以及是否涉及敏感字段。再结合数据库审计系统,对异常行为进行实时告警,例如短时间内大量查询不同患者信息、深夜登录批量导出等。一旦发现可疑行为,可以通过堡垒机回放操作过程,还原现场。这套组合拳,能让“想动歪脑筋”的人心里有数,因为任何异常操作都会留下完整、可追溯的痕迹。

在采血系统项目里,我见过太多事故不是因为技术多差,而是制度形同虚设。比如有人用个人邮箱收发导出的采血记录,有人把系统截图发到聊天群里给外包人员,有人用简单口令写在便签上贴在显示器旁边,这些在攻击者眼里都叫“现成漏洞”。我的做法是,技术上线之前,先把几条关键制度定死并宣贯到位,例如任何包含身份信息和采血记录的文件禁止通过公开邮件和社交工具传输,对外数据提取必须有书面审批和登记,第三方维护人员不得私自拷贝生产数据,用于测试的数据一律在脱敏后再使用。同时,要定期做桌面推演和应急演练,模拟一次数据泄露,从发现、上报、处置到对外说明,跑一遍流程,看看哪些环节会掉链子。别指望一次培训能改变所有人的习惯,最有效的方式是结合真实案例讲风险,让大家明白自己随手的一次转发,可能就是一场公共事件的起点。
如果让我给一家中等规模医院的采血管理系统做数据安全落地,我通常会分两个阶段推进,既不影响现有业务,又能快速降低风险。第一阶段优先做“见效快”的三件事:一是梳理账号和权限,关闭共享账号,设置岗位角色模板,让新老员工都在可控范围内工作;二是接入堡垒机,对所有服务器和数据库访问做统一入口管理,哪怕一开始只针对核心管理员,也能立刻提升可追溯性;三是开启应用日志中对查询和导出的详细记录,让以后有案可查。第二阶段再逐步上数据库审计系统和数据库加密工具,把敏感字段加密,加上访问行为智能分析和告警,同时配合数据脱敏组件,生成一套脱敏后的测试库,杜绝用真实采血数据做开发联调。配合这两阶段的技术建设,同步发一版简明易懂的数据安全操作规程,小册子控制在几页纸之内,贴在采血窗口和检验科办公室,让一线同事知道哪些事是坚决不能做的。这样循序渐进,半年左右就能把采血管理系统的数据安全水平提升到一个相对可靠的台阶。