Luận án tiến sĩ về bảo mật và ràng buộc thời gian cho ứng dụng web

Luận án tiến sĩ nghiên cứu kỹ thuật phần mềm một số phương pháp đảm bảo an ninh và ràng buộc thời gian thực thi cho các ứng, phát triển phương pháp mới, đánh giá hiệu quả ứng dụng

Trường đại học

Đại học Quốc gia Hà Nội

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

luận án tiến sĩ

2024

137
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC CÁC BẢNG VÀ HÌNH VẼ

DANH MỤC CÁC THUẬT TOÁN

DANH MỤC CÁC ĐẶC TẢ

1. CHƯƠNG 1: NỘI DUNG NGHIÊN CỨU

1.1. Đóng góp của luận án

1.2. Cấu trúc luận án

2. CHƯƠNG 2: KIẾN THỨC CƠ SỞ

2.1. Các ứng dụng trên nền web

2.2. Một số loại tấn công mang phổ biến

2.2.1. Tấn công XSS

2.2.2. Tấn công DoS và DDoS

2.3. Một số kiến trúc và công nghệ phát triển phần mềm trên nền web

2.3.1. Kiến trúc hướng sự kiện

2.4. Một số kỹ thuật và phương pháp đảm bảo chất lượng phần mềm trên nền web

2.4.1. Kiểm thử phần mềm

2.4.2. Kiểm chứng phần mềm

2.4.3. Phương pháp học tăng cường

2.5. Tổng kết chương

3. CHƯƠNG 3: KỸ THUẬT PHÒNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ THEO THỜI GIAN THỰC

3.1. Các nghiên cứu liên quan

3.2. Phòng chống tấn công từ chối dịch vụ

3.3. Phòng chống tấn công từ chối dịch vụ phân tán

3.4. Môi trường triển khai

3.5. Kết quả thực nghiệm

3.6. Tổng kết chương

4. CHƯƠNG 4: KIỂM THỬ PHÁT HIỆN XÂM NHẬP XSS CHO ỨNG DỤNG WEB

4.1. Các nghiên cứu liên quan

4.2. Phương pháp kiểm thử tự động

4.3. Sinh đường dẫn kiểm thử

4.4. Sinh ca kiểm thử

4.5. Tiến hành kiểm thử

4.6. Xây dựng công cụ kiểm thử tự động

4.7. Tổng kết chương

5. CHƯƠNG 5: KIỂM CHỨNG RÀNG BUỘC THỜI GIAN CỦA CÁC SỰ KIỆN TRONG THỜI GIAN THỰC THI

5.1. Các nghiên cứu liên quan

5.2. Phương pháp đề xuất

5.2.1. Một số định nghĩa

5.2.2. Tổng quan phương pháp đề xuất

5.2.3. Các thuật toán kiểm chứng

5.2.4. Sự kiện evt; xảy ra trước sự kiện e0f/

5.2.5. Sự kiện Fy gặp sự kiện F2

5.2.6. Sự kiện FE, gối chồng lên kiện #2

5.2.7. Sự kiện E, bắt đầu sự kiện 2

5.2.8. Sự kiện evt; trong khoảng thời gian e0f;

5.2.9. Sự kiện evt; kết thúc sự kiện

5.2.10. Sự kiện evt; tương đương với sự kiện euí;

5.3. Thực nghiệm

5.4. Giới thiệu hệ thống

5.5. Thiết kế hệ thống

5.6. Tổng kết chương

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Hướng phát triển

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về bảo mật ứng dụng web

Bảo mật ứng dụng web là một trong những vấn đề quan trọng nhất trong phát triển phần mềm hiện đại. Các ứng dụng web ngày càng trở nên phổ biến, tuy nhiên, chúng cũng phải đối mặt với nhiều mối đe dọa từ các cuộc tấn công mạng. Bảo mật ứng dụng web không chỉ đơn thuần là việc ngăn chặn các cuộc tấn công mà còn bao gồm việc bảo vệ dữ liệu và thông tin cá nhân của người dùng. Các phương pháp bảo mật như mã hóa dữ liệu, kiểm soát truy cập và xác thực người dùng là những biện pháp cần thiết để đảm bảo an toàn cho hệ thống. Theo nghiên cứu, việc phát hiện sớm các dấu hiệu bất thường trong hoạt động của người dùng có thể giúp ngăn chặn các cuộc tấn công như DoS và DDoS. Điều này cho thấy tầm quan trọng của việc phát triển các giải pháp bảo mật hiệu quả cho các ứng dụng web.

