安全模型和业务安全体系

2023-11-12

网络安全和业务安全

网络安全中,攻击者往往通过技术手段,以非正常的技术(XSS、Injection、Penestrating等),影响业务正常运行,窃取敏感数据。比如:某黑客通过SSRF进入内网,并在内网横向扩张,最终脱库成功。

业务安全中,黑灰产基于非正常的资源(IP、手机号、身份信息等),通过正常的产品流程,获取利益,影响业务正常运营。比如:黑灰产通过大量手机号注册新号,获取企业新户奖励,最终批量套现。

网络安全中,攻击者的意图多种多样:有挖漏洞卖钱的,有卖隐私数据赚钱的,有恶意报复的,也有纯粹炫技的。但对于业务安全,黑灰产的目的其实很直接,就是钱。

在这里插入图片描述

由于国外网络安全发展较早,且国外对于个人隐私的保护更加严苛,所以在传统网络安全这一领域上,国外一直领先于国内的整体水平。而对于业务安全,则是一个极具中国特色的安全发展方向,因为早期互联网烧钱式的推广营销,大大刺激了黑灰产的迅速发展。

这就引发了一个思考,在较为成熟的网络安全中,有没有什么知识,是可以运用到业务安全中,帮助业务安全的快速发展呢?在微博业务安全发展中,就尝试了运用安全模型的概念,来搭建业务安全整体的体系架构。

IPDRR模型简介

IPDRR是NIST提供的一个网络安全框架(cybersecurity framework),主要包含了五个部分:

  • Identify:评估风险。包括:确定业务优先级、风险识别、影响评估、资源优先级划分
  • Protect:保证业务连续性。在受到攻击时,限制其对业务产生的影响。主要包含在人为干预之前的自动化保护措施
  • Detect:发现攻击。在攻击产生时即时监测,同时监控业务和保护措施是否正常运行
  • Respond:响应和处理事件。具体程序依据事件的影响程度来进行抉择,主要包括:事件调查、评估损害、收集证据、报告事件和恢复系统
  • Recover:恢复系统和修复漏洞。将系统恢复至正常状态,同时找到事件的根本原因,并进行预防和修复

当然在各个部分中,又涵盖了企业在网络安全中需要关注的各种细节问题,来帮助企业快速搭建网络安全体系。
在这里插入图片描述
PS:顺带科普一下常见的安全标准:NIST、ISO、COBIT、ITIL、等保等。其中NIST是美国的国家级安全标准。ISO(著名的两万七系列)是国际性的,通用性更强。COBIT和ITIL都和ISO紧密联系,也是比较经典的安全标准。而国内也同样提出的等级保护这样的安全标准,当然,相对水一些。

这些安全标准之所以会提出安全框架的概念,就是因为,在网络安全中,企业所遇到的问题往往是相似的,所以能够总结出一套比较通用的框架来。有了安全框架之后,后续不论是对企业安全建设的指导,还是对于企业安全水平评估,都有了很好的标准。

而对于业务安全来说,因为业务的多样性,所以一定程度上很难总结出非常具体的安全框架。但是,在相对高一些的层次上来说,业务安全大的流程和思路往往是相似的。因此,可以使用安全模型对业务安全进行总结和指导,避免思维被局限(比如:风控系统解决所有业务安全问题),出现安全短板。

模块介绍与实践

Identify

在业务安全中,Identify部分的主要工作是:定义业务的安全需求。对于大部分业务来说,其面临的安全问题一般都比较直接,比如:投票榜单类业务,就是怕被刷;拉新促活业务,就是怕被薅等。也就是说,尽管手段多种多样,但是黑灰产的目的往往很单一。

在这种情况下,就必须首先和业务方确定,他们对于业务的风险能够接受多少,比如下表所示:有的业务方可能涉及直接的资金投入,不允许黑灰产的存在;有的业务则只是排名上的影响,被刷一定程度上也能带来流量。这些安全需求的确定,能够帮助安全部门来作出决策:这个业务需要什么样的安全服务,需要投入多少精力到这个业务中去。

因素 业务A 业务B 业务C
业务KPI/防刷目的 拉新并提高新户留存 提高老户留存 提高业务公信力
被刷产生的影响/对刷量容忍度/准确度要求
被刷概率/黑产可能获利
目标用户 真人用户,非小号 高质量用户 真人用户,可以是小号
实时性要求
误伤影响

Protect

Protect强调的是,在人为介入之前,能够自动运行的防御机制,如网络安全中的防火墙、waf等。在业务安全中,更倾向于将其定义为产品机制上的安全防御。对于同一个业务场景,采取不同的安全机制,将会起到很大的差异。比如说,对于抽奖来说,给抽奖制定什么样的门槛。门槛越高,则用户体验越差,参与量越小。但随之而来的,黑灰产的成本也越高,被刷的概率也越小。那么,这就需要安全部门和业务部门共同协商制定,来把控这个安全门槛的尺度。

