拼寫錯誤、代碼中少打了個空格:摧毀了 DDoS 僵尸網(wǎng)絡
調查一個新發(fā)現(xiàn)的僵尸網(wǎng)絡的研究人員近日承認,他們“不小心”破壞了這個僵尸網(wǎng)絡。
今年11月份,Akamai公司的幾位安全專家描述了他們發(fā)現(xiàn)的一個用Golang編程語言編寫的僵尸網(wǎng)絡。該僵尸網(wǎng)絡通過SSH和弱憑據(jù)劫持眾多PC,以發(fā)動分布式拒絕服務(DDoS)攻擊,并從事挖掘加密貨幣的勾當。
該僵尸網(wǎng)絡被研究人員稱之為KmsdBot,既攻擊Windows設備,還攻擊Linux設備,專門找科技公司、游戲公司和豪華汽車制造商下手。
研究人員Larry Cashdollar在近日發(fā)表的一篇后續(xù)博文中描述了該研究團隊對這個僵尸網(wǎng)絡更深入的研究分析如何實際上促使其滅亡。
正如Cashdollar所描述,為了更深入地了解KmsdBot的運作機理,研究團隊在受控環(huán)境中向僵尸程序(bot)發(fā)送了命令,卻得到了意想不到的結果:
“頗有意思的是,在一個格式不正確的命令之后,僵尸程序居然停止發(fā)送攻擊命令了。自然,我們開始調查。不是每天都會碰到這樣的僵尸網(wǎng)絡:威脅分子破壞了自己的杰作。”
后來才得知,編寫僵尸程序的人并沒有花足夠的精力來構建一個錯誤檢查系統(tǒng),以正確驗證發(fā)送給僵尸程序的命令。
也許負責KmsdBot的惡意黑客認為,只有那些會向僵尸網(wǎng)絡發(fā)送命令的人才會小心翼翼地避免出現(xiàn)任何拼寫錯誤……
我們在測試期間注意到,僵尸網(wǎng)絡在觀察到一個格式錯誤的命令發(fā)過來后,停止發(fā)送攻擊命令。這個命令是!bigdata www.bitcoin.com443 / 30 3 3 100。眼尖的讀者會注意到目標網(wǎng)站與端口之間少了一個空格。僵尸程序的代碼中沒有內置錯誤檢查功能,以驗證命令的格式是否正確。
由于輸入格式錯誤的命令,僵尸網(wǎng)絡因而崩潰。而且它也沒有辦法靠自己的力量恢復如初,這意味著唯一的出路就是有人再次感染這臺電腦。是的,僅僅一個不小心的拼寫錯誤就消滅了攻擊威脅。
CashDollar總結道:“這個僵尸網(wǎng)絡一直在攻擊一些非常大的奢侈品牌和游戲公司,然而正由于一次失敗的命令,它卻無法繼續(xù)攻擊下去。”
人總會犯錯。程序員(無論惡意的還是善意的)也如此。我們都會犯錯。那些開發(fā)惡意僵尸網(wǎng)絡的人也不例外。
就這個案例而言,我們要感謝不法分子沒有投入更多的精力來開發(fā)安全而穩(wěn)定的代碼。但我們不應該犯傲慢自大的錯誤,因為我們其他人也可能會犯錯誤。
所有組織都有必要認真地審視自身安全,并遵循幾個簡單的措施以加強防御。
比如說,為了避免淪為僵尸網(wǎng)絡的受害者,明智的做法是核查所有服務器或應用程序都沒有使用默認密碼,并確保沒有使用弱憑據(jù)來保護任何系統(tǒng)。此外,貴公司使用的所有軟件都應該打上補丁并及時更新,防止有人蠻力破解憑據(jù),還應該部署面向SSH連接的公鑰驗證,以幫助防止未經(jīng)授權的訪問。