搜尋此網誌

2008年8月28日 星期四

吃不飽、吃到飽、吃過飽 - 你也資訊過載了嗎?

身為現代人,不只對於食物有攝取過多的危險,對於無形的食物(資訊)亦然。數位化的時代,讓資料的流通跨越了許多原本存在的隔閡 (如距離、語言等),而且傳遞的速度幾乎是即時的。而在Web 2.0的時代,每個人都可以用各式各樣的方法產生資訊並加以分享,更使得資料數量呈爆炸性的成長,而且無時不在,無所不在。垃圾郵件的問題依舊存在,但是有更多的Blogs、RSS訂閱、Soical Network Platforms與Gadgets ,提供了看似有用或有趣的資訊,甚至很多還是我們自己自願接受的。但是,人的時間畢竟有限,這麼多的資訊,不要說是閱讀了,光是瀏覽都不夠時間。所以資訊過載這個名詞再次被提起,至於怎麼避免或防範,除了增加自己吸收的效率外,最重要的是如何選擇必要的資訊與良好的資訊來源。如果你跟我一樣有資訊焦慮症,要最到後面這點還真需要一番掙扎。

其實早在很多年前,資訊過載的議題就已經存在資訊安全的領域中。我們都知道,幾乎所有的設備、電腦(作業系統)、應用程式都有各式各樣的Log,這些Log提供了我們系統執行時的訊息。除了執行的狀態外,大多數也會針對一些特殊的事件(尤其是異常的事件)作成Log。所以,各個管理者必須將其負責範圍內的Log嚴加監控,以防止問題發生而不自知。簡簡單單的一句話,但是我相信沒有幾個人辦得到,甚至沒有人想真的這樣做。原因很簡單,這些Log不但散落各處,而且每種Log都有其特定的格式與解讀方式,在加上資料量龐大...所以,通常在發生問題後,能夠依據Log找到問題發生的來源並解決之已經算是很好的了。

不過,資訊安全廠商當然有更遠大的眼光,所以就有了 SIM (Security Information Management)或SIEM (Security Information and Event Manager)這類產品,希望能夠把各式各樣的Log訊息集中處理,以期並找出真正危害資訊安全的事件。當然,這類產品的資訊來源並不限於所謂的Log,有些甚至會有自己收集資訊的元件,不過這個其實也可以看是Log的一種,只是這是由廠商自行開發的格式。SIM主要的流程大致為Filtering -> Collecting -> Normalization -> Consolidation -> Correlation -> Analysis -> Alarm & Reaction & Reporting。這個只是可能的流程之一,每個產品會有自己特定的行為與流程,甚至有些流程行為可能會重複一次以上。這個部分礙於篇幅的關係,有興趣的讀者就請自行參考相關連結與其他文件了。這樣的產品立意很好,但是現實是很難達成廠商所宣稱的目標。當然,不用這類產品,光靠人力幾乎沒有辦法產生效果。但是有了產品,問題依然存在。其中最嚴重的問題當屬這麼多事件來源,而且大家又都有自己的格式與意義,要全部收集就已經是不可能的了。所以...第一步就玩不下去了,那後面做得再好也是救不了使用者(產品)。不過,如果我們退一步看,接受所有訊息來源的資料,這點確實本來就是不實際的需求,所以在大部分的情況下,以實務的角度來看,SIM或SIEM還是有相當作用的。

我們在討論許多具備偵測功能的系統時,常常喜歡用Flase Positive與Flase Negative來討論系統的有效性。在是非分明的世界,這樣的分法是適當的。但是在安全的領域中,很多事情卻不是一翻兩瞪眼這麼簡單。因為我們希望SIM/SIEM不僅能針對已經發生的問題產生事後的回應(Reaction),最好能夠在事情正在發生,但是還沒產生危害之前就加以制止(Prevention)。以遠端入侵而言,我們可以說許多都會經過嘗試密碼的動作,所以有錯誤登入是可疑的。但是,要在多少的時間內累積到一定的錯誤次數才是真正可疑,是否要使用同一個帳號、來自同一個IP位址才算是可疑?這麼多的變數,都會影響到系統的判斷。當然,這些東西可以設計成可控制的變數,但是這樣做只是把問題從產品丟到佈署與使用的人員身上,並不能真正提供企業所需的防護。關於這點我認為是目前實際應用上最困難的地方。過於寬鬆的設定,可能會導致預警能力過低。但是過於嚴謹的設定,就會產生所謂愛哭的小孩。愛哭的小孩不像放羊的小孩那般愛說謊,只是喜歡大驚小怪,但是所造成的傷害可能比放羊的小孩還多。

所以,有所謂的異常行為偵測(Abnormality Detection)的技術,希望系統能夠自己判斷何為正常的行為,以期在行為產生偏差時提出警示。這樣的技術都需要在導入初期經過一段時間的學習,以收集足夠的資訊來建立所謂正常行為的資料庫。而且,這類技術也需要在運作中隨時將觀察到的資訊回饋到資料庫,並更新正常行為的資料庫。這樣做有兩個問題,第一個是原先的正常行為,不見得是好的,甚是可能已經違反了公司的資安政策。第二個問題則是心懷惡意的人,有時候可以透過教導的方式,將系統正常行為資料庫的內容漸漸導向特定的異常行為。這部分需要透過分析趨勢(Trending)的方式加以防範,只是這樣的技術並沒有比較簡單,而且使用者要去分析與判斷也相對困難。自動化?當然可以解決一部分的問題,但是還是會衍生出新的問題需要去克服。

SIM/SIEM是一個好的工具,但是要取代人工達成全自動化,可能需要使用到人工智慧才有辦法。當某件事以人來做都很模糊而沒有標準做法時,要以系統來全自動化是很困難的。當然,這樣的系統還是會比絕大多數的人做得還好,只是再好的系統也有其限度,絕非萬靈丹。這是我們應該深刻認知,也是在決定採用前必須加以考量的。其他功能像是發現資安事件發生時,應該採取甚麼措施,這部分應該可以一併由資安事件回應(Incident Response)機制加以制定了。

相關連結:

2008年8月27日 星期三

美猴王也懂資訊安全? - 從功夫之王看異地備援

這兩天看了一部電影,片名為「功夫之王」,由成龍與李連杰兩大巨星主演。故事講的是美猴王孫悟空的一段遭遇,至於電影拍得好不好,那可就真的是見仁見智了。美猴王最大的本事,當然不是在佛祖的手指上灑尿,而是只要從身上拔一根毛,一吹氣,就可以產生另一個美猴王的分身。故事中的美猴王,在遇難後,除了靠預言中的肉腳老外(??)來解救自己外,另外一個幫助很大的角色其實就是自己的分身。這樣的概念其實跟所謂的異地備援很接近。

首先,美猴王的分身可以與本尊同時存在並與敵人進行對打的動作,而且也可以獨立運作。片子中,分身有兩次的表現,一次是本尊摸魚不想打了,另外一次則是本尊已經被封印而無法行動時。在第二次的過程中,分身甚至與本尊相隔了十萬八千里。當然,分身所具備的能力跟本尊大致上屬性相同,只是能力稍微遜色了一些。不過有一些特殊能力,分身就無法具備了(例如分身就沒有辦法再產生分身)。對異地備援而言,最主要是希望當本尊(Primary Site)無法提供服務時,分身(Remote Site)能夠接續運作並持續提供服務。當然,因為成本的考量,分身的環境與設備通常無法與本尊相提並論,但是基本上重要的功能都要能夠正確無誤的加以執行才可。至於兩者之間應該分隔多遠,就看你想要避免的是甚麼樣的危害(水災、地震還是核彈爆炸?)而定。當然,地點的選擇還有其他更多的條件須要考慮,前述的條件通常只是提供最小分隔距離的要求。除了這些要求,最重要的是兩者必須擁有相同的資料(記憶)與目標(想法),這樣才能對同一件事情有相同的處理結果。而這部分,就必須依靠備份策略來達成。

我看過有些中文的網頁把異地備援翻譯成Remote Backup,基本上這樣的名詞我個人認為是比較不適當的。Remote Backup可以算是異地備援的備份策略之一,但是並不是所有的異地備援都必須使用Remote Backup的策略。異地備援屬於災難復原(DR, Disaster Recovery)的一部分,也跟目前正流行的營運持續計劃(BCP, Business Continuity Plan)有關。一般異地備援我們可以分為Mirrored Site、Hot Site、Warm Site與Cold Site四種,越前面的方式在接手時所需要的前置作業時間就越少,但是相對建置或維護成本也會爆增。這些機房與設備可以由公司自行建置,也可以由服務供應商提供。除了上述四種之外,另外還有一種Mobile Site(美猴王的分身即屬之)的形式,也就是把環境建置於一個可自由移動的裝置上(通常是大型卡車),以方便逃離危險。至於選擇哪一種方式,通常是與RTO (Recovery Time Objective)有關。

而備份策略大致上有Distributed Processing、Mirroring、Shadowing與Media Archives等方式。Distributed Processing可以讓兩邊的系統同時使用兩地的資料,不但具有備援的效果,更有負載平衡的好處,相對複雜度也比其他技術高了許多。Mirroring與Shadowing可以提供幾乎同步的資料備份,但是在接手時,Shadowing的方式需要額外的重建時間。而Media Archives則須要透過人工的方式將備份資料送到分身才行。這些備份策略的選定,通常由RPO (Recovery Point Objective)決定。在同一個環境下我們可以針對不同RPO需求的資料使用不同的備份策略,以減少所花費的資源。

除了「功夫之王」之外,多年前州長阿諾也演過一部電影─「魔鬼複製人」,同樣也討論到分身這個議題。不過阿諾的分身除了擁有相同的記憶,更重要的是能力並不會減弱。但是他有一個最嚴重的缺點,就是分身與本尊之間擁有各自獨立的思想,所以並不保證能夠成為稱職的備援方案。當然,在電影中阿諾與其分身自是有志一同,共同解決了他們的敵人,但是解決完之後兩者還是必須分道揚鑣。因為他們其實是兩個獨立的個體,只是說是剛好"很像"而已。

現實生活中,當然我們沒辦法拔一根毛就產生一個備援方案,所以我們必須謹慎的規劃所需的備援計畫。所謂的謹慎,其實也不過就是在最經濟實惠的狀況下,提供滿足公司資安需求的解決方案。

參考資料,資料來源為CISSP教材:
AlternativeDescriptionReadinessCost
Multiple processing / mirrored SiteFull redundant identical equipment & dataHighest level of availability & readinessHighest
Mobile Site / TrailerDesigned, self-contained IT & communicationsVariable drive time; load data & test systemsHigh
Hot siteFully provisioned IT & office, HVAC, infrastructure, & communicationsShort time to load data, test system. May be yours or vender staffHigh
Warm sitePartially IT equipped, some office, data & voice, infrastructureDays or weeks. Need equipment, data, communicationsModerate
Cold siteMinimal infrastructure, HVACWeeks or more. Need all IT, office equipment, & communicationsLowest

備份策略
  • Replication
    • Mirroring
      maintains a real-time replica on a second disk, so its RPO affords little or no data loss
    • Shadowing
      maintains a replica of the database or file system by continuously recording changes into a log then applying changes to the replicated server. With shadowing, RPO is the last change transmitted and received and there is rebuild time.
  • Distributed Processing
  • Electronic Vaulting
    data is backed up to remote drives located off-site over high quality communication links. Electronic vaulting makes copies of files as they are modified and periodically transmits them to an offsite backup site. The transmission does not happen in real time, but is carried out in batches.
  • Remote Journaling
    Electronic Vaulting may be supplemented with remote journaling. Remote journals, transactions or journal files are periodically transmitted to the remote drives located off-site. Journaling is efficient for database recovery.
  • Media Archives
  • Storage Area Network

2008年8月21日 星期四

千萬別讓你的好朋友變成敵人的好朋友 - 危害公司內部資訊安全的應用程式或系統

當資訊安全的重點漸漸從防外(外部駭客)轉移到防內(內部員工或訪客等)時,對整個產業、管理者甚至是使用者都有了很多深層的影響。除了技術層面的問題,還有更多非技術層面的問題。包含公司的文化、管理措施、管理階層與員工的心態,都面臨了強烈的轉變需求與挑戰。

Promisec這家公司最近公布了一個線上的資料庫,裡面列出了對於內部資安產生威脅的應用程式或服務。內容包含程式/服務的名稱、嚴重性與詳細的描訴。以前我們常看到所謂惡意程式(或病毒)的資料庫,裡面列出各式各樣的程式。基本上列在上面的程式,通常沒有二話,就是阻擋-發現-移除這些動作。但是公布在Promisec資料庫的程式,仔細看有很多是大家都在使用的、甚至天天在使用的程式。或許有些還是公司所允許或已經用於工作中的程式。

這個現象代表的是甚麼?當問題從外部"延伸"到內部時,偵測/阻擋的方式已經不是最有效的方法,取而代之是需要更完整的資訊安全政策與管理措施。例如,以Wireshark來說,這是很多網路管理人員的必備工具。但是也因為它的功能強大,所以任何人都可以透過它取得很多應該屬於機密的資訊。因此,如何有效管理Wireshark的使用,讓它在發揮功能的同時不會產生危害,就是一個必須仔細思考與規畫的課題。除了應用程式的管控,網路服務的管控同樣重要,而且必須採用不一樣的手段。因為網路服務的安全問題,並不能像應用程式的問題可以透過Patch加以修正,應該如何避免問題危害到內部的使用者,是一個全新的挑戰。當然,阻擋通常還是可以做為最後的手段,但是同時也可能一併將其帶來的效益阻擋在外。甚至可能因為阻擋機制不完整,而造成只阻擋了利益卻無法避免其危害。

Promisec的資料庫提供了一個集中的地方可以讓資訊安全從業人員有一個集中的地方可以查詢相關的資訊,甚至也提供了訂閱訊息更新的服務,可以減少相關人員收集資訊的困難性與增進時效性,算是一個相當方便的工具。同時也可以提供相關人員一個學習的地方。

原文出處:

2008年8月19日 星期二

沒有用的老朋友 - 談密碼的安全性

密碼,在安全機制上扮演一個極為重要角色的老朋友,也是大家幾乎天天都會用到的技術。密碼雖然很方便,但是同時也有很多問題存在。其中一個最常被談到的議題就是密碼本身過於簡單,以導致輕易地被惡意人士猜出。另外一個就是如何安全地存放密碼的議題。存放的議題主要發生在兩個地方,一個是使用密碼的人,另一個用來檢查密碼的系統。如果其中一方沒有保管好密碼,那麼選擇再好的密碼都沒有用。有關這些議題,已經有太多相關的資料加以討論,在此我不多贅述。倒是前幾天the New York Times發表了一篇文章,認為密碼應該被全面淘汰,改用Information Card這類較安全的驗證機制。理由很簡單,因為即使你選了再好的密碼,因為目前大多認證機制與流程的不良,所以還是一樣不安全。

基本上,大部分的說法我都能理解與接受。密碼使用上確實存在很多問題,但是其中包含技術性與非技術性的原因。用文章中舉例的Information Card機制,甚至是更安全的雙重因素驗證(Two-Factor Identification),也僅能解決技術性的問題(通常還不是完全解決),對於非技術性的問題可就沒多大的效用了。而且採用了新的機制,通常也會伴隨衍生新的問題,這個就是所謂的二次風險。至於文章中提到的另外一項SSO(Single Sign-On)技術-OpenID,那就更不用說了。因為SSO的Sign-On本身要怎麼做才不會有弱點,還有不同系統之間怎麼安全地傳遞身分,同樣是挑戰之所在。

所以,首先的重點是儘管密碼安全性不高,卻是目前最方便且簡單的機制。所以如果你的系統並沒有很高的安全性需求,用密碼絕對是首選。當然,這時候要搭配的是良好密碼的選擇與使用,以及安全的認證機制設計與實作。後者正是目前大家在談的Application Security的一環。但是如果你的系統有很高的安全性需求,除了採用更安全的技術外,更重要的還是整體的設計與實作。如果沒有正確的設計與實作,再好的技術也將漏洞百出。

不管是甚麼安全機制都應該遵守這些原則,那就是依據需求找出適用的方法(技術),並正確的加以規劃(設計)與佈署(實做)。當然,事後的評估與改進也是必要的。不過,那已經不在今天我討論的範圍了。

如果我們再將問題往前看,我們要解決的是使用者驗證的問題還是如何讓使用者安全地使用網路的問題。或者說,使用者真正關心的是前者還是後者的問題?我相信大多數使用者真正關心的是後者的問題。所以如果要提出一個真正的解決方案,應該是盡量針對後者才是。而後者就需要很不一樣的解決方法。正所謂問的問題不一樣,想到的解答也不一樣。當然,這個論述跟原始的文章並沒有很直接的關連,而是跟我們平常在面對客戶的需求有關。客戶的問題是甚麼,有時候不是大家說了算,問題背後真正的問題,是不是已經被發現了,還是用了正確的技術解決了錯誤的問題而導致徒勞無功。更甚者,我們是在解決技術的問題還是需求的問題,兩者之間的分別可千萬別搞混了。

原文出處:

Linux之父厭倦了"Security Circus"

前一陣子Linux之父-Linus Torvalds針對部分過於強調以安全為名的人士之批評,引起了不少的爭議與討論。數日前Torvalds透過Email向Network World做了進一步的說明。

他認為目前兩股主要的勢力,不管是將安全性議題大肆發表以爭取吸引的目光,或是將安全性議題的相關資訊封鎖以避免產生危害都屬於太過極端的做法。即時的錯誤修正本來就是廠商該做的,而不應該跟屬不屬於安全性議題有關。所以,建立一套良好的回報、處理與修正機制,才是真正該做的事情。

他也再次強調他認為將安全性議題與修正特別標示出來並沒有實際的幫助。

這次,Torvalds的口氣似乎平和了許多,也讓我們見識到他務實的一面。當然,我們不能以偏概全,硬說所有的人都屬於Torvalds所說的那兩類。畢竟,每個人即使有類似的行為,其背後的動機也可能很不一樣。但是,就像很多事情一樣,做的比說的更重要。如何"做"好安全比如何"談"好安全更形重要,至少在開發Linux這樣實際且複雜的系統時是如此的。

原文出處:

2008年8月15日 星期五

信任是安全的基礎

今天看到一篇文章,內容講的是從所謂卡神楊蕙如現象所延伸的社會價值錯亂的問題。其中一個影響就是信任感的喪失,所以大家就習慣了以小人之心度君子之腹的思維,甚至成為日常生活的行為準則。我本人對於文章內的闡述相當贊同,也想到了兩件與信任有關的資訊安全議題。

首先,目前很流行一種叫做端點(Endpoint)安全的產品。簡言之,就是想辦法保護組織內所有的網路端點設備(個人電腦、筆記型電腦、PDA等等)的安全。當然,除了保護之外,也有管理(限制或監控)的功能。延伸來看,管理的目標其實不只是這些端點設備,更是端點設備的使用者。以前大家都很在意駭客的攻擊,現在企業更擔心來自內部使用者有心或無意的行為而影響了資訊安全。雖然大部分的數字的確證明多數資安事件的發生與造成的損失都來自於內部因素,但是這樣的產品也正式宣告企業對於員工的信任已經受到廣泛的挑戰。從前只有一些特定的重要資料或系統會執行嚴格的監控控制,現在則已經延伸到幾乎所有的行為與操作。這對資安產品的廠商來說當然是一件好消息,但是對員工來說可不是這樣了。不過,我個人認為適當的管制措施是必要的(所謂的適當是因時因地因公司而異)。只是,要如何讓善良的員工了解其必要性,進而主動加以配合,這個是比單純的選購與部署產品來的難多了。但是就像導入所有資訊系統一樣,這是確保成功的最重要因素。也就是讓員工信任公司這樣做並不是因為公司不信任員工,而是為了保護公司與員工本身。

第二個相關的議題就是很多專業的證照,都有遵守相關道德規範的要求。當然,這些要求除了書面的考題以外,往往就是一個打勾確認的動作。既然看起來這麼沒約束力,那麼到底為什麼要花心力去做這些看不到明顯效益的事情。我想,專業是需要客戶的信任,而專業的證照更需要客戶的信任以維持它的價值。要取得客戶的信任,就應該遵守所謂的職業與社會道德,不就是這麼簡單。你通常會希望跟一個很專業卻沒有道德的人合作,還是有道德也具備一定專業程度的人合作?這點對於資訊安全從業人員尤其重要。因為資訊安全從業人員所做的事情外界本來就比較難以了解,再加上對系統或架構擁有較深入的了解與更高的權限,如果真要做壞事,還真是不容易預防與察覺。所以,企業在從事資訊安全從業人員的招募時,自然會進行比較嚴格的背景審查。而資訊安全從業人員更應該好好愛惜自己的羽毛,千萬別因為一時失誤,而做出了違反職業或社會道德的行為,影響了自己的Credit。當然,有時候要維持道德的行為是很難的,甚至道德本身也有不同的詮釋。不過,維持道德是我們基本的底線,也是最重要的行事準則。否則一旦客戶失去了對你的信心,也失去對其他安全從業人員的信心,甚至是你所擁有相關證照的信心。正所謂任重而道遠,互勉之。

相關連結
看楊蕙如現象背後的社會價值

About