防止删库跑路及高级代码投毒技巧
作者:TodoCoder
引言
事情是这样的,最近在做开源软件供应链安全相关的项目,之前没了解这方面知识的时候感觉服务器被黑,数据库被删,网站被攻,这些东西都离我们太遥远了,因为感觉好像都轮不到我们,直到我开始做这个项目,才发现网络安全,软件安全问题真的是无处不在。
今天我们来聊聊删库跑路和代码投毒。 我们从可操作性及易发现性还有后果及预防策略上来探讨一下。
删库跑路
在软件行业,“删库跑路”流传已久,对,就是删完库,跑在监狱的路上,这个对于安全来说简直是小儿科。
可操作性
1. 权限控制
像数据这么敏感的权限会控制的比较严格,比如人员的权限控制及防范:
- 运维人员需进行双因素认证;
- 防火墙或其他安全设备进行网络限制,仅允许从堡垒机才可访问至核心资产;
- 数据库等系统资源账号密码托管在堡垒机中,堡垒机定期自动改密,运维人员无需知道数据库等系统资源的账号密码;
- 严格控制后台资源的访问权限,做到访问权限最小化原则,给不同运维人员分配最小访问权限;
- 设置数据库等高危操作命令的金库模式,执行高危命令时可触发阻断、二次审批等操作;
- 根据实际情况设置更高级别安全限制,比如登录堡垒机时的IP地址、MAC地址限制,登录堡垒机的时间限制等等。
看到了没,首先第一步你让007来也不一定能搞定。就算侥幸跨过了第一步。。。然后就被警察抓走了。。。猪角卒。。
2. 数据备份
- 数据定期备份。
- 云厂商数据防护。
- 异地多活。
就算删了也能快速恢复。
综上:你能删库的概率基本为0了,只要地球还在数据就还在。
易发现性
这个不用多讲,即使能删库,有这个权限的人一根指头都能数清,那就是你了。。
影响后果
删库跑路一般是只会影响自己的公司,对其他企业或者人员没啥影响。但是对于你。。。。
相信你已经做出了你的选择。
代码投毒
代码投毒,是指攻击者在合法软件的开发、传播和升级过程中进行劫持或篡改,从而达到非法目的的攻击类型。鉴于当前超过99%的商业软件包含开源软件,一旦具有大规模用户基础的开源软件存在安全漏洞,势必会影响整个软件产业、甚至其他重要行业的供应链安全。
最近的案例
node-ipc 包的作者 RIAEvangelist 在以反战名义代码投毒投毒
他提交的是一段恶意攻击代码:如果主机的 IP 地址来自俄罗斯或白俄罗斯,该代码将对其文件进行攻击,将文件全部替换成 ❤。该作者是个反战人士,还特意新建了一个 peacenotwar 仓库来宣传他的反战理念。据悉,该 package 每周下载量达到了百万。另外,使用 Yarn 的开发者也受到了影响。
PyPI 官方仓库遭遇150+恶意包疯狂投毒
攻击者mega707通过模仿agoric,datadog等知名软件包进行钓鱼,当用户安装攻击者的恶意包时,攻击者可窃取用户信息,环境地址等敏感信息上传至指定服务器。
Fastjson官方披露高危漏洞,包括rocketmq、jeecg-boot等近15%的github开源项目受影响
2022年5月23日,fastjson 官方发布安全通报,fastjson <= 1.2.80 存在反序列化任意代码执行漏洞,在特定条件下可绕过默认autoType关闭限制,可能会导致远程服务器被攻击,风险影响较大。建议使用了 fastjson 的用户尽快采取安全措施保障系统安全。
可操作性
- 包抢注攻击
攻击者通过向主流的软件包管理员(PyPI、Node.js npm、Maven、RubyGems、Docker Hub)投放大量「相似拼写名称」谐音的软件包或镜像,仿冒正规项目,从而让有恶意代码的代码包被安装到开发或生产环境。
- 依赖库注入恶意代码
攻击者通过自身的攻击能力与掌握的漏洞,入侵软件、硬件供应商的办公与开发环境,直接向产品代码内植入后门,在设备上预安装的恶意软件 (相机、USB、电话等),实现恶意代码与后门的分发,最终进入被攻击目标的网络。
预防策略
1)企业内部维护可信软件仓库,尽量减少企业人员从各种未知渠道下载软件。
2)监测服务器和PC运行软件的异常操作和流量,甚至提前对软件进行沙盒检测,主动发现潜在隐患。
3)全面梳理和维护企业在用软硬件信息,在供应链攻击曝光时做到快速止损定损。
4)使用官方渠道下载的IDE;软件分发及升级采用HTTPS等加密传输;避免内置远程控制能力;定期自检官网代码和执行程序是否存在恶意篡改。
对于企业级的,可以引入DevSecOps ,把安全扫描引入到DevOps流程当中,做好预警通知的能力,第一时间发现并修复软件漏洞。
最后
不管是删库跑路还是代码投毒,这些都是法律的红线,调侃归调侃,玩笑归玩笑,笑过以后,希望每个开发者都应该有敬畏之心,不然就只能到包吃包住的地方摸鱼了。
以上就是防止删库跑路及高级代码投毒技巧的详细内容,更多关于防止删库跑路代码投毒的资料请关注脚本之家其它相关文章!