1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài nghiên cứu khoa học cấp Trường: Một số phương pháp kiểm chứng và kiểm thử tính chất an ninh trong hệ thống phần mềm

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một số phương pháp kiểm chứng và kiểm thử tính chất an ninh trong hệ thống phần mềm
Tác giả Trương Ninh Thuận, Tô Văn Khánh, Lương Thanh Nhạn, Bùi Anh Tú, Nguyễn Hanh Phúc, Nguyễn Văn Thắng
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo tổng kết kết quả thực hiện đề tài KH&CN cấp Đại học Quốc gia
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 15
Dung lượng 5,38 MB

Nội dung

Trong đề tài này, chúng tôi sẽ nghiên cứu đề xuất các phương pháp mới dé đảm bảo các tính chất an ninh, an toàn của các hệ thống phần mềm dựa trên các kỹ thuật kiểm chứng, kiểm thử hiện

Trang 1

MẪU 14/KHCN (Ban hành kèm theo Quyết định số 3839 /OD- -DHQGHN ngày 24 thang10 năm 2014

của Giám đốc Đại học Quốc gia Hà Nội)

ĐẠI HỌC QUỐC GIA HÀ NỘI

BAO CAO TONG KET

KET QUA THUC HIEN DE TAI KH&CN

CAP DAI HQC QUOC GIA

Tén dé tai: Mot số phương pháp kiểm chứng và kiểm thử tính chất an ninh trong hệ thống phần mêm

Mã số đề tài: QG.21.29

Chủ nhiệm đề tài: Trương Ninh Thuận

Hà Nội, tháng 4 năm 2024

Trang 2

PHAN I THONG TIN CHUNG

1.1 Tén đề tài: Một số phương pháp kiểm chứng và kiểm thử tinh chat an ninh trong hệ

thông phan mém

1.2 Mã số: QG.21.29

1.3 Danh sách chủ trì, thành viên tham gia thực hiện đề tài

TT | Chức danh, học vi, họ và tên Đơn vị công tác Vai trò thực hiện đề tài

1 |PGS.TS Trương Ninh Thuận Trường ĐH Công nghệ Chủ trì đề tài

2 |TS Tô Văn Khánh Trường ĐH Công nghệ Thành viên chính

3 |NCS Lương Thanh Nhạn Trường DH Y Dược Hải NCS

Phong

4 JNCS Bùi Anh Tú Trường DH CNTT và NCS

Truyén thong, DH Thai

Nguyén

5 |NCS Nguyễn Hanh Phúc Truong DH Hang Hai, NCS

Hai Phong

6 |HVCH Nguyén Van Thang Trường DH Mỏ Dia chất HVCH

1.4 Đơn vị chủ trì:

1.5 Thời gian thực hiện:

1.5.1 Theo hợp đồng: từ tháng 04 năm 2021 đến tháng 04 năm 2023

1.5.2 Gia hạn (nếu có): đến tháng 04 năm 2024

1.5.3 Thực hiện thực tê: tu tháng 04 năm 2021 đên tháng 04 năm 2024

1.6 Những thay doi so với thuyết minh ban đầu (nếu có):

( Vẻ mục tiêu, nội dung, phương pháp, kết quả nghiên cứu và tổ chức thực hiện; Nguyên nhân; Ý

kiên cua Cơ quan quan ly)

1.7 Tổng kinh phí được phê duyệt của đề tài: 400 triệu đồng

PHAN II TONG QUAN KET QUA NGHIÊN CỨU

Viết theo cau trúc một bài bao khoa học tong quan từ 6-15 trang (báo cáo này sẽ được đăng trên tạp chi khoa học PHOGHN sau khi dé tai được nghiệm thu), nội dung gôm các phan:

1 Đặt vấn đề

Trong nhiều hệ thống, lỗi của phần mềm có thể gây ra những thiệt hại to lớn không chỉ về mặt kinh tế mà còn cả về mặt con người, đặc biệt là các hệ thống liên quan đến các lĩnh vực như

ngân hàng, tài chính, điều khiển giao thông, y tế, kiểm soát năng lượng, hạt nhân, etc Vì vậy, vấn

đề tìm kiếm các phương pháp đảm bảo chất lượng của hệ thống phần mềm đặt ra nhiều thách thức,

đòi hỏi sự quan tâm đặc biệt của các nhà nghiên cứu về công nghệ phần mềm Đến nay, đã có một

số kỹ thuật được sử dụng dé tăng cường độ tin cậy của hệ thống phần mềm như kiểm chứng mô

hình (model checking), kiểm thử phần mềm (software testing), phân tích và kiếm chứng phần mềm (software analysis and verification) Mỗi kỹ thuật đều có những đặc tính riêng biệt và đòi hỏi tính

1

Trang 3

linh hoạt trong quá trình áp dụng để hoạt động kiểm chứng tính đúng đắn của các hệ thống phần mềm hiệu quả

Bên cạnh đó, một hệ thống phần mềm cũng gồm nhiều tính chất khác nhau, các tính chất này tạo nên chất lượng phần mềm mà những người phát triển cần đạt được Trong các tính chat này, tính đúng đắn (thường gan với lỗi chức năng) và tính an ninh (thường gắn với lỗi bảo mật, an toàn dit liệu) là quan trọng nhất Các lỗi chức năng thường dễ nhận biết, gây thiệt hại trực tiếp cho người

sử dụng, trong khi lỗi an ninh phần mềm xảy ra có thé khiến toàn bộ hệ thống bị xâm nhập, khó nhận biết, và có thé gây ra những thiệt hại không lường trước được cho tô chức, cá nhân sử dụng phần mềm

Trong đề tài này, chúng tôi sẽ nghiên cứu đề xuất các phương pháp mới dé đảm bảo các tính chất an ninh, an toàn của các hệ thống phần mềm dựa trên các kỹ thuật kiểm chứng, kiểm thử hiện đại Các phương pháp đề xuất cung cấp giải pháp cho việc xây dựng các công cụ kiêm chứng, kiểm thử tính chất an ninh, an toàn phần mềm, có thể áp dụng trong thực tế đảm bảo chất lượng hệ thống phần mềm

2 Mục tiêu

Đề tài tập trung nghiên cứu các phương pháp mới của kỹ thuật kiểm chứng, kiểm thử phần mềm hướng đến các tính chất an ninh, an toàn của hệ thống phần mềm Các phương pháp này liên quan đến phân tích và kiêm chứng các ràng buộc an ninh, an toàn của hệ thống phần mềm, định nghĩa và phân tích quyền quy cập người dùng, phân tích mô hình và mã nguồn của chương trình dé đảm bảo sự an toàn, an ninh, bảo mật cho hoạt động và sự toàn vẹn dữ liệu của hệ thống phần mềm

Về phương diện J thuyét, đề tai tập trung nghiên cứu các phương pháp mới trong kiểm

chứng và kiểm thử các tinh chất an ninh, an toàn của hệ thống phần mềm Cụ thể, các phương pháp

dé xuất nay sẽ đi sâu vào các kỹ thuật sau (i) phân tích và kiếm chứng các ràng buộc an ninh của hệ thống phan mềm; (ii) định nghĩa và phân tích quyền truy cập người dùng: (iii) phân tích mô hình và

mã nguồn của chương trình để đảm bảo sự an toàn, an ninh, bảo mật trong vận hành và bảo đảm sự

toàn vẹn đữ liệu của các hệ thống phần mềm.

Về phương diện ng dung, đề tài cũng đặt mục tiêu phát triển thành công một số công cụ hỗ

trợ cho kiểm chứng, kiểm thử tự động theo các phương pháp đề xuất trên Kết quả nghiên cứu của

đề tài được xuất bản trên một số tạp chí có uy tín trong lĩnh vực nghiên cứu về kiểm chứng, kiểm

thử và an ninh, an toàn các hệ thống phần mềm

3 Phương pháp nghiên cứu

Với mục tiêu nghiên cứu là tạo ra các phương pháp hiệu quả và các công cụ hỗ trợ cho kiểm chứng và kiểm thử các tính chất an ninh phần mềm, chúng tôi sẽ tiến hành nghiên cứu lý thuyết về phương pháp kiểm chứng, kiểm thử các loại phần mềm khác nhau, xác định tính chất an ninh, an

toàn đóng vai trò thế nào trong các loại phần mềm này Dựa trên các kiến thức cơ sở về kiểm chứng, kiểm thử, chúng tôi đề xuất các phương pháp mới liên quan đến việc bảo đảm các tính chất an ninh,

an toàn cho hệ thống phần mềm Việc phân tích, mô hình hóa chương trình sẽ được thực hiện thông

qua các kỹ thuật bóc tách một chương trình phức tạp thành các cấu trúc điều khiển được như kỹ

2

Trang 4

thuật biểu diễn trừu tượng hóa, biểu diễn mã nguồn bằng đồ thị, bằng ngôn ngữ hình thức Các

tính chất an ninh, an toàn của hệ thống phần mềm cần kiểm chứng sẽ được trích rút tự động từ mã nguồn phan mềm, tập trung các cau trúc điều khiển của hành vi trong chương trình dé tiến hành kiểm tra, đối sánh, đảm bảo chương trình thỏa mãn các tính chất ràng buộc trong tài liệu đặc tả yêu

cầu Chúng tôi sẽ xây dựng công cụ hỗ trợ phương pháp kiểm chứng, kiểm thử tự động và thông

qua đánh giá bằng thực nghiệm hoặc chứng minh toán học để đảm bảo tính hiệu quả các phương pháp đề xuất và các công cụ hỗ trợ

4 Tổng kết kết quả nghiên cứu

Nội dung nghiên cứu của đề tài tập trung vào hai phương pháp kiểm chứng phần mềm:

Phương pháp kiêm chứng chính sách điều khién truy cập theo vai trò kết hợp ràng buộc cấp quyền triển khai theo phương pháp an ninh khai báo và Phương pháp kiểm chứng các ràng buộc thời gian

trong các ứng dụng dựa trên sự kiện khi thực thi.

4.1 Phương pháp kiểm chứng chính sách điều khiển truy cập theo vai trò kết hợp ràng buộc cấp

quyên triên khai theo phương pháp an nình khai bảo

Chúng ta biết rằng, trong thực tế, mô hình điều khiển truy cập theo vai trò (RBAC) đặc biệt phù hợp với các chính sách kiểm soát truy cập của các doanh nghiệp vì nó linh hoạt và hiệu quả, nhất là khi có biến động về nhân sự hoặc thay đổi quy định của tô chức Tuy nhiên, trong nhiều ứng dụng thực tế, chính sách cấp quyền cho người dùng trong hệ thống không chỉ dựa vào vai trò của họ

mà còn phụ thuộc vào các ràng buộc khác Ví dụ như trong hệ thống quản lý hồ sơ y tế, các bác sĩ

chỉ được đọc các hồ sơ y tế do họ điều trị; hoặc trong hệ thống quan lý tin bài, người dùng chỉ được

sửa bài do họ sở hữu, v.v Khi chính sách điều khiển truy cập của hệ thống có sự tham gia của các ràng buộc cấp quyên thì việc biêu diễn chính sách điều khiển truy cập của hệ thống bằng mô hình RBAC gặp khó khăn vì không có thành phần để diễn tả các ràng buộc Trong khi đó, mô hình

SecureUML dựa trên sự kết hợp của UML và RBAC có khả năng biểu diễn các khía cạnh khác nhau

của kiểm soát truy cập như gán vai trò -người dùng, gán vai trò - quyền, ràng buộc cấp quyền, v.v

Do đó, trong bài toán nghiên cứu này, chúng tôi sử dụng mô hình SecureUML dé đặc tả chính sách

điều khiển truy cập của hệ thống.

Việc triển khai chính sách điều khiến truy cập trong các ứng dụng web rat đa dạng Với phương pháp an ninh khai báo, việc triển khai chính sách theo RBAC được thực hiện thông qua các chú thích (annotation) và kiến trúc của các thư viện bên thứ ba Việc triển khai theo phương pháp này mang đến sự tin cậy cao, tiết kiệm thời gian, công sức của các nhà phát triển Tuy nhiên, việc lập trình và ghép nối các thành phần, sử dụng các thư viện bên thứ ba luôn có khả năng chứa đựng các lỗi tiềm ân do không hiểu đúng đặc tả trên mô hình hoặc tự phát sinh lỗi khi có những kết hợp phức tạp Thêm vào đó, các công việc phân tích và lập trình trong tiến trình phát triển phần mềm có thể được thực hiện độc lập bởi những người/nhóm người khác nhau Điều này có thê dẫn đến các lỗ hồng truy cập trong quá trình lập trình do không hiểu đầy đủ chính sách truy cập đã đưa ra trong tài liệu đặc tả Do đó, sự thực thi các chức năng của các hệ thống phần mềm sau khi cài đặt có thể sẽ không chính xác như các đặc tả ban dau Hai khả năng có thé làm mất tính nhất quán giữa ứng dụng

và đặc tả trong quá trình triển khai chính sách RBAC là phép gan vai trd - người dùng và phép gan vai trò - quyền Đây cũng chính là hai phép gán quan trọng trong mô hình RBAC Nếu những phép

3

Trang 5

gán này được thực hiện không chính xác sẽ dẫn đến việc người dùng có sự dư thừa hoặc thiêu các

vai trò hoặc quyền.

Vi dụ, trong một hệ thống quản lý hồ sơ y tế, Bác sĩ có quyền Doc và Cập nhật hồ sơ y tế, Y

tá có quyền Đọc hồ sơ y tế Nếu phép gán các quyền cho vai trò Bác sĩ được thực hiện không chính

xác thì người dùng là bác sĩ có thể không thực hiện được chức năng Đọc và/hoặc Cập nhật hồ sơ y

tế Hoặc trường hop gan vai trò Y tá cho người dùng nào đó là Bác sĩ sẽ dẫn đến việc bác sĩ này

không thé Cập nhật hồ sơ y tế Những trường hợp này đều khiến người dùng có thé thực hiện các thao tác trên tài nguyên không giống như đặc tả của hệ thống Do đó, nội dung kiểm chứng chính sách RBAC trong phương pháp này tập trung vào kiểm tra việc triển khai phép gán vai trò - người dùng và phép gán vai trò - quyền Nếu cả hai phép gán này đều được thực hiện chính xác, thì chính

sách truy cập của hệ thống ứng dụng được xem như phù hợp với đặc tả của nó.

Từ những lập luận này, nhóm nghiên cứu đã đề xuất phương pháp dé kiểm tra chính sách điều khiển truy cập dựa trên vai trò (RBAC) và ràng buộc cấp quyền của các ứng dụng web triển khai theo phương pháp an ninh khai báo ở giai đoạn lập trình Phương pháp đề xuất có hai nội dung chính là phát hiện các phép gan vai tro - người dùng và vai trò - quyền không được triên khai chính xác trong hệ thống ứng dụng Ở phép gan dau, chúng tôi tập trung phân tích cơ sở dữ liệu dé so sánh thông tin vai trò của người dùng trong cơ sở dit liệu với bang phân công vai trò của tổ chức Với phép gán còn lại, chúng tôi phân tích các tệp tin chứa mã triển khai chính sách phân quyền của hệ thống web và biêu diễn chúng dưới dạng cây phân tích truy cập tài nguyên theo vai trò Sau đó, các thuật toán được đề xuất dé phát hiện các sai sót trong quá trình triển khai các phép gan trong mô hình RBAC Quy trình chung của phương pháp kiểm chứng này được mô tả như Hình 1

Thông tin phân công chức vụ

Kiểm tra phép gán Người

dùng-Vai trò

——= Thông tin phép Kiếm tra phép

Tệp câu hình gán Vai gán Vai trò-chính sách Quyền Quyền

Đặc tả mô hình

SecureUML

