TỔNG QUAN BẢO MẬT ỨNG DỤNG WEB/PORTAL (PHẦN 3)

Các công ty sử dụng các ứng dụng web có cơ sở dữ liệu chứa thông tin có giá trị (thông tin cá nhân, tài chính, kế hoạch kinh doanh) là mục tiêu tấn công thường xuyên của hacker. Mặc dù, hành vi phá hoại website như defacing, ghi điểm khi tấn công các trang web của công ty (http://www.zone-h.org) vẫn còn phổ biến, nhưng hacker chuyên nghiệp ngày nay thích truy cập vào các dữ liệu nhạy cảm trên máy chủ cơ sở dữ liệu vì sau đó sẽ bán dữ liệu để lấy tiền.

Trong mô hình 1.4 đã mô tả việc hacker có thể dễ dàng, nhanh chóng truy cập dữ liệu trong cơ sở dữ liệu thông qua một loạt các kỹ thuật tấn công với một ít may mắn do sơ suất trong sử dụng, cấu hình của người quản trị, lập trình dẫn đến lỗ hổng trong các ứng dụng web.

Hình 1.4 Mô hình chi tiết các bước tấn công vào ứng dụng web

Hình 1.4 Mô hình chi tiết các bước tấn công vào ứng dụng web

Như đã đề cập ở trên, các trang web phụ thuộc vào cơ sở dữ liệu để cung cấp các thông tin cần thiết đến người dùng. Nếu các ứng dụng web không an toàn, thì toàn bộ cơ sở dữ liệu chứa thông tin nhạy cảm có rủi ro nghiêm trọng. Ngoài ra, một số hacker có thể đưa mã độc hại vào trong các ứng dụng web có lổ hỏng bảo mật để lừa người dùng chuyển hướng đến các trang web lừa đảo. Kỹ thuật này được gọi là Cross-Site Scripting và có thể được sử dụng ngay cả khi các máy chủ web và cơ sở dữ liệu chứa không có lỗ hỏng bảo mật.

Như vậy vấn đề cốt lõi trong bảo mật ứng dụng web liên quan đến việc người dùng có thể nhập, tùy biến dữ liệu đầu vào bất kỳ. Các ứng dụng web cũng như các ứng dụng phân tán khác đều phải đối mặt với một vấn đề căn bản và cần phải giải quyết tốt đó là các kết nối từ phía client thường ngoài tầm kiểm soát của ứng dụng web, người dùng có nhập hay tùy biến dữ liệu đầu vào bất kỳ để chuyển về cho ứng dụng web xử lý. Do đó, để đảm bảo an toàn thì các ứng web phải giả định rằng các dữ liệu đầu vào có thể nguy cơ là mã độc và có các bước kiểm tra chắc chắn rằng hacker không thể thay thế hay chèn dữ liệu đầu vào một cách thủ công để gây hại cho các ứng dụng web bằng cách can thiệp vào tính logic, cách thức hoạt động của các ứng dụng web, từ đó có thể truy cập trái phép vào chức năng và dữ liệu ứng dụng web.

Vấn đề cốt lõi trong bảo mật ứng dụng web nêu trên được mô tả cụ thể qua các trường hợp sau:

– Người dùng có thể can thiệp vào bất kỳ phần dữ liệu được truyền giữa client và server, bao gồm các thông số gởi đi, cookies, và HTTP Header. Do đó, bất kỳ các kiểm soát bảo mật thực hiện trên client có thể dễ dàng bị vượt qua như chức năng kiểm tra xác nhận dữ liệu đầu vào. Ví dụ: người dùng có thể thay đổi thông tin HTTP header gởi về server. Các công cụ nảy rất nhiều và có các chức năng gắn thêm vào ngay trình duyệt người dùng như Modify Headers, Headertool, …

Hình 1.5 Giao diện trang web vietnamnet.vn khi vào máy tính để bàn

Hình 1.5 Giao diện trang web vietnamnet.vn khi vào máy tính để bàn

Hình 1.6 thay đổi HTTP Header thành thiết bị di động IPAD.

Hình 1.6 thay đổi HTTP Header thành thiết bị di động IPAD.

Hình 1.7 giao diện trang web vietnamnet.vn sau khi thay đổi

Hình 1.7 giao diện trang web vietnamnet.vn sau khi thay đổi

Kết quả giao diện khi vào cùng trang vietnamnet.vn nhưng ứng dụng web bây giờ đã nhận sai là kết nối từ thiết bị di động nên giao diện hiển thị trên màng hình là dành cho thiết bị di động.

– Người dùng có thể gửi yêu cầu theo thứ tự bất kỳ và có thể gửi các thông số tại một giai đoạn nhiều hơn một lần, hoặc không gì cả khác với những gì dự kiến theo trật tự, qui luật của​​ ứng dụng web. Điều này có nghĩa là các giả định của nhà phát triển ứng dụng về cách người dùng sẽ tương tác với các ứng dụng sẽ không đúng. Ví dụ: một ứng web về quản lý nhân sự cho phép người dùng nhập thông tin nhân sự vào hệ thống. Khi tạo mới người dùng phần mềm kiểm tra có nhập trùng hay không? Nếu nhập trùng sẽ thông báo xác nhận và lưu thông tin hình ảnh tương ứng. Tuy nhiên, việc kiểm soát lại không kiểm tra lúc người nhập thay đổi thông tin nhân sự đã có và cố tình nhập trùng với nhân sự khác, thay đổi hình ảnh nhân sự đó. Kết quả hệ thống lưu 02 nhân sự giống nhau, khác nhau vệ hình ảnh. Đây là điều mà các nhà phát triển ứng dụng không nghĩ đến khi phát triển.

– Người sử dụng không bị giới hạn chỉ sử dụng một trình duyệt web để truy cập ứng dụng. Có rất nhiều công cụ được phổ biến rộng rãi để tấn công các ứng dụng web. Những công cụ này có thể thực hiện yêu cầu đến ứng dụng web mà không cần trình duyệt và có thể tạo ra số lượng lớn các yêu cầu rất nhanh để dò tìm và khai thác lổ hỏng như: W3AF framework, Appscan, Acunetix Web Scanner…

(còn tiếp phần 4)
* Lưu ý: Các bản sử dụng nội dung vui lòng ghi tên tác giả. Xin cảm ơn.

Comments

comments