安全性監控密碼與信用卡 - 第三篇

Jesper M. Johansson

目錄

不一致的安全性訊息
全都是勾選符號在作怪
召集令

在前幾期的《TechNet Magazine》中,我討論到安全性專家與 IT 產業常會混淆消費者,而且實際上阻礙了有效的安全性運作。在本系列專欄的前兩期中,我所討論的問題主要是一些解決方案會提供誤導資訊,使登入工作流程超載,

還有教導錯誤的行為等等。到目前為止,我已經提供很多不同的範例來說明 IT 產業表面上很熱中提倡消費者安全性,但實際上反而使得情況無謂地惡化。在這第三篇也是最後一篇專欄中,我將說明某些供消費者使用的重大技術,如何違背消費者對這些解決方案的期望。接著我會提出我的召集令作為總結。

超載的更新技術

在電子世界中保障安全性的主要原則之一 — 事實上也是不可動搖的必要條件,就是確保所有軟體都處於最新狀態。幾乎今日所有軟體提供者都提供某種形式的半自動化機制,以保持至少一部份軟體處於最新狀態。不過事情並非這麼簡單。

首先,您使用的軟體越多,需要更新的軟體也越多。而您從越多廠商取得軟體,所要應付的更新機制就越多樣化。這是造成混淆的因素。

比方說,如果您不更動預設值,Internet Explorer® 會自我更新。但 Internet Explorer 其實只是其他技術的容器。在 2008 年的 CanSecWest 大會上,Shane Macaulay 結合 Java 與 Adobe Flash 的安全性弱點來入侵 Mac,藉此示範這麼做可能產生的衝擊 (詳細的資料不太齊全,因為我在撰寫本專欄的同時,這些安全性缺陷尚未公開)。然而,我的重點在於,雖然這些技術都不屬於內建元件,但由於網際網路上的廣泛應用,因此在大部分的電腦中都可以找到這兩種技術。這些技術更新不易 — 它們都包含自動更新機制,不過這些機制啟動的頻率卻很低。

再說,大多數的使用者根本不曉得這些技術存在,更不知道它們也需要更新。通常這些技術是從電腦上的 OEM 映像提供,而消費者往往無法分辨它與作業系統有什麼不同。對使用者而言,只要 Windows® Update 說沒有更新檔,那就表示沒有更新檔。

第二個問題是更新機制常常過度複雜。缺乏全面自動化模式的更新機制不太可能被廣泛使用,因為一般使用者都不知道要執行更新工具。此外,在大部分的情況下,使用者必須是系統管理員才能安裝更新。最糟糕的情況就是,使用者必須是系統管理員,才能收到可用更新的通知。

最後,有越來越多的廠商開始使用軟體更新技術來部署使用者並未安裝且完全無關的軟體 — 工具列等諸如此類。軟體更新技術從原本專為部署軟體更新內容的技術,轉變為散發額外軟體的途徑。

Microsoft® Windows Update 服務 (如 [圖 1] 所示) 與 Apple Software Update (如 [圖 2] 所示) 就是兩個顯而易見的例子。除了更新原有軟體,Apple 與 Microsoft 都選擇使用其更新機制來部署使用者原先並未安裝的新軟體。

fig01.gif

[圖 1] 使用 Windows Update 部署 Silverlight (按一下以放大影像)

fig02.gif

[圖 2] 使用 Apple Software Update 散發 Safari (按一下以放大影像)

以 Apple 的情況來說,即使您只安裝了 QuickTime,更新軟體程式還提供了 iTunes 與 Safari。有趣的是,這兩個軟體都已經預設選取。

至於 Windows Update,最近利用更新服務來部署的新軟體是 Silverlight™。Microsoft 一直使用此技術來散發新軟體。但是值得稱許的是,Microsoft 至少並未在預設情況下選取安裝新軟體的選項。

這種經由更新機制來散發新軟體的方法,會為使用者帶來兩個問題。首先,很多使用者的電腦都會安裝比原先還多的軟體。您也知道,任何種類的軟體都有錯誤,而當中有些錯誤會導致潛在的安全性漏洞。其中某些安全性漏洞終究會被當作攻擊的手段。因此,有些使用者會因為自己不需要甚或是不使用的軟體 (透過軟體更新機制安裝在電腦上) 而遭到攻擊。