1.1. Các loại tấn công phổ biến

Các loại tấn công phổ biến đối với ứng dụng web bao gồm XSS (Cross-Site Scripting), SQL Injection và DDoS (Distributed Denial of Service). Những cuộc tấn công này không chỉ gây thiệt hại về tài chính mà còn làm giảm uy tín của tổ chức. Xác thực người dùngkiểm soát truy cập là những biện pháp quan trọng để bảo vệ hệ thống khỏi các cuộc tấn công này. Việc áp dụng các công nghệ mới như AI và machine learning trong việc phát hiện và ngăn chặn các cuộc tấn công cũng đang được nghiên cứu và phát triển. Điều này cho thấy sự cần thiết phải liên tục cập nhật và cải tiến các phương pháp bảo mật để đối phó với các mối đe dọa ngày càng tinh vi.

II. Ràng buộc thời gian trong ứng dụng web

Ràng buộc thời gian là một yếu tố quan trọng trong việc phát triển ứng dụng web, đặc biệt là trong các hệ thống yêu cầu xử lý thời gian thực. Việc đảm bảo rằng các sự kiện diễn ra đúng theo thời gian quy định không chỉ giúp cải thiện hiệu suất mà còn đảm bảo tính toàn vẹn của dữ liệu. Quản lý thời gian trong các ứng dụng web cần được thực hiện một cách chặt chẽ để tránh các vi phạm có thể dẫn đến hậu quả nghiêm trọng. Nghiên cứu cho thấy rằng việc áp dụng các thuật toán kiểm chứng có thể giúp phát hiện và xử lý các vi phạm về thời gian một cách hiệu quả. Điều này không chỉ giúp nâng cao độ tin cậy của hệ thống mà còn cải thiện trải nghiệm người dùng.

2.1. Phương pháp kiểm chứng thời gian

Phương pháp kiểm chứng thời gian trong kiến trúc hướng sự kiện (EDA) là một trong những cách tiếp cận hiệu quả để đảm bảo rằng các sự kiện diễn ra đúng theo ràng buộc thời gian. Các thuật toán kiểm chứng sẽ xác minh mối quan hệ giữa các sự kiện và đảm bảo rằng chúng đáp ứng các yêu cầu đã được định nghĩa. Việc áp dụng phương pháp này vào các ứng dụng thực tế đã chứng minh tính hiệu quả của nó trong việc phát hiện các vi phạm về thời gian. Điều này cho thấy rằng việc kiểm chứng thời gian không chỉ là một yêu cầu kỹ thuật mà còn là một yếu tố quyết định đến sự thành công của các ứng dụng web trong môi trường cạnh tranh hiện nay.

III. Giải pháp bảo mật cho ứng dụng web

Để đảm bảo an toàn cho các ứng dụng web, cần áp dụng một loạt các giải pháp bảo mật. Các giải pháp này bao gồm việc sử dụng tường lửa, mã hóa dữ liệu, và kiểm tra dữ liệu đầu vào. Giải pháp bảo mật không chỉ giúp ngăn chặn các cuộc tấn công mà còn bảo vệ thông tin cá nhân của người dùng. Việc phát hiện sớm các dấu hiệu bất thường trong hoạt động của người dùng có thể giúp ngăn chặn các cuộc tấn công như DoS và DDoS. Nghiên cứu cho thấy rằng việc kết hợp nhiều phương pháp bảo mật khác nhau sẽ mang lại hiệu quả cao hơn trong việc bảo vệ hệ thống. Điều này cho thấy rằng việc đầu tư vào bảo mật là cần thiết để đảm bảo sự phát triển bền vững của các ứng dụng web.

3.1. Công nghệ bảo mật hiện đại

Công nghệ bảo mật hiện đại như AI và machine learning đang được áp dụng để phát hiện và ngăn chặn các cuộc tấn công mạng. Các công nghệ này có khả năng phân tích dữ liệu lớn và phát hiện các mẫu hành vi bất thường, từ đó đưa ra cảnh báo kịp thời cho người quản trị hệ thống. Việc áp dụng các công nghệ này không chỉ giúp nâng cao hiệu quả bảo mật mà còn giảm thiểu chi phí vận hành. Nghiên cứu cho thấy rằng việc sử dụng công nghệ bảo mật hiện đại có thể giúp các tổ chức bảo vệ tốt hơn trước các mối đe dọa từ mạng, đồng thời nâng cao độ tin cậy của hệ thống.

07/02/2025

Trích đoạn nội dung tài liệu

