.16 Báo cáo mẫu về các mối đe dọa dựa theo sơ đồ luồng dữ liệu

Một phần của tài liệu đồ án an toàn thông tin (Trang 60)

Nếu Người dùng muốn thay đổi hồ sơ, người dùng có thể dễ dàng làm như vậy bằng cách lưu vào tài khoản OneDrive của tổ chức mình. Sau khi làm được điều đó, người dùng có thể sao chép liên kết tài liệu và chia sẻ nó với đồng nghiệp của mình.

3.3 Tạo mơ hình hóa mối đe dọa mới với cơng cụ Microsoft Threat Model

Ở đây chúng ta sẽ tìm hiểu các để tạo mơ hình mối đe dọa mới

1. Khởi động TMT. Từ Màn hình chính, duyệt qua một mẫu bạn muốn sử dụng cho mơ hình mối đe dọa.

2. Nhấp vào Tạo mơ hình từ màn hình chính. Thao tác này sẽ hiển thị bề mặt bản vẽ, nơi bạn sẽ tạo sơ đồ luồng dữ liệu.

Hình 3.17 Giao diện mơ tả trực quan luồng dữ liệu

3.3.1 Vẽ mơ hình

Vẽ sơ đồ luồng dữ liệu của bạn bằng cách chọn các phần tử từ ngăn Stencils. Bạn có thể chọn các quy trình, thực thể bên ngồi, kho dữ liệu, luồng dữ liệu và r giới tin cậy.

1. Để chọn một phần tử để vẽ, hãy nhấp vào biểu tượng tương ứng trong ngăn Stencils. Bạn cũng có thể chọn một phần tử từ ngăn Stencils và kéo nó trên bề mặt bản vẽ.

2. Nhấp chuột phải vào bề mặt bản vẽ để hiển thị menu ngữ cảnh cho phép bạn thêm phần tử chung từ mỗi danh mục Stencils

3. Để thêm luồng dữ liệu giữa hai đối tượng được chọn gần đây nhất, hãy nhấp chuột phải vào bề mặt bản vẽ và chọn Connect hoặc Bi-Directional Connect. Ngoài ra, chọn luồng dữ liệu thích hợp từ tab Flow trong ngăn Stencils và đặt nó trên bề mặt bản vẽ.

Hình 3.18 Mẫu hiển thị luồng dữ liệu

4. Để mô tả đầy đủ hơn các luồng dữ liệu trong hệ thống của bạn, hãy chỉ định các thuộc tính cho các phần tử trong sơ đồ của bạn. Nhấp chuột phải vào một phần tử để chuyển đổi nó thành một loại phần tử khác. Nếu cần, hãy chuyển đổi nó từ một phần tử chung thành một loại quy trình, luồng dữ liệu, kho dữ liệu, phần tử bên ngoài hoặc r giới tin cậy cụ thể. Ví dụ: một luồng dữ liệu chung có thể được chuyển đổi thành HTTPS. Ngồi ra, bạn có thể chỉnh sửa các thuộc tính của phần tử trực tiếp trong ngăn Thuộc tính.

Hình 3.19 Xác định Luồng dữ liệu là HTTPS

3.3.2 Phân tích các mối đe dọa

Khi bạn đã hồn thành sơ đồ luồng dữ liệu của mình, hãy chuyển sang chế độ xem Phân tích bằng cách sử dụng một trong các phương pháp sau:

• Từ menu Chế độ xem, chọn Chế độ xem Phân tích. • Nhấp vào nút Chế độ xem phân tích trên th cơng cụ.

Hình 3.20 Chế độ xem phân tích

3.3.3 Nhập thông tin giảm thiểu

Đối với mỗi mối đe dọa của bạn, hãy nhập thông tin về cách giảm thiểu mối đe dọa:

1. Xác định xem mối đe dọa có u cầu giảm thiểu hay khơng và phân loại việc giảm thiểu bằng cách chọn một trong các tùy chọn sau từ danhsách thả xuống Tình trạng Đe dọa.

