Kiến trúc và cơ chế an toàn trong windows

Cách tiếp cận để xây dựng kiến ​​trúc an toàn trong phần mềm và tài liệu kiến ​​trúc đề xuất áp dụng các kỹ thuật, được xem là các biện pháp để cải thiện các yếu tố chất lượng cho kiến ​​trúc hệ thống. Bài viết này giới thiệu kết quả nghiên cứu của chuyên gia quốc tế đã phổ biến để thêm góc nhìn về bảo đảm an toàn thông tin cho các hệ thống chính phủ điện tử. Tác giả kết luận rằng bảo mật phải được áp dụng trong suốt vòng đời hoàn chỉnh và chỉ làm việc với các kiến ​​trúc là không đủ để xây dựng các hệ thống an toàn. Để chứng minh quan điểm của mình, tác giả coi phương pháp hệ thống an toàn của chính mình là một ví dụ về cách tiếp cận dựa trên các mẫu bảo mật nơi bảo mật được áp dụng từ giai đoạn yêu cầu.

Hệ thống điện toán đám mây bao gồm nhiều thiết bị được kết nối với chúng, các mô hình triển khai khác nhau và cung cấp nhiều dịch vụ khác nhau, tất cả đều tạo ra nhiều lo ngại về cách bảo mật có thể được thực thi. Nhiều vấn đề bảo mật đám mây cũng đúng với bất kỳ loại hệ thống phân tán nào sử dụng các ứng dụng web. Tuy nhiên, kiến ​​trúc đám mây mang lại các cuộc tấn công mới và kết quả của một cuộc tấn công thành công có thể là thảm khốc hơn vì một kẻ tấn công làm tổn hại đến mức cơ sở hạ tầng sau đó có thể làm tổn hại dữ liệu từ nhiều người dùng. Ngay cả ở cấp cao hơn cũng có những mối đe dọa nghiêm trọng; đối với mô hình PaaS, người dùng có được môi trường phát triển nơi anh ta có thể phát triển bất kỳ loại ứng dụng nào, thậm chí có chứa mã độc. Khi ứng dụng đó được triển khai ở cấp SaaS, nó có thể tấn công người dùng khác hoặc các dịch vụ đó có thể được sử dụng bất hợp pháp.

Kiến trúc tham chiếu (RA) đang trở thành công cụ hữu ích để hiểu và xây dựng các hệ thống phức tạp và nhiều nhà cung cấp sản phẩm đám mây và nhà cung cấp sản phẩm phần mềm đã phát triển các phiên bản của chúng. Tuy nhiên, cho đến nay, rất ít kiến ​​trúc tham chiếu bảo mật xuất hiện. Hầu hết tất cả trong số họ sử dụng các mô hình khá không chính xác, trong đó các chi tiết triển khai được trộn lẫn với các khía cạnh kiến ​​trúc. Tác giả đề xuất một Kiến trúc tham chiếu bảo mật (SRA) được xác định bằng các mô hình UML, xem xét nỗ lực đầu tiên để xác định kiến ​​trúc điện toán đám mây bán chính thức, chính thức. Theo SRA, RA là nơi các cơ chế bảo mật được thêm vào những nơi thích hợp để bảo vệ chống lại các mối đe dọa đã xác định và do đó cung cấp một mức độ bảo mật cho môi trường đám mây hoàn chỉnh. SRA rất hữu ích để áp dụng bảo mật cho các hệ thống đám mây, để xác định Thỏa thuận cấp độ dịch vụ (SLA), để đánh giá tính bảo mật của một hệ thống đám mây cụ thể và cho nhiều mục đích khác.

