標籤:

為什麼你要懂點信息安全

最近NSA被爆出通過入侵華為伺服器,進而監控了許多華為員工的電子郵件通訊記錄。信息安全一下子又成為了焦點話題。聯想到之前的幾個大網站的暴庫事件,信用卡信息泄漏事件,如果當你我的私人郵件成為監控者茶餘飯後津津樂道的談資,你我的身份信息,密碼信息,銀行卡成為駭客用來支付他們奢華生活的工具,你還會覺得信息安全還是和自己毫無關係么?

所以,即使一個人不從事安全領域相關的工作,也需要懂點安全知識。

首先,安全涵蓋三個基本內容:Availability,Integrity和Confidentiality,簡稱CIA。

Availability是指信息在需要的時候可以被授權的用戶訪問。比如在購物的時候,你的銀行卡應該能夠跟授權的商戶完成交易。沒有availability的安全毫無價值,就跟埋在地底,無人知曉的財富一樣。

Integrity是指信息在生命周期內完整性能夠得到保證。比如說你給朋友發封郵件,告訴他『晚上7點聚會』,這份郵件到達朋友手上的時候不該成為『晚上8點聚會』。沒有integrity的安全毫無意義,甚至帶來危險。

Confidentiality是指未經授權,信息不能被訪問。當你使用電腦進行網路交易時,為什麼需要一個優盾?就是銀行需要在整個交易的過程中保證任何信息都不會泄漏給網路中的第三方。沒有confidentiality的安全不叫安全。

任何安全的手段都圍繞著這三點構建,缺一不可。

安全涵蓋的內容不外乎下面這些:

(1) 物理安全

(2) 操作安全

(3) 社會工程安全

(4) 網路通訊安全

(5) 應用程序安全

安全手段有下面內容(可能不全):

(1) 訪問控制

(2) 信息加密

(3) 災難恢復

限於篇幅,本文先講講安全涵蓋的內容。

首先非常重要的一點認識:對於信息安全,技術從來都是輔助手段,只是用於實現某個安全領域的要求;安全管理才是核心。僅僅追求安全技術是本末倒置。

為什麼說安全的重點是管理?假設你有家公司,窮盡了各種高科技手段保護公司的信息資產,但如果竊密者尾隨公司員工進入公司,大搖大擺走到印表機旁,拿走最近列印出的一疊文件,然後離開。你說技術在裡面能起到什麼作用?高級的門禁系統,加密的網路設備在這樣的攻擊面前一文不值。

了解了這一點,你就能明白為何我將物理安全,操作安全,社會工程安全放在首要地位。

物理安全很好理解。銀行儘管有非常嚴密的技術安全體系,但還需要帶有沉重鐵門的地下金庫,為何?因為就算你將電影中的各種監控手段(激光,熱敏,溫控等)應用地淋漓盡致,但如果劫匪攻得進來,逃得出去,監控再好有何用?所以厚重的鐵門讓你攻不進來,地底下的位置讓你即使攻進來,想逃出去也很困難。這就是物理安全的重要之處。

操作安全也不難理解。它關乎日誌,打補丁(彌補系統漏洞),以及潛在攻擊的預防手段和攻擊發生後的應對之策。在公司里的伺服器上工作,如果你沒有"sudo"許可權,但執行了"sudo"命令,你會得到一個醒目的提示:"This incident will be recorded",這就是操作安全。它拉出了一條紅線,告訴人有所為有所不為,如果做了不該做的事情,會有充分的記錄來採取進一步的行動。

我們重點講講社會工程安全。社會工程學指的是通過與他人交往,來直接或者間接獲得機密信息。在任何的安全體系里,人都是最薄弱的一環,所以是駭客攻擊的重點,所有社會工程學攻擊都建立在使人決斷產生認知偏差的基礎上。駭客也許偽裝成某個弱勢的女性,或者詐稱是你多年未見的老朋友,或者以交易中介的形式出現,等等,來套取你的信息,進而進行下一步的攻擊。根據wikipedia的介紹,社會工程學攻擊有這些形式:

首先是假託(pretexting)。某天你突然接到一個電話,說你的xxx親人突然出事,在xxx醫院治療,速速匯款至某某賬號。你心裡一驚,連忙聯繫你的親人,發現電話不通,於是在精神高度緊張中顫巍巍匯了錢過去。假託就要起到這樣一種效果,通過合情合理的假象,緊張的氣氛,讓你陷入一種心理學稱之為"tunnel vision"的情境中,你的眼睛只能看到隧道終點的那絲光明。

