TW200426582A - A system and method to proactively detect software tampering - Google Patents

A system and method to proactively detect software tampering Download PDF

Info

Publication number
TW200426582A
TW200426582A TW092133335A TW92133335A TW200426582A TW 200426582 A TW200426582 A TW 200426582A TW 092133335 A TW092133335 A TW 092133335A TW 92133335 A TW92133335 A TW 92133335A TW 200426582 A TW200426582 A TW 200426582A
Authority
TW
Taiwan
Prior art keywords
record
value
key value
scope
patent application
Prior art date
Application number
TW092133335A
Other languages
English (en)
Other versions
TWI299449B (en
Inventor
Hong-Xia Jin
Jeffrey Bruce Lotspiech
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW200426582A publication Critical patent/TW200426582A/zh
Application granted granted Critical
Publication of TWI299449B publication Critical patent/TWI299449B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Storage Device Security (AREA)

Description

200426582 玖、發明說明: 【發明所屬之技術領域】 本發明大致關於軟體安全的領域,更明確而言,本發明 有關軟體竄改的偵測。 【先前技術】 隨著電影與音樂的數位技術的進步,未經認可複製的問 題已變得較嚴格。數位副本是完美的複製,且可避免在網 際網路廣泛重新分配,例如數位傳輸内容保護(DTCP)與 可記錄媒體内容保護(CPRM)的許多内容保護技術已發 展。這些技術在他們的許可具有π健全的術語",其中在此 許可中的術語能提供用於防止竄改的實施。特別是防止軟 體竄改技術的防止竄改技術發展已變成一成長的工業。 在損害發生後,多數侵入偵測機構能使用,因此是敏感 的。術語”主動安全”可視為在最後損害發生前,例如軟體 執行的一處理期間發現的錯誤。先前技術系統不能提供一 主動安全機構來反制軟體逆工程。這些先前技術系統在一 逆工程嘗試期間不能識別電腦駭客留下的證據。需要的是 在電腦駭客成功竄改及在他們獲得例如秘密鑰匙的重要 資訊存取之前,能主動偵測(而且藉此當它仍然在它初期 階段,透過阻止設法程式處理而避免實際損害的發生)一 進行中的逆工程處理。 大體上,先前技術侵入偵測系統是敏感的,且使用既有 知識來監視不正常。監視此不正常的方法是透過維持一 π檢查記錄”。使用一檢查記錄的觀念已存在一段長時間。
O:\89\89461.DOC 200426582 然而,當它應用於一特殊,,偵測,,目的時,一,,檢查記錄,,方 法把較佳工作且較貫際。在此情況,一需要的是能識別需 要放置在用於偵測目的記錄與應該遵從的確認處理的的 貝訊。在記錄中產生資訊能滿足某些屬性不僅能使方法更 有效(彳文減少記錄大小與建立一更有效確認的觀點),而且 亦能保證確認處理及偵測目標異常。 另一相關的觀念是已在安全文獻中識別及出現的正式 屬性的”前向安全",前向安全包括在竄改發生後避免過去 的碼或記錄破壞的方法。未來的動作可能是無法信賴,但 疋先前既有的信賴項目依然是不妥協。 下列參考文件是提供敏感侵入偵測機構的一般描述。 德雷克美國專利(6,006,328)揭示用於電腦軟體認證、保 護、與安全的一方法。該方法包括使用直接與硬體溝通的 等效程式碼(具移除易受影響)來取代易受影響的碼(例 如,易受竊聽),且它能使允許惡作劇軟體偷聽的系統中 斷或其他功能失效。竄改發現技術能使用在軟體内,或由 軟體存取,以便如果發現竄改,不允許1〇資料隨後登入輸 入常式。揭示的本發明提供:RAM或其他影像的碼核對加 總執行;記憶體與可執行碼的其他儲存副本的比較及/或 登錄處理的解密;可執行環境的檢查;執行大小與預期值 的比較;一第三者或處理的認證失敗細節的通知及/或傳 輸;及記錄有關(輸入常式或安全登錄處理)使用者的使用 及/或細節的一記餘。 奥亞巴哈等人的美國專利(5,673,3 16)能提供米碼包封
O:\89\89461.DOC 2004265 82 的建立與分配。揭示的是具資訊部份集合的包封,其中每 個4 ϊ刀係使用。卩份加密餘匙與—公眾鑰匙加密。清單然 後使用—秘密鑰匙來簽署以產生-簽字,《字亦包含在 包封内。
皮爾森的歐洲專利案號(EP1076279-A1)揭示使用與簽 署版本與公眾鑰匙認證有關完整檢查的許可相關程式碼 的一電腦平台。電腦平台或信賴模組能形成一防止竄改的 元件,其中許可檢查能在使用者預期的信賴環境中發生。 一相關的記錄處理單元機構允許資料的註冊與付款。系統 亦允許一本地使用者或一遠端實體的一平台完整性確認。 艾偷等人的美國專利(4,757,533)係揭示將硬體與軟體 組合以提供使用者與檔案存取防止竄改保護的一個人微 電腦的安全系統。其中一揭示晶片能提供一檢查嘗試記 錄、保護與加密系統旗號、與使用者存取權利,其中晶片 能確保存取只由有效的使用者獲得。
外國專利案號 W0200077597 Al、W0200114953 A1 與 W0200077596 B1通常揭示一防止竄改方法,其包括轉換 在電腦軟體碼中的資料流,以從原始軟體碼意圖分離轉換 碼的可識別操作。方法是提供能使電腦軟體防止竄改與逆 工程。 史坦敦等人的外國專利(W09904530 A1)係揭示使用當 作一資料加密鑰匙使用以避免竄改的交談鑰匙之一檔案 加在、方法。此方法係使用根據一共用秘密瑜匙或公眾-私 人瑜匙加密的一強加密演算法,以透過合法權限而允許緊
O:\89\89461.DOC 2004265 82 急存取檔案。 貝拉爾等人的非專利文獻名稱”Forward lntegrity For
Secure Audit Logs”係提供用以維持檢查記錄安全的一方 法。揭示應用包括:侵入偵測或說明、通信安全、與認證 行動代理計算部份結果的安全檢查記錄(例如,^§1〇以資 料)。 桑格的非專利文獻名稱”Practical F〇rward Secure Gr〇up
Signature Schemes”能提供一前向安全方法,以減輕由鑰 匙暴露所引起的損害。 不論上述引用參考的好處、特徵、與優點,他們之中無 一能達成或實施本發明目的。 【發明内容】 -方法揭示用^主動偵測軟體竄改,其中偵測是根據動 態展開檢查記錄與密鑰值而動作。密瑜值是根據因先前記 錄登錄與先前密鑰值而定的一單向函數而展開。檢查記錄 (具產生的記錄登錄)與最後密鑰值皆透過分析這些值而 傳运給一記錄處理單元,以偵測軟體侵入。在—特殊且體 實施例中,記錄登錄值是相同,藉此減少傳送的記錄大a 小。在此具體實施例中,在傳送給記錄處理單元期間,只 有最後密鑰值與-記錄登錄值需要傳送。因此,本發明能 在軟體執行期間透過將"完替拾本 处、胛疋&檢查圮錄在記錄檔而使用 -完整檢查來偵測—進行中的設法程式處理。揭示的方法 是將”完整檢查”與”前向安全,,组人 、,且口成一工作万法,並以設 法程式處理沒有不被查出的此—方式而將此方法應用到
0\89\8946I.DOC -9- 200426582 主動偵測電腦駭客使用軟體竄改。 在一擴大的具體實施例中,本發明的方法係進一步包含 反應偵測竄改的步驟,其中反應包含下列任一者、或組 中斷軟體碼使用者、取消軟體碼使用者的裝置密鑰 值、拒絕來自軟體碼使用者的額外内容請求、增加在傳送 給使用者的軟體碼或内容中的完整檢查類型的數量與多 樣性、增加該檢查記錄與最後密鑰值的週期性傳輸頻率、 與建議有關該偵測竄改的一系統管理者。 在另一擴大的具體實施例中,竄改可透過是否超過一記 錄登錄的預定臨界值而(錢錄處理單元)發現。只要超過 預定臨界值,上述反應的任—者便能由記錄處理單元使 用。 【實施方式】 雖然本發明是在-較佳具體實_巾舉證與描述,但是 本發明能產生許多不同結構、形式與材料。在此將詳細描 述在圖中的本發明較佳具體實施例,域了解到本揭示認 為是本發明原理的範例及其結構的相關功能規格,而不是 將本發明侷歸描料具體實施例。熟諳此技者能了解到 許多其他可能變化是在本發明的範圍内。 注意,在此整個規格中使用的術語”使用者"可視為—不 信賴電腦(例如,機上盒、個人電腦、·、視訊遊_ 制台等)的操作員,且此使用者會嘗試以軟體碼(例如有: 網站劉覽器程式;音效卡驅動程式;遊戲控制台程式· Java%pplet;或在例如影像、音樂或視訊檔案的多媒内容
O:\89\89461.DOC •10- 200426582 中歲入的巨集的軟體碼)與記錄竄改。此外,術語"記錄,, 可視為透過使用描述與軟體碼執行有關發生的一組登錄 的各X旦。在一實施中,登錄係描述在軟體碼中後入及由軟 體碼(例如,在碼區塊的一核對加總)所執行的完整檢查結 果。 本發明提供使用一檢查嘗試來偵測異常之系統及方 法。注意,一情況可想像軟體是在客卢端執行(例如,一 懷敵意的使用者機器)。因此,威脅會是來自不信賴使用 者本身。特別注意的是此類型的威脅,只是因為電腦駭客 不旎只存取及使用程式碼來竄改,但亦能以檢查嘗試來竄 改。因此,在此情況,嘗試本身需要受到保護,使得電腦 駭客/又有方法來嘗試無法探查刪除任何舊登錄。雖然,過 了一會兒,電腦駭客將完全了解記錄機構是可能的,而且 從那點上,在嘗試中的新登錄是不能信賴。但是,根據本 發明,電腦駭客不能回來修改在記錄中的登錄。 在此描述的本發明是在軟體執行來期間將"前向安全,, 性質應用到完整性檢查以偵測軟體竄改處理的一方法。當 使用者連接到以獲得新内容時,記錄的任何截斷、記錄刪 除、或一舊有效圮錄的替換可容易偵測。假設在電腦駭客 元全了解一特殊軟體程式之前,他將會觸發已記錄的許多 70整檢查。因此,根據本發明,一電腦駭客在沒有偵測 是不能做軟體逆工程。 釣向士王可透過動態發展包含記錄的資訊而達成。例 如 亂數此田作執行開始中的一密鑰值來選取;然後,
O:\89\89461.DOC -11 - 200426582 此密鑰值能用來將一登錄音# % 補且绿騎在崎内。此密鑰值能使用 展斤山餘值,售密鑰值然後可抹除(重 寫)°其次,㈣鑰值可用來將資訊記錄在 值能用來產生資却,以玉—*、 在输 u以疋要崎什麼資訊1將記錄加 u,、壬何其他使用。因此,包含記錄的登 函數發展的密鑰值功能。例如,在^定』早〇 在時間t,電腦駭客能發 她的彳t為記錄在記錄,但是他/她沒有方法回來找到 ^讀值(在時㈣),為了要使已記錄在記錄的資訊能 酵4使έ己錄保持正確性。 —技’’將週』性連接及傳回給記錄處理單元(記錄處理單 疋是週期性接收記錄、檢查記錄以判斷竄改是否發生,透 過將記錄内容與適當記錄内容相比較的實體)。同時,當 =體記錄程式碼執行發生時,相同的初始亂數(密鑰值)便 曰在記錄處理單元中以一同步方式展開。記錄處理單元知 道應孩包含記錄的資訊。在記錄處理單元中發生的確認/ 偵測處理㈣能會是在傳回的記錄與記錄處理單元使用 持續^不同連接的相同展開密鑰值所計算正確資訊之 間的,單^較。如果不信賴的使用者替換-舊的有效記 錄’密鑰值便不會是正確的。如果使用者提出一截除的記 錄:那麼下次記錄便會傳送’密鑰值將不會是正確的。第 其/入,一異常會在記錄發現,記錄處理單元能送出警示給 管理者。管理者下次能注意相同的使用者,或選擇將警示 提供給使用者。當"充足”竄改證據累積(例如,超過一臨 界值)時’使用者能從網路中斷,且不允許未來接受新的
O:\89\89461.DOC -12- 200426582 内容分配。 在本方法中相關的基本步驟·· ⑴決定何處執行-完整檢查’並需要何類型的 查。所有類型的完整檢查是在本發明的範圍内。例如,剛 試在一區塊碼的核對加總可以是完整檢杳之一。 (2) 決定單向函數,例如C2_g、MD5、或rsa。 C2—G(Cryptomeri认單向函數是使用在稱為cpRM的眾所 週知内容保護方法的單向函數。MD5(訊息文摘#5)是盖 遍當作在數位簽字操作中的一密碼雜凑使用的單二 數。RSA是類別公眾鑰匙加密演算法。RSA加密演算法能 充當不包含相關私人鍵匙任何一者的單向函數。 (3) 將完整檢查資訊嵌入受保護的程式碼,使得記錄登 錄能在步驟(1)決定的點上產生,且當此發生時,密鑰值 能使用單向函數來展開。 (4) 將記錄傳回給記錄處理單元,且記錄處理單元將查 證記錄,並偵測竄改處理或判斷是否沒有竄改發生。 圖1描述密鑰值等差級數是與記錄登錄值無關的一般方 法。記錄的大小是無限的。單向函數fl是用來發展與完整 檢查值v—i無關的密鑰值fl(k」)_>k 一i+1。另一^函數係使 用在完整檢查值V一i上的密鑰值來產生記錄登錄。函數f2 此例如使用值V—i將密鑰值加密,但是其他f2函數可被 置換。因為密鑰值能使用單向函數發展,所以在時間t, 當一電腦駭客成功竄改,且獲得目前密鑰值時,電腦 骇客仍然沒有方法知道先前密鑰值k—。因此,
O:\89\8946l DOC -13- 200426582 私細駭客不能回來產生任何已記錄的記錄登錄。當記錄登 錄傳回給記錄處理單元時,記錄處理單元可重複£2計算, 並核旦记錄登錄在下列兩情況是否正確:他們是正確加 密,且完整檢查值表示沒有竄改發生。因為設法處理在一 些完整檢查值v—i失敗,所以記錄登錄會不正確,且能由 記錄處理單元偵測到。 在本發明的基本方法(如前述)中,有與步驟(3)-(4)有關 的兩個不同具體實施例。兩個具體實施例每一者的簡短描 述可提供如下。 具體實施例A:圖2描述密鑰值等差級數使用記錄登錄 值的本發明方法。在此綱要中,單向函數係使用目前密瑜 值kj與目前完整檢查值v_i來產生一新密鑰值、(卜丨)。在 =錄中,只輸入目前完整檢查值v_i。記錄登錄與獲得的 最後密鑰值k一η會傳向給記錄處理單元。當軟體設法處理 程式、且電腦骇客使用一些完整檢查值v—i來鼠改時,密 鑰值展開便會錯誤。因此,記錄處理單元能使用k_〇與記 錄登錄值ν_0..·ν_η來發展密鑰值,並偵測竄改處理。首 先,它會檢查傳回的k—η能的確使用觀察的記錄登錄^丨來 獲得。此是要判斷電腦駭客是否未使用在記錄中任何v $ 值來竄改。㈣,記錄處理單元能檢查實際v—丨值來判斷 在軟體執行期間是否有任何竄改的證據。 電腦駭客稍後能學習已儲存的正確完整檢查值'I ;不 幸地,對於電腦駭客而言,它是沒有幫忙的。首先―,函數 f是在…。當電腦骇客先摸索時,它是因為他/她不能成
O:\89\8946I.DOC • 14 - 200426582 功完整檢查及獲得錯誤的完整檢查值v。當在他/她設法程 式處理期間處理,電腦駭客最後成功設法程式處理及找出 正確完整檢查值V時,電腦駭客只知道目前密鑰值、11,且 不知道先前密鑰值k—0〜k」n-l),而且電腦駭客仍然沒有 方法知道正確k—η值是什麼。因此,記錄處理單元能始終 偵測設法程式處理。其次,如果電腦駭客嘗試使所有正確 的το整檢查值ν一i在記錄中復原,那麼因為值符合觀 察的v—i ’所以記錄處理單元便應知道電腦駭客是否正嘗 滅產生記錄。 因此’具體實施例A允許用於清楚的實際記錄(只輸入目 則完整檢查值v—i)。此觀點對於在某些應用能有利使用。 具m貝施例B ·圖3描述本發明的單密鑰值具體實施例。 先前具體實施例需要將整個記錄傳回給記錄處理單元。記 錄本身能隨時間而變得非常大。此具體實施例B是圖1的一 奴方法’又化,且目標在於減少記錄的大小。在完整檢查期 間,每當檢查成功時,完整檢查值便能產生一固定預設值 值v換句話說,只有當完整檢查失敗時,檢查值將會是 除了 v炙外的一不同值。在此情況,因為一正確記錄只是 一連串N值v,所以最後k—n與記錄長度]^只是需要儲存及 傳回給記錄處理單元的一些值。記錄處理單元能透過使用 函數f來執行密鑰值計算,並檢查k—n是否正確。如果在軟 體執行期間所有完整檢查是成功,最後的k—η必須是正 確如果在執行期間的任何完整檢查是失敗,完整檢查值 會疋不同於V ’且密鑰值展開處理是錯誤的(即是,當f是
O:\89\8946l.DOC -15- 200426582 單向函數時,正確值從來不會重新產生)。 為了減少記錄處理單元中發生的確認計算處理,單向采 數f的選擇使得任何有效密鑰值k—i能共用一共同性質,= 不同於無效的密鑰值。然後,記錄處理單元需要確認此性 質是否保存。它不再需要執行密鑰值展開處理。例如,如 果一方法函數是一類似RSA的計算且v = i : ki = (v ki+1)3 mod pq (p與 q是大質數) 然後,記錄處理單元能確認 kn^ k〇3n mod pq 不知道因素p與q的電腦骇客或任何人不能在密鑰值發 展中使用第(3n)根modpq來向後移動,所以前向安全性質 能維護。 岔鑰值k—i需要儲存在一非揮發性記憶體,所以k展開不 能讓使用者將電力關閉而重新設定。不容易讓末端使用者 將一先前值復原亦是重要的,如此只將k—i儲存在一檔案 通常是不足夠的。注意,本發明能想像使用在具有儲存内 谷逸瑜值與使用计數正確相同問題的一内容保護應用。 當記錄具有一固定大小時,本發明的另一延伸包括迴繞 的使用,且當超過固定大小時,一情況便會發生。具體實 施例B是此的極端(具體實施例b可想像是大小1的記錄)。 在圖1的一般方法中,如果一記錄具有一固定長度N,只 要記錄處理單元知道已記錄的記錄登錄總數,每件事仍然 可良好工作,即使由於迴繞而一些已遣失。透過使用總 數,記錄處理單元能計算密鑰值展開,並讀取最後N個登 O:\89\8946I.DOC -16- 200426582 錄。注意,先前登錄已被重寫,但是當有一固定長度記錄 時,此便操法避免。然而,具體實施例A略微需要更多繁 忙來判斷記錄是否為固定長度。如果因為記錄處理單元已 被重寫而使它遺失一些記錄登錄,記錄處理單元便不能計 算密鑰值展调,且會讀取最後N個值。 因此,本發明能透過將”完整檢查”記錄在記錄檔而在軟 體執行期間使用完整檢查來偵測一進行中的設法程式處 理。揭示的方法是將”完整檢查"與”前向安全”組合在一工 作方法,並將此方法應用來偵測電腦駭客是否以設法程式 處理不能被發現的方式而使用軟體來竄改。 圖4描述實施本發明前述具體實施例(八與…的系統4〇〇 之概述。方塊402表示具後入芫整檢查的一區塊軟體程式 碼。如前述,各種不同完整檢查能想像。例如,一完整檢 查可以在測試在一區塊軟體程式碼4〇2上的一核對加總。 万塊404與406分別表示檢查記錄與展開密鑰值。單向函數 4〇8是用來展開密鑰值4〇6,其中單向函數是因先前.記錄登 錄(在檢查記錄404)與先前密鑰值而定。在一特殊具體實 施例中,密鑰值是儲存在非揮發性記憶體4〇5。在檢查記 錄的值與最後密鑰值是傳送給記錄處理單元41〇,然後分 析這些值(透過在404使用單向函數產生一連串密鑰值,並 將連串被鑰值與在記錄登錄的密鑰值相比較)來偵測軟 心佼入。最後,如果記錄處理單元偵測到軟體侵入,一反 應412便會傳送給例如一系、统管理者的適當人員414。注 意’密鑰值展開發生的位置不能用來限制本發明的·。
O:\89\8946l.DOC -17- 200426582 例如,前述密鑰值展開方法能在記錄處理單元410中實施。 :外’本發明能提供用於一產品物件,其包含在實施健 全最佳化的-或多個模組中包含的電腦可讀程式碼。而 且,本發明包括-以電腦程式碼為主之產品,此產品具有 儲存程式碼的-儲存媒體,且這些程式碼能用來使電腦執 仃與本發明有關的任何方法。電腦儲存媒體包括(但是未 侷限於)下列任一者:CD_R〇M、DVD、磁帶、光碟、硬 碟、軟碟、鐵電記憶體、快閃記憶體、強磁記憶體、光學 儲存,電耦合裝置、磁或光學卡、智慧型卡、EEpR〇M、 EPROM、隨機存取記憶體、r〇m、dram、此鳩、 SDRAM、或任何其他適當靜態或動態記憶體或資料儲存 裝置。 在以電腦程式碼為主之產品實施是下列軟體模組··(句 在檢查圮錄中產生記錄登錄;(…根據單向函數而展開密 鑰值,其中單向函數是因先前記錄登錄與先前密鑰值而 疋,及(c)透過分析該等記錄登錄與該等最後密鑰值來幫 助將具產生的記錄登錄與一最後密鑰值的檢查記錄傳送 給偵測軟體侵入的記錄處理單元。 結論 在前述具體實施例中顯示的一系統及方法能有效實施 偵測軟體竄改的一系統及方法。雖然顯示及描述各種不同 較佳具體實施例,但是可了解到並未以此揭示來限制本發 明,而是涵蓋在如文後申請專利所定義本發明的精神與範 圍内的所有修改與其他結構。例如,本發明並未受到軟體 O:\89\8946I.DOC -18- 2004265 82 碼類型、完整檢查類型、單向函數類型、或計算環境的限 制。 上述增強是在各種不同計算環境實施。例如,本發明能 在一傳統IBM個人電腦或類似、多樣式系統(例如,區域 網路)或網路系統(例如,網際網路、WWW、無線網路)實 施。有關此的所有程式規劃與資料是儲存在電腦記憶體、 靜態或動態、並能在下列任一者由使用者取回:傳統電腦 儲存裝置、顯示器(即是,CRT)及/或硬拷貝(即是,列印) 格式。本發明的程式規劃能在技術安全/加密程式規劃中 由熟諳此技者實施。 【圖式簡單說明】 圖1描述密鑰值等差級數是與記錄登錄值無關的一般方 法。 圖2描述密鑰值等差級數使用記錄登錄值的本發明方法 的一具體實施例。 圖3描述本發明的單一密鑰值具體實施例。 圖4描述實施在圖2與3揭示的具體實施例的一系統概 述0 【圖式代表符號說明】 400 系統 405 非揮發性記憶體 402 軟體碼 406 瑜匙 404 記錄 408 單向函數 410 記錄處理單元 OA89\8946I.DOC -19-

Claims (1)

  1. 200426582 拾、申請專利範園: 1 ·種使用一動悲展開檢查記錄來主動偵測軟體侵入之方 法,茲方法包含下列步驟: a·在該榀查兄錄中產生記錄登錄; b·根據單向函數而展開密鑰值,該單向函數是因一先 、前記錄登錄與-先前密鑰值而定;1 c.將具孩等產生記錄登錄與一最後密鑰值傳送給一記 錄處理單TG,以透過分析該等記錄登錄與該最後密输值來 偵測軟體侵入。 2. 如申请專利範圍第β之方法,其中該等記錄登錄是根據 專人fa執行的完整檢查結果。 3. 如申請專利範圍第2項之方法,其中該完整檢查包梧在一 區段軟體碼上的一核對加總計算。 4. 如申請專利範圍第1项之方法,其中該等記錄登錄是相同 值。 5. 如申請專利範圍第1项之方法,其中該檢查記錄有大小 制藉使該等5己錄登錄能形成迴繞的一檢查記錄。 6·如申請專利範圍第丄項之方法,其中該等先前密瑜值 建立下一密鑰值之後刪除。 長 7 ·如申請專利範圍第1項乏 ^ a ^ 、<万法,其中該展開密鑰值的 能獨立由該記錄處理單元執行。 4 8·如申請專利範圍第1項之 、<万法,其中該透過記錄處理 的分析包括使用該單向函數而將-連_密鑰值再生,疋 將該等一連串密鑰值與在 教 在落♦圮錄登錄的密鑰值相 O:\89\8946l.DOC 9. 9. 10 11 12 13. 14. 15. 16. 其中該等密瑜值的展開是^ 其中該等密瑜值的展開是^ 其中該等密瑜值具有算術 其中該等密鑰值是儲存在 ’其中該傳輸是週期性發 較0 如申請專利範圍第丨項之方法 在該產生步驟發生。 如申請專利範圍第丨項之方法 在該傳送步驟發生。 如申請專利範圍第1項之方法, 獨特性質。 如申請專利範圍第丨項之方法, 非揮發性記憶體。 如申請專利範圍第丨項之方法 生。 如中請專利範圍第β之方法,其中該傳輸是在經由第三 者的軟體碼執行期間發生。 如申請專·圍第丨項之方法,其中如果記錄登錄異常的 I界值已超過’該錄處理單^便^貞測到軟體霞改。 種ιέ 可用媒體之產品物件,其中該電腦可用 媒體具有在此儲存的電腦可讀程式碼,以使用一動態展 開的檢查記錄來幫助主動偵測軟體侵入,該媒體包含 a·電腦可讀程式碼,以在該檢查記錄中產生記錄登錄; b·電腦可讀程式碼,以根據單向函數將密鑰值展開, 孩單向函數是因先前記錄登錄與先前密鑰值而定;及 c·電腦可讀程式碼,以幫助將具該等產生的記錄登錄 與一最後密鑰值傳送給一記錄處理單元,以透過分析該等 $己錄登錄與該最後密鑰值來偵測軟體侵入。 O:\89\89461.DOC 2004265 82 1 7. —種使用動態展開的檢查記錄來主動偵測軟體侵入之方 法’該方法包含下列步驟: a·將完整檢查嵌入在軟體碼; b·在該檢查記錄中產生具一相同記錄登錄值的記錄登 錄, c·根據一單向函數將密鑰值展開,該單向函數是因該 相同記錄登錄值與和先前密鑰值而定;及 d·將該相同記錄登錄值與最後密鑰值傳送給一記錄處 理單元,以透過分析該相同記錄登錄值與最後密鑰值來 偵測軟體侵入。 i 8•如申請專利範圍第17項之方法,其中該軟體碼包括:網 站劉覽器、音效卡驅動程式、遊戲控制台程式、Java applet、在其他數位内容嵌入的巨集。 19·如申請專利範圍第18項之方法,其中該數位内容包含下 列任一者··影像、音樂、視訊或資料庫檔案。 20.如申請專利範圍第1 7項之方法,其中該方法進一步包含 該反應偵測竄改的步驟,該反應包含下列任一者、或組 合··中斷軟體碼使用者、使軟體碼使用者的裝置密鑰值 失效、拒絕來自軟體碼使用者的額外内容請求、增加在 傳送給使用者的軟體碼或内容中完整檢查類型的數量與 夕樣性、增加該檢查記錄與最後密鑰值的週期傳輸的頻 率、與建議系統管理者有關該偵測竄改。 21·如申請專利範圍第17項之方法,其中該檢查記錄有大小 限制,藉使該記錄登錄形成迴繞的一檢查記錄。 O:\89\8946I.DOC 其中该等完整檢查包括 總計算。 ’其中該等先前密鑰值是 22·如申請專利範圍第1?項之方、去 在該軟體碼區段上的一核對为 23·如申請專利範圍第Π項之方法 在下一密鑰值建立之後冊j除。 24·如申請專利範圍第π項之女 万法,其中該展開密鑰值的步 驟是由該記錄處理單元獨立執行。 25·如申請專利範圍第17項之方味 ^ ^ ^ 一 万去’其中透過該記錄處理單 元的分析包括使用該單向函數而將-連串密鑰值再生, 並將該等—連w鑰值料解成該等記輕錄的密瑜值 相比較。 其中該密鑰值的展開是 26·如申請專利範圍第17項之方法, 在該產生步驟發生。 27·如申請專利範圍第17項之方法,其中該密鑰值的展開是 在該傳輸步驟發生。 2δ.如申請專利範圍第17項之方法,其中該等密鑰值具有算 術特色的屬性。 29·如申請專利範圍第17項之方法,其中該等密鑰值是儲存 在非揮發性記憶體。 30·如申請專利範圍第17項之方法,其中該傳輸是週期性發 生〇 如申凊專利範圍第17項之方法,其中該傳輸是經由第三 者而在軟體碼執行期間發生。 3 2 ^ , 申清專利範圍第17項之方法,其中如果超過記錄登綠 ν系的—臨界值,該記錄處理單元能彳貞測軟體竄改。 O:\89\89461.DOC 200426582 3 3. —種包含一電腦可用媒體之產品物件,該電腦可用媒體 具有在此具體實施的一電腦可讀程式碼,以透過使用一 動態展開的檢查記錄來有利地幫助偵測軟體侵入,該媒 體包含: a. 電腦可讀程式碼,以將完整檢查嵌入軟體碼; b. 電腦可讀程式碼,以產生在該檢查記錄中具一相同 記錄登錄的記錄登錄; c. 電腦可讀程式碼,其能根據一單向函數而展開密鑰 值,該單向函數是因該相同記錄登錄值與先前密鑰值而 定;及 d. 電腦可讀程式碼,以幫助將該相同記錄登錄值與最 後密鑰值傳送給一記錄處理單元,以透過分析該相同記 錄登錄值與最後密鑰值來偵測軟體侵入。 O:\89\89461.DOC
TW092133335A 2002-12-19 2003-11-27 A system and method to proactively detect software tampering TWI299449B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/248,130 US7305564B2 (en) 2002-12-19 2002-12-19 System and method to proactively detect software tampering

Publications (2)

Publication Number Publication Date
TW200426582A true TW200426582A (en) 2004-12-01
TWI299449B TWI299449B (en) 2008-08-01

Family

ID=32592759

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092133335A TWI299449B (en) 2002-12-19 2003-11-27 A system and method to proactively detect software tampering

Country Status (8)

Country Link
US (2) US7305564B2 (zh)
EP (1) EP1573545A4 (zh)
JP (1) JP2006511877A (zh)
CN (1) CN100380338C (zh)
AU (1) AU2003282989A1 (zh)
CA (1) CA2505477C (zh)
TW (1) TWI299449B (zh)
WO (1) WO2004061667A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567580B (zh) * 2011-06-23 2017-01-21 標準微系統股份有限公司 用於防止惡意軟體執行的方法與系統

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305564B2 (en) * 2002-12-19 2007-12-04 International Business Machines Corporation System and method to proactively detect software tampering
DE10340411B4 (de) * 2003-09-02 2005-10-13 Infineon Technologies Ag Vorrichtung und Verfahren zur sicheren Ausführung eines Programms
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
EP1759258A1 (en) * 2004-04-06 2007-03-07 Telecom Italia S.p.A. Secure logging for irrefutable administration
US7451325B2 (en) * 2004-08-02 2008-11-11 At&T Intellectual Property I, L.P. Methods, systems and computer program products for detecting tampering of electronic equipment by varying a verification process
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
KR100746012B1 (ko) * 2005-11-07 2007-08-06 삼성전자주식회사 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
ATE426966T1 (de) * 2006-05-26 2009-04-15 Sap Ag Verfahren und vorrichtung zur sicheren bearbeitung eines befehls durch einen mobilen agent in einem netzwerk.
US20080037791A1 (en) * 2006-08-09 2008-02-14 Jakobsson Bjorn M Method and apparatus for evaluating actions performed on a client device
US11075899B2 (en) 2006-08-09 2021-07-27 Ravenwhite Security, Inc. Cloud authentication
US9195834B1 (en) 2007-03-19 2015-11-24 Ravenwhite Inc. Cloud authentication
US8844003B1 (en) 2006-08-09 2014-09-23 Ravenwhite Inc. Performing authentication
US20080148061A1 (en) * 2006-12-19 2008-06-19 Hongxia Jin Method for effective tamper resistance
US20080235802A1 (en) * 2007-03-21 2008-09-25 Microsoft Corporation Software Tamper Resistance Via Integrity-Checking Expressions
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
KR100938672B1 (ko) * 2007-11-20 2010-01-25 한국전자통신연구원 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법
US8448218B2 (en) * 2008-01-17 2013-05-21 Josep Bori Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability
US8473752B2 (en) * 2010-03-17 2013-06-25 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for auditing access to secure data
EP2438511B1 (en) 2010-03-22 2019-07-03 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
WO2011159356A1 (en) 2010-06-16 2011-12-22 Ravenwhite Inc. System access determination based on classification of stimuli
US8788817B1 (en) * 2011-09-30 2014-07-22 Emc Corporation Methods and apparatus for secure and reliable transmission of messages over a silent alarm channel
US8984609B1 (en) * 2012-02-24 2015-03-17 Emc Corporation Methods and apparatus for embedding auxiliary information in one-time passcodes
US9515989B1 (en) 2012-02-24 2016-12-06 EMC IP Holding Company LLC Methods and apparatus for silent alarm channels using one-time passcode authentication tokens
US9160539B1 (en) 2011-09-30 2015-10-13 Emc Corporation Methods and apparatus for secure, stealthy and reliable transmission of alert messages from a security alerting system
CN103092742B (zh) 2011-10-31 2015-08-19 国际商业机器公司 程序日志记录优化方法和系统
US8922224B2 (en) 2012-08-07 2014-12-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Snoop detection on calibrated bus
US11132659B2 (en) * 2015-07-14 2021-09-28 Texas Instruments Incorporated Tamper detection
EP3163789B1 (en) * 2015-10-29 2021-08-18 Airbus Defence and Space GmbH Forward-secure crash-resilient logging device
CN108351938B (zh) * 2015-10-29 2022-02-08 惠普发展公司,有限责任合伙企业 校验针对程序代码的一部分所计算的安全值的装置、系统和方法
TWI637282B (zh) * 2017-04-11 2018-10-01 精品科技股份有限公司 檔案存取數量之控管與限制之系統與方法
EP3713189A1 (de) * 2019-03-22 2020-09-23 Siemens Aktiengesellschaft Intrusionserkennung bei computersystemen
US10826924B1 (en) * 2020-04-22 2020-11-03 Quantum Information Security, LLC Computer security and methods of use thereof

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5850559A (en) * 1996-08-07 1998-12-15 Compaq Computer Corporation Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode
US5969632A (en) * 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6192475B1 (en) * 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
AU8757398A (en) 1997-07-15 1999-02-10 V-One Corporation File encryption with key recovery
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
US7185367B2 (en) * 1999-05-11 2007-02-27 Cylant, Inc. Method and system for establishing normal software system behavior and departures from normal behavior
US6681331B1 (en) * 1999-05-11 2004-01-20 Cylant, Inc. Dynamic software system intrusion detection
US7096499B2 (en) * 1999-05-11 2006-08-22 Cylant, Inc. Method and system for simplifying the structure of dynamic execution profiles
CA2384360A1 (en) 1999-06-09 2000-12-21 Harold J. Johnson Tamper resistant software encoding
US6594761B1 (en) 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
EP1076279A1 (en) 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US6779114B1 (en) 1999-08-19 2004-08-17 Cloakware Corporation Tamper resistant software-control flow encoding
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
JP3873603B2 (ja) * 1999-10-22 2007-01-24 株式会社日立製作所 ディジタル署名方法および装置
US6789199B1 (en) 2000-02-08 2004-09-07 International Business Machines Corporation Tamper resistance with pseudo-random binary sequence program interlocks
US6725240B1 (en) * 2000-08-08 2004-04-20 International Business Machines Corporation Apparatus and method for protecting against data tampering in an audit subsystem
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
CN1196296C (zh) * 2001-12-04 2005-04-06 上海复旦光华信息科技股份有限公司 易扩展型网络入侵检测与安全审计系统
CN1160899C (zh) * 2002-06-11 2004-08-04 华中科技大学 分布式网络动态安全保护系统
US7305564B2 (en) * 2002-12-19 2007-12-04 International Business Machines Corporation System and method to proactively detect software tampering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567580B (zh) * 2011-06-23 2017-01-21 標準微系統股份有限公司 用於防止惡意軟體執行的方法與系統

Also Published As

Publication number Publication date
US20080066178A1 (en) 2008-03-13
EP1573545A1 (en) 2005-09-14
WO2004061667A1 (en) 2004-07-22
EP1573545A4 (en) 2008-08-27
CA2505477A1 (en) 2004-07-22
US7305564B2 (en) 2007-12-04
US7707429B2 (en) 2010-04-27
JP2006511877A (ja) 2006-04-06
CA2505477C (en) 2009-10-13
AU2003282989A1 (en) 2004-07-29
CN100380338C (zh) 2008-04-09
TWI299449B (en) 2008-08-01
US20040123116A1 (en) 2004-06-24
CN1729457A (zh) 2006-02-01

Similar Documents

Publication Publication Date Title
TW200426582A (en) A system and method to proactively detect software tampering
US10025953B2 (en) Systems and methods for authenticating and protecting the integrity of data streams and other data
US8769675B2 (en) Clock roll forward detection
TWI225195B (en) System and method for guaranteeing software integrity via combined hardware and software authentication
CN113169866A (zh) 使用同时密钥发布来防止共谋的技术
CN110992218A (zh) 一种基于区块链的音乐版权保护方法及设备、介质
CN108833440A (zh) 一种基于区块链的网络安全审计系统及网络安全审计方法
US9569774B2 (en) System and method for processing feedback entries received from software
CN112907375A (zh) 数据处理方法、装置、计算机设备和存储介质
CN1559026A (zh) 防止非法使用信息的方法和装置
JP5060372B2 (ja) データ処理装置
JP4418624B2 (ja) 暗号化装置および復号化装置
JP4765262B2 (ja) 電子データ保管装置、プログラム
WO2019229257A1 (en) System and method for providing an authorised third party with overt ledger secured key escrow access to a secret
JP5167082B2 (ja) 電子データ供給装置及び電子データ利用装置
JP4604523B2 (ja) データの移管方法およびデータの保管装置
CN114168978A (zh) 数据处理方法、电子设备及计算机存储介质
JP2004118791A (ja) パトロール装置及びパトロール方法
JP2006279179A (ja) データ2重化を活用した暗号処理方式

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees