行業(yè)動態(tài)

越來越多的網絡攻擊背后,究竟發(fā)生了什么?

來源:聚銘網絡    發(fā)布時間:2018-03-18    瀏覽次數:
 

信息來源:51cto

你一定已經看過太多像是”某國指控它國對其發(fā)動網絡攻擊”、“某公司遭遇嚴重信息泄露事件,數百萬用戶數據被盜”等涉及網絡攻擊事件的新聞。小編用數據分析嘗試對這場“陰謀”一探究竟。

什么是網絡攻擊

在今天的媒體上,你一定已經看過太多像是”某國指控它國對其發(fā)動網絡攻擊”,“某公司遭遇嚴重信息泄露事件,數百萬用戶數據被盜”等涉及網絡攻擊事件的新聞。如果倒霉一點,你還可能就是這種惡性事件的受害者,并可能有一天打開電腦,突然發(fā)現自己眼前的屏幕被鋪滿了這樣的字句:

“你的信息已被加密,想要恢復的話,交錢吧。”

這些都是網絡攻擊事件——旨在盜竊錢財、金融數據、知識產權或干擾某一目標公司的日常經營的惡意網絡行動,它們絕大多數時候是由犯罪分子發(fā)動的。國家有時也會成為攻擊目標,一些所謂的“政府支持的網絡攻擊”會嘗試竊取宿敵國家的機密文件,或者僅僅是為了給對方發(fā)出一個警告信號。

據粗略統(tǒng)計,2015年全球因網絡攻擊造成的損失達到5000億美元。是谷歌全年900億美元的現金流的5倍還多。

在這篇文章中,我們希望通過數據分析的方式,來探究這些造成巨額損失的網絡犯罪的特點,進一步了解它們的行為方式以及帶來的影響。

我使用Scrapy對網絡攻擊事件庫網站Hackmageddon進行爬蟲爬取,以收集可供分析的信息。Hackmageddon從2011年開始記載各種網絡攻擊事件,每15天會更新一個統(tǒng)計表。我的爬蟲對網站的目錄和次級目錄進行分析,不過在過程中我了解到Scrapy不如Selenium那樣,能與瀏覽器有很好的自動化的互動。

我從2011年網站的第一張表格開始,在過程中遇到不少挑戰(zhàn)。一個問題是,它無法自動從一個表格跳到下一個。這個網站每個頁面底部有翻頁按鈕,我讓我的爬蟲對這個按鈕的鏈接發(fā)起fetch請求,以進入下一頁。另一個問題是,Hackmageddon每年都改變它的表格結構。所以我使用了控制流來解決這個問題,最終我?guī)缀跖廊×巳烤W站,爬取的信息包括日期、發(fā)起者、目標、描述、攻擊類型、目標等級以及國別。

(圖片說明:項目獲取的部分數據)

基本數據展示

在分析數據前要先清洗數據。如我所料,爬取的數據有很多缺失。由于許多網絡攻擊的動機和黑客身份經常是無法知曉的,這部分的數據缺失在我預料中。我使用Python的Pandas library來進行數據清洗。在清理數據之后我開始進行可視化。最開始的簡單分析揭示了一些有趣的現象。美國是受攻擊最多的國家,排在第二到第四位是“>1”,英國,印度?!?gt;1”是指“同一個黑客攻擊了一個以上國家”的情況。

我爬取數據的目的之一,就是想知道這些攻擊行動背后的動機。下圖展示了攻擊目標中不同類型的組織所占比例。政府部門和個人占據前二位置,接下來是教育機構。

接下來的圖表展示了網絡攻擊背后的動機。網絡犯罪占比最多,達71%。網絡犯罪針的典型場景是為了獲取網絡權限。電腦被用作武器,來發(fā)動像DoS攻擊等犯罪活動。

網絡間諜(Cyber Espionage)的目的則是非法獲取涉密信息,尤其是政府或其他組織的保密信息。

網絡戰(zhàn)爭的目的則是破壞一個國家或組織,尤其是出于軍事或策略性的目的而刻意攻擊信息系統(tǒng)。

Hacktivism就更加寬泛,它指的是未經授權進入電腦系統(tǒng),并展開各種侵擾行為,從而達到某種政治或社會目的的行為。

接下來的問題是,網絡攻擊都包括哪些類型,以及誰是最臭名昭著的黑客。

下圖展示了網絡攻擊的類型。劫持賬戶、定向攻擊、DDos和惡意軟件占據前四。

接下來的圖告訴我們誰是最“有名”的黑客。排在第一位的匿名者組(Anoynymous)比第二名的OurMine多發(fā)動了75次網絡攻擊。