Hình 1 Mô tả các bước thực hiện kiểm chứng của phương pháp

Thông tin phép

gán Người dùng-Vai trò

Dự án ứng

dụng

JavaEE

Với đầu vào là một ứng dụng JavaEE chạy trên web, chúng tôi khai thác các thông tin về CSDL, tệp cau hình chính sách của ứng dụng dé chuẩn bị cho bước tiếp theo

Sau khi phân tích các dit liệu đầu vào của một ứng dụng JavaEE, bước tiếp theo, chúng tôi

đã xây dựng các thuật toán dé kiêm chứng các chức năng: phép gan Người dùng — vai trò và Vai trò

— Quyên giữa đặc ta với mã nguôn cài đặt của ứng dụng.

Trang 6

Từ nội dung của phương pháp đề xuất, chúng tôi đã phát triển một công cụ hỗ trợ đặt tên là VeRA và tiến hành thực nghiệm với hệ thống phần mềm về quản lý hồ sơ y tế Kiến trúc của công

cụ phát triển được mô tả như Hình 2, với hai chức năng chính là kiểm tra phép gan vai tro - người dùng và kiêm tra phép gan vai rò - quyên Hai chức năng này có nhiệm vụ phát hiện các phép gan được thực hiện không chính xác trong ứng dụng web Tuy nhiên, dé thực hiện các chức năng này, công cụ phải thực hiện ba hàm phân tích gồm SQL Query, AST Analysis và Structural Analysis để tạo đầu vào cho các thuật toán kiểm tra Cụ thể, hàm SQL Query lay cơ sở dir liệu của hệ thống đầu vào và trả về bảng thông tin vai trò người dùng Hàm AST Analysis chịu trách nhiệm phân tích các tệp cau hình chính sách và trả về cây phân tích truy cập theo vai trò Ham Structural Analysis chuyên đổi tệp mô tả chính sách truy cập của hệ thống đã thành một tập quy tắc truy cập

Position Roster JavaEE Application Project

Table (*.x/s) Spring Security

Framework

User-Role Information Table

Checking User-Role : H Checking Role-Permission

Violation Assignment

Reports

Hình 2 Kiến trúc của công cụ VeRA

Giao điện của công cụ kiểm chứng phần mềm được trình bày trong Hình 3 Dé thực thi các chức năng kiểm tra phép gán vai trò - quyền (Cheking Role Permission Assignment) và kiểm tra

phép gan vai trò - người dùng (Cheking User Role Assignment), người sử dụng công cụ phải cung

cấp các thông tin đầu vào liên quan đến tên dự án và tên tệp đặc tả chính sách của ứng dụng web; các thông tin về cơ sở đữ liệu và tệp chứa bảng danh sách của tô chức Quá trình kiểm tra các phép gán được thực hiện tự động và trả lại các thông báo phép gán không được triển khai chính xác (nếu có) Trong trường hợp công cụ dò tìm ra các phép gan được triển khai không chính xác, công cụ sẽ hiển thị thông tin về chúng ở mục kết quả kiểm chứng (Checking results) dé lập trình viên có thé dé dang lần vết và thực hiện các sửa đổi cần thiết

Trang 7

2) VeRA

File Help About

Inputs Functions

Database

Username:

Password: | connect Checking results

Sol ipt: There are no user-role assignment violations.

Qi script: seLEcTEmployeeid, Employee full_name, Role.name| | Open There are no role-permisson assignment violations.

Position Roster Table: _ositionRoster.csv | Open

Project WA: SecureUMLApp

Open

