← 所有文章

工程哲學:Joanna Rutkowska

Joanna Rutkowska,資安研究者,Qubes OS的創造者

重點摘要

  • 她打造的桌面作業系統,從一開始就假設自己會被攻破。 Joanna Rutkowska是波蘭資安研究者,創造了Qubes OS——「一套合理安全的作業系統」——其核心原則是以區隔達成安全(security by compartmentalization)。Qubes不試圖讓系統毫無漏洞,而是把您的數位生活拆分成一個個彼此隔離的虛擬機器,稱為「qubes」(工作、個人、銀行、不受信任),讓某一處的入侵被困住,無法擴散到其他區域。12
  • 她的攻擊者名聲在先——她攻破系統,是為了學會如何隔離它們。 在2006年的Black Hat大會上,她展示了Blue Pill,一個概念驗證型的rootkit,利用AMD硬體虛擬化,把一層輕薄的惡意hypervisor塞進正在運行的作業系統底下,把它困在一個自己看不見的虛擬機器裡。攻擊平台最深的那幾層,正是這段經歷教會她哪些層絕對不能信任。3
  • 她把「不信任基礎設施」化為架構。 在一場名為「Security Through Distrusting」的主題演講中,Rutkowska主張:業界習慣把元件標記為「受信任」,這種做法既天真又無法擴展——更好的方式是把任何單一元件都當成可能已遭攻破,對它們幾乎一律不信任,並確保系統沒有單一故障點5Qubes就是把這套主張編譯成一個能實際運作的桌面系統。2
  • 眾人盲目信任的那些平台層,她偏要去探它們的底。 除了Blue Pill,她在攻擊System Management Mode和Intel Trusted Execution Technology方面都做過開創性的研究,並在2009年提出了「Evil Maid」(惡女僕)攻擊,藉由短暫的實體接觸即可破解TrueCrypt這類全磁碟加密。每一次攻擊,都標出了一條原來只是謊言的信任邊界。14

核心原則

「所有軟體都有漏洞……與其試圖防堵每一種可能的入侵,Qubes假設入侵終將發生,並把重心放在控制災害範圍上。」——Qubes OS導論,轉述其立基的根本理念2

大多數資安工程都在追逐一個不可能的目標。您稽核程式碼、修補漏洞、強化設定,然後告訴自己:只要夠謹慎,系統就會安全。Rutkowska的職業生涯,是一場漫長而耐心的示範,證明這個目標只是海市蜃樓。一台現代桌機跑著數千萬行程式碼——核心、驅動程式、瀏覽器、PDF閱讀器、韌體——而每一行都是漏洞可能藏身之處。您不可能把它們全部找出來,而攻擊者只需要一個。所以誠實的問題不是「我要怎麼讓它毫無漏洞?」,而是「當——而非如果——有東西闖進來時,它能碰到多少?」2

Rutkowska給出的答案是以隔離達成安全。既然無法防止攻破,那就事先決定它能蔓延多遠。Qubes把機器拆成數個獨立的虛擬機器——一個用於工作、一個用於銀行、一個用於個人瀏覽、一個用於開啟來路不明的附件——每一個都跑在Xen hypervisor上,各有各的邊界。在不受信任的qube裡點開惡意連結,惡意程式就落進一間密閉的房間。它從未與您的銀行qube共享任何信任邊界,因此碰不到您的憑證,而您只需把這個被攻破的qube直接丟掉。12實體世界本來就是這樣運作的:您不會在同一間未隔間的房間裡投票、睡覺、又存放現金,而Qubes要問的是:為什麼您的電腦卻是如此?2

這條原則還有後半段,而且更難:不信任基礎設施,並縮減您被迫去信任的範圍。 在她的「Security Through Distrusting」演講中,Rutkowska主張,把一個元件稱為「受信任」並不是讚美——而是承認這個元件一旦失守,「就有能力摧毀我整體的安全完整性」。5因此這門紀律,就是把幾乎每一個元件都當成可能已遭攻破,移除單一故障點,並把可信運算基底(trusted computing base)——也就是其餘一切的正確性所仰賴的那些程式碼——縮到您力所能及的最小。52到頭來,您終究會信任某樣東西。手藝的所在,就是讓那樣東西變得微小、可檢視、且為數極少。