Mở đầu của phần này, luận án trình bày sơ lược về hệ thống phần mềm trên nền web, các nguy cơ có thể xảy ra với các phần mềm trên nền web. Ở mục kế tiếp, một số loại tấn công phổ biến hay xảy ra trên hệ thống web sẽ được trình bày. Tiếp theo, luận án sẽ trình bày một số kiến trúc, công nghệ được sử dụng trong phần mềm trên nền web. Cuối cùng, luận án cũng trình bày một số kỹ thuật và phương pháp đảm bảo chất lượng phần mềm trên nền web để sử dụng trong các phương pháp đề xuất.

Các ứng dụng trên nền web Các ứng dụng, hay các phần mềm trên nền Web là các chương trình được lưu trữ trên máy chủ từ xa và được phân phối qua Internet thông qua giao diện trình duyệt |62, 71]. So với các phần mềm truyền thống, các phần mềm nền Web có các đặc trưng như: e Khả năng truy cập từ mọi thiết bị có kết nối Internet: ứng dụng trên nền Web có thể truy cập trên bất kỳ thiết bị nào có kết nối Internet và trình duyệt Web. Người dùng không cần phải cài đặt ứng dụng trên máy tính hay thiết bị di động của họ. Các ứng dụng web ngày nay dự kiến sẽ khả dụng 24/7 từ mọi nơi trên thế giới và có thể sử dụng được từ hầu hết mọi thiết bị hoặc kích thước màn hình.

e Giao diện thân thiện và dễ sử dụng: ứng dụng Web thường có giao diện thân thiện va dễ sử dụng, giúp người dùng tương tac và sử dụng ứng dụng một cách dễ dàng. e Khả năng tương tác trực tiếp với người dùng: ứng dụng Web có thể tương tác trực tiếp với người dùng, cho phép họ nhập liệu, thực hiện tìm kiếm, lưu trữ dữ liệu và thực hiện các chức năng khác. e Khả năng kết nối với các dịch vụ bên ngoài: ứng dụng Web có thể kết nối 8 với các dịch vụ bên ngoài, cho phép người dùng sử dụng các tính năng khác như thanh toán trực tuyến, tìm kiếm thông tin, chia sẻ trên mạng xã hội và nhiều hơn nữa. e Khả năng cập nhật và phát triển dễ dàng: ứng dụng Web có khả năng cập nhật và phát triển dễ dàng, giúp cải thiện tính năng và tăng cường bảo mật cho ứng dụng.

e Bảo mật tốt hơn: Các ứng dụng Web cung cấp bảo mật tốt hơn cho người dùng bằng cách sử dụng các cơ chế bảo mật như chứng thực, phân quyền truy cập, mã hóa dữ liệu, kiểm tra đầu vào, xác thực hai yếu tố, quản lý phiên làm việc và các giải pháp chống tấn công mạng, v. Với các đặc trưng như trên, các ứng dụng Web có nhiều ưu điểm khiến nhiều người dùng lựa chọn sử dụng, bao gồm khả năng truy cập cùng một phiên bản của ứng dụng từ nhiều nền tang và trình duyệt khác nhau ma không cần phải cài đặt. Việc cập nhật cũng trở nên dễ dàng hơn vì ứng dụng web được cập nhật trực tuyến mà không cần phải cài đặt lại trên máy tính của người dùng. Ngoài ra, tính di động của ứng dụng Web cho phép người dùng truy cập từ bất kỳ đâu và bất kỳ khi nào trên thiết bị di động của họ, miễn là có kết nối Internet.

Việc phát triển và duy trì ứng dụng Web thường ít tốn kém hơn so với các ứng dụng truyền thống cài đặt trên máy tính, giúp tiết kiệm chi phí. Khả năng tùy chỉnh của ứng dụng Web cũng là một điểm cộng, vì nó có thể được tùy chỉnh để phù hợp với các nhu cầu cụ thể của doanh nghiệp hoặc người dùng. Cuối cùng, tính tiện lợi của ứng dụng web khiến người dùng không cần phải lo lắng về việc sao lưu hoặc đồng bộ dữ liệu, vi mọi thứ đều được lưu trữ trên đám may [68, 79]. Bên cạnh các ưu điểm kể trên, theo [68, 79, 13] các ứng dụng web cũng có những đặc điểm, tính chất sau: e Phụ thuộc vào mạng: Hệ thống chạy trên nền web phụ thuộc vào mạng internet, do đó độ trễ mạng, khả năng kết nối internet kém, tấn công mạng có thể làm cho hệ thống trở nên không ổn định.