RBAC Policy File: description xml [ Open |

Hình 3 Giao diện công cụ VeRA

Tom lại, các đóng góp của nội dung nay bao gôm:

e Đưa ra phương pháp phân tích cơ sở dit liệu và các tệp cấu hình chính sách truy cập của hệ

thống

e Giới thiệu cấu trúc cây phân tích truy cập theo vai trò dé biểu diễn tập quy tắc truy cập của

ứng dụng web.

e Dé xuat các thuật toán dé phát hiện các phép gan vai trò - người dùng và gán vai trò - quyền

được triển khai không chính xác trong ứng dụng web có thé dẫn đến các vi phạm truy cập tai

nguyên.

e Phat triển một công cụ kiểm chứng tự động dựa trên phương pháp đề xuất

4.2 Phương pháp kiểm chứng các ràng buộc thời gian trong các ứng dụng dựa trên sự kiện khi thực

thi

Các ràng buộc về thời gian trong hệ thống phần mềm có ảnh hưởng lớn đến tính chất an ninh của hệ thống Việc quản lý và bảo vệ thông tin trong môi trường công nghệ thông tin đòi hỏi sự

chính xác, tính toàn vẹn, và tính khả dụng cao Các ràng buộc về thời gian, bao gồm cả đồng bộ hoá

thời gian giữa các thành phần, sự phụ thuộc giữa các tiến trình, sự kiện của hệ thống, có vai trò quan

trọng trong việc đáp ứng các yêu cầu an ninh, bảo mật liên quan đến việc bảo toàn đữ liệu, phòng

ngừa tan công, hạn chế các lỗ hồng trong vận hành hệ thống.

Kiểm chứng thời gian thực thi là phương pháp phân tích và thực thi hệ thống máy tính bằng cách trích xuất thông tin từ một hệ thống đang chạy và sử dụng thông tin đó dé phát hiện các vi phạm một số thuộc tinh nào đó của hệ thống phần mềm Các thuộc tính này có thé là dir liệu tương

tranh (datarace) hoặc deadlock freedom, hoặc các ràng buộc về thời gian.

Kiến trúc hướng sự kiện cho phép xây dựng hệ thống linh hoạt và có khả năng thích ứng với các thay đổi trong thời gian thực Bằng cách nắm bắt tình hình hiện tại của hệ thống phần mềm

6

Trang 8

thông qua việc thu thập và phân tích dữ liệu của các sự kiện, các quyết định nghiệp vụ có thể được đưa ra tức thì, đúng đắn và cập nhật theo thời gian thực, có thể thực hiện tự động hoặc thủ công

Các sự kiện được ghi lại khi chúng xảy ra từ các nguồn sự kiện như thiết bị, ứng dụng khác và mạng

Internet of Things (IoT), cho phép event producers va event consumers chia sẻ thông tin trạng thai

và phan hồi trong thời gian thực.

Trong nội dung này, chúng tôi đề xuất một phương pháp dé kiếm chứng việc thực thi các sự kiện trong hệ thống xem chúng có đáp ứng đầy đủ các yêu cầu đặc tả thời gian hay không Các đặc

tả ở đây là ràng buộc thời gian, cụ thể là mối quan hệ giữa các sự kiện xảy ra trong hệ thống Trong

phương pháp đề xuất, chúng tôi thu thập tệp nhật ký về thời điểm bắt đầu và kết thúc của các sự kiện khi hệ thống thực thi Sau đó, chúng tôi xây dựng các thuật toán để kiểm chứng Việc triển khai

thuật toán trong các công cụ hỗ trợ giúp kiểm tra các hệ thống dựa trên sự kiện một cách tự động.

Các yêu cầu dé kiểm tra sự đáp ứng của các sự kiện được quy định bởi các ràng buộc thời

gian, đặc biệt là mối quan hệ giữa các sự kiện trong hệ thống Việc đảm bảo rằng các sự kiện được

thực thi đúng thời gian va theo đúng quy định sẽ giúp dam bảo tính toàn vẹn và độ tin cậy của hệ

thống Phương pháp được đề xuất bao gồm các bước được mô tả như Hình 4

Event Based Systems

Violation >

Report

Testers

Hình 4 Mô hình tong quát của phương pháp kiểm chứng hệ thong dựa trên sự kiện Bước đầu tiên của phương pháp là thu thập các tệp nhật ký về thời điểm bắt đầu và kết thúc của các sự kiện khi hệ thống thực thi Các tệp nhật ky này được thu thập bởi Kafka, một hệ thống xử

lý dir liệu phân tán Các tệp nhật ký này cung cấp thông tin chỉ tiết về thời gian bắt đầu và kết thúc

của các sự kiện trong hệ thống.

Sau đó, phương pháp sử dụng các thuật toán dé kiểm chứng tiến trình thực thi của các sự

kiện trong EDA có đáp ứng được các đặc tả hay không Các thuật toán này sẽ kiểm chứng các mối quan hệ giữa các sự kiện và đảm bảo rằng chúng đáp ứng đủ các đặc tả được quy định Chúng tôi cũng phân tích các tệp nhật ký và kiểm tra xem các sự kiện có thực thi đúng theo thứ tự và trong

khoảng thời gian được quy định hay không.

Trang 9

Với phương pháp này, chúng tôi đã hình thức hóa mô hình hệ thống hướng sự kiện, mô hình

hóa các dit liệu đầu vào để xây dựng các mệnh dé toán học và chứng minh tính đúng đắn của phương pháp kiểm chứng Các thuật toán được đề xuất trên các mô hình hình thức của hệ thống

hướng sự kiện.

Đề minh họa cho phương pháp kiêm chứng, chúng tôi lay ví dụ là một Hệ thống giao thông thông minh (ITS), tập trung vào các khía cạnh điều khiển giao thông Hệ thống này có thé được triển khai trên nhiều kiến trúc khác nhau dựa trên yêu cầu của dự án và các tính năng cần thiết Tuy nhiên, trong nghiên cứu nay, giả sử rằng kiến trúc cho hệ thống điều khiển giao thông được triển khai trên kiến trúc hướng sự kiện Kiến trúc này cho phép các thành phần của hệ thống (như cảm biến, ứng dụng di động, máy chủ, v.v.) gửi và nhận các sự kiện liên quan đến giao thông như thông

tin luồng giao thông, điều kiện đường, tai nạn và ùn tắc giao thông Hình 5 thê hiện các thành phần

của ITS và sự tương tác giữa chúng.

All Sources: .

TrafficStream, Publishers

Weather, Image, etc

WheatherTopic

$,

BBs wheather — 3 dge Node |

fj Kafka

f— app Request—» Mobile Broker Backend

OT Sever Cluster Subcribers

Realtime Processing Batch Processing EearchQuery Topic—>|

Location Sen Cong and L-GPs Services istribution Ị Realtime Delayed

GPSLocationTopic—>| Ị Reporting:

Analytics 1 Reporting: p\ §:

Event Event Event Based | ! apps, quick apps,

f ameralmageTopic analytics

Realtime |_Integator_| Intergator |) Visualization || APPlicatlon 6€! 0p! analytics yti

