蚂蚁安全切面:将安全能力深入应用的毛细血管

简介: 在刚刚结束的外滩大会,IoT安全分论坛上,来自蚂蚁的赵豪,给大家介绍了安全切面在IoT场景下的重要安全价值。

在今年2020 BCS 北京网络安全大会上,蚂蚁集团副总裁韦韬介绍了蚂蚁的“安全切面”防御体系。在刚刚结束的外滩大会,IoT安全分论坛上,来自蚂蚁的赵豪,又给大家介绍了安全切面在IoT场景下的重要安全价值。这篇文章,我们就聊聊安全切面。

赵豪在外滩大会分享《构建IoT防御的安全切面》

什么是切面?

切面,即Aspect,面向切面编程( AOP,Aspect-oriented Programming)。它是通过预编译、运行时动态代理或者注入的方式,实现在不修改源代码的情况下给程序动态添加功能的编程范式。AOP追求调用者和被调用者之间的解耦,提供跨模块的功能汇聚。AOP适合解决程序中涉及横切面(cross-cut)的系统功能,这些功能往往用过程编程或者面向对象编程都难以解决。后继被AspectJ, Spring等实现和应用。

安全切面,把切面思想延伸到安全体系中

安全切面防御是蚂蚁安全提出的一套全新的安全防御理念。它的核心思路是建立一套和业务相交织且平行的安全层,让安全能够深入业务逻辑,实现细致的观测和攻防;同时又保证业务和安全的解耦合,使得业务和安全各自独立,各自高速发展。也就是“内生”和“解耦”,要兼得。

上图描述安全切面的内生和解耦的特点。下面这张图,给出了蚂蚁移动端安全切面防御体系的示意图。安全切面防御层嵌入到了整个APP的框架中,同时保持独立运行的规则引擎和升级能力;APP中所有重点安全相关的接口,都有切面进行保护。另外,安全切面判断某个调用是否合理时,会追溯查看调用的链路信息,对链路的调用风险进行透视,以做出获得准确全面的判断。

蚂蚁的移动端安全切面

安全切面有什么优点呢?可以解决什么问题?

总的来说,是因为现代终端操作系统自身的部分安全机制已经不能满足目前移动互联网和物联网的实际安全需求了,它促使我们在现在安全机制之上,建设一套更满足实战攻防需求的安全切面体系。

这里举两个例子。

首先是供应链安全的例子,无论是移动端还是IoT端都会集成大量的三方SDK,这些三方SDK由第三方开发,他们的安全水位参差不齐甚至还可能暗藏恶意代码。

从应用的角度来看,由于功能需求,不得不集成一些别人开发的三方SDK,大部分甚至还是黑盒集成。从操作系统的安全机制来看呢,一个应用是一个整体,不会再有更细分的安全角色。这个整体共享所有的应用身份权限、文件存储和用户的敏感信息等,运行在同一个进程空间中。于是在应用中,我们自己的代码和三方SDK的代码,在操作系统眼里,安全管控颗粒度上,不可分割的。

如下是近期一些由于三方SDK导致的安全和隐私风险事件,国内外的都有,每一个事件都可能对用户的安全和隐私造成严重的风险。

第二个例子是关于安全建设和治理。随着业务的爆发式发展,对应的技术设施复杂性也指数增长,而安全建设和治理往往受制于复杂的技术设施和业务场景而进展缓慢。常常还会因为遇到各种问题而停滞甚至回滚。另外,技术架构和安全能力缺乏长期规划,导致在快速达成短期业务目标的同时,加剧了长期安全技术负债。并且这个技术负债在进行治理的时候,又会遇到刚才提到的各种阻力。用更为直白的话来说就是,业务不发版,安全什么也做不了。

此时就需要安全机制既能够和代码逻辑业务逻辑交织到一起,又能够让安全和业务解耦合独立发展的技术框架。能够做到业务不发版,安全治理仍然可以进行,实现“可治”,能够与攻击方(黑灰产)对抗,实现“可战”。

从技术架构的视角,我们总结一下安全切面防御体系的核心理念、主要能力和特点:

  • 安全切面逻辑融入到端应用的基础架构中;
  • 通过对调用链路的还原,实现安全内视和追溯,具有强大的感知能力;
  • 通过代码节点信息,分析和定位的应用内部更精细化的角色信息;
  • 与业务解耦,能够不依赖与业务代码更新,进行安全治理。

安全切面 + IoT,可以带来什么?