e Bảo mật: Các hệ thống chạy trên nền web thường phải chứa thông tin nhạy cảm của người dùng và khách hàng, vì vậy bảo mật là một vấn đề quan trọng. Các lỗ hồng bảo mật có thể được khai thác bởi các kẻ tấn công để truy cập thông tin nhạy cảm hoặc tấn công hệ thống. e Da nền tảng: Các hệ thống chạy trên nền web phải hoạt động trên nhiều nền tảng và trình duyệt khác nhau, điều này đòi hỏi các nhà phát triển phải kiểm tra tính tương thích của hệ thống với các nền tảng và trình duyệt khác nhau. e Quản lý phiên: Hệ thống chạy trên nền web thường sử dụng quản lý phiên để giữ cho người dùng được xác thực khi truy cập vào hệ thống.

Nếu quản lý phiên không được cấu hình đúng, thì nó có thé gây ra lỗ hồng bảo mật. e Tốc độ phản hồi: Tốc độ phản hồi của hệ thống chạy trên nền web là một yếu tố quan trọng để đảm bảo rằng ứng dụng hoạt động mượt mà và không bị gián đoạn. e Cập nhật: Các hệ thống chạy trên nền web thường phải được cập nhật thường xuyên để đảm bảo tính bảo mật và tính năng của hệ thống. e Dé dàng bảo trì: Các hệ thống chạy trên nền web cần được thiết kế để dễ dàng bảo trì và cập nhật bởi các nhà quản trị hệ thống.

Do ứng dụng web chạy trên môi trường Internet, người dùng phải có kết nối Internet để truy cập. Tốc độ của web cũng thường ít được tối ưu tốt và có thể chậm hơn so với ứng dụng truyền thống, đặc biệt khi có quá nhiều người truy cập cùng lúc. Bảo mật dữ liệu cũng là một vấn đề đáng lo ngại. Do dữ liệu lưu trữ trên máy chủ nên hoàn toàn có thể bị truy cập trái phép.

Ngoài ra, ứng dụng web phải tương thích với nhiều nền tảng và trình duyệt khác nhau, làm cho quá trình phát triển và kiểm thử phức tạp hơn. Các thiết bị hoặc trình duyệt đời cũ hoặc ít phổ biến cũng có thể gây khó khăn trong việc sử dụng ứng dụng web. Để đánh giá chất lượng phần mềm trên nền web theo tiêu chuẩn ISO/IEC 9126/2001 [48] và theo [13, 71], các yếu tố liên quan bao gồm tính phù hợp về chức năng (Functionality), độ tin cậy (Reliability), tính sử dung (Usability), hiệu suất (Efficiency), khả năng bảo trì (Maintainability), tính di động (Portability) và bảo mật (Security). Đối với tính phù hợp về chức năng, phần mềm cần đáp ứng các yêu cầu khi được sử dụng trong các điều kiện quy định.

Độ tin cậy mô tả khả năng duy trì mức hiệu suất của phần mềm trong các điều kiện nhất định trong một khoảng thời gian cụ thể. Tính sử dụng được xác định bằng khả năng sử dụng phần mềm một cách hiệu quả và thuận tiện cho người dùng. Để đảm bảo tính sử dụng, phần mềm cần đáp ứng các yêu cầu về giao diện người dùng, bố cục, bảo mật, độ tin cậy và các yêu tố khác có thể ảnh hưởng đến trải nghiệm 10 sử dụng của người dùng. Hiệu suất phần mềm được đánh giá bằng cách xem xét mức độ hoạt động của phần mềm và lượng tài nguyên được sử dụng để đạt được mức độ hoạt động đó trong các điều kiện đã nêu.

Khả năng bảo trì xác định mức độ dễ dàng để thực hiện các sửa đổi, bảo trì và nâng cấp phần mềm. Tính di động chỉ định khả năng của phần mềm để được chuyển đổi từ một môi trường sang môi trường khác. Bảo mật trong phần mềm là mức độ bảo vệ thông tin, dữ liệu để người dùng hoặc các thực thể khác có mức độ truy cập dữ liệu phù hợp với sự cho phép của họ, nhằm ngăn chặn các vụ tấn công tiềm an. Do đó, các hệ thống phần mềm, đặc biệt là các hệ thống web, luôn tiềm an các nguy cơ an ninh bị tấn công và tài nguyên bị khai thác trái phép.

