Phương pháp kiểm thử lỗ hổng

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 27 - 29)

Kiểm thử lỗ hổng bảo mật đối với ứng dụng web chính là việc làm thế nào để có thể chỉ ra những lỗ hổng đang tồn tại trên hệ thống một cách đầy đủ và khoa học[11,13].

* Phương pháp kiểm thử hộp đen

Kiểm thử hộp đen (Black Box Testing) là phương pháp dựa trên đầu vào và đầu ra của hệ thống để kiểm thử mà không quan tâm tới code bên trong.

Với phương pháp kiểm thử hộp đen, các lỗ hổng bảo mật trên ứng dụng web thực hiện kiểm thử các ứng dụng từ bên ngoài, phía giao diện người dùng. Tức là quan sát các dữ liệu được chuyển đến ứng dụng và các dữ liệu từ ứng dụng xuất ra mà không biết mã nguồn hay hệ thống bên trong. Quá trình chuyển dữ liệu từ bên ngoài đến ứng dụng có thể thực hiện bằng thủ công hoặc sử dụng công cụ tự động.

Bảng 1.1. Ưu và nhược điểm của phương pháp kiểm thử hộp đen

Ưu điểm Nhược điểm

- Độc lập với ứng dụng, vì chủ yếu dựa trên vai trò người kiểm thử bên ngoài;

- Không yêu cầu truy cập mã nguồn, không đòi hỏi kiểm thử viên phải có kiến thức sâu về lập trình, về hệ thống;

- Rất thích hợp với những ứng dụng có mã nguồn lớn;

- Việc đầu tư công cụ cho kiểm thử có thể sử dụng lại nhiều lần.

- Hiệu quả hạn chế do kiểm thử viên không biết nhiều về ứng dụng;

- Rất khó để xác định tất cả các yếu tố đầu vào trong quá trình kiểm thử;

* Phương pháp kiểm thử hộp trắng

Kiểm thử hộp trắng (White Box Testing) là phương pháp dựa vào thuật toán, cấu trúc code bên trong của chương trình với mục đích đảm bảo rằng tất cả các câu lệnh và điều kiện sẽ được thực hiện ít nhất một lần.

Quá trình xác định lỗ hổng dựa trên mã nguồn của ứng dụng được thực hiện bởi nhà phát triển, có thể được thực hiện thủ công hoặc bằng công cụ tự động. Việc thực hiện thủ công với số lượng lớn các dòng lệnh có cấu trúc phức tạp sẽ gặp rất nhiều khó khăn. Do đó, rất cần phải có công cụ hỗ trợ cho kiểm thử viên để phân loại, tiếp cận nhanh chóng những điểm mà ứng dụng có khả năng bị lỗi. Các công cụ khi kiểm thử sẽ tiến hành quét toàn bộ mã nguồn của ứng dụng và dựa trên tập nhận biết các hàm, các chỉ dẫn có khả năng gây ra lỗi bởi ngôn ngữ lập trình phát triển ứng dụng web. Một công cụ miễn phí được sử dụng phổ biến để quét mã nguồn là AppCodeScan do Blueinjy Solutions Pvt. Ltd. phát triển.

Bảng 1.2. Ưu và nhược điểm của phương pháp kiểm thử hộp trắng

Ưu điểm Nhược điểm

- Đây là phương pháp kiểm thử cho kết quả tốt nhất, chi tiết nhất;

- Kiểm thử viên phải có kiến thức về mã nguồn nên dễ dàng tìm ra các loại dữ liệu giúp cho việc kiểm thử hiệu quả hơn;

- Giúp tối ưu hoá mã nguồn, loại bỏ những đoạn mã nguồn gây hại;

- Do kiểm thử viên có kiến thức về mã nguồn nên có thể đạt được hiệu quả tối đa các kịch bản kiểm thử.

- Được thực hiện bởi nhà phát triển nên có thể kết quả kiểm thử mang tính chủ quan;

- Tiêu tốn nhiều thời gian kiểm thử;

- Yêu cầu kiểm thử viên có kỹ năng cao;

- Chi phí cho việc kiểm thử cao

Cách tiếp cận khi kiểm thử mã nguồn ứng dụng web như sau:

- Theo dõi khả năng điều khiển dữ liệu của người sử dụng từ những điểm vào của ứng dụng và quan sát mã chịu trách nhiệm xử lý nó.

- Tìm kiếm trong mã nguồn những dấu hiệu lỗi bảo mật khả nghi, quan sát những vị trí này để xác định rõ có thực sự gây ra lỗi hay không.

thành phần liên quan đến chứng thực, quản lý phiên sử dụng, các điều khiển truy cập, các giao tiếp với các thành phần bên ngoài... Ví dụ, kiểm thử lỗi SQL Injection ta cần quan tâm đến các từ khóa truy vấn SQL như select, update, delete, insert, ... và theo dõi quá trình thành lập SQL và cách thức gọi nó trong mã nguồn.

* Phương pháp kiểm thử hộp xám

Kiểm thử hộp xám (Grey Box Testing) được sử dụng để kiểm thử khi những thông tin được biết bên trong hệ thống mang tính hạn chế. Thực chất đây là phương pháp kết hợp giữa kiểm thử Black Box Testing và White Box Testing. Trong phương pháp này, kiểm thử viên có thể được xem tài liệu thiết kế, truy cập CSDL. Với những thông tin có được, kiểm thử viên có thể có kịch bản kiểm thử tốt hơn khi lên kế hoạch kiểm thử. Việc kiểm thử có thể được tiến hành với vai trò người dùng cuối hoặc nhà phát triển phần mềm.

Bảng 1.3. Ưu và nhược điểm của phương pháp kiểm thử hộp xám

Ưu điểm Nhược điểm

- Kết hợp lợi thế của hai phương pháp kiểm thử hộp đen và kiểm thử hộp xám;

- Kiểm thử viên không dựa vào mã nguồn mà dựa vào việc định nghĩa giao diện và đặc tả các chức năng;

- Dựa trên một số thông tin có

- được, có thể xây dựng các kịch bản kiểm thử rất hiệu quả;

- Kiểm thử tất cả các đầu vào sẽ không thực tế, vì mất rất nhiều thời gian;

- Nếu người thiết kế phần mềm thiết kế sẵn các trường hợp kiểm thử thì kết quả sẽ không khách quan.

- Kịch bản kiểm thử chưa thực sự khách quan.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 27 - 29)

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

(82 trang)