顯示具有 Article - Security 標籤的文章。 顯示所有文章
顯示具有 Article - Security 標籤的文章。 顯示所有文章

2011年5月8日 星期日

20大病毒史,見證單一目標與組織化攻擊,取代迅速擴散大量爆發

http://domynews.blog.ithome.com.tw/post/1252/97077
06 五月, 2011 07:17
由 崔嘻 發表

網路防毒專家趨勢科技,根據病毒史上首創概念驗證型病毒與電腦疫情擴散的嚴重性條列出史上20大病毒。

趨勢科技資深技術顧問戴燊表示:1998 CIH登上 CNN 國際媒體起到2001年間 Melissa ,Love bug , Code Red ,Nimda 相繼因為大量且快速散播成為國際媒體關注焦點。 2004年起病毒攻擊轉向地下化, 殭屍網路/傀儡網路

Botnet 開始募集大批被感染電腦成為網路犯罪的替身,尤其是竊取機密資料進行地下交易。」 趨勢科技並發現近年來,鎖定單一目標的惡意程式攻擊已經相當普遍,而且不斷入侵政府機關、軍事單位、民間企業、教育機構以及一般民間網路。雖然美國政府與相關網路遭到此類攻擊已不是新聞,但越來越多其他國家的政府和民間機構也面臨了同樣的威脅。

病毒史中的第一

40年前首隻Creeper 病毒在DEC 10電腦的TOPS TEN操作系統下運作開始,無論是僅僅證明病毒撰寫者功力的概念驗證病毒( 1995 Word Concept );或是1989 Stone病毒強迫開機並顯示戲謔訊息;還是破壞開機區的1992年的米開朗基羅病毒, 這些病毒已經宣告走入歷史,相對的以傳統病毒碼比對強調高偵測率的防毒軟體,已經不足於對抗短時間內不斷自我上網更新的木馬間諜、隨時更換 IP 的網路釣魚假網站、潛伏在許多知名網站的零時差漏洞攻擊等等。

  • 1988 BRAIN大腦病毒是首隻感染 IBM 個人電腦也是首隻被媒體大量報導的病毒
  • 1992年首隻會破壞硬碟的病毒米開朗基羅現身
  • 1999年起Email 成為感染媒介
  • 2000年起 病毒擴散速度以時為單位
  • 2001 Code Red 紅色警戒開啟系統漏洞攻擊
  • 2000年以好奇心為餌的社交工程 ( Social Engineering )陷阱手法開始被啟用至今
  • 2004殭屍網路/傀儡網路 Botnet感染不計其數受電腦,藉以散播垃圾訊息,發動網路攻擊甚至竊取個資等等Bagle Bobax 是最早用來散發垃圾郵件的二個殭屍網路Botnet

2004年大量爆發到無聲攻擊的分水嶺

l 2004年前病毒擴散全球速度愈來愈快,從數年到數小時

l 2004年起病毒從大量爆發到走入地下經濟竊取個資

l 2007年起駭客工具套件逐漸成為網路犯罪幕後主要推手

l 2007年起ITALIAN JOB之後,以往大量爆發的病毒漸漸走入歷史,取而代之的是以謀利為目的竊取資料的網路威脅軟體

<從數年到數小時> 2000年前病毒以擴散全球速度爭高下

  • 1995年前成為全球第一大病毒需要3年的時間
  • 1995年首隻文件巨集病毒Word Concept 現身後,時間縮短為4個月即可擴散全球
  • 1999 Melissa 梅麗莎這隻透過電子郵件散播的主要病毒,開啟網路病毒大量快速散播的年代。蔓延全球僅需4天。
  • 2000 LOVEBUG / I Love You 情書/愛情蟲,」I Love You」信件標題,開啟純粹由社交工程 ( Social Engineering )陷阱手法驅動的伎倆,10年了,仍是資訊安全領域中最脆弱且無法修補的人性漏洞」趨勢科技 XXX表示。蔓延全球加速至4天小時速度。

<組織化犯罪興起>2004年傀儡網路幕後主控全局

2000 年左右,散發垃圾郵件基本上還是一種「在家兼差」的行業,而大量的垃圾郵件則大多透過專屬的伺服器農場、公共轉寄伺服器或者是遭到入侵的伺服器來傳送。

不過,2004BagleBobax Mytob 的出現,徹底改變了這樣的情況。Bagle Bobax 是最早用來散發垃圾郵件的二個殭屍網路/傀儡網路 Botnet,而 Mytob 惡意程式則基本上是大量郵件散發蠕蟲 MyDoom 以及 Bot 網路 SDbot 的合體。從此,網路犯罪者只要建立一個大型的 Bot 網路,就能利用這些受害的電腦來散發垃圾郵件,這樣不但機動性和彈性更高,最重要的是,能夠躲避執法機關日漸積極的封鎖行動。

趨勢科技 資深技術顧問戴燊表示: 過去動輒上國際媒體的大病毒似乎從10 年前的Mellisa , I love You 病毒開始但這幾年大病毒開始低調了,因為不出聲地潛伏在網路里,可存活更久,竊取更多的機密資料,藉以在地下經濟市場販售圖利。大約在 2004 年左右,殭屍網路/傀儡網路 Botnet的犯罪利用價值逐漸開始明朗化,2005Rootkit成為惡意程式世界中最受歡迎的隱匿行程工具。2007 STORM WORM透過上千的覆式流程,最後形成了世界最大的殭屍網路/傀儡網路 Botnet。一度認為共有高達15百萬台電腦同時遭到感染,受地下犯罪世界所操控。

<組織化犯罪> 2006年起ZeuS成為最廣泛使用的資訊竊盜犯罪工具


RuStock 最早出現在 2006 年,同年還有目前相當惡名昭彰的 ZeuS 犯罪程式家族RuStock 也是一種垃圾郵件殭屍網路/傀儡網路 Botnet,而 ZeuS 則是一種資訊竊取工具。從此開始,ZeuS 幾乎已成了最廣泛使用的資訊竊盜犯罪工具。

ZeuS 的 作者一直不斷在開發、測試並釋出新版的程式,因此其功能不斷增加,也不斷改進。由於新的版本已開始對外販售,而且價碼很高,因此,舊版的就被放到網路上供 人免費散播。通常,這些舊的版本都含有網路犯罪者所暗藏的後門,因此,用了這些舊版程式的犯罪新手,也同樣成了受害者。

免費犯罪工具的出現,不僅降低了網路犯罪的進入門檻,也鼓勵了更多有意從事網路犯罪的人加入行列。不過,ZeuS 並非網路上唯一唾手可得的工具,還有許多其他工具在彼此競爭,不過都是針對非專家所設計,提供了簡單的點選式感染電腦管理介面。

