複製鏈接
請複製以下鏈接發送給好友

概念證明

鎖定
概念證明,即概念驗證(英語:Proof of concept,簡稱POC)是對某些想法的一個較短而不完整的實現,以證明其可行性,示範其原理,其目的是為了驗證一些概念或理論。概念驗證通常被認為是一個有里程碑意義的實現的原型 。
在計算機安全術語中,概念驗證經常被用來作為0dayexploit的別名。
中文名
概念證明
外文名
Proof of Concept
簡    稱
PoC
含    義
證實發布的漏洞真實性的測試代碼

概念證明概念簡介

概念證明,即概念驗證(英語:Proof of concept,簡稱POC)是對某些想法的一個較短而不完整的實現,以證明其可行性,示範其原理,其目的是為了驗證一些概念或理論。概念驗證通常被認為是一個有里程碑意義的實現的原型 。
在計算機安全術語中,概念驗證經常被用來作為0dayexploit的別名。 [1] 

概念證明詞源

牛津英語詞典早在1967年1月22日就提供了一個例子,用來説明該詞的用法。該例子來自洛杉磯時報
該詞的一個較早的使用例子是在Bruce Carsten的文章《proof of concept prototype》中,在1998年11月的《Power Conversion and Intelligent Motion》雜誌的“Carsten's Corner”專欄中(第38頁),副標題是“Let's Define a Few Terms”:
Proof-of-Concept Prototype 是我在1984年創造的一個詞(我是這樣認為的)。它用來稱呼一種類似工程原型(譯註:原文為engineering prototype)的電路(circuit),但是它的目的只在於表明一種新的工藝(譯註:又是circuit)或製造技術的可能性,而不是作為生產設計的早期樣本。

概念證明計算機安全

計算機安全(computer security)是計算機與網絡領域的信息安全(information security)的一個分支。其目的是在保證信息和財產可被受權用户正常獲取和使用的情況下,保護此信息和財產不受偷竊,污染,自然災害等的損壞。計算機系統安全是指一系列包含敏感和有價值的信息和服務的進程和機制,不被未得到授權和不被信任的個人,團體或事件公開,修改或損壞。由於它的目的在於防止不需要的行為發生而非使得某些行為發生,其策略和方法常常與其他大多數的計算機技術不同。
設計層面上的安全
計算機安全技術的基礎是邏輯學。安全性並非是大部分的計算機應用的主要目的,而在設計時就考慮程序的安全性常常會對程序的運行有所限制。
在計算機應用上有四種安全設定,通常會結合使用:
  1. 信任所有軟件都遵守安全策略,但軟件本身不可信。
  2. 信任所有軟件都遵守安全策略,並且該軟件也被證實為可信的
  3. 不信任軟件,但通過不可信的保護機制執行安全策略
  4. 不信任軟件,但通過可信的硬件機制執行安全策略
許多系統無意中使用了以上的第一種設定。由於第二種方法成本昂貴和不確定性,其使用受到很大限制。第一種和第三種方法會導致失敗。第四種方法更具實用性,這是由於它通常基於硬件機制,避免了抽象性和自由性。
設計安全系統有很多技巧和技術。但很少有有效的方法能夠在設計完成後提高安全性。有一種技術能最大程度地執行最小權限原則,即一個實體只能擁有它所需要的權限。在這種方式下,即使攻擊者能夠進入系統的某一部分,也難以進入到其他部分。
另一方面,將系統劃分為小的組件可降低各部分的複雜性,並可以使用定理機器證明(automated theorem proving)來證明關鍵的軟件子系統的正確性。因此,當單一的有特點的特性可以作為關鍵點被分離出,而此特性可被數學評估時,安全的解析解(closed form solution)才會有效。在這種正確性證明不存在時,嚴謹的代碼審查(code review)和單元測試(unit testing)是最好的保證模塊安全的方式。
設計時應使用縱深防禦(Defense in depth),即當多於一個子系統被誤用時,系統的完整性和其存儲的信息才會受損。當對一種安全措施的破壞不會使得對另一種措施的破壞變成更容易時,縱深防禦有效。同時,串行原則表明,幾個簡單的保護措施不能連接成為一個複雜的保護措施。
子系統應被默認在安全設置下,並應儘可能設計為fail secure而非fail insecure。理想地,一個安全系統應當在合法用户特意地,自由地決定之下才能使其不安全。
另外,安全不應是全有或全無的問題。系統的設計者和操作者應假定安全性的違反是不可避免的。系統活動應有完整的審計日誌,在違反安全性的活動發生後才可確定其機制和程度。遠程存儲審計日誌可保護系統日誌不被侵入者修改。最後,充分公佈(full disclosure)有助於在系統漏洞被發現時,儘可能地縮短此安全隱患存在的時間。
安全體系結構
安全體系結構定義為描述安全措施如何放置,如何與整個信息技術體系結構關聯的設計作品。這些安全控制措施旨在維護系統質量參數,包括機密性,完整性,可用性,問責制,保險性。 [2] 

概念證明可行性研究

可行性研究,是管理學、投資學、市場學工程學中常見的術語和前期準備過程,簡單而言即是計劃及考慮某項目建議的可行與否。大型項目開始之前,當然必須要有一個理性的及詳實的可行性研究,以確定工程或投資計劃是否可行,一般包括環評、安全評價、社會影響評價、地址影響評價等多方面。
可行性研究是管理學上的計劃模型,其中過程包括清楚確定現行的不足、期望的需要,列出所有解決方案,資料蒐集,在各種資源條件許可之下,列出最有可行的一個或多個計劃建議,有待最後審議及批准。
可行性研究中所考慮的問題,包括:
  1. 經濟上的可行性
  2. 技術上的可行性
  3. 時間表上的可行性
  4. 組織架構上的可行性 [2] 
參考資料
  • 1.    陳曉洪. 概念獲取與驗證系統的研究與實現[D]. 華南理工大學, 2008.
  • 2.    賈春福. 計算機安全:原理與實踐[J]. 計算機教育, 2009, No.85(1):99-100.