Cách tiếp cận cơ bản tác giả sử dụng để xây dựng SRA bổ sung bảo mật cho các hệ thống đám mây bằng cách áp dụng phương pháp phát triển bảo mật có hệ thống, có thể được sử dụng làm hướng dẫn để xây dựng các hệ thống đám mây an toàn và đánh giá mức độ bảo mật của chúng. Sử dụng làm điểm bắt đầu kiến ​​trúc tham chiếu đám mây của riêng mình và liệt kê các mối đe dọa của nó mà tìm thấy các biện pháp đối phó dưới dạng các mẫu bảo mật. Một mô hình bảo mật gói gọn sự phòng thủ trước một mối đe dọa theo cách ngắn gọn và có thể tái sử dụng. Bằng cách kiểm tra xem các mối đe dọa có thể được dừng hoặc giảm thiểu trong SRA hay không, có thể đánh giá mức độ bảo mật của nó. Tác giả đã thực hiện một bảng liệt kê các mối đe dọa đám mây có hệ thống và đã bắt đầu xây dựng một danh mục các mẫu thử sai đám mây. Một mô hình thử sai (misuse patterns) mô tả cách thức một cuộc tấn công được thực hiện để dẫn đến việc sử dụng sai; với một danh mục đầy đủ về chúng, chúng ta có thể áp dụng chúng một cách có hệ thống và sử dụng kiến ​​trúc tham chiếu để tìm nơi chúng ta nên thêm các mẫu bảo mật tương ứng để ngăn chặn chúng.

Cách tiếp cận của tác giả xác định SRA như vậy lấy ý tưởng từ phương pháp, trong thực tế, nó có thể được thêm vào. Nó chủ yếu dựa vào cấu trúc hướng đối tượng được thể hiện thông qua các mô hình UML. Các mô hình UML có thể được bổ sung bằng các mô tả chính thức như OCL và có thể các mô hình khác để có thể làm cho kiến ​​trúc này trang trọng hơn nếu cần. Tác giả tin rằng đây là cách tiếp cận thực tế duy nhất với sự phức tạp của hệ thống đang xem xét; tất nhiên, các phần của kiến ​​trúc có thể được mô hình hóa bằng các phương pháp hoàn toàn chính thức. Tác giả muốn chỉ ra cách xây dựng một kiến ​​trúc như vậy, tập trung vào các chi tiết của cấp độ IaaS, đây là điều quan trọng nhất đối với bảo mật.

Bối cảnh

Mẫu là một giải pháp cho một vấn đề tái diễn trong một bối cảnh nhất định. Một mô hình thể hiện kiến ​​thức và kinh nghiệm của các nhà phát triển phần mềm và có thể được sử dụng lại trong các ứng dụng mới. Các mẫu phân tích có thể được sử dụng để xây dựng các mô hình khái niệm, các mẫu thiết kế và kiến ​​trúc được sử dụng để xây dựng phần mềm linh hoạt và các mẫu bảo mật có thể được sử dụng để xây dựng các hệ thống bảo mật. Các mẫu thử sai tả cách thực hiện một cuộc tấn công và cách ngăn chặn nó bằng các mẫu bảo mật. Các mẫu được xem xét kỹ ngầm áp dụng các nguyên tắc thiết kế tốt. Các mẫu giải pháp thường được thể hiện bằng các sơ đồ UML và có thể được chính thức hóa hơn bằng cách sử dụng OCL.

Kiến trúc tham khảo (RA) là một tiêu chuẩn hóa, kiến trúc chung, giá trị trong một lĩnh vực cụ thể mà không chứa chi tiết thực hiện. RA cung cấp một giải pháp giống như khuôn mẫu có thể được khởi tạo thành một kiến ​​trúc phần mềm cụ thể bằng cách thêm các khía cạnh hướng triển khai. Không có định nghĩa chính xác về những gì RA nên chứa; Các mẫu phân tích ngữ nghĩa là một bước để xây dựng các RA ngoài các mẫu, một ý tưởng được đưa ra sau đó. Ngoài ra còn có các kiến ​​trúc tham chiếu khác nhau cho điện toán đám mây và một số trong số chúng là chung trong khi các loại khác tập trung vào khu vực cụ thể hoặc sản phẩm.

