郭楠
摘要:近年來,在計算機信息技術發展的同時,各種類型的軟件已經被廣泛地應用在社會生活和生產當中的多個領域。然而,在長期的發展過程中,信息系統的漏洞逐漸突顯出來,病毒的種類也處于動態的變化過程中,所以,軟件安全已經成為當前所需考慮的難題。而在此背景下,機器學習快速發展,并且在多個領域都被廣泛應用。
關鍵詞:軟件安全 結合語義 機器學習 方法 探討
中圖分類號:TP393.08 文獻標識碼:A 文章編號:1007-9416(2016)06-0229-01
1 軟件安全現狀分析
目前階段,軟件安全存在諸多問題與缺陷。其中,網絡仿冒事件以及網頁的惡意代碼事件頻繁出現,并且增長速度不斷增加。很多網站都被黑客入侵,或者是被植入了木馬攻擊程序,導致信息系統的安全漏洞逐漸增加。這一現象導致軟件的安全受到威脅,并且嚴重影響其在多領域多行業中的正常使用。要想積極地轉變這一情況,就一定要采取相應的方法并及時予以解決處理,保證軟件安全程度的提高,進而確保軟件能夠為人們提供更加安全的服務。
2 機器學習策略
2.1 機械學習
在機器學習的過程中,無需進行推理或轉換知識,可以對周圍環境所提供的信息內容進行直接地吸收,并且實現信息簡單存儲。這種學習策略是最基本的,以塞繆爾跳棋程序與西蒙LT系統為例,這些都是機械學習范圍[1]。在開展機器學習的時候,僅僅需要根據軟件所編輯好的程序進行學習就可以,不許對輸入信息內容讓進行推理。然而,該學習策略僅僅適用于環境比較穩定或者是具備固定輸入、輸出模式的系統當中,對于環境要求很高。
2.2 示教學習
該學習策略也被稱作傳授學習或者是指導式學習,不僅需要在環境方面投入大量工作,同時,需要保證機器學習具備推理能力。該策略具體的過程就是:對指導者提出建議請求,并在接受建議的同時,有效地轉化成內部表現形式。而后,轉化成具體知識內容,并且將獲得的新知識納入知識庫當中,最后應采取相應的方法評價并檢驗新的知識。
2.3 演繹學習
這種學習策略屬于推理學習策略,將“一般到個別”的推理方法當作基礎。對于所給出的知識予以演繹和推理,并且得出全新結論,而后需要存儲正確并且具有一定價值的結論。如果把演繹推理過程反逆,就被稱為歸納推理[2]。
2.4 歸納學習
所謂的歸納學習,指的就是由環境所提供的概念或反例,使其在歸納中推理概念。它的推理量比示教學習與演繹學習推理量大很多。歸納學習包括示例學習與觀察學習。其中,示例學習就是為機器的學習系統提供示例,進而使其在歸納中獲得概念一般描述。而觀察學習則是學習系統觀察環境并進行學習。
2.5 類比學習
類比推理是類比學習策略的重要基礎條件,通過對事物相似性的充分利用來學習新的知識。具體的過程可以概括成:事先搜索與其相似并且實際存在的事物,而后和類似并且實際存在的事物予以合理變換和調整,最終獲取全新事物,并將其納入到知識庫當中。
3 軟件安全中結合語義的機器學習方法
在軟件安全中,結合語義的機器學習方法指的就是同語義相互融合,進而保證軟件系統整體多維特性的有效提升,進而迷惑惡意代碼。結合語義機器學習方法屬于檢測算法,能夠對被惡意代碼或者是木馬篡改的惡意文件進行嚴格地檢測。該方法在檢測的過程中,很容易識別迷惑惡意代碼,而且,準確程度也很高。該學習方法通過使用語言的操作語義,對系統程序具體的執行行為進行確定。其中,操作語義同樣可以當作語言解釋器,并且每一條規則在讀取的過程中,都是由左向右,由上向下[3]。另外,還應該把每條既定語句合理地匹配至相應的規則中。其中,在語義解釋方面,語言模型可以分成兩種:
第一,面向用戶的語言模型。這里所闡述的語言模型,主要是依據用戶自身特點所提出的,所以,一定要與用戶記憶特點相適應,其中一部分就是利用大規模訓練的一種通用語言模型,該模型的參數是不會發生變化的;另外一部分就是在線學習用戶模型,該模型的參數始終處于變化當中。然而,在實際使用的過程中,需要保證以上兩種模型同時被應用。以漢語為例進行分析,第一種語言模型機器學習的過程可以解釋成:首先把拼音或者是語句以鍵盤輸入的形式傳遞到學習系統當中,而后使用通用語言模型與用戶語言模型,同時對語言解碼。再次,對輸入內容進行轉換,并且得到結果并輸入至軟件當中。如果最終的結果存在錯誤,那么就需要用戶及時修正,最終將正確的結果內容輸入到軟件當中。最后一步就是通過機器學習或者是用戶編輯反饋到以上兩種語言模型當中。
將以上兩種語言模型進行結合的方式有很多,最具代表性的就是使用線性插值的方式,把通用語料以及用戶輸入的信息構建成兩種相互獨立的語言模型,并實現有機結合。其中,該模型的方式必須要始終遵循概率計算歸一化的條件要求。
第二,Bi-gram語言模型的機器學習算法。該語言模型主要就是依據用戶在線輸入的數據信息,進而對用戶模型當中存在的錯誤參數予以合理地修正。把既定拼音串,初次轉換成的漢語句子稱為A;而將初次轉換成的漢語句子中存在錯誤并予以修正以后的句子稱為a。而后,可以在機器學習中將以上兩個句子進行對比,進而獲取正確構成語句的詞匯。而在采用該語言模型進行學習的過程中,機器學習不僅要盡可能地對語言模型當中存在的轉換錯誤予以糾正,但是不應該過度糾正,否則就會導致語言模型的不平衡現象出現。
4 結語
綜上所述,在提升軟件安全性能的過程中,應用綜合語義機器學習方法具有重要的現實意義。在軟件安全當中,有效地融入語義機器學習,能夠提高多維特征迷惑惡意代碼,使得軟件安全性能得到提升,推動軟件與網絡穩定并且健康地發展,最終為人們提供優質服務。然而,在軟件安全當中結合語義機器學習的方法仍然需要深入研究與探索。文章對軟件安全的現狀進行了分析,并闡述了機器學習策略,最終對軟件安全中結合語義的機器學習方法進行了研究和探討,主要的目的就是為了有效地提升軟件安全,為更好地開展機器學習提供有力的保障。
參考文獻
[1]苗發彪.探析在軟件安全中結合語義的機器學習方法[J].計算機光盤軟件與應用,2014(18):79-80.
[2]孔德光.結合語義的機器學習方法在軟件安全中應用研究[D].中國科學技術大學,2010.
[3]孔德光.結合語義的統計機器學習方法在代碼安全中應用研究[D].中國科學技術大學,2010.