草庐IT

变被动为主动!构建全面OpSec行动安全计划的八个最佳实践

安全牛 2023-03-28 原文
网络攻击者正变得越来越聪明,他们的攻击行为也越来越隐蔽。在网络攻防的博弈中,击败攻击者的唯一有效方法,就是像攻击者一样思考,将安全防护措施领先于潜在的网络攻击行为和漏洞利用,从被动事件响应转化为主动威胁防御。在此背景下,企业组织构建全面的行动安全(Operational Security,OpSec)防护计划至关重要。

什么是OPSEC

OpSec是一种研究潜在攻击行为的主动安全防护技术,最初是为军事组织开发的。根据美国国家安全局(NSA)解密的一份文件“美国 OpSec 计划的起源与发展”披露:在越南战争中,美国开始注重于从敌方角度审视其自身的安全态势,判断敌方可能的进攻意图和能力,并发现敌方是如何获取美军的计划和情报信息,以此来制定最终的反制策略。这种“让敌人无法了解我们的优势和弱点”的能力被称为行动安全即OpSec。

2023年1月,美国国家情报局(ODNI)和国家反情报与安全中心(NCSC)首次对“OpSec”进行了定义:OpSec是一个系统化的过程,旨在将威胁防护措施前置,更早识别和保护敏感和关键信息, 并消除对手获取这些信息的能力。由此可以看出,不论是在战时还是平时,掌握“信息优势”都是决定博弈成败的关键所在。借助全面的OpSec安全计划,企业安全运营团队将能够在攻击者实际利用系统错误或漏洞之前识别并修复它们,从而掌握主动。

 根据ODNI和NCSC给出的定义,OpSec不是有明确规范的行为准则,而是一个实现主动安全防护能力的流程。遵循这个流程可以让企业获得更大的安全性。一个全面的OpSec计划需要包含以下关键要素:

  • 识别敏感数据和信息企业首先要明确哪些是需要保护的敏感信息,他们存储在哪里,在哪些服务器上有违规存在的敏感信息。通常企业的客户信息、知识产权、员工隐私数据、财务报表和市场研究数据都是需要严格保护的敏感信息。
  • 识别潜在的攻击媒介识别潜在的攻击媒介属于威胁情报的范畴,主要是根据要保护的数据信息,确定潜在的威胁形式。在防止关键信息数据泄露之前,企业应该知道目前的薄弱环节在哪里,比如:哪些类型的数据对攻击者有吸引力?是否有第三方可以进入组织系统?
  • 审查安全弱点和漏洞企业在掌握自己可能面临的攻击面之后,就需要针对每个攻击风险级别采取合适的保护措施准备,对存在的问题进行修复。企业需要对现有的安全基础设施进行客观评估,并确定各安全工具是否可以正常发挥作用。
  • 评估漏洞的风险级别当企业发现已存在的安全风险和漏洞后,接下来就是对其可能产生的影响和后果进行评估,并说明这些漏洞被利用的后果。哪些漏洞的风险最高?发生入侵的可能性有多大?攻击会造成多大损失?风险必须根据其严重程度和影响进行排序。
  • 实施缓解和修复计划实施OpSec的根本目的,是为了降低企业的安全风险。因此在发现潜在的风险漏洞并评估优先级后,就要采取对应的修复措施。需要特别说明的是,风险是在不断的变化中,并没有100%的安全,安全运营团队需要在安全投入和防护效果之间实现动态的平衡。

OpSec计划的最佳实践

OpSec计划旨在建立防御潜在威胁的第一道防线,因此需要企业多个部门的密切配合才能发挥最大的作用。如果企业准备构建全面的OpSec防护计划,可以参考以下8个最佳实践经验:

01精确的系统运行管理 

定期进行应用系统版本更新是保持系统平稳运行的必要条件,但它们也可能成为攻击利用的载体。为了保护系统运行安全,必须实施精确的系统版本管理流程,包括强制记录、变更控制、持续监视和定期审核。