a) Chưa bắt đầu b) Điều tra nhu cầu

c) Khơng áp dụng

d) Giảm nhẹ

Hình 3.21 Xác định xem mối đe dọa có u cầu giảm thiểu hay khơng

2. Chọn một trong các ưu tiên về mối đe dọa sau đây từ danhsách thả xuống danh mục đe dọa.

a) Cao (mặc định)

b) Trung bình

c) Thấp

3. Nhập thơng tin giảm thiểu của bạn vào hộp văn bản Biện minh cho sự thay đổi trạng thái mối đe dọa.

• LƯU Ý: Cần có sự biện minh đối với các mối đe dọa ở trạng thái Giảm nhẹ hoặc Không áp dụng.

Hình 3.22 Nhập lời biện minh cho việc thay đổi trạng thái đe dọa

Các biện pháp giảm nhẹ của Cơng cụ tạo mơ hình mối đe dọa được phân loại theo Khung bảo mật ứng dụng web, bao gồm các điều sau trong mục categories:

THỂ LOẠI MIÊU TẢ

Auditing and Logging

Ai đã làm gì và khi nào? Kiểm tốn và ghi nhật ký đề cập đến cách ứng dụng của bạn ghi lại các sự kiện liên quan đến bảo mật.

Authentication Bạn là ai? Xác thực là quá trình mà một thực thể chứng minh tính bảo mật của một thực thể khác, thường thông qua thông tin xác thực, chẳng hạn như tên người dùng và mật khẩu

Authorization Bạn có thể làm gì? Ủy quyền là cách ứng dụng của bạn cung cấp các kiểm soát truy cập cho các tài nguyên và hoạt động.

THỂ LOẠI MIÊU TẢ Communication

Security

Bạn đang nói chuyện với ai? Bảo mật thơng tin liên lạc đảm bảo tất cả thông tin liên lạc được thực hiện an tồn nhất có thể.

Configuration Management

Ứng dụng của bạn chạy với tư cách là ai? Nó kết nối với những cơ sở dữ liệu nào? Ứng dụng của bạn được quản lý như thế nào? Như thế nào các cài đặt được bảo mật? Quản lý cấu hình đề cập đến cách ứng dụng của bạn xử lý các vấn đề hoạt động này

Cryptography Bạn đang giữ bí mật (bí mật) như thế nào? Bạn đang làm cách nào để chống giả mạo dữ liệu hoặc thư viện của mình (tính tồn vẹn)? Bạn đang cung cấp hạt giống cho các giá trị ngẫu nhiên phải mạnh về mặt mật mã như thế nào? Mật mã đề cập đến cách ứng dụng của bạn thực thi tính bảo mật và tính tồn vẹn

Exception Management

Khi một lệnh gọi phương thức trong ứng dụng của bạn không thành công, ứng dụng của bạn sẽ làm gì? Bạn tiết lộ bao nhiêu? Bạn có trả lại thơng tin lỗi thân thiện cho người dùng cuối khơng? Bạn có chuyển lại thơng tin ngoại lệ có giá trị cho người gọi khơng? Ứng dụng của bạn có bị lỗi khơng?

Input Validation Làm thế nào để bạn biết rằng đầu vào mà ứng dụng của bạn nhận được là hợp lệ và an toàn? Xác thực đầu vào đề cập đến cách ứng dụng của bạn lọc, loại bỏ hoặc từ chối đầu vào trước khi xử lý bổ sung. Xem xét việc hạn chế đầu vào thơng qua các điểm vào và mã hóa đầu ra thơng qua các điểm thốt. Bạn có tin tưởng dữ liệu từ các nguồn như cơ sở dữ liệu và chia sẻ tệp không?

THỂ LOẠI MIÊU TẢ

