防止删库跑路及高级代码投毒技巧

目录
  • 引言
  • 删库跑路
    • 可操作性
      • 1. 权限控制
      • 2. 数据备份
    • 易发现性
    • 影响后果
  • 代码投毒
    • 最近的案例
    • 可操作性
    • 预防策略
  • 最后

引言

事情是这样的,最近在做开源软件供应链安全相关的项目,之前没了解这方面知识的时候感觉服务器被黑,数据库被删,网站被攻,这些东西都离我们太遥远了,因为感觉好像都轮不到我们,直到我开始做这个项目,才发现网络安全,软件安全问题真的是无处不在。

今天我们来聊聊删库跑路和代码投毒。 我们从可操作性及易发现性还有后果及预防策略上来探讨一下。

删库跑路

在软件行业,“删库跑路”流传已久,对,就是删完库,跑在监狱的路上,这个对于安全来说简直是小儿科。

可操作性

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流程当中,做好预警通知的能力,第一时间发现并修复软件漏洞。

最后

不管是删库跑路还是代码投毒,这些都是法律的红线,调侃归调侃,玩笑归玩笑,笑过以后,希望每个开发者都应该有敬畏之心,不然就只能到包吃包住的地方摸鱼了。

以上就是防止删库跑路及高级代码投毒技巧的详细内容,更多关于防止删库跑路代码投毒的资料请关注我们其它相关文章!

(0)

相关推荐

  • mysql如何能有效防止删库跑路

    目录 安全模式设置 测试 1.无where的update和delete 2.非索引键的delete 3.索引键的delete 总结 大家肯定听说过,有些开发者由于个人失误,在delete或者update语句的时候没有添加where语句,导致整个表数据错乱. mysql安全模式:mysql发现delete.update语句没有添加where或者limit条件时会报错.整个sql将无法执行,有效防止了误删表的情况. 安全模式设置 在mysql中通过如下命令查看状态: show variables l

  • 关于Spring的@Transaction导致数据库回滚全部生效问题(又删库跑路)

    1 前言 很多需要使用事务的场景,都只是在方法上直接添加个@Transactional注解 但是,你以为这真的够了吗? 事务如果未达到完美效果,在开发和测试阶段都难以被发现,因为你难以考虑到太多意外场景.但当业务数据量发展,就可能导致大量数据不一致的问题,就会造成前人栽树后人踩坑,需要大量人力排查解决问题和修复数据. 2 如何确认Spring事务生效了? 使用@Transactional一键开启声明式事务, 这就真的事务生效了?过于信任框架总有"意外惊喜".来看如下案例 领域层 实体

  • 你也许连删库跑路都不会(delete、drop和truncate删除数据)

    前言 这两年 IT 界隔三岔五的出现一次程序员删库的新闻,这种删库跑路的行为往往会给受害公司造成很大的损失,甚至会导致一个公司的破产.我们程序员看到这类新闻的时候很大一部分会把它当作一个闲聊的摊子,但是各位读者你是否想过这么一个问题:我知道怎么正确删库吗?看到这里估计有读者会感觉删库谁不会啊 Delete 以下呗.如果你这么想的话那就接着看这篇文章吧,在后面的内容中我将讲解数据库删除数据的方式以及原理. 在 MySQL 中有三种删除数据的方式,分别是 delete.drop 和 truncate

  • mysql常用sql与命令之从入门到删库跑路

    启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server restart 进入mysql目录文件 cd /usr/local/mysql/support-files 进入

  • 删库跑路?使用xtraback备份MySQL数据库的方法

    一.mysqldump备份方式是采用逻辑备份.最大的缺陷就是备份和恢复的速度都慢,对于一个50G的数据库而言,这个速度还是可以接受的,但是如果数据库非常大,那在使用mysqdump备份就不是太合适了.. 这时候就需要一种很好用又高效的工具,xtraback 就是其中的一款,号称免费版的innodb hotbackup xtraback特点如下: 备份过程快速,可靠 备份过程不会打断正在执行的事务 能够基于压缩等功能节约磁盘空间和流量 自动实现备份检验 还原速度快 二.安装xtraback 1)下

  • 防止删库跑路及高级代码投毒技巧

    目录 引言 删库跑路 可操作性 1. 权限控制 2. 数据备份 易发现性 影响后果 代码投毒 最近的案例 可操作性 预防策略 最后 引言 事情是这样的,最近在做开源软件供应链安全相关的项目,之前没了解这方面知识的时候感觉服务器被黑,数据库被删,网站被攻,这些东西都离我们太遥远了,因为感觉好像都轮不到我们,直到我开始做这个项目,才发现网络安全,软件安全问题真的是无处不在. 今天我们来聊聊删库跑路和代码投毒. 我们从可操作性及易发现性还有后果及预防策略上来探讨一下. 删库跑路 在软件行业,“删库跑路

  • 深入浅析MySQL从删库到跑路_高级(一)——数据完整性

    一.数据完整性简介 1.数据完整性简介 数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确反应实际情况. 数据完整性是指数据的可靠性和准确性,数据完整性类型有四种: A.实体完整性:实体的完整性强制表的标识符列或主键的完整性(通过唯一约束,主键约束或标识列属性). B.域完整性:限制类型(数据类型),格式(通过检查约束和规则),可能值范围(通过外键约束,检查约束,默认值定义,非空约束和规则). C.引用完整性:在删除和输入记录时,引用完整性保持表之间已定义的关系.引用完

  • JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)

    最近做了个项目,其中有项目需求是要实现跑马灯抽奖效果,实现此功能主要用到js相关知识,废话不多说,感兴趣的朋友可以阅读下全文. 开始之前先来看上篇文章遗漏的两个问题和几个知识点,是自己重构的过程中需要用到的: 1.移动端1px像素线的问题 对于设计师给我的手机端网页的设计稿都是2倍图.按照道理来说,在写网页的时候,所有对象的实际尺寸都是会除2.但是对于1像素的线呢? 先来看两张图,设计稿的效果: 在三星 S4下的实际显示效果: 可以看到这个时候1px的线竟然显示不出来了.这个问题是跟 S4手机的

  • JS实现状态栏跑马灯文字效果代码

    本文实例讲述了JS实现状态栏跑马灯文字效果代码.分享给大家供大家参考,具体如下: 这款状态栏跑马灯,文字跑动的定义在数组内,自己可修改内容.现在的IE8貌似不兼容,有缺憾的代码,欢迎JS爱好者修正,修正请发回一份.状态栏为效果显示区. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-ztlpmd-txt-style-codes/ 具体代码如下: <HTML> <HEAD> <TITLE>间隔状态栏跑马灯</T

  • JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)

    在上篇文章给大家介绍了JavaScript实现跑马灯抽奖活动实例代码解析与优化(一),既然是要编写插件.那么叫做"插件"的东西肯定是具有的某些特征能够满足我们平时开发的需求或者是提高我们的开发效率.那么叫做插件的东西应该具有哪些基本特征呢?让我们来总结一下: 1.JavaScript 插件一些基本特征: 配置一定要简单 插件中定义的变量不污染全局变量: 同一段代码可以在不同的地方复用: 用户可以自定义自己功能参数: 具有销毁变量和参数的功能: 如果按照以上的几个特征来写插件的话,我们可

随机推荐