博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
供应链攻击的检测与防御
阅读量:2035 次
发布时间:2019-04-28

本文共 1411 字,大约阅读时间需要 4 分钟。

文章目录

1.什么是供应链攻击

供应链的公司被入侵更改了产品的源码,用户下载了供应链公司的产品而最终受到攻击。这种用户被攻击的方式称为供应链攻击。

举例如下:

1.Jeilyfish
在PyPI社区出现了一个名为Jeilyfish的包,它与Jellyfish只有一个字母不同。如果下载者不注意的话可能会下载到恶意的Jeilfish包然后被窃取敏感信息。

2.什么情况下有可能会受到供应链攻击

1.安装了被植入木马的软件或者硬件

即使这些文件是从官网下载的,那也可能会有木马植入。

攻击案例:

2.已下载的正常软件在进行软件自动更新的时候

用户使用软件的过程中因为软件自动更新被劫持,而导致用户受到攻击。

攻击案例:

3.如何防御供应链攻击

1.建立内部软件源或使用足够安全的软件源

建立自己的软件源,软件源限定官方来源、加密同步协议https,并对其进行定期的维护与测试,及时发现问题。每将一款软件加入到自己的软件源的时候都要进行完善的安全审查才可以。如果没有能力自建软件源,则使用其他厂商自建的软件源即可,这里推荐使用腾讯的软件源https://mirrors.cloud.tencent.com。

2.终端安全检测

在每个终端上都安装安全检测系统来检测程序与文件的行为。这种检测主要可以分静态检测与动态检测。

1.静态检测

主要对文件内容进行扫描,看其是否为木马文件,这种方式一般会用到特征码的对比。或者与正常文件的md5进行对比看是否被修改过。还有一种是利用机器学习模型来帮助进行识别。

2.动态监测

动态监测是对程序或者文件的行为进行检测,比如创建文件的行为或者添加用户的行为。

3.主动扫描

针对于脚本型的供应链攻击比如说恶意的python包,我们采用主动扫描的方式进行自我保护,具体行为如下:

1.下载代码静态扫描,类似主机安全检测的静态扫描,静态扫描的优点是:速度快,但误漏报相对较多。

2.系统沙盒动态检测,通过沙箱进行syscall和流量监控,优点是可以准确捕捉程序行为,不受代码混淆的影响。缺点是建设、运营成本高;对于存在对抗的恶意代码,系统沙箱无法正常触发其恶意代码逻辑,脚本类恶意代码,定位成本相对较高,以npm和pypi软件源检测为例,一个软件包一般由多个脚本组成,当沙箱捕获到一个外连请求,无法确认是哪个脚本发出的。

3.软件包信誉评估,根据各大软件交付平台的软件包基础信息进行信誉评估,包括上架时间,访问次数,代码大小,文件名、fork次数等等,建设信誉评估模型,对低信誉的包进行安全报警,优点是场景通用,速度快。

4.应用层沙盒动态检测,针对解释型语言做应用层沙盒动态检测,应用层沙盒的优点是可以轻松定制触发场景、模拟各种用户调用,触发潜藏的恶意行为,覆盖率高;近期我们上线了Python应用沙盒,以函数劫持方式监控pypi包的网络连接,命令执行和文件读写等行为,建立精确行为链模型,而且通过回溯的方式,可以清晰地知道异常行为产生于哪一个包里哪一个脚本的具体哪一行代码。

总结

应用层沙盒的检测成本较高,在使用docker集群作为隔离环境,应用的过程中,docker容器并不是想象中地那么稳定,做好异常监控,状态保存和重试机制很关键,且应用层沙盒属于动态检测,虽然准确精细,但是需要做多语言适配,还是有一定的工作量。 静态检测虽然成本较低,但对于未知的混淆、绕过手法非常容易出现漏报。

参考

转载地址:http://emraf.baihongyu.com/

你可能感兴趣的文章
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>
关于PHP几点建议
查看>>
硬盘的接口、协议
查看>>
VLAN与子网划分区别
查看>>
Cisco Packet Tracer教程
查看>>
02. 交换机的基本配置和管理
查看>>
03. 交换机的Telnet远程登陆配置
查看>>
微信小程序-调用-腾讯视频-解决方案
查看>>
phpStudy安装yaf扩展
查看>>
密码 加密 加盐 常用操作记录
查看>>
TP 分页后,调用指定页。
查看>>
Oracle数据库中的(+)连接
查看>>
java-oracle中几十个实用的PL/SQL
查看>>
PLSQL常用方法汇总
查看>>