搜尋此網誌

2008年9月25日 星期四

IP位址與所在區域對應的好工具

最近在準備CEH考試時,有一個項目是尋找目標的相關資訊,其中包含找出使用某IP位址的公司之相關資訊。這類的工具其實很多,現在甚至也有很多線上的工具可以免費使用。比較進階的就是除了文字的描述,還有附上該地區的地圖。地圖有使用專屬的,也有越來越多的工具使用Google Map。雖然之前我也用過這樣的工具,不過這次趁著準備考試時再次好好地使用了一下這類工具,也發現其實這類工具大多有一個很嚴重的問題存在。而我今天要談的就是其中表現比較不凡的工具。

在談這件事之前,我們要先知道在網際網路的系統上通常可以透過兩種方式加以識別。一般人比較熟悉的是所謂的電腦名稱(host name+domain name,如www.google.com)。要取得這類的名稱,通常必須先向某些特定的單位申請網域名稱(如google.com)的使用權,而申請時的資料,可以透過whois的機制加以查詢。所以,只要知道電腦名稱/網域名稱,我們可以很簡單的就知道申請公司的名稱、住址、連絡人等相關資訊。識別電腦的另外一個方式就是所謂的IP位址(如72.14.235.147)。這類IP位址的發放,全球根據地區分成五個管理的單位(見註一)。各地ISP業者在申請到特定的IP位址範圍後,再發放給實際需要的客戶。所以我們可以透過相關的工具或這些單位的網站,查到擁有某特定IP位址的ISP業者。

至於電腦名稱與IP位址的對應,在網際網路上主要是透過DNS的服務來達成。所以,我們可以從電腦名稱找尋對應的IP位址(稱之為正向查詢)。也就是說我們知道電腦名稱,不但可以查到公司的名稱、住址等資訊,還可以知道所對應的IP位址之ISP業者。反之,如果我們只知道IP位址,若想知道這個IP位址是哪個公司在使用的,則必須先透過反向查詢的方式找出對應的電腦名稱。可惜的是,除非有特別提出,否則一般就算是向ISP業者申請固定式的IP位址,他們也不會主動幫你設定反向查詢(沒有正確的設定反向查詢,有些網際網路的服務可能會不正常,不過這個不是我今天的重點)。而對於動態式的IP發放,那就更不用說了。另外,有時候多個電腦名稱也可能共用一個IP位址,此時反向查詢的結果也通常不是你想要的。也因此,只知道IP位址要查到公司等資訊通常機會是比較小的。不過,一般在攻擊是先選定特定的公司(網域名稱),而不是特定的IP位址。而只針對IP位址的攻擊(如亂槍打鳥式攻擊),通常也不在乎是哪家公司。所以對攻擊者來說,這類的問題不大。

知道了上述的事情,我們來看看一般所謂IP位址對應所在區域的工具是如何透過IP位址知道這個IP位址所在的地區。根據前述,我們知道有IP位址,我們可以知道擁有該IP位址的ISP業者,甚至有可能查到對應電腦名稱的註冊公司,所以我們手邊有了ISP業者的地址與公司的地址。而一般工具所顯示的城市地區,其實就是ISP業者的地址。當然,如果兩個地址相比較,顯然ISP業者的地址是比較可信的,因為公司可以到任何國家註冊網域名稱,但是ISP業者的業務區域卻是固定的。不過ISP業者的業務區域雖然固定,但卻不是侷限於一個城市內,所以這樣的資訊,其實準確度依舊是有很大的疑問。我服務的公司剛好有南北兩個辦公室,我查了一下我們南部辦公室使用的IP位址,幾乎所有的工具都顯示所在地是台北。是的,我們申請的ISP業者是註冊在台北,但是該IP卻不是使用在台北的區域。僅有兩個工具,正確的顯示了我們南部辦公室所在的區域。一個是IP Address Locator,另一個則是IP2Location Database。前者是免費的工具,後者則是要付費的。前者在網站也特別提到他們是透過分析網路流量的方式,找出特定IP位址所在的區域,而不是透過前述的註冊資料。而且IP Address Locator也對應到了Goolge Map,算是一個方便而實用的小工具。所以,下次當你想到知道使用某個IP位址/電腦名稱的主機來自哪裡,別忘了問一下IP Address Locator。