另一個副作用就是,使用者可能會對軟體更新機制的價值產生誤解。如果使用者發現軟體更新機制被用來部署新軟體而非更新內容,他們可能會覺得更新機制很麻煩,並不再使用更新機制。想像一下,使用者如果遭到攻擊,而且攻擊的漏洞是透過軟體更新機制安裝但從未使用的程式,使用者會做何感想。

比起使用者不再信賴原本應該保障使用者安全的技術,還有一些事情對於技術生態系統的健全與安全危害更大。一旦使用者失去信賴感,便會開始排斥這些技術,最終棄用這些技術。如果保障安全性的關鍵技術 (更新技術就是關鍵技術) 被打入冷宮,那麼整個技術生態系統都會遭受威脅。正是為了保護此生態系統,Microsoft 甚至願意散發安全性更新給眾所皆知執行盜版軟體的電腦。

相較之下,我真心推崇 Mozilla Firefox 更新介面簡潔且用途明確的設計,如 [圖 3] 所示。我當然希望 Mozilla 能夠繼續抵抗誘惑,不要透過自身的軟體更新工具來散發額外的軟體。

fig03.gif

[圖 3] Firefox 的軟體更新介面是業界最簡潔的設計之一 (按一下以放大影像)

不一致的安全性訊息

要是 IT 產業能夠為消費者一起提供標準的訊息,那就太好了。雖然 IT 產業基本上是相互競爭,但是消費者需要知道安全性的意義何在。遺憾的是,如果業界不斷傳遞矛盾的訊息,消費者只會無所適從。坦白說,如果公司本身能維持一致的訊息,我也能勉強接受。

雖然 IT 產業大概永遠無法搞定這樣的標準訊息,但至少必須確保訊息的一致性和可信度。既然讓客戶繼續信賴安全性技術這麼重要,IT 產業全體都必須更加努力。

同樣地,我們也需要反問今日什麼才能提供真正的價值。舉例來說,我不認為現今的防毒軟體像業界所宣稱的那麼有效或重要。就以我七歲的兒子使用的電腦和我放在廚房的電腦為例,這兩台電腦都安裝了防毒軟體,但是打從安裝以來的三年內,從未提出任何警報。當然,我的意思不是要拋棄防毒軟體 — 就目前而言,防毒軟體仍然是技術生態系統中的核心元件。不用說,如果我們一下就移除所有防毒軟體,攻擊者一定會很快利用這個情勢,而我們會發現中毒的案例越來越多。

重點是,業界必須思考安全性產品中哪些是真正符合使用者需求的功能,這些功能的效用如何,還有公司要如何與消費者溝通這些需求及價值。顯然,今日的使用者收到太多矛盾、誇張,且通常為不實的安全性訊息。

全都是勾選符號在作怪

舉例來說,安全性軟體產業都是以套件為主。現在的安全性軟體的散發方式幾乎都包含了似乎無關的功能套件。而且實際上沒有任何資訊可指出其中哪些功能真正符合使用者需求。

這種現象可能是為了比賽加入更多勾選符號所造成的。雖然勾選單提供了不錯的參考方式來比較產品,但也可能導致不必要、不受歡迎,甚至不合常理的功能越來越多。[圖 4] 到 [圖 7] 顯示不同安全性軟體廠商提供的四種勾選單。我們可以放心假設包含 17 個勾選項目的產品一定優於只有 10 個勾選項目的產品嗎?

我認為這些數字頗值得玩味。在 [圖 4] 中,產品因為是新版本而加了一個勾選符號。而 [圖 5] 加了勾選符號是因為公司聲稱此產品能「遏止惡毒的網站攻擊」。[圖 6] 中的產品多加一分,因為它能「線上保護兒童」。當然,沒有人會希望產品不保障兒童的安全性。不過,贏家以創意取勝,因為它在安全性套件中還加入了清除登錄和硬碟重組等功能。清除登錄的功能幾乎沒有必要,而硬碟重組功能根本已經內建在 OS 中。事實上,以 [圖 7] 所顯示的 17 個勾選項目來說,Windows OS 已經涵蓋其中 15 個勾選項目的解決方案。

fig04.gif

[圖 4] 這個暢銷產品只有 10 個勾選項目 (按一下以放大影像)

fig05.gif

[圖 5] 這個產品包含 11 個勾選項目,一定比較好 (按一下以放大影像)

fig06.gif

[圖 6] 等一下,這個產品有 12 個勾選項目 (按一下以放大影像)

fig07.gif

