国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

人工智能與逆向工程

2019-11-15 10:24:08陳佳音
電子技術(shù)與軟件工程 2019年19期
關(guān)鍵詞:逆向代碼機器

文/陳佳音

1 人工智能的發(fā)展現(xiàn)狀

人工智能有很多分支和學(xué)派,但就普通大眾來講,應(yīng)該了解當前人工智能發(fā)展的三個基本概念,它們分別是人工智能的定義、機器學(xué)習(xí)理論和統(tǒng)計學(xué)習(xí)理論,下面將分別予以介紹:

(1)什么是人工智能?機器具有或展現(xiàn)了像人一樣的智慧,即為人工智能。人工智能的主要方向是機器學(xué)習(xí)。

(2)什么是機器學(xué)習(xí)?機器能夠像人一樣通過學(xué)習(xí)自動提升性能,即為機器學(xué)習(xí)。當前機器學(xué)習(xí)的主流是統(tǒng)計學(xué)習(xí)。

(3)什么是統(tǒng)計學(xué)習(xí)?機器利用統(tǒng)計學(xué)知識對海量數(shù)據(jù)(大數(shù)據(jù))進行分析和挖掘(學(xué)習(xí))進而不斷調(diào)整自身參數(shù)、提升自身性能的過程,即為統(tǒng)計學(xué)習(xí)?,F(xiàn)在主要的工業(yè)智能應(yīng)用都是基于統(tǒng)計學(xué)習(xí)理論的。

人工智能的實現(xiàn)大體包含四個主要步驟:數(shù)據(jù)采集、數(shù)據(jù)清洗或標記、數(shù)據(jù)分析、智能化決策。數(shù)據(jù)采集,是指通過物聯(lián)網(wǎng)等手段采集或抓取海量的數(shù)據(jù)過程;數(shù)據(jù)清洗或標記,是指對采集到的數(shù)據(jù)進行融合、去除冗余、結(jié)構(gòu)化處理、標記等過程,其為后續(xù)的分析工作提供規(guī)范格式的輸入內(nèi)容;數(shù)據(jù)分析,是指利用云計算集群、超級計算機等算力基礎(chǔ),運行大數(shù)據(jù)相關(guān)軟件進行統(tǒng)計分析、分類、擬合、發(fā)現(xiàn)數(shù)據(jù)內(nèi)聯(lián)關(guān)系的過程;智能化決策,是指在數(shù)據(jù)分析的基礎(chǔ)上根據(jù)現(xiàn)實狀況,調(diào)整參數(shù)、建立并改進決策模型、實現(xiàn)智能化控制的過程。數(shù)據(jù)分析和智能化決策兩個步驟連在一起即為前文所講的統(tǒng)計學(xué)習(xí)過程,或簡稱學(xué)習(xí)。

有很多數(shù)學(xué)上的方法都可以實現(xiàn)人工智能,而根據(jù)其學(xué)習(xí)機理及對輸入數(shù)據(jù)的要求,人工智能方法又可以分為有監(jiān)督的學(xué)習(xí)、無監(jiān)督的學(xué)習(xí)和半監(jiān)督的學(xué)習(xí)。有監(jiān)督的學(xué)習(xí),或稱有指導(dǎo)的學(xué)習(xí),是指在學(xué)習(xí)前先對輸入數(shù)據(jù)進行標記,人為的指出數(shù)據(jù)中的正例、反例或程度值,這樣會造成機器學(xué)習(xí)的過程中形成與標記數(shù)據(jù)相匹配的決策模型,從而實現(xiàn)在人類指導(dǎo)下的自動決策。無監(jiān)督的學(xué)習(xí),是指不事先對數(shù)據(jù)進行標記,而通過聚合度等方式由機器自主的對數(shù)據(jù)進行分析、分類的過程,該過程實現(xiàn)了無人指導(dǎo)的機器自主決策。半監(jiān)督的學(xué)習(xí),則是以上兩種思想的結(jié)合體。

