版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
chap.1概述網(wǎng)絡(luò)信息安全網(wǎng)絡(luò)信息安全概述Python語言簡介
Python安全編程本章內(nèi)容要點1.1網(wǎng)絡(luò)信息安全概述
1.信息安全定義信息安全是指計算機(jī)信息系統(tǒng)的硬件、軟件、網(wǎng)絡(luò)及其系統(tǒng)中的數(shù)據(jù)受到保護(hù),不受偶然的或者惡意的原因而遭到破壞、更改、泄露,系統(tǒng)連續(xù)可靠正常地運行,確保信息服務(wù)不中斷。所謂網(wǎng)絡(luò)信息安全就是信息安全的一個子集或是專門話題,泛指圍繞著與通信/計算機(jī)網(wǎng)絡(luò)相關(guān)的信息安全問題展開的防護(hù)行為。網(wǎng)絡(luò)信息安全絕非一個單純、簡單的問題,遍布于網(wǎng)絡(luò)空間的各個部位,各個層面?zhèn)戎夭煌?。通常,將網(wǎng)絡(luò)空間領(lǐng)域可劃分為物理域、信息域、認(rèn)知域和社會域,從網(wǎng)絡(luò)空間安全的角度來看,物理域和信息域主要關(guān)注以信息技術(shù)為核心的網(wǎng)絡(luò)基礎(chǔ)設(shè)施安全及網(wǎng)絡(luò)信息通信安全,而認(rèn)知域和社會域則更關(guān)注以人為核心的認(rèn)知文化等精神層面以及個人與集體相互作用的社會層面。因此,要確保網(wǎng)絡(luò)信息安全,就必須顧及到以上所有層面的安全,這顯然是一個復(fù)雜的系統(tǒng)工程。2.信息安全特征要理解網(wǎng)絡(luò)信息安全,必須了解信息的基本安全特征。信息安全一般應(yīng)具備五個特征(機(jī)密性、完整性、可用性、可控性、不可否認(rèn)性(可審查性)),具體如圖1-1所示。當(dāng)信息及網(wǎng)絡(luò)信息系統(tǒng)同時滿足以上五個特征的安全要求,就可以認(rèn)為是它們是安全的。信息安全特征的狀態(tài)并不是一成不變的,而是隨著安全對抗雙方的此消彼長不斷發(fā)生轉(zhuǎn)化3.安全理論技術(shù)
網(wǎng)絡(luò)信息安全理論所涉及的領(lǐng)域知識非常寬泛。宏觀上講,只要是與信息安全相關(guān)的技術(shù)都屬于這個范疇,除了數(shù)學(xué)、通信、計算機(jī)等自然科學(xué)外,還涉及法律、心理學(xué)等社會科學(xué)。這些科學(xué)指導(dǎo)下的技術(shù)是達(dá)成網(wǎng)絡(luò)安全的主要手段,具體來講,在常見的信息系統(tǒng)中,可以采用的信息安全技術(shù)主要包括:密碼技術(shù)、身份驗證、訪問控制、審計追蹤、安全協(xié)議等。所謂信息安全程序設(shè)計技術(shù)就是基于計算機(jī)語言實現(xiàn)特定安全功能的編程活動。目前,幾乎絕大多數(shù)編程語言均可以不同程度實現(xiàn)面向安全目的的開發(fā),實現(xiàn)效果也不盡相同,1.3.2節(jié)將結(jié)合Python語言的特點介紹其安全編程實現(xiàn)的思路。由于網(wǎng)絡(luò)信息安全技術(shù)是一個開放的話題,隨著科學(xué)技術(shù)的不斷發(fā)展,還有更多、更豐富的技術(shù)加入進(jìn)來,不斷形成“物理”(技術(shù)組合)和“化學(xué)”(交叉產(chǎn)生新質(zhì)技術(shù))變化,衍生出更新的技術(shù)。1.2Python語言簡介1.2.1Python發(fā)展回顧
Python語言誕生于20世紀(jì)90年代初,目前已被廣泛應(yīng)用計算機(jī)程序設(shè)計的各個領(lǐng)域之中。Python的創(chuàng)始人是荷蘭人吉多·范羅蘇姆(GuidovanRossum)。早在1989年,Guido在阿姆斯特丹,為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,并作為ABC語言的一種繼承。這種編程語言之所以選中Python(大蟒蛇的意思)作為名字,主要是取自于Guido所喜愛的英國20世紀(jì)70年代首播的電視喜劇《蒙提.派森的飛行馬戲團(tuán)》(MontyPython'sFlyingCircus)的劇名。
Python在發(fā)展初期并未引起人們的注意,甚至到了Python2于2000年10月16日發(fā)布時,也沒有引起人們的熱捧。但是,自從2004年以后這一情況開始發(fā)生逆轉(zhuǎn)。當(dāng)Python3于2008年12月3日發(fā)布時,Python迅速得到普及,并于2011年1月正式被TIOBE編程語言排行榜評為2010年度語言。正如本書開篇所述,到了2020年10月,經(jīng)過29年的發(fā)展,Python首次超過了Java,成為全球第二受歡迎的編程語言,距離首位的C語言也僅僅只相差4個百分點。這也是Tiobe指數(shù)近20年的歷史上,首次出現(xiàn)Java和C語言不是兩大頂級語言的情況。顯而易見,現(xiàn)在Python已經(jīng)步入最受歡迎的程序設(shè)計語言的行列。Python語言的成功源于其簡潔性、易讀性以及可擴(kuò)展性。尤其是,在國外用Python做科學(xué)計算的研究機(jī)構(gòu)日益增多,一些知名大學(xué)已經(jīng)采用Python來教授程序設(shè)計課程,使其得以快速普及開來。此外,越來越多的開源科學(xué)計算軟件包,都提供了Python的調(diào)用接口,例如:著名的計算機(jī)視覺庫OpenCV、三維可視化庫VTK、醫(yī)學(xué)圖像處理庫ITK等等,這也加速了Python的普及。目前基于Python專用的科學(xué)計算擴(kuò)展庫則更是不勝枚舉,其中包括十分經(jīng)典的科學(xué)計算擴(kuò)展庫:NumPy、SciPy和matplotlib等,均可為Python提供了快速數(shù)組處理、數(shù)值運算以及繪圖功能。
Python編程的前景也被認(rèn)為是十分廣闊的,Python語言及其眾多的擴(kuò)展庫所構(gòu)成的開發(fā)生態(tài),十分適合工程技術(shù)、科研人員處理實驗數(shù)據(jù)、制作圖表,甚至開發(fā)科學(xué)計算應(yīng)用程序。1.2.2Python工作原理
1.Python工作過程
Python是一種解釋型語言,依賴解釋器工作。解釋器工作于程序代碼與計算機(jī)硬件之間的軟件邏輯層。Python解釋器的工作模式如圖1-2所示。由圖1-2可知,當(dāng)寫好Python代碼后,將其導(dǎo)入Python解釋器后,將會執(zhí)行兩個步驟:第一步:把源代碼編譯成字節(jié)碼編譯后的字節(jié)碼是特定于Python的一種表現(xiàn)形式,它不是二進(jìn)制的機(jī)器碼,需要進(jìn)一步編譯才能被機(jī)器執(zhí)行,這也是Python代碼無法運行的像C/C++一樣快的原因。如果Python進(jìn)程在機(jī)器上擁有寫入權(quán)限,那么它將把程序的字節(jié)碼保存為一個以.pyc為擴(kuò)展名的文件,如果Python無法在機(jī)器上寫入字節(jié)碼,那么字節(jié)碼將會在內(nèi)存中生成并在程序結(jié)束時自動丟棄。在構(gòu)建程序的時候,若給Python賦予計算機(jī)的寫權(quán)限,這樣只要源代碼沒有改變,生成的.pyc文件就可以重復(fù)利用,從而提高執(zhí)行效率。第二步:把編譯好的字節(jié)碼轉(zhuǎn)發(fā)到PVM中置于運行時狀態(tài)
PVM是PythonVirtualMachine的簡稱,它是Python的運行引擎,因此是Python系統(tǒng)的一部分,它迭代運行上步編譯形成的字節(jié)碼指令,是一個大循環(huán)、一個接一個地完成字節(jié)碼操作。在Python中PVM的概念與解釋器通常不做區(qū)分,并有多種備選項?;谏鲜鲞@種工作機(jī)制,就不難理解Python之所以能夠體現(xiàn)出的簡單、便捷特性。2.Python解釋器實現(xiàn)方式
Python解釋器實現(xiàn)不止一種,常用的有:CPython、AnacondaPython、Jython、IronPython和PyPy等。
(1)CPythonCPython是一種標(biāo)準(zhǔn)實現(xiàn),是由C語言編寫的,它是大多數(shù)Linux和MacOS機(jī)器預(yù)裝的Python解釋器,也是所有Python解釋器中運行較快、最完整、最健全的。
(2)AnacondaPythonAnaconda源自Anaconda公司設(shè)計(原名為ContinuumAnalytics),其設(shè)計目標(biāo)在于服務(wù)那些需要由商業(yè)供應(yīng)商提供支持且具備企業(yè)支持服務(wù)的Python開發(fā)者。AnacondaPython的主要用例包括:數(shù)學(xué)、統(tǒng)計學(xué)、工程、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)以及其他相關(guān)應(yīng)用。
(3)JythonJython是一種Python語言的替代實現(xiàn)方式,其目的是為了與Java編程語言集成,Jython包含了Java類,這些類編譯Python源代碼、形成Java字節(jié)碼,并將得到的字節(jié)碼映射到Java虛擬機(jī)(JVM)上。因為Jython要比CPython慢而且也不夠健壯,它往往看作是一個主要面向?qū)ふ襃ava代碼前端腳本語言的Java開發(fā)者的工具。(4)IronPythonIronPython設(shè)計的目的是讓Python程序可以與Windows平臺上的.NET框架以及與之對應(yīng)的Linux的上開源的Mono編寫成的應(yīng)用集成。
(5)PyPyPyPy屬于CPython解釋器的替代品,其利用即時(JIT)編譯以加速Python程序的執(zhí)行。根據(jù)實際執(zhí)行的任務(wù)情況,其性能提升可能非常顯著。PyPyJIT將Python代碼編譯為機(jī)器語言,從而帶來平均7.7倍于CPython的運行速度。在某些特定任務(wù)中,其提速效果能夠達(dá)到50倍。PyPy一般更適用于處理“純”Python應(yīng)用程序。由于PyPy會模擬CPython的原生二進(jìn)制接口,因此在處理包含C庫接口的Python軟件包時,其表現(xiàn)并不理想。本書主要采用的是Cpython和AnacondaPython解釋器(安裝詳見2.1.2節(jié))1.2.3Python特點分析
Python作為工程實踐的語言,選擇使用之前需要了解其優(yōu)缺點。1.Python的優(yōu)點Python的優(yōu)點包括以下幾個方面。
(1)簡單:Python遵循“簡單、優(yōu)雅、明確”的設(shè)計哲學(xué),并且各個版本能夠始終如一的秉承這一傳統(tǒng)。
(2)高級:Python是一種高級語言,相對于C語言犧牲了性能而提升了編程人員的效率。它使得程序員可以不用關(guān)注底層細(xì)節(jié),把精力全部放在編程上。
(3)面向?qū)ο螅篜ython既支持面向過程,也支持面向?qū)ο蟆?/p>
(4)可擴(kuò)展:Python可以通過C、C++語言為python編寫擴(kuò)充模塊。(5)免費和開源:Python是FLOSS(自由/開放源碼軟件)之一,允許自由的發(fā)布軟件的備份、閱讀和修改其源代碼、將其一部分自由地用于新的自由軟件中。
(6)邊編譯邊執(zhí)行:Python是解釋型語言,支持邊編譯邊執(zhí)行。
(7)可移植:Python能運行在不同的平臺上。
(8)豐富的庫:Python擁有許多功能豐富的庫,尤其是眾多的第三方庫。
(9)可嵌入性:Python可以嵌入到C、C++等多種其它語言中,為其提供腳本功能。2.Python的缺點
Python的缺點是必須正視的問題,要充分考慮設(shè)計的需求趨利避害,具體包括如下方面。
(1)速度慢:Python程序比Java、C、C++等程序的運行效率都要慢。
(2)源代碼加密困難:不像編譯型語言的源程序會被編譯成目標(biāo)程序,Python直接運行源程序,因此對源代碼加密比較困難。
(3)不支持底層操作:進(jìn)行計算機(jī)底層操作的支持能力有限,需要借助于其它語言或第三方庫(Ctypes等)。
Python的缺點也是其設(shè)計者力求改進(jìn)的重要方向,相信在未來會有很大程度的改進(jìn)。3.Python安全編程優(yōu)勢
綜合評判Python,不難發(fā)現(xiàn)這種語言的優(yōu)缺點都很明顯,但是其在安全編程的優(yōu)勢還是被廣泛接受的,究其原因可以概括為以下幾個方面:
(1)綜合能力良好網(wǎng)絡(luò)安全本身就是一項綜合、復(fù)雜體系性工作,涉及到幾乎信息可達(dá)的所有位置,因此想要對信息安全進(jìn)行全面實現(xiàn),就需要一種綜合性強的語言,而Python因其能夠整合不同的工具而被喻為“膠水語言”,且包裝能力、可組合性、可嵌入性都很好,可以把各種復(fù)雜性包裝在Python模塊里,完全匹配這種需求。進(jìn)一步,由于在Python內(nèi)部采用虛擬環(huán)境技術(shù),對開發(fā)項目進(jìn)行了沙箱隔離,也排除了相同軟件不同版本沖突的困擾,工具綜合的考慮也更加全面。
(2)數(shù)據(jù)分析優(yōu)勢顯著
Python對于密集型的信息安全數(shù)據(jù)處理大有裨益。Python在數(shù)據(jù)分析和交互、探索性計算以及數(shù)據(jù)可視化等方面都顯得比較活躍,這就是Python作為數(shù)據(jù)分析的原因之一,Python擁有numpy、matplotlib、scikit-learn、pandas、ipython等工具在科學(xué)計算方面十分有優(yōu)勢,尤其是pandas,在處理中型數(shù)據(jù)方面可以說是無與倫比的,已經(jīng)成為數(shù)據(jù)分析中流砥柱的分析工具。(3)智能計算能力突出面對未來信息安全涌現(xiàn)的新問題,諸如:認(rèn)證識別的模式匹配、入侵檢測的特征分析、自動化漏洞挖掘的規(guī)則推理、圖像文本數(shù)據(jù)的語義理解等核心問題,已經(jīng)不是單純依靠一門語言就可以解決的問題了,都需要智能技術(shù)的支持。展望智能技術(shù)的發(fā)展未來,根據(jù)李開復(fù)博士提出的“AI紅利三段論”,認(rèn)為未來的智能必將是“大眾智能”,并預(yù)測95%甚至更多的AI技術(shù)人員,都將是不具有非常專業(yè)編程能力的AI工程師、應(yīng)用工程師和AI工具用戶。正因為如此,Python所秉承的“做到簡單而嚴(yán)謹(jǐn)、易用而專業(yè)”宗旨,完全迎合了這種發(fā)展趨勢。目前,人們已經(jīng)可以清晰地看出Python作為智能技術(shù)天選之子的未來。因此,信息安全選擇Python語言,倒不如說是信息安全對未來智能時代的擁抱。其實,Python在很早以前就已經(jīng)被黑客所青睞。很多知名的黑客工具、入侵系統(tǒng)框架都是由Python開發(fā)的,比如:Metasploit、Fuzzing框架Sulley、交互式數(shù)據(jù)包處理程序Scapy等,基于這些框架黑客還可以很容易地擴(kuò)展出自己的工具。之所以安全人員開始選擇Python,就好像戰(zhàn)場上的戰(zhàn)士丟掉自己手中尚好的武器,而撿起敵人丟棄的武器,就是對敵人“武器”最好的肯定。1.3Python安全編程1.3.1安全應(yīng)用程序分類
在進(jìn)行安全編程之前,需要明確安全應(yīng)用的分類。按照信息安全特征,目前常見的安全應(yīng)用程序可以5劃分五類。(1)機(jī)密性應(yīng)用,包括:密碼應(yīng)用(加密)、數(shù)字水印(閾下通信應(yīng)用),這種應(yīng)用有時處于安全體系的最內(nèi)核,因此需要較高的操作權(quán)限。
(2)完整性應(yīng)用,包括:密碼應(yīng)用(數(shù)字簽名、哈希)、數(shù)字水印(易碎型),由于這種應(yīng)用會將數(shù)據(jù)暴露于開放環(huán)境,因此并不需要內(nèi)核級權(quán)限。
(3)可用性應(yīng)用,包括:網(wǎng)絡(luò)掃描、滲透測試、防病毒、主機(jī)安全管理,對于確保系統(tǒng)核心可用性的應(yīng)用,需要內(nèi)核權(quán)限。
(4)不可抵賴性應(yīng)用,包括:密碼應(yīng)用(數(shù)字簽名)、網(wǎng)絡(luò)實體識別與認(rèn)證、網(wǎng)絡(luò)安全取證、區(qū)塊鏈,除了對核心數(shù)據(jù)的保護(hù)外,不必需內(nèi)核權(quán)限。
(5)可控性應(yīng)用,包括:入侵檢測、防火墻、網(wǎng)閘、漏洞挖掘、內(nèi)容安全,對于底層的保護(hù)需要內(nèi)核權(quán)限。上述分類之間并不嚴(yán)格獨立,存在交叉、聯(lián)合。1.3.2Python安全編程思路
Python安全編程涉及信息安全的信息域、認(rèn)知域和社會域,圖1-3是現(xiàn)有安全技術(shù)在計算機(jī)網(wǎng)絡(luò)系統(tǒng)分布的示意圖,包括了:密碼技術(shù)、認(rèn)證與識別、VPN、數(shù)字水印、區(qū)塊鏈、網(wǎng)絡(luò)掃描與流量分析、防火墻、入侵檢測、漏洞挖掘、主機(jī)安全、安全審計與取證、內(nèi)容安全、滲透測試等多項,Python可以直接或間接地實現(xiàn)其中的絕大部分。在Windows平臺上,這些安全應(yīng)用的Python開發(fā)可以分別采用如下方法。1.密碼技術(shù)密碼是信息安全系統(tǒng)最內(nèi)核的保護(hù)。由于Python在數(shù)據(jù)操作方面簡潔明快,且并不失強大,所以幾乎所有的密碼算法都可以在Python中的以實現(xiàn)。無論是古典密碼算法,還是基于現(xiàn)代數(shù)學(xué)難題的公鑰密碼,都有Python實現(xiàn)方案,常見的DES、RSA、哈希方法實現(xiàn)如下。
(1)利用pyDes模塊可以提供DES加密等。
(2)利用Crypto.PublicKey.RSA和RSA模塊提供生成公鑰、私鑰和RSA加密的功能。
(3)利用Hashlib模塊可以提供常用的摘要算法如MD5、SHA1等。密碼應(yīng)用開發(fā)本書將在第三章進(jìn)行介紹。由于Python是一種解釋型語言,因此運行效率較差,雖然可以實現(xiàn)密碼應(yīng)用,但是必須對工程工作的實時性要求進(jìn)行評估(如流密碼)。并且,如果實現(xiàn)內(nèi)核層加密,還需要借助于擴(kuò)展和嵌入方法。2.區(qū)塊鏈
區(qū)塊鏈?zhǔn)墙┠陙砼d起的新的信息模型和網(wǎng)絡(luò)交易系統(tǒng)技術(shù),具有可以改變?nèi)祟惿鐣Y(jié)構(gòu)的巨大潛力。Python可以實現(xiàn)從區(qū)塊、挖礦、錢包、通信到網(wǎng)站等所有區(qū)塊鏈需求,開發(fā)方法如下。
(1)利用hashlib模塊的SHA256實現(xiàn)工作量證明和挖礦。
(2)利用json和hashlib模塊實現(xiàn)交易與區(qū)塊的記錄。
(3)利用rpc模塊實現(xiàn)網(wǎng)絡(luò)通信和節(jié)點功能。本書將在第四章進(jìn)行介紹。3.數(shù)字水印版權(quán)保護(hù)是信息隱藏技術(shù)中的水印技術(shù)所試圖解決的一個重要問題,這與密碼學(xué)是一個完全不同的范疇。水印總體可以分為空間域和變換域的算法,Python通過第三方的工具庫可以實現(xiàn)LSB、DCT、DWT等圖像變換處理,漸次實現(xiàn)水印保護(hù),典型應(yīng)用開發(fā)如下。
(1)利用CV2模塊進(jìn)行LSB位平面數(shù)據(jù)替換。
(2)利用CV2、numpy模塊實現(xiàn)DCT算法嵌入水印。
(3)利用CV2、Pywt、numpy模塊實現(xiàn)DWT算法嵌入水印。本書將在第五章進(jìn)行介紹。4.識別與認(rèn)證
Python可以實現(xiàn)密碼學(xué)的許多功能,包括公鑰密碼的實現(xiàn),因此也兼具繼承了密碼認(rèn)證的能力。此外,隨著就Python生物特征識別的工具庫的興起,Python人臉識別和聲紋識別(或說話人識別)類的技術(shù)也經(jīng)常得到應(yīng)用,典型應(yīng)用開發(fā)如下。
(1)利用Hashlib、random模塊實現(xiàn)挑戰(zhàn)響應(yīng)口令認(rèn)證。
(2)利用Dlib的FaceRecognition模塊實現(xiàn)基于人臉的識別認(rèn)證。
(3)利用Librosa、sidekit等語音特征分析模塊實現(xiàn)說話人識別認(rèn)證。本書將在第六章進(jìn)行介紹。5.主機(jī)安全主機(jī)系統(tǒng)是網(wǎng)絡(luò)中信息和信息處理最為集中的部分,也是黑客攻擊的重點之一。Python可以實現(xiàn)主機(jī)運維、惡意軟件分析、漏洞發(fā)現(xiàn)與挖掘。
(1)主機(jī)運維可以采用Psutil庫、Popen、PIPE、pywin32、paramiko、fabric與pexpect庫,等對主機(jī)運行狀態(tài)進(jìn)行監(jiān)控,然后通過分析發(fā)現(xiàn)異常,進(jìn)而執(zhí)行主機(jī)的安全隔離、告警、處置等。
(2)Python支持采用靜態(tài)分析、動態(tài)分析兩種手段對惡意軟件進(jìn)行分析,靜態(tài)分析利用PEfile、IDA、clamAV等工具在軟件未運行的狀態(tài)下,分析程序是否存在惡意特征,動態(tài)分析利用Volatility開源內(nèi)存取證框架、Windbg工具、Olldbg工具、以及沙箱對得到運行的軟件進(jìn)行惡意行為分析。
(3)漏洞挖掘發(fā)現(xiàn)系統(tǒng)或協(xié)議的漏洞,確保保護(hù)對象的可用性。Windows平臺上很多工具都提供對軟件的動靜態(tài)調(diào)試,進(jìn)而實現(xiàn)漏洞挖掘的Fuzzing和代碼逆向跟蹤,典型挖掘包括:采用PyEmu對惡意軟件進(jìn)行分析、采用ImmuityDebugger的Python腳本輔助PoC編寫和二進(jìn)制文件逆向、采用IDAPython插件的Python腳本進(jìn)行自定義軟件分析、采用PyDbg的x86指令仿真器Python腳本實現(xiàn)Fuzzing測試器等。本書將在第七章進(jìn)行介紹。6.網(wǎng)絡(luò)安全網(wǎng)絡(luò)連接主機(jī),也是黑客攻擊的重點。為了實現(xiàn)網(wǎng)絡(luò)的安全防護(hù),可以采用網(wǎng)絡(luò)嗅探、網(wǎng)絡(luò)掃描、防火墻、入侵檢測手段。Python本身自帶socket模塊,可以實現(xiàn)TCP和UDP網(wǎng)絡(luò)交互,并且在第三方庫的支持下也可以實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的構(gòu)造,因此支持主機(jī)活動性、端口和漏洞的掃描,典型應(yīng)用開發(fā)思路如下。
(1)利用pylibpcap、pycapy、pypcap、impacket、scapy等庫對網(wǎng)絡(luò)中的數(shù)據(jù)實施嗅探。
(2)采用socket原始套接字模式或scapy構(gòu)造ICMP數(shù)據(jù)包可以實現(xiàn)ICMP掃射主機(jī)掃描;采用socket流套接字或數(shù)據(jù)報套接字實現(xiàn)TCP全連接以及UDP的端口掃描,socket原始套接字模式或scapy實現(xiàn)半連接端口掃描;基于已知漏洞模板,采用json和requests模塊實現(xiàn)目標(biāo)主機(jī)的網(wǎng)絡(luò)漏洞掃描。
(3)Python由于工作的權(quán)限級別太低,無法直接完成涉及防火墻的內(nèi)核操作,但可以通過修改已有的防7火墻的配置表實現(xiàn)防火墻的功能,如:修改iptables實現(xiàn)Linux防火墻操作。
(4)與防火墻類似,可以通過修改已有的入侵檢測系統(tǒng)(snort、pytbull等)的配置表實現(xiàn)入侵檢測的功能,由于入侵檢測系統(tǒng)更加側(cè)重于數(shù)據(jù)分析,因此機(jī)器學(xué)習(xí)的方法非常適合于對入侵行為的分析,可以采用sklearn、Tensorflow等工具實施深度入侵分析。上述防病毒、防火墻、主機(jī)管控、網(wǎng)閘等方面的網(wǎng)絡(luò)安全軟件,需要內(nèi)核級操作權(quán)限,因此對于擴(kuò)展對象要求很高,目前這類成熟的Python開發(fā)平臺還不多見。現(xiàn)有少量的Python在這些應(yīng)用方面,更多發(fā)揮的是提高操作效率的作用。本書將在第八章進(jìn)行介紹。7.內(nèi)容安全內(nèi)容安全能夠屏蔽違規(guī)文本、圖片、音頻、視頻等傳播色情、低俗內(nèi)容等不良信息(亦可用于輿情監(jiān)控)。內(nèi)容安全一般可以分為:文本、語音、圖像的內(nèi)容安全。由于Python可以實現(xiàn)良好的自然語言處理功能,因此可以對基于自然語言的文本數(shù)據(jù)進(jìn)行過濾,實現(xiàn)內(nèi)容安全(如果經(jīng)過語音文本轉(zhuǎn)換,這種技術(shù)也可以對語音數(shù)據(jù)內(nèi)容實施過濾),開發(fā)方法如下。
(1)基于NLTK工具包,進(jìn)行自然語言分析。
(2)基于Gensim工具包從文檔中自勵提取語義。
(3)基于Jieba實現(xiàn)中文分詞工具和詞性標(biāo)注。
(4)聯(lián)合keras、librosa、scipy、sklearn、sounddevice、tensorflow實現(xiàn)語音文字的轉(zhuǎn)換。圖像語義理解方面,Python內(nèi)容安全也取得了很多進(jìn)展,但目前還不十分成熟,本書將在第九章進(jìn)行介紹。8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)意識在小學(xué)生的啟蒙與實踐探索
- 圖書館家具配置與學(xué)生學(xué)生服的搭配設(shè)計探討
- 醫(yī)療家庭溝通情感支持與理解技巧
- 2025中國聯(lián)通春季校園招聘(新苗)高頻重點提升(共500題)附帶答案詳解
- 2025中國移動湖南分公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國電信河北秦皇島分公司校園招聘11人高頻重點提升(共500題)附帶答案詳解
- 2025下半年重慶沙坪壩區(qū)事業(yè)單位招聘93人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年福建省寧德福安市事業(yè)單位招聘144人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省遂寧河?xùn)|新區(qū)教師招聘79人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年云南西雙版納州事業(yè)單位招聘工作人員255人高頻重點提升(共500題)附帶答案詳解
- 卸料平臺安裝巡視檢查記錄
- 單位物業(yè)服務(wù)項目投標(biāo)方案(技術(shù)標(biāo))
- TRIZ理論之40個發(fā)明原理課件
- 酒店宴會合同范本
- 貨款互抵三方協(xié)議合同范本
- 七年級道德與法治論文2000字(合集六篇)
- 王朝霞一年級上冊期末試卷
- 2023年初中英語聽課心得體會 初中英語聽課心得體會閱讀(優(yōu)質(zhì))相關(guān)范文多篇集錦
- 高中日語宣講 試聽課件
- 新生兒窒息診斷地專家共識
- 超高層建筑地造價含國內(nèi)著名超高層建筑成本大數(shù)據(jù)
評論
0/150
提交評論