调查一个新发现的僵尸网络的研究人员承认,他们“不小心”关闭了僵尸网络。11月,Akamai的几位安全专家描述了他们发现的一个用Golang编程语言编写的僵尸网络。该僵尸网络通过SSH和弱凭证劫持多台PC发起分布式拒绝服务(DDoS)攻击并进行加密货币挖矿。该僵尸网络被研究人员命名为KmsdBot,同时针对Windows和Linux设备,针对科技公司、游戏公司和豪华汽车制造商。在今天发布的后续博客文章中,研究人员拉里·卡什多拉(LarryCashdollar)描述了研究团队对僵尸网络的更深入分析实际上是如何促成其灭亡的。正如Cashdollar所描述的那样,为了更深入地了解KmsdBot的工作原理,研究团队在受控环境中向机器人发送命令,并得到了意想不到的结果:“有趣的是,在格式不同的正确命令之后,机器人实际上停止发送攻击命令。自然地,我们开始调查。你不是每天都会遇到这样的僵尸网络:一个威胁演员毁掉了他的杰作。”后来证明,编写机器人的人并没有付出足够的努力来构建错误检查系统来正确验证发送给机器人的命令。也许负责KmsdBot的恶意黑客认为只有那些会向僵尸网络发送命令的人才会小心不要打错字……我们在测试期间注意到,在观察到发送攻击命令的格式错误的命令后,僵尸网络停止了。命令是!bigdatawww.bitcoin.com443/3033100。眼尖的读者会注意到目标网站和端口之间缺少一个空格。机器人代码中没有内置错误检查功能来验证命令是否格式正确。僵尸网络因输入格式错误的命令而崩溃。而且它无法自行恢复,这意味着唯一的出路是有人再次感染计算机。是的,只是一个粗心的错字就消除了攻击威胁。CashDollar总结道:“这个僵尸网络一直在攻击一些非常大的奢侈品牌和游戏公司,但因为一次失败的订单,它无法继续攻击。”人们会犯错误。程序员也是如此(恶意的或良性的)。我们都会犯错。开发恶意僵尸网络的人也不例外。在这种情况下,我们可以感谢坏人没有投入更多精力来开发安全稳定的代码。但我们不应该犯傲慢的错误,因为我们其他人也会犯错误。所有组织都必须认真审视他们的安全并遵循一些简单的步骤来加强他们的防御。例如,为避免成为僵尸网络的受害者,明智的做法是验证没有为任何服务器或应用程序使用默认密码,并确保没有使用弱凭据来保护任何系统。此外,您公司使用的所有软件都应该打补丁和更新,以防止有人暴力破解凭据,并且应该部署SSH连接的公钥身份验证,以帮助防止未经授权的访问。
