Một số case-study về lỗ hổng và tấn công ứng dụng web

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu (Trang 62 - 65)

CHƢƠNG 2 CÁC DẠNG TẤN CÔNG THƢỜNG GẶP LÊN ỨNG DỤNG WEB

2.7. Một số case-study về lỗ hổng và tấn công ứng dụng web

Mục này giới thiệu một sốtrƣờng hợp thực tế (case-study) về lỗ hổng và tấn công vào ứng dụng web, bao gồm: đánh lừa tính năng đổi mật khẩu, tấn cơng tính năng đặt hàng và xóa các bản ghi log. Với mỗi trƣờng hợp, có 4 nội dung đƣợc trình bày, gồm Gii thiu là

phần giới thiệu vềtính năng, Gi thiết nêu các giả thiết trong phát triển, hoặc vận hành hệ thống, Tn công mô tả kịch bản thực hiện tấn cơng khai thác lỗi trong tính năng và Phòng chng nêu ra các biện pháp phòng chống, ngăn chặn tấn cơng. Phần tiếp theo trình bày chi tiết về các trƣờng hợp này.

2.7.1. Đánh lừa tính năng đổi mật khẩu

Gii thiu

Tính năng đổi mật khẩu đƣợc sử dụng rộng rãi trong các ứng dụng nói chung và ứng dụng web nói riêng. Lỗi trong logic thực hiện tính năng đổi mật khẩu trong ứng dụng

62 AOL AIM Enterprise Gateway của một cơng ty dịch vụ tài chính cho phép tin tặc đổi mật khẩu của ngƣời dùng và lạm dụng tài khoản của họ.

Với tính năng đổi mật khẩu cho ngƣời dùng, hệ thống yêu cầu ngƣời dùng cung cấp tên truy nhập, mật khẩu hiện tại, mật khẩu mới và nhắc lại mật khẩu mới. Với tính năng đổi mật khẩu cho ngƣời quản trị, hệ thống cho phép ngƣời quản trị đổi mật khẩu cho các ngƣời dùng khác mà không cần nhập mật khẩu của họ. Hệ thống chỉ yêu cầu ngƣời quản trị cung cấp tên truy nhập và mật khẩu mới.

Gi thiết

Giao diện đổi mật khẩu cho ngƣời dùng và cho ngƣời quản trị chỉ khác biệt ở chỗ, giao diện đổi mật khẩu cho ngƣời quản trị khơng có trƣờng mật khẩu hiện tại. Phần cài đặt giả thiết là ngƣời dùng luôn nhập mật khẩu hiện tại và nếu mật khẩu hiện tại rỗng thì đó là ngƣời quản trị. Mã thực thi có dạng nhƣ sau:

Tn cơng

Kẻ tấn cơng có thể sử dụng một tài khoản thƣờng và tạo ra các yêu cầu đổi mật khẩu khơng có trƣờng mật khẩu hiện tại để đánh lừa hệ thống. Khi mật khẩu hiện tại rỗng, hệ thống coi ngƣời dùng là ngƣời quản trịvà cho phép đổi mật khẩu. Bằng kỹ thuật này, Kẻ tấn cơng có thểđổi mật khẩu của ngƣời dùng bất kỳ và lạm dụng tài khoản của họ.

Phòng chng

Điều cần thiết là tách giao diện đổi mật khẩu cho ngƣời quản trị khỏi giao diện đổi mật khẩu cho ngƣời dùng. Ngoài ra, cần kiểm tra chặt chẽ quyền truy nhập khi tính năng đổi mật khẩu cho ngƣời quản trị đƣợc sử dụng.

2.7.2. Tấn cơng tính năng đặt hàng

Gii thiu

Tính năng tạo giỏ hàng, đặt hàng và mua hàng đƣợc cài đặt trên hầu hết các trang web bán hàng trực tuyến. Lỗi trong logic xử lý và việc thiếu kiểm tra các bƣớc thực hiện có thể cho phép kẻ tấn cơng mua hàng mà khơng thanh tốn, hoặc thêm hàng vào đơn hàng sau khi đã thanh toán. Các bƣớc cần thực hiện để mua hàng trên trang web theo trật tự nhƣ sau:

63 Bƣớc 1: Duyệt danh mục sản phẩm và chọn sản phẩm đƣa vào giỏ hàng.

