2024機器學(xué)習(xí)圖算法與知識圖譜_第1頁
2024機器學(xué)習(xí)圖算法與知識圖譜_第2頁
2024機器學(xué)習(xí)圖算法與知識圖譜_第3頁
2024機器學(xué)習(xí)圖算法與知識圖譜_第4頁
2024機器學(xué)習(xí)圖算法與知識圖譜_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

圖算法與知識圖譜圖算法廣泛應(yīng)用于存在大量非結(jié)構(gòu)化網(wǎng)狀數(shù)據(jù)的領(lǐng)域,如社交網(wǎng)絡(luò)、金融、交通、搜索等,是一種非常簡單易用且有效的機器學(xué)習(xí)算基本概念,并給出基本的使用方式,介紹如何使用有向圖識別WebShell,如何使用有向圖識別僵尸網(wǎng)絡(luò)中的同一黑產(chǎn)團體,將結(jié)合搜挖掘后門文件的潛在聯(lián)系以及域名的潛在聯(lián)系等。目錄TOC\o"1-1"\h\u86771圖算法概述 298912示例:helloworld!有向圖 5266133示例:使用有向圖識別WebShell 12226041.數(shù)據(jù)整理 12167872.數(shù)據(jù)導(dǎo)入 1444273.查詢結(jié)果 1541414示例:使用有向圖識別僵尸網(wǎng)絡(luò) 19223585知識圖譜概述 23196116示例:知識圖譜在風(fēng)控領(lǐng)域的應(yīng)用 2625547示例:知識圖譜在威脅情報領(lǐng)域的應(yīng) 3716900用 37圖算法概述在現(xiàn)實世界中,有種關(guān)聯(lián)關(guān)系難以用數(shù)據(jù)庫的表結(jié)構(gòu)來表示,比如微博的粉絲關(guān)系、偶像劇中的N角戀、多個域名之間的注冊關(guān)系等,于是圖這種古老的數(shù)據(jù)結(jié)構(gòu)就派上了用場。一般認(rèn)為,如果給圖的每條邊規(guī)定一個方向,那么得到的圖稱為有向圖,其邊也稱為有向邊。在有向圖中,與一個節(jié)點相關(guān)聯(lián)的邊有出邊和入邊之分,而與一個有向邊關(guān)聯(lián)的兩個點也有始點和終點之分。相反,邊沒有方向的圖稱為無向圖。我們拿一個實際的例子來講解下用途最為廣泛的有向圖的一些基礎(chǔ)知識。微博中的好友關(guān)注關(guān)系就是典型的有向圖(如圖13-1所示),因為關(guān)注是有方向性的,比如我關(guān)注了鐘麗緹,但是鐘麗緹不一定關(guān)注了我。假定關(guān)注關(guān)系如下描述:C;A;·C關(guān)注D;·D關(guān)注了A和B。圖13-1 圖算法原理圖D關(guān)注了兩個人,所以他的出度為2,D被1個人關(guān)注,所以他的入度為1。圖的聚類算法,最簡單的一種實現(xiàn)叫做連通分支,其原理如圖13-2所示。所謂連通分支,指的是圖中由邊連接在一起的一組頂點,不要求頂點之間必須兩兩相連,但是連通分支的任意兩個頂點之間,至少存在一條路徑,計算連通分支時不區(qū)分有向圖和無向圖。圖13-2 圖的連通分支原理圖示例:helloworld!有向圖Neo4j是一個高性能的圖形數(shù)據(jù)庫,它將結(jié)構(gòu)化數(shù)據(jù)存儲在網(wǎng)絡(luò)上而不是表中,因其具有嵌入式、高性能、輕量級等優(yōu)勢,越來越受到人們關(guān)注。我們以Neo4j為例進行講解。編寫我們的第一個有向圖程序,完整演示代碼請見本書GitHub上的13-1.py。neo4j安裝在\h/上下載安裝包進行安裝,默認(rèn)配置即可。ne04j啟動以我的mac為例子,通過gui啟動,啟動界面如圖13-3所示,默認(rèn)密碼為ne04j/ne04j,第一次登錄會要求更改密碼。圖13-3 neo4j啟動界啟動管理界面見圖13-4。圖13-4 neo4j管理界面SDK安裝PythonAPI庫安裝:sudopipinstallneo4j-driver下載JPype:/pypi/JPype1安裝JPype:tar-zxvfJPype1-0.6.2.tar.gzcdJPype1-0.6.2sudopythonsetup.pyinstall導(dǎo)入數(shù)據(jù)微博關(guān)注關(guān)系如圖13-5所示。圖13-5導(dǎo)入庫并連接數(shù)據(jù)庫:fromneo4j.v1importGraphDatabase,basic_authdriver=GraphDatabase.driver("bolt://localhost",auth=basic_auth("neo4j","maidou"session=driver.session()插入人物節(jié)點以及關(guān)注關(guān)系數(shù)據(jù):insert_query='''UNWIND{pairs}aspairMERGE(p1:Person{name:pair[0]})MERGE(p2:Person{name:pair[1]})MERGE(p1)-[:KNOWS]-(p2);'''data=[["Jim","Mike"],["Jim","Billy"],["Anna","Jim"],["Anna","Mike"],["Sally","Anna"],["Joe","Sally"],["Joe","Bob"],["Bob","Sally"]]session.run(insert_query,parameters={"pairs":data})查詢1:foaf_query='''MATCH(person:Person)-[:KNOWS]-(friend)-[:KNOWS]-(foaf)WHERE={name}ANDNOT(person)-[:KNOWS]-(foaf)RETURNASname'''results=session.run(foaf_query,parameters={"name":"Joe"})forrecordinresults:print(record["name"])運行結(jié)果為:B0000000B60544:codeliu.yan$python13-1.pyAnna查詢2:common_friends_query="""MATCH(user:Person)-[:KNOWS]-(friend)-[:KNOWS]-(foaf:Person)WHERE={user}AND={foaf}RETURNASfriend"""results=session.run(common_friends_query,parameters={"user":"Joe","foaf":"Salforrecordinresults:print(record["friend"])查詢結(jié)果為:B0000000B60544:codeliu.yan$python13-1.pyBob查詢3:connecting_paths_query="""MATCHpath=shortestPath((p1:Person)-[:KNOWS*..6]-(p2:Person))WHERE={name1}AND={name2}RETURNpath"""results=session.run(connecting_paths_query,parameters={"name1":"Joe","name2":forrecordinresults:print(record["path"])結(jié)果為:B0000000B60544:codeliu.yan$python13-1.py<Pathstart=7end=16size=4>可視化展現(xiàn)可視化可以分兩點:1)展示原始數(shù)據(jù),2)展示關(guān)聯(lián)關(guān)系。Neo4j原始數(shù)據(jù)如圖13-6所示。圖13-6 neo4j原始數(shù)據(jù)Neo4j關(guān)聯(lián)關(guān)系如圖13-7所示。圖13-7 Neo4j關(guān)聯(lián)關(guān)系可視化圖示例:使用有向圖識別WebShell完整演示代碼請見本書GitHub上的13-2.py以及13-3.py。WebShell具有很多訪問特征,其中和有向圖相關(guān)的為:·入度出度均為0;·入度出度均為1且自己指向自己。完整處理流程如圖13-8所示。圖13-8 HTTP日志數(shù)據(jù)處理流程數(shù)據(jù)整理我們在新安裝的WordPress網(wǎng)站下面安裝一個簡單的后門1.php,如圖13-9所示,內(nèi)容為phpinfo。圖13-9 測試環(huán)境中放置的后門文件Apache默認(rèn)不記錄refer字段,需要修改默認(rèn)配置,開啟HTTPD自定義日志格式,記錄User-Agen以及Referer:<IfModulelogio_module>#Youneedtoenablemod_logio.ctouse%Iand%OLogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\"%I%O"comb</IfModule>CustomLog"logs/access_log"combined針對1.php的訪問日志為:[root@instance-8lp4smgvlogs]#cataccess_log|grep'wp-admin/1.php'40--[26/Feb/2017:13:09:47+0800]"GET/wordpress/wp-admin/1.phpHTTP40--[26/Feb/2017:13:11:19+0800]"GET/wordpress/wp-admin/1.phpHTTP逐行處理日志,生成原始頁面請求的URL和該頁面refer指向URL的對應(yīng)關(guān)系,聚合結(jié)果舉例為:-->\h9/wordpress/wp-admin/1.php->\h9/wordpress/wp-admin/admin-ajax.php->\h9/wordpress/wp-admin/customize.php->\h9/wordpress/wp-admin/load-styles.php->\h9/wordpress/wp-admin/post-new.php->\h9/wordpress/wp-login.php\h9/wordpress/->\h9/wordpress/wp-admin/edit-com\h9/wordpress/->\h9/wordpress/wp-admin/profile.\h9/wordpress/->\h9/wordpress/wp-login.php\h9/wordpress/->\h9/wordpress/xmlrpc.php\h9/wordpress/wp-admin/->\h9/wordpress/wp數(shù)據(jù)導(dǎo)入driver=GraphDatabase.driver("bolt://localhost:7687",auth=basic_auth("neo4j","maidsession=driver.session()逐行讀取,生成節(jié)點以及關(guān)聯(lián)關(guān)系:forlineinfile_object:matchObj=re.match(r'(\S+)->(\S+)',line,re.M|re.I)ifmatchObj:path=matchObj.group(1);ref=matchObj.group(2);ifpathinnodes.keys():path_node=nodes[path]else:path_node="Page%d"%indexnodes[path]=path_nodesql="create(%s:Page{url:\"%s\",id:\"%d\",in:0,out:0})"%(path_node,path,indexindex=index+1session.run(sql)把入度出度作為節(jié)點的屬性,更新節(jié)點的出度入度屬性:ifrefinnodes.keys():ref_node=nodes[ref]else:ref_node="Page%d"%indexnodes[ref]=ref_nodesql="create(%s:Page{url:\"%s\",id:\"%d\",in:0,out:0})"%(ref_node,ref,index)index=index+1session.run(sql)sql="create(%s)-[:IN]->(%s)"%(path_node,ref_node)session.run(sql)sql="match(n:Page{url:\"%s\"})SETn.out=n.out+1"%pathsession.run(sql)sql="match(n:Page{url:\"%s\"})SETn.in=n.in+1"%refsession.run(sql)查詢結(jié)果網(wǎng)頁關(guān)聯(lián)關(guān)系原始數(shù)據(jù)如圖13-10所示。圖13-10 網(wǎng)頁關(guān)聯(lián)關(guān)系原始數(shù)網(wǎng)頁關(guān)聯(lián)關(guān)系可視化結(jié)果如圖13-11所示。圖13-11 網(wǎng)頁關(guān)聯(lián)關(guān)系可視化圖查詢?nèi)攵葹?出度均為0的節(jié)點或者查詢?nèi)攵瘸龆染鶠?且指向自己的節(jié)點,由于把ref為空的情況也識別為"-"節(jié)點,所以入度為1出度均為0。查詢滿足條件的疑似WebShell鏈接,如圖13-12所示。圖13-12 查詢疑似WebShell的鏈接在生產(chǎn)環(huán)境實際使用中,我們遇到的誤報分為以下幾種:·主頁,各種index頁面;·Phpmyadmin、Zabbix等運維管理后臺;·Hadoop、ELK等開源軟件的控制臺;·API接口。響,這部分需要通過掃描器指紋或者使用高大上的人機算法來去掉干擾。示例:使用有向圖識別僵尸網(wǎng)絡(luò)黑產(chǎn)團伙通過控制僵尸網(wǎng)絡(luò),如圖13-13所示,主要達到以下幾個目的:·發(fā)送廣告郵件;·發(fā)起DDoS攻擊;·發(fā)起惡意廣告點擊展現(xiàn)請求;·全網(wǎng)掃描漏洞并自動化滲透具有漏洞的主機,不斷擴充肉雞的規(guī)模。黑產(chǎn)通常會對整個僵尸網(wǎng)絡(luò)發(fā)布相同的控制指令,所以通過統(tǒng)計一段時間內(nèi)攻擊源IP和被攻擊者域名之間的關(guān)聯(lián)關(guān)系,可以初步確定哪些IP可能是被同一個黑產(chǎn)團體控制,如圖13-14所示。圖13-13 黑產(chǎn)控制僵尸網(wǎng)絡(luò)發(fā)起攻擊示意圖圖13-14 IP與被攻擊域名處理流程完整演示代碼請見本書GitHub上的13-4.py。數(shù)據(jù)整理獲取開源攻擊數(shù)據(jù)網(wǎng)站\h/上的數(shù)據(jù)并整理成訓(xùn)練集合,格式如下:6**6**lfinancetips.*6**zc.*9**000.*4**qi-steel-shot.*4**dapower.*其中IP地址和域名做了脫敏處理。脫敏函數(shù)實現(xiàn)為:withopen(filename)asf:forlineinf:line=line.strip('\n')ip,domain=line.split()ip=re.sub(r'\d$','*',ip)domain=re.sub(r'\w{3}$','*',domain)domain=re.sub(r'^\w{3}','*',domain)print"%s%s"%(ip,domain)數(shù)據(jù)導(dǎo)入逐行讀取攻擊數(shù)據(jù),按照攻擊源IP建立hash表,hash表的鍵值為被攻擊的域名:withopen(filename)asf:forlineinf:(ip,domain)=line.split("")ifnotip=="":ifnotiplist.has_key(ip):iplist[ip]={}iplist[ip][domain]=1定義閾值R,攻擊的域名超過R的IP才列入統(tǒng)計范圍:foripiniplist.keys():iflen(iplist[ip])>=R:goodiplist[ip]=1定義計算jarccard系數(shù)的函數(shù),作為衡量兩個IP攻擊集合相似度的方式。所謂jarccard系數(shù),指的是兩個集合交集除以并集的比值。定義閾值N,當(dāng)兩個IP攻擊的域名jarccard大于等于N時才列入統(tǒng)計范圍:#jarccard系數(shù)defget_len(d1,d2):ds1=set()fordind1.keys():ds1.add(d)ds2=set()fordind2.keys():ds2.add(d)returnlen(ds1&ds2)/len(ds1|ds2)滿足閾值的IP導(dǎo)入圖數(shù)據(jù)庫:forip1iniplist.keys():forip2iniplist.keys():ifnotip1==ip2:weight=get_len(iplist[ip1],iplist[ip2])if(weight>=N)and(ip1ingoodiplist.keys())and(ip2ingoodiplist.#點不存在會自動添加G.add_edge(ip1,ip2,weight=weight)查詢分析定于閾值M,當(dāng)同一團伙的IP大于等于M時才顯示結(jié)果:fori,sub_graphinenumerate(sub_graphs):ifn_nodes>=M:print("Subgraph{0}has{1}nodes{2}".format(i,n_nodes,sub_graph.nodes()))定義全局閾值,包括相似度、黑客團伙IP最小個數(shù)等:#相似度N=0.5#黑客團伙IP最少個數(shù)M=3#黑客IPR=2結(jié)果舉例為:Subgraph2has20nodes['3*','*','7*','60.22Subgraph3has3nodes['3*','*','0*']Subgraph5has5nodes['2*','7*','1*','可視化聚類結(jié)果如圖13-15所示。圖13-15 僵尸網(wǎng)絡(luò)聚類效果圖知識圖譜概述當(dāng)你在百度搜索“孫悟空的師傅”時(參見圖13-16),會直接展現(xiàn)出唐僧和菩提老祖的百度百科介紹。圖13-16 在百度搜索“孫悟空的師傅”這是因為百度搜索通過知識圖譜建立實體之間的屬性與關(guān)系,讓搜索引擎更懂用戶的意圖,直接解答用戶的疑惑。當(dāng)你拿起手機搜索“全聚德”時,會自動展現(xiàn)你附近的全聚德店的位置,如圖13-17所示。圖13-17 百度搜索“全聚德”這是因為百度搜索借助于知識圖譜,結(jié)合用戶行為信息,為用戶提供更符合當(dāng)前場景的搜索結(jié)果。當(dāng)你在百度搜索“達芬奇”時,除了會展現(xiàn)達·芬奇相關(guān)的信息,同時也會自動展現(xiàn)關(guān)注達·芬奇的人同時也關(guān)注的其他人物以及作品,見圖13-18。這是因為百度搜索通過知識圖譜建立事物之間的關(guān)聯(lián),擴展用戶搜索結(jié)果,發(fā)現(xiàn)更多內(nèi)容。圖13-18 百度搜索“達芬奇”2012年,Google單地發(fā)現(xiàn)新的信息和知識,Google搜索將發(fā)布“知識圖譜”(KnowledgeGraph)——可以將搜索結(jié)果進行知識系統(tǒng)化,任何一個關(guān)鍵詞都能獲得完整的知識體系。比如搜索“Amazon”(亞馬遜河),一般的搜索結(jié)果會給出和Amazon最相關(guān)的信息。比如Amazon網(wǎng)站,因為網(wǎng)上關(guān)于它的信息最多,但Amazon并不僅僅是一個網(wǎng)站,它還是全球流量最大的Amazon河流。如果再追溯歷史,它可能還是希臘女戰(zhàn)士一族的代稱。而這些結(jié)果未來都會在Google搜索的“知識圖譜”中展現(xiàn)出來。Google的“知識圖譜”不僅僅會從Freebase、維基百科或全球概覽中獲得專業(yè)的信息,同時還通過大規(guī)模的信息搜索分析來提高搜索結(jié)果的深度和廣度?,F(xiàn)在Google數(shù)據(jù)庫中包含超過5億個事物,不同事物之間的關(guān)系超過35億條。同時人們搜索得越多,Google整個“知識圖譜”也就會達到更好的效果。知識圖譜本質(zhì)上可以認(rèn)為是圖的一種具體應(yīng)用,它大量集成了互聯(lián)網(wǎng)上的各類數(shù)據(jù),從而進一步挖掘出了數(shù)據(jù)的潛在聯(lián)系與價值。在安全領(lǐng)域應(yīng)用知識圖譜,可以挖掘數(shù)據(jù)之間潛在的聯(lián)系,結(jié)合這些潛在的聯(lián)系可以大大擴展我們的數(shù)據(jù)分析思路。示例:知識圖譜在風(fēng)控領(lǐng)域的應(yīng)用的風(fēng)控策略已經(jīng)大打折扣。如何利用互聯(lián)網(wǎng)上各類數(shù)據(jù),挖掘蛛絲馬決這兩個問題。首先,知識圖譜提供非常便捷的方式來添加新的數(shù)據(jù)本書Github上的13-5.py。檢測疑似賬號被盜盜號是互聯(lián)網(wǎng)業(yè)務(wù)中常見的惡意行為。盜號的渠道也非常多,從暴力破解到撞庫都可能導(dǎo)致賬戶被盜,單純依賴用戶名和密碼認(rèn)證已經(jīng)無法保障賬戶的安全。我們使用脫敏的測試數(shù)據(jù)來演示疑似賬戶被盜的情況。測試樣本記錄了微軟的郵件系統(tǒng)的手機客戶端成功登錄日志:字段含義分別為:·uid,用戶名;·ip,登錄IP地址;·tel,安裝微軟郵件客戶端的手機的手機號;·activesyncid,安裝微軟郵件客戶端的手機對應(yīng)activesyncid,該id全局唯一,與硬件綁定,類似微軟在PC上的guid。疑似賬戶被盜邏輯上對應(yīng)的拓?fù)浣Y(jié)構(gòu)如圖13-19所示。圖13-19 疑似賬戶被盜示意圖從拓?fù)鋱D可以看出來,activesyncid為2的硬件登錄了mike和john兩個賬戶,mike歷史上曾經(jīng)成功登錄過activesyncid為1的硬件以及activesyncid為2的硬件,初步判定activesyncid為2的硬件盜取了mike的賬戶登錄。逐行處理樣本文件,獲取對應(yīng)的uid、ip、tel、activesyncid:withopen("../data/KnowledgeGraph/sample1.txt")asf:G=nx.Graph()forlineinf:line=line.strip('\n')uid,ip,tel,activesyncid=line.split(',')以uid為中心,添加對應(yīng)的ip、tel、activesyncid節(jié)點:G.add_edge(uid,ip)G.add_edge(uid,tel)G.add_edge(uid,activesyncid)可視化知識圖譜:nx.draw(G,with_labels=True,node_size=600)plt.show()對應(yīng)知識圖譜見圖13-20。圖13-20 疑似賬戶被盜的知識圖譜檢測疑似撞庫攻擊撞庫是黑客通過收集互聯(lián)網(wǎng)已泄露的用戶和密碼信息,生成對應(yīng)的字典表,嘗試批量登錄其他網(wǎng)站后,得到一系列可以登錄的用戶。很多用戶在不同網(wǎng)站使用的是相同的賬號密碼,因此黑客可以通過獲取用戶在A網(wǎng)站的賬戶從而嘗試登錄B網(wǎng)站,這就可以理解為撞庫攻擊。2014年12月25日,12306網(wǎng)站用戶信息在互聯(lián)網(wǎng)上瘋傳。對此,12306官方網(wǎng)站稱,網(wǎng)上泄露的用戶信息系經(jīng)其他網(wǎng)站或渠道流出。據(jù)悉,此次泄露的用戶數(shù)據(jù)不少于131653條。該批數(shù)據(jù)基本確認(rèn)為黑客通過“撞庫攻擊”所獲得。我們使用脫敏的測試數(shù)據(jù)來演示疑似撞庫攻擊的情況。測試樣本記錄了微軟的郵件系統(tǒng)的網(wǎng)頁版登錄日志,其中既包含登錄成功也包含登錄失敗的情況:uid=mike,ip=ip1,login=yes,ua=ua1uid=mike,ip=ip1,login=no,ua=ua1uid=lily,ip=ip1,login=yes,ua=ua1uid=willy,ip=ip1,login=no,ua=ua1uid=tony,ip=ip1,login=yes,ua=ua1uid=charly,ip=ip1,login=yes,ua=ua1uid=steven,ip=ip1,login=no,ua=ua1uid=mery,ip=ip1,login=no,ua=ua1uid=john,ip=ip1,login=no,ua=ua1字段含義分別為:·uid,用戶名;·ip,登錄IP地址;·login,登錄狀態(tài),yes表明登錄成功,no表明登錄失?。弧a,瀏覽器的ua字段,通常結(jié)合ip和ua字段可以在一定程度標(biāo)識一個用戶或者設(shè)備。疑似撞庫攻擊邏輯上對應(yīng)的拓?fù)浣Y(jié)構(gòu)如圖13-21所示。圖13-21 疑似撞庫攻擊示意圖從拓?fù)鋱D可以看出來,大量賬戶從ip1登錄,并且ua字段相同,登錄失敗和成功的情況均存在,疑似發(fā)生了撞庫攻擊行為。通常情況下,同一IP不會出現(xiàn)大量登錄行為,即使辦公網(wǎng)出口這種人員密集的地方,也應(yīng)該主要是登錄成功為主,不應(yīng)該登錄成功與失敗數(shù)量均比較大。逐行處理樣本文件,獲取對應(yīng)的uid、ip、login、ua字段:withopen("../data/KnowledgeGraph/sample2.txt")asf:G=nx.Graph()forlineinf:line=line.strip('\n')以uid為中心,添加對應(yīng)的ip、login、ua節(jié)點:G.add_edge(uid,ip)G.add_edge(uid,login)G.add_edge(uid,ua)可視化知識圖譜:nx.draw(G,with_labels=True,node_size=600)plt.show()對應(yīng)知識圖譜見圖13-22。圖13-22 疑似撞庫攻擊的知識圖譜檢測疑似刷單國內(nèi)O2O的大肆補貼,滋生了一個產(chǎn)業(yè)鏈,即所謂的“羊毛黨”和“刷單”。有一批人對搜集各大電子商城、銀行、實體店等各渠道的優(yōu)惠促銷活動、免費業(yè)務(wù)之類的信息產(chǎn)生了濃厚的興趣。他們有選擇地參與活動,從而以相對較低成本甚至零成本換取物質(zhì)上的實惠。這一行為被稱為“薅羊毛”,而關(guān)注與熱衷于薅羊毛的群體就被稱作“羊毛黨”。早前,“羊毛黨”們主要活躍在O2O平臺或電商平臺。另外隨著2015年互聯(lián)網(wǎng)金融的發(fā)展,一些網(wǎng)貸平臺為吸引投資者常推出一些收益豐厚的活動,如注冊認(rèn)證獎勵、充值返現(xiàn)、投標(biāo)返利等,催生了以此為生的投資群體,他們也被稱為“P2P羊毛黨”。這部分用戶與網(wǎng)購羊毛黨不同,只關(guān)注互聯(lián)網(wǎng)金融產(chǎn)品。這種方式,網(wǎng)店可以獲得較好的搜索排名,比如,在平臺搜索時按“銷量”搜索,該店鋪因為銷量大(即便是虛假的)會更容易被買家找到。App以及App的登錄名:字段含義分別為:·hid,硬件指紋,唯一標(biāo)識一臺設(shè)備;·uid,App的登錄用戶名;·app,App的名稱。一部分記錄了App的登錄名以及下單接單情況:hid=1,uid=mike,action=buyhid=2,uid=tony,action=sell字段含義分別為:·hid,硬件指紋,唯一標(biāo)識一臺設(shè)備;·uid,App的登錄用戶名;·action,用戶行為,是下單還是接單。邏輯上對應(yīng)的拓?fù)浣Y(jié)構(gòu)如圖13-23所示。圖13-23 疑似刷單示意圖從拓?fù)鋱D可以看出來,雖然兩臺設(shè)備hid1和hid2登錄賬戶不一樣,但是他們共同安裝的App2上的登錄用戶名相同,從而可以判斷這兩臺設(shè)備屬于同一個人,該人疑似使用這兩臺設(shè)備分別扮演買家和賣家進行刷單行為。逐行處理樣本文件,獲取對應(yīng)的hid,uid,app字段:withopen("../data/KnowledgeGraph/sample3.txt")asf:forlineinf:line=line.strip('\n')hid,uid,app=line.split(',')以hid為中心,添加對應(yīng)的uid,app節(jié)點:G.add_edge(hid,uid)G.add_edge(hid,app)逐行處理樣本文件,獲取對應(yīng)的hid,uid,action字段:withopen("../data/KnowledgeGraph/sample4.txt")asf:forlineinf:line=line.strip('\n')hid,uid,action=line.split(',')以hid為中心,添加對應(yīng)的uid,action節(jié)點:G.add_edge(hid,uid)G.add_edge(hid,action)可視化知識圖譜:nx.draw(G,with_labels=True,node_size=600)plt.show()對應(yīng)知識圖譜如圖13-24所示。圖13-24 疑似刷單行為知識圖譜示例:知識圖譜在威脅情報領(lǐng)域的應(yīng)用近幾年,威脅情報在信息安全領(lǐng)域非常熱門。威脅情報基于海量的數(shù)據(jù)分析,挖掘潛在的關(guān)聯(lián)關(guān)系,為其他安全產(chǎn)品提供強大的數(shù)據(jù)情報支撐,目前涌現(xiàn)了大量的創(chuàng)業(yè)企業(yè)投入到威脅情報領(lǐng)域。鍵資產(chǎn)的防御方式早已力不能及。因此,企業(yè)想要安全地開展公司業(yè)及所掌握的傳輸武器的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施情況等,使遇到威脅時能夠準(zhǔn)確、高效地采取行動。在2016年的RSA大會上出現(xiàn)了10家威脅情報公司,其中包括老牌安全公司Symantec、DellSecurity,也包括大量新秀如Webroot、CrowdStrike,其中還包含國內(nèi)的一家創(chuàng)業(yè)公司ThreatBook。ThreatBook成立于2015年7月,致力于提供及時、準(zhǔn)確的威脅情報,用來阻截攻擊、發(fā)現(xiàn)威脅、溯源追蹤和消除風(fēng)險。ThreatBook的主要產(chǎn)品TIC(威脅情報中心)的威脅應(yīng)用解決方案,使客戶在面對關(guān)鍵威脅時可以快速發(fā)現(xiàn)并采取有效的行動。完整演示代碼請見本書GitHub上的13-6.py。挖掘后門文件潛在聯(lián)系黑產(chǎn)通常通過傳播后門文件入侵主機,組織起龐大的僵尸網(wǎng)絡(luò)。后門文件通常通過連接C&C服務(wù)器的域名來監(jiān)聽控制指令,后門文件中硬編碼少量C&C服務(wù)器的域名,然后自動化下載最近的C&C服務(wù)器列表。通過靜態(tài)分析后門文件中硬編碼的域名,關(guān)聯(lián)分析域名和文件之間的關(guān)系,可以挖掘出后門文件之間的潛在聯(lián)系。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論