Saturday, July 11, 2009

Soul Hacking - 淺談非物理入侵(2)

Reality Hacking在前面的章節已經談過了,接下來我們要進入更深一層-名字聽起來也更虛幻的一層,Soul Hacking。


Soul Hacking其實是一種心理戰,基本上就是結合心理學的一種入侵方式。我們在設計一個安全系統的時候,通常只會考慮到"如果使用者XXX,我們就要以OOO的方式來對應"(普通的邏輯系統似乎都是這樣寫的,對吧?),而不太會去考慮相反的事情:"如果我們做了XXX,使用者下一部會做什麼?"


最簡單的例子,假設現在有一個安全系統,如果要登入管理層的話,除了使用者的ID以外,還需要多輸入一層管理者密碼,可能很多設計者會這樣設計 : A. 提示使用者輸入ID B:提示使用者輸入第一層密碼 C:提示使用者輸入管理層密碼


聽起來非常合理,不是嗎?所以我們就會給使用者資訊:這個登入流程需要一個ID 需要一個密碼 需要一個管理者密碼。

我們換個角度想,如果我們登入流程變成這樣,換你是入侵者,你會有什麼反應? A. 提示使用者輸入ID B.提示使用者輸入密碼 C. 提示使用者輸入了錯誤的密碼,要求重新輸入:不過事實上,第二層密碼驗證是對的,系統正在等你輸入管理者密碼。


我們在舉個比較簡單的例子,也是大家比較容易碰到的例子。以前,BBS基本上都會要求使用者輸入帳號,如果帳號不存在,系統會提示你這個帳號不存在。可是,現在的PTT,無論你輸入什麼帳號,他都會要求你輸入密碼,也只有"帳號密碼不對!"的提示,而不會告訴你無此帳號還是密碼不對。


這個就是Soul Hacking的一環,跟使用者的心理戰。這是防禦面的說法,下一篇會聊聊攻擊面的說法。

Reality hacking - 淺談非物理入侵

Reality hacking - 這個其實不是很為人所知的名詞,其實是資安理面幾乎是最重要的一環。不管你用多昂貴的多複雜的firewall,多訓練精良的網管,多有效的多層次存取(MLA)系統,公司的資訊仍然是有機會以人為的可能性外流-防火牆檔的住over-exceed request,也許檔的住部分back-oriphance,很不幸的是他們對於員工的大腦跟嘴巴通常無能為力。


"你好,這裡是XX旅行社,您這次出差的轉機機票程序都定好了喔,祝您這次有個愉快的旅行。"


"謝謝,不過我記得這次不是我出國阿,您是不是把我跟李經理的資訊弄錯了呢?"(得到資訊,這次是李經理要出國)


"疑?是這樣嗎,抱歉我查一下。可是從您的員工編號我們看起來的確是您的資料阿,沒關係,不過這個東西我們要在跟您確認一下,也許是我們內部人員KEY錯了,讓您多賺到一天假期呢"

"哈哈,能賺到就好了。"

"抱歉那我在跟您核對一下資料,您的員工號碼是?"


"B83920C0”


"可是查出來的一樣耶,也許是我們內部錯誤,我們換種方法好了,您的出生年月日跟身分證字碼麻煩一下好嗎?"


這樣其實就可以撈到非常多的資料了。一個IT不夠嚴謹的公司,這些資訊已經足夠造成非常大的損害。Reality Hacking並不見得需要像電影情節裡面的hacker一樣,潛入他人公司,分析鍵盤密碼,偷偷接上sniffer...他們需要的也許只是稍微好一點的口才,一些看起來不是很重要的資訊,以及一點運氣。


"哈,看起來的確是我們弄錯了,不好意思,我們去連絡一下李經理,抱歉打擾您的時間。對了,為了表達我們的歉意,最近我們公司有一團因為人數湊不夠,我們願意用成本價湊團,您有興趣的話請上....."


好啦,這個人多傳幾個同事,大概名字身分證字號地址就全部被抓包了,甚至有些人資安習慣很差,每個網站都用一樣的密碼,那只要該網站要加入會員才能看內容,設定個帳號密碼,那大概就可以phish到一堆帳號密碼可以try了。需要任何007情節嗎?需要任何特別的技術設備嗎?都不用。


Reality Hacking就是那麼一回事,可以很複雜,但是也可以那麼簡單。