iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0

當我們談論網絡安全,許多經典的攻擊手法立刻浮現在腦海中。以下就簡單講解幾個比較常看到的攻擊

  1. Buffer Overflow Attack

    • 原理: 當程式的資料超出它所分配的記憶體空間,它可能會覆寫相鄰的記憶體空間。如果這部分的空間包含了執行指令,那麼攻擊者就有可能執行任意代碼。

    • ex: 假設一個程式使用 strcpy() 函數,不檢查輸入長度。攻擊者可以提供一個比預期長的字符串,導致記憶體溢出,並可能執行攻擊者所提供的代碼。

  2. XSS (Cross-Site Scripting)

    • 原理: XSS 允許攻擊者將惡意腳本注入到其他使用者會查看的網頁中。當其他使用者查看這些網頁時,這些腳本會在他們的瀏覽器中執行。

    • ex: 若一個社交網站的留言功能沒有適當地消毒輸入,攻擊者可以在留言中插入JavaScript代碼。當其他使用者查看該留言時,腳本就會在他們的瀏覽器中運行。

  3. XSRF (Cross-Site Request Forgery)

    • 原理: XSRF 使攻擊者能夠迫使使用者在沒有他們知道的情況下執行不在其意的操作。

    • ex: 假如一個網路銀行允許使用者通過URL轉賬。攻擊者可以在一封電子郵件中隱藏這個URL,當使用者點擊它時,他們可能會無意中轉賬給攻擊者。

  4. SQL Injection

    • 原理: 透過未消毒的輸入,攻擊者可以注入SQL代碼並更改資料庫查詢的行為。

    • ex: 如果一個登錄頁面沒有正確建置好,攻擊者可以輸入特定的SQL代碼,使得他們能夠在不知道密碼的情況下登錄。

  5. XML Vulnerability

    • 原理: XML文件可能受到各種攻擊,例如XML外部實體注入(XXE)。

    • ex: 如果一個應用程式解析XML且允許外部實體,攻擊者可以參考外部文件,可能導致數據洩露或服務拒絕。

  6. Race Condition

    • 原理: 當系統的行為取決於一系列不可預測的事件的順序時,就可能出現賽態條件。攻擊者可能會嘗試操縱這些事件的順序以獲得不正當的利益。

    • ex: 在一個銀行應用中,如果兩個交易在幾乎同時進行且在扣款之前沒有正確地檢查餘額,使用者的賬戶可能會出現負餘額,而不會被系統檢測到。

這些只是對各種攻擊手法的基本介紹。實際上,防止這些攻擊需要徹底的安全評估和持續的安全訓練。

另外當我們討論系統或軟體測試時,「黑箱」、「白箱」和「灰箱」是三個常用的術語。這三者都描述了測試過程中可用的信息量和測試者的角度。

  1. 黑箱測試 (Black Box Testing)

    • 定義: 黑箱測試是基於輸入和輸出的測試,而不關心程式或系統的內部結構、設計和實現細節。

    • 方法: 測試者將系統視為一個「黑箱」,只知道它應該對某些輸入產生某些輸出,而不知道具體的工作原理。

    • 適用場景: 功能測試、驗收測試和系統測試通常使用黑箱測試方法。

  2. 白箱測試 (White Box Testing)

    • 定義: 白箱測試是基於程式碼和內部結構、設計、邏輯等的測試。

    • 方法: 測試者必須知道系統的內部工作方式。通常會涉及對代碼的執行路徑、分支、迴圈等進行測試。

    • 適用場景: 單元測試、代碼覆蓋度測試和安全性/滲透測試通常會使用白箱測試方法。

  3. 灰箱測試 (Gray Box Testing)

    • 定義: 灰箱測試是黑箱測試和白箱測試的組合,旨在結合兩者的優點。測試者可能知道一些系統的內部結構,但不像白箱測試那樣知道所有細節。

    • 方法: 測試者將部分內部結構資訊和外部行為結合起來進行測試,以找到潛在的安全漏洞或錯誤。

    • 適用場景: 灰箱測試常用於特定的滲透測試和集成測試。

這三種測試方法各有其特點和優點。選擇哪種方法取決於測試目的、項目需求和可用的資源。


上一篇
[Day 16] 開放漏洞與評估語言(Open Vulnerability and Assessment Language, OVRL)
下一篇
[Day 18]虛擬機的安全威脅與應對策略
系列文
你懂資安 資安就會幫你! CompTIA Security+ (SY0-601) 到底在講什麼!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言