註一(參考自The CEH Prep Cuide):
  • American Registry for Internet Numbers (ARIN): North America
  • RIPE Network Coordination Centre (RIPE NCC): Europe, the Middle East and Central Asia
  • Asia-Pacific Network Information Centre (APINC): Asia and the Pacific Region (台灣)
  • Latin American and Caribbean Internet Address Registry (LACNIC): Latin America and the Caribbean region
  • African Network Information Centre (AfirNIC): Africa

2008年9月23日 星期二

食品是良心道德的事業,資訊安全也是。

最近炒得最火熱的話題,正是毒奶粉的事件(現在似乎已經變成了毒食品事件)。從一開始的幾包毒奶粉,到後來發現很多奶製品都有三聚氰胺的存在。而受影響的廠商,也從小型麵包店,擴大到了內外銷的食品業者。其中兩家的產品我曾經消費過,一家是公司樓下轉角的麵包店,另一家是金車的即溶咖啡。當初看到麵包店老闆在電視上訴苦的模樣,讓我覺得非常不以為然。當然,店家也是受害者,但是吃下肚的是消費者。就算是要控訴政府把關不嚴,那也應該是事後循正式的途徑去訴訟。不然,以後吃了海鮮中毒,老闆也可以說是那是船東把關不嚴。船東也可以說是海鮮是天然的,他也不知道為什麼會有問題,所以他也是受害者,要申請國賠。消費者...最好你有保險而且有辦法舉證,不然就自己想辦法吧。而且麵包店的老闆才買了幾包的奶粉,其實對他經濟損失並不大。至於商譽的損失,用哀嚎的方式損失應該是勇於承認更大吧!相較於麵包店的老闆,金車不但主動檢查、通報,而且正式道歉,也讓使用者全額退費(不是換貨)。當然,如果消費者有健康上的問題,金車會如何處理還不得知,但是就目前已經看到的行為,金車的確是表現的相當不錯。

這件事跟資訊安全沒有大太的關係,倒是跟專業的道德有關。在"信任是安全的基礎"這邊文章的後半段,我曾經提到有關專業道德的議題。而前兩天我看到新聞的標題,標題下的是"良心"兩個字。是的,不管是傳統如生產食品,或是先進如資訊安全,只要你是提供專業的服務/商品,就應該秉持著道德與良心執行你的專業。

除了毒奶粉這件事,還有一個就是台大醫院長久以來針對前第一家庭相關訊息反反覆覆的說法。到底哪個說法是真是假,我不知道,說實在我也沒辦法判斷。但是多次的反反覆覆,表示絕對大有問題。因為醫療講的事實,陳訴事實即使有所修正,也不至於前後出現南轅北轍的說法,或者是曖昧不清的說法。說謊跟看病好壞有甚麼關係,病看的好最實在。是的,在大部分的情況下或許沒錯。但是當出現利益衝突的時候,病患可能就是被不肖醫生犧牲的那方,只是看甚麼時候會輪到哪個倒楣鬼罷了。所謂高知識的專業人才,產生專業的缺陷,更是令人難以接受。

樓下轉角的麵包店我是不會再去了,至於台大醫院,也離我越來越遠了。金車咖啡,我來了!

相關連結:

2008年9月22日 星期一

方便不是犧牲安全的藉口 - 談網站密碼重置的功能

前一陣子歐巴馬與希拉蕊兩人的較勁,媒體熱烈報導的程度,似乎讓人有台灣已經成為美國一州的錯覺。隨著歐巴馬的暫時獲勝,話題也開始轉移到另一對的候選人。其中美女副總統候選人-斐琳(Palin),同樣有不少的爭議與話題。而她這幾天的話題之一,就是有人透過很簡單的手法,侵入了她在Yahoo的信箱,透過的方式就是密碼重置的功能。

密碼重置,不管在大大小小的網站,幾乎都會看到,原先的出發點是為了避免使用者忘記了當初設定的密碼。網站的提供者希望透過此一機制可以讓使用者在最方便的情形下取得密碼並繼續使用系統。當然,有些不是採用重置的機制,而是將原先設定的密碼傳給你。兩者誰比較安全,以正常的情形下,將原先的密碼寄給你是比較不安全的,因為這表示該系統將你的密碼儲存於系統中,也表示一旦系統出了問題,你的密碼外洩的機率就很高(不管密碼是不是經過加密)。當然,這個只是一個粗略的說法,因為密碼安不安全還有很多的因素需要考慮。而且在不取得密碼的情形下,駭客還是有辦法竊取你的資料,甚至是假冒成你。

這樣的想法其實是好的,但是有太多網站的密碼重置機制充滿了漏洞,因此反而提供了駭客絕佳的入侵管道。以常見的手法,就是詢問你一些私人的問題,只要正確回答就可以重置密碼。有些甚至可以指定要將新的密碼寄到哪個電子郵件信箱,或者是顯示於網頁上。而有些則可以由使用者自行決定新的密碼。也就是說,只要你猜到了這些私人問題的解答,你就可以為所欲為。有些網站讓使用者可以自訂私人的問題,而不是採用事先決定的問題。這樣作其實沒有太大的幫助,原因在於一般使用者對此功能的危害根本就沒有認知,甚至認為這麼方便的機制應該是採用簡單的問題才不會辜負網站提供者的好意。所以,一樣是充斥著簡單的問題。而在Google盛行的現在,很多私人問題早已不是秘密,尤其對越具備知名度的人來說越是如此。

從事安全相關產業的人常說,方便跟安全是衝突而必須有取捨的。是的,這樣說在大部分的情形並沒有錯。只是這句話我們應該解讀為在不影響方便的情形下,設計出"最"安全的系統。或者是盡量設計出安全但不影響方便性的系統。這裡所謂的"不影響"指的是使用者可以接受的範圍。兩者的差別只在於由哪一個因素當作出發點,不過如果確實落實,結果應該是一樣的。以數學的方式來說,就是如何找出兩個反比因素的交叉點。但是,這並不像一般反比的例子那麼簡單,因為安全與方便性是很難量化的,而且在不同的環境下有不一樣的比重與最小可接受值(也就是有時候交叉點並不是可以接受的設計)。當然,現在有所謂安全的設計開發流程。但是即使將安全的議題放大,也千萬別因為安全而犧牲了使用性。在大部分的情形下,沒有使用性的系統,是沒有任何價值的。而沒有價值的系統,其實也沒有安全的需求。所以兩者對一個可用的系統來說都是重要的,要怎麼取捨是需要同時兼具理性的作法與智慧的判斷。不過無論如何,這句話絕對不是系統設計/開發人員用來推卸安全責任的藉口,雖然這樣的例子實在太多了。

除了密碼重置的功能,有些網站還有密碼提示的功能,對密碼的安全同樣也是一大挑戰。事實上,很多系統將密碼/登入機制做了很嚴格的把關,但是卻讓一些不安全的方便機制嚴重破壞了系統的安全性。要在自己的家開一個或多個逃生的後門沒關係,但是千萬別讓後門成了小偷進入的方便門。道理大家都懂,就看怎麼落實到資訊系統上面了。

那麼我們應該怎麼設計一個安全的密碼重置機制,在"The Web Application Hacker's Handbook"一書有提到(我直接截錄原文,以免翻譯失了原味):

