蔡一郎的部落格

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 終極警探 - 網災來襲」,希望我們不會有一天在真實的世界中遇到電影中的場景,那可就是一場大災難了。

當PT不只是PT時

Published by Yi-Lang Tsai under , , on 1/23/2013 10:30:00 上午
什麼是P.T.呢?雖然筆者有位好友P.T. Chen也在做P.T.,但是這篇不是要介紹他的故事,而是要介紹這個資安人不能不知道的進階技術,P.T.是Penetration Testing的縮寫,中文大多翻成「滲透測試」,簡單來說,當一個系統經過層層關卡的保護,架設防火牆、入侵偵測(防禦)系統、網路封包分析設備等,在系統上也針對系統的弱點、應用程式的弱點進行了修補,看似萬無一失的時候,該如何進行驗證呢?此時就是進行滲透測試的最佳時機了,而滲透測試可以說是弱點掃瞄(VA, Vulnerability Analysis)的延伸,當我們針對受測的系統完成了弱點的分析工作之後,該如何進行弱點與風險的驗證呢?採用PT的手法來進行,是相當好的處理方式。

目前常見的測試工具,專業的測試人員會自行搭配熟悉與精通的工具,甚至自行開發專用的測試環境,不過對於剛入門的測試人員而言,採用目前較常用的測試工具集,是一個較容易學習測試技術的管道,其中以BackTrack系列的測試工具集,是當下最多人使用的,其中分門別類,將不同應用的工具進行歸類,對於使用者而言,可以快速的找到對應的工具,在執行測試的工作時,可以縮短自行建置環境的時間。

BackTrack是一套以Linux為核心所配置出來的工作環境,使用上可以採用實體安裝以及虛擬主機的運作方式,在網頁上都可以下載到對應的系統映像檔,如果是經常需要進行滲透測試的人,筆者建議最好能夠建置一個專屬的環境,並且配合自己所熟悉的工作環境,對於滲透測試工作的進行,能夠收到事半功倍的效果;如果是想要學習測試工具的人,則建議可以先使用虛擬主機的方式來進行相關工具的實作,可以的話配合在主機端進行網路封包的分析,可以更進一步的瞭解測試工具所送出的通訊協定以及測試用的指令,這些對於學習更進階的測試技術,是相當有幫助的。



因為在進行測試時,可能會需要具備高度的可攜性,因此也可以將下載回來的映像檔,製作成USB隨身碟可以開機的系統,直接在USB隨身碟上,安裝BackTrack Live的系統,安裝的方式大致上如下:

1.準備一隻至少2GB以上的隨身碟。
2.將隨身碟插入USB插槽,並且將檔案系統格式化成FAT32。
3.下載與安裝 Unetbootin,下載位址為http://unetbootin.sourceforge.net/
4.開啟Unetbootin並且選擇由BackTrack下載的ISO檔案。
5.選擇你的USB隨身碟,並且開始建立BackTrack Live。
6.製作完成重新啟動電腦,選擇使用USB裝置開機。
7.BackTrack的登入帳號與預設密碼為 root / toor。

近期BackTrack將重新釋出下一代的測試工具-Kali Linux Teaser,網站上已有相關的資訊,可以供大家做個參考,想必從事滲透測試工具以及想要學習這方面技術的人,將可以關注新版本的釋出。
(Kali Linux Teaser)

如果單以PT時必要的工具而言,筆者建議有興趣從事此方面工作的人,可以熟悉以下五套最基本的軟體,可以協助測試工作的進行。

  • Metasploit
Metasploit可在Windows與Linux平台上使用,屬於進階的測試工具之一,主要在於可以提供測試人員使用Remote Shell的功能,執行Shellcode或其它的命令,在測試過程需要謹慎使用,以避免測試的目標主機當機或是發生系統異常的情況。
  • Nessus
Nessus可以免費使用在非商業的服務上,針對指定的目標主機進行弱點的分析,配合多種不同的掃瞄方式,針對主機進行不同層度的探測,以做為滲透測試時的參考,例如:存在的風險或弱點等。
  • Nikto
Nikto屬於自由軟體的Web服務測試工具,針對網站服務進行細部的檢測工作,包括弱點的分析以及弱點的運用等,可以透過Nikto所提供的功能進行檢測。
  • Nmap