<目標攻擊> 2011年目標攻擊案例逐漸浮出檯面

今年稍早,加拿大南韓法國政府一些敏感的網路都曾發生嚴重的資安事件。最近,歐盟執行委員會 (European Commission) 與歐盟對外事務部 (European External Action Service) 也都遭到入侵。此外,資訊安全廠商 RSA Comodo 也都坦承發生安全事件,其中,至少 RSA 的案例看來就是一起鎖定單一目標的惡意程式攻擊。

雖然大多數的網路使用者可能一輩子也不會成為駭客鎖定的單一目標,反倒比較容易成為一般威脅的受害者,例如:假防毒軟體 Fake AV 網路銀行木馬程式 (ZeusSpyEye),但專門從事單一目標攻擊的惡意程式樣本數量卻從未減少。不過,實際上,攻擊目標的針對性也有很大的變異。有些惡意攻擊者喜歡四處散發惡意文件 (通常會利用某些主題或問題來執行社交工程 ( Social Engineering )陷阱),這類攻擊很可能是針對特定目標的後續攻擊前兆。

附件:病毒史中的20大病毒

1. CREEPER (1971) 首隻Creeper 病毒是在DEC 10電腦的TOPS TEN操作系統下運作。

2. ELK CLONER (1985) 是首隻在Apple IIe 中運作的病毒。這隻病毒是由一個 15歲的高中生所撰寫。

3.THE INTERNET WORM (1985) 是由Cornell 康乃爾大學的一名研究生所撰寫,是首隻造成網路的停擺病毒。

4.PAKISTANI BRAIN大腦病毒 (1988) 是第一隻感染IBM個人電腦的病毒,由來自巴基斯坦的兩兄弟所寫成。雖然病毒在科幻故事中已為人熟知,這卻是首隻受媒體大篇幅報導的病毒。

5.JERUSALEM FAMILY耶路撒冷 (1990) 此病毒約有59個變種,是以當時最多變種的病毒,據信來自Jerusalem耶路撒冷大學。

6.STONED 石頭(1989)是在病毒開始肆虐的第一個10年間散播最廣的病毒,stoned是開機程式/ mbr感染程式,會計算從受感染開始的重新開機次數,並顯示一則「你的電腦恍神啦」訊息。 「your computer is now stoned

7.DARK AVENGER MUTATION ENGINE (1990) 實際上是在1988年寫成的,但到了90年代初期才被運用在如POGUECOFFEESHOP病毒中。這個變種引擎是第一個真正在網路間流傳的千面人Polymorphism病毒, 千面人病毒乃指具有"自我編碼"能力的病毒,其目的,在使其感染的每一個檔案,看起來皆不一樣,藉以躲避以掃瞄固定病毒碼為技術的防毒軟體偵測,可說是第一個會干擾防毒軟體偵測的病毒,從此改變了病毒的作用方式。  

8.MICHEANGELO 米開朗機羅(1992) STONED的變種,挾帶了致命性的惡意程式。在36,這隻病毒將會清除掉硬碟中的前100的區塊,讓硬碟毫無用處。

9.WORLD CONCEPT (1995) 是網路間第一隻Microsoft Word Macro文件巨集病毒,Word Concept會顯示一則訊息「這就足以表達我的論點」「That's enough to prove my point」 的訊息。此病毒開啟了電腦病毒的次世代,由於此電腦病毒會讓駭客所需的技術階層下降,因此深具重要性。

10.CIH/CHERNOBYL (1998) 是當時有史以來破壞力最大的病毒。發生在任何一個月份的26日(依不同的病毒版本為主),會同時清除硬碟及造成電ROM BIOS毀滅性破壞,導致點腦無法使用。由於它執行於舊的Windows 9X作業系統,CIH不再像剛出現時分佈那麼廣泛傳播

11.Melissa 梅麗莎(1999) 首隻透過電子郵件散播的主要病毒,也是網路病毒」開啟年代。雖然Melissa不具毀滅性,但所到之處因為會複製並塞爆電子郵件匣而造成干擾。1999 326日晚間MELISSA展開大規模的 "全球性感染",一夕之間迫使著名的大型企業強迫關閉他們的 EMAIL SERVER,紐約時報( NEW YORK TIMES)甚至以 "前所未有的 INTERNET 病毒風暴" 來形容,FBI也對各公民營企業發出呼籲,甚至發出通緝令將逮捕該名病毒作者。

12.LOVEBUG / I Love You 情書/愛情蟲(2001)最熱門的電子郵件病毒,純粹由社交工程 ( Social Engineering )陷阱手法驅動。

13. Code RED紅色警戒 (2001) 是以一款暢銷的高咖啡因含量不含酒精之飲料為名,這隻網路病毒不需透過電子郵件或網頁來散佈。它自己會去尋找並感染具弱點漏洞之電腦該電腦。

14. NIMDA娜妲(2001) 被稱為「瑞士萬用刀」的病毒使用緩衝區溢位,電子郵件網路分享等不下10 種之方式進入到網路中。

15. BAGEL/NETSKY (2004) 這兩隻病毒會在程式碼中互相較勁,用不堪的髒話隔空喊話,互相攻擊對方。每隻病毒都分別有上百的變種,及不同數量的新技術和成功紀錄,也因此這兩隻病毒幾乎整年皆是新聞話題。同時 Bagle Bobax 是最早用來散發垃圾郵件的二個殭屍網路Botnet

16.殭屍網路/傀儡網路 Botnet (2004) 這些網路的傀儡殭屍戰士們讓網路犯罪份子們取得了不計其數受感染的電腦,這些電腦皆可在網路中被重新設定來轉寄垃圾訊息,感染新的受害者,偷取資料,讓不肖之徒可以利用來運作。

17.ZOTOB (2005) 病毒只會感染未經修補的windows2000系統,但也拿下了數個主要的媒體網站,包括CNNNew York Time紐約時報。

18.Rootkit (2005) 廣義來說,Rootkit其實是一項技術,用來隱藏其他行程、檔案或者網路使用者。已成為惡意程式世界中最受歡迎的隱匿工具。作用在利用避開操作系以使其它的惡意軟體隱形。

19. STORM WORM (2007) 透過上千的覆式流程,最後形成了世界最大的殭屍網路/傀儡網路 Botnet。一度認為共有高達15百萬台電腦同時遭到感染,受地下犯罪世界所操控。

20.ITALIAN JOB (2007) 不是單一的惡意軟體,而是使用以MPACK為名的預先包裝工具套組進行協調攻擊。手法包括腐蝕超過上萬的網站,造成植入現代的竊取資料的惡意軟體(Data Stealing Malware)。

