2015年6月29日 星期一

[網二] NPO 不可不知的駭客攻擊手法

6 月的網路星期二,邀請到老朋友同時也是駭客高手翁浩正(Allen),和我們分享最近常見的駭客手法,特別是 NGO 夥伴們也都會遭遇的網站、線上捐款或金流的資安問題。內容包括:
  • 資安教育及演習概念
  • 資安通報
  • 資安公司亂象?
  • 近期常見攻擊手法
  • Q&A 

資安是一個範圍很廣的題目。而其實駭客是一個中性名詞,有黑帽也有白帽,後者會利用駭客手法來做正派的事。

資安教育及演習概念

先預告今年駭客年會的主題是 Security of Things

因為現在是物聯網時代,只要有網路就有漏洞。而在網路世界的戰爭中,之前也提過,大家要留意「木桶理論」——也就是一個木桶如果由不同長短的木條圍成,那麼通常會從最短的木板開始漏水,同理可證,資安問題往往是人的問題,組織裡技術力較低的成員,往往成為漏洞、被攻擊的目標。因此對 NGO 來說,若能慢慢提升大家的能力,那麼被攻擊的成功率就會降低。

資安事件也可以像防災演練一樣,平常應該有「演習」的概念,並產生相對應的處理 SOP。簡報裡是我所整理出的九大重點,包括:教育訓練對能力的加強、應準備應變計畫(備份及還原資料的能力),以及了解受害的範圍,所以留存網站的紀錄檔(Log)很重要,一般駭客一旦駭入某個網站,第一步就會砍掉 Log,所以 Log 最好和網站的主資料分開,放在其他主機上。

資安通報

資安事件發生時,網站管理者負有向會員通知的責任及義務。譬如最近 LastPass 最近發生資料外洩的事件,就即刻發通知信給會員,是盡責的表現。


另外,一般營利企業被駭的話,需要通報商業司。這是因為 165 反詐騙網站,會通報前十大最多人被詐騙事件,也會調查這些網站的資安問題。這部分目前還不是強制的,但 NPO 還沒有主責、通報的單位。

就物流公司來說,在很多環節都有可能被駭的漏洞,譬如:網站本身被駭、員工電腦中毒、物流的資料遞送過程中資料外洩、買家/賣家的電腦中毒等等。

資安公司亂象?

一般資安公司所提供的服務包括弱點掃描和報告,但有些公司會使用自動化工具來便宜行事,因為程式沒有人類的邏輯,可能誤判風險的高低,導致誤判率增高;或者報告好幾百頁,沒有好的統整與說明。

近期常見攻擊手法

  • 跨網站指令碼(Cross-Site Scripting):竊取使用者的 cookie,造成大量資料外洩後,讓使用者的帳號有風險。
  • SQL資料隱碼攻擊(SQL Injection):資料庫的打包手法。程式開發者沒有針對資料庫進行保護和過濾的話,容易被查詢出帳號資料。
  • 商業邏輯的疏漏(Business Logic Flaw):台灣特別容易發生。譬如選舉中的小額捐款,透過網路金流商,可能被竄改金流數目
    • 第三方支付:電商網站不想保留個資,會將使用者的付款頁面導向金流商,由於中間是透過使用者的瀏覽器進行轉向,導致風險上升,時常在瀏覽器的原始碼中,可以看到金流或資料庫的欄位內容,導致容易被竄改訂單金額(可能發生網址被跳轉、網址有金額或有代碼資訊[這些文件都是公開的,可能被拼湊出來])。
    • 金流和電商雙方都有責任,交易中間應該比對雙方數值、進行確認,不應該只有交易成功或失敗的訊息。
    • 或者不要透過使用者的瀏覽器,而是在網站自己的後台,就比較安全。這部分改變機器呼叫的流程,開發時應該要注意。
    • 接收捐款的系統同樣也有類似的風險,NGO 至少能做的就是即時小心對帳,以防網站填寫的捐款數額和實際收到的捐款,數目不符

(判斷該筆交易是否仍在下單網站的後台,只要看網址就知道。譬如圖中以 PChome 為例,信用卡刷卡的付款頁面,網址仍在 PChome 的網域中)

  • 跨站請求偽造(Cross-Site Request Forgery):發送不當資訊來取得帳號使用權
  • 資訊洩漏(Information Leakage):常見的系統資訊外洩,例如系統路徑、備份檔案、錯誤訊息等等。有些網站會在輸入框中,過濾輸入字串(譬如捐款金額最小為100),這不只要在前台設定,也要在後台進行篩選。
0-Day, 1-Day:利用使用者系統或軟體更新的時差,挑選更新前後已經存在的漏洞來部署後門、鎖定目標攻擊。譬如 Windows 7 某一版本更新前,已經有些漏洞容易造成系統不安全,那麼駭客可能會去搜尋仍停留在舊版本的使用者,進行攻擊。

殭屍網路(botnet,被駭客控制的電腦):駭客會進行全網路掃描,找尋可以成為殭屍網路的老舊系統或瀏覽器(如老舊的伺服器版本)。殭屍網路可透過控制其他電腦成為跳板、集中攻擊火力,造成被攻擊對象的伺服器癱瘓、網站當機等等。