背景脈絡

Joanna Rutkowska於1981年生於波蘭華沙,在華沙理工大學(Warsaw University of Technology)取得資訊科學碩士學位。1她並非以防禦者的身分出道,而是一名攻擊型研究者,而且赫赫有名——2000年代中期,她正在探查x86平台最底層、最受信任的那幾層,那些防禦型資安通常視為堅實地基的部分。

讓她一鳴驚人的是Blue Pill,於2006年8月3日的Black Hat Briefings上展示,同場還有她展示如何破解Windows Vista核心保護機制的研究。eWeek把她列為「為2006年留下印記的五位駭客」之一。132007年4月,她在華沙創立了Invisible Things Lab,這家顧問暨研究公司成了她平台安全研究的大本營。1接下來幾年,她與合作者——其中包括Alexander Tereshkin和Rafal Wojtczuk——發表了針對Xen hypervisor、針對Intel Trusted Execution Technology、以及針對System Management Mode的攻擊;後者是位於作業系統核心之下、權限極深的「ring -2」執行模式。12009年,她提出了Evil Maid攻擊,一種利用實體接觸、破壞筆電開機流程以竊取TrueCrypt等全磁碟加密通關密語的手法。4

接著,她做了攻擊型研究者鮮少會做的事:她親手打造了防禦。Qubes OS的開發約莫在2010年與Wojtczuk一同展開,而Qubes 1.0於2012年9月3日發布,建立在以區隔達成安全的原則之上。1她領導這個專案多年,這套做法贏得了從Edward Snowden到密碼學家Daniel J. Bernstein等各路人物的公開背書。2往後幾年,她轉向隱私與去中心化的研究;她最近期專案的具體內容,最好直接從她自己當前的管道閱讀,而非二手轉述,本文僅謹守確鑿在案的部分。1

她的成就

Qubes OS:以區隔達成安全

就從這裡開始,因為Qubes是把原則化為可以真正運行之物的成果。它的設計從讓步開始,承認了大多數資安工具假裝正在打贏的那場戰爭:所有軟體都有漏洞,而其中有些漏洞可被利用。2Qubes不試圖當那個無懈可擊的系統,而是試圖當那個就算被攻破也無傷大雅的系統。

其機制是Xen hypervisor。底層坐鎮著一層輕薄的hypervisor,以及一個稱為dom0的特殊管理網域,它掌控顯示與硬體,但被刻意隔絕於網路之外。在它之上運行的,是您的qubes——輕量級虛擬機器,每一個都依用途與信任等級劃定範圍。12您或許會保留一個「工作」qube、一個「銀行」qube、一個「個人」qube,以及一個用來開啟任何陌生人寄來之物的「不受信任」qube。每個qube的視窗都帶有一道無法偽造的彩色邊框,因此您一眼就能看出某個視窗屬於哪個安全網域。2關鍵在於,這些qube透過範本(template)系統共享根檔案系統,因此它們保持輕量、可一併更新,而各自的私有資料則維持隔離。2至於風險最高的工作,則有拋棄式qube——這些虛擬機器啟動起來只為開啟一份PDF或一個連結,然後便自我銷毀,把任何感染一併帶走。2

它作為工程之所以重要:Qubes把安全的單位從「機器」重新定義為「網域」。在一般的桌機上,您執行的每一個應用程式都共享同一片信任的位址空間——您的瀏覽器、您的報稅軟體、以及那份您本不該開啟的附件,彼此之間只隔著一個惡意漏洞的距離。Qubes讓網域之間的邊界成為一道由硬體強制執行的牆,而非一個一廂情願的慣例。代價是實實在在的——更多記憶體、更多摩擦、以及判斷某項工作該歸屬哪個qube的紀律——而Rutkowska坦言,以不信任達成的安全「並非萬靈丹」,因為它得拿易用性去交換。5但回報是,最壞的情況不再是災難性的。攻破不再是「他們掌控了我的電腦」,而是「他們掌控了一間拋棄式的房間,而我正要把它刪掉」。