"The best automated solution for enabling users to regain control of account is to email the user a unique, time-limited, unguessable, single-use recovery URL. This email should be sent to the address that the user provided during registration. Visiting the URL will allow the user to set a new password. After this has been done, a second email should be sent, indicating that a password change was made. To prevent an attacker denying service to users by continually requesting password reactivation emails, the user's existing credentials should remain valid until such time as they are changed."


相關連結:

2008年9月11日 星期四

令人又愛又恨的密碼

在前幾篇的文章中,我談到有關密碼的議題。不管你認為密碼是不是一個好的安全機制,現實是每個人每天都會用到許多不同的密碼。其中當然有許多是在網站上使用,另外像是提款卡等等,也都需要用到密碼。有不少文章談到如何選取一個"好的"密碼,但是卻很少人提到如何選取數個甚至數十個良好的密碼。所謂良好的密碼在實務上有一個最重要的考量,那就是很難被猜到但是同時你卻必須能夠加以記憶。有人提到可以採用圖像記憶法,將密碼轉換為圖像,這樣就可以方便記憶。但是此法或許對於純數字的密碼還可行(只有10種圖形),但是如果包含英文字母(大小寫),再加上特殊符號,我想這麼複雜的圖形對應關係,光聽到就嚇死一堆人了。

所以,我們可以採用瀏覽器的記憶功能、使用密碼管理的軟體、或是使用像是PwdHash這類瀏覽器的外掛,來減輕你必須記憶這麼多密碼的困境。但是不管理用甚麼方法,幾乎都有一個很大的問題,那就是不能隨時、隨地都有效地加以應用。瀏覽器的記憶功能,不同的瀏覽器、不同的電腦之間不互通。密碼管理的軟體,不是隨時帶著跑,也不是隨時都有電腦可以使用。PwdHash,雖然我自己蠻喜歡使用的,可惜只能在Firefox內加以使用,IE沒轍,Safari也沒轍。就算你用線上的密碼管理軟體,同樣不是隨時隨地都能連線(至少現在還不是),而且每次打密碼都要開啟服務,你不累嗎?真正能夠隨時隨地幫助你的工具,只有你的腦袋。好吧,至少在大部分正常的情況下,你的腦袋應該是最值得信賴的工具。

其實我們也別太偷懶,想要真的擺脫記憶密碼的困擾。因為研究報告顯示,當人們因為依賴科技而減少腦部的使用,只會越來越笨。所以記憶適當的密碼,不但是必要的,而且對腦部的健康也是有幫助的。所以,密碼不僅是資訊安全的好朋友,更是預防記憶力衰退的良方之一。當然,更別偷懶得想要用自己的個人資料(如生日)當作密碼,否則當你哪天想要競選美國的副總統時,可能就是下一個引起駭客好奇心的受害者了。

相關連結:

2008年9月4日 星期四

迷霧不可怕,可怕的是妖言惑眾的神棍 - 談員工於災難復原中的重要性

最近看了電影迷霧驚魂 The Mist,故事講得是一群鄉民因為一陣詭異的霧氣,而被困在一家超市的故事。霧氣中有著會吃人的怪物,而且這群鄉民完全與外界失去聯繫,所以在經過多日的困守後,各式各樣的人性就開始發酵。其中一個最主要的角色,是所謂舊約的狂熱者,不斷講述著這是神的懲罰。一開始沒有人相信她,但是最後,只剩下幾位主角的麻吉還沒被洗腦。其餘每個人都變成了神棍的擁護者,甚至不惜殺人以其平息神明的憤怒。

這個故事讓我想到有關災難復原(Disaster Recovery, DR)這個議題。我們都知道災難復原除了要恢復資訊系統以提供作業所需的流程外,人員的備援與管理也是同樣的重要。對於一些Key Person,我們要事先建立好代理人的機制,並將其連絡資料詳細記錄。這些事項必須轉化為標準作業流程並正確記錄。而為了確保災難復原計劃的可行性,也需要定期舉辦各種形式的演習,以免災難真的發生時,員工因為不熟悉而手忙腳亂並導致無法順利復原。但是除此之外,我們必須注意到另外一個問題,也就是員工的心理因素,尤其是當災難無法於短時間內加以排除時。