Một số loại tan công mạng phổ biến Chất lượng của phần mềm có ảnh hưởng trực tiếp hoặc/và gián tiếp đến người sử dụng. Bên cạnh những lợi ích mà phần mềm mang lại, thì cũng xuất hiện nhiều vấn đề vi phạm truy cập tài nguyên làm ảnh hưởng đến chất lượng phần mềm và người dùng trong hệ thống [45, ?, 99]. Một số sự cố an ninh phổ biến hay được nhắc đến là thất thoát hoặc làm sai lệch các thông tin riêng tư, quan trọng do hệ thống quản lý. Theo báo cáo về các mối đe dọa an ninh Internet năm 2019 của Symantec!, các kiểu tấn công và vi phạm an ninh ngày càng tinh vi [32, 85].

Một số kiểu tan công pho biến là Formjacking (một loại mã độc cài vào trang web để lấy cắp thông tin của khách hàng) hay Ransomware (ngăn chặn người dùng truy cập và sử dung tài nguyên của ho)’. Trong đó, chiếm đến 56% là các vụ tấn công web. Tấn công DoS, XSS là những tấn công mang phổ biến và gây ra những hậu quả nghiêm trọng. Theo [63, 91] một số nguy cơ có thể xuất hiện với các ứng dụng trên nền web bao gồm: e Tấn công DoS (Denial of Service): đây là loại tấn công mà kẻ tấn công cố gắng làm ngập lụt ứng dụng bằng cách gửi nhiều yêu cầu đến máy chủ web.

Điều này gây ra tình trạng quá tải cho máy chủ, từ đó dẫn đến gián đoạn dịch vụ hoặc đình chỉ hoạt động của ứng dụng.com /security-center/threat-report “https: //www.com/cybersecurity-101/cyberattacks /most-common-types-of- cyberattacks/ 11 e Tấn công mã độc: kẻ tấn công có thể tìm cách đưa mã độc vào hệ thống, ví dụ như phần mềm độc hại hoặc mã JavaScript độc hại, từ đó có thể lay cắp thông tin cá nhân hoặc kiểm soát máy chủ. e Tan công SQL Injection: kẻ tấn công có thể tận dụng lỗ hồng trong các ứng dụng web để chèn mã SQL vào các câu truy vấn. Nếu thành công, họ có thể đọc, sửa đổi hoặc xóa dit liệu trên cơ sở dữ liệu của ứng dụng. e Tấn công Cross-site scripting (XSS): tấn công nay cho phép kẻ tấn công chèn mã JavaScript độc hại vào các trang web được truyền tải đến người dùng, từ đó lấy cắp thông tin người dùng hoặc thực hiện các hành động không đúng đắn trên trang web.

e Phá hoại dịch vụ: kẻ tấn công có thể tấn công các cơ chế chứng thực, phiên làm việc của người dùng hoặc các kết nối mạng, từ đó gây ra tình trạng gián đoạn dịch vụ hoặc gây ra sự cố với ứng dụng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Phương pháp bảo mật và ràng buộc thời gian cho ứng dụng web" cung cấp cái nhìn sâu sắc về các phương pháp bảo mật hiệu quả cho ứng dụng web, nhấn mạnh tầm quan trọng của việc bảo vệ dữ liệu và thông tin người dùng trong môi trường trực tuyến. Tác giả trình bày các kỹ thuật bảo mật hiện đại, cùng với cách thức ràng buộc thời gian để đảm bảo tính toàn vẹn và bảo mật của dữ liệu. Độc giả sẽ nhận được những lợi ích thiết thực từ việc áp dụng các phương pháp này, giúp nâng cao khả năng phòng chống các mối đe dọa an ninh mạng.

Nếu bạn muốn tìm hiểu thêm về các khía cạnh khác của bảo mật thông tin, hãy tham khảo bài viết "Luận văn thạc sĩ nghiên cứu về an ninh dịch vụ web", nơi bạn sẽ khám phá các biện pháp bảo vệ dịch vụ web. Ngoài ra, bài viết "Luận văn thạc sĩ nghiên cứu kỹ thuật fuzzing trong kiểm thử lỗ hổng bảo mật website ngân hàng" sẽ giúp bạn hiểu rõ hơn về các kỹ thuật kiểm thử bảo mật. Cuối cùng, bài viết "Luận văn thạc sĩ nghiên cứu giải pháp bảo mật thoại trên mạng internet" cũng cung cấp những giải pháp bảo mật hữu ích cho các ứng dụng trực tuyến. Những tài liệu này sẽ mở rộng kiến thức của bạn về bảo mật thông tin và ứng dụng trong thực tế.