有監(jiān)督的學(xué)習(xí),強調(diào)了人的引導(dǎo)性,對已知世界有的放矢,卻缺乏機器對未知世界的探索能力。無監(jiān)督學(xué)習(xí),強調(diào)了機器的自主性,可是由于技術(shù)能力的限制和數(shù)據(jù)的有限性,往往很難做出令人類滿意或者說符合現(xiàn)實情況的決策,因而應(yīng)用的范圍十分有限,但無監(jiān)督學(xué)習(xí)代表了機器能夠自主獲取并提煉知識的能力,即如同人類一樣的學(xué)習(xí)能力,是人工智能領(lǐng)域的終極目標。

常用的人工智能學(xué)習(xí)方法有很多,主要包括回歸分析、決策樹、神經(jīng)元網(wǎng)絡(luò)、支持向量機、貝葉斯網(wǎng)絡(luò)等方式,下面對其中的主流方法做以介紹:

(1)回歸分析:回歸分析是最基本的統(tǒng)計分析方法,其基本思想是利用直線來模擬數(shù)據(jù)變化趨勢或?qū)?shù)據(jù)進行分類,又可以分為對連續(xù)數(shù)據(jù)擬合的線性回歸和對離散數(shù)據(jù)分類的邏輯回歸。股指變化趨勢線和摩爾定律曲線都是通過線性回歸對數(shù)據(jù)變化趨勢預(yù)測的經(jīng)典案例。而圖1則利用一條直線分割了兩類數(shù)據(jù)點,是邏輯回歸的典型特征。

(2)決策樹:決策樹是利用信息特征的概率分布情況(信息熵)生成樹,并進行數(shù)據(jù)分類、決策的一種方法。比如銀行可以通過收集客戶個人經(jīng)濟數(shù)據(jù)、生成決策樹并對其還貸能力進行人工智能判定,婚介網(wǎng)站也可以建立決策樹模型實現(xiàn)會員相親的自動匹配。

圖1:邏輯回歸圖示

(3)神經(jīng)網(wǎng)絡(luò):神經(jīng)網(wǎng)絡(luò)是一種模擬人類腦神經(jīng)的復(fù)雜網(wǎng)絡(luò),理論上講,只要用于模擬的神經(jīng)元個數(shù)足夠多,即可以完成對任何連續(xù)數(shù)據(jù)的曲線擬合或?qū)θ魏坞x散數(shù)據(jù)的分類工作。神經(jīng)網(wǎng)絡(luò)的著名案例是震驚世界的圍棋程序AlphaGo,其先后打敗韓國國手李世石和中國國手柯潔,AlphaGo在內(nèi)部構(gòu)建了基于深度學(xué)習(xí)理論的兩種多層神經(jīng)網(wǎng)絡(luò),分別是用于評估自身落子收益的價值網(wǎng)絡(luò)和用于推斷對手可能落子位置的決策網(wǎng)絡(luò)。

(4)集成學(xué)習(xí):人工智能領(lǐng)域有一個著名定理—“沒有免費的午餐”,即指沒有任何一個算法能解決所有問題,而是應(yīng)該根據(jù)不同的問題選擇不同的算法。因此,人們設(shè)計了集成學(xué)習(xí)系統(tǒng),這種系統(tǒng)利用多個較弱的學(xué)習(xí)算法分別處理問題,然后再把多項弱結(jié)果擇優(yōu)合成到為一個強結(jié)果,很顯然這樣做可以提高整體的學(xué)習(xí)能力。

(5)聚類分析:聚類分析是利用數(shù)據(jù)內(nèi)部特征對其自動進行分類的一種無監(jiān)督學(xué)習(xí)方法。以銀行“客戶分類”為例,其可以以客戶的年齡和收入為軸構(gòu)建坐標系,再把相應(yīng)的數(shù)據(jù)描繪到坐標平面上,最后根據(jù)坐標點的分布情況自動對客戶進行分類,每個類別內(nèi)部的點要盡量的近,而類別之間的距離要盡量的遠。