2010年8月31日 星期二

psad:建構埠掃描的即時監測系統

http://www.netadmin.com.tw/article_content.asp?sn=1008040015
文.吳惠麟

相信每個網管人員在例行的Log資訊檢查中,經常會發現有些不速之客不斷地試著要登入系統(暴力攻 擊法),或者利用埠掃描(Port Scan)的工具掃描系統。埠掃描不但使網管人員不勝其擾,而且埠掃描往往是駭客想要入侵的前兆,因此建構一套能夠即時偵測埠掃描並以電子郵件通知管理者 的偵測系統,對網管人員來說將有莫大的助益。
本文將結合開源碼的相關資源,實作出一套「埠掃描偵測系統」,所需的相關套件如下表所示。

作業系統掃描原理

在駭客決定攻擊目標後,第一個步驟往往是先行探測目標主機的作業系統。由於每一家作業系統對封包的處理方式均不同,探測軟體即可利用此種特性來辨識出不同的作業系統。

由於此種方式就像人類的指紋一樣,所以又稱為「作業系統指紋(OS Fingerprint)」辨識,作業系統探測方式可分為主動式及被動式,如下所述:

主動式
探測軟體透過傳送特別打造的TCP、UPD或ICMP封包至被探測主機端,再根據被探測主機回傳的封包特徵,來辨識出該主機的作業系統。此種工具以Nmap為代表,其官方網址為「http://nmap.org/」。

被動式
探測軟體並不主動傳送封包至被探測主機上,而是被動地監看往來封包,藉由往來封包的特徵來辨識出作業系統,此種探測軟體以P0f為代表。官方網址為 「http://lcamtuf.coredump.cx/p0f.shtml」。囿於篇幅,本文不多加探討此種探測技術,有興趣的讀者自行參閱相關說 明。

接下來,說明主動式作業系統的辨識原理。

FIN封包探測或XMAS封包探測
掃描軟體送出一個FIN封包(或任何未設置ACK或SYN標記位元的資料包)至欲被探測的主機上,在正常的TCP/IP規範(RFC793)中,對於此類 封包不予理會,但在某些作業系統(如Windows系統、Cisco等)上,將會回應一個Reset(RST)封包。掃描軟體即可利用此種特徵來辨識出作 業系統。由於此種封包在封包表頭上的長相就像一顆聖誕樹一樣,所以又稱為XMAS(聖誕節)的封包探測。

Bogus(偽造)封包探測
掃描軟體在SYN封包的表頭上(Header)設置一個未定義的tcp旗標(Flag)值,正常的TCP/IP規範規定對於此類封包是不予理會的,但在某 些作業系統中當遇到此類封包(SYN+ Bogus)時,將會回應Reset封包來重置連線。掃描軟體即可利用此種特徵來辨識出作業系統。

以TCP Initial Windows探測
TCP Initial Windows(TCP初始化訊窗)是一種控制網路流量的機制。在傳送的過程中,如果已傳送了訊窗大小的封包,即表示須接收到對方的ack回應後,才能繼 續傳送,但在某些作業軟體上,訊窗的長度是固定的,所以掃描軟體可利用此種特徵來辨識出作業系統。

ICMP TOS(Type Of Service)判別
ICMP全名為Internet Control Message Protocol,中文叫「網際網路訊息控制協定」。ICMP基本上是一個錯誤偵測與回報的機制,通常是用來檢驗網路的連線狀態與連線的正確性。常用的ICMP類型說明如右上表所示。

ICMP封包除了可用來確認主機的狀態外,也可利用探測作業系統的種類,探測程式可利用ping程式送出一個icmp echo的請求至要探測的主機上,再由對方主機回應的echo reply封包中的TTL(Time To Live)的欄位值。不同作業系統對於TTL欄位值的設定都不一樣,用來初步判斷主機的作業系統。有興趣的讀者可利用ping指令來觀察Linux系統及 Windows系統回傳封包的TTL欄位:

執行指令「ping <受測主機>」來測試其回應值,即可發現兩種作業系統所回應封包中的TTL值明顯不同。掃描軟體即可利用此種特徵來初步區分作業系統的種類。下圖所示為Linux與Windows作業系統的測試畫面。

▲Windows系統測試畫面。

▲Linux系統測試畫面。

從圖中可以明顯看出不同的作業系統會設定不同的TTL值,探測軟體即可利用此種特性來初步判別作業系統的種類。

另外一種探測方式是利用管理者不當的設定系統組態而造成的作業系統資訊外洩。利用指令「telnet 」即可能獲知作業系統的資訊,如下圖即可得知該主機的作業系統。

另外,也可利用現成的工具來探測主機的作業系統,例如使用「nmap -O 」來偵測主機的作業系統,如下圖所示。

(更多精采文章詳見網管人第55期)

2010年7月25日 星期日

開源防火牆搭配優質外掛,自建Netfilter-Recent,抵禦拒絕服務攻擊

http://www.netadmin.com.tw/article_content.asp?sn=1007020010
文.吳惠麟
原題名:開源防火牆搭配優質外掛,封殺攻擊連線來源,自建Netfilter-Recent,抵禦拒絕服務攻擊

自從2000年全球駭客串連於中國農曆新年期間發動「拒絕服務攻擊」(Denial of Service,DoS)的「中國新年攻擊」事件一舉癱瘓各大著名的商務網站如eBay,Yahoo等發生後,拒絕服務攻擊手法即一戰成名。
由於DoS此類攻擊技術的門檻較低,僅需足夠的硬體及網路上隨手可得的攻擊程式,因此相 關的攻擊事件層出不窮,也常使網管人員頭痛不已。本期筆者將使用netfilter架構中的recent模組來偵測並阻斷拒絕服務攻擊,以防止此類的攻 擊。希望能達到下列的功能,而本解決方案所需的套件如下表所示:

●可記錄嘗試拒絕服務攻擊或暴力攻擊的惡意來源IP。 ●可即時阻斷正在攻擊的來源。 ●提供一個網頁介面的管理,可方便管理者查看惡意來源IP。

何謂DoS
DoS攻擊主要是利用TCP/IP通訊協定的漏洞來發動洪水封包,就像組成一支Call In部隊,不斷地Call In被攻擊公司的客服專線,而使得客服專線無法正常的服務,來癱瘓受害者主機或利用服務主機程式的漏洞實施緩衝器溢位的攻擊(Buffer Overflow)讓服務主機程式當掉,進而停止服務。以TCP/IP通訊協定的漏洞來實施DoS攻擊,可分為下列幾種攻擊型式:

TearDrop
當封包資料在網路上傳輸時,會據MTU(Maximum Transmission Unit)來設定最大的切割長度並記錄被切割封包的位移值(Offset),當封包到達目地端後,目的主機即利用位移值來重組封包以復原資料。