攻破平台:Blue Pill、SMM與Evil Maid

在您確切知道哪些邊界是假的之前,您無法設計出良好的隔離邊界,而Rutkowska是靠著攻擊它們學到這件事的。Blue Pill,她2006年的Black Hat展示,是其中最清晰的案例。那是一個概念驗證型的rootkit,利用AMD的硬體虛擬化(AMD-V)做了一件大膽的事:在一台正在運行的機器上啟動一層輕薄的hypervisor,並即時把運行中的作業系統遷移進它底下的一個虛擬機器。3從那個虛擬機器內部看出去,作業系統會看見一個正常的世界——但它底下的hypervisor能攔截「硬體中斷、資料請求、甚至系統時間」,把它喜歡的任何答案餵給被困住的作業系統。3

值得精確地說清楚Blue Pill是什麼、又不是什麼。它是一個概念驗證,並非野外發現的惡意程式,而它最大膽的主張——這樣一個hypervisor rootkit可以做到「100%無法偵測」——是有爭議的,其他研究者就提出了以時序為基礎的偵測方法。3但那個有爭議的標題並不是這裡的教訓。教訓在於它所揭露的攻擊面:那個烙印在每一套作業系統裡的假設——它所運行於其上的那一層是良性的。Blue Pill證明了虛擬化能把權限最高的那一層變成攻擊者的地盤——而凡是您信任「在您之下」的東西,正是您從「上方」無法驗證的東西。

同樣的直覺驅動了她其餘的攻擊型研究。她與合作者攻擊了System Management Mode,那個運行於核心之下、晦澀而權限超高的韌體模式,也攻擊了Intel Trusted Execution Technology,一項其全部目的就在於建立信任的功能。1而在2009年,她提出了Evil Maid攻擊:把一台加密的筆電留在旅館房間裡無人看管,一個有短暫實體接觸機會的「女僕」,就能竄改未加密的開機載入器,讓它在您下次輸入時擷取您的通關密語。4TrueCrypt這類全磁碟加密之所以脆弱,是因為開機程式碼無法向使用者證明自己的身分——您無從得知那個向您索要通關密語的載入器是否仍是您的。4這些攻擊每一個,都是一張關於某條沒守住的信任邊界的地圖。後來打造Qubes的這位防禦架構師,早已從內部知道哪些牆是承重的、哪些只是畫上去的。

Joanna Rutkowska正在發表平台安全研究

不信任基礎設施:縮減可信運算基底

Qubes不只是「把一切都跑在虛擬機器裡」。更深一層的設計原則,是縮減並不信任可信運算基底——也就是整個系統的安全所仰賴其正確性的那組元件。Rutkowska的演講「Security Through Distrusting」直白地道出這套哲學:那股把元件做成「受信任」的傳統衝動「過於天真、且無法擴展」,因為在資安裡,「受信任」真正的意思是某元件一旦出錯,「就有能力摧毀我整體的安全完整性」。5正確的回應,是假設任何單一元件都可能已遭攻破,對它們幾乎一律不信任,並把設計做到沒有單一故障點5

您可以在Qubes的具體選擇裡看見這條原則。管理網域dom0被刻意拒絕網路存取,因為一個能從網路被觸及的dom0,會成為一個一旦被攻破就掌控整台機器的單點。2網路功能與USB本身則被推進它們各自的隔離qube,好讓網路卡驅動程式裡的漏洞、或一個惡意USB裝置,落進一個沙箱,而非落進那個眾物所信任的核心。2跨網域傳遞的檔案則以防禦的姿態處理——這正是Rutkowska用在Qubes如何處理影像與PDF上的那套「把它當成可能已被攻破」的邏輯。5而拋棄式qube最直接地體現了這份不信任:與其信任一個PDF閱讀器不會被入侵,您不如假設它終將被入侵,把它跑在一個您正要銷毀的虛擬機器裡,讓爆炸發生在一間空房間中。2