2 逆向工程的意義與發(fā)展

廣義的逆向工程是指在不能獲得目標產(chǎn)品生產(chǎn)信息的情況下,對其成品進行分析,反推其設(shè)計原理的過程。軟件逆向,是指把逆向工程思想應(yīng)用于軟件領(lǐng)域,針對特定軟件,以反匯編閱讀源碼的方式去推斷其加密參數(shù)、數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)和程序設(shè)計信息的過程。軟件逆向技術(shù)的目的是研究和學(xué)習(xí)先進的技術(shù),本文余下部分所提到的逆向工程都是指軟件逆向。

逆向工程的主要分支包括密碼逆向、加密機制逆向和代碼逆向。密碼逆向是指通過密文或已知的部分明文反向推測密碼的過程,典型的例子是應(yīng)用彩虹表推測密碼。加密機制逆向是指針對加密體系構(gòu)建的漏洞進行推測和攻擊,曾經(jīng)大行其道的蹭網(wǎng)器就是利用了這種方式。代碼逆向則利用了操作系統(tǒng)或編輯器的調(diào)試接口,通過可執(zhí)行代碼反推源代碼的流程邏輯,如圖2所示。

逆向工程應(yīng)用主要包括外掛編寫,加密體系破解和源代碼分析等。外掛,是網(wǎng)絡(luò)游戲中的附加軟件,其利用逆向工程中的注入、鉤取等手段把額外的代碼附著于游戲本體代碼之上,形成了額外的游戲功能;加密體系破解,則是指利用逆向工程手段繞過軟件本體原有的保護機制,達到免費使用未授權(quán)軟件的目的,即是盜版軟件;源代碼分析,是指利用逆向工程通過可執(zhí)行代碼反推源代碼的工作原理、流程等相關(guān)內(nèi)容,常被安全人員用于對病毒和木馬的分析,已達到防毒防馬的目的。

3 人工智能與逆向工程的結(jié)合研究

人工智能與逆向工程的結(jié)合研究可包含兩方面:從白客角度講,可以利用人工智能來防范逆向工程;從黑客角度講,可以利用人工智能來實現(xiàn)逆向工程。

3.1 利用人工智能來防范逆向工程的原理

無論哪一種形式的逆向工程,都會對程序的數(shù)據(jù)流進行嗅探、分析、測試和修改,這勢必會引起數(shù)據(jù)異常,少量的異常或者可以被視為正常情況,但大量的異常則必然呈現(xiàn)統(tǒng)計學(xué)特征。在這種情況下,安全人員就可以使用統(tǒng)計學(xué)習(xí)理論來提取特征、分析數(shù)據(jù)、進而實現(xiàn)對逆向工程的判定、識別和分類。其可應(yīng)用于如下場景:

(1)智能識別外掛。外掛程序常常會修改主機內(nèi)存或C/S通信中的敏感數(shù)據(jù),這樣的修改具有一定的隱蔽性,很難從個例上判定其是否違規(guī)。但游戲設(shè)計人員可以利用人工智能方法在服務(wù)器端統(tǒng)計、分析客戶端發(fā)送過來的數(shù)據(jù)包異常,進而對客戶端是否使用外掛做出判定。

圖2:代碼逆向

(2)病毒木馬防護。木馬、病毒、勒索程序在入侵主機的過程中都會繞過已知防御體系,但其行為、數(shù)據(jù)結(jié)構(gòu)、代碼架構(gòu)、傳播方式等都有著類似的特征,因此安全人員可以利用人工智能技術(shù)對這些特征進行建模、分析和學(xué)習(xí),進而達到識別未知的木馬、病毒和可疑進程的目的。

(3)網(wǎng)絡(luò)監(jiān)控。在網(wǎng)絡(luò)上傳輸?shù)乃忻襟w,本質(zhì)上講都是某種特定結(jié)構(gòu)的數(shù)據(jù),因而監(jiān)控人員可以將其抽象成特征矩陣,利用建模、統(tǒng)計、學(xué)習(xí)等人工智能方法對文字、視頻、音頻等媒體流進行分析、過濾、預(yù)警、監(jiān)控等操作。