TearDrop攻擊則是利用IP封包重組的漏洞。假造含有不正確位移值的封包,當這些封包到達目的主機後,可能會在重組的過程,因為無法處理不正確的位 移值,而可能造成一些系統當機。如下圖示,在Linux系統下可利用ifconfig指令來查詢MTU資訊,而每個片段會是1500。

Land攻擊
在TCP/IP協定的定義中,IP封包的來源位址可自行定義,不一定為有效位址。Land攻擊即是利用此種特性,透過IP Spoofing(IP欺騙)技術將SYN封包的來源位址與目的位址設定為相同位址。當目的位址接收到此類封包後,根據三向式握手(Three-way Handshake)動作回應SYN-ACK封包給來源位址,由於來源位址與目的位址相同,所以會回應ack封包,而建立空連接。在大量的Land攻擊 下,即會建立大量的空連接,藉以消耗光受害端主機的資源。

ARP攻擊
ARP(Address Resolution Protocol)協定是用來取得網卡的MAC位址的協定,例如10.4.1.2(以下稱為來源端)欲連線到10.4.1.10(以下稱目的端),來源端 會先查詢本機的arp表格,以Windows為例,可利用「arp -a」指令查詢本機的arp表格,即IP與MAC的對應表,如右上圖示。

倘若arp表格中沒有10.4.1.10相關的紀錄,則會發出arp廣播,詢問是否有10.4.1.10主機,如果10.4.1.10存在,則會回應 arp Response封包,內含IP與MAC對應的資料,告知本身的MAC位址。而後,來源端會將10.4.1.10及所屬的MAC位址寫入arp表格,流程 如下圖示。

而ARP攻擊(ARP Spoofing)即是由一個攻擊主機不斷的發出偽造的ARP Response封包,內含被攻擊者主機IP及攻擊者主機的MAC位址,如下圖示。

若上圖中其他主機欲連線至被攻擊端主機時接收ARP Response,如果接收到攻擊端所發出的ARP Response封包,便會將該錯誤的ARP資訊寫入自己的ARP Table內,之後若要連線到被攻擊端主機,即會將封包送往攻擊端的主機,因為ARP Table記錄被攻擊端主機的MAC為攻擊端主機的MAC,此種攻擊方式稱為ARP欺騙,其可能會造成下列的後果:

拒絕服務攻擊
假如攻擊者所發出的ARP Response封包,IP位址為被攻擊端的主機,而MAC卻是一個不存在的主機。那接收到此ARP Response封包的主機,會因此無法連線到這個被攻擊主機上,因為MAC位址不正確。

中間人攻擊
以上例而言,假如攻擊者所發出的ARP Response封包,IP位址為被攻擊端的主機,而MAC卻是一個卻是攻擊者主機的MAC。假如攻擊成功的話,其他主機要連往被攻擊端主機時,會將封包 送往攻擊者主機上,因為被攻擊端主機的MAC填的是攻擊者主機的MAC,而攻擊者可在處理完封包後,再將封包轉發到真正的主機,如此使用者並不會察覺到任 何的異樣,但封包已經過攻擊者主機(中間人)處理過(如側錄),所以此種攻擊法又稱為中間人攻擊。

由上述說明得知,如果正牌之被攻擊主機回應的ARP Response速度比攻擊者所發出的ARP Response速度還要快,則其他主機所接收到的ARP Response封包是正確的(此種攻擊則未必能成功)。

此外,利用設定靜態ARP表格(將重要的主機如Gateway以靜態設定方式設定ARP)也可使ARP攻擊失效。

在Windows系統下,使用「arp -s [ip] [MAC]」指令即可在ARP表格中新建一筆紀錄,因此一般的資安建議,均會要求使用者用靜態的ARP設定來設定重要主機的MAC紀錄,以避免此類的攻擊。

SYN Flood攻擊
TCP採三向式握手以建立連線,如下圖示。SYN Flood攻擊即利用上述第三步驟,在接受目的端的SYN-ACK封包後卻不回應ACK封包。如此可迫使受害者主機端須維護一份非常大的半連接列表,而被 害主機將會因須耗費大量的主機資源來維護此份半連接列表,而可能造成受害者主機因資源耗盡而中止服務。

(更多精采文章詳見網管人第54期)

2010年6月16日 星期三

以開源碼L7-filter實作L7防火牆

http://www.netadmin.com.tw/article_content.asp?sn=1006040010
文.吳惠麟

隨著網路服務的多樣化,有越來越多的服務,不再採用固定埠的服務方式,轉而採用動態埠的服務方式,亦即每次傳輸所使用的埠均不相同。例如經常令企業頭痛不已的P2P下載,所使用的埠即是採用變動的方式,而有些服務會隱藏常見的通訊埠,譬如利用80埠。
在目前網路災情頻傳的情況下,傳統基本的L4防火牆已無法能夠正常地控管這些服務,而需要更高階的L7防火牆,直接根據應用層的特徵來辨識網路服務,進而控管該網路服務,如禁止使用P2P傳輸。

本文將利用開源碼社群中的L7-filter搭配netfilter機制來實作L7防火牆,直接根據應用層的特徵來控管企業內的網路服務,以補L4防火牆的不足。在本解決方案中,將會使用下表中的開源碼軟體:

何謂netfilter/iptables

netfilter/iptables是Linux系統最有名的L4防火牆(Firewall)軟體。所謂的L4(Level 4),意指OSI模型中的第四層。在1977年,國際標準組織開始發展一套共通標準化的通訊協定標準,並於1984年時頒布OSI(Open system Interconnection)模型,將網路通訊協定區分為7層,各層各司其職,如下圖示。

時至90年代中期,網際網路興起,使得TCP/IP通訊協定成為全世界利用最廣的通訊協定。TCP/IP可視為精簡的OSI模型,將網路通訊分為4層,如下圖示。

TCP/IP模型分為「應用層」、「傳輸層」、「網路層」及「連結層」。「應用層」主要定義點與點的交換方法,如HTTP、FTP等通訊協定。「傳輸層」 主要定義資料傳遞的方法,如TCP(可靠性傳輸)或UDP(不可靠性傳輸),在此層中含有主機IP、埠、MAC等資訊,「網路層」則用來定義IP、 ICMP、ARP等通訊協定,並定義封包路由(ROUTING)的方式,好讓不同網域的主機可相互通訊,而「連結層」定義網路底層的架構資訊,主要的目的 在於傳送與接收實體層所傳送的訊號。