貫穿其中的主線,是對自己程式碼的謙卑。一個信任某個龐大、複雜元件的系統,是在下一個龐大、複雜的賭注。Rutkowska的架構致力於把賭注做小——把可信運算基底縮減到一層輕薄的hypervisor和一個與網路隔離的dom0,並把那之上的幾乎一切都當成可拋棄、可替換、且預設懷有敵意。25

Joanna Rutkowska在LinuxCon Europe發表Qubes OS

從桌面到去中心化

Rutkowska領導Qubes多年,接著轉向了這套作業系統只能部分解決的更大問題:即便是一個完美區隔的桌面,仍然信任它周圍的基礎設施——雲端儲存、網路、以及保管您資料的那些服務。15她後來的研究轉向了隱私與去中心化,把同一份不信任由單台機器向外延伸到它所交談的那些系統。那些專案確切的形貌與狀態,最好取自她自己當前的著作,而非在此轉述;能乾淨俐落地承續下來的,是那條原則,而非那項產品。直覺始終如一:假設基礎設施已遭攻破,並把架構設計成讓這個假設付出的代價儘可能小。5

方法論

把Qubes、Blue Pill、那些SMM與TXT攻擊、以及「Security Through Distrusting」一併讀過,同樣的幾項信念反覆出現。Rutkowska的方法與其說是一句口號,不如說是一組長存不變的習慣。

假設會被攻破;針對災害範圍來設計。 立基的這一步,是承認防堵終將失敗,並轉而追問一次入侵會蔓延多遠。2放大到規模上,這是Werner Vogels為可靠性所做之事的資安孿生版——萬物無時無刻不在故障,所以要控制災害範圍,而非假裝您能避開故障。這個教訓遠遠超出Qubes的適用範圍:不要為「什麼都進不來」的情況做架構;要把架構做到當有東西真的進來時,它被困在一間小小的、拋棄式的牢房裡。這是證據門檻套用在資安上——「目前還沒有人闖進來」並非證據;「這裡的一次攻破碰不到那裡」才是。

不信任基礎設施,並證明那條邊界。 把每一個元件都當成可能已被攻破,並拒絕預設地授予信任。5這是Thompson的〈Reflections on Trusting Trust〉化為桌面架構:您無法信任您未曾檢視之物,所以別再信任那些您看不見的層,而是把它們隔離起來。這門紀律,是對每一個元件追問:「如果這個被攻破了,它掌控了什麼?」——並一再重劃邊界,直到答案變成「幾乎什麼都掌控不到」。

在別人動手之前,自己先攻破它。 Rutkowska的防禦,建立在十年的攻擊之上——Blue Pill、SMM、Evil Maid——因為您無法隔離一條自己尚未先證明是假的邊界。34這正是Adi Shamir帶進密碼學的那份直覺:以攻擊來防禦,只信任那些挺過一場認真破解嘗試的東西。長存的習慣,是先戴上攻擊者的帽子,把您那些信任假設裡哪些是謊言都標記出來,並在謊言所在之處築起牆。

縮減可信運算基底。 您的安全所仰賴的程式碼行數越少,您下的賭注就越小。25一層輕薄的hypervisor和一個與網路隔離的dom0,是一個可檢視的賭注;一個把每個驅動程式與服務都納入信任邊界之內的單體式核心,則是一個盲目的賭注。這是最小值得做的產品套用在信任上:最乾淨的可信基底,是那個仍能完成其單一職責的最小者。把信任剝減到非信不可的部分,並把其餘的都假定為懷有敵意。

對取捨保持誠實。 Rutkowska並不誇大其詞——她直白地說,以不信任達成的安全「並非萬靈丹」,並得拿易用性與便利性去換。5這份習慣,是把您所買到的那份安全的代價說出來,而非把它藏起來,好讓下一位工程師能加以權衡。那份坦率,是品質是唯一的變數套用在資安上:一份連同代價一併陳述的真實保證,遠比一句悄悄站不住腳的舒適承諾更有價值。一條您理解過、選擇過的邊界,勝過一條您假設過、繼承來的邊界。

影響鏈

形塑她的人

