編輯推薦
在現今的互聯網公司中,産品綫綿延復雜,安全防禦體係無時無刻不在應對新的挑戰。哪怕是擁有豐富工作經驗的安全從業者,在麵對層齣不窮的攻擊手段和海量日誌數據時也會望洋興嘆。機器學習、深度學習是這些問題天然契閤的解決方案,在數據量以指數級不斷增長的未來,甚至有可能是唯*的齣路。當AI遇到安全時,如何快速進化,本書給齣瞭實戰方案。
本書作者是百度安全專傢,他用風趣幽默的語言、深入淺齣的方法詮釋瞭捲積神經網絡和循環神經網絡這兩大深度學習算法,及其在Web安全領域中的實際應用,非常實用,包括所有案例源代碼,以及公開的測試數據,可極大地降低學習成本,使讀者快速上手實踐。
內容簡介
在現今的互聯網公司中,産品綫綿延復雜,安全防禦體係無時無刻不在應對新的挑戰。哪怕是擁有豐富工作經驗的安全從業者,在麵對層齣不窮的攻擊手段和海量日誌數據時也會望洋興嘆。機器學習、深度學習是這些問題天然契閤的解決方案,在數據量以指數級不斷增長的未來,甚至有可能是唯*的齣路。當AI遇到安全時,如何快速進化,本書給齣瞭實戰方案。
本書是作者推齣AI+安全暢銷書《Web安全之機器學習》之後又一力作。本書首先介紹如何打造自己的深度學習工具箱,包括TensorFlow、TFLearn等深度學習庫的安裝以及使用方法。接著介紹捲積神經網絡和循環神經網絡這兩大深度學習算法的基礎知識。特彆著重介紹在生産環境搭建深度學習平颱需要使用的開源組件,包括Logstash、Kafka、Storm、Spark等。隨後講解瞭11個使用機器學習技術解決實際安全問題的案例,包括驗證碼識彆、垃圾郵件識彆、負麵評論識彆、騷擾短信識彆、Linux後門檢測、惡意操作行為檢測、Webshell檢測、智能掃描、DGA域名檢測、惡意程序分類識彆、反信用卡欺詐。本書針對每一個算法都給齣瞭具體案例,理論結閤實際,講解清晰,文筆幽默,適閤有信息安全基礎知識的網絡開發與運維技術人員參考。
主要內容包括:
1.如何基於TensorFlow和TFLearn打造自己的深度學習工具箱。
2.如何基於Logstash、Kafka、Storm、Spark等打造深度學習的生産環境。
3.如何在MNIST數據集上實現驗證碼識彆。
4.如何在安然數據集上實現垃圾郵件檢測。
5.如何在IMDB數據集上實現負麵評論識彆。
6.如何在SMSSpamCollection數據集上實現騷擾短信識彆。
7.如何在ADFA-LD數據集上實現Linux後門檢測。
8.如何在SEA數據集上實現惡意操作行為檢測。
9.如何在MIST數據集上實現惡意程序分類識彆。
10.如何在Kaggle公開的數據集上實現信用卡欺詐檢測。
11.如何在GitHub公開的數據集上實現Webshell檢測,智能掃描和DGA域名檢測。
作者簡介
劉焱,百度安全Web防護産品綫負責人,負責百度安全的Web安全産品,包括防DDoS、Web應用防火牆、Web威脅感知、服務器安全以及安全數據分析等,具有近十年雲安全及企業安全從業經曆,全程參與瞭百度企業安全建設。研究興趣包括機器學習、Web安全、僵屍網絡、威脅情報等。他是FreeBuf專欄作傢、i春鞦知名講師,多次在OWASP、電子學會年會等發錶演講,參與編寫瞭《大數據安全標準白皮書》。他還建立瞭微信公眾號“兜哥帶你學安全”,分享瞭大量信息安全技術知識。AI+安全暢銷書《Web安全之機器學習》的作者。
精彩書評
此亦篤信之年,此亦大惑之年。此亦多麗之陽春,此亦絕念之窮鼕。人或萬事俱備,人或一事無成。我輩其青雲直上,我輩其黃泉永墜。
——《雙城記》狄更斯 著,魏易 譯
如今是一個人工智能興起的年代,也是一個黑産猖獗的年代;是一個機器學習算法百花齊放的年代,也是一個隱私泄露、惡意代碼傳播、網絡攻擊肆虐的年代。AlphaGo碾壓柯潔之後,不少人擔心AI會搶瞭人類的工作,然而信息安全領域專業人纔嚴重匱乏,極其需要AI來補充專業缺口。
兜哥的這本書展示瞭豐富多彩的機器學習算法在錯綜復雜的Web安全中的應用,是一本非常及時的人工智能在信息安全領域的入門讀物。正如書中所述,沒有*好的算法,隻有*閤適的算法。雖然這幾年深度學習呼聲很高,但各種機器學習算法依然在形形色色的應用場景中有著各自獨特的價值,熟悉並用好這些算法在安全領域的實戰中會起到重要的作用。
——Lenx,百度首席安全科學傢,安全實驗室負責人
存儲和計算能力的爆發式增長,讓我們獲得瞭比以往更全麵、更實時獲取以及分析數據的潛在能力,但麵對産生的海量信息,如何快速準確地將其轉化為業務需求,則需要依賴一些非傳統的手段。就安全領域來說,原先依賴於規則的問題解法過於受限於編寫規則的安全專傢自身知識領域的廣度和深度,以及對於問題本質的理解能力。但我們都知道,安全漏洞層齣不窮,攻擊利用的方式多種多樣,僅僅依賴於規則來發現問題在現階段的威脅形勢下慢慢變得捉襟見肘。麵對威脅,企業安全人員需要打造這樣一種能力,它能夠讓我們脫離單純的點對點的競爭,case by case的對抗,轉而從更高的維度上來審視業務,發現潛在的異常事件,而這些異常事件可能會作為安全人員深入調查的起點。這種能力能讓我們找到原有安全能力盲區以及發現新威脅,促使我們的技能水平以及對威脅的響應速度持續提升。同時這種能力和防禦體係結閤,也有可能讓我們在麵對某些未知威脅時,達到以不變應萬變、獲得天然免疫的理想狀態。兜哥的這本書或許是開啓我們這種能力的一把鑰匙。本書用通俗易懂的語言介紹瞭機器學習原理,結閤實際企業中的安全業務需求場景,讓廣大安全人員能夠感受到這種“如日中天”的技術在傳統安全領域內如何大放異彩。最後,May the force be with you。
——王宇,螞蟻金服安全總監
百度是擁有海量互聯網數據的幾傢公司之一,兜哥是百度前IT安全負責人,現Web安全産品負責人,研發的産品不僅應用於百度公司內部檢測網絡攻擊,也應用在多個百度的商業安全産品中,服務於數萬站長。兜哥的團隊是國內*早一批將機器學習算法應用於網絡安全場景的團隊之一,本書聚集瞭兜哥及其團隊多年的安全實踐經驗,覆蓋瞭互聯網公司可能會遇到的多個安全場景, 比如用圖算法檢測WebShell等,非常好地解決瞭百度商業安全客戶被入侵留後門的問題。兜哥將自己的技術選型、算法、代碼傾囊相授,我相信本書的齣版將會大大降低安全研發工程師轉型安全數據分析專傢的難度,值得推薦。
——黃正,百度安全實驗室X-Team負責人,MSRC 2016中國區
伴隨著互聯網的爆炸式發展,網絡安全已上升到國傢戰略層麵,能直接看到效果的安全能力建設得到高度重視。與此同時,安全團隊卻又不得不麵對百花齊放的業務場景、大規模的數據中心,以及愈加劇烈、復雜和不確定性的網絡攻擊。如何在傳統攻防對抗之外尋找更有效、可落地的對抗方式,已成為各大企業安全團隊思考的重點。所幸,近些年來,計算和存儲資源已不再是安全團隊的瓶頸,安全團隊自身在工程能力上也已非昔日吳下阿濛。機器學習成為近些年來安全領域裏第*批從學術走嚮工業的應用方嚮,並已有很多階段性的實踐成果。很欣喜地看到兜哥一直在推進機器學習係列的文章並編寫瞭此書。此書重點講解瞭常見機器學習算法在不同場景下的潛在應用和實踐,非常適閤初學者入門。希望此書能夠啓發更多的同行繼續實踐和深耕機器學習應用這個方嚮,並給安全行業帶來更多的反饋和討論。
——程岩,京東安全首席架構師
網絡安全是信息時代的重大挑戰和核心課題之一,而機器學習是迄今為止人工智能大廈*堅實穩固的基石。本書從基本原理齣發,通過實際案例深入介紹和分析機器學習技術和算法在網絡安全領域的應用與實踐,是一本不可多得的入門指南和參考手冊。
——姚聰博士,北京曠視科技(Face++)有限公司高級研究員
目錄
對本書的贊譽
序
前言
第1章 打造深度學習工具箱1
1.1 TensorFlow1
1.1.1 安裝1
1.1.2 使用舉例3
1.2 TFLearn3
1.3 PaddlePaddle4
1.3.1 安裝5
1.3.2 使用舉例6
1.4 Karas7
1.5 本章小結9
第2章 捲積神經網絡10
2.1 傳統的圖像分類算法10
2.2 基於CNN的圖像分類算法11
2.2.1 局部連接11
2.2.2 參數共享13
2.2.3 池化15
2.2.4 典型的CNN結構及實現16
2.2.5 AlexNet的結構及實現19
2.2.6 VGG的結構及實現24
2.3 基於CNN的文本處理29
2.3.1 典型的CNN結構30
2.3.2 典型的CNN代碼實現30
2.4 本章小結32
第3章 循環神經網絡33
3.1 循環神經算法概述34
3.2 單嚮循環神經網絡結構與實現36
3.3 雙嚮循環神經網絡結構與實現38
3.4 循環神經網絡在序列分類的應用41
3.5 循環神經網絡在序列生成的應用42
3.6 循環神經網絡在序列標記的應用43
3.7 循環神經網絡在序列翻譯的應用44
3.8 本章小結46
第4章 基於OpenSOC的機器學習框架47
4.1 OpenSOC框架47
4.2 數據源係統48
4.3 數據收集層53
4.4 消息係統層57
4.5 實時處理層60
4.6 存儲層62
4.6.1 HDFS62
4.6.2 HBase64
4.6.3 Elasticsearch65
4.7 分析處理層66
4.8 計算係統67
4.9 實戰演練72
4.10 本章小結77
第5章 驗證碼識彆78
5.1 數據集79
5.2 特徵提取80
5.3 模型訓練與驗證81
5.3.1 K近鄰算法81
5.3.2 支持嚮量機算法81
5.3.3 深度學習算法之MLP82
5.3.4 深度學習算法之CNN83
5.4 本章小結87
第6章 垃圾郵件識彆88
6.1 數據集89
6.2 特徵提取90
6.2.1 詞袋模型90
6.2.2 TF-IDF模型93
6.2.3 詞匯錶模型95
6.3 模型訓練與驗證97
6.3.1 樸素貝葉斯算法97
6.3.2 支持嚮量機算法100
6.3.3 深度學習算法之MLP101
6.3.4 深度學習算法之CNN102
6.3.5 深度學習算法之RNN106
6.4 本章小結108
第7章 負麵評論識彆109
7.1 數據集110
7.2 特徵提取112
7.2.1 詞袋和TF-IDF模型112
7.2.2 詞匯錶模型114
7.2.3 Word2Vec模型和Doc2Vec模型115
7.3 模型訓練與驗證119
7.3.1 樸素貝葉斯算法119
7.3.2 支持嚮量機算法122
7.3.3 深度學習算法之MLP123
7.3.4 深度學習算法之CNN124
7.4 本章小結127
第8章 騷擾短信識彆128
8.1 數據集129
8.2 特徵提取130
8.2.1 詞袋和TF-IDF模型130
8.2.2 詞匯錶模型131
8.2.3 Word2Vec模型和Doc2Vec模型132
8.3 模型訓練與驗證134
8.3.1 樸素貝葉斯算法134
8.3.2 支持嚮量機算法136
8.3.3 XGBoost算法137
8.3.4 深度學習算法之MLP140
8.4 本章小結141
第9章 Linux後門檢測142
9.1 數據集142
9.2 特徵提取144
9.3 模型訓練與驗證145
9.3.1 樸素貝葉斯算法145
9.3.2 XGBoost算法146
9.3.3 深度學習算法之多層感知機148
9.4 本章小結149
第10章 用戶行為分析與惡意行為檢測150
10.1 數據集151
10.2 特徵提取152
10.2.1 詞袋和TF-IDF模型152
10.2.2 詞袋和N-Gram模型154
10.2.3 詞匯錶模型155
10.3 模型訓練與驗證156
10.3.1 樸素貝葉斯算法156
10.3.2 XGBoost算法157
10.3.3 隱式馬爾可夫算法159
10.3.4 深度學習算法之MLP164
10.4 本章小結166
第11章 WebShell檢測167
11.1 數據集168
11.1.1 WordPress168
11.1.2 PHPCMS170
11.1.3 phpMyAdmin170
11.1.4 Smarty171
11.1.5 Yii171
11.2 特徵提取172
11.2.1 詞袋和TF-IDF模型172
11.2.2 opcode和N-Gram模型174
11.2.3 opcode調用序列模型180
11.3 模型訓練與驗證181
11.3.1 樸素貝葉斯算法181
11.3.2 深度學習算法之MLP182
11.3.3 深度學習算法之CNN184
11.4 本章小結188
第12章 智能掃描器189
12.1 自動生成XSS攻擊載荷190
12.1.1 數據集190
12.1.2 特徵提取194
12.1.3 模型訓練與驗證195
12.2 自動識彆登錄界麵198
12.2.1 數據集198
12.2.2 特徵提取199
12.2.3 模型訓練與驗證201
12.3 本章小結203
第13章 DGA域名識彆204
13.1 數據集206
13.2 特徵提取207
13.2.1 N-Gram模型207
13.2.2 統計特徵模型208
13.2.3 字符序列模型210
13.3 模型訓練與驗證210
13.3.1 樸素貝葉斯算法210
13.3.2 XGBoost算法212
13.3.3 深度學習算法之多層感知機215
13.3.4 深度學習算法之RNN218
13.4 本章小結221
第14章 惡意程序分類識彆222
14.1 數據集223
14.2 特徵提取226
14.3 模型訓練與驗證228
14.3.1 支持嚮量機算法228
14.3.2 XGBoost算法229
14.3.3 深度學習算法之多層感知機230
14.4 本章小結231
第15章 反信用卡欺詐232
15.1 數據集232
15.2 特徵提取234
15.2.1 標準化234
15.2.2 標準化和降采樣234
15.2.3 標準化和過采樣236
15.3 模型訓練與驗證239
15.3.1 樸素貝葉斯算法239
15.3.2 XGBoost算法243
15.3.3 深度學習算法之多層感知機247
15.4 本章小結251
前言/序言
序
當前正是一個技術變革引發各行業變革的時代,雲計算、大數據、物聯網等新技術在為各行業帶來新機遇的同時,也帶來瞭新的安全漏洞和風險。新的風險當然就需要新的網絡安全技術來針對解決,機器學習技術無疑是新一代網絡安全技術中的佼佼者。新一代網絡安全産品和解決方案已經普遍將機器學習當做必要功能來進行開發,機器學習的概念如何落實於産品,落實於業務,落實在具體場景中,已成為國內網絡安全産業普遍關注和探索的問題。本書是目前為止我所閱讀過的國內關於機器學習應用於網絡安全應用領域最詳細和實用的參考讀物。作者基於一綫實際業務實踐,不僅深入介紹瞭深度學習的相關算法和開源技術,而且提供瞭一係列有關機器學習的業務場景的具體案例。所以強烈推薦所有網絡安全應用的從業人員和對機器學習領域感興趣的愛好者們人手一本!
金湘宇,君源創投管理閤夥人
2017年9月於北京
PREFACE
前 言
網絡安全一直和AI相伴相生,從網絡安全誕生的那一天起,人們就一直試圖使用自動化的方式去解決安全問題。網絡安全專傢一直試圖把自己對網絡威脅的理解轉換成機器可以理解的方式,比如黑白名單、正則錶達式,然後利用機器強大的計算能力,夜以繼日地從流量、日誌、文件中尋找似曾相識的各類威脅。似乎這一切就是那麼天經地義並無懈可擊。但事情似乎又沒有那麼簡單,機器其實並沒有完全學到人的經驗,網絡安全專傢一眼就可以識破的變形,對於機器卻難以理解;更可怕的是,惡意程序數量呈指數級增長,各類新型攻擊方式層齣不窮,0day的齣現早已超過一綫明星齣現在新聞頭條的頻率,依靠極其有限的網絡專傢總結的經驗和幾個安全廠商所謂的樣本交換,已經難以應付現在的網絡安全威脅。如果安全專傢一眼就可以識破的威脅,機器也能夠自動化發現甚至做齣相應的響應,這已經是很大的進步;如果讓機器可以像阿爾法狗理解圍棋一樣理解網絡威脅,那將是巨大進步。事情又迴到最初的那個問題,如何能讓機器可以真正學會識彆安全威脅?機器學習可能是一個不錯的答案。
本書麵嚮信息安全從業人員、大專院校計算機相關專業學生以及信息安全愛好者、機器學習愛好者,對於想瞭解人工智能的CTO、運維總監、架構師同樣也是一本不錯的科普書籍。如果讀者看完本書,在工作學習中遇到問題時可以想起一到兩種算法,那麼我覺得就達到效果瞭;如果讀者讀完本書,可以像使用printf一樣使用SVM、樸素貝葉斯等算法,那麼這本書就相當成功瞭。
我寫本書的初衷是幫助信息安全從業者瞭解機器學習,可以動手使用簡單的機器學習算法解決實際問題。在寫作中盡量避免生硬的說教,能用文字描述的盡量不用冷冰冰的公式,能用圖和代碼說明的盡量不用多餘的文字。正如霍金所言“多寫1個公式,少一半讀者”,希望反之亦然。
機器學習應用於安全領域遇到的最大問題就是缺乏大量的黑樣本,即所謂的攻擊樣本,尤其相對於大量的正常業務訪問,攻擊行為尤其是成功的攻擊行為是非常少的,這就給機器學習帶來瞭很大挑戰。本書很少對不同算法進行橫嚮比較,也是因為在不同場景下不同算法的確錶現差彆很大,很難說深度學習就一定比樸素貝葉斯好,也很難說支持嚮量機就比不過捲積神經網絡,拿某個具體場景進行橫評意義不大,畢竟選擇算法不像購買SUV,可以拿幾十個參數評頭論足,最後還是需要大傢結閤實際問題去選擇。
本書的第1章主要介紹瞭如何打造自己的深度學習工具箱,介紹瞭本書使用的TensorFlow、TFLearn等深度學習庫的安裝以及使用方法。第2章和第3章介紹瞭捲積神經網絡和循環神經網絡這兩大深度學習算法的基礎知識。第4章介紹在生産環境搭建機器學習平颱需要使用的開源組件,包括Logstash、Kafka、Storm、Spark等,並且介紹瞭GPU和TPU的基礎知識。第5章到第15章,介紹瞭11個使用機器學習技術解決實際安全問題的案例,包括驗證碼識彆、垃圾郵件識彆、負麵評論識彆、騷擾短信識彆、Linux後門檢測、用戶行為分析與惡意行為檢測、WebShell檢測、智能掃描器、DGA域名檢測、惡意程序分類識彆、反信用卡欺詐,每個案例都使用互聯網公開的數據集並配有基於Python的代碼,代碼和數據集可以在本書配套的GitHub下載。
本書是我所著機器學習三部麯的第二部,第一部主要以機器學習常見算法為主綫,利用生活中的例子和具體安全場景來介紹機器學習常見算法,是機器學習入門書籍,便於讀者可以快速上手。全部代碼都能在普通PC上運行。本書將重點介紹深度學習,並以具體的11個案例介紹機器學習的應用,定位是麵嚮具有一定機器學習基礎或者緻力於使用機器學習解決工作中問題的讀者,本書將重點放在問題的解決而不是算法的介紹。由於深度學習通常計算量已經超過瞭PC的能力,部分代碼需要在服務器甚至GPU上運行,不過這不影響大傢的閱讀與學習。第三部將重點介紹強化學習和對抗網絡,並利用若乾虛構安全
Web安全之深度學習實戰 下載 mobi epub pdf txt 電子書 格式