Sensitive Data Ứng dụng của bạn xử lý dữ liệu nhạy cảm như thế nào? Dữ liệu nhạy cảm đề cập đến cách ứng dụng của bạn xử lý bất kỳ dữ liệu nào phải được bảo vệ trong bộ nhớ, qua mạng hoặc trong các cửa hàng liên tục

Session Management

Ứng dụng của bạn xử lý và bảo vệ phiên người dùng như thế nào? Phiên đề cập đến một loạt các tương tác có liên quan giữa người dùng và ứng dụng Web của bạn

Bảng 3.10 Danh mục các thể loại trong categories các biện pháp giảm nhẹ

Điều này giúp bạn xác định:

• Những sai lầm phổ biến nhất được thực hiện ở đâu • Đâu là những cải tiến đáng quan tâm nhất

Do đó, bạn sử dụng các danh mục để tập trung và ưu tiên cơng việc bảo mật của mình, vì vậy nếu bạn biết các vấn đề bảo mật phổ biến nhất xảy ra trong các danh mục xác thực đầu vào, xác thực và ủy quyền, bạn có thể bắt đầu ở đó

3.3.4 Xem xét các mối đe dọa

Danh sách mối đe dọa có thể sắp xếp và lọc được. Bạn có thể nhấp vào bất kỳ tiêu đề cột nào trong danh sách mối đe dọa để sắp xếp theo cột đó. Bạn có thể nhấp vào hình tam giác trên tiêu đề cột để lọc bao nhiêu cột tùy thích. Ví dụ minh họa chọn điều kiện lọc như hình 3.23

Hình 3.23 Chọn điều kiện lọc với STRIDE Category là Denial of Service

Sau đó ta có thể xóa các điều kiện lọc đã được chọn bởi người dùng. Ta chọn Clear Filters ngay bên dưới danh sách mối đe dọa, bên cạnh nút export Csv.

Hình 3.24 Xóa điều kiện lọc các mối đe dọa hệ thống

3.3.5 Tạo báo cáo về mối đe dọa

Sau khi tất cả các mối đe dọa đã được giải quyết, hãy hồn thành mơ hình mối đe dọa của bạn:

1. Nếu bạn chưa làm như vậy, hãy nhập thông tin chung về mơ hình mối đe dọa bằng cách chọn Thơng tin mơ hình mối đe dọa từ menu chính. Thơng tin này bao gồm:

a) Đánh giá những người tham gia b) Mơ tả ngắn gọn

2. Để lưu mơ hình, chọn Flie > Save as.

3. Để tạo một báo cáo, hãy chọn Report >Full Report

Hình 3.25 Báo cáo về các mối đe dọa mẫu

Ngồi ra, cịn có những nhu cầu hỗ trợ nào, hãy nhấp vào các đường link sau:

• Microsoft Security Development Lifecycle • Microsoft Trustworthy Computing Blog

• MSDN Forums for TMT

Vậy chúng ta đã có các bước mơ hình hóa các mối đe dọa từ luồng dữ liệu của mình. Ngồi ra chúng ta cịn có thể mở một mơ hình Client- Sever, DFD, …

Danh sách các mối đe dọa được xuất dưới dạng .csv. Ở Ananlyis view ta chọn Export csv > chọn ổ đĩa, thư mục nơi ta muốn lưu trữ > OK.

Hình 3.26 Tạo danh sách các mối đe dọa dạng .csv chọn export csv

Sau đó ta chọn vào thư mục tệp ta đã lưu danh sách và mở ra với phần mềm excel ta có được như hình 3.27. nhìn khá rối mắt khi các thông tin như ID, tên Diagram, STRIDE category được xếp cùng một ô, không được tường minh khi chúng ta quan sát trong công cụ.

Hình 3.27 Threat List xuất dạng .csv được mở trong Excel

3.4 Các khái niệm về mơ hình mối đe dọa cơ bản