Tác giả đã phát triển RA có thể cung cấp một cái nhìn chính xác về các hệ thống đám mây. Vì các đám mây là các hệ thống phức tạp nên đã trình bày từng mô hình dịch vụ dưới dạng các mẫu mô tả các yêu cầu, đặc điểm, đơn vị chính của chúng và mối quan hệ giữa các đơn vị này, cũng bao gồm một số trường hợp sử dụng mô tả các chức năng phổ biến cho các dịch vụ đám mây nói chung cũng như cho từng mô hình dịch vụ.

Để hiểu rõ hơn về bảo mật đám mây, tác giả đã thực hiện đánh giá có hệ thống về các vấn đề bảo mật, liệt kê các mối đe dọa và lỗ hổng chính trên đám mây được tìm thấy trong tài liệu. Trong phân tích đó, trình bày một phân loại các vấn đề bảo mật tập trung vào từng mô hình dịch vụ (SaaS, PaaS và IaaS) và đã xác định mô hình dịch vụ nào có thể bị ảnh hưởng bởi các vấn đề bảo mật này.

Tác giả đã mô tả ba mối đe dọa đám mây cụ thể dưới dạng các mẫu sử dụng sai: Suy luận theo dõi sử dụng tài nguyên, Tạo máy ảo độc hại và Di chuyển máy ảo độc hại. Suy luận sử dụng tài nguyên mô tả cách kẻ tấn công bằng cách định vị máy ảo của mình trong cùng một máy chủ mà nạn nhân có thể suy ra một số thông tin. Tạo máy ảo độc hại mô tả cách kẻ tấn công có thể tạo hình ảnh máy ảo có chứa mã độc để lây nhiễm các máy ảo khác sử dụng hình ảnh này. Di chuyển máy ảo độc hại mô tả cách máy ảo có thể bị xâm phạm khi di chuyển sang máy chủ khác.

Kiến trúc tham chiếu bảo mật đám mây

Các bước xây dựng kiến trúc tham chiếu bảo mật được mô tả dưới dây.

- Phân tích từng trường hợp sử dụng để tìm kiếm các lỗ hổng và các mối đe dọa. Điều này ngụ ý kiểm tra từng hoạt động trong sơ đồ hoạt động của các trường hợp sử dụng để xem làm thế nào nó có thể bị tấn công. Cách tiếp cận này dẫn đến một bảng liệt kê các mối đe dọa có hệ thống.

- Sử dụng danh sách các mối đe dọa để tìm thêm các lỗ hổng và mối đe dọa khác. Những mối đe dọa này được thể hiện dưới dạng các mẫu sử dụng sai.

- Áp dụng các chính sách để xử lý các mối đe dọa và xác định các mô hình bảo mật để hiện thực hóa các chính sách. Có một số biện pháp phòng vệ đến từ các thực tiễn tốt nhất và các biện pháp khác xử lý các mối đe dọa cụ thể. Ngoài ra còn có các chính sách quy định được thực hiện như các mẫu bảo mật.

Kiến trúc và cơ chế an toàn trong windows

Siêu mô hình

