序言
网络安全常常给人一种神秘感,甚至有很多从业者通过保持神秘来彰显自己的能力。人类天生对未知充满崇拜,就像魔术一样,眼前发生的惊奇让人感到震撼,直到揭开真相,才发现原来并没有想象中的那么复杂。
回想起自己的安全之路,如果说成长最快的一段经历,莫过于当年的乌云平台。那时,我目睹了许多优秀的白帽子,凭借奇思妙想把看似毫无关联的风险点串联起来,成功地实现了对各大企业内网的渗透,轻松访问各种敏感数据。那时,作为一个普通人,我也拥有了超能力,也能够在网络世界中的各大企业中随意穿梭。
安全是奢侈的,安全的经验是昂贵的,但安全不应该靠神秘维持。从行业角度来看,网络安全对于大部分企业来说是奢侈的,多数企业仅能够投入有限的资源进行建设。由于攻防不对等以及威胁对抗技术的持续升级,导致我们无法使用一套固有的方案去长期应对所有风险,因此获得业界最新的安全理念、安全架构、安全技术以及安全实践对于提升网络安全防御水位至关重要。然而,在当前这并不是很容易实现,虽然能看到大量的安全书籍、安全分享,但都是单点的、细节的以及不及时的。对于多数企业来说,核心安全技术很难被公开。但我认为安全不应该是封闭的,不应该依靠神秘感去打造高端形象,而应通过开放、互动交流以及快速的迭代优化来应对各种风险。只有如此,才能让我们立于不败之地。
为了自己去体系沉淀网络安全知识。如果你问我,工作这么多年在网络安全上沉淀了什么经验?我很难回答这个问题。当我意识到这个问题时,我希望做出一些改变,把我脑海中的知识变成网站知识库中的知识,我发现在这个过程中能够让我更加体系结构化、深入地去思考那些曾经模糊的知识,并通过自己的思维和语言去通俗易懂写出来,并持续不断补充完善每一个节点,保持内容始终最新可用,就像是作为一个园丁维护一个数字花园。这是一个长期的事情,也许这辈子我都会维护。哪怕没有人看也没关系,至少对于我来说是有用的,这就足够了。如果能帮到一些人,那就纯属超预期了。这就是本文初衷,希望能为网络安全行业做一点微小的贡献。
本文主要以支付宝为范本,介绍我们在打造高等级网络安全体系的经验和教训,内容涵盖所有网络安全范围。原始主体内容已经经过对外输出审批,无任何内部敏感信息。
希望通过这篇文章,能将自己多年来的经验凝聚成文字,帮助所有从事安全工作的人,无论是安全工程师,还是CISO。如果能在某个时刻启发你,或为你带来一些安全工作上的帮助,我将不胜荣幸。安全是个跨学科专业,对知识面要求极广,本文难免出现出现错误,肯请指正!
安全威胁与困境
历史的经验与教训
学习别人的踩的坑,是最高效和性价比最高的方式,没有之一。
- 美国最大信用评级企业 Equifax 遭入侵导致 1.47 亿条数据泄漏,一个由Nday漏洞应急响应遗漏导致全部高管引咎辞职以及巨额赔款。
- 开曼国家银行和信托公司遭入侵导致资金被盗,利用Nday漏洞入侵后潜伏数月模拟正常转账流程盗取资金。
- Cambridge Analytic 滥用 Facebook 接口采集超过 8700 万用户资料数据进行分析并出售。
- Aurora:攻击者通过使用多个可造成 RCE 的 0day 漏洞(Oracle Java/IT/Firefox),这些漏洞被植入在各类有特定访问人群的网站上(比如伊斯兰圣战),甚至通过广告精准投放给特定人群,实现访问特定网页即可感染。
- Operation Triangulation:收到一条包含附件的 iMessage 消息,无需任何交互即可触发 RCE,接着利用其它漏洞进行权限提升和维持,再下载功能齐全的恶意软件,之后删除附件和原始消息。
- SolarWinds:入侵某家大范围被使用的软件公司,控制其更新服务器,将更新包替换为存在后门的,超过 1800 个使用该软件的企业被控制。
- LockBit:通过钓鱼邮件以及 0day/Nday 漏洞(Fortinet/Citrix等)突破边界,进行感染以及自传播。通过窃取加密、威胁披露泄漏数据、DDoS等多重方式勒索赎金。
- 内鬼/入职:业内曾出现多起将公司内部查询敏感数据的权限对外出售以赚取利益,还不仅限于企业,在GA等政府单位也存在类似情况。同时还存在通过入职成为外包的方式,获取查询数据的权限,甚至将自己电脑作为跳板,直接将网络开放出去供外部访问。
- 查看更多历史真实发生的网络安全事件
正确认识真实安全事件背后攻击者的实力
Equation Group:方程式组织持续十多年建设网络攻击武器库,攻击并控制 30 多个国家数万名目标的设备。
- 各种形式社工钓鱼:通过邮件、聊天工具等各种形式,伪装成你信任的人,诱导你打开存在木马的链接或文件,通过对定向行业广撒网方式,控制大量电脑,并进一步潜伏。
- GrayFish(无落地执行文件):依赖 bootkit 启动,任何阶段执行失败都将启动自毁程序。运行在 Windows 注册表中,敏感信息储存在基于注册表实现的虚拟加密文件系统,并利用三方合法签名的驱动程序执行任意命令。
- Fanny/Stuxnet(连接U盘实现自我复制,实现感染和控制未联网设备):在U盘联入电脑后,通过在 .LNK 嵌入恶意代码,实现插入U盘即可自动感染所连接的电脑,即使自动运行功能关闭。同时将收集的数据存入U盘隐藏区域,一旦后续联入有互联网访问权限的电脑时,将自动上传数据到攻击者服务器,并接收新的指令,在下次插入指定机器时运行。
- GrayFish(磁盘擦除和格式化后还能存活):通过重写受感染的电脑硬盘驱动器固件,实现在你格式化或重装电脑操作系统后,还能保留恶意软件以及窃取敏感数据,并提供底层访问接口。
要知道,这是十年前的技术,管中窥豹能够知道我们所面对的对手实力。这样的对手还非常多,包括 APT28、APT29、APT32、APT33、APT34、APT37、APT1、APT3、APT10、APT41、Cobalt Group、Lazarus Group、Carbanak Group、Evil Group、The Shadow Brokers、REvil、DarkSide、Magecart、GCHQ/NCSC、Turla Group、TAO(Tailored Access Operations)、GRU(Shadworm Team)等
我们到底会面对哪些威胁?
不知攻,焉知防。只有以攻击者视角出发,持续研究网络攻击技术的细节,才能够设计出更好的网络安全防护体系。从历史上真实的网络安全事件、影响极大的高危安全漏洞以及网络安全黑客组织出发,以史为鉴。再详细研究市面上出现过的所有的攻击手法,掌握其利用方式以及理解其原理。
- 理解攻击者,成为攻击者
- 攻击者目的和能力各不相同:为了钱(黑灰产、黑客)、为了名(白帽子)、为了赢(竞争对手/敌对资助组织)
- 攻击方式各不相同:基础漏洞、业务风险、APT攻击、供应链攻击、0day攻击等
- 攻击目标各不相同:互联网的服务/Web Server/应用/框架/组件,办公网的电子邮件/聊天工具/浏览器/操作系统/邮件,生产网,专网等。
- 虚假身份与攻击基础设施:
- 全套虚假身份
- 难以被溯源的攻击环境
- 攻击工具:Burp Suit、ZAP,避免使用那种一看就是国内脚本小子的工具
- 系统设置为外文以及对应时区,用户名和密码、文件夹/文件/程序等符合外文特征,干净的系统环境,从不在这个环境中使用任何私人账号或文件,带开机还原或镜像的虚拟机
- 独立网络(4G),多级网络跳板(系统代理+TOR)
- 所有这些环境都是使用代理工具情况下购买的
- 聪明的攻击策略
- 浑水摸鱼:公布漏洞或利用方法,让大量人来利用;通过大量IP代理池访问;
- 栽赃嫁祸:露马脚引入国外黑客身份
- 销毁痕迹
- 信息收集:目标信息(公司名/域名/物理地址/产品名/组织架构/服务商/供应商/邮箱/聊天工具等),社工库、暗网、通过图片定位一个人、资产收集(网络测绘工具、企业信息查询、域名信息查询、备案信息查询)、登陆账号密码窃取
- 社工钓鱼:冒充可信身份诱骗用户提供信息或点击链接。以投递简历、公司活动、安全提醒,通常使用电子邮件、短信、聊天软件、社交媒体平台进行。
- 近源渗透/物理入侵:
- 攻击方法与漏洞:
- DDoS/CC
- 账号密码爆破、敏感文件扫描、RCE、XSS、LFI、XXE、CSRF、Header Injection、SSRF(某社交平台 GET SHELL)、SQL注入(某建站厂商SQL注入影响数万企业)、任意文件上传(某CMS系统任意文件上传影响大量上市企业)、GIT泄漏(某站点.git泄漏导致GET SHELL)、GitHub敏感信息泄漏(某云平台GitHub信息泄漏到GET SHELL)
- 历史上那些高危漏洞:Log4Shell(CVE-2021-44228)、EternalBlue(CVE-2017-0145)、NotPetya(CVE-2017-0147)、Stuts2 RCE(CVE-2017-5638)、Cloudbleed(CVE-2017-8817)、Heartbleed(CVE-2014-0160)、Shellshock(CVE-2014-6271)、POODLE(CVE-2014-3566)、KRACK(CVE-2017-13077)、Zip Slip(CVE-2018-5002)、Dirty COW(CVE-2016-5195)、EternalBlue(CVE-2017-0144)、SQL Slammer(CVE-2003-0352)、BlueKeep(CVE-2019-0708)、ZeroLogon(CVE-2020-1472)、SMBGhost(CVE-2020-0796)、ProxyShell(CVE-2021-34473/34523/31207/34474)、Meltdown(CVE-2017-5754)、Spectre(CVE-2017-5715)
- 攻击三方供应链
- 三方平台信息泄漏:GitHub敏感信息泄漏、搜索引擎爬取、合作伙伴数据泄漏、GA数据泄漏
- 软硬件供应链攻击:DNS劫持、依赖包投毒、子域名接管、供应链软件0day
- 供应商/合作伙伴:
- 使用恶意软件:使用病毒、间谍软件、rootkit、木马、机器人或僵尸网络等恶意软件来破坏/控制系统并盗取有价值数据。
- 后渗透安全技术:未授权访问、出网隧道、AD域、拖库
- 未授权访问:拖组织架构信息、花名册信息;爬取内部简历、技术文档;查询业务数据;
- 挖矿
- 数据窃取:scp/ftp/rsync/ncat/http/websocket/wss/ipv6/dns;图片/音频/视频隐写;
- 攻击业务
- 批量注册、扫号/撞库、数据爬取、抢购、粉丝操控
- 欺诈:场景(交友/虚假兼职/身份冒充/刷单返利/网络贷款/虚假投资理财/裸聊敲诈/杀猪盘)、技术:人脸伪造/声音克隆/虚假网站/FaceTime
- 营销风险:抢购(抢票/抢优惠券/红包)、工具化众包;赌博;涉黄;洗钱;大模型
- 基础技术:
- iOS:Cydia,虚拟摄像头、越狱状态隐藏、证书绕过等插件
威胁挑战是什么,我们的优势是什么,如何破局?
挑战:
- 攻击只需要突破一个点,防御需要防全局。
- 所有攻击者都能攻击你,但你需要防所有攻击者。
- 当前网络安全防护效果存在巨大风险。首先,让我们思考一个问题:放下安全领域的专业背景,从一个局外人的视角来看,我们现有的安全体系的有效性究竟如何?
- 行业安全防护现状不容乐观。相信在座的许多人都经历过十年前的“乌云时代”,我们都目睹了无数白帽子轻松“漫游”各大企业内网,仿佛置身无人之境。时至今日,十年后的现状并未有太大改观。在各大企业的SRC中,我们依然可以看到不断出现的高危漏洞奖励,不少业余的白帽子通过挖掘漏洞仍能获得百万级收入。在HVV中,通用的0day漏洞和复杂的入侵手法导致许多企业被淘汰出局。除了这些可控风险外,我们还经常在公开或私下场合听闻各种APT事件,这些事件导致国内外企事业单位遭受数据泄漏和资金损失,例如最近的中国工商银行遭受Lockbit勒索软件攻击的事件。即使是那些未遭受过APT攻击的企业,如果组建了自己的安全红队进行红蓝对抗演练,结果往往也是以红队成功窃取数据或资金告终。
- 甚至攻击方法都没有太大变化。尽管攻击成本有所上升,但这并未根本上解决入侵成功的问题。不同于过去,当时仅凭借各种安全工具的扫描就能轻松攻破许多网站。也不再像以前那样,黑客可以轻易在内网中横行无忌而不被发现。尽管容易解决的问题已得到处理,但对于更为复杂的安全难题,我们几乎没有实现重大突破。如果一个经验丰富的安全专家专注于某家企业,运用各种手段,只要给予足够长的时间,他们几乎总能成功侵入并窃取数据。这意味着,目前许多看似安全做得很好的企业,其实只是表象。他们的安全水平尚未经受严格的验证,很可能是依赖运气走到现在的。
- 攻防的不对等性显而易见。一旦发现风险,其原因往往单一明确。然而,一旦漏过风险,可能的理由则数不胜数。攻击者只需发现单一漏洞即可成功,而防御方必须全面防护,不留任何破绽。每次遭遇外部报告的漏洞、数据泄露事件或红蓝演练的突破时,在内部复盘过程中,我们总能看到各方人员站在自己的立场上,提出看似无懈可击的理由。这常常导致责任推诿的情况,最终仅留下针对单点问题的待办事项。然而,各种安全事件依然在不断发生,循环往复。情况并没有得到明显好转,但每个人又都非常努力。战术上的勤奋掩盖了战略上的懒惰,战略上有哪些突破可能?
- 困扰我们做不好安全的很重要的一个因素,不是能力,是认知。
优势:
- 上线前
- 数据行为
- 法律威慑
影响安全有效性的因素
产生漏洞风险的原因实在太多了,从防守视角看到底有哪些关键因素呢?
- 安全责任范围是否明确?为了避免在安全建设过程中出现风险遗漏,使团队更加专注地进行安全建设,需要明确团队的职责范围。每个人对安全以及安全范畴的理解往往都存在差异。常见的安全领域包括网络安全、数据安全、业务风控、内容安全、反欺诈安全、反洗钱安全以及生态安全等。除了大方向,也应明确子安全领域的安全责任范围,比如应用安全和基础设施安全,它们就存在交叉部分,若无法明晰边界,可通过设立联合项目组的方式进行统筹工作,确保不会因为存在工作边界而导致的风险遗漏。
- 安全目标与指标的正确性?安全目标代表了安全团队努力的方向,如果方向错了,那么一切努力都白费了。根据我和众多企业交流的经验,发现如果方向对了,最终大家做的事情是相似的,只是达成的时间存在差异。按照常理,在实际企业安全建设过程中,安全团队的主要任务是控制风险。然后,在现实情况下,安全团队受各种因素影响其目标各不相同。会发现很多安全团队中很多人所做的事情对于控制风险并没有太大帮助,每个人都按照上级指示做事,原始驱动安全建设的因素五花八门,有为了合法合规、有为了内部指标好看、有为了行业影响力、有为了单点突破。更加让人担忧的是,安全不出事就都认为没事,一出事就是大事。造就了各种安全建设的方式都能“活下来”,但一旦面临高强度的真实威胁,安全风险就会暴露无遗。除了明确正确的安全方向外,还需要清楚的知道需要面对何种等级的安全威胁,是针对漏洞扫描器的非针对性扫描、业余白帽子、资深白帽子、竞争对手,还是黑客组织。除了控制实际安全风险层面,越来越多的企业意识到安全也是一种竞争力,比如支付宝的“你敢付,我敢赔!”,这体现了安全团队在更高层面的业务价值。
- 安全体系的完备性与合理性?在确定了安全团队的责任范围和目标之后,需要开始针对面临的安全威胁设计安全体系。很多安全管理人员是从白帽子转变而来的,需要有一个清晰明确的认识。我们总说不知攻焉知防,但这不是让我们用攻击的方式来进行防守工作。直到现在还有很多企业仅依赖黑盒方式进行渗透测试、安全扫描的方式来进行风险发现。攻击者找到一处风险就能突破成功,防守方如果用类似的方式,必然会导致大量遗漏。我们用攻击者的优势去防御,就将自己和攻击者拉到同一起跑线上。应充分利用好甲方自己的优势:信息不对称,内部信息更加透明清晰,应用行为更加可控。这样才能让我们在对抗攻击者时处于优势地位。此外针对我们所面临的安全威胁,需要从风险控制类型以及风险控制阶段、安全保障体系等多方面回答现有安全体系的完备性与合理性。风控控制类型方面,能解决已知风险,那未知风险呢?能解决增量风险,那存量风险呢?能解决软件风险,那硬件风险呢?能解决可控风险,那不可控风险呢?能解决外部攻击风险,那内鬼风险呢?能解决有特征风险,那无特征风险呢?风险控制阶段方面,是否有事前安全威胁的识别、安全意识的提升、上线前的风险规避机制、上线后的安全防护、风险利用时的感知与止血,以及红蓝演练的持续检验,甚至时事后的溯源和司法打击等。除了技术和运营层面,还需要考虑规章制度制定、安全专项预算以及安全领导小组等风险控制的保障体系。
- 安全资源投入度与重点风险匹配程度?在明确了安全责任范围、安全目标以及安全体系后,需要投入相应的安全资源来实现这些目标。当安全资源与安全目标严重不匹配时,可以通过降低目标或调整优先级和拉长时间周期等方式来应对,并与老板们对齐认知。除了加强安全资源的投入,结合企业所面临的安全威胁,确定安全资源投入的优先级更加重要。当资源投入与当前关键优先风险不匹配时,虽然也能取得一些成绩,但对整体安全水位的提升有限,攻击者仍有较大可能轻易地盗取数据和资金。
- 安全能力与风险匹配程度?当安全资源投入与重点风险匹配后,还需要关注实现层面的安全能力与风险的匹配程度。常见情况是,对于一个新的漏洞类型,之前的安全措施完全没有防护能力。或是知道有这个漏洞类型的存在,却没有相关的安全能力进行发现和拦截。当安全能力与安全风险匹配度不一致时,就会不断出现新的意料之外的情况。
- 安全能力与运营有效性?当具备了对应安全风险的安全能力后,需要确保这个能力和策略的有效性以及是否覆盖到了所有需要防护的资产。是否能在资产变更上线前就默认覆盖安全能力,真实环境中各种非标情况是否能覆盖,面对真实威胁发生时各种能力是否还能持续保持有效?
- …
面对如此众多影响安全有效性的因素,再加上庞大且复杂的业务场景,影响全局安全性的潜在薄弱点数量急剧增加。同时,高价值数据和巨额资金的存在使我们面临各种等级和形式的威胁。
以蚂蚁集团为例,我们拥有数十种安全产品、数百名安全专家,并运营维护着数万项安全策略。在安全实践的方方面面,每个人对于如何实施安全措施、每个安全产品如何发挥其功能都有各自的见解。在这种情况下,是否存在一种指导原则,能够让大家对安全的认识和实现达成一致?
这些安全能力需要覆盖数千个域名、数万个应用、数十万个接口以及数百万个容器,其最终目的是保障数亿用户的数据安全和万亿级的资金安全。在涉及各种编程语言、各种运行环境和各个开发阶段的背景下,是否有一种技术手段能够实现突破,解决这些复杂的安全挑战?
安全建设最佳实践
企业安全诉求分析
安全程度是建立在被保护的目标价值上。
以支付宝举例,作为业务高度敏感(资金和数据密集)、复杂、规模庞大且更新迭代频繁。对内,支付宝是蚂蚁集团根基,大量业务都是支付宝上长出来的。对外,支付宝是吃支付牌照机构,受人行强监管。导致支付宝天然有极高的安全要求,对风险的容忍度低。
同时我们知道,互联网企业安全和传统金融企业安全建设存在很大的差异性,互联网企业一般业务快速迭代,效率为先,在能够快速发现响应时能够接受一定风险。金融企业一般通过极强的管理与隔离手段,愿意承担效率下降也不要出现任何风险。
对于支付宝来说,其是通过互联网技术实现的金融业务,即有互联网的快速迭代,又要有金融的高安全要求,互联网+金融带来的安全和效率是最大的挑战。
组织保障与制度规范
兵者,国之大事,生死攸关,不可不察也!要做好网络安全建设,最优先要解决的是公司领导的重视与资源的投入。
网络安全组织:风险管理委员会、网络安全委员会、三道防线
- 业务是安全第一责任人。安全不仅仅是安全团队的责任,业产研是主要责任人,但安全团队要为最终结果负责。安全是助力业务发展,而非成为裁判。让业务快速发展起来是首页目标,成功了再去解决负债。
- 独立成建制且职责清晰、权责一致的安全团队
- 可持续的安全人才发展,有挑战的安全场景,有竞争力的薪资待遇,有顺畅的上市通道。
- 符合市场比例的安全预算,满足合规认证、漏洞奖励、商业安全产品与服务、安全会议与赞助、高校/行业机构合作等需要。
定期同步风险机制
网络安全制度规范建设
实现“有法可依,有章可循”
- 安全方针:安全使命、愿景、价值观;安全责任;安全规划等
- 各安全域管理要求:数据安全管理办法、网络安全管理办法、办公安全管理办法等
- 可落地的实施要求:漏洞处置规范、密钥使用规范、网络安全红线等
安全合规保障体系
满足法律法规要求是底线,能够及时识别各安全法律/规定/标准的差距并推动改进,全面保障业务合规开展。
合规依据
- 法律法规研究:网络安全法、数据安全法、个人信息保护法、关基安全保护条例、密码法、网络数据安全管理条例、网络安全事件报告管理办法、互联网信息服务算法推荐管理规定、网络产品安全漏洞管理规定、中国银保监会监管数据安全管理办法、网络安全审查办法、商业银行信息科技风险管理指引、非银支付机构管理条例
- 标准政策:金融领域等保测评指南、个人金融信息保护技术规范、云计算技术金融应用规范、商用密码应用安全评估要求、关键信息基础设施安全要求
安全认证
- 外部安全评估与认证:网络安全等保测评、商用密码安全测评、金融科技产品认证、CCRC 个人信息保护认证/数据安全管理认证、通保安全备案评估等、PCI-DSS
标准修订
- 标准政策修订、国家安全课题研究、新规试点示范等
网络安全架构设计
没有绝对的安全,网络安全的核心是对抗,对抗的核心是知己知彼,不断更新始终强于攻击者,从而提高攻击者成本,促使攻击者攻击我们收益底下,不战而屈人之兵。
一是风险发现与治理。依托默认安全机制,我们能够实时感知各类业务变更,结合自动化扫描、AI能力与安全专家判断,实现大部分风险在业务上线前规避,做到“上线即安全”。此外,业务上线后还会进行持续巡检,确保安全闭环。
二是纵深防御体系建设。通过安全平行切面覆盖应用、主机等多个层面,实现对业务的透视感知与实时干预。基于内部丰富的数据能力,我们构建了“可信防御”体系,从传统基于攻击特征的防御模式,升级为仅允许业务“预期行为”运行的机制,从根本上抵御0day等未知威胁,解决防御总是落后攻击一步的痛点。
三是风险感知与响应。我们基于图计算引擎,融合海量日志进行多维分析,并通过自动化脚本编排,形成高效、弹性的安全响应能力,确保风险一旦出现,能够快速定位并处置。
四是情报驱动与实战检验。我们通过安全有效性验证、SRC平台、安全众测、内部蓝军演练及外部红蓝对抗,持续提升面对真实攻击的防御能力。同时,基于全球威胁情报,实时掌握APT攻击、最新漏洞及攻击基础设施动态,围绕真实攻击路径开展针对性实战演练与复盘改进。
- 从不同细分方向都抽象融合
- 网络安全和数据安全是一件事。
- 网络安全是一个随着互联网技术发展而起来的行业,有很多新的技战术,但与所有安全一样,战略是极其相似的。比如军事、生物安全、核安全等等。
安全资产画像
资产是后续一切工作的基础。
- 全面
- 基于内外部视角交叉验证。
- 内部视角不仅仅是通过运维等基础渠道汇总,基于安全视角从底层采集。
- 实时
- 对于不同访问范围资产采取不同的时效。
- 准确
- 推动修订所有同类不准确问题。
- 归属、分类分级、安全属性等
- 串联
- 所有资产都不应该是独立存在的。
- 业务访问全流程(账户/设备/业务/域名/IP/端口/服务/应用A/应用Z/数据库/表/字段/行)
- 数据流程全流程(采集/加工/储存/消费/输出/销毁)
- 易用
风险发现治理
风险到底是什么?安全风险的成因源自于产品设计与研发实现过程中未考虑好预期外的行为处理,这些预期外的行为会导致安全性和稳定性风险。
相较于外部攻击者,我们最大的优势是上先前的黄金时间段,应避免在上线后和世界上所有的攻击者在统一起跑线竞争。风险越早发现,越早解决,成本越低。目标应该是不写出漏洞,所有风险在上线前规避掉,实现上限即默认安全。
- 安全意识提升。通过岗位职能差异,按需提升安全意识。通过全渠道安全宣导内容推送,实现全员对安全的高度重视,打造守土有责的文化氛围。了解各种历史发生的安全事件和攻击方式,研发要避免写出风险,运营要避免配置风险,所有人员避免社工钓鱼等攻击手法。
- 感知所有实体的变更。安全并不是独立存在的,是由于变化产生的。不仅仅是网络资源、储存资源、需求设计、应用迭代,也包括策略配置等。
- 利用各种优势能力发现风险。自动化扫描器解决各种通用基础风险,人工安全评估以及测试一些需要理解业务的复杂风险,AI进行兜底。
- 防护能力变更时默认集成。所有的防护能力在上线前都默认覆盖上,而非上线后推动覆盖。
- 安全准入卡点。没有经过安全评估的、评估发现风险的、没有接入防护能力的都将被识别出来,并能够进行卡点。
- 上线后复核与巡检。上线后的应用接口等是否都在上线前评估过,并进行二次风险review,避免遗漏。同时各种自动化能力常态对生产环境进行巡检扫描。
依赖以下理念:SDLC、DevSecOPS、攻击面管理、内生安全、风险闭环、安全编码规范、研发安全检查项、基于甲方视角的漏洞发现、个人如何避免被APT攻击、基于加密资源ID缓解水平越权影响
依赖以下安全能力:IAST、DAST(一种收集黑盒扫描规则的思路)、SAST、安全修复组件、统一认证与权限、水印、脱敏组件、漏洞管理平台、电子邮件安全实践、密码安全实践、侧信道安全
可信纵深防御
安全没有一招鲜,没有银弹能防护所有风险。
上线前风险一定会出现遗漏,所有风险要能有防护能力,且有多层防护能力。
- 可信:充分利用甲方对内部数据的优势,从基于攻击特征的拦截升级为基于预期行为的可信防御。
- 多层:不存在绝对安全的单点防线,历史上被寄予厚望的安全单点防线都被突破过。要单点增强,多层防御,交叉补位,发挥各层优势,为下一阶段的感知响应赢得时间。
可信纵深防御:只允许符合预期的行为运行,摆脱攻防不对等,应对高级和未知威胁。
- 应用行为可信。
- 网络访问可信。
- 接口调用可信。
- 安全容器。
- 数据访问可信。
常规防护
- 移动端(APP/小程序/H5):防逆向(APKTool、dex2jar、JEB、IDA、readelf),防篡改(开发者签名校验/代码资源配置文件完整性校验/数据透明加密及设备绑定/配置数据库文件加密/资源文件加密),防调试(防进程线程附加/防进程注入/防Hook攻击/防内存Dump/App完整性保护/SO数据动态清除/模拟器检测),防窃取(本地数据加密/通信协议加密/密钥白盒加密);设备指纹;安全SDK;网络组件;
- 网络层:WAF、防火墙、HTTPS、云桌面、SASE、DNS Filter、入网网关
- 主机层:HIDS、出网网关、SDN
- 身份识别与访问控制:SSO、统一权限系统、IAM、用户名密码、密码键盘、MFA、堡垒机/跳板机、数字证书、验证码、指纹、LDAP
- 应用与系统层:RASP、Service Mesh、DB Mesh、Security Header、KMS、数据加密
- 数据层:数据脱敏、数据加密(全盘加密/传输加密/储存加密)、数据备份、防篡改
- 办公网络/终端:Wi-Fi、VPN、EDR、DLP、全盘加密、MDM/MAM、杀毒、补丁、上网行为、云桌面/浏览器、信创电脑
- 云:K8S、VPC、AK/SK、RAM、云产品安全准入、账号安全、KMS
- 物理层:园区物理安全,机房物理安全;监控摄像、门禁、人脸、IC/ID卡
依赖基础技术:云原生、零信任、安全平行切面、一种去掉企业密码的方案
威胁感知响应
安全威胁情报:收集攻击背后的信息(C2)。
知己知彼,建立全域全图黑产技术对抗情报。
- 情报收集:
- 黑产情报:通过暗网/黑市/Telegram等渠道,数据泄漏、买卖账号、羊毛点、社工库等
- 漏洞情报:CNVD/CVE/厂商公告/安全社区等
- 舆情情报:社交网站/黑猫投诉等
- 生态情报:商业情报服务、SRC、特殊渠道
- 攻击情报:IP库、手机号、邮箱、域名库、恶意软件样本、银行卡、设备等;打码平台、VPN平台、DDoS平台等;新型攻击方法研究;
- 内部情报:业务异常/投诉反馈/异常感知等
- 情报分析与应用:事件深度调查、漏洞应急响应、产品和政策完善、防护策略增强等。
感知覆盖
能看见,才能防。基于图数据引擎,实现海量日志融合多维分析。
- 移动端(Android/iOS/小程序):环境、指纹、行为
- 网络:Web/DNS/NAT,DDoS、CC、攻击探测、漏洞、扫描、爬取、爆破、指纹等。
- 应用(Java/Python等):邮箱/VPN/主机日志,命令、网络、文件、漏洞、内存马、钓鱼等
- 数据(OSS/DB/MSG):无鉴权、AK泄漏、未脱敏、特权账号、遍历、时序异常、未授权访问、身份异常、拖库等
- 电脑(Windows/macOS/Linux):PAN、EDR、DLP、SEP、网络等。
- 物理层:入网、门禁、摄像头。非法入网、无人值守设备、mac伪造、Wi-Fi钓鱼、U盘病毒等。
威胁研判
通过攻击者及使用的攻击信息和攻击链路,识别出攻击意图。
- 攻击者:真实身份(姓名/身份证/手机号)、情报关联信息(所在公司/行业/职业等)
- 攻击信息:IP、账号(手机/邮箱)、攻击工具等
- 对什么做了什么:当前行为序列、历史行为
- 意图判断:自动化探测扫描、白帽子挖漏洞、漏洞利用、定向针对性攻击
响应止血
没有进攻和威慑的被动防守注定是失败的,让对手相信攻击代价是超过收益的。
- 前置取证
- 柔性处置
- 实时止血
- 弹性响应:如何实现7×24小时告警处置
- 溯源攻击者:
- 如何通过网络 ID 溯源到真人
- 0号嫌疑人、基于图的多因素关联推理
- 攻击特征、攻击作息时间
- 诱骗反制:一些常见反制攻击者的思路
- 通过投放诱饵(MySQL/LDAP/VPN等)使其下载执行或连接
- 挖掘常见安全攻击工具的RCE漏洞
- 威慑打击:立案打击、民事诉讼、刑事诉讼、媒体报道
- 复盘提升
安全实战检验
安全水位是一个不断变化、此消彼长的过程,维持某个安全水位是有成本的。
没有绝对的安全,安全是相对的。
- BAS(安全有效性检验)
- 紫军实战演练:自动化模拟真实攻击,检验所有安全能力面临真实攻击时实际防护效果。
- 充分利用白帽子力量
- SRC(安全应急响应中心)
- 安全众测、高倍奖励活动等
- 蓝军双盲实战演练
- 盗取数据和资金演练(社工钓鱼、0day漏洞、业务滥用、供应链等)
- 黑灰产演练(薅羊毛、欺诈、洗钱、非法内容等)
- 预设场景演练(各种环境沦陷、内鬼、勒索等)
- 外采头部安全公司红蓝演练
- 积极参与各级安全实战比赛
安全效果和结果
善战者,无赫赫之功。安全绝大部分的时候价值是没有太多亮眼的成绩,默默在背后守护安全。
专家驱动安全运营,数据驱动安全运营,智能驱动安全运营
安全行业贡献
- 安全赛事:漏洞挖掘、CTF、攻击方
- 高校合作:开展前沿重难点安全课题研究
- 安全专利:
- 安全标准:
- 实践分享:白皮书、安全会议(KCON、HITB、MOSEC、CSS、SSC、NSC、ISC、TENSEC、HACKPWN、UCON、GEEKPWN、HITCON、FIT、EISS)、安全文章、安全论文等
安全趋势研究
- 所有公司的安全建设都会趋于一致。
- 应用安全、基础设施安全、数据安全、IoT安全等最终做法都会趋于一致。
附录
版本变更记录
- 2025-01-25 在 Annual Review for 2024 中,将完成本书作为2025年目标。
- 2025-02-21 完成序言,同时思考整体结构和关键点。
- 2025-06-05 重新梳理定位以及大纲,填充初始内容。