业务 低安全 中安全 高安全
抽奖参与条件 转发 关注并转发 关注30天以上转发
红包领取 无限制 需绑定身份证 需绑定支付宝,并识别人脸
优惠/折扣券 满10减10 满10减9.99 满10减9.99,3天内有效
转评赞、红包金额 无上限 公开上限100w 隐式上限

Detect

业务安全中,Detect和Protect的主要区别在于:Detect会基于数据进行分析,然后找出有问题的数据,并进行处理;而Protect并步区分正常和异常数据,只是普适性的提高成本,来加强安全。

因此,Detect就是所谓的风控系统。需要再次强调的是,风控系统是业务安全中很重要的一个部分,但仅仅依靠风控系统,是没有办法做好业务安全的。

关于风控系统,因为内容过多,在此就不展开来细谈了。可以参考公众号发布的风控相关文章进行了解。

Respond

严格意义上来说,Detect只负责进行识别,而具体的处理和响应,就需要放到Respond中来进行。当然,对于异常数据的处理方式,也就常规的几种:稍重一些的直接拦截,稍轻一些的则插入各种验证方法(图片、短信、滑块等)。

这里需要额外强调一点的是,在处理异常数据的过程中,一定要考虑到反馈入口的添加。比如拦截时,可能弹出一个操作异常的页面,但在页面中添加一个投诉反馈的入口。对于投诉的信息,不一定要全部处理,但一定要监控其波动水平。比如说:某天投诉的用户量突然上涨了好几倍,那么很可能就是风控出现误伤了,亦或是黑灰产发起了集中的攻击。不论是哪种情况,都需要及时人工介入来进行分析处理。