[圖 7] 這個包含 17 個勾選項目的產品一定是最棒的解決方案,不是嗎?(按一下以放大影像)

我們所面對的是一種惱人的趨勢。這些產品不僅重複提供作業系統已經包含的功能 (卻在行銷文宣上隻字未提),而且還自吹自擂。舉例來說,世界上沒有任何安全性軟體可以真正抵抗任何攻擊來源 — 它們只能防範於未然。也沒有任何產品能夠確實避免您成為攻擊者的目標。

問題是,軟體安全性產業的工作主要在於讓使用者不受其他廠商建立的產品所造成的安全性弱點危害。但是那些廠商不斷改良以保護自己的客戶,因此安全性軟體產業發現自己的商業模型受到威脅。不過,當新的安全性風險浮現時,安全性軟體產業的用處的確很大,但是這些廠商必須協助客戶管理風險,而非只是針對已經沒有危險的威脅提供防護。

召集令

如果說我希望讀者可以從這三篇系列專欄中記取一件事的話,那就是身在業界的我們必須對使用者與客戶坦誠以待。我們必須說明風險以及使用者如何因應這些風險。最後我們還需要開始提供使用者自我保護的工具。

所有這些「解決方案」最讓我憂心的地方是,長遠來看,它們最終很可能會減損安全性。如果使用者,甚至是 IT 主管,真的相信這些產品會解決實際的安全性風險,尤其是這些產品不實聲稱可以解決的風險,我們很可能喪失教導人們如何真正保護自己的良機。

就以密碼驗證系統為例。如果使用者相信密碼型驗證系統的無用附加元件 (我在第一篇系列專欄中討論過) 真的會保障他們的安全性,使用者可能會更加鬆懈,而使用更不牢靠的密碼。我在這個系列文章中所強調的最糟情況是,安全性技術實際上會強迫使用者採用比較脆弱的安全性環境,若非實作該新技術,使用者原本的安全性防護反而還比較有效。也就是說,當惡意使用者找出辦法來擊敗這些系統時 (通常不太困難),我們的處境會比現在更糟。這可能會導致嚴重的信任問題,使人們拋棄真正有價值的解決方案。

我們必須立即行動,保護我們的產業賴以生存的技術生態系統。當然,創新技術值得鼓勵,但是我們也必須非常小心,以免只為了創新而創新,反倒阻礙了真正的風險分析。不然的話,我們空有安全性劇場 (security theater),而此安全性劇場最終也會在我們眼前崩塌。

我所討論的另一個例子也是一樣。就以無意義的安全性視覺指標為例,它對於使用者毫無益處,製造安全性的假象,讓線上服務提供者以實際上會導致使用者間接傷害的最佳化來敷衍了事。另一方面,為使用者提供正確資訊的淨成本可能只要幾千美元,最多也不過數萬元。要求廠商花一點小錢來保障客戶與業務的安全性難道太過份嗎?

其中牽涉的層面很廣。首先,我們必須矯正使用者無法自己做決定,因此要避免讓使用者做決定這樣的觀念。使用者並不是無法教導為自己做決定。畢竟,這些使用者已經做出許多決定,例如決定購買電腦、使用您的網站,或是購買您的產品或服務。就像人們需要學習安全駕駛,他們也必須學會安全地使用電腦。今日的攻擊者會鎖定個別使用者,我們不能依賴安全性技術來做決定。相反地,安全性技術應該是支援決策的系統,適時提供正確資訊,好讓使用者做出明智的決定。

市面上某些很糟糕的使用者介面正是出自安全性解決方案,因為這些應用程式的設計若非讓使用者無法作任何決策,不然就是一股腦將所有可用資料 (非常不友善地) 推給使用者。這兩種方法都有不良影響。前者會提高使用者風險,因為他無法仰賴安全性技術來做出適當的選擇。而且萬一安全性技術被認為會妨礙使用者的商務目標,這項技術很快就會棄而不用了。而第二種方法的問題在於,沒有使用者想要看到 IP 位址、處理序識別碼和其他難以理解的資料。使用者只想知道電腦會如何處理他們的密碼與信用卡。畢竟,這才是安全性的重點所在。

Jesper M. Johansson 是負責安全性軟體的軟體架構設計人員,也是《TechNet Magazine》的特約編輯之一。他擁有管理資訊系統 (MIS) 的博士學位,研究安全性長達 20 多年,是企業安全性領域的 MVP。其最新著述為《Windows Server 2008 Security Resource Kit》。