Nmap屬於多功能的測試工具,也可以應用在大範圍目標的檢測上,包括系統所運行的服務,能夠透過所提供的測試方式,進行目標主機環境的確認。
  • Wireshark

Wireshark前身為Ethereal,為著名的網路封包分析工具,目前以Wireshark發行自由軟體的版本,提供的軟體界面,具備過濾條件以及封包查詢的功能,對於想要瞭解網路封包結構以及通訊行為的人而言,是相當好的幫手。


相關網站:
Back | track-linux.org http://www.backtrack-linux.org/

數位鑑識之磁碟複製篇

Published by Yi-Lang Tsai under , on 8/30/2012 01:53:00 下午
數位鑑識在近一、兩年來,在國內有越來越熱門的趨勢,今年因應個資法上路,未來可以想像到的就是發生資訊安全事件,例如:機敏資料外洩時,必須透過一套可以被信任且標準的處理流程,首先介紹在事件調查過程中,經常會使用的磁碟複製設備(Talon),這個設備主要用來將需要採證的目標主機上的磁碟進行複製,這個是最重要的處理流程之一,除了必須確保資料可以完全且完整的複製之外,還需要符合法證上需要的不可否認性的要求,這個也就是這類型的設備價位偏高的原因之一,因為在設備本身硬體的設計上,就需要避免原始的證物遭到污染的可能性,以往進行磁碟複製時,往往會使用DD之類的工具,不過因為這樣的複製方式,必須先將磁碟與運作中的系統連結,除了可能會讓原本想要複製的磁碟遭到資料上的異動外,也可能無法做為未來法庭上的證據,再來就是複製磁碟的時間太久,因為目前的磁碟容量越來越大,超過1TB的磁碟已是相當常見的,採用軟體的方式來處理,最令人無法接受的,就是需要相當久的時間,才能夠完成磁碟的複製,這些都不是可以被接受的。


可攜式的硬碟複製設備,經常就需要帶著前往出事的地點,直接在現場進行受害主機的硬碟複製,因此需要相當快的處理速度,以目前使用的設備而言,每分鐘目前可以達到資料擷取6 Giga Bytes以上的處理速度,可以大量的節省現場取證時製作映像檔的時間,將想要進行採證的硬碟接上設備後,首先必須先確定是否可以被識別。

一般來現場之前,都會先準備好夠大的硬碟準備進行資料的複製,如果還沒完成這個程序,就需要先將目標硬碟進行抹寫(Wipe)的處理程序,以避免原本的目標硬碟上,有殘存之前的證物。

進行抹寫(Wipe)之前,需要先輸入工作日誌的檔案名稱,一般我們會以當天的日期,再加上序號或工作編號之類的方式,以方便日後可以快速的依據事發的時間,進行資料的查詢。

雖然已經是專用的設備了,進行目標資料的抹寫,還是需要許多的時間,所以這個程序最好在出發前就先做好,或是平時先準備好幾顆已完成處理的硬碟備用,可以縮短在事發地點作業的時間。

接著介紹一下這個設備的外觀與相關的界面,從正面來看主要是設備上的鍵盤,可以提供我們輸入一些簡單的資料,左方有三個簡單的按鍵,以確定執行或是進行功能的設定,而右方是目前設備狀態的置號,而中央的液晶螢幕,則是主要的觸控式操作界面,功能選單的操作,都是直接在螢幕上以觸控的方式操作。

設備本身在界面上的設計,就必須思考到各種可能性,以及目前電腦常見的連接界面,包括Serial、1394、USB等,當然還需要有電源的連接埠。

另外也支援一些常見的儲存媒體的型式,各種不同的記憶卡,在設備的下方也可以找到相對應的插槽。

對於硬碟的複製設備而言,硬碟界面的支援當然是最重要的,分別以S1與S2代表不同的資料來源,在界面上也同時能夠支援目前常見的硬碟界面與電源接頭。

把設備打開,就可以看到目標硬碟的界面,分別以D1與D2來識別,在這必須選擇與來源硬碟容量相同或是容量更大的硬碟,當做複製後的硬碟。
採證是進行事件調查相當重要的一個步驟,必須能夠確保複製後的資料與原本的一模一樣,也必須避免因為作業上的錯誤,造成原始硬碟資料的損壞,這些都是在採證中需要特別留意的。