草庐IT

简析机密蔓延的危害与防护建议

安全牛 2023-03-28 原文
根据GitGuardian最新发布的《2022年机密蔓延(secrets spraw)态势研究》报告数据显示,与2021年相比,2022年在GitHub公开提交的软件代码中,发现了超过1000万条新增加的机密信息;同时,在软件程序中检测到的硬编码机密数量同比增加了67%,其中,账号信息、高熵机密和密码是暴露最多的机密类型。

这种不断加剧的机密蔓延态势不仅严重威胁了企业软件供应链安全,同时,还会引发其他一系列严重的安全问题,包括数据窃取、勒索攻击等。而更糟糕的是,机密蔓延还导致企业既不能事前防御机密泄露,也难以事后快速进行问题修复。

机密蔓延的危害

在网络安全环境中,机密泛指可以用来管理和访问信息化系统的各种敏感信息,如密码、用户名、API令牌、数字证书等。这些信息仅供特定人员在特定场景中使用,而且应该被严格保密。

机密蔓延就是指将这些“机密”信息以不安全形式存放在许多不合规的地方。例如,将生产环境的数据库用户名、密码以明文形式编码在配置文件中,或是保存在生产环境中某个开放性配置管理服务中;或者将某个云服务调用所用的令牌硬编码在程序代码里,并上传到公共的Github代码仓库中等。久而久之,组织即不知道哪些系统保存了机密,也不知道哪些机密被哪些系统和人获取。即便是发现某个机密信息被盗用,也无法回溯该机密是如何被窃取。

一旦出现较严重的机密蔓延情况,企业组织会在很多方面面临潜在的安全威胁。

01数据泄露

在多个位置上分布敏感数据意味着企业必须保护好每个位置的安全,否则就会面临数据泄露的风险。而当企业需要处理分布在不同区域的多个数据集时,问题会变得更具挑战性,除非企业有无限的资源和专业人员。

02缺乏控制

机密蔓延意味着企业将敏感信息存储在多个位置,能够访问这些区域的每个人,都有可能获取到相关的数据。在这种情况下,即使其他用户没有恶意目的,他们也可能在无意中暴露或破坏数据。缺乏对机密信息访问的有效控制属于高危风险,会让企业陷入严重的安全隐患中。

03数据不一致

当企业处理多个数据集时,数据一致性是关键;否则,处理结果将会出现偏差。由于企业将机密信息分布在多个不同的位置,就会导致数据处理不一致的情况出现。例如,当企业在四个不同的位置存储了API令牌,工作人员可能会因为工作需要在某一个位置对令牌进行更改,而忘记同步更改其它三个位置的令牌。当其他人员需要再次使用它们时,就会遇到故障和偏差。

04降低可访问性

可访问性直接影响企业数字化工作的质量和效果。快速检索所需的信息可以帮助员工提高工作效率。但是,在机密蔓延的情况下,业务人员往往不知道去哪里寻找所需要的机密信息。在每次使用前,员工都可能需要耗费很多时间去寻找所需的信息。

防范机密蔓延的建议

鉴于机密蔓延对数字化发展的诸多危害,企业组织应该采取积极措施应对和预防:

01采用集中式存储系统

将敏感信息存储于“孤岛”中弊大于利。防止机密蔓延的基础要求就是采用一个集中式存储系统,并在这个系统中集中统一存储所有的机密。例如,Amazon Web Services(AWS)机密管理器就是一个很好的选择。集中式存储系统可以帮助企业在一个地方组织和保护敏感数据。企业需要了解或使用任何机密信息,也能清楚地知道去哪里找,从而让业务开展变得更加高效。

02对机密信息进行加密

无论机密信息存放在哪里,对它进行加密可以为其赋予安全性,使其不易受到损害。一个有效的机密信息管理工具可以提供安全加密服务,将机密信息放在一个安全的集中式存储系统中是一个非常有效的安全措施。

03部署机密扫描工具

机密蔓延并非都是有意为之。企业可能并不希望将敏感信息到处乱放,但往往还是会不可避免地发生了。当一条机密信息已经存在于您的系统中,但如果企业看不到它,就会去创建另一个副本。防止机密蔓延的有效方法是部署一个机密扫描工具,以检测企业的机密信息何时被有意或无意地复制。

04创建强有力的访问控制

要维护敏感数据的隐私,必须使用有效的访问控制来控制对该数据的访问。在“需要知道(need-to-know)”的基础上授予用户访问权限。如果他们没有业务使用需求,则限制他们进入这些领域。即使是对开发人员,也要将他们限制在工作所需的领域内,这样他们就不能轻易接触到企业的所有机密信息。

参考链接:

​https://www.makeuseof.com/what-is-secret-sprawl/​

​https://www.csoonline.com/article/3689892/hard-coded-secrets-up-67-as-secrets-sprawl-threatens-software-supply-chain.html​