2000年代中期的攻擊型研究社群。 Rutkowska是在Black Hat與底層系統駭客那種攻擊平台的文化裡崛起的,在那裡,工作就是找出那個沒人質疑的假設並把它攻破。3那種文化的核心反射——不信任眾人所信任的那一層——成了她防禦型研究的脊梁。(奠基性影響)

硬體虛擬化的浪潮。 Blue Pill之所以可能,全因為AMD-V與Intel VT-x剛把硬體虛擬化推向主流。3她在2006年當作武器用的同一項技術,後來成了她在Qubes裡建立隔離所依憑的根基——在那裡,Xen把hypervisor從攻擊者的工具,變成了防禦者的牆。12(直接影響)

Xen與hypervisor安全的傳承。 她分析、攻擊Xen的那些年,教會了她hypervisor隔離究竟有多強——又有多脆弱,這份知識形塑了Qubes把dom0隔絕於網路之外、並把驅動程式推進隔離網域的決定。12(奠基性影響)

她形塑的人

注重隱私的運算。 Qubes成了記者、行動人士與資安研究者所推薦的桌面系統,這些人不得不假設自己會遭到針對性的攻破——它是一件給那些威脅模型是一個國家、而非一句口號的人使用的真實工具。2

區隔的思維方式。 「以隔離達成安全」與「縮減可信運算基底」遠遠傳播到Qubes之外,影響了整個業界如何去推想沙箱化、容器隔離、以及逐應用程式虛擬化。25

先攻破的防禦者。 Rutkowska是一個長存的範例,說明最強的防禦架構師往往出身攻擊者——透過攻破來繪製出真正的信任邊界,是正確地把它們畫出來的先決條件。34

貫穿的主線

Rutkowska是本系列的隔離基石——這位人物面對「系統終將被攻破」時,回應的不是絕望,而是架構。34Adi Shamir在密碼學裡以攻擊來防禦,只信任那些挺過一場真正破解嘗試的東西;Rutkowska則把同一個循環往下跑了一層,攻破hypervisor與開機鏈,好讓她能打造一個就算它們被攻破也能存活的桌面。Thompson與Ritchie給了我們那句警告:您無法信任不是您親手打造、親自檢視之物;Rutkowska的「不信任基礎設施」,就是把那句警告化為一套運行中的作業系統,在那裡,不受信任的層被隔離起來,而非寄望於它。5而當Werner Vogels為可靠性說萬物無時無刻不在故障,所以要控制災害範圍時,Rutkowska為資安說了同一句話:Radia Perlman設計網路時,把懷有敵意、且正在故障的情況當成設計的中心,而Rutkowska則用同樣的方式設計機器。當Vogels控制一顆故障的磁碟、而Perlman控制一條故障的鏈路時,Rutkowska說的是:攻擊者已經在裡面了——所以隔離每一個網域,不信任每一層,並把那次攻破變成一間您可以丟掉的拋棄式房間。(系列銜接)

我從中學到的

我從Rutkowska身上一直記著的教訓,是要針對攻破來設計,而非對抗攻破。我的直覺,和大多數建造者一樣,是去強化那樣東西——驗證輸入、修補相依套件、鎖緊設定——並把資安當成一道我試圖築得夠高的牆。「所有軟體都有漏洞」是當頭一棒:那道牆終將被攻破,因為總還有一個漏洞,而真正要緊的問題,是攻擊者翻過去之後能碰到什麼。所以如今當我建造某樣東西時——一條身分驗證邊界、一個運行不受信任輸入的服務、一項牽涉到金錢的功能——我會試著在問「我要怎麼把它擋在外面?」之前,先問「當這個被攻破時,災害範圍有多大?」。安全的誠實版本不是「我看不出這要怎麼壞掉」,而是「當它壞掉時,損害被困在一間我能刪掉的房間裡」。