Bƣớc 2: Xem, cập nhật giỏ hàng và xác nhận đơn hàng. Bƣớc 3: Nhập thơng tin thanh tốn.

Bƣớc 4: Nhập thông tin giao hàng.

Gi thiết

Các bƣớc trong quy trình mua hàng phải đƣợc thực hiện đúng trật tự và các bƣớc đƣợc hiển thị theo các liên kết (link) và các form đƣợc hiển thị trên trình duyệt. Tuy nhiên, việc kiểm tra trình tự thực hiện không đƣợc thực thi chặt chẽ. Với bất kỳ ngƣời dùng nào, để mua hàng cần thực hiện bƣớc Nhập thơng tin thanh tốn.

Tn cơng

Do ngƣời dùng có khảnăng điều khiển các yêu cầu, nên họ có thể thực hiện các bƣớc trong lƣu trình mua hàng theo trật tự bất kỳ. Kẻ tấn cơng có thể mua hàng bằng cách thực hiện Bƣớc 1, 2, bỏqua Bƣớc 3: Nhập thơng tin thanh tốn và chuyển thẳng sang Bƣớc 4. Kẻ tấn cơng cũng có thể thực hiện đầy đủ các bƣớc để mua hàng, sau đó quay lại thêm hàng vào đơn hàng đểtăng sốlƣợng mà khơng phải thanh tốn thêm tiền.

Phịng chng

Ngồi việc hiển thị các bƣớc theo trật tựđể định hƣớng ngƣời dùng, cần kiểm tra chặt chẽ trật tự thực hiện cũng nhƣ logic các bƣớc. Chẳng hạn, ngƣời dùng chỉ có thể sang đƣợc Bƣớc 4 nếu đã hồn tất Bƣớc 3. Nếu ngƣời dùng cốtình sang Bƣớc 4 mà chƣa hồn tất Bƣớc 3, hệ thống tự động chuyển hƣớng về Bƣớc 3. Khi ngƣời dùng đã hoàn thiện Bƣớc 3, đơn hàng chuyển sang trạng thái đã thanh toán và cấm cập nhật, để ngăn chặn ngƣời dùng chỉnh sửa sốlƣợng hàng, hoặc thêm sản phẩm vào đơn hàng.

2.7.3. Xóa các bản ghi log

Gii thiu

Đây là lỗi xảy ra trong ứng dụng web của một Call Center (Trung tâm hỗ trợ khách hàng). Ứng dụng này cung cấp một tập tính năng cho phép nhân viên hỗ trợ khách hàng và quản trị viên hỗ trợ và quản trị một lƣợng lớn khách hàng. Các thao tác có thể thực hiện bao gồm: tạo tài khoản, khởi tạo lại mật khẩu,… Ứng dụng ghi log của tất cả các thao tác đã thực hiện và ngƣời thực hiện. Ứng dụng cũng cho phép ngƣời quản trị xóa các log. Tuy nhiên thao tác này cũng đƣợc ghi log.

Gi thiết

Ngƣời thiết kế cho rằng một ngƣời dùng ác tính thực hiện các hành vi không mong muốn mà không để lại log là điều khơng thể. Ngƣời quản trị xóa log cũng để lại 1 bản ghi log về thao tác xóa log của anh ta.

Tn công

Giả thiết của ngƣời thiết kế tồn tại lỗi và một ngƣời quản trị ác tính (malicious) có thể xóa log mà khơng để lại dấu vết. Các bƣớc mà kẻ tấn công thực hiện nhƣ sau:

64 - Tạo một tài khoản mới;

- Gán tất cả quyền truy nhập của mình cho tài khoản mới;

- Sử dụng tài khoản mới để thực hiện các thao tác không đƣợc phép; - Sử dụng tài khoản mới để xóa hết các log của các bƣớc trƣớc.

Kết quả là hệ thống chỉ lƣu 1 bản ghi log, chỉ ra ngƣời thực hiện là tài khoản mới mà khơng có liên hệ nào với kẻ tấn cơng.

Phịng chng

Cần thực hiện việc phân loại log và lƣu trữ log lâu dài, đồng thời hạn chế đến tối thiểu việc xóa log. Đặc biệt, các log quan trọng khơng cho phép xóa, hoặc chỉ cho phép xóa log sau một khoảng thời gian.

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu (Trang 62 - 65)

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

(161 trang)