題:
從根本上說,最聰明的人無法突破的服務器基礎設施是否可能?
J.Todd
2015-08-25 08:45:06 UTC
view on stackexchange narkive permalink

TL; DR:

也許我已經把問題的細節弄得過分了,但是我想確保問題很明確,因為該主題看起來很廣泛。但是在這裡。

從根本上講,不是字面上的意思。

從根本上說,最聰明的人不能違反的服務器基礎結構嗎?

背景:

我已經閱讀了有關大型銀行(或作弊網站)的服務器遭到入侵的文章,並且在一篇基於對此案感興趣的互聯網安全公司的採訪中發表的一篇文章中,一位專家聲稱技能嫻熟的犯罪組織,尤其是在中國和俄羅斯,擁有豐富的資源,工具和世界上一些“最好的”黑客,他們可以利用這些犯罪組織,並且該專家聲稱“地球上沒有系統”(已連接到網絡,當然),他們不能用他們可用的資源妥協。

(Web服務器)信息安全就像國際象棋一樣:

我不是國際象棋選手,我也不是信息安全專家。專家,但是我是寫服務器軟件的程序員,對此我很感興趣。忽略國際象棋的任何可能使我的情況無效的因素,例如先行動的人都有優勢或類似的東西,可以將信息安全想像為世界上兩個最佳國際象棋玩家之間的國際象棋遊戲。

經典遊戲: 如果您和我玩國際象棋遊戲,那麼擁有更強技巧,知識和智力的國際象棋遊戲將贏得勝利。

編程場景1: 或者,如果我們以數字方式玩遊戲,那麼我們中最聰明的國際象棋遊戲軟件開發者將獲勝。

編程場景2: 或者,這就是關鍵,也許我們倆都擅長於國際象棋和編程,因此我們都可以編寫出象棋一樣的計算機程序

考慮服務器基礎設施(例如銀行服務器或必須與網絡上的客戶端進行通信的應用服務器),這兩個程序都無法獲勝,並且遊戲陷入僵局。但絕不能允許犯罪分子闖入其數據存儲區。

  • 此服務器基礎結構的安全性可能類似於程序化方案1 ,這意味著無論什麼人,只要擁有最好的軟件和信息安全知識,例如,發明安全策略的人將永遠有機會突破服務器基礎架構的防禦,無論其多麼安全。 從根本上講不可能有完美的防禦。

  • 或者就像程序化方案2 一樣,從根本上有可能發展服務器基礎結構使用的安全策略(根本上)不能由更智能的程序來提供。 從根本上來說,完美的防守是可能的。

問題

那是哪一個?

您正在尋找具有巨大不確定性的遊戲中定義明確的均衡。這裡沒有靜態平衡,只有軍備競賽。沒有規則的軍備競賽-一切都會發生,例如@schroeder所說的,巧克力棒和橡膠軟管。哦,女人(或男人)。這個遊戲很古老,叫做戰爭。
@DeerHunter可以接受。但是,如果沒有非常徹底地研究此主題,也沒有廣泛的服務器安全基礎知識,我就無法親自確定是否存在可以通過完善的安全策略使僵局成為可能的基本原則。
“最聰明的人不能破壞的服務器基礎設施是否有可能做到?”是。不幸的是,這意味著其他人,不那麼聰明,對事情應該如何運作不那麼了解,只會愚蠢地嘗試並嘗試那些沒有受過教育的人會考慮做的事情,因為那不是它的工作方式。
@JonathanTodd然後,請允許我為您節省大量精力:答案是“否”。只要會有人應該能夠訪問數據,對於*不應該*的人來說就存在漏洞。
是。有一種方法可以防止服務器受到破壞。您需要做的就是將其密封在永久密封的盒子中。然後,將盒子放入保險箱,然後將其扔下Mariana Trench。然後也許用混凝土填充所說的溝渠。
在國際象棋中-如果您玩1000場比賽,並贏得999並贏得1鬆散,則您可能被認為是冠軍。在安全性方面-如果您玩1000場“遊戲”,並贏得999並贏得1鬆散,那您就被搞砸了。
@Shadur的含義是,只要沒有用戶,您就可以擁有一個完全安全的系統。 :)
“哦,但是你必須一次又一次地穿過那些樹林,你必須幸運地每次都避開狼,但是狼只需要足夠的運氣就可以找到你。”
安全是創建控制層的技術,如果/當安全方面被破壞時,控制層可將損失降到最低。在計算機安全的情況下,創建層並劃分系統以最大程度地減少損失是一件棘手的事情。但是,分層安全性是防止違規並在發生違規時和發生時將數據丟失最小化的最佳方法。
這不像國際象棋,因為情況不對稱。這是一種非對稱遊戲,其中一方比另一方有很大的劣勢,並且只有在另一方犯下非常愚蠢的錯誤時才能獲勝。
可證明的正確性在計算機科學中從根本上來說是可能的。使協議或系統的實現足夠簡單,並且實際上可能是實用的。但是有一個難題-商業需求很少能在開發時間,成本和功能複雜性方面取得折衷,這是可證明的實施所必需的。 (執行“ eval”,您就遇到了停頓的問題;所有賭注都關閉了!)
@JamesRyan以及將來這樣做可能是現實的可能性。諸如美國政府這樣關心服務器安全的人很可能能夠使用人工智能(不同於人類,人工智能可能被鎖在無法使用“巧克力棒”的房間中),從而開發出經過驗證的微型內核。該內核的迷你語言,以及使用該語言的經過驗證的簡單服務器,只有一個指揮官(系統中只有一個人),他一個人就有能力在系統防禦中犯錯。
不記得是誰說過的話或確切的報價,而是這樣寫的:“人們聲稱某些東西是完全傻瓜的,這往往低估了傻瓜的獨創性。”
十三 答案:
schroeder
2015-08-25 09:09:30 UTC
view on stackexchange narkive permalink

