近日,国外媒体有安全人员爆出Python pip ssh-decorate被发现存在后门代码!对,又是pip污染。php
pip是python的开源包资源库。然而,这个开源库的管理是十分松散的。尤为在安全方面并无严格的审核机制。一个用户只须要一个email便可注册帐户,而后便可上传其源文件到pip资源中。而这个pip资源是被世界上全部python用户使用下载的。若是有人夹杂恶意代码上传了某个包,并以常见程序的名字命名,好比zip,ssh,smb,ftp。那么当有用户尝试搜索并下载使用这个名字的包时,这个用户就会中招,可谓神不知鬼不觉。这就是存在于pip中的供应链安全问题。回头看,针对pip的攻击已经并不新鲜,早在几年前就有国外研究者进行过相似实验。而真正让你们重视起来是在2017年,国内白帽子也针对pip源进行了投毒测试,结果使人震惊,各大厂商主机纷纷被感染。可是不管如何,以前咱们看到的所有都是以渗透测试为目的的pip污染事件,而此次,咱们看到的真正的backdoor!咱们看一下其具体技术相关的内容。python
ssh-decorate是一个github开源项目,其地址:https://github.com/urigoren/ssh_decorate。其功能应该是实现相似ssh client同样的功能,python实现,提供一些更友好的接口。如今这个工程已经被原做者删除干净,只有google cache中的能够看一下其以前的内容。在pypi上的ssh_decorate的地址是:https://pypi.org/project/ssh-decorate。当前的恶意包也已经被pypi移除,目前页面也没法找到了。git
这个backdoor的事件最先被爆出是reddit上的用户发帖,而且贴出了恶意代码片断,如图1所示。从图中能够看出,恶意代码的实现是比较直接的,没有代码加密、混淆之类的对抗手段。主要的动做就是发送ssh服务器的用户名,密码,ip地址,端口,私钥信息到远程服务器。服务器地址:http://ssh-decorate.cf/index.php。这其中的很重要一点就是其收集了密码和私钥信息。有了这些信息,至关于盗取了ssh服务器的帐户。再看这个攻击者的服务器网址,可见域名仍是有很大迷惑性的,使用ssh-decorate字符串。另外,有安全研究人员经过其DNS Record系统发现这个域名注册时间是2018-05-08。也就是此次攻击这个域名的存活期,其实还比较短。github