大兵小將 的時代背景設定在戰國時代,主角有兩位,分別是梁國的小兵與衛國的大將軍 (太子)。必須一提的是,雖然在電影中把電影情節的前後事件做了很明確的介紹,但是故事中劇情並不是真實的歷史事件,所以在引用上可得小心了。回到故事本身,小兵與大將兩人相遇在一場慘烈的戰役上,是唯二的生還者。衛國大將軍因為與梁國大將軍做了一場生死決鬥,因此體力不支而被貪生怕死的小兵所虜獲。戰場上擒獲敵將自是大功一件,可以獲得五畝良田與終生免除兵役,也因此小兵說什麼也要拼死把敵國將軍抓回去領賞。就在返回粱國的路途中,兩人巧遇一個能歌善舞的落單女子。這個女子因為對戰爭所帶來的毀滅感到深惡痛絕,因此對軍人充滿敵意。而小兵無意間把大將軍的裝備穿戴在身上,再加上他帶著一個俘虜,讓女子誤以為他才是一個殺人無數的大將軍,所以就在酒中下毒想要給他一個教訓。沒想到陰錯陽差之下,被誤認的大將軍與真正的大將軍都喝下了有毒的酒,昏迷不醒…
電影中的小兵雖然是無心之舉,但是他確實做了一個在資訊安全中很重要的動作,那就是假冒 (Spoofing)。一般聽到假冒,大家很直覺地就想到不好的一面。各式各樣的 Spoofing 攻擊,包含 ARP Spoofing、IP Spoofing、DHCP Spoofing、DNS Spoofing、URL Spoofing…甚至是 Certification 都可以 Spoofing,也就是說幾乎所有你可以想像到的項目都有遭受 Spoofing 攻擊的可能性。Spoofing 除了對攻擊方很重要外,其實對於防守的一方也是同樣重要。當然,身為防守的一方,不會使用 Spoofing 這樣負面的名詞,所以才會讓人容易誤會假冒單純是攻擊方所使用的技巧。
Spoofing 用在防守方面最基本的應用就是用來對付所謂的 Banner Grabbing。通常駭客在發動攻擊前會先進行資訊收集的工作,其中一個方法就是利用 Banner Grabbing 來了解目標的基本資料。Banner 指的是當我們試著連上服務時,服務會先回應一個預設訊息,原意是讓我們確認有沒有連錯服務。因此我們可以透過 Banner Grabbing 的方式知道目標的電子郵件服務乃是透過 Sendmail 8.14.3 所提供,而這樣的資訊可以幫助駭客擬定相當有效的攻擊方法。Banner Grabbing 的好處除了可以遠端執行外,更重要的是它利用的是目標系統的預設行為,因此幾乎不會造成任何的起疑。對付 Banner Grabbing 的方法其實很簡單,就是把目標系統的預設 Banner 改掉,像是明明執行的是 Sendmail,但是卻送出 Exchange 的 Banner。有些建議作法是把 Banner 整個刪掉,讓駭客無法取得任何有用的資訊。但是我個人認為假冒為其他服務有其好處,可以誤導攻擊者採用錯誤的攻擊手法。如果搭配其他的安全機制 (如 IDS/IDP),更大大增加了在有效攻擊行為發生前就發現駭客的機會。
修改服務的 Banner 固然有其效用,但是畢竟這些有價值的服務還是會遭受到攻擊。就算攻擊不成功還是會或多或少受到一些影響,更何況攻擊確實有其成功的機會。所以我們可以把這樣的概念延伸到利用一些假冒的服務來取代真正的服務,藉此吸引並誤導駭客的注意力。這樣的作法稱之為 Honeypot (或是 Decoy Server),而 Honeynet 指的則是由一群 Honeypot 所組成的系統。不管是修改 Banner、Honeypot,或是 Honeynet,基本上都是假冒的應用。兵不厭詐這句話跟道德沒有關係 (但是可能跟法律有關係),攻擊方可以利用,防守的一方也別輕忽了。不過最重要的是,假一定要假的像,這已經不只是一門技術,更是一門藝術,也唯有如此才能像 Michael Jordan 在球場上的假動作一樣地有效與迷人。
沒有留言:
張貼留言