shodan.io 搜尋引擎:有很多工具可以進行某種程度的網路掃描,譬如這個網站可以搜尋全世界某一個特定裝置的電腦,例如輸入關鍵字 yawcam,就可以找到這個網路攝影機,如果使用者沒有設定密碼加以防護,就可以看到該攝影機的內容,而有時透過 IP 可以推測出地點,增加了使用者的安全風險。因此,任何網路設備都應該設定密碼並隨時更新韌體。


(在 shodan 搜尋引擎上,搜尋 yawcam 的清單列表)


(點選某個裝置,網址會出現 IP 位址。這個裝置沒有設定密碼,所以可看到目前的即時畫面)

SSL 加密憑證:這是一種網站的通道加密的方式,現在有些手法可以將加密降級或取消加密,所以有些瀏覽器會主動警告使用者 SSL 不安全,可能導致傳輸的資料外洩。可以使用 SSL Lab 做免費測試。



而 SSL 升級之後,有些舊的瀏覽器或裝置就無法使用,這是必須取捨的選擇(譬如開拓之前使用 kktix 舉辦活動,有些夥伴反應無法使用舊版的 IE 瀏覽器報名,正是這個原因)。



通道未加密的話,風險是:可能在公共網路,被竊取帳號密碼。而網站除了通道加密之外,內容也加密當然是最好的。


(使用 Chrome 瀏覽器的話,在網址列前面可以查詢網站的 SSL 憑證。目前許多瀏覽器都提供類似的功能了。)

Q&A

Q1. NGO 如果要請資安公司來做測試,預算是?

A:以人時來算,通常一個網站預算約 20、30 萬。也可參考政府標案的經驗——承包商必須提出第三方安全檢測的證明,開發者本身應該負起這個責任,並且在維護期內進行檢修。有些狀況則會把資安的維護另外獨立出來。

目前還沒有有公信力的組織,可以提出資安服務的排行榜。

Q2. 使用 Mac 電腦安全嗎?(因為看到 Allen 使用的是 Mac)

A:病毒、木馬也是一個產業。因為微軟 Windows 使用者較多,對黑帽駭客來說,獲益也較多。

目前 Mac 使用者還沒那麼多,但防禦工具較少,未來如何尚不確定。至於我會選擇使用 Mac 電腦,純粹是因為效能較快,也比較符合 Linux 原則。

Q3. 網頁的資料包成一個 java 檔會比較安全嗎?

A:其實網路分析和流量監控,還是容易被找出來。不應該從使用者方或軟體來解決。

Q4. 除了 HITCON 駭客年會之外,有比較短期的聚會可以參加嗎?

A:目前資安的社群還是以學生社群為主。因為內容較敏感,所以比較不會那麼開放如開源社群。

Q5. 網路空間的存放空間,要如何選擇?

A:有些虛擬主機空間,雖然可能網站被駭了,但虛擬服務仍會加強保護系統,和虛擬設備的設定類似。另外,也些比較知名的空間代理商會幫忙做基本的資安檢測和通知,架構較好。譬如 Amazon 也是交由使者自行建置系統,如果帳號、密碼弱,因是自己管,風險也相對增高。

有些空間服務商則做得不好,譬如一個主機賣給多家客戶,導致某個網站中毒後,容易交叉感染。

目前為了提高網站效能,內容傳遞網路(CDN)的服務也頗受歡迎。網絡行動科技的 Jimmy 提到 CloudFlare 的服務,可以讓存取網站的連線先經過它,再轉去網站,幫忙過濾一些 DDOS 的攻擊。Allen回應,如果是網站本身開發的問題,那麼依舊有資安風險,也只能擋掉網路層的問題。

Q6. 網站安全應該多久做一次滲透測試?

A:金管會要求銀行半年做一次。我建議至少一年一次。另外功能大改版時,也應該要做一次。

推薦的自動化滲透工具

  • skipfish
  • OWASP ZAP Proxy
  • Burp Suite
  • IBM AppScan
  • HP WebInspect
  • Acunetix
  • Tenable Nessus
  • OpenVAS
另外,歐美現在的大廠牌也會廣發英雄帖,公告讓民眾參與揭露漏洞,例如臉書、Google、微軟等,授權合法的攻擊,抓到漏洞會給獎金。

台灣比較沒有這個概念,一般反而可能被報警抓走,也沒有比較正面的回報方式。目前台灣有 VulReport 漏洞通報平台,可以得知哪些網站正處於被攻擊的狀態。 整體來說,這幾年企業對資安的風氣是比較正向的。

相關資料12 個讓您安全使用網際網路的秘訣PDF下載點

2 意見:

Knowledge Gained of PC by KongMing 提到...

不管黑帽白帽都需要保持想像空間才能進步,你這篇對於人的思考部份真心蠻喜歡..

科技濃湯 提到...

謝謝 : ) 其實是講者 Allen 分享得好~

張貼留言