而netfilter僅能針對上述模型中的傳輸層的封包進行控管,此即稱L4防火牆,這也是為什麼使用動態埠的網路服務需要L7防火牆的原因。因為傳統的 L4防火牆僅能利用IP(來源IP或目的IP)、通訊埠(如來源Port)或MAC(來源MAC或目的MAC)來控管往來的封包,當某個網路服務使用動態 埠或偽裝成一般埠如80埠時,傳統的L4防火牆即無能為力。在本文中即是利用L7-filter來為netfilter機制加上L7的過濾功能,讓 netfilter能直接從應用層的封包特徵中定義出網路服務類型再加以控管。

接下來簡單介紹netfilter機制。netfilter分為模心模組與應用程式,以下分別加以說明。

核心模組

netfilter提供各式的核心模組(Module)以掛鈎(Hook)的方式,將模組掛鈎於核心處理封包的流程上,並提供檢查點(Hook Ponit)機制,針對通過的封包實施檢查及過濾。 netfilter提供了五個檢查點,系統架構如下圖所示:

圖中的PREROUING代表當封包進入時即會經過PREROUTING檢查點,這也是封包進入後所遇到的第一個檢查點。接下來,封包會判斷是否已經到達 目的主機,如果確定,則會進入INPUT檢查點,否則即進入FORWARD檢查點。 而INPUT是當封包發現已到達目標主機時即會進入本機並經過INPUT檢查點,否則將進入。FORWARD則是檢查點,繼續往下個目標主機前進。 OUTPUT的作用為當封包經由本機發出即會經過OUTPUT檢查點。

此外,如果封包發現並非到達目標主機,即會經過FORWARD檢查點。至於POSTROUTING,則是當封包要離開系統主機時會經過POSTROUTING檢查點,這也是封包進入後所遇到的最後一個檢查點。

應用程式

netfilter提供iptables應用程式來設定netfilter檢查點的過濾規則。設定規則是以表格(Table)及鏈(Chain)的概念來設定,netfilter總共提供三個表格及五個規則鏈。
Filter:主要提供封包過濾,可過濾TCP、UDP、MAC、ICMP等類型封包,包含INPUT、forward、output等規則鏈。
nat:提供SNAT及DNAT等功能,可用來IP偽裝,讓網域內的多台電腦可共用一個公共IP上網。本表格包含prerouting、postrouting、output等規則鏈。

mangle:主要用來修改封包內容,包含PREROUTING、POSTROUTING、FORWARD、INPUT、OUTPUT等規則鏈。 接下來,簡略說明iptables的語法結構,如下所示: iptables [-t table] command [match][-j target/jump]

相關參數說明如下:

[-t table]:用來指定要設定那個表格的規則,如未指定即預設為filter。 Command:命令,通常後會接鏈名稱。常用命令包括:「-A」可在指定的鏈之後新增一個規則、「-D」可在指定的鏈之後刪除一個規則、「-F」表示清 除規則、「-L」則用來顯示規則。

[match]:比對條件。常用的比對條件有「-d」可指定套用規則的目的主機或IP位址,而「-I」是當封包進入FORWARD,OUTPUT或 POSTROUTING所通過的網路介面名稱(如eth0)。其實netfilter比對條件相當強大,有興趣的讀者請自行參閱手冊。

[-j]:目標(表示設定規則的目的),常用目的選項有ACCEPT表示允許封包通過,DROP表示丟棄封包,RETURN代表直接離開目前規則,直接跳到下個規則比對,而QUEUE表示將封包重導到本機的佇列(Queue)中,通常用來供其他應用程式處理。

再舉一個實際的設定範例,應該就會很清楚。範例內容如下:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT 其中,「-A INPUT」代表在INPUT的鏈上新增一條規則,「-p tcp --dport 80」是比對條件,如果通訊協定為tcp且目的埠為80。「-j ACCEPT」即表示接受。整段的規則為如果封包為tcp型式且目標埠為80,就讓它通過。<…未完.更多精采文章,請見網管人53期雜誌>

2010年6月13日 星期日

絕招4 先擋再修,以應用防火牆搶時間

http://www.ithome.com.tw/itadm/article.php?c=50860&s=6

絕招4 先擋再修,以應用防火牆搶時間

企業網站發生SQL Injection問題後,不論是添加檢查使用者輸入資料的程式碼,或者是調整資料庫權限架構等,都耗費數周,甚至數個月的時間,才能達到一定的防護效果。只有,透過網路端的防禦設備,才能用幾天時間建構出防護系統。

這也是為什麼,從去年開始,不少企業,紛紛開始關注應用程式防火牆(Web Application Firewall)相關產品的主因之一。尤其是從事電子商務的企業,莫不希望能在最短的時間內,先建立網站的防禦機制,再慢慢修補程式的漏洞。WAF也的 確能夠快速地在企業網站的前線,築出一道檢查網,過濾掉各種具有潛在威脅的資料。

不同於其他更低階的網通設備,WAF採用第七層網路協定的檢查技術,能夠檢查網頁程式所傳輸的使用者輸入資訊,可以針對不同的資訊類型和輸入源, 設定白名單或黑名單的過濾條件,例如限制使用者輸入資料的長度、型態、格式等,能夠彌補原本應用程式所疏漏的內容檢查。還可進行雙向過濾,檢查輸出的網頁 內容,避免將惡意資訊二度傳送給使用者。


用WAF確保網站服務不中斷,爭取修補程式的緩衝時間

網駭科技創辦人徐千洋表示,WAF雖然價格不斐,但的確可在最短時間內,幫企業架構出防護網,可以爭取一些修補網站程式的緩衝時間。

敦揚科技資安顧問楊伯瀚認為:「WAF的好處是能夠自動學習網站需要的防護特徵,採取白名單的作法,能一勞永逸的隔絕惡意資訊,不需要不斷更新過濾特 徵。」他進一步補充,透過資安顧問來協助安裝,只需半天就能完成,可以達到70%的防禦效果,「再經過1~2個月的自動學習,讓 WAF了解企業網站的使用特性,就能達到99.5%的防禦程度。」楊伯瀚說。

WAF的過濾功能雖然強大,但代價也相當昂貴,企業往往需投資數百萬元,甚至上千萬元,才能架構出不影響原來網站服務品質的WAF防護網。換句話說,企業等於用金錢來換取時間,用WAF擋住攻擊,確保網站運行,再進行程式修補。

但是,對於中小企業而言,WAF卻是高不可攀的產品。不少中小企業,全公司只有1~2個IT人員,連網站開發都需委外開發,更別說投入這麼多錢來防禦。這些中小企業的網站,也往往成為這一波自動化攻擊的主要受害者。