“根本上不可能有完美的防守。”

在國際象棋中,您有64個方格,2人在玩,以及一組不變的,眾所周知的規則。

在服務器基礎結構中,有無數的資產和接近這些資產的方法,數量不明的人在玩,規則不斷變化,而玩家故意彎曲,破壞或繞過規則。

請考慮兩個可以證明我觀點的元素:零天巧克力棒

首先,零時更改遊戲規則。一方雖然獲得了這一要素的好處,但另一方卻沒有意識到這一優勢,並且即使最終知道了這些攻擊,仍然可能無法抵抗這些攻擊。每個零日都是一條不規則地應用於遊戲的新規則。即使可以設計並完美實施“完善的安全策略”,零日也意味著該策略建立在防禦方可能永遠不會知道的未知弱點上。

第二,巧克力棒可以做到破壞基礎架構的安全性比其他任何因素都更多。我的意思是說,人們可能被賄賂或引誘到“轉換側”,並給相對側以優勢,有時是像巧克力棒一樣小的東西(研究表明)。網絡釣魚,賄賂,數據洩露等都是技術無法完全解決的人為因素。只要在基礎架構中擁有人手,系統中總會存在這種弱點。

做什麼?

在歷史上,我們看到了許多情況,在這種情況下,大規模的防禦嘗試被一些不可預見的小事打敗了(例如,中國的長城之門向a子打開了,a子是蒙古人的雙重代理人)。作為防御者,目標不是建立完美的防禦系統,而是設計一種彈性和透明的基礎結構,使攻擊者可以快速看到攻擊並做出完全反應。不是更高的城牆,而是更警覺的民兵。不是不可動搖的基礎,而是可替換的體系結構。

我很想知道如果您卸下巧克力棒會怎樣。我認為從根本上可以自己設計整個服務器架構,將服務器鎖定在一個盒子中,然後吞下鑰匙。然後我們只有零天在玩。
是的-我加強了零時差部分。請記住,即使使用了鎖/盒/吞嚥計劃,該策略中仍有許多其他*人為因素會導致問題。電源,網絡連接,維護,修補等均在策略中的某個時刻起作用。我還沒有聽說過或設計出可以解決所有人類因素的計劃。
我曾與一位年輕的網絡安全研究生一起工作,他對我們系統可能遭受的攻擊非常感興趣。當我談到我們已經經歷的各種攻擊時,他將所有攻擊都視為“基於社會的”攻擊,因此最終變得毫無趣味。當我們站在帶有多個機架,A / C單元,電源,電纜和閃爍的燈的數據中心的中間時,我轉向他大喊:“這是所有社交活動!系統可供人們使用!”我知道這聽起來有些陳詞濫調,但它為我敲定了為什麼不應該對技術和社會進行描述。
完全一樣,如果您不介意的話,請考慮以下情形:我本人親自發電,進行維護並親自安裝補丁。畢竟,這是一個現實可測的情況,我可以坐在一個空房間裡,在服務器鎖定在盒子裡的情況下運行發電機,並應用自己的更新。如果有人想盡力而為,則可以通過足夠小的操作(就我自己)消除巧克力棒。
即便如此,在消除防禦的人為因素的情況下,戰略家也無法完全掌握知識,甚至無法完全控制自己的系統。基礎架構建立在其他人的工作和相關係統的互連矩陣上。這些要素中的任何一個要素的崩潰(例如零時差)都會擊敗最完美的防禦。那麼,如何從頭開始構建所有內容呢?操作系統,固件,協議,加密等,等等?
哦,您的意思是一個人自己的計算抽象層。例如內核和OS。是的,假設服務器端非常重視安全性(一家銀行今年花費了25億美元),因此他們從頭開始開發整個內核和操作系統。實際上,假設公司的所有者,即對安全性感興趣的人,從頭開始對內核,操作系統和服務器進行編程,並在沒有幫助的情況下進行無缺陷設計。我們在這裡很基礎,如果花了一年的時間,這種事情確實是有可能的。
-1
@reirab我並不是要進一步擴展此註釋線程,但我們正在談論的是*僅*必須運行服務器軟件的OS。基本上,您所談論的那種操作系統的功能只有1%。到目前為止,內核是最多的工作,但是頂級程序員能夠在相當長的時間內獨自開發內核。畢竟,我們有內核可供參考,我們只需要重新設計一個內核,以消除可能被濫用以危害系統的缺陷。同樣,我的問題是關於基本面,而不是可行性...
而在國際象棋中,對手必須等到他轉身,直到你採取行動為止,但是在這裡你的對手可以做出一百萬步,甚至沒有收到服務器出現問題的警報:)
@jonathantodd實際上,您的原始評論使0days變得“更糟”,因為現在您已經無法在發現它們後使用計算機對其進行修復。
進一步進行國際象棋比喻,我們可以說,通過讓較弱的人在比賽開始之前帶槍並射擊大師,可以顛覆強者獲勝的基本前提。
注意:中國的長城並不是為了阻止入侵者進入,而是要延遲劫匪搶劫滿載貴重物品的時間,以便他們在逃脫之前就被抓住。我不確定信息安全是否存在類比。
事實證明,這個答案在技術上是錯誤的,因為我的問題詢問的是基本能力,而不是可行性。
pjc50
2015-08-26 20:35:11 UTC
view on stackexchange narkive permalink

可以證明安全性,但是您必須了解證明的事實

https://sel4.systems/FAQ/proof.pml

我們的高級自然語言證明如下:

seL4微內核的二進制代碼正確地實現了其抽象規範中描述的行為,僅此而已。此外,該規範和seL4二進製文件滿足稱為安全性和機密性的經典安全屬性。

完整性表示未經許可就不能更改數據,而機密性意味著未經許可就不能讀取數據。

我們的證明甚至更進一步,表明在一定程度上,未經允許就無法推斷數據。已知存在所謂的信息側信道(也稱為隱蔽信道)。該證明僅涵蓋形式模型中存在的那些信息推斷渠道:機密性證明涵蓋所有內核存儲渠道,但不包括必須憑經驗處理的計時渠道。

因此,為什麼每個人都不只是使用sel4? (當前最有可能遇到的地方是某些Apple設備的TrustZone處理器上。)

答案是,證明僅覆蓋內核,而不涉及任何用戶空間軟件。您可能要運行。例如,沒有經過驗證的安全Web服務器,更不用說要在其上運行的應用程序的語言實現了。而且,您還必須證明您的Web應用程序安全。開發這些東西將需要非常大的投資,沒有大公司對此感興趣。

高安全性系統通常會在密鑰和登錄管理點受到攻擊

如果管理員錯誤地將密碼保留在pastebin上,則係統的安全性無關緊要。就在前幾天,我們看到TSA員工在Twitter上發布了(物理)TSA萬能鑰匙在行李箱鎖上的圖片,因此這些東西都遭到了破壞。弱密碼,可猜測的密碼,不安全存儲的密碼,不良的硬件安全令牌,複製的指紋:所有這些都是可能的攻擊媒介。

哦,哇,這個答案比其他任何答案都能誠實地回答我的問題。其他人都在談論可行性,但是我的問題是*從根本上來說,*是否有可能保護Web服務器的安全,以便無論智能水平如何,我的對手都不會損害我的系統?*-根據此,我們可以假設一個行之有效的為此開發了服務器和語言。儘管拆除“巧克力棒”更加困難,但可以通過讓一個人在AI的幫助下獨自控制維護來完成。
例如2115年的美國總統(假設從那時起AI已有100年的歷史了)可以指示天才AI軟件構造成熟的微內核,語言,從而構造Web服務器,並將AI計算機和服務器鎖定在一個房間內,因此,假設他可能會在需要時立即通知他們,那麼他就可以遠程訪問代碼或某些瘋狂的秘密而不會被洩露。確實是個極端的例子,但我只是在演示一個模型,在該模型中,經過驗證的Web服務器既適用又可行,並且沒有人為因素。
極好的答案。這是唯一“實際上”按預期回答問題的人。
謝謝-我已經看了幾天問題了,沒有人提到某些形式的軟件行為是可以證明的。人們對圖靈的解釋感到無所適從。但是“ AI”在很大程度上是一個神奇的波浪形單詞,不太可能提供有關其行為的任何證據。也許總統將密碼設置為與其行李箱相同:http://arstechnica.com/tech-policy/2013/12/launch-code-for-us-nukes-was-00000000-for-20-years/
@pjc50我讀了那篇文章,是的,將軍們像其他人一樣規避了安全協議,這就是為什麼我建議使用AI來管理將來具有非常重要的安全需求的系統的可能性,例如導彈的發射代碼。 AI看起來像是魔杖,但該技術實際上更像是“何時”而不是“是否”,並且不需要證明AI,因為可以通過消除除通過Internet以外的所有外部訪問(包括互聯網)來確保AI的安全。由一名系統管理員親自訪問。
我對此持懷疑態度的原因之一是,一個天才級的AI永遠永遠幸福地被囚禁在一個孤立的盒子裡,而公司只有一個核發射系統……
您知道我是否可以使用sel4安裝桌面操作系統嗎?只為踢和咯咯笑!
@PyRulez確實看起來像可以在台式PC上啟動它,儘管在“未來項目”頁面上列出了您想要的所有用戶空間實用程序。
@pjc50是一項非常令人滿意的評估。對於要利用人工智能的公司,我預見這將是一個問題。我認為,真正意義上的人甚至可以通過超越人類的通用版本而被某種“人權”法所涵蓋...即使如此,我考慮過的一種解決方案是在實驗室中發展能夠獲得幸福的AI。幫助特定的人或團體。畢竟,自由意志是一個觀點問題。我懷疑扮演上帝有一些好處。
@JonathanTodd:“完全可能”,只要您忽略以下事實:在現實世界中使用的真實係統將始終具有人為因素;而且,服務器配置和軟件也將不斷變化。我懷疑任何將服務器用於實際應用程序的人能否負擔得起所有更新,而這些更新始終在數學上證明是堅不可摧的。因此,除了不考慮現實世界和/或依靠“ AI”一詞消除任何問題的思想實驗之外,答案是“否”。
此證明還需要大量假設,例如硬件也正確,其中的所有組裝都是正確的,並且引導加載程序是正確的,並且包括一個假設,甚至包括以下語句:知道情況並非如此。”因此,它甚至沒有真正聲稱機密性證據實際上是完整的,只是它在某些路徑上適用。加上缺乏對供應鏈的控制,這實際上是不可能的(請參閱http://www.darpa.mil/program/vetting-commodity-it-software-and-firmware)
-1
沒有任何證據的@JohanthanTodd斷言。從本質上講,您的問題變成:“是否有可能構建可以抵禦服務器完整性攻擊的人工智能?”答案完全懸而未決。
是不是憑經驗直接暗示比絕對完美還要少?
@TeemuLeisti不,這很愚蠢。我並不是在假設AI具有超級能力,而只是具有處理維護(更新經過驗證的代碼模塊)的能力,因此可以被勒索的人員不屬於系統的一部分。如果系統經過驗證,為什麼還要轉移攻擊?
@ColorQuestor好的,也許我誤會了。但是,我仍然the之以鼻地感到,這種實現“防破壞”服務器基礎結構的方式更多地是一種思想實驗,而不是現實生活中可能會應用的某些東西,因為它總是很複雜且混亂。無論如何,我不願意討論。
@TeemuLeisti儘管對於大多數人來說這是不切實際的,但這絕對不是一個思想實驗。例如,軍事系統經常使用半正式驗證的INTEGRITY-127B微內核,而Microsoft的IIS具有正式驗證的HTTP實現(HTTP.sys)。EAL7評估的系統是另一個示例(完整性為EAL6)。
最後,對諸如服務器之類的複雜系統進行的所有形式驗證都是開發形式正式且競爭激烈的攻擊樹,以及對現在大大減少的有風險的代碼進行驗證。
Cort Ammon
2015-08-25 10:45:53 UTC
view on stackexchange narkive permalink

沒有人發現任何特殊的理由相信他們已經找到了這樣的系統。

您提到國際象棋,這是一個在8x8網格上不錯的遊戲。考慮到現代服務器要比這複雜得多。相反,讓我們在65536x65536的面板中播放,使其更加逼真。同樣,在國際象棋中,您玩的次數越多,可能的位置就越少。相反,一個更現實的系統就像Go。您玩的越多,位置就越糾纏在一起。我會注意到,圍棋遊戲使我們在國際象棋計算機上的工作顯得微不足道。

康威,大約在1970年左右,試圖打破圍棋的遊戲。他發現,董事會經常似乎會分成子遊戲,每個子遊戲都在自己的空間中進行遊戲以增加最終的贏家。他發現他們一起工作的方式非常複雜。結果,他發現了超現實的數字,這個數字方案實際上比我們在物理學中使用的實際數字更大。別開玩笑,實際上預測全球天氣要比分而治之在Go比賽中獲勝要容易。這裡可能有“勝利”的案例嗎?也許。祝你好運。唯一可以確定的方法是一次性解決整個65536x65536電路板的問題。

凱文·米特尼克(Kevin Mitnick)在他的其中一本書中評論道:唯一真正安全的計算機是與互聯網斷開連接,斷電,拔下電源並存儲在武裝警衛下的混凝土掩體中的計算機。即使這樣,我也會不時檢查一下。”

sk武裝警衛和定期檢查都是攻擊的潛在途徑。
Steffen Ullrich
2015-08-25 10:26:31 UTC
view on stackexchange narkive permalink

與國際象棋的比較很有趣,因為它表明了保護系統不是什麼。與國際象棋相比,IT安全中好人與壞人之間的比賽沒有固定的規則,您不知道對手是誰,並且可以在國際象棋棋盤之外受到攻擊。而且,如果對手輸了一個數字,那麼您就可以得到一個新的數字。

  • 保護您的系統的資源(時間,金錢,知識)有限。攻擊者的資源也很有限,但是如果您是一個有趣的目標,那麼就會有足夠的黑客感興趣,而這些黑客總共可能擁有比您更多的資源。這意味著關閉攻擊者可能用來進入的所有可能的方式(可能對您來說是未知的)。攻擊者只能找到一種方法並使用它。
  • 此外,可用性和安全性之間存在衝突。只需查看密碼的訪問控制,重置忘記的密碼的方法等即可。由於其在安全性和可用性之間進行了權衡,因此設計上並非100%安全。您可以將所有用戶轉移到更安全的方法上,例如兩因素授權,客戶端證書,智能卡等,但是這些方法對於用戶而言可能會帶來很大的不便,並且會失去客戶。而且它們也不是100%安全的,僅比密碼安全。
  • 安全性和性能之間也存在衝突。您越難分析所有傳入數據以檢測攻擊,速度就會越慢。儘管您可以投入更多的硬件解決問題,但它不會線性擴展,因此您必須在分析速度和深度之間找到平衡。
  • 您必須處理不安全的軟件。它可能是封閉源代碼,因此您無法查找和修復它,但是即使使用開放源代碼,您也沒有時間和經驗來發現任何意外或故意隱藏的錯誤或後門。即使您擁有所有的錢和最好的專家,您也有有限的時間進行評估和分析,但並不能與專家的數量成線性比例(即,如果您獲得1000名專家,這無濟於事)必須分析1000行代碼,因為這1000行不是彼此獨立的。)
  • 最後還有一些人可以保護您的基礎結構並可以訪問您的基礎結構。他們是人類,因此可以受到社會工程學的攻擊,賄賂,勒索...

總之:理論上,您可能擁有無限的資源(時間,金錢,知識,無限的快速硬件) )以保護系統,並且也只有具有此類專家的客戶,並且更喜歡安全而不是便捷的訪問方法-實際上,您並非如此。總會有一種進入的方式,因此您應該為此做好準備。不要相信您會獲得100%安全的基礎架構,而是創建一個不僅可以抵抗外部攻擊的強大基礎架構,而且可以在其中發現威脅並儘快從中恢復。可能會造成危害,但應予以限制。

PyRulez
2015-08-26 00:41:18 UTC
view on stackexchange narkive permalink

可能存在這樣的系統,但我們可能找不到它

我們有許多用於安全性的算法。其中一些可能是正確的。具體來說,其中一些可能難以突破。的確,我們知道有些根本無法打破的問題(一個時限)。問題是實現

安全性與誰更聰明無關。安全性是關於維權者的謹慎性攻擊者的智慧和創造力。如果防御者可以非常仔細地遵循算法,就不必精明。完美辯護完美的進攻會導致安全領域的防禦勝利者。

問題在於服務器通常是複雜的機器。您擁有操作系統和程序的鏡像,以及不同的協議和編程語言以及AHH。在這樣的環境中,要擁有完美的安全性幾乎是不可能的。

另一方面,如果系統足夠簡單,那麼人們很可能就能使其完美。例如,我有一條消息,$ M $,編碼為從1到6的數字。我現在擲骰子,它將是鍵$ K $,並將添加$ M $和$ K $模塊化$ 6 $ ,獲得密文$ C $。

密文為$ 5 $。消息是什麼?

這個例子是如此簡單,我可以合理地考慮所有可能性。另一方面,服務器非常複雜。

我們可以從中得到什麼建議。 保持簡單,愚蠢。(K.I.S.S。原則。)儘管製造完美服務器可能超出了我們的能力,但服務器和算法越簡單越好。記錄您的代碼,使其易於理解,使其簡單。每行代碼都有其原因。使用簡單的操作系統(注意:請勿將簡單性與易用性混淆。請考慮使用Arch Linux,而不是iOS。)僅保留最少的程序。選擇一種定義簡單,沒有古怪的規則之類的編程語言(我正在看您的javascript。)雖然這不能使它變得完美,但它將使您更加安全。 >

您的答案僅次於我的問題的正確答案,在這裡有許多答案都無法回答*基本可能性*(根據新接受的答案,該答案存在)。每個人都立即想到“變量太多,不可行,沒有像Chess這樣的東西”,但從根本上講,沒有人考慮過簡化系統以實現完美的安全性,這顯然被稱為“證明”系統,而這是我使用微內核完成的。現在就知道了,這要歸功於新選擇的答案。
OTP可能無法在現實世界中破解,但從理論上講,我可能會偶然發現偶然使用的護墊。我唯一的觀點是,對於這種理論問題,在現實世界中什麼是適用的和正確的並不成立。
@ChrisMurray我已經移動了骰子。
@JonathanTodd簡化不被稱為“證明”系統。簡化是證明系統幾乎必不可少的先決條件。簡化的系統本身會自動被證明。證明可能非常困難。
-1
@ChrisMurray OTP不會說您無法猜到它。這意味著您不知道它是否正確。確實,如果願意,您可以猜出所有六個數字,但是您會得到什麼呢? (我向您保證,骰子值沒有哈希值。)
-1
@ChrisMurray該消息是隨機擲骰子。
-1
Dennis Jaheruddin
2015-08-25 13:24:25 UTC
view on stackexchange narkive permalink

假設安全性就像國際象棋一樣

與這裡的大多數人不同,我實際上對國際象棋了解很多,對安全性的了解也足夠使之成為有用的答案。

如果您考慮象棋,您會發現:

可能性的數量如此之大,以至於沒有任何實際的策略可以明確地涵蓋所有可能性

因此,正如我們在實踐中看到的那樣,最強的參與者最有可能獲勝。但是即使如此,一個堅強的人/計算機玩家總是有機會輸給(弱於)一個較弱的人。

因此得出結論:

除非您知道正確的做法在任何可能的情況下,都不可能有完美的防禦力

國際象棋10 ^ 80件... :)
-1
國際象棋是一個有限的全信息遊戲。我們知道一個平衡存在,即使我們不知道如何計算它。
@DeerHunter是的,因此,如果我們認為信息安全性是無限的且信息不完整,那麼我的結論基本上就是“不可能”,而不是“幾乎不可能”。
國際象棋幾乎總是一個完全沒用的比喻。這是一個完美的信息遊戲。沒有真正的遊戲可以為所有演員提供完美的信息!
@Aron我一般都理解類比的局限性,但是對於這個特定的答案,它並不存在問題。它沒有特別提到,但是即使攻擊者沒有完美的信息(可以由他完全隨機地模仿,也無法模擬),也仍然沒有完美的防禦。
在國際象棋中,每個棋手都會做出動作,而對手會立即知道他們做出了什麼動作,並且他們能夠反擊。當對手能夠勝出時,遊戲結束。在InfoSec中,黑客可以在防御者知道之前採取許多行動。此外,防守者可能永遠不會知道他們在比賽,或者他們確實輸了,也不知道他們如何輸。
-1
我發現人們認為國際象棋的可能性甚至有些理智,這真可笑。關於國際象棋的狀態空間,您需要了解的所有信息:可能的位置數量被認為在10 ^ 43範圍內,如果已知的宇宙是100%的氫,則估計遊戲樹的複雜度為10 ^ 123。大約有10 ^ 80個原子。 Go更加複雜。我說InfoSec更容易解決;)
emory
2015-08-26 00:11:37 UTC
view on stackexchange narkive permalink

從根本上來說,完美的防守是可能的。

我在國際象棋上實際上是中等水平的,但是僵持世界上最偉大的球員對我來說微不足道,甚至可以僵持最快,最好的下象棋遊戲計算機。

我只是坐在我的手上,等待時間用完,而像棋大師無法贏得我的勝利。

類似地,堅不可摧的服務器永遠不會響應客戶端請求,即使是最聰明的黑客也無法擊敗它。

儘管它具有完美的安全性,但它完全沒有用。

請注意,該問題專門指出服務器必須與Web上的客戶端通信。在這裡,您不允許任何人移動的情況可能與您無關。---旁注:沒有人移動的情況不是僵局,只是一場持續的比賽。
@DennisJaherudd我在超時規則方面錯了-https://en.wikipedia.org/wiki/Draw_(chess)#Draws_in_timed_games。我以為你必須要死就贏(或者輸掉就死)。但是事實證明,如果您用光了時間,並且至少有一系列合法舉動會導致您的將軍,那麼您輸了,對手贏了。
Steve Sether
2015-08-26 02:32:05 UTC
view on stackexchange narkive permalink

信息安全從根本上不同於國際象棋。儘管國際象棋之間的差異可能會啟發人,但國際象棋是一個糟糕的模型,無法應用於信息安全。

國際象棋是一場完美的信息遊戲。雙方都確切地知道所有時刻都在哪裡。在信息安全中,許多信息都是隱藏的,一方可以通過擁有比另一方更多的信息來獲得優勢。 “最聰明”與此無關。

國際象棋是一種已知並設定所有規則的遊戲。在信息安全中,規則的存在充其量是可疑的。最好將“規則”視為環境,從而將其視為移動的目標。

國際象棋是一個零和遊戲。在信息安全中,每個人都可能輸,每個人都可以贏,沒有人可以贏,而輸贏就意味著什麼。

國際象棋是一個有兩個參與者的遊戲。信息安全具有多個動機不同的參與者(請參閱“非零和博弈”)。

國際象棋具有明確定義的贏與輸。勝利是完整的,損失是完整的。信息安全更加混亂,根本不是黑白的。該系統可能會受到部分損害,損失也會減少。

它解決了類比,但似乎並未回答實際問題。
@DennisJaheruddin有些問題不是好問題,回答這些問題涉及解決問題本身,而不是直接回答。例如,喬治·W·布什。大總統或最偉大的總統。這就是我所擁有的,選擇一個。
LawrenceC
2015-08-27 19:36:41 UTC
view on stackexchange narkive permalink

是的。空服務器基礎結構根本上是不可能破壞的。

沒有服務器=沒有要破壞的事物=根本上是不可能破壞的。

其他任何事情也基本上是可能破壞的。

現在找不到鏈接,但是一些著名專家說,計算機可以通過以下方式實現完美的安全性:“不打開,​​不使用,不存儲任何東西”。我想大概總結一下,是嗎?
Thom Smith
2015-08-26 02:15:37 UTC
view on stackexchange narkive permalink

很顯然,沒有完美的技術解決方案來防止人為錯誤或防止攻擊者賄賂您的sysadmin。但是,如果我們僅從確定性的角度來看技術,那麼答案(肯定)是。

您可以將網絡連接的系統視為功能。您有一些要計算的函數,其中輸入是系統狀態,位通過線路輸入,輸出是新的系統狀態,位通過線路發送。如果該函數是可計算的,則有一個系統實現將完全做到這一點。

問題是,通常無法確定給定係統是否完美地計算了函數,並且無法確定在系統行為複雜時進行練習。因此,一個系統真正難以滲透的人(同樣,從這種有限的技術角度來看)永遠無法確定這一點。相反,幾乎完全確定非常複雜系統的安全性的人幾乎肯定會持有該信念。

Michael K.
2015-08-27 16:34:07 UTC
view on stackexchange narkive permalink

這背後的真正問題是:您願意花費多少資源來破壞防禦?甚至可以認為完全安全的最低安全級別是多少?無法訪問,怎麼回事? Accessig是否有任何隨機數據?還是僅訪問可用於獲利的數據被視為違規?

以國際象棋為例:在將來的某個時候,我們建造一台容納所有信息的計算機所有可能的國際象棋遊戲的位置。與自身相抵觸可能會導致100%的平局/僵局。有了“有限”的可能動作集,這就是完美防禦的有效假設。

現實有太多選擇可以繞開規則和可能的情況。也許您不想竊取數據,也許只是希望所有備份不再存在。因此,您轟炸了服務器設施-對無功能的碎片感到滿意。

在現實生活中,入侵檢測系統,冷存儲(非網絡存儲系統),激進帳戶&密碼管理流程,防禦性應用程序設計和使用行為分析等解決方案可能會增加成本要將這些系統入侵到如此高的水平,甚至只有非常有錢的人才能考慮攻擊它。

您將需要像“詹姆斯·邦德”一樣的能力和訓練有素的戰術技能集才能實現目標。對於黑客社區的很大一部分而言,這將被視為“近乎”的完美防禦。

新聞中被黑客入侵最多的網站甚至都不知道誰在他們的“數字草坪”上。許多黑客在系統中花費了數週或數月的時間,卻未被發現。他們根本不認為要花費數百萬美元用於最低限度的防禦,因為這不是法律所要求的,而且訴訟可能比開始“黑客防禦”國際象棋的遊戲更便宜。

有人在回答中提到,事實證明存在可靠的系統。可以開發具有完美防禦功能的微內核。通過更多的努力,可以為該微內核開發一種經過驗證的語言,從而開發出一種經過驗證的服務器,其任務是說,允許總統(但沒有人)可以在任何給定的時刻遠程訪問核發射代碼而不攜帶它們。此外,將來使用昂貴的操作可以通過使用人工智能來消除人為錯誤元素,而無需外部訪問即可開發和維護系統。
@Michael K.實際上...即使有非常大的計算機(銀河大小的!)和非常密集的內存(每個原子大約1位?好,十位!),您仍然無法列舉所有可能的國際象棋遊戲。參見https://en.wikipedia.org/wiki/Shannon_number。
Francis from ResponseBase
2015-08-28 04:36:13 UTC
view on stackexchange narkive permalink

事實證明,設計一種系統來將最聰明的人拒之門外,這比設計一種將無名,無恥,有創造力和執著的人拒之門外要容易得多。

聰明的人沿著可預測的努力和探索途徑以可識別的模式前進,並依靠一系列可悲的可預測和相似的假設。一個天才似乎總是假設,當利用加法函數時,2和2總是4,而不是22或2 &2。

對經驗,理性系統的最大威脅-在人類中術語-被證明是擁有低於智商水平的智商的對手,傾向於是特立獨行者或隨心所欲地跳舞,而不是遵循畜群的社會規範,稀缺從來都不被認為是聰明的一個在社會團體中。身體適應得當,對自己的皮膚和自己的狀態感到舒適,並且在任何地方都沒有擔任領頭羊的身份,因此,這個人不會受到可能影響他們的瑣碎個人競爭的影響,也不會參與其中。自我驅動,自我發動,受到內部內在現實的啟發和驅動,此人將某種自發性火花和真正的,非理性的創造力與堅定不移的毅力和內在,磨練,自律的意誌或意志結合在一起。

他們不需要您的社交驗證,因此大量的社交工程漏洞被證明是無用的。他們通常不會在人群中被忽視,因為他們既不關心也不競爭任何人的注意力,除非他們自己認為有趣或值得他們付出努力和專心的人。

我親眼目睹了機會像我這樣描述一個人的生活,他會蔑視,違反並使最聰明的天才的設計和實現規範無效。

同樣,我寧願設計一個針對最聰明的人的系統,也不願像我描述的那樣針對一個人。

這種人就是我所說的“新人”。
KeithS
2015-08-28 23:49:31 UTC
view on stackexchange narkive permalink

如果有合法途徑,那就是非法途徑。

唯一根本不可能破壞的服務器就是根本無法訪問的服務器。在網絡安全中,這稱為“氣隙”。服務器或子網在物理上與任何其他網絡(包括外界)斷開連接。結合此氣密網絡組件的物理安全性(可防止未經授權的人員伸出並物理觸摸連接到該網絡的任何計算硬件),該網絡上的計算機不會受到黑客的攻擊。

...有點。同樣,如果有合法的出路,那就有非法的出路。物理安全最終是人類的工作,因此最終是容易犯錯的。社會工程可以用來繞過面對面的安全協議,方法是欺騙“守門員”讓未經授權的人進入,或者通過欺騙授權的人做一些他們不應該代表未經授權的人做的事情。所涉及的人員受過更好的遵循物理安全協議的培訓,這越不可能發生,但是總是有不零的機會繞過物理安全直至暴力,包括蠻力(諸如“零黑三十襲擊”,從理論上講,它可以對地球上的任何公司總部實施,儘管絲毫也不微妙;但這只是讓合適的人配備合適的設備來完成工作的問題。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...