第二個教訓,是對我被迫去信任之物保持合理的偏執。把一個元件當成「受信任」放它過關、然後就此略過,是很容易的,但Rutkowska為我重新定義了那個詞:把某樣東西稱為受信任,就是承認它一旦失守便能摧毀一切。那改變了我畫邊界的方式。我引入的每一個函式庫、我依賴的每一項服務、我運行於其上的每一層,都是一個賭它正確的賭注——而賭注的大小,就是我可信運算基底的大小。所以我會試著讓那個基底保持微小而可檢視,把高風險與複雜的部分推進我預設懷有敵意的沙箱裡,並像她那樣誠實地承認,這份隔離讓我付出了便利的代價。這份偏執並非悲觀,而是一門紀律——確切地知道我正在信任什麼,並把那份清單列得儘可能短。

常見問題

什麼是Qubes OS?

Qubes OS是一套免費、開源、以安全為導向的桌面作業系統,由Joanna Rutkowska創造,專案本身將它描述為「一套合理安全的作業系統」。2它使用Xen hypervisor,把您的運算拆進稱為qubes的隔離虛擬機器——為工作、銀行、個人瀏覽、開啟不受信任檔案等活動劃出各自獨立的隔間。由於這些qube彼此隔離,某一個被攻破無法波及其他,因此任何單一次攻破所造成的損害都被控制住。它還支援使用後即自我銷毀的拋棄式qube,並給每一個網域一道無法偽造的彩色視窗邊框,讓您看得出某個視窗屬於哪個隔間。12

什麼是以隔離(區隔)達成安全?

以隔離達成安全,或稱區隔,是Qubes核心的那條原則:與其試圖讓軟體毫無漏洞,您不如假設攻破終將發生,並藉由把系統劃分成隔離的網域來控制損害2Qubes導論把它類比於實體生活——您本來就會把活動分隔進不同的房間——並把它套用到一台原本會讓一切共享同一條信任邊界的電腦上。2互補的另一半是「不信任基礎設施」:把每一個元件都當成可能已遭攻破,移除單一故障點,並把可信運算基底保持得儘可能小。5

Blue Pill是什麼?

Blue Pill是Joanna Rutkowska於2006年8月3日在Black Hat上展示的一個概念驗證型rootkit。它利用AMD硬體虛擬化(AMD-V),在一台運行中的機器上啟動一層輕薄的惡意hypervisor,並把運行中的作業系統遷移進它底下的一個虛擬機器,使得那個hypervisor能攔截並偽造作業系統對硬體、中斷、甚至系統時間的認知。3Rutkowska主張這樣一個rootkit可以做到「100%無法偵測」,這個主張遭到了爭議,其他研究者提出了以時序為基礎的偵測方法。它是對一個攻擊面——亦即您作業系統底下的那一層是良性的這個假設——所做的研究展示,而非野外發現的惡意程式。3

Evil Maid攻擊是什麼?

Evil Maid(惡女僕)攻擊是Joanna Rutkowska在2009年一篇部落格文章中命名的一種實體接觸手法。如果攻擊者取得對一台無人看管、已加密筆電的短暫無人監督接觸機會——比方說在旅館房間裡——他們就能竄改未加密的開機程式碼,讓它在使用者下次輸入時,偷偷擷取全磁碟加密的通關密語。4TrueCrypt這類全磁碟加密系統之所以脆弱,是因為開機載入器無法向使用者證明自己的身分,於是受害者無從分辨被攻破的載入器與正當的載入器。4它生動地證明了:對於一台對手能實際碰到的機器,光靠加密並不能保護它。