3.2 利用人工智能來實現(xiàn)逆向工程的原理

黑客可以利用人工智能技術(shù)對海量數(shù)據(jù)進行分析和處理,找到隱藏在其中的軟件漏洞、體系缺陷,從而進行攻擊和逆向,其可應(yīng)用于如下場景:

(1)防御手段識別和繞過,黑客可以使用人工智能程序向?qū)Ψ烙桨l(fā)送請求,再對其返回數(shù)據(jù)進行統(tǒng)計、分析,進而識別防御方采用了哪些防御手段。在防御識別的基礎(chǔ)上,黑客還可以利用智能化技術(shù)繞過相應(yīng)的防御手段,比如通過圖片識別技術(shù)繞過驗證碼等。

(2)密碼推測,加解密是一種非線性的一一映射過程,那么是否可以利用深度神經(jīng)元網(wǎng)絡(luò)的過度學(xué)習(xí)方式或?qū)咕W(wǎng)絡(luò)來模擬這個過程呢?谷歌公司近年在相關(guān)方向上進行探索和研究并取得了一定成果。

(3)智能代碼逆向,代碼逆向是通過機器碼、匯編碼、字節(jié)碼反推程序源碼、運行流程及數(shù)據(jù)結(jié)構(gòu)的過程,在這一過程中,需要面對龐大的底端代碼并結(jié)合上下文進行分析和推理,這樣繁復(fù)的工作往往非人力能夠勝任。利用人工智能理論中的自然語言處理和文本理解技術(shù),實現(xiàn)智能代碼逆向,將會極大的加快逆向分析的速度。

(4)智能隨機加密反監(jiān)控。單一的加密體系很容易被針對或繞過,被監(jiān)控方可以根據(jù)集成學(xué)習(xí)原理,隨機智能變換或組合加密算法、秘鑰生成策略、生成時間、秘鑰,達到躲避監(jiān)控的目的。

(5)數(shù)據(jù)毒化。統(tǒng)計學(xué)習(xí)理論基于大數(shù)據(jù)分析,大量的假例必然影響分析的準確性。黑客可以利用人工智能自動產(chǎn)生海量與真實標記相反的反例數(shù)據(jù),并釋放到網(wǎng)絡(luò)上,這樣做會達到往真實數(shù)據(jù)中“摻沙子”、甚至“下毒”的目的,影響敵方的大數(shù)據(jù)采集、分析,進而影響其的決策能力。

4 結(jié)語

本文從人工智能和逆向工程兩方面入手,分析了二者各自的技術(shù)特點和主流應(yīng)用,并對其結(jié)合前景進行了分析、研究并提出的相應(yīng)看法。人工智能和逆向工程都是大有潛力的技術(shù),學(xué)習(xí)并掌握相關(guān)技能對個人和國家的發(fā)展極為重要,每位國人都應(yīng)調(diào)整好心態(tài)全力建設(shè)一個既安全又智能的新時代。

猜你喜歡
逆向代碼機器
機器狗
逆向而行
機器狗
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
未來機器城
電影(2018年8期)2018-09-21 08:00:06
逆向解答
無敵機器蛛
新安县| 秀山| 长宁区| 清远市| 屏东县| 临桂县| 长岭县| 囊谦县| 梨树县| 和田市| 遂川县| 平塘县| 金昌市| 三门县| 桃源县| 区。| 五家渠市| 安图县| 洪泽县| 石楼县| 唐河县| 罗源县| 永吉县| 靖州| 岳阳县| 汤原县| 扎兰屯市| 清水河县| 甘孜县| 鸡东县| 山东| 县级市| 江陵县| 天祝| 万年县| 同仁县| 兴化市| 呼伦贝尔市| 济南市| 喀喇沁旗| 乌鲁木齐市|