人工智能时代的大数据安全

发表时间:2021/6/10   来源:《基层建设》2021年第6期   作者:李诗雨
[导读] 摘要:越来越多的组织正在收集越来越多的数据来构建复杂的数据分析、机器学习和人工智能模型。
        西南科技大学城市学院  四川省绵阳市  621000
        摘要:越来越多的组织正在收集越来越多的数据来构建复杂的数据分析、机器学习和人工智能模型。此外,构建此类模型所需的数据可能是非结构化的(例如,文本、图像和视频)。因此,这些数据可以存储在不同的数据管理系统中,从关系数据库到为存储非结构化数据而定制的较新NoSQL数据库。此外,数据科学家越来越多地使用诸如Python、R等编程语言来处理使用许多现有库的数据。在某些情况下,开发的代码将由NoSQL系统在存储的数据上自动执行。这些发展表明,需要一种数据安全和隐私解决方案,该解决方案能够统一保护存储在许多不同数据管理系统中的数据,并强制执行安全策略,即使敏感数据是使用数据科学家提交的复杂程序处理的。在本文中,介绍了构建这样一个保护大数据的解决方案的设想。
        1引言
        随着组织收集的数据越来越多,管理这一大数据成为一个重要的挑战。为了解决一些大的数据管理挑战,NoSQL数据库成为一个重要工具。NoSQL(不仅是SQL)是一种数据库机制,它是为存储、分析和访问大量结构化和非结构化数据(例如文本、视频、图像等)而开发的数据库机制。NoSQL允许无模式数据存储,而关系数据库系统不可能存储这些数据。使用NoSQL数据库的好处包括高可扩展性、更简单的设计和更高的可用性,以及更精确的控制。由于这些优点,大量的NoSQL数据库在业界得到了发展。在这些NoSQL数据库中,Hadoop和相关项目(如HBASE、HIVE等)以及Spark因其灵活性和集成能力而成为一种流行的替代方案,这使得它们能够即时构建流行的机器学习模型[1]。
        此外,数据科学家正越来越多地开发新的人工智能模型,以利用存储的大数据创造价值。在许多情况下,为了建立这样的人工智能模型,数据科学家可能会开发一个用某种编程语言(如python)编写的自定义代码,并直接将开发的代码提交给NoSQL数据库系统(如apache spark)。然后,提交的代码将由NoSQL系统执行,以构建复杂的AI模型。因此,与使用简单查询语言访问数据的SQL数据库不同,数据安全和隐私解决方案需要能够支持跨多个数据管理系统执行任意代码。
        本文提出的SECUREDL系统使企业能够保护存储在NoSQL和SQL数据库(如Hadoop、Spark、HBase、Hive、关系数据库等)中的敏感数据。SECUREDL是一个建立在现有NoSQL/SQL数据库之上的数据访问代理,用于实施广泛的访问控制、隐私和治理策略。对于存储在NoSQL/SQL数据库中的大数据,SECUREDL允许组织1)实施控制敏感数据访问的策略,2)自动保存必要的审核日志以实现数据治理和法规遵从性,3)根据数据敏感性和AI模型需要动态清理和编校敏感数据,4)检测潜在的未经授权或异常访问敏感数据,5)根据数据敏感度和数据类型自动创建基于属性的访问控制策略。与可用于保护大数据的现有技术和工具相比,SECUREDL在跨许多不同数据管理系统的集成框架中提供了高级数据清理、日志记录、入侵检测、访问控制、策略生成和管理功能。
        随着大数据成为数字经济的新血液,本文认为实现SECUREDL愿景对于解决新兴的难题至关重要,因为这些问题对于安全管理许多AI应用程序所需的大数据至关重要。
        2SECUREDL功能概述
        为了保护存储在NoSQL数据库和数据湖中的敏感数据,SECUREDL拦截每个用户的数据访问/分析请求。更具体地说,通过利用底层数据的数据敏感性,首先使用入侵检测系统分析提交的请求R。不过,正如本文在下面更详细地讨论的那样,只有在提交的请求是使用查询语言(如HiveQL1or SQL)形成的情况下,才可能对提交的作业进行静态分析。如果使用这样的查询语言,可以估计被访问的敏感数据的数量,并使用这些估计应用各种异常检测/入侵检测机制。此外,如果使用特定的查询语言(如HiveQL),系统可以自动重新编写查询,以便自动执行任何策略。例如,可以在HiveQL查询中插入一个用户定义的函数,该函数对给定的社会保险号(ssn)的前5位数字进行编校。


        此外,对于用户提交任意程序的设置,查询重写是不可能的。在Hadoop和Spark中,用户可以提交任意java、python、scala代码进行数据分析,例如构建机器学习模型。在这种情况下,甚至可能不知道提交的作业将通过查看提交的作业来提前尝试访问的数据集。不过,在本例中,提交的作业被转换为java字节码,最终在集群2的节点上运行的java虚拟机上执行。使用面向方面的编程技术[2],我们将策略执行和入侵检测相关的代码注入到提交的用户作业中。现在,修改后的用户作业将使用NoSQL数据库的计算层执行。例如,在Spark的情况下,修改后的作业将由Spark执行,注入的策略代码将确定在运行时访问的数据源,并根据需要提取缓存的策略。此外,注入代码收集的信息可以用于细粒度日志生成和动态入侵检测。
        3SECUREDL体系结构概述
        本文的SECUREDL系统构建在Hadoop和Spark等现有NoSQL/SQL数据库的基础上,设计成一个数据访问代理,用户应用程序提交的每个请求都被我们的系统自动捕获。这些请求被记录、分析,然后修改(如果需要)以符合安全和隐私策略,并提交到底层NoSQL/SQL数据库。从用户的角度来看,SECUREDL是完全透明的,不需要对用户的代码(例如,数据科学家提交的python代码)和/或底层NoSQL/SQL数据库系统进行任何更改。因此,它可以部署在现有的NoSQL/SQL数据库上。SECUREDL将在给定应用程序访问数据之前强制安全官员定义的策略。为了执行策略,我们使用面向方面的编程技术[2]拦截应用程序数据访问请求。此外,通过利用使用过去访问历史构建的机器学习模型,SECUREDL可以确定当前请求与过去的请求是否有实质性差异。这可用于检测潜在的网络。
        4系统模型
        本文假设所有请求都通过SECUREDL系统传递,攻击者不能通过其他方式直接访问数据源。由于作业可能包含任意代码和数据,恶意用户可能会试图放置恶意代码以绕过注入的策略。为了应对这一挑战,文献中有许多研究(如[3])限制了不受信任的代码和程序。在本文的例子中,我们利用这些现有的技术(例如,Java安全沙盒)来防止除了底层NoSQL数据库指定的数据访问接口之外的任何对数据的访问。此外,将在java虚拟机级别设置限制,以防止提交的作业使用其他潜在的恶意库(如反射)。
        5结论
        本文提供了一个数据安全和隐私工具的概述,该工具旨在提供数据安全和法规遵从性支持。本文所提出的工具是专门为使用存储在不同NoSQL和SQL数据库中的现有结构化和非结构化数据构建复杂AI模型的场景提供数据安全的。
        参考文献
        [1]D.Harris,“Survey shows huge popularity spikefor apache spark,” http://fortune.com/2015/09/25/apache-spark-survey/, 2015.
        [2]G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda,C. Lopes, J. marc Loingtier, and J. Irwin, “Aspect-orientedprogramming,” in ECOOP. SpringerVerlag, 1997.
        [3]M. Sun, G. Tan, J. Siefers, B. Zeng, and G. Morrisett,“Bringing java’s wild native world under control,” ACMTrans. Inf. Syst. Secur . 2013.
        作者简介
        李诗雨 ,2000出生,汉,研究方向:数据分析及数据恢复。
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: