蔡一郎的部落格

Yilang's Blogger

談台菲網戰之攻防技術

Published by Yi-Lang Tsai under , , , on 5/19/2013 07:20:00 上午
這幾個月以來,網路上就不平靜,三月份有南韓金融與媒體以及反垃圾郵件組織遭到攻擊的事件,四月份有美聯社Twitter帳號遭入侵,發佈假消息而引起股票暴跌;目前的世界因為網路的連結,已達「網路無國界」,網際網路雖然提供我們便利的生活,但是一旦這個虛擬的世界遭到惡意的攻擊時,這時候就會影響到我們對於資訊的取得,畢竟現在許多的資訊交換都必須透過網路的連接來完成,本文並不探討台灣與菲律賓之間的國際關係以及未來的發展,僅針對此次網路攻防戰中,所運用的幾個主要機技術進行整理,也做為資安人員重新檢視與思考本身對於網路與資訊系統的防禦,如果成果攻擊的目標時該如何因應。

有機會在外面分享資訊安全研究的心得或是成果時,經常有人會問:「為什麼網站會被入侵呢?」,這個問題的答案,我大多以較標準化的回答:「因為系統、應用軟體或是所寫的程式有漏洞,而讓攻擊者有機可趁。」主要是因為網站遭到入侵的原因並不是千篇一律,不同的網站所架設的方式,因為系統管理人員在習慣上的差異,所建置出來的網站並不一定相同,因此在資訊有限的前提下,並無法很精確的知道網站到底出了什麼問題,或是為什麼會被入侵成功。
  • DDoS分散式阻斷服務攻擊
分散式阻斷服務攻擊,並不是直接攻擊目標主機的系統或是應用程式弱點,而是利用耗盡資源的手法,將目標主機的網路頻寬或是系統資源耗盡,此次的攻擊事件,主要是利用「重新整理」網頁的方式,當達到一定的請求連線數時,目標主機的資源將被耗盡,而影響到正常的服務,此次攻擊的行為中的「鍵盤攻擊」,利用的攻擊方式就是不斷的向目標網站送出更新網頁的要求,就像一直按「F5」鍵一樣,如果更新的頻率過於密集,則遭到攻擊的網站將無法處理大量的要求而影響到系統的回應效率,或是就此無法提供正常的服務,此類攻擊並無法隱暱本身的IP位址,因此容易因為遭到受攻擊方的鎖定來源IP位址而無法繼續發揮效用。


傳統的DDoS攻擊方式,大多會利用DDoS攻擊用的工具程式,直接將欲攻擊的目標主機入到工具軟體中,再進行大量的攻擊,這種攻擊的手法,則是利用許多網站使用預設的600秒Time Out時間,在這段時間內送出極大量的服務請求,而造成系統資源耗盡,效能則大幅降低至無法正常提供服務。

台灣許多的智慧型手機都是使用上網吃到飽的方案,因此在這次的事件中,已有網友寫出在手機上使用的APP程式-「歡迎來到菲律賓」,也是利用相同的原理,不斷的向目標網站發出重新整理網頁的要求,而造成對方的系統資源耗盡。

  • SQL Injection資料隱碼植入攻擊
目前大多數的網站,尤其以提供內容為主的,都會採用資料庫配合網頁程式的方式運作,而SQL Injection的發生,主要在於應用程式在處理資料庫存取上的安全漏洞,使用者可以在所提供的界面上,輸入夾帶SQL指令的字串,而這些設計不嚴謹的程式,未檢查使用者所輸入的資料,就直接執行SQL指令的查詢,而對於資料庫中的存取權限控管,就有機會能夠避開,讓攻擊者直接取得資料庫中的資料。


某個網站中做為使用者登入用的查詢指令:
strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

攻擊者在Username的欄位中填入
userName = "1' OR '1'='1";

以及在Password的欄位中填入
passWord = "1' OR '1'='1";

此時原本的查詢指令將會變成
strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"

實際執行時,將會變成
strSQL = "SELECT * FROM users;"

那整個資料就門戶大開了,攻擊者可以不需經過密碼的驗證,就對於資料庫進行資料的存取動作,這是個古老的安全問題,但是目前網路上存在這類問題的網站並不少,許多的網站程式開發人員,並未具備資訊安全的背景知識,對於資安也是等出事了再說,先把網站功能完成為優先的考量,而忽略了對於基本資安檢測的工作,實質是本身造成了資安事件的發生,此次的台菲網路攻擊中,台灣的攻擊者就將攻陷的管理帳號與密碼公開,足可見這個問題的嚴重性。
  • 受駭網站畫面
