草庐IT

拒绝“内鬼式”数据泄露,安全内控如何构建?

极盾科技 2024-06-04 原文

近年来,数据泄露的案例屡见不鲜,产生的危害举不胜举。根据Identify Theft Research Center的数据显示,与2021年同期相比,2022年第一季度实际报告的数据泄露事件数量增加了14%,达到404起。国内,因数据泄露而受到法律制裁的案件也层出不穷。

可以说,对于一些重要基础行业系统和一些信息化程度较高的大中型企业来说,内网安全和数据内控已经成为其信息安全建设的重中之重。

近日,【网安新视界】第二季开讲,极盾科技解决方案负责人龚磊从数据安全内控的现状及挑战出发,分享了数据安全内控体系的构建思路以及实战案例。

企业数据安全内控现状及挑战

数据安全内控的重要性已经毋庸置疑,那么现在企业的数据安全处于怎样的状态呢?从数据的全生命周期和数据的空间流动两个视角来进行分析。

数据的全生命周期视角:

  • 数据本身防护角度:数据本身分为动态和静态,绝大部分风险来源于数据动态流动使用过程中。
  • 暴露面角度:数据在使用过程中最为复杂,暴露面最大,风险相对也最高。
  • 建设基础层面:数据使用和共享保护措施薄弱,其余部分相对建设难度低,基础好。

数据的空间流动视角:

从空间视角,围绕数据的整个流转过程,数据安全防护需要兼顾终端域、应用域、存储域、硬件域以及其间流动传输过程的安全性。

由于应用域涉及大量的系统及场景,当前市场在应用域普遍缺乏好的解决方案。

根据数据安全的现状,企业的数据安全内控建设还面临一些困难与挑战。

1)能力分散,不成体系:当前数据安全的能力相对分散,都是基于单个域内单个场景的单点能力建设,不注重体系规划,无法形成统一管理和深度的关联分析。

2)成本高,路径漫长:数据安全内控建设涉及数据资产发现及梳理、行为采集、场景化监控分析及响应控制等一整套流程体系,每一个环节都需要大量人力物力的投入,成本高周期长。

3)效果难以保证:安全内控的本质是达到实际有效的场景化监控效果,但是受限于场景化经验以及数据分析能力,往往建设效果达不到预期,无法真正准确识别内部风险。

4)安全与业务的平衡:安全建设需要考虑对正常业务运营的影响,避免带来额外成本和大幅提升业务复杂度。传统的方案往往需要大量业务系统改造,对接成本高且影响正常业务系统开发维护。

数据安全的本质还是为了业务服务,安全的使用数据。面对当下数据安全内控建设的极大挑战,作为一家新兴的网络安全公司-极盾科技是如何应对的呢?

数据安全内控体系建设路径

首先,在数据安全内控建设中,考虑到企业一方面不希望大幅地影响整个业务的正常运行,同时也不希望投入大量的改造成本、开发成本去配合安全的内控建设。

为了平衡安全、成本和业务的多重需求,极盾科技根据数据安全治理的建设路径,建设性地提出了数据安全内控体系的建设路径。数据安全治理体系的建设路径分为7步:

1 企业现状调研包括企业架构、网络拓扑、安全管理现状、业务流程、数据流程等。

2 数据资产梳理通过业务调研、自动扫描发现数据资产,制定数据分类分级标准,同时对数据资产进行梳理和打标。

3 安全风险评估:围绕数据生命周期进行风险评估,根据各项法律法规对标分析。

4 安全体系设计:基于风险评估、组织架构、业务流程、数据流程,设计数据安全管理及技术体系,并建立管理体系。

5 技术工具实施:基于分类分级、风险评估结果,建设数据安全技术工具,敏感数据识别、脱敏加密工具、访问控制、日志审计等。

6 快速试点验证:通过试点运行,及时发现可能存在的管理漏洞和技术缺陷,并通过定期审计发现可能存在的运营不足。

7 持续优化改进:设立运营指标、定期审计、持续优化改进,反哺管理、技术、运营体系,不断螺旋式提升数据安全水位。

数据安全法中明确提出企业必须建立健全数据安全治理体系,根据数据安全治理的建设路径,数据安全内控建设的“四步走”战略应运而生

Step1 资产识别及梳理:风险客体/对象为企业数据资产,首先通过敏感数据识别、数据分类分级等进行资产梳理及打标,为后续安全防护提供依据。