其實,坊間有一些免費的軟體WAF,例如有套開源WAF工具ModSecurity,可以安裝在PHP網站常用的Apache伺服器中,能協助過 濾Apache上網站程式的傳輸內容。微軟也針對ASP網頁的IIS伺服器環境,免費提供了一套軟體WAF工具UrlScan,連IIS 7都內建。

這類軟體防火牆,通常需耗用網站伺服器的硬體資源,來進行內容的檢查,當網站流量龐大時,很容易降低效能。不過,這的確是中小企業可負擔的SQL Injection防護工具。文⊙王宏仁

絕招3 縱深防禦,用隔離與監控來鞏固

http://www.ithome.com.tw/itadm/article.php?c=50860&s=5

絕招3 縱深防禦,用隔離與監控來鞏固

資料庫是SQL Injection攻擊的主要目標,理論上,採取徹底的隔離策略,就能有效降低潛在的入侵風險。但實務上,需針對不同的建置階段,採取不同的防範方式,串連成完整的防禦面,才能避免防護缺口。

一般常見的資料庫防護作法,是在網站開發階段,透過應用程式架構的調整,建立應用程式與資料庫間的中介層,來避免網頁程式直接接觸資料庫,即使開發人員疏於檢查輸入資料,也不易影響後端資料庫。

例如PayEasy採取的4層網站架構,讓網站應用程式,必須透過EJB(Enterprise Java Bean)的函式,用參數傳遞方式來與後端資料庫溝通。儘管後來出現各種SQL Injection威脅,PayEasy也無須修改太多前端網頁的程式,透過中介層的轉換,惡意程式的攻擊指令會自動被篩選掉,不易造成威脅。

像PayEasy這種運用應用程式架構將資料庫存取層抽離出來的作法,微軟TechNet MVP李明儒認為:「由有經驗的資深人員負責開發,不讓一般開發人員直接存取資料庫。除可確保資料庫安全性以外,還能避免無效率的SQL查詢語法拖垮資料庫效能。」

不過,企業必須在開發階段就進行應用程式架構的隔離,才能發揮效果,若等到網站完成後再變動架構,所需耗費的程式修改資源,幾乎等同重新開發,相當困難。

避免開放過高的資料庫權限
此外,還有另外一個常被忽略的防護關鍵,就是強化資料庫權限控管與清查。即使在網站建置初期忽略了這個作法,也可以事後補強。

透過資料庫權限的清查,可以更嚴格地管制資料庫的使用,對每一支應用程式,只開放所必須的最小權限。李明儒建議:「甚至可限制所有存取,都需透過事先寫好的預存程序進行,讓所有程式動作,都能在掌握中,可有效防止系統意外失控。」

不過,這種對資料庫權限的精準控管,需要有經驗的資料庫人員來處理。一般企業的開發人員,往往不熟悉資料庫的權限設定方式與指令,遇到資料庫讀取 權限不足時,便任意開放更大的使用權限,甚至直接使用最高權限的管理帳號,導致駭客能透過資料庫系統,間接控制了整個作業系統環境。

例如,許多ASP網頁開發人員,往往使用作業系統的管理員身分安裝MS SQL伺服器,當駭客取得MS SQL的控制權時,透過延伸預存程序,如xp_cmdshel\等指令,就能執行所有系統管理員才能使用的指令。

若能依據不同使用需求,降低資料庫使用權限,就能增加入侵難度,進而降低駭客入侵意願。即使,受限於網站功能需求,建置完成後不易調降太多權限, 數聯資安研發處副總經理張裕敏建議:「企業可以定期監控資料庫與系統的帳號狀態,若發現可疑帳號,或權限異常,趁早刪除,就能即時阻止更進一步的危害。」

透過預先設計的隔離架構與權限管制,能增加入侵門檻,產生資料庫防護效果。不過,在日常維護中,定期的監控和清查資料庫狀態,也有助於鞏固資料庫。文⊙王宏仁

絕招2 中途攔截,及時打斷攻擊路線

http://www.ithome.com.tw/itadm/article.php?c=50860&s=4

絕招2 中途攔截,及時打斷攻擊路線

從SQL Injection攻擊地圖來看,不論是MS SQL/ASP或是MySQL/PHP,從前端網頁入侵到後端資料庫的過程,是一連串的攻擊組合,必須一氣呵成,才能達到入侵的效果。數聯資安研發處副總經理張裕敏說:「只要打斷他的動作,就能阻止。」

之所以會發生SQL Injection的關鍵,是因為不少開發人員沒有檢查使用者輸入內容,就直接組合成SQL語法。微軟TechNet MVP李明儒說:「無形中等於賦予了使用者對資料庫直接下達SQL指令的權力。」如果,資料庫伺服器還被授與管理權限,使用者透過SQL指令,就幾乎能使 用所有管理者功能。

李明儒認為:「原則上,只要將使用者輸入的內容,一律採用參數傳遞給資料庫的方式,SQL Injection的風險就不存在。」因此,不少資安專家通常建議,企業在開發網站時,透過安全程式碼的開發規範,強化對使用者輸入資料的檢查,並避免使 用直接組合SQL語言的方式,來存取後端資料庫。

不過,開發人員難免會出錯,加上慣於重複利用舊有程式碼,問題程式碼的影響很容易繼續蔓延。對已完成建置的網站,也很難在短時間內完成所有的程式修補,尤其臺灣常用疊床架屋的系統開發方式,讓修補工作難上加難。

但是,若分析SQL Injection攻擊地圖,上述防護方法只是瞄準其中一個關鍵過程(攻擊地圖中的防護對策2、防護對策3),其實還有很多企業可以著力的防護點。針對不同的防護點,企業還有很多可以採取的防護措施。

隨著資料庫功能不同,SQL Injection的攻擊方式,從攻擊進入資料庫以後,也有所不同。

監控不明帳號與資料表,防止駭客取得更高權限
以臺灣常見的MS SQL Server搭配的ASP環境為例,防護重點是要注意可疑帳號。只要事先做好資料庫權限的管制,同時移除不必要的延伸預存程序(Extended Stored Procedure)和系統預存程序(System Stored Procedure),就可避免駭客使用這些預存程序,來提高自己的執行權限,或間接執行作業系統功能。

平時維護時,需注意作業系統中突然出現的不明帳號,那可能就是駭客試圖擴張控制範圍的線索,及時查核這些帳號,刪除可疑帳號,同時變更其他帳號的密碼,就能阻止駭客繼續入侵。

然而,在MySQL/PHP環境中,沒有類似MS SQL Server的延伸預存程序。駭客攻擊重點轉為透過MySQL資料表讀取外部檔案,再將惡意程式寫入系統中執行。因此,強化檔案目錄的權限控管,嚴格限制 可存取系統目錄和網站目錄的帳號,就能降低駭客入侵的機會。不少自動化攻擊工具,還會留下攻擊用資料表的記錄,留意不明資料表的出現,也能發現入侵的徵 兆。