Hình dưới cho thấy một siêu mô hình mô tả các khái niệm về SRA của tác giả. Các mối đe dọa lợi dụng các lỗ hổng có thể tồn tại ở bất kỳ cấp độ dịch vụ đám mây nào. Các mối đe dọa đến từ phân tích các trường hợp sử dụng hoặc từ danh sách các mối đe dọa được công bố. Chúng ta có thể ngăn chặn một mối đe dọa bằng cách loại bỏ lỗ hổng ban đầu hoặc bằng cách kiểm soát sự lan truyền của mối đe dọa (bằng cách loại bỏ các lỗ hổng khác) thông qua việc sử dụng mô hình bảo mật. Mẫu bảo mật được sử dụng được chọn từ các biện pháp đối phó được xác định trong mẫu thử mô tả mối đe dọa. Một số mối đe dọa áp dụng cho tất cả các cấp độ dịch vụ. Ví dụ, tràn bộ đệm là một vấn đề ngôn ngữ và cho phép leo thang đặc quyền bởi kẻ tấn công hoạt động ở mọi cấp độ. Các mối đe dọa khác là cụ thể cho cấp độ; ví dụ, một ứng dụng tài chính có thể bị tấn công bằng cách lợi dụng việc thiếu xác thực thích hợp trong việc truy cập từ xa vào tài khoản. Nếu mối đe dọa lợi dụng lỗ hổng trong một ứng dụng, nó có thể làm tổn hại đến tính bảo mật của ứng dụng đó. Nếu mối đe dọa ảnh hưởng đến cấp IaaS, nó sẽ ảnh hưởng đến tất cả các tính toán trên đám mây và nếu nó xảy ra ở cấp PaaS, nó có thể ảnh hưởng đến tất cả các ứng dụng được phát triển hoặc triển khai trên đám mây.

Kiến trúc và cơ chế an toàn trong windows

Kiến trúc tham chiếu bảo mật

Các mối đe dọa được xác định có thể được vô hiệu hóa bằng cách áp dụng các mẫu bảo mật thích hợp. Mỗi mối đe dọa được xác định có thể được kiểm soát bởi một mẫu bảo mật tương ứng. Khi các mẫu bảo mật được xác định sẽ áp dụng chúng vào kiến ​​trúc tham chiếu để ngăn chặn hoặc giảm thiểu các mối đe dọa. Các cơ chế bảo mật được thêm vào RA cơ bản, bao gồm Authenticator, Authorizer, Security Logger/Auditor và các cơ chế khác giúp giảm thiểu các mối đe dọa cụ thể. Để tránh những kẻ mạo danh, ta có thể sử dụng Trình xác thực để mọi hành động với đám mây được xác thực. Trình ghi/kiểm toán bảo mật được sử dụng để ghi nhật ký tất cả các hoạt động có thể được sử dụng để kiểm toán sau đó. Để ủy quyền, tác giả sử dụng Kiểm soát truy cập dựa trên vai trò hoặc một mô hình tương tự, do đó chỉ những người dùng được ủy quyền mới có thể thực hiện một số hành động đối với tài sản. Để tránh lưu trữ VMI bị nhiễm, chúng được quét và lọc trước khi lưu trữ chúng trong Kho lưu trữ VMI.

Hình dưới cho thấy mẫu kiến ​​trúc IaaS an toàn. Trong mô hình này, Trình xác thực hệ thống con là một phiên bản của mẫu Trình xác thực và cho phép Trình điều khiển đám mây xác thực Người tiêu dùng/Quản trị viên đám mây. Các trường hợp của mẫu Trình ghi/kiểm toán bảo mật được sử dụng để theo dõi mọi truy cập vào tài nguyên đám mây như VM, VMM và VMI. Trình giám sát tham chiếu thực thi các quyền ủy quyền được xác định bởi các phiên bản RBAC. Bộ lọc quét các máy ảo đã tạo để xóa mã độc.

Ở cấp độ SaaS, trách nhiệm bảo mật nằm trong tay của nhà cung cấp Dịch vụ (SP) tương ứng; nghĩa là, nếu tôi điều hành một công ty du lịch ở cấp độ này, tôi cần cung cấp xác thực, ủy quyền, mã hóa,.. cho khách hàng của mình. Các dịch vụ bảo mật này phải được hỗ trợ ở cấp IaaS, bao gồm quản trị bảo mật. Tình huống tương tự xảy ra ở cấp PaaS trong đó SP tương ứng phải cung cấp quyền kiểm soát các thành phần ở cấp độ này. Chúng ta cũng có thể tinh chỉnh mô hình để mô tả kiến ​​trúc của các dịch vụ quản lý bảo mật, của trình ảo hóa hoặc cấu trúc mạng.

Kiến trúc và cơ chế an toàn trong windows

Sử dụng