Hầu hết các tác giả đồng ý về các bước chính trong quy trình lập mơ hình mối đe dọa, mặc dù có một số thay đổi nhỏ về thuật ngữ, phạm vi và trọng tâm do sự phát

triển của mơ hình hóa mối đe dọa trong những năm qua. Là các bước cấp cao của mơ hình mối đe dọa, đề cập đến việc hiểu quan điểm của đối thủ, mô tả đặc điểm mức độ bảo mật của hệ thống và xác định các mối đe dọa. Như một điều kiện tiên quyết và bắt đầu cho quá trình lập mơ hình mối đe dọa thực tế, việc thu thập thơng tin cơ bản, xác định tài sản và tạo tổng quan kiến trúc cũng như xác định các mục tiêu an ninh được đề cập đến.

Hình 3.28 Các phần tử sơ đồ luồng dữ liệu, biểu tượng và mô tả

Việc phân rã ứng dụng, chủ yếu bằng cách sử dụng Sơ đồ luồng dữ liệu (DFD) hoặc Ngơn ngữ mơ hình thống nhất (UML), được coi là bước đầu quan trọng của quy trình. Việc phân loại các phần tử được sử dụng bởi DREAD bao gồm các bộ tương tác bên ngồi, các q trình đơn giản và nhiều với các quá trình con, kho dữ liệu và luồng dữ liệu, được mô tả trực quan bằng nhiều loại các ký hiệu giản đồ. Với việc biểu diễn các luồng dữ liệu di chuyển qua hệ thống, DREAD giúp hiểu được mức độ tin cậy rõ ràng trong hệ thống cũng như quan điểm của kẻ tấn cơng đối với hệ thống. Trong đó, một phân tích chi tiết về DREAD đã được thực hiện và các hướng phát triển tiềm năng hơn nữa đã được chỉ ra. Tiếp theo là xác định các mối đe dọa bằng cách sử dụng kỹ thuật ghi nhớ STRIDE, phân loại các mối đe dọa như sau: Giả mạo danh tính, Giả mạo dữ liệu, Từ chối, Tiết lộ thơng tin, Từ chối dịch vụ, Nâng cao đặc quyền.

Bằng cách xem xét các mối đe dọa của các danh mục khác nhau này cho từng một phần tử trong DREAD, STRIDE hỗ trợ rất nhiều cho việc xác định các mối đe dọa trong ứng dụng. Điều này cũng dựa trên nhận thức rằng chỉ một số loại mối đe dọa nói chung sẽ áp dụng cho các yếu tố nhất định, ví dụ: tất cả các mối đe dọa đằng sau các chữ cái S-T-R-I-D-E có thể ảnh hưởng đến các quy trình, nhưng chỉ áp dụng giả mạo và từ chối đối với các thực thể bên ngoài, theo biểu đồ ma trận STRIDE-mỗi phần tử đã đề cập. Các phương pháp khác để xác định mối đe dọa là đồ thị mối đe dọa hoặc danh sách có cấu trúc với các danh mục như mạng, máy chủ lưu trữ hoặc ứng dụng hoặc loại và động cơ của những kẻ tấn công. Cây tấn cơng (cịn gọi là cây mối đe dọa) sau đó thường được sử dụng để phân tích và hiểu sâu hơn về các mối đe dọa đã xác định, xác định xem các lỗ hổng của tất cả các tài sản hoặc mục tiêu mối đe dọa trong hệ thống, có khả năng dẫn đến việc thực hiện thành cơng một cuộc tấn cơng, đã được xem xét.

Quy trình mơ hình mối đe dọa ban đầu như được mơ tả, sau đó được theo sau bởi xếp hạng mối đe dọa, được ký hiệu bằng 5 chữ cái D-R-E-A-D cho:

Damage Potential (Khả năng thiệt hại): xếp hạng mức độ thiệt hại sẽ xảy ra nếu

một lỗ hổng được khai thác.

Reproducibility (Khả năng tái tạo): xếp hạng mức độ dễ dàng để tái tạo một