Step2 行为采集:风险主体来自于内部员工,通过收集各个安全域内及域间动态数据使用行为及静态人员(部门、岗位、在职状态)信息进行后续安全分析。

Step3 安全分析:基于用户行为及操作数据的敏感程度,构建场景化实时监控模型,精准识别数据使用风险。

Step4 安全防御:基于安全风险分析的结果,灵活制定响应控制措施,联动内部告警处置工具,提升安全运营效率。

数据安全内控体系整体框架

其次,根据现状,数据安全的一个核心挑战就是不够体系化。那怎么样才能做到体系化呢?

在数据安全建设路径中,结合统一的策略管理、统一的资产管理、安全分析和应急响应能力,围绕数据生命周期构建的技术框架,构建出数据安全内控体系的整体框架。

数据安全内控实战案例

一切准备就绪,只是纸上谈兵没有任何意义。基于极盾科技自研的一款无感IT风险管控平台-极盾·觅踪,某大型企业和极盾科技合力打造了一套场景化的UEBA数据安全内控体系识别出了该企业客服系统中时间、地域、设备、内容、权限以及业务流程等类型的风险

下图为部分风险案例:

那么,这一切是如何实现的?

极盾·觅踪是极盾科技自研的无感IT风险管控平台,致力于通过分析企业内部人员业务操作行为,实时检测人员是否有异常、违规行为风险,进而发现是否存在敏感数据外流、泄露等安全风险。结合模块化的风险指标算法,构建企业内控策略模型(UEBA),有效降低、控制企业由内部人员造成的数据泄露风险。

基于极盾·觅踪的UEBA数据安全内控体系主要有四大模块:

第一阶段是安全设备的接入:直接采用该企业自有的DLP和DPM进行终端域层面的数据接入;通过极盾·觅踪引入的数据安全网关来实现应用层面流量的收集和系统层面操作行为的采集;数据库层面,可以对接数据库的操作日志;还有各个安全域的相关属性的行为信息。

第二阶段是智能数据安全风险识别:数据收集和标准化处理之后,构建完整的特征体系。基于构建的特征,采用策略管控和模型分析去识别各类场景下的安全风险。

第三阶段是响应模块:通过灵活的剧本编排、处置脚本设置实现针对各类负责安全场景的一系列安全响应动作。

第四阶段是识别效果层面的持续机制:基于策略和模型识别的风险作为样本,然后进行场景化的验证,包括一些场景坏样本的持续积累。之后进行特征的优化,包括模型的优化,进一步持续进行策略分析和模型的迭代,从而进一步提高整个风险的识别效率。

基于极盾·觅踪的UEBA数据安全内控体系能够成功落地关键在于UEBA的落地。UEBA就是用户实体行为分析,这个概念在安全行业已经有较长时间了,但是UEBA的落地是非常少的,落地成功的就更少了。 

UEBA的落地如果仅是基于单纯的专家策略规则肯定是完全不够的。极盾科技引入了一种机器学习的能力来落地真正的UEBA,主要是无监督分析的模型有监督的分析模型两大块能力。

无监督分析:假设全量人群在多纬空间上呈离散分布,构建全局空间。

⭐️ 在多个纬度偏离正常人群的人会成为空间中的异常点,需要重点关注。

  • ⭐️ 具有某种企图的非正常人员,往往行为上会有某种相似性,从而在空间上体现出某种聚集性。​​​​​​​
  • ⭐️ 无监督可以在不知道哪些是目标人群的背景下,通过发现异常点和异常聚集的人来识别可能的风险。

⭐️ 无监督不依赖目标人群样本,有助于识别传统规则未发现的风险。

有监督分析:假设目标人群必然具有某些特性,通过学习目标人群的特性找出跟已知目标人群相似的人,同时不断输入新的目标样本,不断学习。

⭐️ 构建多个纬度的监控特征,学习目标人群普遍具有或相关性高的典型特征,构建模型。

⭐️ 通过人工验证结果以及新的目标样本持续输入,优化重点监控的特征,从而持续更新模型,提升最终识别效果。

极盾科技期待帮助更多的企业建设数据安全内控体系,防止数据泄露,助力企业做好数据安全合规。

有关拒绝“内鬼式”数据泄露,安全内控如何构建?的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  3. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  4. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  5. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  6. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  7. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  8. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  9. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  10. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

随机推荐