Xây dựng một SRA hoàn chỉnh bao gồm tất cả các trường hợp sử dụng, các thành phần và vai trò, rất tốn kém. Để chứng minh điều này, ta cần tìm ra một số lượng sử dụng tốt có giá trị cho việc phát triển hoặc sử dụng các hệ thống đám mây. Ví dụ:

- Cách để hiểu một hệ thống phức tạp như một đám mây an toàn: mô tả bằng UML.

- Quan điểm bảo mật toàn diện: Một số tác giả, nhấn mạnh sự cần thiết phải phát triển các hệ thống an toàn một cách toàn diện. Các hệ thống được xây dựng từng phần bỏ qua các tương tác quan trọng có thể dẫn đến các lỗ hổng. Một SRA cung cấp một cái nhìn toàn diện như vậy bằng cách chỉ ra những nơi có thể gắn các cơ chế bảo mật và tác dụng của chúng trong các bộ phận chức năng của kiến ​​trúc. Do đó, SRA có thể hữu ích để phát triển các phương pháp phát triển đám mây an toàn.

- Cách để thống nhất thuật ngữ đám mây: Các nhà cung cấp khác nhau có những cách khác nhau để mô tả các dịch vụ và sản phẩm bảo mật của họ. Một SRA có thể được sử dụng như một khung để thống nhất các điều khoản và mô tả. Điều này rất hữu ích để chọn nhà cung cấp đám mây.

- Lựa chọn các nhà cung cấp đám mây dựa trên các yêu cầu bảo mật.

- Thỏa thuận cấp độ dịch vụ (SLA): RA có thể là một khung để xác định bảo mật cần thiết từ nhà cung cấp đối với các yêu cầu của người tiêu dùng; SRA có thể xác định các cơ chế bảo mật mà đám mây có và sau đó khách hàng có thể chọn chúng cho SLA tương ứng.

- Chứng nhận dịch vụ: Các ứng dụng quan trọng yêu cầu sử dụng các dịch vụ được chứng nhận và có thể liên kết từng phần của kiến ​​trúc với một phương pháp hoặc các thủ tục chứng nhận khác.

- Đánh giá an ninh: Bằng cách liệt kê tất cả các mối đe dọa, có thể kiểm tra xem tất cả các mối đe dọa đã bị dừng hoặc giảm thiểu bởi một số mẫu bảo mật.

- Quản trị an ninh: Có thể định nghĩa các chức năng cần thiết.

- Môi giới đám mây: Các nhà môi giới đám mây có các chức năng bảo mật quan trọng và SRA có thể xác định các cơ chế bảo mật nào họ cần phải có hiệu quả.

- Tích hợp nhiều loại thiết bị: Có thể thống nhất bảo mật của thiết bị di động, cảm biến và hệ thống nhúng.

- Thực thi các tiêu chuẩn và quy định. Các tiêu chuẩn và quy định có thể được mô tả bằng các chính sách có thể được thực hiện theo mô hình và là một phần của SRA.

Kết luận

SRA rất quan trọng và các chuyên gian đang cố gắng chỉ ra cách xây dựng chúng. Một SRA hoàn chỉnh sẽ mất nhiều thời gian và một số lượng tốt các bộ phận là sự lặp lại hoặc rất giống với các bộ phận khác vì vậy quan điểm cần xây dựng nhưng không bắt buộc đảm bảo hoàn thiện toàn diện. Cách tiếp cận của các tác giả là cơ sở cho một SRA hoàn chỉnh nhưng chính xác hơn và có độ bao phủ bảo mật tốt hơn.

Tài liệu tham khảo:

- Kiến trúc bảo mật cho điện toán đám mây, Fujitsu Sci; M. Okuhara, T. Shiozaki và T. Suzuki.

- Dịch vụ nền tảng toàn cầu của Microsoft, Bảo mật cơ sở hạ tầng Microsoft Cloud, tháng 5 năm 2009.

Nguyễn Thanh Thảo