阅读: 24
数据安全法指出,数据处理,包括数据的收集、存储、使用、加工、传输、提供、公开等。数据收集活动很常见。日常的,做核酸收集身份信息。工作中,企业BI系统收集CRM和订单信息。网络安全领域,安全管理平台,需要收集网络安全设备的告警、主机的日志等,存储在后台的大数据系统,然后进行结合威胁情报,利用大数据和人工智能算法分析建模,发现已知或未知的各种威胁。
数据收集是后续数据处理活动的前提和基础。数据先要收集到系统中,才能继续其他的数据处理活动。本文列举常见的数据收集方式,并且对收集收集活动所面临的安全风险进行分析。
一、数据收集名词——CDC与ETL
数据收集活动,有两个常用的术语,CDC[1]和ETL[2],先来解释下这两个名词。
1.CDC(Change Data Capture) 变更数据捕获
CDC一般与关系型数据库有关,对表中记录变化进行捕获,并将变化信息同步出来,实现数据的收集。CDC 跟踪数据库源(插入、更新和删除等)中的行级更改,向依赖相同数据的其他系统或服务发送更改通知,同步进行更新。
传统的关系型数据,提供基于事物日志的CDC工具。微软SQL Server和Azure SQL Database提供内嵌的CDC工具[3],甲骨文Oracle数据库也有类似的数据集成工具。
2.ETL(Extract/Transform/Load) 数据抽取、转换和加载
ETL描述了将数据从来源端收集到目的端的过程。数据经过三个步骤,数据提取,格式转换,最后加载到目标的数据系统中。数据在收集过程中,转换数据格式,调整顺序,符合后台数据库的格式要求,这是数据转换的作用。还可以对原始数据过滤和清洗,剔除不能用的数据。也可以根据隐私要求,对数据变换操作,实现匿名化等。
ETL工具,既有随产品发布各种数据转换工具(如SOC安全平台匹配的告警日志收集工具),也有开源的框架。比较流行的开源ETL工具,有Kafka Connect框架[4],从源端收集数据,经过格式转换,最后加载到目的端的数据平台中。
图:Kafka Connect实现数据收集
ETL一般向后台的数据库/数据仓库发送结构化数据,后台系统已经预先设计好的库表结构。随着大数据、数据对象平台、数据湖等平台的发展,可以直接收集原始数据,无需对数据格式做转换。 ETL转换为ELT,数据提取后直接导入,在数据处理分析时,根据需要做转换。
二、数据收集方式
传统的数据收集比较简单,有人工填写表单的形式,或者辅助的硬件收集设备。在大数据时代,数据从不同的地方汇聚到大数据平台,或者数据中台。对收集的数据量大,实时数据流的情形,一般采用专业的工具,实现自动化的收集。
图:数据收集方式
1.表单录入
表单录入不是专门的数据收集,其实质是应用的数据输入,完成了数据的收集。比如App的用户注册过程。表单录入也有工具辅助,商超的条码扫描仪器,能够加快录入速度。
2.关系型数据库
数据库数据收集,可以利用上面提到的CDC工具,检测数据库表的变化,将记录的新增/删除/更新等变化,结合ETL框架,实现数据库的实时收集。在实践中,也有定期将数据库导出,通过文件传输到目的端,或者刻盘(对隔离网络)再导入的情况。
3.API接口
源数据平台提供了API接口,可以通过API接口,在数据源端读取数据,然后再目的端写入数据,完成数据ETL过程。
4.日志类文件
收集日志类文件作为数据源,常见的有,UNIX/Linux主机的Syslog日志,移动应用和物联网设备(如智能水表等)产生的日志等。日志文件包含的数据可以通过网络协议发出来,形成数据流,在通过ETL数据提取转换和导入,收集到后台的数据库或者数据平台中。
三、数据收集安全风险
数据收集过程,伴随着数据的传输,数据的提供,数据导出等,这些数据处理活动存在着安全风险。
1.网络传输安全
首先是网络层面收集数据,从源端到目的端存在明文传输的风险。解决办法有两种,其一,可以在加密网络中传输,类似Kafka的收据收集框架,可以配置数据读取和传输采用加密通道[5]。其二,可以对源数据加密后,通过明文网络传输,到达目的端,解密后在导入。
2.数据导出安全
数据导出后生成文件,会保留在主机上,通过移动介质拷贝,刻盘导出,数据文件是纯文本,存在数据泄露的风险。可以对文件加密,并且数据收集完毕后对导出的数据文件彻底删除。
3.API安全
API接口读取数据,如果使用 HTTP 协议,存在被攻击者窃听的风险。此外,API接口,还有认证和授权,限流等其他安全风险和安全措施。我们这里只关注数据收集安全风险,采用HTTS协议能够消除数据传输的安全风险。
4.表单录入安全
表单录入情形和API安全类似,客户端和应用系统后之间,存在网络协议明文传输风险。采用加密网络协议避免数据传输的风险。
四、总结
数据收集是数据处理的初始活动,有多种技术方式实现数据的收集。数据收集过程存在安全风险,一方面来自数据收集过程中衍生的数据传输安全,另一方面数据导出后处理不当导致的泄漏风险。对组织而言,在数据收集的过程中,需要识别数据收集的具体方式和安全风险,采用技术措施来抑制和消除安全风险,是数据安全治理和保护的重要一环。
参考资料:
[1]变更数据捕获
https://www.redhat.com/zh/topics/integration/what-is-change-data-capture
[2]百度百科-ETL解释
https://baike.baidu.com/item/ETL/1251949?fr=aladdin
[3]微软CDC工具
[4]Kafka Connect数据收集介绍
https://developer.confluent.io/learn-kafka/kafka-connect/intro/
[5]配置TLS加密Kafka数据传输
https://docs.confluent.io/platform/current/kafka/encryption.html#c3
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。