只看Log記錄,不一定能及時發現
還要注意的是,入侵手法不斷翻新, MIS要小心過時的錯誤認知,避免搜尋入侵徵兆時,浪費時間。李明儒提醒, 有些MIS會誤以為SQL Injection攻擊時,會在網站Log記錄中,留下一連串明顯的入侵指令記錄。

但是,李明儒指出,幾個月前發生的Mass SQL Injection攻擊事件,駭客透過自動化工具進行盲目攻擊,攻擊指令只有短短幾行,不容易在Log記錄中發現。攻擊成功,甚至不會觸發HTTP Status 500 Error的錯誤訊息。只是依賴Log記錄,不一定能及時發現網站遭遇SQL Injection攻擊的痕跡,需組合不同的監控方式,發現駭客入侵的過程,並適時阻止,才能防止災情繼續擴大。

文⊙王宏仁


絕招1 借力使力,從攻擊手法學防守

http://www.ithome.com.tw/itadm/article.php?c=50860&s=3

絕招1 借力使力,從攻擊手法學防守 資安專家一致認為SQL Injection攻擊手法其實是老問題,但企業網站遭受SQL Injection攻擊的事件卻層出不窮。導致這類攻擊無法遏止的關鍵,其實,並非企業缺乏一套防禦SQL Injection攻擊的解決手法,而是,企業權衡防護成本與潛在風險後,往往選擇了長期改善的方式,來攤平高額的開發成本和人力資源。

然而,駭客不斷發展出新的自動化攻擊工具,加快SQL Injection攻擊的進化速度。慢步調的防護,遇上快速進化的攻擊,相較之下,企業網站被入侵的災情,依舊持續蔓延。

因此,若要有效建立防護機制,企業必須借力使力,善用各種可用資源,甚至懂得利用駭客的攻擊資訊,來建構網站的防禦系統,讓防護人力發揮最大的效果。

實際上,目前SQL Injection攻擊手法的相關資訊相當透明,也很容易取得。只要透過搜尋引擎,檢索SQL Injection,就能找到大量SQL Injection攻擊手法的參考資訊。

甚至還有SQL Injection指令的速查表(cheat sheet),上面提供了數千種SQL Injection的攻擊方式,詳盡地涵蓋了各種資料庫的潛在問題,以及各種入侵的指令,還提供了完整的攻擊範例,讓不懂技術原理的駭客,也能直接複製指 令,來進行攻擊。

利用攻擊資訊鎖定修補程式的重點
但是,這些攻擊資訊並非只是駭客用來分享資訊而已,對企業來說,這也是最佳的防禦指引。企業可以從這些SQL Injection攻擊資訊中,找出自己所用的網站環境,可能會遇到的攻擊手法。再將這些攻擊程序與入侵指令整理成檢核清單,就可以用來逐一清查網路功 能,讓開發人力直接針對需要補強的地方,進行修改。而不須曠日廢時地逐條檢視數萬行的原始程式碼。

從SQL Injection攻擊地圖來看,前期防禦的重點之一是要檢查使用者輸入的資訊,過濾掉不合理的可疑訊息。企業開發人員除了自行撰寫資料檢查條件外,還可以參考攻擊資訊,將攻擊指令的特徵,作為篩選程式的過濾條件。

現在已有一些開源社群,將這些過濾規則開發成一套現成的檢查函式庫,例如大陸白帽駭客對ASP語言開發的通用注入過濾器,企業可考慮採用或參考,以縮短自行開發的時間。

此外,軟體大廠也紛紛提供了各種防護資訊,像微軟早已在MSDN網站上,提供了上百頁的網站安全防護資訊 (www.microsoft.com/taiwan/msdn/security/guidance/),而且全部都已翻譯成中文,並且列出具體的改善 程序,甚至是針對不同防護需求下,提供了可用的安全檢核清單。

微軟已在MSDN網站上,提供了數百頁的中文網站安全防護資訊(www.microsoft.com/taiwan/msdn/security/guidance/)。


數聯資安研發處副總經理張裕敏建議:「若能按照微軟建議,逐步實施,的確能有效阻止SQL Injection攻擊,可惜很少有人全部看完。」

除了善用參考資訊,鎖定修補網頁程式的重點外,進一步,企業還可以採用自動化源碼檢測工具,提高發現程式問題的速度。阿碼科技執行長黃耀文表示:「用自動化工具進行源碼檢測,可以讓開發團隊專注在需要修改的地方,可節省人力。」

市面上,有許多源碼檢測工具,涵蓋了多數主流開發語言,例如Java、PHP、ASP、.NET等,付費產品例如阿碼科技的CodeSecure或Fortify的SCA。微軟和HP也釋出了免費的SQL Injection檢測工具Scrawlr等。

不怕沒有工具,只怕放錯力氣。對開發人員而言,將攻擊資訊轉換成防禦重點、善用自動化源碼檢測工具,就能減輕繁重的程式碼修補負擔,這才能有效提高企業對抗自動化攻擊的能力。
文⊙王宏仁


從駭客經濟學看SQL Injection攻防

http://www.ithome.com.tw/itadm/article.php?c=50860&s=2

從駭客經濟學看SQL Injection攻防 你相信嗎?只要花100元人民幣就可以買到SQL Injection自動化攻擊工具,而且這片光碟還附有教學影片,教導如何攻擊與竄改資料庫。

SQL Injection是一個有10年歷史的老問題了,這個攻擊手法是利用網路程式存取資料庫的漏洞,將惡意指令嵌入資料庫SQL查詢語言,藉此欺騙資料庫的邏輯判斷,進而取得能夠執行資料庫指令的權限。

追查網路犯罪十多年的內政部警政署資訊室主任李相臣說:「有8成以上的企業資料庫資料外洩案件,都是被駭客以SQL Injection攻擊手法得逞的。」然而,現在只要花400元,不論是否懂駭客攻防原理、原則,幾乎人人可搖身一變為SQL Injection駭客,這個問題就不再只是個老問題,而是嚴重的新問題了。

SQL Injection十年野火燒不盡
從2005年開始,就有人在中國販售SQL Injection自動化攻擊工具,數聯資安研發處副總經理張裕敏指出,黑帽駭客只要花點錢,就可以買到整套的SQL Injection攻擊工具。而且,這些販售攻擊工具的中國黑客網站,甚至還提供攻擊手法教學影片,以及後續的升級與客製化等售後服務,儼然是企業化經 營。