資料來源


  1. “Joanna Rutkowska,” Wikipedia. Polish security researcher, born 1981 in Warsaw, Poland; master’s degree in computer science from the Warsaw University of Technology. Presented attacks on Windows Vista kernel protection and the Blue Pill technique at Black Hat 2006, using hardware virtualization; named one of eWeek’s “Five Hackers who Put a Mark on 2006.” Founded Invisible Things Lab in Warsaw in April 2007. With collaborators (Alexander Tereshkin, Rafal Wojtczuk) published research attacking the Xen hypervisor, Intel Trusted Execution Technology, and System Management Mode. Coined the “Evil Maid” attack in 2009. Began Qubes OS development with Wojtczuk around 2010; Qubes 1.0 released 3 September 2012, built on the principle of “security by compartmentalization” using isolated lightweight virtual machines called “qubes.” Later moved toward privacy and decentralization work. 

  2. “Introduction,” Qubes OS documentation (qubes-os.org), and “Qubes OS,” Wikipedia. Qubes OS is a free, open-source, security-oriented operating system for single-user desktop computing, with the project tagline “A Reasonably Secure Operating System.” It implements “Security by Isolation”/”security by compartmentalization,” operating on the premise that “all software contains bugs” and that perfect, bug-free software is impossible – so rather than attempting to prevent every exploit, Qubes assumes exploitation will happen and focuses on containing the damage by keeping valuable data separate from risky activities. Uses the Xen hypervisor to isolate applications into virtual machines (“qubes”), each with a purpose, nature (Fedora/Debian/Windows template), and trust level; an administrative domain (dom0) manages hardware/display and is kept off the network; networking and USB are pushed into isolated qubes. Features include disposable qubes that self-destruct when shut down, a shared-template system for app qubes, split GPG, and unforgeable colored window borders identifying each security domain. Created by Joanna Rutkowska (initial release 3 September 2012); the approach has been publicly endorsed by figures including Edward Snowden and Daniel J. Bernstein. 

  3. “Blue Pill (software),” Wikipedia. Blue Pill is a proof-of-concept rootkit, designed by Joanna Rutkowska and first demonstrated at the Black Hat Briefings on 3 August 2006, that uses x86 hardware virtualization (originally AMD-V/SVM, later ported to Intel VT-x). It works by “trapping a running instance of the operating system by starting a thin hypervisor and virtualizing the rest of the machine under it,” after which “hardware interrupts, requests for data and even the system time could be intercepted (and a fake response sent) by the hypervisor.” Rutkowska claimed it could achieve “100% undetectability,” a claim that was disputed – AMD dismissed it and other researchers proposed timing-based detection methods. It was a proof of concept and research demonstration, not malware found in the wild. 

  4. “Evil maid attack,” Wikipedia. An evil maid attack targets an unattended device through physical access, compromising it in an undetectable way so the attacker can later access its data. The term was introduced by security analyst Joanna Rutkowska in a 2009 blog post, describing a method for compromising the boot process/firmware of an unattended computer (e.g., via an external USB flash drive) to circumvent full-disk encryption such as TrueCrypt. Such systems are vulnerable because they “are susceptible to evil maid attacks due to their inability to authenticate themselves to the user” – an attacker can modify the encryption loader code to capture the passphrase. The attack requires the victim to leave the device unattended once (to plant the compromise) and again afterward (to retrieve the captured data). 

  5. Iain Thomson, “Security industry needs to be less trusting to get more secure,” The Register, 7 December 2017, reporting on Joanna Rutkowska’s keynote “Security Through Distrusting.” Rutkowska, chief executive of Invisible Things Lab, argued that the conventional security-industry focus on making systems “trusted” is “overly naive and non-scalable to more complex systems,” because in computer security “trusted” means a piece of code “is capable of destroying my whole security integrity.” Her alternative is to treat any single component in a system as potentially compromised – distrusting nearly all components and actors and having no single point of failure – a principle she applied in Qubes to how it handles image and PDF files. She acknowledged that “security through distrust is no panacea because it involves trade-offs, particularly in usability and convenience.” 

相關文章

工程哲學:Adi Shamir

Adi Shamir 是 RSA 中的「S」,也是頂尖的密碼分析家——他打造安全系統的方式,是同時學會破解它們。以攻為守,把純粹的數論化為實用的機制。

5 分鐘閱讀

工程哲學:Yann LeCun

深度學習先驅、圖靈獎得主 Yann LeCun 共同發明了卷積神經網路,如今押注於世界模型——一條通往能像人一樣學習的機器、超越當今大型語言模型的路徑。

3 分鐘閱讀

The Shader Gallery That Lied: Debugging 216 WebGL Presets

A user said the shader playground looked broken. Pixel-readback testing found 30 dead presets, 11 that never compiled, a…

11 分鐘閱讀