導讀
於前幾篇我們探討了威脅及弱點的來源,及入侵者的相關心態與動機,並解說了如何去防範避免弱點被輕易的攻破,今日內容將安排解說各類的病毒及威脅的方式。
惡意軟體簡介
病毒 (Virus)
- 定義:惡意程式碼,用於干擾電腦操作,導致資料和軟體損壞。
- 傳播方式:需由目標使用者安裝,然後才能自行傳播並造成損害。
- 典型傳播方式:透過網路釣魚活動,惡意連結隱藏在連結或附件中。
蠕蟲 (Worms)
- 定義:一種可在系統中自行複製和傳播的惡意軟體。
- 傳播方式:與病毒類似,需由目標使用者安裝,也可透過惡意電子郵件等策略傳播。
- 目標:攻擊網路共用存取的裝置、磁碟機或檔案。
- 範例:Blaster 蠕蟲(Lovesan、Lovsan、MSBlast),在 2000 年代初期影響 Windows XP 和 Windows 2000 系統。
- 注意事項:蠕蟲在 2000 年代中期非常流行,近年來使用頻率較低。
木馬 (Trojans)
- 定義:看起來像合法文件或程式的惡意軟體。
- 傳播方式:隱藏在檔案和應用程式下載中,透過欺騙用戶下載以感染設備。
- 功能:可用於監視用戶或授予對其他設備的訪問權限。
廣告軟體 (Adware)
- 定義:一種合法軟體,用於在應用程式中顯示數位廣告。
- 使用目的:降低軟體生產成本,或向公眾免費提供產品。
- 惡意廣告軟體:屬於潛在有害應用程式 (PUA),可能會顯示廣告、降低裝置效能,或安裝其他軟體。
間諜軟體 (Spyware)
- 定義:收集並出售資訊的惡意軟體,通常視為 PUA。
- 傳播方式:隱藏在捆綁軟體中。
- 開發挑戰:開源軟體生態系統中的嚴峻挑戰,因為軟體可能被濫用。
恐嚇軟體 (Scareware)
- 定義:使用恐嚇策略來欺騙用戶感染自己裝置的惡意軟體。
- 傳播方式:透過虛假警告,誤導用戶認為其資料面臨風險。
- 傳播途徑:電子郵件和彈出視窗等。
無檔案惡意軟體 (Fileless malware)
- 定義:不需使用者安裝的惡意軟體,利用已安裝的合法程式來感染電腦。
- 特徵:駐留於記憶體中,永不接觸硬碟。
- 偵測方式:透過記憶體分析,需具備作業系統經驗。
Rootkit
- 定義:提供對電腦遠端管理存取的惡意軟體。
- 傳播方式:透過兩個元件組合(植入程式與載入程式)。
-
植入程式 (Dropper):包含惡意程式碼,偽裝成合法文件,誘使用戶開啟。
-
載入程式 (Loader):從外部來源下載惡意程式碼,安裝至目標系統。
殭屍網路 (Botnets)
- 定義:受惡意軟體感染的電腦集合,由單一威脅行為者(機器人牧者)控制。
- 傳播方式:病毒、蠕蟲、木馬通常被用來傳播最初的感染。
- 功能:攻擊者透過文件共享、電子郵件或社交媒體應用來創建新的機器人並發展殭屍網路。
勒索軟體 (Ransomware)
- 定義:加密資料並要求付款才能恢復存取的惡意攻擊。
- 增長趨勢:隨著技術發展,勒索軟體攻擊越來越複雜。
- 範例:想哭(WannaCry)攻擊,要求加密貨幣贖金以解鎖受害者電腦。
惡意軟體發展近年概況
1. 惡意軟體的歷史與現況
- 惡意軟體幾乎與電腦同時出現。
- 最早的惡意軟體是由麻煩製造者用來進行數字破壞。
- 在現今的數位世界中,惡意軟體已經成為一種有利可圖的犯罪形式,攻擊者藉此獲取經濟利益。
2. 安全專業人士的角色
- 作為安全專業人士,了解最新進展是非常重要的。
- 需要主動防禦惡意軟體,並且保持警覺。
3. 勒索軟體和加密劫持
- 勒索軟體是一種類型的惡意軟體,攻擊者藉此竊取金錢。
- 加密劫持是一種較新的惡意軟體,用來非法開採加密貨幣。
- 加密貨幣是一種具有現實世界價值的數位貨幣,常見的形式有硬幣或代幣。
4. 加密貨幣挖礦的運作
- 加密貨幣挖礦是通過電腦運行挖礦軟體來處理大量的加密代碼,以找到新的加密貨幣。
- 犯罪分子自2017年開始利用加密劫持惡意軟體來控制個人電腦,非法挖礦。
- 現在,犯罪者通常針對易受攻擊的伺服器來傳播挖礦軟體,伺服器和其通訊的設備也會被感染。
5. 加密劫持的檢測與防禦
- 加密劫持軟體很難被發現,但安全專家擁有一些工具可以提供幫助。
- 入侵偵測系統(IDS)是監視系統活動並偵測異常的應用程式。
- 雖然 IDS 很有用,但無法偵測到新形式的惡意軟體。
6. 加密劫持的徵兆
- 加密劫持感染的明顯徵兆包括:系統速度減慢、CPU 使用率增加、系統崩潰、電池耗盡,以及電費異常高。
7. 防禦加密劫持的措施
- 採取措施可以減少受到加密劫持攻擊的可能性。
- 使用瀏覽器擴展、廣告攔截器、停用 JavaScript 等方式來阻止惡意軟體。
- 安全分析師應教育他們的組織關於惡意軟體攻擊的防範。
8. 加密劫持的普遍性與應對
- 雖然加密劫持相對較新,但攻擊變得越來越普遍,且惡意軟體的類型也在不斷演變。
- 防禦這些威脅需要經驗,但可以通過教育與防禦工具來提升保護能力。
各類的網路威脅與漏洞
惡意軟體與網路釣魚
-
惡意軟體的傳播方式
- 安裝在個人電腦或網路伺服器上。
- 所有惡意軟體在運行前都必須交付給目標。
- 常見的傳播方式包括:
-
基於網路的攻擊
- 基於網路的威脅是另一種常見的惡意軟體傳播方式。
- 利用 Web 應用程式中的編碼缺陷來進行攻擊。
- 這些攻擊通常會竊取敏感的個人資訊。
注入攻擊
-
注入攻擊的定義
- 將惡意程式碼插入易受攻擊的應用程式中,這些應用程式表面上正常運行,但惡意程式碼在背景執行。
- 因為 Web 應用程式與使用者互動,這使得它們成為注入攻擊的目標。
-
防範措施
跨站腳本攻擊 (XSS)
-
跨站腳本攻擊的定義
- 注入惡意程式碼進入易受攻擊的網站或 Web 應用程式中。
- 攻擊通常利用 HTML 和 JavaScript 來存取網站上的敏感資料。
-
跨站腳本攻擊的三種類型
-
反射型 XSS 攻擊
- 攻擊者將惡意腳本傳送至伺服器,並在伺服器回應時啟動。
- 通常發生在搜尋欄或其他與使用者互動的部分。
-
儲存型 XSS 攻擊
- 攻擊者直接將惡意腳本注入伺服器,並在使用者造訪網站時啟動。
- 使用者無法預先知曉網站是否受感染,具有高度的破壞性。
-
基於 DOM 的 XSS 攻擊
- 惡意腳本在網頁中存在,並在瀏覽器加載時執行。
- 無需將攻擊傳送到伺服器,駭客可利用 URL 中的參數進行攻擊。
防範 XSS 攻擊的重點
-
認識 XSS 的威脅
- XSS 攻擊可竊取會話 cookie、地理位置等敏感資料。
- 安全分析師應熟悉這些攻擊,並採取措施進行防禦。
防止注入攻擊
SQL 的介紹
- SQL 是一種程式語言,用於建立資料庫、與資料庫互動及請求資料。
- 它是最常用的資料庫互動語言之一,受到許多資料庫產品的廣泛支援。
-
SQL注入:威脅參與者利用 SQL 注入來修改、刪除或竊取資料庫中的資訊,並取得未經授權的存取權。
SQL查詢
-
資料庫:儲存組織資訊的有組織資料集合,包含員工目錄或客戶資料等。
- SQL 查詢用來檢索、插入、更新或刪除表中的資訊。
-
SQL注入發生位置:常見於使用者可輸入資料的欄位,如登入表單、搜尋列、評論提交框等。
- 當攻擊者利用未過濾的輸入欄位進行操作時,可能發生 SQL 注入攻擊。
SQL注入的類別
-
帶內SQL注入
- 最常見的類型,使用相同的通訊頻道發動攻擊並收集結果。
- 例如:在網站的搜尋框中輸入惡意查詢,從資料庫中提取敏感資訊。
-
帶外SQL注入
- 使用不同的通訊頻道發動攻擊和收集結果。
- 例如:建立易受攻擊網站與攻擊者控制的資料庫之間的連線。
- 此類攻擊罕見,僅在目標伺服器啟用某些功能時有效。
-
推理SQL注入
- 攻擊者無法直接看到結果,而是透過分析系統的行為來推測。
- 例如:登入表單上的 SQL 注入可透過錯誤訊息推斷資料庫結構,進而發動攻擊。
防止SQL注入
-
轉義使用者輸入:防止使用者輸入不期望的程式碼是防止 SQL 注入的關鍵。
- 方法:
-
準備好的語句:在將 SQL 語句傳遞到資料庫之前執行編碼技術。
-
輸入清理:刪除可解釋為程式碼的輸入。
-
輸入驗證:確保使用者輸入符合系統預期格式。
合作與資源
- 結合以上技術有助於防止 SQL 注入攻擊。
- 在安全性領域中,應與應用程式開發人員合作,解決導致 SQL 注入的漏洞。
-
OWASP SQL 注入檢測技術:這是一個有用的資源,幫助檢查 SQL 注入漏洞。
PASTA 威脅建模的每個階段
第一階段:定義業務和安全目標
摘要:這些目標是透過詢問有關應用程式目的的廣泛問題來儘早定義的。例如,應用程式如何為企業賺錢?了解這些問題的答案有助於指導接下來的詳細工作。
建議:像這樣的購物應用程式需要處理付款。根據此描述,我們知道需要某些技術來確保資訊的隱私和安全性,並且一切都需要符合 PCI-DSS。
第二階段:定義技術範圍
摘要:這裡的目標是透過識別應用程式使用的技術並了解它們的依賴性來了解攻擊面。
建議:API 促進客戶、合作夥伴和員工之間的資料交換,因此應優先考慮。它們在將各種用戶和系統連接在一起時處理大量敏感資料。但是,在確定一項技術優先於另一項技術之前,應考慮正在使用哪些 API 等詳細資訊。因此,它們更容易出現安全漏洞,因為攻擊面更大。
第三階段:分解應用程式
簡介:第三階段建立在前一階段的基礎上,研究應用程式的元件如何相互溝通。這裡的目標是回顧應用程式如何運作以及目前如何實施安全控制。
建議:範例資料流程圖顯示了典型的搜尋請求如何通過多個圖層。您在這裡可能要檢查的一件事是確保 MySQL 資料庫在輸入查詢時使用準備好的語句。
第四階段:威脅分析
摘要:第四階段的主要目標是考慮可能影響您的應用程式的威脅類型。這與您已經研究過的技術有關。另一件需要考慮的事情是您的應用程式將處理的資料類型。
建議:注入攻擊對於 SQL 資料庫很常見。會話劫持是可能的,因為應用程式在多層之間傳遞 cookie。重要的是要考慮您的技術攻擊面以及對您的產品的任何相關威脅,以有效履行您的資訊安全責任。
第五階段:漏洞分析
摘要:第五階段是將資產漏洞與潛在威脅相關聯。這裡的目標是根據安全測試確定應用程式或其程式碼庫的設計存在問題。
建議:缺乏準備好的語句可能會使我們的 SQL 資料庫容易受到注入攻擊。如果輸入和輸出來源之間的 cookie 處理不當,則可能會發生會話劫持。
第六階段:攻擊建模
摘要:在此階段,目標是使用攻擊樹將前面步驟中識別的威脅和漏洞連結起來。此處使用攻擊樹的目的是表明您已識
結論
前幾篇文章我們深入探討了威脅、弱點的來源,以及入侵者的心態與動機,並且介紹了防範措施以避免系統遭到入侵。今日的內容將聚焦於各類惡意軟體的運作方式,從常見的病毒到勒索軟體,將幫助您全面了解網路世界中的威脅模式與防護方法。通過這些知識,我們將進一步掌握如何抵禦不斷進化的惡意軟體,提升您的資訊安全能力。
9/23回公司後會再排版上傳圖片