張裕敏說:「網路上找得到的P牌自動攻擊工具,已經針對Oracle、DB2、Informix、MySQL、SQL Server等企業常用的資料庫設計,只要按個滑鼠鍵,就可以啟動自動化的SQL Injection攻擊。」有了這種自動攻擊工具,即使攻擊者不懂得SQL Injection攻擊的原理、原則,也能像是操作玩具一般發動攻擊。張裕敏指出,在這種情況下,企業網站的監控、維護或設定,只要稍不注意,黑帽駭客就 有機會趁虛而入。

在自動化攻擊工具出現後,SQL Injection的攻擊手法也就跟以往不同。今年上半年,臺灣與歐洲等地陸續發生大規模的SQL Injection攻擊事件(Mass SQL Injection),這一波攻擊的相同特點是攻擊數量龐大,據資安廠商估計,在這波攻擊中,臺灣起碼有超過10萬個網站被攻擊過。

阿碼科技資安顧問丁性佃追查這次攻擊手法發現,黑帽駭客事先掌控了大量的傀儡電腦,利用這些電腦執行自動化程式,以Google搜尋引擎找出有 SQL Injection漏洞的網站,一旦找到了有漏洞的網站,就會將惡意網站的連結直接寫入網站資料庫中,讓這些網站的網頁都有惡意連結,一旦使用者連上受害 的網站,就會連到惡意連結。

駭客一開始是藉由SQL Injection攻擊手法來大量散播惡意網站的連結。第二步就是等到Adobe Flash公布新的漏洞,駭客馬上寫出一個可利用這個漏洞來掌控電腦的木馬程式,並將木馬程式放到先前散播的惡意網站連結,藉此對大量的電腦發動零時差攻 擊。這樣的複合式自動化攻擊手法,可以讓駭客在更短的時間內攻陷更多的電腦。

駭客的投資報酬率
這是截至目前為止最新的SQL Injection攻擊手法,而且,這個老掉牙的問題還會再衍生出更多新的攻擊手法,資安專家都認為,這將會是一場沒有終點的網路攻防戰,要持續打贏這場戰役,就一定要從「駭客經濟學」的角度來思考戰略。

阿碼科技艾克索夫資安實驗室首席資安顧問邱銘彰說:「這是一場成本戰爭。」現在的駭客不像以前一樣專挑難攻的網站下手,只為了證實自己的能力。現 在的駭客像是在經營生意,要創造出規模經濟,唯有掌控更大量的電腦,才能隨心所欲地發動大規模的分散式攻擊,或是竊取更大量的個人資料。因此駭客所思考的 策略是如何以最少的金錢、最少的心力,在最短的時間內攻陷最多的電腦。所以,多數的駭客都會尋求投資報酬率最好的攻擊手法,一旦投資報酬率不佳,就會選擇 放棄。

依駭客經濟學的態勢來看,企業必須要從風險管控的角度來規畫防禦策略。如果企業可以增加駭客入侵的難度,駭客衡量投資報酬率之後可能就會尋找其他 目標了。網駭科技總經理徐千洋表示,企業在思考與駭客攻防的戰略時,不能追求完美的防禦,要從追求絕對安全轉為相對安全,思考如何在公司可承擔的成本下, 增加駭客入侵網站的困難度。他指出,從Web程式開發、改變網路資料庫架構,這些做法都可以增加駭客入侵的困難度。

電子商務網站PayEasy(康迅數位)去年在面對中國駭客與詐騙集團攻擊時,就採取相同的思維,PayEasy總經理林坤正表 示,PayEasy主動告知網站被詐騙集團鎖定,讓會員提高警覺,目的就是要讓詐騙集團的難度增加。他說:「駭客和詐騙集團都是企業化經營,也要講求投資 報酬率,如果可以花更短的時間,輕易入侵A網站取得資料,就不需要花更長的時間,去入侵B網站了。」

駭客思維已經轉變,企業不能不變。面對不斷翻新手法的SQL Injection攻擊,企業其實很難找到一勞永逸的防禦工具,必須先認清現今駭客的生態,掌握駭客經濟學的特性,從相對安全的角度思考,才能找到有效的縱深防禦策略。文⊙黃彥棻



SQL Injection新威脅大剖析

http://www.ithome.com.tw/itadm/article.php?c=50860&s=1

文/iThome (記者) 2008-09-15


你相信嗎?只要花100元人民幣就可以買到SQL Injection自動化攻擊工具,而且這片光碟還附有教學影片,教導如何攻擊與竄改資料庫。當人人都可搖身一變為SQL Injection駭客,這就不再只是個老問題,而是嚴重的新威脅。


現在只要花400元,不論是否懂駭客攻防原理、原則,幾乎人人可變成SQL Injection駭客,而面對這些不斷翻新手法的SQL Injection攻擊,企業必須掌握駭客經濟學的特性,才能找到有效的縱深防禦策略。


從駭客經濟學看SQL Injection攻防
SQL Injection是一個有10年歷史的老問題了,而駭客的攻擊手法隨著時間的演進也不斷的推陳出新,企業必須要站在駭客的角度思考,從駭客經濟學的角度來思考戰略,才能持續打贏這場沒有終點的網路攻防戰。


4大SQL Injection防護絕招

絕招1 借力使力,從攻擊手法學防守
資 安專家一致認為SQL Injection攻擊手法其實是老問題,但企業網站遭受SQL Injection攻擊的事件卻層出不窮,若要有效建立防護機制,企業必須借力使力,善用各種可用資源,甚至懂得利用駭客的攻擊資訊,來建構網站的防禦系 統,讓防護人力發揮最大的效果。

絕招2 中途攔截,及時打斷攻擊路線
從SQL Injection攻擊地圖來看,不論是MS SQL/ASP或是MySQL/PHP,從前端網頁入侵到後端資料庫的過程,是一連串的攻擊組合,必須一氣呵成,才能達到入侵的效果。因此只要監控SQL Injection攻擊路線,及時打斷駭客入侵的連續程序,就能達到防禦效果。

絕招3 縱深防禦,用隔離與監控來鞏固
資料庫是SQL Injection攻擊的主要目標,理論上,採取徹底的隔離策略,就能有效降低潛在的入侵風險。若能清查資料庫帳號權限,只允許有經驗的資料庫人員接觸,就能有效預防潛在風險。

絕招4 先擋再修,以應用防火牆搶時間
企業網站發生SQL Injection問題後,不論是添加檢查使用者輸入資料的程式碼,或者是調整資料庫權限架構等,都需耗費數周時間才能達到一定的防護效果。而應用程式防火牆雖然要價百萬,卻可快速建立網站基本防護,爭取修補程式的緩衝時間,也是一個不錯的防護方法。

撰文⊙王宏仁、黃彥棻 攝影⊙楊易達、賴基能