安全切面给IOT带来的好处主要有以下几点:

  • 碎片化IoT安全环境的封装:IoT生态非常碎片化,系统千差万别。通过安全切面拉平不同的IoT安全环境的差异,为上层业务提供相对统一的安全环境和安全机制。
  • 软硬件供应链恶意行为追溯:即通过安全切面的行为追溯能力,追溯分析IoT供应链中的恶意行为。
  • 风险模块的软隔离:通过安全切面对风险模块的调用进行强安全管控,实现安全隔离。
  • 除此之外,还有风险事件的快速响应处置等等。

在支付宝的IoT业务中,安全切面防御体系已经在支付宝的IoT小程序技术架构中实施。支付宝的IoT小程序是蚂蚁给开发者提供的对IoT应用进行二次开发的平台,它和支付宝小程序共享一套技术架构,又针对IoT场景进行了定制优化。开发者可以快速开发一个IoT小程序,满足各行业的差异化的需求。

基于IoT的安全切面防御体系,我们为支付宝的IoT小程序实现了对安全环境差异的封装和屏蔽、小程序运行时的安全虚拟沙箱以及小程序恶意行为的阻断,也包括风险行为的实时分析和感知,风险事件的快速响应等。

我们团队有个群,名字叫“切面拉面炸酱面小组”。我们提供了各种各样的安全方案,来保护商家和消费者,实现普惠&安全的金融服务。这碗“切面”是我们新创的菜品,味道还不错哦,欢迎品尝:)

相关文章
|
存储 SQL 弹性计算
圆桌讨论:如何构建一站式全链路解决方案
本文整理自天翼云首席研发专家候圣文,OceanBase社区布道师周跃跃,CloudCanal联合创始人万凯明,StarRocks解决方案架构师王天宜,在如何构建简单高效的现代化数据栈的分享。
圆桌讨论:如何构建一站式全链路解决方案
|
2月前
|
数据采集 监控 数据可视化
数据治理成功的九大细节,你都忽略了哪几个?
数字化时代,数据作为新的生产要素受到了各界前所未有的重视。
|
5月前
|
Java Spring
通用研发提效问题之切点和切面是什么,如何解决
通用研发提效问题之切点和切面是什么,如何解决
|
4月前
|
XML Java 决策智能
拥抱智能决策新纪元!Spring Boot携手LiteFlow规则引擎,让复杂业务处理如丝般顺滑,引领技术潮流!
【8月更文挑战第29天】LiteFlow是一款专为Java应用设计的轻量级规则引擎,支持条件、循环、分支等多种规则类型,具有组件化设计和高度可扩展性。通过自定义规则和事件监听,它可以显著提升代码的可维护性和可重用性。本文将详细介绍如何在Spring Boot项目中整合LiteFlow,并通过实际案例演示其强大功能。主要步骤包括:添加依赖、配置参数、定义组件及流程,并通过API触发执行。借助LiteFlow,复杂业务逻辑处理变得更加灵活高效。
168 0
|
5月前
通用研发提效问题之女娲在选择切点时,如何解决
通用研发提效问题之女娲在选择切点时,如何解决
|
存储 缓存 监控
一种基于动态代理的通用研发提效解决方案
作为一名研发人员,除了业务开发之外,研发提效是一个永恒的话题,而女娲正是这一话题下进行的一次全面的剖析和实践。
109929 26
|
7月前
|
XML Java 数据格式
注解之光:揭秘Spring注解发展的演进历程
注解之光:揭秘Spring注解发展的演进历程
56 0
注解之光:揭秘Spring注解发展的演进历程
|
7月前
|
Java Spring
切面编程的锋芒:Spring切入点的玩法与技巧
切面编程的锋芒:Spring切入点的玩法与技巧
48 0
切面编程的锋芒:Spring切入点的玩法与技巧
|
存储 运维 Prometheus
《2023云原生实战案例集》——05 金融服务——友邦人寿 可观测体系设计与落地
《2023云原生实战案例集》——05 金融服务——友邦人寿 可观测体系设计与落地
|
架构师 程序员
【蚂蚁人人分享】谈谈技术能力
技术人成长的悖论在程序员界有一个悖论持续在困惑着很多技术人:在写代码的人的困惑是一直写代码是不是会丧失竞争力,会不会被后面年轻的更能加班写代码的人汰换。典型代表就是工作5年左右的核心技术骨干,此时正处于编码正嗨但也开始着手规划下一个职业发展阶段的时候;没在写代码的人困惑是我长时间不写代码(或者代码量较少)我的技术功底是不是在退化,我在市场上还会有竞争力吗,我的发展空间是不是被限制住了。典型代表就是
572 4
【蚂蚁人人分享】谈谈技术能力

相关实验场景

更多