有关简析机密蔓延的危害与防护建议的更多相关文章

  1. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  2. ruby-on-rails - 我需要从 HTML 转到 markdown,有什么建议吗? - 2

    我正在使用Maruku,将Markdown(超集)转换为HTML,你知道我该怎么做才能从HTML转换为Markdown吗? 最佳答案 Google发现了一个名为reverse_markdown的ruby​​脚本.它似乎可以满足您的需求。 关于ruby-on-rails-我需要从HTML转到markdown,有什么建议吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/175162

  3. ruby-on-rails - 仍然建议使用 Minitest 在 Rails 4 中测试路由吗? - 2

    在Rails3中,当在MiniTest中编写功能测试时,我养成了将路由测试与Controller操作分开测试的习惯。我从RailsGuideonTesting-Section9:TestingRoutes得到了这个想法.然而,在将我的应用程序升级到Rails4之后,我注意到如果我不为get|patch|post|delete方法提供一组适当的参数。例如,给定路线:#config/routes.rbnamespace"api"donamespace"v2",defaults:{format::json}doresources:usersdoresources:postsdoresourc

  4. 【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了.... - 2

    谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师,高薪难聘。这两者其实并不矛盾。手工测试工作难找也确实是目前真实的行情早期从事功能测试的手工测试人员,在测试方面大多采用手动、人工执行的方式查找软件缺陷和BUG,用行业术语来描述就是“点点点”。这种测试方式耗费大量人力和资源,工作效率却十分低下。在早期软件复杂和迭代程度不高的情况下,有资本的企业会“供养”一批这样的手工测试人员。但对测试员本身来讲,毫无技术难度的工作,和几乎没有保障的薪资水平,直

  5. 0基础学习软件测试有哪些建议 - 2

    其实现在基础的资料和视频到处都是,就是看你有没有认真的去找学习资源了,去哪里学习都是要看你个人靠谱不靠谱,再好的教程和老师,你自己学习不进去也是白搭在正式选择之前,大可以在各种学习网站里面找找学习资源先自己学习一下为什么选择学软件测试?同学们理由众多!大概分这几类:①不受开发语言、行业产品变化限制;②入门更简单,对零基础、女生都友好;③软件项目都需要测试人员,职业生涯稳;④学习周期短,但薪资并不低。要想“肩扛”一条线?需掌握三大技能:技能1:掌握测试流程,熟悉系统框架能提前与开发人员一起制定测试计划,通过测试左移,推动代码评审,代码审计,单元测试,自动化冒烟测试,来保证研发阶段的质量。技能2:

  6. ruby-on-rails - rails 和重构,针对 vim 用户的建议工具和技术? - 2

    作为一个相当新的Rails开发人员,上周我第一次尝到了重构的滋味,我不得不重命名Controller和模型以更好地反射(reflect)我们正在使用的领域。我使用.NET多年,并认为Resharper之类的工具很容易重命名类。我想知道Rails界的人们如何缓解重构问题?我最感兴趣的是那些主要使用vim(或IDE以外的任何东西)的人。我最感兴趣的是:特定于rails的有效vim插件可能有助于流程内置的vim工具也可能有助于该过程我花了将近两个小时进行重构并希望提高效率,因此Rails专家的任何建议都会很棒。干杯。注意,我意识到这个问题类似于Whattoolsareavailablefor

  7. 科研中论文常见数学符号及其含义(科研必备,建议收藏) - 2

    论文常见数学符号及其含义(科研必备)返回论文和资料目录数学符号在数学领域是非常重要的。在论文中,使用数学符号可以使得论文更加简洁明了,同时也能够准确地描述各种概念和理论。在本篇博客中,我将介绍一些常见的数学符号及其含义(省去特别简单的符号),希望能够帮助读者更好地理解数学论文。高等数学∑i=1nxi\sum_{i=1}^nx_i∑i=1n​xi​(求和符号):表示将x1,x2,…,xnx_1,x_2,\dots,x_nx1​,x2​,…,xn​中的所有数相加,例如∑i=1nxi\sum_{i=1}^nx_i∑i=1n​xi​表示将x1,x2,…,xnx_1,x_2,\dots,x_nx1​,x

  8. QT 设计一个串口调试工具,用一个工程就能轻松解决,外加虚拟串口工具模拟调试,在日常工作中可类比模块间通信,非常详细建议收藏 - 2

    QT串口调试工具第一节虚拟串口工具安装第二节QT创建一个基于QWidget的项目第三节UI界面设计第三节项目头文件widget.h第四节项目实现文件widget.cpp第五节main函数第六节编译结果重点第七节使用QT打包程序,不安装QT的电脑可使用第一节虚拟串口工具安装-----------------------------------------下载所需工具---------------------------------------------------------------------链接:https://pan.baidu.com/s/1QkT36S4EnH2HEAhZ1TZ8

  9. ruby-on-rails - 用于测试服务对象的 Rspec 建议 - 2

    我正在为涉及多个模型的服务对象编写Rspec测试,但我觉得我的测试过于依赖方法的内部结构,因此意义不大。这是一个例子:classMealServicerdefself.serve_meal(meal,customer)meal.update_attributes(status:"served",customer_id:customer.id)order=customer.orderOrderServicer.add_meal_to_order(meal,order)CRM.update_customer_record(customer)//externalAPIcallendend我想

  10. ruby - Emacs/Ruby 设置建议 - 2

    到目前为止,我对我的Clojure/Emacs设置非常满意,但在使用Ruby时却无法接近这种体验。我尝试了增强型ruby​​模式(没有语法高亮显示)和robe(一旦控制台启动就失败并出现语法错误)。如果有任何提示可以找到有关如何为Ruby配置Emacs的正确指南,我将不胜感激。顺便说一句:我不需要任何Rails支持。只是简单的Ruby支持。 最佳答案 我发现以下设置非常好:来自Emacs24.4或更高版本的ruby​​-mode-与Emacs24.3中的相比有了很大的改进inf-ruby-一种在Emacs中运行irb/pry的方法s

随机推荐