02选择合适的服务商

现代企业需要通过第三方供应商来提供一系列服务,以改善客户和内部业务体验。然而,第三方服务商也是重大风险的来源。如果合作伙伴不能与企业保持一致的网络安全价值观,那么就应该选择一个新的服务商了!事实上,如果第三方服务商未能满足安全法规的要求导致违规行为或风险事件产生,企业需要为此负责。

03限制对网络和设备的访问

不是任何人都可以访问企业的网络和业务系统。只有经过批准并得到验证的设备才能连接到业务网络。企业应该设置警报机制,以防未经授权的设备非法连接到网络系统,因为这可能对敏感业务数据构成威胁。

04遵循最小特权原则

实施包含多因素身份验证(MFA)和密码管理的零信任策略可以帮助企业阻止未经授权的用户。同时,企业应该将员工权限限制在“工作必需”的最低基础上,这样可以最大限度地防止内部威胁,并降低因凭证窃取而导致严重数据泄露的可能性。

05对管理权力的制衡 

此举是为了企业安全而实施的“制衡”手段。双重控制(dual control)可以提供更有效的安全性覆盖,而不会将所有责任放在某一个用户或部门。在实际应用中,企业应该是将业务部门的权限与安全团队的权限进行区分,并互相牵制、平衡,防止内部恶意攻击行为的出现。

06利用自动化技术 

现代企业面临的一个重大威胁就是人为错误。通过自动化技术,可以将繁琐、重复的人工任务交给机器去完成,这样可以帮助组织减少人为失误,降低数据泄露或其他安全事件的可能性。

07制定现实可行的政策

如果企业制定的安全政策超出安全运营部门能够实现的范围,那么在内部审计时,您就会发现自己永远处于落后局面。为了保障OpSec计划能够真正落地,企业应该编写具有挑战性但可又实现的安全制度和流程。

08事件响应和灾难恢复优先 

没有100%的安全,即使是最成功的OpSec计划,在某些时候也会存在安全问题。因此,企业应该制定详细的事件响应和灾难恢复计划,这样可以大大降低安全事件发生后造成的影响。当企业了解如何应对威胁,并如何减轻损失时,将帮助企业更好地开启OpSec之旅。

参考链接:​​https://www.tripwire.com/state-of-security/operational-security-best-practices-create-comprehensive-opsec-program​

有关变被动为主动!构建全面OpSec行动安全计划的八个最佳实践的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. 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

  3. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  4. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. ruby - 在 Ruby 中构建长字符串的简洁方法 - 2

    在编写Ruby(客户端脚本)时,我看到了三种构建更长字符串的方法,包括行尾,所有这些对我来说“闻起来”有点难看。有没有更干净、更好的方法?变量递增。ifrender_quote?quote="NowthatthereistheTec-9,acrappyspraygunfromSouthMiami."quote+="ThisgunisadvertisedasthemostpopularguninAmericancrime.Doyoubelievethatshit?"quote+="Itactuallysaysthatinthelittlebookthatcomeswithit:themo

  7. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  8. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  9. ruby - 使用 rbenv 和 ruby​​-build 构建 ruby​​ 失败,出现 undefined symbol : SSLv2_method - 2

    我正在尝试在配备ARMv7处理器的SynologyDS215j上安装ruby​​2.2.4或2.3.0。我用了optware-ng安装gcc、make、openssl、openssl-dev和zlib。我根据README中的说明安装了rbenv(版本1.0.0-19-g29b4da7)和ruby​​-build插件。.这些是随optware-ng安装的软件包及其版本binutils-2.25.1-1gcc-5.3.0-6gconv-modules-2.21-3glibc-opt-2.21-4libc-dev-2.21-1libgmp-6.0.0a-1libmpc-1.0.2-1libm

  10. ruby-on-rails - Rails 中同一个类的多个关联的最佳实践? - 2

    我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来

随机推荐