本書是國內首部機器學習應用於Web安全的作品,作者是百度安全專傢,他用風趣幽默的語言詮釋瞭超過15種的機器學習算法,及其在Web安全領域中的實際應用,非常實用,包括所有案例源代碼,以及公開的測試數據,可極大地降低學習成本,使讀者快速上手實踐。
在現今的互聯網公司中,産品綫綿延復雜,安全防禦體係無時無刻不在應對新的挑戰。哪怕是擁有豐富工作經驗的安全從業者,在麵對層齣不窮的攻擊手段和海量日誌數據時也會望洋興嘆。機器學習是這些問題天然契閤的解決方案,在數據量以指數級不斷增長的未來,甚至有可能是齣路
本書由百度安全專傢撰寫,零基礎學習智能化Web安全技術指南,二十多位業界專傢聯袂推薦。本書首先介紹主流的機器學習工具,以及Python應用於機器學習的優勢,並介紹Scikit-Learn環境搭建、TensorFlow環境搭建。接著介紹機器學習的基本概念和Web安全基礎知識。然後深入講解幾個機器學習算法在Web安全領域的實際應用,如K近鄰、決策樹、樸素貝葉斯、邏輯迴歸、支持嚮量機、K-Means算法、FP-growth、隱式馬爾可夫、有嚮圖、神經網絡等,還介紹瞭深度學習算法CNN、RNN。本書針對每一個算法都給齣瞭具體案例,理論結閤實際,講解清晰,文筆幽默,適閤有信息安全基礎知識的網絡開發與運維技術人員參考。
劉焱 百度安全Web防護産品綫負責人,負責百度安全的Web安全産品,包括防DDoS、Web應用防火牆、Web威脅感知、服務器安全以及安全數據分析等,具有近十年雲安全及企業安全從業經曆,全程參與瞭百度企業安全建設。研究興趣包括機器學習、Web安全、僵屍網絡、威脅情報等。他是FreeBuf專欄作傢、i春鞦知名講師,多次在OWASP 、電子學會年會等發錶演講,參與編寫瞭《大數據安全標準白皮書》。他還建立瞭微信公眾號:“兜哥帶你學安全”,發布瞭大量信息安全技術知識。
此亦篤信之年,此亦大惑之年。此亦多麗之陽春,此亦絕念之窮鼕。人或萬事俱備,人或一事無成。我輩其青雲直上,我輩其黃泉永墜。——《雙城記》狄更斯著,魏易譯
如今是一個人工智能興起的年代,也是一個黑産猖獗的年代;是一個機器學習算法百花齊放的年代,也是一個隱私泄露、惡意代碼傳播、網絡攻擊肆虐的年代。AlphaGo碾壓柯潔之後,不少人擔心AI會搶瞭人類的工作,然而信息安全領域專業人纔嚴重匱乏,極其需要AI來補充專業缺口。
兜哥的這本書展示瞭豐富多彩的機器學習算法在錯綜復雜的Web安全中的應用,是一本非常及時的人工智能在信息安全領域的入門讀物。正如書中所述,沒有好的算法,隻有閤適的算法。雖然這幾年深度學習呼聲很高,但各種機器學習算法依然在形形色色的應用場景中有著各自獨特的價值,熟悉並用好這些算法在安全領域的實戰中會起到重要的作用。
——Lenx,百度首席安全科學傢,安全實驗室負責人
存儲和計算能力的爆發式增長,讓我們獲得瞭比以往更全麵、實時地獲取以及分析數據的潛在能力,但麵對産生的海量信息如何快速準確地轉化為業務需求則需要依賴一些非傳統的手段。就安全領域來說,原先依賴於規則的問題解法過於受限於編寫規則的安全專傢自身知識領域的廣度和深度,以及對於問題本質的理解能力。但我們都知道,安全漏洞層齣不窮,攻擊利用的方式多種多樣,僅僅依賴於規則進行問題的發現在現階段的威脅形勢下慢慢變得捉襟見肘。麵對威脅,企業安全人員需要打造這樣一種能力,它能夠讓我們脫離單純的點對點的競爭,case by case的對抗,轉而從更高的維度上來審視業務,發現潛在的異常事件。這些異常事件可能會作為安全人員深入調查的起點,讓我們具備找到原有安全能力盲區以及發現新威脅的能力,使我們的技能水平以及對威脅的響應速度能持續提升。同時這種能力和防禦體係結閤,也有可能讓我們達到在麵對某些未知威脅時,以不變應萬變,獲得天然免疫的理想狀態。兜哥的這本書或許是開啓我們這種能力的一把鑰匙。本書通過介紹通俗易懂的機器學習原理,結閤實際企業中的安全業務需求場景,讓廣大安全人員能夠感受到這種“如日中天”的技術在傳統安全領域內如何大放異彩。最後,May the force be with you。
——王宇,螞蟻金服安全總監
百度是擁有海量互聯網數據的幾傢公司之一,兜哥是百度前IT安全負責人,現Web安全産品負責人,研發的産品不僅應用於百度公司內部檢測網絡攻擊,也應用在多個百度的商業安全産品中,服務於數萬站長。兜哥的團隊是國內極早一批將機器學習算法應用於網絡安全場景的團隊之一,本書聚集瞭兜哥及其團隊多年的安全實踐經驗,覆蓋瞭互聯網公司可能會遇到的多個安全場景, 比如用圖算法檢測WebShell等,非常好地解決瞭百度商業安全客戶被入侵留後門的問題。兜哥將自己的技術選型、算法、代碼傾囊相授,我相信本書的齣版將會大大降低安全研發工程師轉型安全數據分析專傢的難度,值得推薦。
——黃正,百度安全實驗室X-Team負責人。
在大數據時代,犯罪分子作案的手段越來越高明,手動分析的成本越來越高,效率也越來越低;與此同時,人工智能技術越來越成熟,安全與人工智能技術相結閤,纔能適應新的環境,推薦安全從業者學習這本書。
——桑文峰,神策數據創始人&CEO;
網絡世界的攻擊與防護對抗發展到今天,各種技術已經日趨專業和精細,通過古老的string-match的防禦方式越來越不能適應新的攻擊環境,對於想嘗試著把機器學習和安全相結閤的從業人員來說,閱讀本書是個很好的開端。
——趙林林,微步在綫技術閤夥人,前美團、高德安全負責人
就我有限的瞭解,在很長一段時間裏,安全技術和機器學習技術都是分彆演進的。安全問題幾乎會伴隨著任何新生事物而來,並與之同生長,這也使得安全研究人員往往會把注意力局限於關注事物的個體特徵而忽略其群體特徵;而有的時候,即使有意於群體特徵的研究,也可能會囿於工具和方法以緻難於寸進,這對安全問題的解決形成瞭事實上的約束。機器學習作為一種可以從另一個維度來解決問題的技術,則對此約束進行瞭相當程度的突破。用新工具去解決老問題,這要求對這兩者都有比較深入的瞭解(例如 AlphaGo),基於瞭解而進行實踐,基於實踐而予以總結分享,這樣的知識分享和傳遞,正是劉焱這本書的價值所在。
——張宇平,數盟CTO
在安全分析中要想用好機器學習,需要精通算法、懂得攻防、理解數據,三方麵的知識缺一不可。這樣的人固然難找,兜哥卻恰好是其中的一員。兜哥憑藉在一綫互聯網企業多年的安全實戰經驗給讀者奉上瞭這本滿滿都是乾貨的大作。書中沒有煩瑣的公式推演,一切用代碼說話,特彆適閤瞭解算法原理、不知道如何在實際中應用的人學習。我個人讀後深受啓發,也推薦給身邊每一個做安全數據分析的同行。
——周濤,啓明星辰“鴻雁”計劃首席研究員
在大數據時代潮流中,如何將大數據思想應用於網絡安全技術是一個非常重要的主題。本書將Web安全與機器學習相結閤,提齣以數據驅動為基礎,利用海量的數據資源分析Web惡意攻擊,以通俗易懂的語言講述瞭機器學習在Web安全領域多個方麵的應用。對Web安全以及大數據安全感興趣的人,這本書是一個很好的選擇。
——李琦,清華大學副研究員
伴隨著互聯網的爆炸式發展,網絡安全已上升到國傢層麵,按效果說話的安全能力建設得到高度重視。與此同時,安全團隊卻又不得不麵對百花齊放的業務場景、大規模的數據中心,以及愈加劇烈、復雜和不確定性的網絡攻擊。如何在傳統攻防對抗之外,尋找更有效、可落地的對抗方式,已成為各大企業安全團隊思考的重點。所幸,近些年來,計算和存儲資源已不是安全團隊的瓶頸,安全團隊自身在工程能力上也已非昔日吳下阿濛。機器學習成為近些年來安全領域裏第一批從學術走嚮工業的應用方嚮,並已有很多階段性的實踐成果。很欣喜地看到兜哥一直在推進機器學習係列的文章並編寫瞭此書。此書重點講解瞭常見機器學習算法在不同場景下的潛在應用和實踐,非常適閤初學者入門。希望此書能夠啓發更多的同行繼續實踐和深耕機器學習應用這個方嚮,並給安全行業帶來更多的反饋和討論。
——程岩,京東安全首席架構師
人工智能的技術發展正在不斷加速,是時候探討如何將機器學習應用於安全領域瞭。人工智能真的能在未來對抗網絡攻擊、自主保護我們的係統嗎?這本書打開瞭一道門。這不僅是一部機器學習的科普書,一部機器學習在安全場景下的實戰書,更是一部鼓勵技術創新應用的行動指南。
——謝忱,FreeBuf聯閤創始人,鬥象科技COO
安全正在發生變革,已經從專傢模式逐漸演變成係統化、平颱化,而隨著機器學習和大數據技術的發展,未來安全將逐漸智能化。而這種變化已經得到瞭驗證,在業務安全領域風控係統的基礎數據中,如IP和用戶畫像、設備指紋生成和識彆、規則的挖掘都使用大量的機器學習算法;在網絡安全領域,如何入侵檢測係統發現未知的攻擊、如何解決無效的攻擊行為也采用瞭大量的分類和關聯規則算法。兜哥作為互聯網企業的安全界資深研究者,一直對新技術的運用進行探索,這本書將為你打開安全智能化的大門。
——吳聖,58同城高級架構師
機器學習一直是高大上的領域,作者結閤自己的實際工作和研究,把機器學習在安全領域的應用講得深入淺齣、很接地氣,稍具基礎知識的讀者就可動手體驗應用機器學習的美妙感受。
——姚誌武,藉貸寶安全總監
縱觀安全行業近十餘年的攻擊方式,從早的單機小工具到如今分布式、大數據、自動化等攻擊方式,防禦的方式不得不隨之不斷升級,於是齣現各種雲安全産品,這些産品都能産生大量有價值的數據,但卻少有産品能夠真正利用這些數據實現聯動防禦,所以這些雲都是單朵的小雲。我們需要利用人工智能將這些數據進行聯動,進行多維度、高精度的深入分析,還原攻擊路徑,纔能真正實現態勢感知,防禦未知攻擊。而人工智能的基礎就是機器學習,讓機器自適應、自分析、自決策,未來的安全防禦必須具備這樣的特性。本書采用實例的方式講解機器學習在安全領域的應用,不僅能讓讀者瞭解到機器學習,還能讓讀者瞭解到攻擊方式的檢測手段,是一本難得的好書。
——尹毅,Sobug技術閤夥人,《代碼審計:企業級Web代碼安全架構》作者
在機器學習領域中,大多數的實用方嚮都錶現在圖像識彆、廣告推薦和個性畫像等方麵,但很少看見安全領域相關的機器學習方法和介紹,因為“安全”的概念是很模糊的,有的場景中,很少有閤適的模型、適用的參數,甚至沒有明確的算法。這本書介紹瞭基礎的機器學習應用和方法,並結閤部分特殊的場景對安全領域中較為常見和較為煩瑣的分析提供瞭很好的例子和思維模型,不論是安全從業人員或者是機器學習領域的研究者,都值得閱讀,可以從本書中獲得很多好的啓發和靈感。
——Kevin1986,搜狐資深安全研究員
不知道十餘年前,在兜哥剛剛踏上安全這條“不歸路”時,有沒有想過如今的工作會麵對多麼錯綜復雜的環境,擔負著數億用戶的信賴。在大型互聯網公司中,産品綫綿延復雜,每一個新産品的上綫,每一次版本的迭代更新,都有不可預知的安全問題齣現,安全防禦體係也無時無刻不在應對新的挑戰。哪怕是擁有豐富工作經驗的安全從業者,在麵對層齣不窮的攻擊手段和海量的日誌數據時也會望洋興嘆。機器學習是這些問題天然契閤的解決方案,在數據量以指數級不斷增長的未來,甚至有可能是一條的齣路。機器學習如今可以說是如日中天的熱詞,但對於初學者來說可能並不是很容易就能掌握的技能。將學習到的內容應用在安全工作中更是難上加難。這或許也是機器學習經常齣現在安全從業者視野中,卻鮮有人願意深入研究的原因之一吧。兜哥作為互聯網安全領域內機器學習的先導踐行者,可以說是從零開始,在不斷嘗試中摸索齣瞭一條新的道路。毫無疑問,這是一個艱難而有價值的過程。這本書作為走過這段曆程之後的總結與分享,兜哥將多年的工作經驗毫無保留地傾注於其中,以一個甲方安全人員的視角,將機器學習如何應用在Web安全工作的各個方麵,用詼諧易懂的語言娓娓道來。在一氣嗬成地讀罷兜哥親手遞過的樣章之後,我隻有一個想法:如今的Web安全領域,太需要這樣一本佳作瞭。或許未來的某一天,機器學習或者說人工智能已經成為瞭保護互聯網安全的中堅力量。迴頭一看,正是本書在路途的起點為我們指明瞭方嚮。
——幻泉,i春鞦教研中心總監
識彆各類攻擊一直是安全領域內難以解決的問題,由於語言的多樣性,利用傳統規則匹配來識彆攻擊已經過時,傳統安全技術的發展也已經到瞭瓶頸,而本書提齣機器學習結閤 Web 安全的思路為安全技術發展指齣瞭新的方嚮。相信讀者閱讀本書後能受益匪淺。
——西瓜,四葉草CTO
安全監控的建立産生海量安全日誌,人工查看審計日誌已經無法解決企業實際安全需求。隨著硬件成本降低,大數據技術成熟,機器學習在企業安全中的實踐應運而生。本書詳細介紹瞭如何通過機器學習分析海量安全日誌,發現隱匿的攻擊,本書是企業安全建設中不可多得的孫子兵法。
——廖威,易寶支付安全總監
早在2009在百度工作時,就因為工作交集認識瞭本書作者劉焱。期間經常討論安全技術問題,為他的淵博知識與鑽研精神所摺服。近年來,Web安全被越來越多的人所重視,攻防對抗上升到一個新的高度。各種新的攻擊方法層齣不窮,傳統的檢測與防禦方式已不再適應,迫切需要更加智能的方法。隨著機器學習的爆發式發展,兩者的結閤將是未來的趨勢。在本書中,劉焱將枯燥復雜的算法、概念以簡單易懂的圖文結閤方式呈現齣來,並夾雜著他一貫的幽默風格,內容由淺入深、循序漸進。應用機器學習是未來的發展趨勢,學習掌握它使創造齣新一代的安全産品成為可能。希望大傢喜歡這本書,並從中受益。
——劉袁君,醫渡雲安全總監
通過機器學習分析海量Web日誌,進而發現業務異常和安全問題已經是安全監控平颱的標配。然而,市場上信息安全和機器學習結閤的工具書卻很少,本書從基礎知識和實際案例齣發,逐步抽絲剝繭帶你進入自動化安全的殿堂。書中的算法和思路是經過大規模部署和商業驗證的,具備很強的可操作性。
——宋文寬,聯想集團信息安全高級經理
對本書的贊譽
序一
序二
序三
前言
第1章 通嚮智能安全的旅程 1
1.1 人工智能、機器學習與深度學習 1
1.2 人工智能的發展 2
1.3 國內外網絡安全形勢 3
1.4 人工智能在安全領域的應用 5
1.5 算法和數據的辯證關係 9
1.6 本章小結 9
參考資源 10
第2章 打造機器學習工具箱 11
2.1 Python在機器學習領域的優勢 11
2.1.1 NumPy 11
2.1.2 SciPy 15
2.1.3 NLTK 16
2.1.4 Scikit-Learn 17
2.2 TensorFlow簡介與環境搭建 18
2.3 本章小結 19
參考資源 20
第3章 機器學習概述 21
3.1 機器學習基本概念 21
3.2 數據集 22
3.2.1 KDD 99數據 22
3.2.2 HTTP DATASET CSIC 2010 26
3.2.3 SEA數據集 26
3.2.4 ADFA-LD數據集 27
3.2.5 Alexa域名數據 29
3.2.6 Scikit-Learn數據集 29
3.2.7 MNIST數據集 30
3.2.8 Movie Review Data 31
3.2.9 SpamBase數據集 32
3.2.10 Enron數據集 33
3.3 特徵提取 35
3.3.1 數字型特徵提取 35
3.3.2 文本型特徵提取 36
3.3.3 數據讀取 37
3.4 效果驗證 38
3.5 本章小結 40
參考資源 40
第4章 Web安全基礎 41
4.1 XSS攻擊概述 41
4.1.1 XSS的分類 43
4.1.2 XSS特殊攻擊方式 48
4.1.3 XSS平颱簡介 50
4.1.4 近年典型XSS攻擊事件分析 51
4.2 SQL注入概述 53
4.2.1 常見SQL注入攻擊 54
4.2.2 常見SQL注入攻擊載荷 55
4.2.3 SQL常見工具 56
4.2.4 近年典型SQL注入事件分析 60
4.3 WebShell概述 63
4.3.1 WebShell功能 64
4.3.2 常見WebShell 64
4.4 僵屍網絡概述 67
4.4.1 僵屍網絡的危害 68
4.4.2 近年典型僵屍網絡攻擊事件分析 69
4.5 本章小結 72
參考資源 72
第5章 K近鄰算法 74
5.1 K近鄰算法概述 74
5.2 示例:hello world!K近鄰 75
5.3 示例:使用K近鄰算法檢測異常操作(一) 76
5.4 示例:使用K近鄰算法檢測異常操作(二) 80
5.5 示例:使用K近鄰算法檢測Rootkit 81
5.6 示例:使用K近鄰算法檢測WebShell 83
5.7 本章小結 85
參考資源 86
第6章 決策樹與隨機森林算法 87
6.1 決策樹算法概述 87
6.2 示例:hello world!決策樹 88
6.3 示例:使用決策樹算法檢測POP3暴力破解 89
6.4 示例:使用決策樹算法檢測FTP暴力破解 91
6.5 隨機森林算法概述 93
6.6 示例:hello world!隨機森林 93
6.7 示例:使用隨機森林算法檢測FTP暴力破解 95
6.8 本章小結 96
參考資源 96
第7章 樸素貝葉斯算法 97
7.1 樸素貝葉斯算法概述 97
7.2 示例:hello world!樸素貝葉斯 98
7.3 示例:檢測異常操作 99
7.4 示例:檢測WebShell(一) 100
7.5 示例:檢測WebShell(二) 102
7.6 示例:檢測DGA域名 103
7.7 示例:檢測針對Apache的DDoS攻擊 104
7.8 示例:識彆驗證碼 107
7.9 本章小結 108
參考資源 108
第8章 邏輯迴歸算法 109
8.1 邏輯迴歸算法概述 109
8.2 示例:hello world!邏輯迴歸 110
8.3 示例:使用邏輯迴歸算法檢測Java溢齣攻擊 111
8.4 示例:識彆驗證碼 113
8.5 本章小結 114
參考資源 114
第9章 支持嚮量機算法 115
9.1 支持嚮量機算法概述 115
9.2 示例:hello world!支持嚮量機 118
9.3 示例:使用支持嚮量機算法識彆XSS 120
9.4 示例:使用支持嚮量機算法區分僵屍網絡DGA傢族 124
9.4.1 數據搜集和數據清洗 124
9.4.2 特徵化 125
9.4.3 模型驗證 129
9.5 本章小結 130
參考資源 130
第10章 K-Means與DBSCAN算法 131
10.1 K-Means算法概述 131
10.2 示例:hello world!K-Means 132
10.3 示例:使用K-Means算法檢測DGA域名 133
10.4 DBSCAN算法概述 135
10.5 示例:hello world!DBSCAN 135
10.6 本章小結 137
參考資源 137
第11章 Apriori與FP-growth算法 138
11.1 Apriori算法概述 138
11.2 示例:hello world!Apriori 140
11.3 示例:使用Apriori算法挖掘XSS相關參數 141
11.4 FP-growth算法概述 143
11.5 示例:hello world!FP-growth 144
11.6 示例:使用FP-growth算法挖掘疑似僵屍主機 145
11.7 本章小結 146
參考資源 146
第12章 隱式馬爾可夫算法 147
12.1 隱式馬爾可夫算法概述 147
12.2 hello world! 隱式馬爾可夫 148
12.3 示例:使用隱式馬爾可夫算法識彆XSS攻擊(一) 150
12.4 示例:使用隱式馬爾可夫算法識彆XSS攻擊(二) 153
12.5 示例:使用隱式馬爾可夫算法識彆DGA域名 159
12.6 本章小結 162
參考資源 162
第13章 圖算法與知識圖譜 163
13.1 圖算法概述 163
13.2 示例:hello world!有嚮圖 164
13.3 示例:使用有嚮圖識彆WebShell 169
13.4 示例:使用有嚮圖識彆僵屍網絡 173
13.5 知識圖譜概述 176
13.6 示例:知識圖譜在風控領域的應用 177
13.6.1 檢測疑似賬號被盜 178
13.6.2 檢測疑似撞庫攻擊 179
13.6.3 檢測疑似刷單 181
13.7 示例:知識圖譜在威脅情報領域的應用 183
13.7.1 挖掘後門文件潛在聯係 184
13.7.2 挖掘域名潛在聯係 185
13.8 本章小結 187
參考資源 187
第14章 神經網絡算法 188
14.1 神經網絡算法概述 188
14.2 示例:hello world!神經網絡 190
14.3 示例:使用神經網絡算法識彆驗證碼 190
14.4 示例:使用神經網絡算法檢測Java溢齣攻擊 191
14.5 本章小結 193
參考資源 194
第15章 多層感知機與DNN算法 195
15.1 神經網絡與深度學習 195
15.2 TensorFlow編程模型 196
15.2.1 操作 197
15.2.2 張量 197
15.2.3 變量 198
15.2.4 會話 198
15.3 TensorFlow的運行模式 198
15.4 示例:在TensorFlow下識彆驗證碼(一) 199
15.5 示例:在TensorFlow下識彆驗證碼(二) 202
15.6 示例:在TensorFlow下識彆驗證碼(三) 205
15.7 示例:在TensorFlow下識彆垃圾郵件(一) 207
15.8 示例:在TensorFlow下識彆垃圾郵件(二) 209
15.9 本章小結 210
參考資源 210
第16章 循環神經網絡算法 212
16.1 循環神經網絡算法概述 212
16.2 示例:識彆驗證碼 213
16.3 示例:識彆惡意評論 216
16.4 示例:生成城市名稱 220
16.5 示例:識彆WebShell 222
16.6 示例:生成常用密碼 225
16.7 示例:識彆異常操作 227
16.8 本章小結 230
參考資源 230
第17章 捲積神經網絡算法 231
17.1 捲積神經網絡算法概述 231
17.2 示例:hello world!捲積神經網絡 234
17.3 示例:識彆惡意評論 235
17.4 示例:識彆垃圾郵件 237
17.5 本章小結 240
參考資源 242
序 一 Preface
兜哥是網絡安全行業的老兵,早在成為自媒體人之前,他所帶領的團隊在Web入侵檢測、WebShell識彆等技術上就是百度安全防禦的重要組成部分。他是一位十分難得的擁有敏感産品神經的技術人,在百度這些年,不僅將許多新産品、新技術引入百度,豐富百度防禦能力,更通過自己的努力將百度在威脅檢測等方麵的經驗不斷傳播齣去。他通過自己的智能安全三部麯將他在人工智能方嚮的探索嚮業界做瞭係統性分享,在安全技術亟待突破的今天,有著很深的藉鑒意義。本書是他的第一部著作,重點介紹如何在安全場景下進行機器學習。
迴顧網絡安全行業這十年來的發展,從防火牆、下一代防火牆、入侵檢測到威脅情報,安全廠商一次次將新的概念引入,將新的技術包裝,但安全威脅的現狀卻一天天惡化著,當我們看到越來越多的安全入侵事件發生,其波及範圍也已經不僅僅是互聯網業務,更有大量的國民基礎設施深陷泥潭,我們不禁要問,是黑客越來越強大,還是我們的技術不夠先進?我們被眼花繚亂的技術所睏,卻忽略瞭安全的本質——對抗。今天炙手可熱的人工智能是否也會是一枚“銀彈”?
誠然,人工智能在自然語言處理、圖像識彆、棋類對抗領域的成績有目共睹,而安全能否成為下一個人工智能的突破口?現在看來,一切正方興未艾,在有監督學習方嚮,能否大幅簡化安全工程師的工作量,讓準實時對抗成為可能;在無監督學習方嚮,能否突破安全對抗的貓鼠遊戲,讓安全由被動變為主動。等待我們的將是一場令人激動的技術探索。
馮景輝,安全寶聯閤創始人,百度商業安全總監
馬傑,安全寶創始人,百度安全總經理
Preface 序 二
兜哥在通過數據分析進行安全檢測的技術方麵已經積纍瞭很長時間,從最初我們閤作建立國內最大TB級彆日誌分析係統開始,在這幾年中,他一直在不斷嘗試使用更閤適的技術來解決問題,這次欣喜地看到瞭他又有新的突破。
拿到樣章當看到“通嚮智能安全的旅程”這一章時,著實被深深地吸引住瞭,在新技術中嘗試使用機器學習的能力,藉助AI,能讓係統變得更加聰明更好用,從而更好地解決問題。Gartner在2015年就提齣過“自適應安全架構來應對高級定嚮攻擊”的概念,其中實現這套架構很重要的一個階段就是讓係統具備對攻擊的預測能力,“預測”是一種更接近人的思考方法,通過機器學習及人工智能的技術迭代,這將有可能實現。
安全數據分析已經從搭建大數據分析係統過渡到使用機器學習的過程中瞭,通過機器學習算法對安全事件的分析在一段時間內也許並不能突齣優勢,就像我們麵對一個天纔少年一樣,因為閱曆原因暫時他不能超越你,但他一定會用非常短的時間就能追上並且更好地幫助你。
閱讀過程中常常感嘆於兜哥的細心和他對此係列書的撰寫決心,兜哥是一位不摺不扣的技術實踐者,全書使用瞭超過15種機器學習的算法,收集整理瞭大量或知名、或在真實環境下齣現過的案例,並一一詳細給齣瞭使用機器學習算法進行分析的方法。書中還包含瞭豐富的數據集以及大量的實例,能幫助入門的同學降低學習成本,快速進入技術實踐中。閱讀的過程中,我常常在假想,如果迴到幾年前看到這本書,現在我們搭建的分析係統又將是另一番景象。
本書的寫作風格是實戰型的,圍繞常見的安全問題,通過代碼導讀的方式,把每個問題與機器學習算法相關聯,循序漸進,揭開瞭機器學習的神秘麵紗。對於立誌從事信息安全技術的同學來說,這種實戰型的案例更直觀,更能激發學習興趣,推動機器學習在安全分析上的應用。
雲朋,百度無人車首席安全架構師
序 三 Preface
跟兜哥相識迄今一年有餘,當時我還在一個跨境電商公司當碼農頭子,互金、電商也都還是資本圈炙手可熱的概念,我們這個小而美的電商公司不能免俗,三天一小促,五天一大促地在玩著衝刺GMV(日總交易金額)的遊戲。玩命狂奔業績的同時,我早早地就跟當時還身為獨立安全公司的“安全寶”交瞭抗DDoS費,保證每次業務起起落落的時候,不會受到某一小撮彆有用心的敵對勢力的乾擾。“安全寶”的服務接入不到半年就爆齣新聞,百度全資收購瞭“安全寶”,推齣瞭麵嚮企業的百度安全服務體係。一直跟我對接的“安全寶”的銷售朋友搖身一變,成為三巨頭之一的金領員工。朋友高升遇喜自然要多多分享,於是某日就電話約瞭 “百度資深安全工程師和銷售團隊”來我們這裏做一個交流。産品介紹、業界八卦聊瞭半個多小時以後,一直安坐對方一角,眼睛閃著靈光的胖子始終沒說話。我接受不瞭屋裏僅有兩個胖子,一個是我一直在聊;另一個胖子卻如此沉默。於是我就開口問:“你們客戶端的那個核心xx功能,就是這個角落裏不說話的大黑客寫的吧?”
“沒有,沒有,我們的xx功能不是那樣的。”這哥們終於開口說瞭第一句話。
“不可能啊,因為xx、xx、xx。”我又吧啦吧啦說瞭一通。
“嘿嘿,其實是xx、xx。”他抬抬頭,翻起眼睛看著我,一種內行跟內行言簡意賅過招的感覺躍然而齣。
“額,來,先留個微信吧。”我站起來,把手機遞瞭過去。10秒鍾後,“中國相聲界的小學生通過掃一掃添加你為好友”的消息彈瞭齣來。“你太逗瞭。”我忍不住看著對方評論瞭一句,心想:這麼有趣的碼農朋友交定瞭。散會後,幾個人站在辦公室樓下,相聲界的小學生朋友特彆真誠地感謝瞭一下我提供如此好的機會,讓他們有機會從中國互聯網的物理核心交換地區後廠村來到事業綫、大白腿比例明顯高一個數量級的CBD地區。我則不失時機地指點瞭對方一下,應該步行走一段什麼樣的路綫去地鐵站,能更順利地迴到核心交換地區。這就是我跟兜哥的第一次見麵。
接下來的一段時間,相聲界的小學生朋友變成瞭我微信朋友圈中昵稱更換頻率最高的人,在目睹瞭“青青河邊草” “小小銅豌豆”等花式變更之後,我知道蹭小學生朋友一頓大餐的機會成熟瞭,於是很愉快地約瞭一頓豐盛的晚飯。一嚮不勝酒力又悶騷的碼農們碰到三觀相近的同類,總是特彆容易敞開心扉,觥籌交錯間,關於奮鬥、關於公司、關於互聯網,當然,還有關於男男女女,讓一次普通而平淡的飯局變得特彆有記憶特質。盡管我的記憶力很難達到生活自理的標準,不過時至今日,還是經常想起與相聲界的小學生朋友把酒言歡的許多細節,覺得有趣而溫暖。
後來我們目睹瞭百度公司毅然啓航進入人工智能的時代。其實對於搜索巨人百度公司,人工智能領域內常見的如最大熵、隱馬爾科夫、捲積神經網絡等數學模型,從第一天起就如血液一般,滲透進入分詞、排序、分類、聚類等搜索業務的大部分領域,經過瞭十來年的高歌猛進,這些晦澀難懂的數學公式日益擴大瞭其應用範圍,在安全領域也得到瞭越發深入的應用。
聰明、努力、專注是兜哥寫作一本書的智力儲備和保證。這個被摩爾定律不停推動、變革的時代,一本技術書籍本身的價值和生命周期總是有限的。然而,隨著年紀漸長,我們越來越體會到,自己的時間消費中最有價值的部分,永遠是與有趣的靈魂和思想共處的片段。人類天性討厭無趣,畢生的使命都是在尋找與有趣共振的機會。一本精心寫作的書籍中,飽含瞭作者傾注的時光和智慧,這些無形的精神寶藏是讓我們手不釋捲的核心吸引力。品一杯茶,我們的歡喜來自於能品到茶葉所經曆的春夏鞦鼕和風霜雨雪;讀一本書,我們的滿足來自於通過書本連接到有趣的靈魂。有趣的人總會相遇,希望在讀完本書後,你也能感受到書中紛繁枯燥的數學邏輯背後與你共振的有趣靈魂。
——羅翼,中國互聯網資深碼農,曾任去哪網高級總監,某著名跨境電商CTO
前 言Preface
近幾年,人工智能無疑成為人們口中的熱點話題,先是榖歌的AlphaGo,後有百度的度秘、無人車,微軟必應搜索推齣的小冰。這一係列人工智能産品的推陳齣新,令人眼花繚亂,一時間給人的感覺是人工智能遍地開花。無論人們接受還是不接受,人工智能都在迅速滲透各行各業。網絡安全相比之下是一個傳統行業,基於規則以及黑白名單的檢測技術已經發展到瞭一定的瓶頸,而利益驅動的黑産團夥,其技術的發展已經遠遠超乎我們的想象。如何藉助人工智能的力量,提升安全行業的整體檢測與防護能力,成為各大安全廠商研究的課題。在國內安全行業, BAT以及大量新興的創業公司先後進入企業安全領域,他們憑藉著自身數據搜集、處理、積纍以及人工智能方麵的優勢,正在逐漸改變著整個安全行業。安全産品的形態也從硬件盒子逐步走嚮混閤模式以及雲端SaaS服務,安全技術從重防禦逐步走嚮數據分析以及智能驅動。傳統安全廠商也憑藉其強大的安全人纔儲備,迅速推進人工智能在安全産品的落地。
我在網絡安全這個行業搬瞭好幾年磚,前五年做大型互聯網公司的企業安全建設,從準入係統到WAF、SIEM、IPS等,基本都開發或者使用過,最近三年一直負責雲安全産品,從抗D、WAF産品到、SIEM、入侵檢測等,使用的技術從規則、黑白名單、模型、沙箱再到機器學習,從單機的OSSIM到Hadoop、Storm、Spark、ELK,也算目睹瞭安全技術或者更準確地說是數據分析處理技術的迅猛發展。我深深感到,使用人工智能技術改變這個行業不是我們的選擇,而是必經之路。我在真正意義上接觸機器學習是2014年年底,當時帶領瞭一個很小的團隊嘗試使用機器學習算法解決安全問題,磕磕絆絆一直走到現在,變成幾十人的一個産品團隊。
本書是我機器學習三部麯的第一部,主要以機器學習常見算法為主綫,以生活中的例子和具體安全場景介紹機器學習常見算法,定位為機器學習入門書籍,便於大傢可以快速上手。全部代碼都能在普通PC上運行。第二部將重點介紹深度學習,並以具體的十個案例介紹機器學習的應用,主要麵嚮具有一定機器學習基礎或緻力於使用機器學習解決工作中問題的讀者,全書的重點集中在問題的解決而不是算法的介紹。由於深度學習通常計算量已經超過瞭PC的能力,部分代碼需要在服務器甚至GPU上運行,不過這不影響大傢的閱讀與學習。第三部將重點介紹強化學習和對抗網絡,並以若乾虛構安全産品或者項目介紹如何讓機器真正具備AlphaGo級彆的智能。
本書的第1章概括介紹瞭機器學習的發展以及互聯網目前的安全形勢。第2章介紹瞭如何打造自己的機器學習工具箱。第3章概括介紹機器學習的基本概念。第4章介紹Web安全的基礎知識。第5章到第13章介紹淺層機器學習算法,包括常見的K近鄰、決策樹、樸素貝葉斯、邏輯迴歸、支持嚮量機、K-Means、FP-growth、Apriori、隱式馬爾可夫、有嚮圖。第14章到第17章介紹神經網絡以及深度學習中常用的遞歸神經網絡和捲積神經網絡。每章都會以生活中的例子開頭,讓讀者有一個感性的認識,然後簡短介紹基礎知識,最後以安全領域的2~3個例子講解如何使用該算法解決問題。全書定位是能讓更多的安全愛好者以及信息安全從業者瞭解機器學習,動手使用簡單的機器學習算法解決實際問題。在寫作中盡量避免生硬的說教,能用文字描述的盡量不用冷冰冰的公式,能用圖和代碼說明的盡量不用多餘的文字。正如霍金所言“多寫1個公式,少一半讀者”,希望反之亦然。
機器學習應用於安全領域遇到的最大問題就是缺乏大量的黑樣本,即所謂的攻擊樣本,尤其相對於大量的正常業務訪問,攻擊行為尤其是成功的攻擊行為是非常少的,這就給機器學習帶來瞭很大挑戰。本書很少對不同算法進行橫嚮比較,也是因為確實在不同場景下不同算法錶現差彆很大,很難說深度學習就一定比樸素貝葉斯好,也很難說支持嚮量機就比不過捲積神經網絡,拿某個具體場景進行橫嚮比較意義不大,畢竟選擇算法不像購買SUV,可以拿幾十個參數評頭論足,最後還是需要大傢結閤實際問題去選擇。
這裏我要感謝我的傢人對我的支持,本來工作就很忙,沒有太多時間處理傢務,寫書以後更是花費瞭我大量的休息時間,我的妻子無條件承擔起瞭全部傢務,尤其是照料孩子等繁雜事務。我很感謝我的女兒,寫書這段時間幾乎沒有時間陪她玩,她也很懂事地自己玩,我想用這本書作為她的生日禮物送給她。我還要感謝吳怡編輯對我的支持和鼓勵,讓我可以堅持把這本書寫完。最後還要感謝各位業內好友尤其是我boss對我的支持,排名不分先後:馬傑@百度安全、馮景輝@百度安全、林曉東@百度基礎架構、黃穎@百度IT、李振宇@百度AI、Lenx@百度安全、黃正@百度安全、程岩@百度雲、郝軼@百度雲、雲鵬@百度無人車、趙林林@微步在綫、張宇平@數盟、謝忱@Freebuf、李新@Freebuf、李琦@清華、徐恪@清華、王宇@螞蟻金服、王瑉然@螞蟻金服、王龍@螞蟻金服、周濤@啓明星辰、姚誌武@藉貸寶、劉靜@安天、劉袁君@醫渡雲、廖威@易寶支付、尹毅@sobug、宋文寬@聯想、團長@宜人貸、齊魯@搜狐安全、吳聖@58安全、康宇@新浪安全、幻泉@i春鞦、雅馳@i春鞦、王慶雙@i春鞦、張亞同@i春鞦、王禾@微軟、李臻@paloalto、西瓜@四葉草、鄭偉@四葉草、硃利軍@四葉草、土夫子@XSRC、英雄馬@樂視雲、sbilly@360、侯曼@360、高磊@滴滴、高磊@愛加密、高漸離@華為、劉洪善@華為雲、宋柏林@一畝田、張昊@一畝田、張開@安恒、李碩@智聯、阿杜@優信拍、李斌@房多多、李程@搜狗、Tony@京東安全、簡單@京東安全、姚聰@face+、李鳴雷@金山雲,最後我還要感謝我的親密戰友陳燕、康亮亮、蔡奇、哲超、新宇、子奇、月升、王磊、碳基體、劉璿、錢華鈎、劉超、王胄、吳梅、馮偵探、馮永校。
本書麵嚮信息安全從業人員、高等院校計算機相關專業學生以及信息安全愛好者,機器學習愛好者,對於想瞭解人工智能的CTO、運維總監、架構師同樣也是一本不錯的科普書籍。當讀者在工作學習中遇到問題時可以想起本書中提到的一兩種算法,那麼我覺得就達到效果瞭,如果可以讓讀者像使用printf一樣使用SVM、樸素貝葉斯等算法,那麼這本書就相當成功瞭。
我平時在FreeBuf專欄以及i春鞦分享企業安全建設以及人工智能相關經驗與最新話題,同時也運營我的微信公眾號“兜哥帶你學安全”,歡迎大傢關注並在綫交流。
本書使用的代碼和數據均在GitHub上發布,地址為:https://github.com/duoergun0729/1book,代碼層麵任何疑問可以在GitHub上直接反饋。
好好學習 天天嚮上
評分很不錯的一本書,好好學習
評分經常買不錯哦
評分老客戶瞭,東西都不錯,贊一個!
評分這個書很有點意思 對企業安全的方方麵麵都有涉及 即實用又有趣
評分物流很快,快遞師傅服務很好,東西很不錯
評分ai這麼火熱,這書還行
評分書挺不錯的,包裝也好,物流很快
評分發貨很及時,第二天就收到瞭。打摺力度很大,不錯。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有