Stream

RTSP Transfer——g|_ Camera confieatat Realtime Module onfigutation || tream

Configutation TrafficSigaTopic——>|

Electronic

Sensor/LCD/LED—>| traffic signs †

Module

Hình 5 Ví dụ về kiến trúc Hệ thong giao thông thông minh

Kết quả của quá trình kiểm chứng cho phép phát hiện ràng buộc của sự kiện nào bị vi phạm hay không và đưa ra thông báo tương ứng Ví dụ, sự kiện chuông cảnh báo cung cấp thông tin về

tàu hỏa đang chạy trên đường ray nào và khu vực nào Khi được triển khai, hệ thống sẽ lắp đặt các

cảm biến trên đường ray gần khu vực dân cư Các cảm biến sẽ kích hoạt hệ thống chuông cảnh báo

khi tàu hỏa đi qua khu vực nay dé thông báo cho các phương tiện khác trong khoảng thời gian này

Ngoài ra, một ví dụ khác là ràng buộc về các sự kiện của hệ thống ITS, tại các giao lộ, hệ thống đèn giao thông sẽ thay đổi trang thái liên tục giữa ba màu xanh, vàng và đỏ Phương tiện phải

dừng lại nếu gặp đèn đỏ và được di chuyền khi đèn chuyền sang màu xanh Sự kiện đèn giao thông báo đỏ xảy ra trước sự kiện đèn báo xanh Các cảm biến và camera giám sát sẽ được lắp đặt tại các

