軟體基因(Software Gene)是軟體體上具有功能或承載信息的二進制片段,其概念的靈感來源於生物基因,並借鑑生物信息學中關於基因分析的研究思路分析和度量軟體,解決現今軟體工程領域的分析難題。
與傳統的特徵不同,軟體基因實現了物質性與信息性的統一,具有原子性、表意性、穩定性、進化性等特性,從基因同源、遺傳變異、衍生進化的角度解釋軟體升級、代碼克隆、惡意代碼變種等問題。
一種可行的方法是將軟體體上的一段一致執行代碼定義為一個軟體基因。一致執行代碼是指在任何用戶輸入條件下,其中包含的每條指令要么全部被執行,要么全部不被執行。這與事務(Transaction)的概念十分類似,體現了軟體基因的原子性。
基本介紹
- 中文名:軟體基因
- 外文名:Software Gene
- 提出組織:MalwareBenchmark
- 載體:二進制代碼片段
一、起源
二、定義
- | 傳統特徵 | 軟體基因 |
定義 | 可以標識目標軟體的二進制片段 | 軟體體上具有功能或承載信息的二進制片段 |
特性 | 唯一標識性 | 原子性、表意性、穩定性、進化性 |
優勢 | 簡單且識別過程快 | 從微觀視角認知以實現化繁為簡 |
意義 | 實現對目標軟體的一一映射 | 揭示遺傳變異和衍生進化規律 |