當然,例子中的騙術廣為人知,可能對大部分人都不奏效了,但難保駭客建立另外一種你沒遇到過的情境,讓你陷入到"tunnel vision"中。

第二種手段是調虎離山(diversion theft)。這個多看看搶銀行的片子應該就很好理解 —— 押款車既定的路線重重安防,如果讓其被迫改道,則實施攻擊就容易多了。如果你電腦上有機密資料,想要獲取的有心人可以臨時叫你出去喝杯咖啡,另外的人就可以在其之上進行信息偷竊。

第三種手段是釣魚(phishing)。這個估計大家也有所耳聞 —— 給你發封郵件告訴你由於安全事故可能導致你xx銀行的密碼泄漏,然後給你個鏈接修改密碼。打開的頁面中,整個界面和xx銀行的修改密碼的界面高度一致,顯著(或者不那麼顯著)的區別在於url有差異。如果你注意不到這點,輸入了你的卡號和密碼進行密碼修改,那麼你的銀行卡的信息就被駭客獲得,並由此可能被盜刷。

釣魚還可能通過各種聊天工具,電話來進行。

第四種手段是下餌(baiting)。這個手段就多的去了,你下載的軟體,打開的email附件都有可能被注入各種各樣的惡意代碼。人總是有弱點的,姜太公說:釣有三權:祿等以權,死等以權,官等以權。物質上的(祿),感情上的(死義),精神上的(官,權力)弱點都可以拿來『釣』。具體一些來說,就是馬斯洛的需求金字塔的每個層級都能用來下餌。比如說駭客發個『最新最全2015年島國片大全』,就能勾住有生理基本需求的人,發個『互聯網公司高層薪資實名大揭密』就能釣到那些有社交需求的人。

第五種手段是等價交換(quid pro quo)。心理學中人們對權威有一種盲從,甚至『怕屋及烏』,對特定的服飾也有敬畏感。當假扮的公司IT人員向你索要賬戶密碼,你可能會乖乖就範;當西裝革履的『紀委』人員把你拖走,你立馬該招的不該招的都抖了出來;在異國他鄉,穿著警服的問你要護照查看,你可能連反問的勇氣都沒有。所以,當駭客採取這些種種手段時,很容易攻破你的防線。

以上種種還只是社會工程學的一部分,凡心理學中談到的人性的弱點(或者優點)都能被深諳社會工程學之道的駭客採用,作為攻擊的第一步。所以應對社會工程學之策,就是學點心理學,再看看社會工程學相關的書籍,知己知彼。

最後講講網路安全和應用程序安全。

網路安全是個很大的課題,無法用一兩句話解釋清楚。但它的目標很明確,就是讓通訊雙方的通訊內容在網路傳輸的過程中儘可能減少安全威脅。

比如說你訪問gmail郵箱就要比163郵箱安全地多。因為gmail使用了https,在端對端進行了嚴格的加密,而163郵箱的一切傳輸都暴露在互聯網之上,你的隱私就像披上了皇帝的新裝。

但網路安全並不能保證信息安全。它只是你和通訊另一端之間假設了安全的通道。在裡面的信息仍然會受到安全威脅。比如LP(先確定是你LP哈)要你的身份證號,你用gmail給她回了封郵件:我的身份證號是xxx。這個信息只能保證在你和gmail之間是安全的,不代表gmail後面的組織(google)或者對gmail感興趣的組織(NSA)不去破壞這種安全。前一陣子某網站被暴庫,資料庫里的密碼都是明文的,這樣即便網路在https的控制下是安全的,網路背後的系統不安全也無濟於事 —— 這就是應用程序安全。

回到身份證號問題。最安全的途徑是你先用你LP的PGP公鑰對你的郵件內容加密,然後你LP用她的PGP私鑰進行解密。這樣,即便gmail被攻破,你的身份證號也是安全的。

先說這麼多,過兩天接著聊。

如果你對本文感興趣,歡迎訂閱公眾號『程序人生』(搜索微信號 programmer_life)。每天一篇原汁原味的文章,早8點與您相會。


推薦閱讀:

用心與否,一試便知
[技術] 談談編程思想
AWS 及 IAM 答疑
Apple TV 4:三屏合一的終章?
當勤勉追上時間的腳步

TAG:迷思 |