cuộc tấn công

Exploitability (Khả năng khai thác): Chỉ định một số cho nỗ lực cần thiết để

khởi động cuộc tấn công.

Affected Users (Người dùng bị ảnh hưởng): Một giá trị đặc trưng cho số lượng

người sẽ bị ảnh hưởng nếu một hoạt động khai thác được phổ biến rộng rãi.

Discoverability (Khả năng phát hiện): Đo lường khả năng dễ dàng phát hiện ra

mối đe dọa.

Và các giá trị số được chỉ định đại diện cho tác động của chúng đối với rủi ro bảo mật tổng thể. Tuy nhiên, phương pháp mới nhất được Microsoft sử dụng cho đến nay được xây dựng dựa trên STRIDE và kết hợp bốn bước chính, được mơ tả là lập

sơ đồ, liệt kê mối đe dọa, giảm thiểu và xác minh. Mơ hình hóa mối đe dọa được coi là "nền tảng" của Vịng đời phát triển phần mềm.

Để trình bày mơ hình hóa mối đe dọa tại bài báo cáo mơn học An tồn thơng tin này em sẽ thực hiện mơ hình hóa mối đe dọa với cơng cụ Microsoft Threat Model Tool với ví dụ với hệ thống ngân hàng trực tuyến thiết kế với dạng DFD. Vấn đề bảo mật thông tin giao dịch ở các ngân hàng rất quan trọng và thực thế vì ngân hàng là đối tượng bị nhắm tới nhiều nhất bởi các hacker. Cơng cụ mơ hình hóa các mối đe dọa chỉ ra chi tiết các mối đe dọa theo mơ hình để từ đó có những cải thiện về hệ thống của mình trước khi được tiến hành đưa vào sử dụng thực tế. Nó có ý nghĩa quan trọng đối với phân tích bảo mật và đánh giá rủi ro của hệ thống ngân hàng trực tuyến và khai thác sâu lỗ hổng và rủi ro của hệ thống.

CHƯƠNG 4 ỨNG DỤNG VỚI HỆ THỐNG NGÂN HÀNG TRỰC TUYẾN (E-BANKING SYSTEM)

Phần mềm là tuyến phòng thủ quan trọng nhất đối với bảo vệ các tài sản thông

tin quan trọng như trong ngân hàng điện tử. Các sự gia tăng liên tục về độ tinh vi và số lượng của không gian mạng các cuộc tấn công bảo mật cung cấp những lý do thuyết phục để tăng cường bảo mật của các ứng dụng phần mềm kiểm sốt các tài sản quan trọng. Mơ hình hóa mối đe dọa là điều cần thiết để xây dựng bảo mật trong tất cả các giai đoạn SDL và cụ thể là ở giai đoạn thiết kế. Trong vài năm gần đây, một số các phương pháp tiếp cận sáng tạo để lập mơ hình mối đe dọa đã xuất hiện và gần đây một số công cụ hỗ trợ đã trở nên khả dụng và công cụ Microsoft Threat Model

Tool là một ví dụ

4.1 Phân tích hệ thống ngân hàng trực tuyến hiện nay

E-Banking là viết tắt của Electronic- Banking là tên viết tắt của dịch vụ ngân

hàng điện tử nói cung là dịch vụ ngân hàng trực tuyến hỗ trợ trên nền tảng điện thoại, máy tính có kết nối Internet hoặc mạng viễn thông giúp người sử dụng thực hiện các giao dịch tài chính online, quản lý tài khoản hằng ngày.

Đây là chức năng ngân hàng cho ngân hàng trực tuyến các ứng dụng đã được bắt nguồn từ các đối tác trong thế giới thực của nó, việc thiết kế hệ thống này và hơn nữa là bảo mật chúng đã đặt ra một thách thức hoàn toàn mới đối với các ngân hàng,

Một phần của tài liệu đồ án an toàn thông tin (Trang 60)