匿名者組織因其一系列針對政府、宗教團體及公司網站的DDoS攻擊而出名。他們也被認為是網絡世界的羅賓漢,2012年時代周刊形容匿名者是當年的“百大影響人物”。

OurMine大多數時候會將目標對準明星。被他們黑掉過推特賬號的明星包括維基百科聯合創(chuàng)始人吉米威爾斯、Pokémon Go的設計者約翰漢克、推特CEO杰克多西、谷歌CEO皮查伊以及Facebook的扎克伯格。

接下來的圖表顯示了各個黑客最常用的攻擊方式。匿名者進行了30次DDoS,OurMine發(fā)動了20次賬戶劫持。

下圖顯示,一個名為Guccifer 2.0的黑客對美國的政黨發(fā)動了9次攻擊,朝鮮大多數時候在對韓國發(fā)動網絡攻擊。Eggfather則將在線論壇作為攻擊對象,并將獲取的用戶信息和密碼轉儲(Dump)。

對非結構化語言的文本挖掘

在爬取的數據中,有很多非結構化數據。我決定對它們進行文本挖掘。我使用了Python的Scikit-learn包用于機器學習,NLTK包用于自然語義處理。

首先是詞語切分(Tokenization)。Token是指符號,包括單詞、詞組乃至一句話。詞語切分(Tokenization)就是把一段話分解成單個的單詞、詞組和符號等要素。在這一過程中,標點符號等標記會被舍棄。

其次是TF-IDF向量化。TF意思是詞頻(Term Frequency),IDF意思是逆向文件頻率(Inverse Document Frequency),它們用來反映一個詞在一個文檔中的重要性。TF-IDF值隨著一個單詞在文檔中出現次數的增加而形成比例增長,但同時與這個單詞在整個語料庫中出現的頻率成反比。因為這樣可以避免那些在整體上,本來就比其他單詞更頻繁出現的單詞帶來的影響。它的輸出值是一個向量。

接下來余弦相似性。余弦相似性通過測量兩個向量的夾角的余弦值來度量它們之間的相似性。

兩個向量有相同的指向時,余弦相似度的值為1;兩個向量夾角為90°時,余弦相似度的值為0;兩個向量指向完全相反的方向時,余弦相似度的值為-1。余弦相似度通常用于正空間,因此給出的值為0到1之間。

然后我還使用了多維標度(Multidimensional Scaling)。多維標度的目的是對一組項目的接近性(比如相似性、距離)的范式進行可視化的程序。我將各類網絡攻擊事件放在圖中,一些彼此相似的攻擊事件會離得更近,反之亦反。這是一種非線性降維的方法。

最后是K-平均算法(K-means Clustering)。K-平均聚類的目的是:把n個點劃分到k個聚類中,使得每個點都屬于離它最近的均值(此即聚類中心)對應的聚類,以之作為聚類的標準。這需要將數據聚類成k個組,k是預先定義好的,隨機選擇k個點作為聚類中心,然后依據歐氏距離函數來將各個觀察目標放置在距離它們最近的中心附近。

(圖片說明:原圖為嵌入式的D3交互)

在我用D3做的可視化交互圖中,鼠標懸浮于每個點上時就會顯示被攻擊的組織名稱,右下角是圖說,顯示了每個聚類中最常出現的詞組。一共有12個不同顏色標出的聚類。

比如,第一組海綠色的聚類,在圖說中標出的詞組為“轉儲、密碼、用戶名、記錄”。

在這組聚類中,各個被攻擊對象彼此相似,大多數是網站。黑客往往將它們用戶的用戶名、密碼等進行了轉儲。

根據上面的可視化圖表,政府組織往往會歸類到7、8或11聚類,因為政府有大量涉密檔案而黑客總希望將之偷走或公之于眾。醫(yī)療機構則多歸于6組,黑客希望獲取用戶數據和記錄。金融機構往往在12組,因為其數據庫也是保密的。在線游戲網站更經常受到DDoS攻擊。

受攻擊最多的是政府組織。Guccifer2.0涉及2016年大選的網絡攻擊行動。

賬戶劫持是最常見的攻擊類型。

“泄漏、要求、數據庫、匿名者”的這組聚類有最多的點,這說明,大多數攻擊泄漏了信息,黑進了數據庫,而匿名者發(fā)動了最多的網絡攻擊。

 
 

上一篇:2018年03月18日 聚銘安全速遞

下一篇:惡意廣告程序 RottenSys 感染近 500 萬臺 Android 設備