首先,對於地區性的災難(如水災、地震等),不但公司是災難的受害者,員工本身通常也是受害者之一。對於放棄救助自己的家人而先協助公司這種違背人性的事情,千萬別認為這是員工應該擔負的責任。當然,有時候兩者並不衝突,但是在災難緊急發生的那一瞬間,兩者絕對是衝突的。而大部分人的選擇,我想在迷霧驚魂中也已經點出了。沒有人願意犧牲自己去幫助一個想要回家救自己小孩的著急母親。而其他電影,也都有類似的情景。當災難發生時,所有人一定衝回家或是去救自己的家人(尤其是小孩),沒有人會堅守岡位維持公司的運作。電影畢竟只是電影?那就問問你自己的心裡,當事情發生時,你的選擇會是甚麼?

再來就是當災難(如淹水)持續一段時間後,在家庭與工作兩頭燒的情形下,員工的心理可能會產生很多的變化。工作能力的降低、注意力的潰散、徬徨與恐懼等各種負面效益就會陸續出現。即使公司沒有神棍的存在,任何外在因素都可能輕易改變一個人的思想,或者可以說是引發內心心魔的作用。所以,公司不能只考慮到公司本身的復原,也要注意到該災難對於員工的影響是否已經消失,並在必要時提供其協助以便度過災難。同樣的,這個議題如果沒有在平時計劃時就加以考量,當大家因為災難而焦頭爛額時,沒有人有時間去注意到這樣的事情,而且所需的資源與經費也可能會嚴重不足。

人是公司最重要的一環,對資安問題來說也是。

2008年9月2日 星期二

不可得罪的小人物 - IT人員,尤其是被資遣的。

在台灣常常聽到MIS(IT)人員,自嘲為打雜一族,有時候甚至在公司講話還得靠不少好運才能讓高層聽到。不過經營高層可別忽略了這群看起來老實,而且又很少發表意見的族群,因為他們可是掌握了許多通往公司機密的關鍵。DBA擁有資料庫的帳號與密碼,可以輕易取得顧客的資料。加密,重要欄位加密就算好的了,每個欄位都加密應該很少人會這樣設計。存取紀錄,只對君子有效,對小人或不怕死的人,只有事後歸責的用途。當然還有其他的方法可以防範,但是有多少公司採用,又有多少的效用,都是值得商榷的。

相信員工。是的,這是一個好方法,而且當初也做了背景調查,確認你的IT人員不是經濟犯、更不是殺人犯。但是,人在不同的時空下,往往會有不一樣的反應。員工在離職的時候可以分為兩種,一種是主動離職,一種是被動離職。對於被動離職的人,往往對公司會懷有程度不一的恨意,這樣的恨意也就很容易轉換為破壞的行為。根據Cyber-Ark的研究報告顯示,有高達88%的IT人員承認如果被解雇,將會順手帶走公司的機密資料。剩下的12 %表示會兩手空空的離開,who knows?

所以,對於員工的離職,尤其是被迫性的離職,公司應該有一套良好的機制,確保離職員工沒有辦法在離開前、甚至是離開後,取得或攜出公司的機密資料。一個作法是請被迫離職的員工在公司的監督下收拾家當後馬上離開,雖然不近人情(遣散費還是不可少,甚至可以優於法律規定,這樣就近人情些了),但是卻最有效。但是,如果沒有後續的處理程序,還是很有可能讓這些人可以在事後依舊存取到公司的機密資料。畢竟,實體的問題容易防,但是無形(網路)的問題不容易查覺,而現在幾乎所有資料都可以透過網路取得。公司能不能有效防範,問一個很簡單的問題,當員工A離職後,有哪些東西需要歸還,有哪些相關權限應該移除,又有哪些相關設定應該修改。如果公司沒辦法馬上回答,甚至明白條列下來,那公司可能就會有大麻煩了。

相關連結

About