[發明專利]用于修復應用程序的方法和系統無效
| 申請號: | 200680026240.2 | 申請日: | 2006-04-07 |
| 公開(公告)號: | CN101529385A | 公開(公告)日: | 2009-09-09 |
| 發明(設計)人: | 安格羅斯·D·克羅米蒂斯;斯蒂利亞諾斯·西迪羅格洛;邁克爾·E·羅卡斯托 | 申請(專利權)人: | 紐約市哥倫比亞大學理事會 |
| 主分類號: | G06F11/00 | 分類號: | G06F11/00 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所 | 代理人: | 趙 冰 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 修復 應用程序 方法 系統 | ||
相關申請的交叉引用
本申請要求2005年6月1日提出申請的美國專利申請No.11/142743的優先權,該專利申請全文并入這里作為參考。
技術領域
本發明總體上涉及用于對多種軟件錯誤做出反應的方法。更具體地,本發明涉及用于從軟件故障和攻擊自動恢復的方法和系統。
背景技術
應用程序可能會由于任意數量的威脅、程序錯誤、軟件故障、攻擊或任何合適的軟件錯誤而終止。計算機病毒、蠕蟲、木馬、黑客、密鑰恢復攻擊、惡意可執行程序、探測器等等是對連接到公共計算機網絡(例如互聯網)和/或專用網絡(例如公司計算機網)上的計算機的用戶的持續威脅。響應于這些威脅,許多計算機被防病毒軟件和防火墻保護起來。但是,這些保護措施并不總是足夠的。例如,許多服務在面臨遠程攻擊、大量事件(例如,快速散播的蠕蟲例如Slammer和Blaster)、或簡單的應用層的拒絕服務(DoS)攻擊必須保持高的可用性。
除了這些威脅之外,應用程序通常包含操作期間的錯誤,該錯誤通常由程序員錯誤產生。不管應用程序是被一個上述威脅攻擊還是包含操作期間的錯誤,這些軟件故障和錯誤都會導致非法存儲器訪問錯誤、被零除錯誤、緩沖溢出攻擊等等。這些錯誤導致應用程序終止其執行或“崩潰”。
已經提出例如實現提前主動方法的解決方案,該提前主動方法試圖通過使用安全語言、庫和編譯器、代碼分析工具和開發方法使該代碼盡可能地可靠。還提出了試圖使后續故障分析和恢復對于程序員盡可能容易的調試幫助。已經提出Byzantine容錯方案,該方法在多個服務實例中使用投票來選擇正確的答案。但是,這些容錯方案在僅有少量副本將表現出故障行為的假設下操作。實際上,解決此問題的許多這些方法通常是提前主動的,但是這些策略不會產生無錯誤代碼。這些解決方案通常是有問題的,例如系統性能降低、單調和麻煩的用戶互動、以及自發的拒絕服務(即,當檢測到溢出時,唯一的可選擇方案是終止應用程序)。另外,對于服務器應用程序,由于服務器應用程序通常長期運行(累積了相當多的狀態量),并且通常包含服務于許多遠程用戶的多個線程,服務器應用程序往往不能被簡單地重啟。重啟服務器將拒絕對其他用戶的服務。結果,軟件糟糕地保持了很多缺陷多并且很容易崩潰。此外,這些解決方案不適合于高性能、高可用性環境例如被頻繁訪問的電子商務網絡服務器。
另外,這些應用程序可安裝在多種平臺,例如個人數字助理(PDA)、移動電話或汽車個人電腦上。例如,開放式平臺操作系統已被用于汽車個人電腦,以允許用戶安裝已經為該平臺設計的第三方應用程序。這些應用程序也容易遭受軟件錯誤。盡管目前為這些平臺開發出了防病毒程序以保護應用程序不受這種錯誤影響,但是它們通常需要用戶交互(例如,下載補丁或者另一種應用程序,將該設備連接到個人計算機,等等),并且由于占用了平臺的已經很有限的空間、存儲器和傳輸帶寬而降低了系統性能。
因此,本領域中需要提供一種用于處理多種軟件錯誤的反應性更高的和自動的方法,以便應用程序可從這種錯誤中恢復而無需用戶干涉,并且不會降低系統性能。
因此,希望提供克服現有技術的這些以及其他缺點的方法和系統。
發明內容
根據本發明的一些實施例,提供了一種使應用程序可從軟件錯誤和攻擊中自動恢復的自愈式系統和方法。通過選擇性地模擬應用程序代碼的全部或一部分,或者檢測到已經發生故障,如對于該故障類型適當地,系統立即圍繞檢測到的故障使操作數對于機器指令有效。系統通過糾錯模擬應用程序代碼的一部分。這可通過更新應用程序代碼或者通過非入侵的手段(例如,通過包裝或調試器類型的過程控制)實現。這增加了在存在一般軟件錯誤、軟件錯誤和攻擊(例如,計算機病毒、蠕蟲、木馬、黑客、密鑰恢復攻擊、惡意可執行程序、探測器、拒絕服務攻擊、資源消耗攻擊、緩沖溢出、緩沖下溢、非法存儲器訪問、被零除、檢查時間到使用時間(TOCTTOU)違規和/或程序設計錯誤的情況下的服務可用性。
在一些實施例中,提供了一種用于檢測應用程序并且從軟件錯誤中修復應用程序的方法和系統。使用一個或多個傳感器(例如,基于主機的傳感器、無源傳感器、蜜罐(honeypot)等等)監控該應用程序的故障情況。根據本發明的一些實施例,傳感器可以是在模擬該應用程序的單獨服務器上實現的蜜罐。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于紐約市哥倫比亞大學理事會,未經紐約市哥倫比亞大學理事會許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200680026240.2/2.html,轉載請聲明來源鉆瓜專利網。