giao lộ dé phát hiện phương tiện vượt đèn đỏ Khi phương tiện xảy ra vi phạm, các cảm biến sẽ kích hoạt sự kiện gửi thông báo đến hệ thống giám sát dé xử lý Khi tài xế đi qua trạm thu phí, hệ thống đọc thẻ tại trạm thu phí và hệ thống xác thực thành công, công chắn sẽ tự động mở đề phương tiện

di chuyên qua Mỗi sự kiện đọc thẻ chi có thé kết hợp với một sự kiện mở công chắn và hai sự kiện

Trang 10

này có thông tin liên quan đến nhau được mô tả trong đặc tả Chúng tôi sử dụng phương pháp đề

xuất dé kiểm tra thời gian liên quan giữa các sự kiện này

| VER: Verification of events at runtime — Oo ~<

Violation reports

— Violate ‘Equal’ constraint between two events E2 and E3

Cause: Start time of event E2 : 168079590482 is not equal to start time of event E3 : 168079590483

— Violate ‘Start’ constraint between two events E6 and E7 Cause: Start time of event E6 : 168079589874 is not equal to start time of event E7 : 168079590380

Hình 6 Giao diện thông bdo kết qua kiểm chứng của công cu VER

Hệ thống thực nghiệm đã minh họa việc đáp ứng các sự kiện của hệ thống với các đặc tả

ràng buộc tương ứng của chúng theo thời gian Chúng tôi cũng đã xây dựng một công cụ hỗ trợ

kiểm tra tự động đặt tên là VER Giao diện thông báo kết quả của công cụ VER được trình bày trong Hình 6 Điều đáng chú ý là công cụ kiểm chứng cài đặt từ phương pháp đề xuất hoàn toàn có thé được sử dụng trên các hệ thống khác bằng cách cung cấp dữ liệu về các sự kiện va đặc tả tương

ứng Điều này sẽ giúp tối ưu hóa quá trình kiểm thử, giảm thiểu thời gian và chi phí cho các nhà

phát triển hệ thống

5 Đánh giá về các kết quả đã đạt được và kết luận

Với mục tiêu nghiên cứu là cung cấp các giải pháp và công cụ hiệu quả cho kiểm chứng, kiểm thử đảm bảo chất lượng của các hệ thống phần mềm, đề tài đã tiến hành thực hiện đề xuất hai phương pháp: Phương pháp kiểm chứng chính sách điều khiến truy cập theo vai trò kết hợp ràng buộc cấp quyền triển khai theo phương pháp an ninh khai báo và Phương pháp kiểm chứng các ràng

buộc thời gian trong các ứng dụng dựa trên sự kiện khi thực thi.

Các kết quả đạt được của đề tài nghiên cứu có đóng góp quan trọng trong nghiên cứu về lĩnh vực Công nghệ phần mềm Đề tai cũng đã hỗ trợ đảo tạo được 03 nghiên cứu sinh, 01 thạc sĩ và nhiều cử nhân đại học ngành Công nghệ thông tin Các kết quả của đề tài đáp ứng yêu cầu về các cam kết đặt ra ban đầu

6 Tóm tắt kết quả (tiếng Việt và tiếng Anh)

6.1 Tiếng Việt

Trong nhiều hệ thống, lỗi của phần mềm có thể gây ra những thiệt hại to lớn không chỉ về

mặt kinh tế mà còn cả về mặt con người, đặc biệt là các hệ thống liên quan đến các lĩnh vực như

ngân hàng, tài chính, điều khiến giao thông, y tế, kiểm soát năng lượng, etc Vì vậy, vấn đề tìm

kiếm các phương pháp đảm bảo chất lượng của hệ thống phần mềm đặt ra nhiều thách thức cần giải quyết Nhiều kỹ thuật khác nhau được sử dụng để tăng cường độ tin cậy của hệ thống phần mềm như kiểm chứng mô hình, kiểm thử phần mềm, phân tích và kiểm chứng phần mềm Mỗi phương

9

Ngày đăng: 08/10/2024, 09:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN