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

        ?

        一種合并變量為數組的隱藏變量代碼迷惑方法

        2014-05-25 00:31:12卿海軍冀肖榆陳麗萍
        梧州學院學報 2014年3期
        關鍵詞:源代碼數組梧州

        卿海軍,冀肖榆,陳麗萍

        (1.2.梧州學院,廣西梧州543002;3.梧州市第一中學,廣西梧州 543002)

        一種合并變量為數組的隱藏變量代碼迷惑方法

        卿海軍1,冀肖榆2,陳麗萍3

        (1.2.梧州學院,廣西梧州543002;3.梧州市第一中學,廣西梧州 543002)

        變量在程序中起著承載信息的作用,因此隱藏變量的代碼迷惑能極大地混淆程序中的數據流程,但現有的一些實體更名迷惑技術不能有效地抵抗反迷惑攻擊。該文提出了一種合并變量為數組的隱藏變量的方法,提高了隱藏變量迷惑技術的強度與彈性,實驗結果表明該方法能有效地應對變量名替換攻擊。

        數據迷惑;彈性;合并變量為數組

        1 引言

        隨著軟件產業(yè)的快速發(fā)展,一方面涌現出了各種軟件應用,另一方面各產業(yè)對信息化需求欲加強烈,這兩方面的發(fā)展都促使軟件安全技術快速地發(fā)展,代碼迷惑技術又稱為代碼混淆技術,其是一種新的軟件安全技術,在保護知識產權方面有著重要作用。

        根據迷惑算法針對的對象不同,可以將代碼迷惑分為類內迷惑和類間迷惑。類內迷惑實現的方式主要包括數據迷惑、控制流迷惑、切片迷惑等[1]。目前代碼迷惑技術有效性評價主要有以下幾個指標[2]:①迷惑的強度,該指標用來描述迷惑后的程序是否更難以理解、更加復雜。②迷惑的彈性,該指標用來描述迷惑后的程序能夠在何種程度上抵抗反迷惑程序的攻擊。③迷惑的代價,該指標用來度量程序迷惑后執(zhí)行時增加的時間和空間代價。

        數據迷惑的原理是通過對常量、變量和數據結構這些程序的基本組成元素進行修改,增大攻擊者進行逆向工程的難度[2]。常見數據迷惑方法有以下一些:引進非法標識符用作變量名[3]、盡可能多地重用同一變量名、交換各組成元素的標識符[4]、將靜態(tài)數據轉換為與程序相關的數據、數組重構迷惑。但是上面的幾種迷惑方法結合度不夠緊密,導致其迷惑的強度與彈性都不高。文獻[5]基于此提出了相應的反迷惑方法,能較好地破解前面提及的迷惑方法。針對現有的一些數據迷惑強度與彈性不夠、不能有效抵御反迷惑的攻擊,本文提出了一種強度與彈性較高的代碼迷惑方法。

        2 合并變量為數組的代碼迷惑

        在該方法中將結合數據流迷惑和數據迷惑,并針對現有的一些反迷惑方法提出應對措施,使得合并變量為數組的迷惑方法能大大提高其強度與彈性。

        源代碼片斷如下:合并變量為數組后的代碼如下:

        上面展示了將源代碼中變量合并為數組后的變化情況,左右兩邊的代碼功能是一樣的,其中array數組的三個元素分別和變量a、b及c存在一一對應關系(如圖1(a)所示)。此時變量與元素之間的關系是一目了然的,代碼的功能也是非常清楚,沒有達到迷惑效果。當然變量和向量元素的映射不一定按照某一特定的順序,可以任意設定它們的映射關系,如圖1(b)所示。

        圖1 變量和向量元素的映射關系

        合并變量為數組并動態(tài)變換數組元素下標后的代碼如下:

        在上述代碼中,同在一個數組的數組元素表現形式幾乎一致,這對于人工閱讀來說已不能輕易區(qū)分當前使用的是哪個元素,如果源代碼量較大的話,這樣的程序閱讀起來是相當困難的。但動態(tài)變換數組元素下標后,它的彈性仍然不夠好??梢允褂迷创a植入技術[6]在運行時將這些下標變量在某個具體位置的值收集起來,這樣就可以利用這些收集起來的信息進行還原。

        提高合并變量為數組隱藏變量迷惑技術彈性后的代碼如下:

        在上述代碼中巧妙地利用了源代碼植入必須引用下標表達式才能得出下標表達式的值,但在源程序中下標表達式的引用次數是受限制的,一旦多引用便會導致計算出錯誤的下標。如n.increase(5)-20當且僅當在array[n.increase(5)-20]=1這一句里使用才是應有的下標值,若再次引用則計算出的是錯誤的下標值,且它后面下標值也必會出錯,因為再次引用也就是多調用了一次增值函數,下標增加了一個值,結果會導致這以后所有下標值都會增加一個值,元素會全部錯位。n.increase(5)也不能連續(xù)被引用(上述代碼中increase()函數的實參都是交替出現的),否則也會計算出錯誤的下標,并且這以后的數組元素下標都會是不正確的值。迷惑后的代碼引進了一個新的類,它有一個成員i用來記錄數組元素下標的粗約變化情況(并不是數組元素的下標),它的初始值可以是任意的常數,其次它還有一個成員方法用來對下標變量增加一個值,在上述代碼中增加的值是6、9和8,當然也可以增加其他任意的常量值,在實際的應用中,可以采用文獻[7]提出的隱藏常量的方法把常量隱藏起來。

        設方法m的局部變量集合為LocalVars(m),V為方法被迷惑后生成的向量,則采用該方法迷惑之前的變量和迷惑之后的變量構成一個映射f1,f1定義如下:f1:LocalVars(m)V(1)

        將上述迷惑代碼中increase方法一般化得到f2(z)函數。

        源程序經合并變量為數組迷惑方法迷惑之后,局部變量表現形式為V[f2(cn+1)-c1],V[f2(cn+2)-c2],…,V[f2(cn+n)-cn],這時候元素之間是通過下標來相互區(qū)分的,但是下標f2(cn+1)-c1,f2(cn+2) -c2,f2(cn+n)-cn是不可顯式計算的,且下標是不可多引用、連續(xù)引用的,正如前面提到的,一旦多引用或連續(xù)引用就會使程序陷入非?;靵y狀態(tài),這樣能保證變量之間徹底地混淆,而且能保證合并變量為數組迷惑方法彈性相當高。

        在合并變量為數組時,可將低精度的變量先轉化為高精度的變量,再將這些同一種類型高精度的變量合并為一個數組,這樣做可以減少數組的個數,增加數組元素之間關系的復雜性。

        合并變量為數組迷惑方法可以運用于方法參數,方法局部變量,類的成員變量,本文只考慮用于局部變量的情況。

        3 實驗

        對于本文提出的隱藏變量的代碼迷惑方法,我們在Java平臺上進行了編程實現,并進行了實驗驗證,實驗是針對源代碼進行的,每個實驗都劃分為預處理、變量信息收集和迷惑三個階段。

        將要合并變量為數組的源代碼如下:

        下頁圖2對上述源代碼分別采用了文獻[3]中的迷惑方法和本文提出的合并變量為數組的迷惑方法進行了迷惑處理。通過對下頁圖2的左右兩邊代碼的對比,可以發(fā)現在閱讀的困難性方面,右邊的代碼要遠遠高于左邊,在右邊的代碼中相同的數組元素表現形式不一致,元素之間的關系被徹底地混淆了。當然左邊代碼也能在一定程度上增加反編譯的困難性。

        圖2 迷惑后的代碼

        下頁圖3展示了采用ADAM工具對圖2的代碼進行反迷惑處理后的結果,通過對比可以發(fā)現合并變量為數組的迷惑方法在反迷惑后仍然保持迷惑性,因為ADAM工具只是替換了一下名字,迷惑的數量關系仍然保持存在,而采用文獻[3]方法的迷惑代碼已被反迷惑成功。所以合并變量為數組的迷惑方法能有效地對抗簡單更名(如ADAM)反迷惑攻擊,同時它還能對抗源代碼植入技術攻擊。

        圖3 采用ADAM工具對圖2的迷惑代碼反迷惑后的結果

        下頁圖4展示了采用反編譯器Jad對圖2的迷惑代碼進行反編譯后的結果,通過左右兩邊代碼的對比,可以發(fā)現采用文獻[3]方法的迷惑代碼經過反編譯后,只有成員變量的不能有效的反編譯,而局部變量都已經用新生成的變量名替換了,而采用合并變量為數組的代碼迷惑方法有效地將局部變量給混淆了,保持了局部變量迷惑的有效性。

        圖4 采用Jad對圖2的迷惑代碼進行反編譯后的結果

        4 小結

        本文在考慮現有的實體更名迷惑彈性不夠的情況下,提出了一種具有一定抵抗反迷惑攻擊能力的方法。該方法結合了數據流迷惑方法到數據迷惑當中,并巧妙地動態(tài)變換數組元素下標,從而很好地隱藏了變量,同時對下標的引用是調用某個函數,從而使得下標只能引用限定的次數,能有效應對源代碼植入的攻擊。當然該方法的迷惑代價可能會比較高,因為調用函數過于頻繁,這也是下一步值得研究的內容。

        [1]王建民,等.Java程序混淆技術綜述[J].計算機學報,2011(34):1578-1588.

        [2]Christian Collberg,Clark Thomborson,Douglas Low.ATaxonomyofObfuscatingTransformations[R].Technical Report 148,Department ofComputerScience,UniversityofAuckland.July1996.

        [3]Jien-Tsai Chan,Wuu Yang.Advanced obfuscation techniques for java byte-code[J].The Journal of Systems and Software,2004,71(12): 1-10.

        [4]de Roo A,v.den Oord L.Stealthy obfuscation techniques:misleading the pirates[EB/OL].http://www.home.cs.utwente.nl/~oord/ paper.pdf,2007-02-12.

        [5]S.Cimato,A.D.Santis,and U.F.Petrillo.Overcomingthe obfuscation ofjava programs byidentifier renaming[J].The Journal ofSystems and Software,2005(78):60-72.

        [6]卿海軍,鐘誠,張蓮.基于源代碼植入的針對函數指針數組的反代碼迷惑[C]//2008計算機技術與應用進展.北京:中國科學技術大學出版社,2008:1095-1099.

        [7]L.Ertaul,S.Venkatesh.Novel Obfuscation Algorithms for SoftwareSecurity[C]//Proceedings of the 2005 International Conference onSoftware EngineeringResearch and Practice(SERP’05).CSREAPress,2005:209-215.

        An Obfuscation Method of Merging Variables to an Array

        Qing Haijun1,Ji Xiaoyu2,Chen Liping3
        (1.2.Wuzhou University,Wuzhou 543002,China;
        3.No.1 Middle School of Wuzhou,Wuzhou 543002,China)

        Since some information is stored in variables in a program,hiding variables can obfuscate the data stream to a great extent.However,the existing entity rename code obfuscation methods can’t resist the attack of obfuscations.A code obfuscation method merging variable to array is proposed in this paper.The experiment results show that it can increase the resilience and potency of hiding variable obfuscation method and it can resist the attack of auto substituting the variable.

        Data obfuscation;Resilience;Merging variable to an array

        TP311.1

        A

        1673-8535(2014)03-0014-08

        卿海軍(1979-),男,湖南邵陽人,梧州學院講師,碩士,研究方向:信息安全。

        冀肖榆(1982-),男,廣西梧州人,梧州學院副教授,碩士,研究方向:旅游安全。

        (責任編輯:覃華巧)

        2014-03-06

        梧州學院青年科研項目(2012D001)

        陳麗萍(1980-),女,廣西梧州人,梧州市第一中學教師,研究方向:信息技術教育。

        猜你喜歡
        源代碼數組梧州
        人工智能下復雜軟件源代碼缺陷精準校正
        計算機仿真(2023年8期)2023-09-20 11:23:42
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        中共梧州城工委
        西江月(2021年3期)2021-12-21 06:34:18
        基于TXL的源代碼插樁技術研究
        JAVA玩轉數學之二維數組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        軟件源代碼非公知性司法鑒定方法探析
        梧州工人運動的急先鋒
        西江月(2018年5期)2018-06-08 05:47:32
        八十多載后尋訪梧州
        文史春秋(2016年3期)2016-12-01 05:42:19
        夢梧州(外兩首)
        西江月(2016年2期)2016-11-26 12:27:13
        揭秘龍湖產品“源代碼”
        午夜国产精品久久久久| 无码任你躁久久久久久久| 女人大荫蒂毛茸茸视频| 亚洲色偷偷综合亚洲AVYP| 国产精品自拍视频免费看| 亚洲欧美中文日韩在线v日本| 国产精品乱码一区二区三区| 精品国产高清自在线99| 久久免费精品视频老逼| 亚洲一二三区免费视频| 精品极品视频在线观看| 无码乱肉视频免费大全合集 | 久久99精品久久久久久秒播 | 丝袜AV在线一区二区三区| 国产后入内射在线观看| 亚洲综合自拍偷拍一区| 精品少妇一区二区三区免费观| 国产精品公开免费视频| 亚洲中文字幕在线精品2021| 中文字幕亚洲精品一区二区三区| 大肉大捧一进一出视频出来呀| 无码人妻丰满熟妇啪啪7774| 美女裸体无遮挡免费视频国产| 日本免费看一区二区三区| 欧美成人精品a∨在线观看| 国语对白做受xxxxx在线中国| 亚洲一区二区三区免费av在线 | 亚洲AV无码精品色欲av| 久久精品国产亚洲av网在 | 久久半精品国产99精品国产| 看中文字幕一区二区三区| 欧美性xxxxx极品老少| 人成午夜免费大片| 久久国产av在线观看| 国产在线视频91九色| ā片在线观看免费观看| 国产喷水福利在线视频| 视频精品亚洲一区二区| 国产综合精品久久99之一| 中文国产日韩欧美二视频| 日韩亚洲欧美精品|