- 資安教育及演習概念
- 資安通報
- 資安公司亂象?
- 近期常見攻擊手法
- Q&A
簡報檔 from Net Tuesday Taiwan
資安是一個範圍很廣的題目。而其實駭客是一個中性名詞,有黑帽也有白帽,後者會利用駭客手法來做正派的事。
資安教育及演習概念
先預告今年駭客年會的主題是 Security of Things。
因為現在是物聯網時代,只要有網路就有漏洞。而在網路世界的戰爭中,之前也提過,大家要留意「木桶理論」——也就是一個木桶如果由不同長短的木條圍成,那麼通常會從最短的木板開始漏水,同理可證,資安問題往往是人的問題,組織裡技術力較低的成員,往往成為漏洞、被攻擊的目標。因此對 NGO 來說,若能慢慢提升大家的能力,那麼被攻擊的成功率就會降低。
資安事件也可以像防災演練一樣,平常應該有「演習」的概念,並產生相對應的處理 SOP。簡報裡是我所整理出的九大重點,包括:教育訓練對能力的加強、應準備應變計畫(備份及還原資料的能力),以及了解受害的範圍,所以留存網站的紀錄檔(Log)很重要,一般駭客一旦駭入某個網站,第一步就會砍掉 Log,所以 Log 最好和網站的主資料分開,放在其他主機上。
資安通報
資安事件發生時,網站管理者負有向會員通知的責任及義務。譬如最近 LastPass 最近發生資料外洩的事件,就即刻發通知信給會員,是盡責的表現。
就物流公司來說,在很多環節都有可能被駭的漏洞,譬如:網站本身被駭、員工電腦中毒、物流的資料遞送過程中資料外洩、買家/賣家的電腦中毒等等。
資安公司亂象?
一般資安公司所提供的服務包括弱點掃描和報告,但有些公司會使用自動化工具來便宜行事,因為程式沒有人類的邏輯,可能誤判風險的高低,導致誤判率增高;或者報告好幾百頁,沒有好的統整與說明。
近期常見攻擊手法
- 跨網站指令碼(Cross-Site Scripting):竊取使用者的 cookie,造成大量資料外洩後,讓使用者的帳號有風險。
- SQL資料隱碼攻擊(SQL Injection):資料庫的打包手法。程式開發者沒有針對資料庫進行保護和過濾的話,容易被查詢出帳號資料。
- 商業邏輯的疏漏(Business Logic Flaw):台灣特別容易發生。譬如選舉中的小額捐款,透過網路金流商,可能被竄改金流數目
- 第三方支付:電商網站不想保留個資,會將使用者的付款頁面導向金流商,由於中間是透過使用者的瀏覽器進行轉向,導致風險上升,時常在瀏覽器的原始碼中,可以看到金流或資料庫的欄位內容,導致容易被竄改訂單金額(可能發生網址被跳轉、網址有金額或有代碼資訊[這些文件都是公開的,可能被拼湊出來])。
- 金流和電商雙方都有責任,交易中間應該比對雙方數值、進行確認,不應該只有交易成功或失敗的訊息。
- 或者不要透過使用者的瀏覽器,而是在網站自己的後台,就比較安全。這部分改變機器呼叫的流程,開發時應該要注意。
- 接收捐款的系統同樣也有類似的風險,NGO 至少能做的就是即時小心對帳,以防網站填寫的捐款數額和實際收到的捐款,數目不符
(判斷該筆交易是否仍在下單網站的後台,只要看網址就知道。譬如圖中以 PChome 為例,信用卡刷卡的付款頁面,網址仍在 PChome 的網域中)
- 跨站請求偽造(Cross-Site Request Forgery):發送不當資訊來取得帳號使用權
- 資訊洩漏(Information Leakage):常見的系統資訊外洩,例如系統路徑、備份檔案、錯誤訊息等等。有些網站會在輸入框中,過濾輸入字串(譬如捐款金額最小為100),這不只要在前台設定,也要在後台進行篩選。
殭屍網路(botnet,被駭客控制的電腦):駭客會進行全網路掃描,找尋可以成為殭屍網路的老舊系統或瀏覽器(如老舊的伺服器版本)。殭屍網路可透過控制其他電腦成為跳板、集中攻擊火力,造成被攻擊對象的伺服器癱瘓、網站當機等等。
shodan.io 搜尋引擎:有很多工具可以進行某種程度的網路掃描,譬如這個網站可以搜尋全世界某一個特定裝置的電腦,例如輸入關鍵字 yawcam,就可以找到這個網路攝影機,如果使用者沒有設定密碼加以防護,就可以看到該攝影機的內容,而有時透過 IP 可以推測出地點,增加了使用者的安全風險。因此,任何網路設備都應該設定密碼並隨時更新韌體。
(在 shodan 搜尋引擎上,搜尋 yawcam 的清單列表)
SSL 加密憑證:這是一種網站的通道加密的方式,現在有些手法可以將加密降級或取消加密,所以有些瀏覽器會主動警告使用者 SSL 不安全,可能導致傳輸的資料外洩。可以使用 SSL Lab 做免費測試。
而 SSL 升級之後,有些舊的瀏覽器或裝置就無法使用,這是必須取捨的選擇(譬如開拓之前使用 kktix 舉辦活動,有些夥伴反應無法使用舊版的 IE 瀏覽器報名,正是這個原因)。
通道未加密的話,風險是:可能在公共網路,被竊取帳號密碼。而網站除了通道加密之外,內容也加密當然是最好的。
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
台灣比較沒有這個概念,一般反而可能被報警抓走,也沒有比較正面的回報方式。目前台灣有 VulReport 漏洞通報平台,可以得知哪些網站正處於被攻擊的狀態。 整體來說,這幾年企業對資安的風氣是比較正向的。
相關資料:12 個讓您安全使用網際網路的秘訣(PDF下載點)
2 意見:
不管黑帽白帽都需要保持想像空間才能進步,你這篇對於人的思考部份真心蠻喜歡..
謝謝 : ) 其實是講者 Allen 分享得好~
張貼留言