這次攻擊的雙方都有自己的訴求,也有許多的網站遭到網頁的置換,而這些受駭的網站,一定都是存在未修補的系統或應用程式的弱洞,一般的網頁置換主在是攻擊者對於本身理念上的訴求,也是要讓所有人都能夠看到本身的訴求才會進行的動作,否則如果是以竊取資料為攻擊主軸的行動,則會以儘量隱暱的方式進行,而不會讓系統管理人員發覺系統有所異常。

在許多攻擊事件中,也有許多由大陸網友所攻擊的網站,大多數以政府單位的網站為主。


  • Zone-H的回報
Zone-H.org是目前許多攻擊者在完成攻擊的行動時會去登錄的網站,因此這個網站上可以看到許多遭到入侵或是破壞的網站資料,包括回報的時間,這個時間大概就是網站遭到入侵成功,或是攻擊者不想要這個網站了,而直接將它揭露的時間,另外就是受影響的網域名稱以及所使用的作業系統,大多數出現在Zone-H回報清單中的網站,短時間內就會修復與回復到原本的網站內容,因此如果想要看當時受駭的畫面,則可以使用mirror的功能來檢視當時的網頁。


這次的攻擊事件,回報到Zone-H的網站並未增加太多,因此可以推論這次雙方的攻擊行動,主要是因應台菲事件所引發的,主要以傳達訴求的內容為主,並不是以宣揚個人的技術能力為訴求的項目。
附帶一提的,目前還是有對外服務伺服器,使用像Windows 2003的早期版本,其中還有政府單位的網站仍然使用中,目前微軟早已不再針對這些版本進行修補與維護了,當然發生被入侵或是遭到攻擊的機會就大增了,倘若事件真的發生在這些使用早期作業系統的主機上,就不能再說為什麼是我了,從駭客的角度來看,「不打你,要打誰啊?」

  • 防禦技術
在網路攻防戰中,個人認為最強大的防禦技術,就是「拔網路線」,不過這個似乎不是最好的解法,當伺服器網站面臨大規模的網路攻擊時,往往第一個想到的治標方式,就是限制服務的對象,也就是大家所知道的「鎖IP」,不過這個並無法讓攻擊的網路流量消失,只是由承受壓力攻擊能力較弱的網路伺服器,轉移到由防火牆或是路由器來丟棄來自遭封鎖網段的網路封包,同樣也會對資安設備或是網路設備造成影響,只是這類的設備能夠承載的網路流量較高,而且大多有專門處理網路封包的處理器,較不容易短時間內受到影響。

畢竟網站就是對外提供服務的,另一種做法避免自動化的登入或是更新畫面的要求,因此這次的事件中,菲國政府採取的「圖形驗證」的作法,也就是必須輸入網站中的圖形內容,才能夠完成讀取網站內容的動作。

對於阻斷服務攻擊之類的網路攻擊,另一種方式則是「加大本身的系統資源與網路的頻寬」,當基礎設施到達對方所無法達到的攻擊量,也可算是暫時偏安了,因此未來雲端服務的時代,所面臨的威脅將會更大,因為網站與架構虛擬化的結果,讓實體資源的使用更有效率,但卻是高密度的使用這些實體的資源,一旦大規模的網路攻擊發生時,實體資源將更快耗盡,而不需要像現在需要大規模的進行攻擊才能夠耗盡資源。採用可以阻擋DDoS攻擊的資安設備,例如:入侵防禦系統(IPS),也是一種因應DDoS攻擊時可以採用的作法。

  • 迴避技術
利用網路上開放服務的代理伺服器(Proxy Server),利用這些代理伺服器的服務對於本身所使用的IP位址進行隱暱的處理,這類的伺服器在許多國家都有,因此如果受攻擊方想要針對攻擊來源進行阻擋,則這些開放服務的代理伺服器也需要納入阻擋的清單中,只是這個數量太大了,設定成阻擋的清單後,有可能直接影響網路設備與資安設備的效能。


Hide My Ass! http://hidemyass.com/proxy-list/

另外也可以透過像SafeIP之類的軟體,在自己的主機上安裝使用者端的程式,透過軟體提供隱暱IP的服務,再運用相關的攻擊工具,則可以破解對方利用鎖IP的方式針對攻擊法所進行的封鎖行為。

SafeIP http://www.freesafeip.com/

  • 結語
時至今日,許多人開始理性的思考如何因應現在的局勢,這是好事,也是讓我們有機會重新調整國際戰略,讓我們的國家更好。


最後,個人重申:發動網路攻擊並不是正當的手段,畢竟目前許多的資訊服務必須依賴在現有的資訊架構上運行,包括了金融、醫療、財稅等,這些一旦遭到惡意的破壞都可能讓我們的世界失序,寫到這就不免想到之前看過的「The Net 網路上身」以及「DieHard 4.0 終極警探 - 網災來襲」,希望我們不會有一天在真實的世界中遇到電影中的場景,那可就是一場大災難了。