Khái quát thuật toán

Một phần của tài liệu Kiểm chứng cơ chế bảo mật dựa trên ast (Trang 44 - 46)

Thuật toán duyệt cây như sau:

Với tổ chức của AST cần phải duyệt từ trên xuống dưới. Trong quá trình duyệt từ trên xuống nếu nhận được những hàm tác động đến mô hình RBAC hay dữ liệu nhạy cảm cần quan tâm. Ví dụ, có một đoạn mã nguồn mà ảnh hưởng trực tiếp đến dữ liệu nhạy cảm

ifStatement

Expression

“write (“RBAC.TXT”)” sau khi xác định được node này (thuộc loại node gì?) Sau đó, đi ngược lên trên để tìm điều kiện tương ứng.

Phần này chỉ tìm hiểu một số Statement đơn giản là các Statement chứa các điều kiện liên quan đến vấn đề cần kiểm chứng. Khi xác định điều kiện cần xem node ảnh hưởng đến dữ liệu nằm trong các Statement nào? Với Statementif cần xem xét biểu thức điều kiện của if. Nếu điều kiện của if thuộc một trong những điều kiện đã giới hạn cũng như đã quy định từ trước khi đó bắt đầu xét sâu đến Statement này. Khi kiểm chứng, nếu Statement có điều kiện thỏa mãn với yêu cầu kiểm chứng tiếp tục đi lên trên nếu không thỏa mãn in ra thông báo lỗi luôn. Sau khi đi lên trên, kiểm tra xem tiếp các

Statement với các điều kiện đã quy định và cứ tiếp tục như vậy cho đến khi đi đến

Statement ngoài cùng thì thôi.

Thuật toán sẽ duyệt cây từ dưới lên, lấy cha của node xác định là tác động đến dữ liệu sau khi đi lên trên xác định đâu là các Statement mới khai thác chi tiết.

CDT là một công cụ rất quan trọng để kiểm chứng thuật toán. Thuật toán được xây dựng dựa trên kiến trúc của AST. CDT sinh ra AST để có cái nhìn rõ ràng nhất về cấu trúc tổ chức của một mã nguồn C/C++. Trong tương lai, nếu muốn cải tiến thuật toán với công cụ khác là JDT thì tìm hiểu và sử dụng thành thạo công cụ CDT sẽ làm cho công việc dễ dàng và thuận lợi hơn nhiều.

Mô hình dùng để mô tả cách triển khai thuật toán dựa trên AST như sau:

Hình 4.2: Mô tả thuật toán kiểm chứng cơ chế bảo mật

Với mô hình này, thuật toán được triển khai dựa trên hai thành phần chính là AST

RBAC. Với một cơ chế bảo mật được xây dựng sẵn dựa trên các mô hình của RBAC, một đoạn mã nguồn đưa vào với đặc trưng các mô hình RBAC. Thuật toán được xây dựng phải làm nổi bật rõ ràng nhất những ưu điểm của các mô hình RBAC và có sự kiểm soát mã nguồn một cách chi tiết và toàn diện nhất.

Một phần của tài liệu Kiểm chứng cơ chế bảo mật dựa trên ast (Trang 44 - 46)

Tải bản đầy đủ (DOC)

(81 trang)
w