Hoàn thành bài "Kiến trúc MCP và các ranh giới tin cậy trong môi trường production" trước để mở khoá bài này.Đến bài trước

Mục đích và Phạm vi

Mô hình hóa mối đe dọa đối với các hệ thống MCP là một phương pháp có cấu trúc để xem xét cách một ứng dụng sử dụng Model Context Protocol có thể bị tấn công, kẻ tấn công có thể đạt được điều gì và những biện pháp kiểm soát nào có thể làm giảm khả năng xảy ra hoặc mức độ tác động. Hoạt động này được thực hiện trong giai đoạn thiết kế và được xem xét lại khi các công cụ, máy chủ, quyền hạn, luồng dữ liệu hoặc điều kiện triển khai thay đổi. Hoạt động này không chứng minh rằng hệ thống an toàn, cũng không thay thế cho kiểm thử bảo mật, ứng phó sự cố hoặc giám sát vận hành.

Một triển khai MCP có thể bao gồm ứng dụng máy chủ, một model, các MCP client, một hoặc nhiều MCP server, các dịch vụ bên ngoài và những người cấu hình hoặc phê duyệt hành động. Câu hỏi bảo mật không chỉ đơn giản là liệu từng thành phần có hoạt động đúng như dự kiến hay không. Cũng cần xem xét liệu hành vi tổng hợp của chúng có cho phép nội dung không đáng tin cậy tác động đến một hành động có đặc quyền, hoặc cho phép một thành phần truy cập thông tin vượt quá mục đích dự kiến hay không.

Một mô hình hữu ích cần xác định các tài sản quan trọng, ranh giới tin cậy giữa các thành phần, danh tính và quyền hạn đang được sử dụng, các đối tượng có thể là kẻ tấn công, cũng như các đường đi từ điểm xâm nhập ban đầu đến một kết quả không mong muốn. Tài sản bao gồm thông tin xác thực, hồ sơ riêng tư, khả dụng của công cụ và tính toàn vẹn của các hành động như gửi tin nhắn hoặc thay đổi tài nguyên production. Phân tích phải đủ cụ thể để có thể kiểm thử.

Lập bản đồ hệ thống và các ranh giới tin cậy

Bắt đầu bằng cách mô tả một quy trình thực tế. Ví dụ: một nhân viên yêu cầu trợ lý tóm tắt một hồ sơ hỗ trợ. Host gửi yêu cầu đến model, model gọi một MCP server để truy xuất thông tin chi tiết của hồ sơ, rồi host hiển thị phản hồi. Hãy vẽ từng thành phần cùng các luồng dữ liệu và luồng điều khiển giữa chúng. Đánh dấu nơi danh tính được xác thực, nơi kiểm tra phân quyền, nơi dữ liệu đi vào và nơi kết quả rời khỏi tổ chức.

Ranh giới tin cậy là điểm mà dữ liệu hoặc quyền hạn đi qua giữa các bên có mức độ tin cậy khác nhau. Một tin nhắn của khách hàng vẫn là dữ liệu không đáng tin cậy ngay cả khi được lưu trong cơ sở dữ liệu nội bộ. Một MCP server có thể do tổ chức vận hành nhưng vẫn là một ranh giới tin cậy riêng nếu các dependency, thông tin xác thực hoặc quy trình triển khai của nó được kiểm soát độc lập. Context của model là một ranh giới quan trọng khác: văn bản được truy xuất có thể tác động đến hành vi của model, nhưng không nên mặc nhiên có quyền phê duyệt việc sử dụng công cụ.

Ghi lại quyền hạn của từng thành phần thay vì dựa vào các nhãn chung chung như “nội bộ” hoặc “đáng tin cậy”. Hãy xác định server sử dụng những thông tin xác thực nào, có thể truy cập dữ liệu của những người dùng nào, liệu thông tin xác thực có được dùng chung hay không và liệu host có thể phân biệt quyền hạn của người dùng này với người dùng khác hay không. Những chi tiết này cho thấy liệu một sự cố xâm nhập ở một khu vực có thể lan sang các hệ thống không liên quan hay không.

Sơ đồ luồng dữ liệu của một host, model, MCP client, MCP server, người dùng và dịch vụ dữ liệu bên ngoài; thể hiện hướng đi của yêu cầu và phản hồi, ranh giới thông tin xác thực, nội dung không đáng tin cậy được truy xuất và các điểm kiểm tra phân quyền

Phân tích các đường tấn công phổ biến

Prompt injection xảy ra khi các chỉ dẫn được nhúng trong dữ liệu đầu vào của người dùng hoặc nội dung được truy xuất cố gắng thay đổi hành vi của mô hình. Một yêu cầu hỗ trợ có thể chứa văn bản yêu cầu trợ lý truy xuất hồ sơ của khách hàng khác. Văn bản đó có thể được trả về bởi một công cụ hợp lệ nhưng vẫn mang tính đối nghịch. Nguyên nhân là xu hướng diễn giải nội dung ngôn ngữ tự nhiên như các chỉ dẫn của mô hình; hệ quả có thể là một lệnh gọi công cụ trái phép nếu máy chủ hoặc server phụ thuộc vào mô hình để thực thi chính sách kiểm soát truy cập.

Lạm dụng công cụ xảy ra khi một công cụ được gọi với phạm vi quyền hạn quá rộng, tham số không phù hợp hoặc tại thời điểm không thích hợp trong quy trình. Một công cụ tìm kiếm chỉ đọc có rủi ro khác với công cụ có thể xóa hồ sơ hoặc gửi tin nhắn ra bên ngoài. Hành vi đại diện bị nhầm quyền là một dạng lỗi có liên quan nhưng khác biệt: một thành phần có đặc quyền sử dụng quyền hạn của mình thay mặt cho một bên yêu cầu không có quyền hạn đó. Ví dụ, một server sử dụng credential dịch vụ có phạm vi rộng có thể trả về dữ liệu mật chỉ vì mô hình yêu cầu, dù người dùng không có quyền xem dữ liệu đó.

Rò rỉ dữ liệu có thể phát sinh thông qua kết quả công cụ, phản hồi của mô hình, log, trace hoặc thông báo lỗi. Thông tin có thể bị tiết lộ cho người dùng trái phép, được gửi đến một đích bên ngoài hoặc được lưu giữ lâu hơn dự kiến. Một MCP server bị xâm nhập cũng có thể thao túng phản hồi, đánh cắp các credential mà nó có thể truy cập hoặc thực hiện các lệnh gọi trái phép đến những hệ thống có thể tiếp cận từ môi trường của nó. Hãy xem xét chuỗi sau: nội dung độc hại đi vào một hồ sơ được truy xuất, tác động đến yêu cầu công cụ và tiếp cận một tài khoản dịch vụ có quyền truy cập rộng. Việc mô hình hóa chuỗi này giúp làm rõ những biện pháp kiểm soát nào phải ngắt được chuỗi.

Đánh giá và giảm thiểu rủi ro

Đối với mỗi đường tấn công, hãy nêu các điều kiện tiên quyết, hành động mà kẻ tấn công hoặc thành phần không an toàn thực hiện, tài sản bị ảnh hưởng và tác động có khả năng xảy ra. Phân biệt bằng chứng với giả định. Bằng chứng có thể bao gồm phạm vi quyền được ghi trong tài liệu của một công cụ hoặc một quy tắc phân quyền đã được kiểm thử; giả định có thể là mọi người dùng đều có cùng quyền truy cập. Ghi nhận các điểm chưa chắc chắn dưới dạng những mục cần xác minh, thay vì coi chúng là biện pháp bảo vệ.

Ưu tiên bằng cách kết hợp khả năng xảy ra và mức độ tác động, đồng thời xem xét khả năng tiếp cận và các biện pháp kiểm soát hiện có. Một đường tấn công ít có khả năng xảy ra nhưng có thể làm lộ toàn bộ hồ sơ khách hàng có thể cần được xử lý trước một đường tấn công dễ xảy ra nhưng chỉ gây tác động hạn chế và có thể khôi phục. Tránh độ chính xác giả tạo: điểm số định lượng chỉ hữu ích nếu nhóm sử dụng các định nghĩa nhất quán và điểm số không che khuất những hậu quả nghiêm trọng. Xác định một người phụ trách và hành động tiếp theo cụ thể cho mỗi rủi ro có mức ưu tiên cao.

Ưu tiên các biện pháp kiểm soát thực thi quyền hạn bên ngoài mô hình. Áp dụng phân quyền tại dịch vụ sở hữu dữ liệu, giới hạn credential ở mức tối thiểu cần thiết cho các thao tác và hồ sơ cần truy cập, đồng thời tách các thao tác đọc khỏi các thao tác ghi có hậu quả khi thực tế cho phép. Xác thực tham số công cụ và giới hạn các đích đến. Yêu cầu con người phê duyệt khi thao tác có hậu quả đáng kể hoặc khó hoàn tác. Coi đầu ra của công cụ là nội dung không đáng tin cậy; yêu cầu mô hình bỏ qua các chỉ dẫn độc hại không phải là một ranh giới kiểm soát truy cập.

Vận hành và đánh giá lại

Đối với MCP server do bên thứ ba hoặc nội bộ vận hành, hãy đánh giá nguồn gốc, quy trình cập nhật, tính toàn vẹn của dependency, việc xử lý credential và quyền truy cập mạng mà server yêu cầu. Giới hạn môi trường của server để việc bị xâm nhập không tạo ra đường dẫn đến các hệ thống không liên quan. Xoay vòng credential khi nghi ngờ có lộ lọt và giúp việc sử dụng công cụ có thể quan sát được thông qua các log xác định actor, thao tác, kết quả phân quyền và đích liên quan. Log không nên sao chép secret hoặc nội dung nhạy cảm không cần thiết sang một kho lưu trữ thứ hai.

Giám sát giúp phát hiện những hành vi mà một cuộc rà soát thiết kế không thể loại trừ. Thiết lập các mẫu hành vi kỳ vọng đối với các thao tác nhạy cảm, chẳng hạn như những identity nào được phép sử dụng chúng và mức tần suất hoặc phạm vi đích nào là bình thường. Xác định ai sẽ điều tra một lệnh gọi bất thường và quyền truy cập có thể bị thu hồi như thế nào. Kiểm thử các đường tấn công tiêu biểu trong môi trường được kiểm soát, bao gồm nội dung độc hại được truy xuất, yêu cầu truy cập hồ sơ trái phép và các giả định về việc server bị xâm nhập. Kết quả kiểm thử là bằng chứng về cấu hình đã được kiểm thử, không phải sự bảo đảm cho mọi triển khai trong tương lai.

Đánh giá lại mô hình khi một công cụ mới được thêm vào, quyền hạn thay đổi, server chuyển sang đơn vị vận hành mới hoặc một sự cố cho thấy một đường tấn công đã bị bỏ sót. Duy trì hồ sơ đủ ngắn gọn để có thể cập nhật: sơ đồ hệ thống, các mối đe dọa đã được ưu tiên, các biện pháp kiểm soát được lựa chọn, người phụ trách và những giả định chưa được giải quyết. Điều này kết nối tư duy kiến trúc với các quyết định trong môi trường production và giúp xác minh liệu các biện pháp giảm thiểu vẫn còn phù hợp với hệ thống đã triển khai hay không.

Tóm tắt

Mô hình hóa mối đe dọa đối với các hệ thống MCP tập trung vào sự tương tác giữa model, host, client, server, tool, người dùng và các dịch vụ bên ngoài. Những rủi ro trọng yếu bao gồm nội dung không đáng tin cậy có chứa chỉ dẫn, các tool có quyền hạn quá mức, hành vi deputy bị nhầm lẫn, lộ dữ liệu và server bị xâm phạm. Với mỗi rủi ro, hãy lần theo một đường đi hợp lý từ điểm vào đến tài sản và tác động, sau đó đặt các biện pháp kiểm soát có thể thực thi tại những ranh giới nơi danh tính, quyền cấp phép, dữ liệu và hành động được xử lý.

Cách tiếp cận đáng tin cậy nhất là phân lớp: giới hạn quyền, thực thi việc cấp quyền trong dịch vụ sở hữu tài nguyên, ràng buộc và xác thực các hành động của tool, bảo vệ tính toàn vẹn của server, giám sát các thao tác nhạy cảm và đánh giá lại sau mỗi thay đổi. Model có thể hỗ trợ một quy trình, nhưng không nên là ranh giới bảo mật duy nhất của hệ thống. Mô hình đe dọa chỉ thực sự hữu ích khi dẫn đến các bài kiểm thử cụ thể, chủ sở hữu chịu trách nhiệm rõ ràng và các biện pháp kiểm soát có thể quan sát trong môi trường production.

Luyện tập sau buổi học

Bài kiểm tra cuối bài

Ôn lại kiến thức, thử sức và nhận góp ý cho bài làm.

0/7
01Mục đích chính của việc mô hình hóa mối đe dọa đối với một hệ thống MCP là gì?
02Một MCP server trả về một tài liệu chứa các chỉ dẫn yêu cầu tiết lộ những tệp khác. Cách diễn giải nào về mặt bảo mật là phù hợp nhất?
03Mô tả nào phù hợp nhất với hành vi deputy bị nhầm lẫn?
04Một công cụ có thể truy vấn hồ sơ khách hàng. Biện pháp kiểm soát nào trực tiếp nhất giúp giảm tác động của việc lộ dữ liệu?
05Những biện pháp nào giải quyết tốt nhất rủi ro máy chủ MCP bị xâm phạm?
06Một công cụ có thể gửi tin nhắn ra bên ngoài. Thiết kế nào giúp giảm việc sử dụng sai mục đích tốt nhất mà vẫn duy trì khả năng sử dụng hợp lệ?
07Một nhóm vận hành hệ thống production nên mô tả các mối đe dọa có liên quan như prompt injection, lạm dụng công cụ và xâm phạm máy chủ như thế nào?
Đã trả lời · 0/7