Abstract

Các hướng tiếp cận sử dụng threat modeling phù hợp với việc modeling các hệ thống có kiến trúc truyền thống (tập trung và đa lớp).

Câu hỏi đặt ra là: các hướng tiếp cận này có thể được áp dụng cho các hệ thống có kiến trúc phân tán chẳng hạn như là sổ cái hoặc blockchain (có data store, process và control flow được chia sẻ bởi nhiều participants ngang hàng) hay không.

Để trả lời cho câu hỏi này, các tác giả đã tiến hành phân tích độ tương thích giữa các loại mối đe dọa (threat type) về security và privacy của blockchain được mô tả ở trong literature so với các hướng tiếp cận threat modeling.

Introduction

Quá trình threat modeling chẳng hạn như STRIDE hoặc LINDDUN áp dụng ở trên một mô hình hệ thống end-to-end, được encoded bằng một DFD. Quá trình này nhằm nghiên cứu tính applicability và likelihood của các threat type ở một mức độ chi tiết và phức tạp trong kiến trúc của phần mềm1.

Cách tiếp cận của các tác giả để phân tích độ tương thích:

  1. Thu thập các tri thức đã có về các security và privacy threat cũng như là các loại tấn công của blockchain thông qua các literature review và các survey study. Sau đó gom chúng lại thành các threat type lớn hơn.
  2. Phân tích tính tương thích giữa các threat type ở trên với các frameworks tìm threat chẳng hạn như là STRIDE hoặc LINDDUN. Họ còn phân tích một cách chính xác mức độ tương thích về việc một loại mối đe dọa blockchain-specific nào đó có thể được nhận diện bởi các frameworks kể trên.
  3. Cuối cùng, các tác giả lập ra một thang đánh giá khách quan và có tính phân loại.

Do blockchain gắn liền với cryptocurrency chẳng hạn như Bitcoin nên đa số các threat types ở trong bài báo này tập trung vào Bitcoin. Tuy nhiên, nó vẫn có thể áp dụng cho các hệ thống blockchain mà sử dụng PoW2.

Background

Threat Modeling: Các mối đe dọa được tìm ra bởi các danh mục mối đe dọa (threat category) chẳng hạn như STRIDE hay LINDDUN sẽ được refined thành các concrete threat type và được biểu diễn dưới dạng các cây đe dọa (threat tree). Từng phần tử ở trong DFD sẽ được xem xét với từng threat type cụ thể thông qua một mapping table.

Có nhiều công cụ giúp lặp qua các element của DFD và các threat tree một cách có hệ thống để nhận diện và tạo ra các concrete threat type (đây là bước khơi gợi threat). Trong thực tế, có hai loại khơi gợi threat là per-element (theo từng element) và per-interaction (theo từng data flow).

Blockchain Threat Types

Một số loại blockchain là mở (cho phép các pariticipant tham gia một cách tự do) nên có thể dẫn đến nhiều rủi ro liên quan đến bảo mật và tính riêng tư.

Sau đây là một số threat type của blockchain:

  1. Security: mỗi security threat type dưới đây sẽ đi kèm với một kiểu tấn công điển hình.
    • Double spending: khai thác race condition của giao thức đồng thuận.
    • Mining và mining pools: các miner thông đồng với nhau để kiểm soát mạng lưới (51% attack).
    • P2P network: DoS, cô lập các node, etc.
  2. Privacy: bao gồm các vấn đề liên quan đến việc sử dụng các địa chỉ công khai chẳng hạn như nhận diện, liên kết và tích lũy thông tin. Cách thức khai thác thường dựa trên thông tin của blockchain cũng như là meta-data của các transaction.
    • Blockchain analysis:
    • Network analysis
    • Key management

Compability Assessment

Nhằm hỗ trợ cho việc đánh giá độ tương thích giữa các threat type ở phần trên so với các threat modeling framework, các tác giả đã xây dựng một thang đánh giá có tính phân loại như sau:

Lý giải một chút:

  • Số điểm 0: Để tạo được DFD của hệ thống, cần có kiến thức về các loại mối đe dọa mà hệ thống có thể phải đối mặt.
  • Số điểm 2: Threat type có thể tương ứng với một danh mục nhất định, nhưng cần sử dụng nhiều element hoặc data flow hơn để đạt được điều đó.
  • Số điểm 4: Threat type có thể tương ứng với một danh mục nhất định, nhưng không có một mối đe dọa cụ thể tương ứng trong threat tree. Có nghĩa là, không có một concrete threat type cụ thể trong threat tree liên quan đến threat type đang xét.

Thang đánh giá này dựa trên các tiêu chí về việc nhận diện:

  1. Các vấn đề liên quan đến expressivity của các ký hiệu của DFD và tính không tương thích của bản thân quá trình khơi gợi threat (điểm 0 và 2).
  2. Tính tương thích tiên nghiệm giữa các threat type với các threat category: STRIDE và LINDDUN (điểm 1 và 3).
  3. Tính tương thích với threat tree (điểm 4 và 5).

Ngoài ra, các tác giả còn gán nhãn (problematic, intermediate, positive) cho những số điểm nhằm đánh giá sự khác biệt của các threat type với các threat modeling framework.

Để đánh giá độ tương thích, các tác giả thực hiện những tác vụ sau:

  1. Tạo ra một DFD cho các hoạt động của miner.
  2. Áp dụng các kỹ thuật threat modeling (sử dụng STRIDE và LINDDUN) cho DFD này.
  3. So sánh các threat type tìm được bởi quá trình threat modeling với các threat type có trong các literature (được liệt kê ở phần Blockchain Threat Types) và đánh giá dựa trên thang đo ở trên.

Kết quả của việc đánh giá:

Discussion

Các tác giả đã nhận thấy các nguyên nhân chính gây ra sự không tương thích như sau:

  1. DFD notation có độ tường minh hạn chế.
  2. Khả năng khơi gợi threat dựa trên các element hoặc interaction không cho phép nhận diện các threat trong ngữ cảnh hệ thống cụ thể.
  3. Thiếu tính khả tri của các phương pháp modeling về khía cạnh động lực và lý thuyết trò chơi, điều này là quan trọng đối với mô hình bảo mật của blockchain.

Để giải quyết các vấn đề này, trong tương lai, các tác giả đề xuất:

  1. Mở rộng DFD notation bằng cách sử dụng các khái niệm mới như mining pools hay các nhóm participant lớn mà có sự thông đồng với nhau.
  2. Sử dụng các công cụ hỗ trợ.
  3. Tích hợp với các phương pháp mô hình hóa khác như đánh giá threat theo mục tiêu (goal-driven threat assessment) hoặc các mô hình liên quan đến lý thuyết trò chơi, v.v.

Footnotes

  1. Xem thêm Threat Modeling, Threat Modeling – a Systematic Literature ReviewExtracting and Analyzing the Implemented Security Architecture of Business Applications

  2. Xem thêm Blockchain Challenges and Opportunities - a SurveyBitcoin - A Peer to Peer Electronic Cash System