另外,如果资源足够的话,也可以组织专门的团队来负责应急响应处理的工作。当黑灰产发起攻击时,收集证据,发起溯源。当损失达到一定程度时,也可以通过法律途径,来进行打击。随着《网络安全法》的发布,目前网信办、网安、公安等,都越来越重视网络犯罪的打击。不要认为只有严重的资产损失才能报案,今年以内,微博以经对刷榜单、刷互动、甚至抓站的团体和公司发起了很多司法诉讼,也成功将很多黑灰产团伙关进了小黑屋。(蔡徐坤微博上亿转发量幕后推手 “星援”APP被端 嫌疑人在泉落网

Respond

Respond表示要对业务进行恢复操作。如果被薅羊毛了,就及时冻结资金,避免提现转出;如果被刷了,就撤销行为,还原真实数据;如果实在弥补不回来了,就可以寻求法律援助。

当然,分析根本原因,补足安全措施,不断提升企业的业务安全水平,才是安全人员需要持续投入精力去进行的。
在这里插入图片描述

总结和展望

基于微博业务安全的推动和发展进程,总结出了一些业务安全发展初期的建议,核心是:先求全,全面铺开;再求深,提升竞争力

  • Identify需要对业务方进行一定的安全教育,比如:“防刷”到底是防什么样形式的刷
  • Detect为推动的基石, 只要能够识别部分的攻击行为,就能够说服业务进行合作
  • 成功接入后,以Protect优先,避免因为未发现的漏洞,导致业务直接被打崩
  • 部分Protect逻辑,如果业务方不愿意额外开发,可以转接到风控引擎中来实现
  • Detect逻辑求稳为主,漏判可以想办法弥补,一旦误伤过量,可能被业务直接拉黑
  • 提供完善的Respond服务,人力成本较高,但业务满意度很高

业务安全是一个很大的概念,绝不是某几个工具或系统能够实现的。正如在网络安全中,乙方公司可以做出WAF、IDS/IPS、漏扫等专业的安全产品,但无法为企业建立完整的安全架构(也有提供安全建设的厂商,不过都是通过长期驻场,深度合作来实现的)。因此,业务安全中,乙方公司也许可以做出风控系统、验证码、人脸识别等安全产品,但业务安全的建设,还是需要依靠安全团队来进行规划和构建。

安全框架,对于企业业务安全发展,能起到很核心的作用。安全框架作为一个High Level的指导论,能够帮助安全团队快速理清工作目标,并发现安全短板,从而全面的提升企业的安全水平。另外,由于其通用性,安全框架也能够在多样的业务场景下,给予安全团队和业务部门指明方向,避免将过多的精力放在无用的地方,提高效率。

当然,因为业务安全的特色,安全框架无法像其再网络安全中一样,事无巨细的列举出企业应该做的每一项事情。因此,在细节上,如果更好的为业务提供安全服务,仍然需要安全团队结合业务特色,进行具体的决策。

最后,安全无“银弹”!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安全模型和业务安全体系 的相关文章

  • 64 位上的 ASLR 和内存布局:是否仅限于规范部分 (128 TiB)?

    当加载启用 ASLR 的 PIE 可执行文件时 Linux 是否会限制程序段到规范部分 最多 0000 7fff ffff ffff 的映射 还是会使用完整的较低部分 起始位 0 显然 Linux 不会给你的进程提供不可用的地址 这会导致它
  • PHP 中的 htmlspecialchars() 或 Ruby on Rails 中的 h() 是否足以防御所有 XSS(跨站脚本)攻击?

    Is htmlspcialchars user data 在 PHP 中或h user data Ruby on Rails 是否足以防御所有 XSS 跨站脚本 攻击 使用的编码或任何其他可能的考虑因素怎么样 Both htmlspecia
  • Firebase API 密钥限制不适用于 Android 应用程序包名称和 SHA1 指纹

    我们正在使用 Google Firebase 获取我们应用程序的 CrashLytics 数据 以及通过google services json文件被提出作为一个安全问题 因为应用程序 apk 文件可以被逆向工程来获取该文件 然后攻击者可以
  • 将旧密码转移到新的哈希算法?

    我正在将站点切换到 Rails 这是一个拥有超过 5 万用户的大型网站 问题是 现有的密码哈希方法是极其虚弱的 我有两个选择 1 切换到新算法 为每个人生成随机密码 然后通过电子邮件将这些密码发送给他们 并要求立即更改 2 实现新算法 但使
  • Ruby 的 OpenSSL::Random 种子是否足够?

    我对 Ruby 知之甚少 所以如果答案很明显 请原谅我 我注意到在http www ruby doc org stdlib 1 9 3 libdoc securerandom rdoc SecureRandom html http www
  • python:PyPi公共模块:如何确定是否安全?

    我已经完成了我的 python 3 应用程序 它正在使用 PyPi 的多个公共模块 然而 在我将其部署到我公司的企业 将处理客户的凭据并访问第 3 方 API 之前 我需要尽职调查确保它们既安全又安全 我必须执行哪些步骤 验证 PyPi 模
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 如何在 Web 表单中进行 Html.Encode

    我有一个 ASP NET Web 窗体应用程序 有一个带有文本框的页面 用户在其中输入搜索词用于查询数据库 我知道我需要防止 JavaScript 注入攻击 我该怎么做呢 在 MVC 中我会使用Html Encode Web 表单中似乎无法
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 什么是“声明式安全”?一般来说

    这个问题的答案 声明式安全 这是什么 https stackoverflow com questions 1210609并没有告诉我太多 坦率地说 根本没有告诉我任何事情 我看到一篇关于 NET 性能的博客 其中提到了这一点 您使用声明式安
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • “随机数”和“GUID”有什么区别?

    这个问题here https stackoverflow com questions 1066611 what are best practices for activation registration password reset li
  • Spring安全盐

    我试图在添加新用户 密码时添加盐 但文档似乎缺少如何执行此操作 这是一个基本示例
  • 开放、安全的 TCP 通道的安全期限有多长?

    我们有一个网络服务 充当我们的客户和其他服务之间的网关 客户端向第三方服务发送消息并从第三方服务接收随机消息 客户端的服务器通过安全套接字打开到我们的 Web 服务器的通道 以便接收传入的消息 并且不必每隔几分钟轮询一次服务器 我的问题是
  • OS 和 SYS 等容易混淆的 Python 类的命名背后的原因是什么?

    我注意到 SO 中与 Python 相关的大量问题都是关于人们搞乱 Sys 类 操作系统类和无类 例如 一个容易混淆的情况是 os open something open something and sys open something 我
  • 在 Windows 应用程序中保存用户凭据

    是否有在 NET Windows 应用程序中存储凭据的最佳实践方法 无论是内置 API 还是只是推荐的加密算法 与 Tortoise SVN Spotify 和 Skype 一样 Edit 我的目的是使用一个从其身份验证服务返回令牌的 We
  • PHP 中的 MD5 替代方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 MongoDB PHP 驱动程序时的安全问题

    我有在 MYSQL 上保护 sql 注入的经验 但是在使用 php 驱动程序的 MongoDB 上我应该注意什么 在大多数页面中 我通过 GET POST 和搜索 插入系统获取数据 我通过 UDID 其他字段进行搜索 并且可以插入任何字符串
  • 客户端和服务器之间的安全连接

    我正在开发一个服务器组件 它将为嵌入式客户端的请求提供服务 这也在我的控制之下 现在一切都是测试版 安全性是这样的 客户端通过 https 发送用户名 密码 服务器返回访问令牌 客户端使用自定义标头中的访问令牌通过 http 发出进一步请求
  • 为什么我应该使用 $_GET 和 $_POST 而不是 $_REQUEST? [复制]

    这个问题在这里已经有答案了 除此之外 REQUEST从 cookie 读取 有什么理由我应该使用 GET and POST代替 REQUEST 这样做的理论和实践理由是什么 当我只想让用户的某些数据返回某些数据时 我使用 REQUEST 当

随机推荐