亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java程序混淆技術(shù)綜述

        2012-12-31 00:00:00范鋒
        計算機光盤軟件與應(yīng)用 2012年9期

        摘要:隨著計算機技術(shù)突飛猛進的發(fā)展,人們對于支持計算機各種運行的軟件技術(shù)開始逐步的關(guān)注,其中混淆技術(shù)在地址逆向工程和重組工程中占據(jù)了重要的位置,本文將主要闡述混淆技術(shù)的相關(guān)領(lǐng)域概念包括發(fā)展中不斷推演的理論、算法和評估。然后在通過將理論和算法應(yīng)用到混淆技術(shù)的兩個分支類內(nèi)混淆和類間混淆詳細說明,結(jié)尾通過目前Java程序混淆技術(shù)的發(fā)展現(xiàn)狀,進行對未來發(fā)展的客觀估計、大膽假設(shè)以及深切的期望。

        關(guān)鍵詞:Java程序;混淆技術(shù);軟件水??;防篡改;軟件版權(quán)保護

        中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9599 (2012) 09-0000-02

        人們對于計算機的依賴性隨著軟件技術(shù)的不斷給人們帶來便利和樂趣,使工作更富有主動性和操作性,但是任何事物在發(fā)展過程中都會有其負面效應(yīng)與之相對,隨著計算機軟件應(yīng)用量和種類的不斷擴展,其使用安全問題便開始影響到人們的正確使用,并開始逐漸打擊使用計算機的積極性,以及對于安全問題的無奈。主要攻擊形式是通過對軟件備份的破壞而直接將軟件徹底摧毀,根據(jù)現(xiàn)有問題,當前的軟件已經(jīng)經(jīng)過改良,重新調(diào)試,但是攻擊則換角度也將攻擊破解方式進行重組,使改良的部分無法發(fā)揮其作用,這樣軟件就不會得到應(yīng)有的保護,依舊能夠以非正規(guī)途徑得到軟件的任何數(shù)據(jù),從而進行大面積的傳播,這也就是為何當今軟件盜版現(xiàn)象嚴重的途徑之一。Java程序的出現(xiàn),首先能夠在網(wǎng)絡(luò)上加快傳播速度并且無客觀條件可以輕松普及,但同時卻能夠通過無關(guān)性對產(chǎn)權(quán)進行有效的保護,不會輕易的被人盜用。

        一、軟件混淆技術(shù)基本原理

        (一)基本釋義

        軟件混淆技術(shù)是為了能夠在軟件受到侵害或是盜用時可以被保護的一種現(xiàn)代技術(shù),軟件技術(shù)首先咋1977年新西蘭首次被提出,其實是將原有的程序的語言轉(zhuǎn)換成一種密碼語言,不能被一般的軟件所識破的一種轉(zhuǎn)換,并且研制出能夠?qū)@種轉(zhuǎn)換進行評估的理論計算。轉(zhuǎn)換的形式未變,只是在形式上保留原有的運行根組成,添加一些其他能夠擾亂破壞和讀取的程序代碼。如今混淆技術(shù)開始不斷的發(fā)展,諸多的被應(yīng)用于產(chǎn)權(quán)的保護中,所謂的混淆就是通過語詞的轉(zhuǎn)變但保持其語義依然與之前相同,這就能保證軟件在使用時功能是不變的,卻能夠防止逆向工程攻擊和被靜態(tài)分析。

        (二)軟件混淆技術(shù)的分類

        當Java文件經(jīng)過處理,在原有的基礎(chǔ)上添加了其他程序代碼成為類文件,這種類文件包括魔數(shù)( magic number) 、版本( version) 、常量池( constant pool ) 、訪問標識( access flag s) 、(this)類、(super)類、接口( interfaces) 、域( fields) 、方法(methods) 和屬性(attributes) 。

        軟件混淆主要通過類內(nèi)混淆和類間混淆來根據(jù)不同的使用對象進行劃分,類內(nèi)混淆主要是克服(methods)中的code字段,而類間混淆卻是針對多種類文件的綜合體進行混淆處理,其主要的方式是合并和拆分相對的過程處理。

        下面分別介紹兩種混淆。

        (1)、類內(nèi)混淆

        能夠支持類內(nèi)混淆的途徑有數(shù)據(jù)混淆、控制混淆、切片混淆以及針對特定工具混淆四種。數(shù)據(jù)混淆是對數(shù)據(jù)的結(jié)構(gòu)組成元素原有的書寫方式進行修改,使其不再成為能夠被認知的程序。主要有:變量存儲和編碼混淆、變量聚合混淆、順序調(diào)整混淆、詞法混淆以及移除注釋和調(diào)試信息混淆??刂苹煜窃谛畔鬏斶^程中的保護,主要采取追蹤定位等方式實時監(jiān)測信息的狀態(tài),從而對其他襲擊系統(tǒng)進行抵御。切片混淆,正常在一般的軟件中問了能夠讓計算機更好的識讀軟件,所以增加了切片以幫助更好的理解,降低難度,而混淆了切片則能夠使其首先無法有助于難度的下降,另外會造成對于程序的誤導可能降低了或是更改了某些其他的程序,達到了增加難度混淆的目的。針對特定工具混淆軟件為了能夠起到保護作用,本身具有一定的反編譯和反混淆的功能,會在一定的緊急時刻自動啟動,而針對特定工具就是抑制了自動的傳導,對于能夠使軟件本身內(nèi)部之間的反編譯都可以正常的進行,但是對于外部的反編譯就不會在自動啟動,這就是混淆的高級之處。相區(qū)別與前三者人的行為,針對特定工具混淆具有自動的功能針對的是自動化。如果能夠與以上三種任意搭配就能夠達到防住人機的共同目的。

        (2)、類間混淆

        類間混淆是合并拆分類文件而造成混淆的目的其中又有三種表現(xiàn)形式:類合并、類拆分、隱形類間混淆。類合并是要面對多個文件的自身組成的函數(shù)變量,通過將函數(shù)、變量的名稱進行更改,注意在更改過程中一定不能同時出現(xiàn)兩個或以上的名子,如果在合并中有參數(shù)同系統(tǒng)提示無法進行更改,則要為其中一個虛擬一個參數(shù)。另外如果合并文件中有繼承關(guān)系的則需要在合并成功后加入一個布爾型的私有變量用于區(qū)分標識符相同的函數(shù)。類拆分則是觀察現(xiàn)有的文件是否進行拆分,同時并作出相應(yīng)的調(diào)整。對于結(jié)果是可拆分的類就是將A拆分為A1與A2,為了能夠使A的要素都能夠?qū)崿F(xiàn)所以應(yīng)該是A2處于繼承A1關(guān)系。類型隱藏是通過接口來實現(xiàn)混淆,并且能夠保證原文件并不需要改變接口,所以被稱為隱形。相比類合并,類拆分和隱形類間混淆所用的時間相對較短。

        二、軟件混淆算法的攻擊模式

        (一)混淆算法的理論研究

        混淆技術(shù)的提出者曾經(jīng)試圖將整個運行過程當做是一個虛擬黑箱來看,也就是說對于其他程序來說這就完全是另外一個軟件和原軟件無任何聯(lián)系,從它的輸入和輸出的方式內(nèi)容和代碼都不同,這種在理論中是可以站的住的,但是在實際操作中會受到很多因素的限制,但在相對寬松的要求下還是可以實現(xiàn)混淆技術(shù)的使用。后來又根據(jù)該理論研究通過點函數(shù)來實現(xiàn)虛擬黑箱,總而言之其未來的研究空間還有很大,期待它的日益成熟。

        (二)混淆算法的攻擊模式

        1.針對數(shù)據(jù)混淆算法的攻擊

        假定T 是對程序P 的一個單向的混淆變換,當且僅當從原始程序P 除去某些信息后,無法通過混淆后的程序Pc恢復出P。詞法變換是最典型的不可逆混淆算法。雖然對于經(jīng)過詞法變換的程序進行攻擊不可能恢復程序的原貌,但只要理解程序各個模塊的含義就可能對程序產(chǎn)生威脅。例如根據(jù)無法被混淆的系統(tǒng)API 名稱等關(guān)鍵字,攻擊者可以推測出該模塊的大致功能。

        2.針對控制流混淆算法的攻擊

        目前,針對控制流混淆算法的主要攻擊方法是動態(tài)分析。動態(tài)分析對大部分混淆算法的攻擊作用,并闡述攻擊模型. 對于控制流混淆而言, 變換后生成的程序中若存在始終不執(zhí)行的分支,通過動態(tài)分析就能找到對破解程序有用的信息.針對控制流混淆,還有黑盒測試攻擊, 該方法通過對程序進行黑盒測試,了解各個類及其函數(shù)的功能, 從而獲取攻擊者需要的信息. 這種方法對大多數(shù)的混淆變換均能加以攻擊。同時,該方法也存在著一定的局限性: 黑盒測試缺乏自動分析工具,需要依靠大量的人力來完成分析工作。

        三、對于混淆技術(shù)的未來預估

        混淆技術(shù)是一種可用于抵制逆向工程和重組工程、對軟件知識產(chǎn)權(quán)進行保護的程序變換技術(shù)。使用混淆技術(shù)雖然會使代碼的效率有一定程度的降低,但是它的實現(xiàn)代價相對較小, 因而在近年引起了廣泛的關(guān)注.由于混淆技術(shù)不改變程序功能的特性, 并且有些詞法混淆算法甚至可以減小原程序的體積, 因此混淆技術(shù)得以在保護移動代碼方面得到廣泛的應(yīng)用. 受移動平臺資源的限制,今后混淆技術(shù)的研究方向一方面要加大混淆的力度,增加攻擊者反編譯的難度,另一方面也要考慮降低混淆算法對目標程序的運行負擔。文獻探討了混淆技術(shù)在移動代理上的應(yīng)用。目前保護軟件知識產(chǎn)權(quán)的新技術(shù)主要有3種:混淆技術(shù)、軟件水印技術(shù)和防篡改技術(shù)。這3種技術(shù)各有特長,將它們互相結(jié)合使用,可以給予目標軟件更為可靠的保護,這也是目前研究的一個重要方向。對于混淆算法的評估、正確性驗證以及如何研制高效可靠的混淆算法, 也是將來的發(fā)展方向之一。

        四、總結(jié)

        混淆技術(shù)是對軟件進行的基礎(chǔ)產(chǎn)權(quán)保護,為了能夠增加破譯的難度和代價,從而使產(chǎn)權(quán)盜版的情況發(fā)生率降低,同時還能提高軟件水銀的魯棒性,有人提出將程序的編譯混淆, 而不是混淆程序本身。但是該方法還有若干問題需要考慮。使軟件的安全度進一步提升,給人們的使用帶來了更多的福音,雖然該技術(shù)已經(jīng)廣泛運用也頗收到好評,在技術(shù)上依舊有大的發(fā)展前景,需要投入更多的研究力量。

        參考文獻:

        [1]霍建雷,范訓禮,房鼎益.Java標識符重命名混淆算法及其實現(xiàn)[J].計算機工程,2010,第1期

        [2]咸星海.面向?qū)ο蟠a混淆技術(shù)研究及軟件實現(xiàn)[J].中國科技博覽,2010,第19期

        [3]刁俊峰.軟件安全中的若干關(guān)鍵技術(shù)研究[D],北京:北京郵電大學,2007

        [4]李新良,羅戈夕.基于Java的代碼混淆算法研究[J].湖南文理學院學報:自然科學版,2010,第3期

        [5]霍建雷,范訓禮.房鼎益,Java標識符重命名混淆算法及其實現(xiàn)[J].計算機工程,2010,第1期

        [6]李婧.基于控制流混淆轉(zhuǎn)換的代碼保護技術(shù)[J].計算機安全,2009,第8期

        [7]袁征,馮雁,溫巧燕,張華.構(gòu)造一種新的混淆Java程序的不透明謂詞[J].北京郵電大學學報,2007,第6期

        [作者簡介]范鋒(1983.5-),男,工作單位:深圳職業(yè)技術(shù)學院,職位:機房管理員。

        国产精品亚洲A∨天堂| 亚洲综合av永久无码精品一区二区 | 国产精品国产午夜免费看福利| 久久狼人国产综合精品| 琪琪色原网站在线观看| 欧美日韩中文国产一区发布| 色狠狠一区二区三区香蕉蜜桃| 亚洲国产精品嫩草影院久久av | 亚洲av成熟国产精品一区二区| 亚洲国产精品综合久久网络| 日本边添边摸边做边爱的网站| 亚洲αⅴ无码乱码在线观看性色| 日本特殊按摩在线观看| 精品露脸国产偷人在视频| 色翁荡息又大又硬又粗又视频图片| 国产精品福利片免费看| 日本一区二区三区在线视频播放| 色偷偷888欧美精品久久久| 国产精品亚洲综合色区韩国| 精品一区二区三区影片| 久久亚洲免费精品视频| 亚洲精品国产第一区三区| 亚洲乱码中文字幕在线| 欧美饥渴熟妇高潮喷水水 | 韩国日本亚洲精品视频| 国产毛片精品av一区二区| 国产亚洲精品a片久久久| 欧美综合自拍亚洲综合图片区 | 国产尤物精品自在拍视频首页 | 一本一道av无码中文字幕麻豆| 成 人 网 站 免 费 av| 无码国产精品一区二区免费97| 手机av在线观看视频| 91中文人妻熟女乱又乱| 日本高清www无色夜在线视频| 乱色视频中文字幕在线看| 国产一区二区免费在线视频| 在线成人一区二区| 久久一区二区三区四区| 伊人婷婷综合缴情亚洲五月| 欧美人与禽z0zo牲伦交|