Vấn đề bảo mật trong ứng dụng Ajax
Số trang: 8
Loại file: docx
Dung lượng: 38.53 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không đồng bộ), làbộ công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ hiển thịnhững gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.
Nội dung trích xuất từ tài liệu:
Vấn đề bảo mật trong ứng dụng AjaxVấn đề bảo mật trong ứng dụng AjaxAJAX là gì?AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không đồng bộ), làbộ công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ hiển thịnhững gì cần thiết, thay vì tải đi tải lại toàn bộ trang web. AJAX không phải một công nghệđơn lẻ mà là sự kết hợp một nhóm công nghệ với nhau. Trong đó, HTML và CSS đóng vaihiển thị dữ liệu, mô hình DOM trình bày thông tin động, đối tượng XMLHttpRequest trao đổidữ liệu không đồng bộ với máy chủ web, còn XML là định dạng chủ yếu cho dữ liệu truyền.Đây đều là công nghệ sẵn có nhưng Javacript đã lắp ráp chúng lại để thực hiện nhanh hơn,tốt hơn các yêu cầu của người sử dụngAJAX được cải tiến như thế nào so với các ứng dụng Web truyền thống?Đối với ứng dụng Web truyền thống, hoạt động của người sử dụng trên trang web sẽ tạo ramột yêu cầu HTTP tới máy chủ. Máy chủ thực hiện một số khâu xử lý như lấy lại dữ liệu,tính toán, kiểm tra sự hợp lệ của thông tin, sửa đổi bộ nhớ, sau đó gửi lại một trang HTMLhoàn chỉnh tới máy khách. Về mặt kỹ thuật, phương pháp này cũng khá bất tiện và mất thờigian, bởi khi máy chủ đang thực hiện nhiệm vụ của nó thì người dùng chỉ có một việc là chờđợi.Để khắc phục hạn chế trên, các chuyên gia phát triển giới thiệu hình thức trung gian - cơ chếxử lý AJAX (AJAX Engine) - giữa máy khách và máy chủ. Điều này giống như việc tăng thêmmột lớp giữa cho ứng dụng để giảm quá trình đi lại của thông tin và giảm thời gian phảnứng. Mọi thao tác của người sử dụng sẽ gửi lệnh JavaScript tới bộ xử lý AJAX, thay vì tạo ramột yêu cầu HTTP (HTTP request) và truy vấn tới máy chủ. Thay vì tải lại (refresh) toàn bộmột trang, nó chỉ nạp những thông tin được thay đổi, còn giữ nguyên các phần khác.Những vấn đề bảo mật gì tồn tại trong ứng dụng AJAX?Trong khi AJAX có thể tăng khả năng sử dụng ứng dụng Web với các ưu điểm của mình, nócũng đồng thời tạo ra nhiều vấn đề về bảo mật ở cả hai phía máy khách (client) và máy chủ(server): • Tạo nên một diện tấn công lớn hơn trước với nhiều dữ liệu vào (input) cần bảo vệ • Phơi bày những chức năng ở bên trong của ứng dụng Web • Cho phép các kịch bản (script) phía máy khách truy xuất đến tài nguyên của bên thứ ba. Điều này rất nguy hiểm nếu như không xây dựng một cơ chế bảo mật tốt.Tăng khả năng bị tấn côngTrong khi ứng dụng Web truyền thống được chứa toàn bộ trên máy chủ thì ứng dụng AJAXđược mở rộng qua cả hai phía máy khách và máy chủ. Việc này đòi hỏi phải bổ sung một mốiquan hệ tin cậy giữa máy khách và máy chủ. Và mối quan hệ này có thể bị khai thác bởi kẻtấn công.Nếu ví một ứng dụng Web truyền thống như là một ngôi nhà chỉ có hai cửa ra vào và không cócửa sổ thì chỉ có hai cách để đi vào nó: bằng cổng trước và bằng cổng sau. Tuy nhiên, trongmột ứng dụng AJAX, có rất nhiều yêu cầu được gửi đi và sẽ tạo nên rất nhiều input vào ứngdụng. Những input này, còn được gọi là AJAX endpoints, cung cấp nhiều cách cho kẻ tấncông xâm nhập ứng dụng cũng như một ngôi nhà dù có khóa hai cửa chính thì vẫn còn rấtnhiều cửa sổ không được bảo vệ.Rò rỉ thông tinJavaScript trong AJAX nhận yêu cầu của người dùng và thực hiện chức năng gọi đến máychủ dưới dạng dữ liệu văn bản (cleartext). Ví dụ như: • Trả về giá của sản phẩm có ID là 24 • Trả về các thành phố chính xác của bang được yêu cầu • Trả về địa chỉ chính xác gần nhất của người dùng có ID là 78 • Cập nhật tuổi của người dùng trong cơ sở dữ liệuNhững thông tin này được gửi đi dưới dạng cleartext, và hoàn toàn có thể bị khai thác bởi kẻtấn công. Từ những thông tin này, kẻ tấn công có thể biết được tên hàm, tên biến, các thôngsố của hàm, kiểu trả về, kiểu dữ liệu và phạm vi chính xác của dữ liệu. Kẻ tấn công xuất hiện trong ứng dụng AJAXTừ chối yêu cầu và lỗi Cross-Site Scripting (XSS)Trình duyệt yêu cầu và cơ chế xử lí AJAX gửi đến máy chủ một yêu cầu y hệt. Máy chủkhông có khả năng nhận thức rõ ràng rằng yêu cầu là một JavaScipt và sẽ trở nên rất khó đểxác định xem chúng có phải là một hành vi đúng đắn hay không.Điều này cũng có nghĩa là JavaScript có thể thực hiện các yêu cầu cho tài nguyên sử dụngAJAX mà người dùng không nhận thức được. Trình duyệt sẽ tự động thêm những xác thựccần thiết hoặc giữ trạng thái của thông tin như cookie. Mã JavaScript có thể truy xuất đến đápứng của yêu cầu ẩn này và sau đó gửi đi nhiều yêu cầu hơn. Chính sự mở rộng này làm tăngkhả năng bị tấn công XSS.Với AJAX, XSS có thể tạo nên các yêu cầu nguy hiểm đối với người dùng mà không cần tảilại trang Web. Những Script độc hại có thể bí mật đọc nội dung của trang Web mà ngườidùng đang xem. Sử dụng AJAX, một tấn công XSS có thể gửi nhiều yêu cầu cho những trangđặc biệt bên cạnh những trang mà người dùng đang xem.Với ứng dụng Web truyền thống, việc tiêm và phát tán XSS được thực hiện bởi một kẻ tấncông thường là trên một phần duy nhất của Website. Với ứn ...
Nội dung trích xuất từ tài liệu:
Vấn đề bảo mật trong ứng dụng AjaxVấn đề bảo mật trong ứng dụng AjaxAJAX là gì?AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không đồng bộ), làbộ công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ hiển thịnhững gì cần thiết, thay vì tải đi tải lại toàn bộ trang web. AJAX không phải một công nghệđơn lẻ mà là sự kết hợp một nhóm công nghệ với nhau. Trong đó, HTML và CSS đóng vaihiển thị dữ liệu, mô hình DOM trình bày thông tin động, đối tượng XMLHttpRequest trao đổidữ liệu không đồng bộ với máy chủ web, còn XML là định dạng chủ yếu cho dữ liệu truyền.Đây đều là công nghệ sẵn có nhưng Javacript đã lắp ráp chúng lại để thực hiện nhanh hơn,tốt hơn các yêu cầu của người sử dụngAJAX được cải tiến như thế nào so với các ứng dụng Web truyền thống?Đối với ứng dụng Web truyền thống, hoạt động của người sử dụng trên trang web sẽ tạo ramột yêu cầu HTTP tới máy chủ. Máy chủ thực hiện một số khâu xử lý như lấy lại dữ liệu,tính toán, kiểm tra sự hợp lệ của thông tin, sửa đổi bộ nhớ, sau đó gửi lại một trang HTMLhoàn chỉnh tới máy khách. Về mặt kỹ thuật, phương pháp này cũng khá bất tiện và mất thờigian, bởi khi máy chủ đang thực hiện nhiệm vụ của nó thì người dùng chỉ có một việc là chờđợi.Để khắc phục hạn chế trên, các chuyên gia phát triển giới thiệu hình thức trung gian - cơ chếxử lý AJAX (AJAX Engine) - giữa máy khách và máy chủ. Điều này giống như việc tăng thêmmột lớp giữa cho ứng dụng để giảm quá trình đi lại của thông tin và giảm thời gian phảnứng. Mọi thao tác của người sử dụng sẽ gửi lệnh JavaScript tới bộ xử lý AJAX, thay vì tạo ramột yêu cầu HTTP (HTTP request) và truy vấn tới máy chủ. Thay vì tải lại (refresh) toàn bộmột trang, nó chỉ nạp những thông tin được thay đổi, còn giữ nguyên các phần khác.Những vấn đề bảo mật gì tồn tại trong ứng dụng AJAX?Trong khi AJAX có thể tăng khả năng sử dụng ứng dụng Web với các ưu điểm của mình, nócũng đồng thời tạo ra nhiều vấn đề về bảo mật ở cả hai phía máy khách (client) và máy chủ(server): • Tạo nên một diện tấn công lớn hơn trước với nhiều dữ liệu vào (input) cần bảo vệ • Phơi bày những chức năng ở bên trong của ứng dụng Web • Cho phép các kịch bản (script) phía máy khách truy xuất đến tài nguyên của bên thứ ba. Điều này rất nguy hiểm nếu như không xây dựng một cơ chế bảo mật tốt.Tăng khả năng bị tấn côngTrong khi ứng dụng Web truyền thống được chứa toàn bộ trên máy chủ thì ứng dụng AJAXđược mở rộng qua cả hai phía máy khách và máy chủ. Việc này đòi hỏi phải bổ sung một mốiquan hệ tin cậy giữa máy khách và máy chủ. Và mối quan hệ này có thể bị khai thác bởi kẻtấn công.Nếu ví một ứng dụng Web truyền thống như là một ngôi nhà chỉ có hai cửa ra vào và không cócửa sổ thì chỉ có hai cách để đi vào nó: bằng cổng trước và bằng cổng sau. Tuy nhiên, trongmột ứng dụng AJAX, có rất nhiều yêu cầu được gửi đi và sẽ tạo nên rất nhiều input vào ứngdụng. Những input này, còn được gọi là AJAX endpoints, cung cấp nhiều cách cho kẻ tấncông xâm nhập ứng dụng cũng như một ngôi nhà dù có khóa hai cửa chính thì vẫn còn rấtnhiều cửa sổ không được bảo vệ.Rò rỉ thông tinJavaScript trong AJAX nhận yêu cầu của người dùng và thực hiện chức năng gọi đến máychủ dưới dạng dữ liệu văn bản (cleartext). Ví dụ như: • Trả về giá của sản phẩm có ID là 24 • Trả về các thành phố chính xác của bang được yêu cầu • Trả về địa chỉ chính xác gần nhất của người dùng có ID là 78 • Cập nhật tuổi của người dùng trong cơ sở dữ liệuNhững thông tin này được gửi đi dưới dạng cleartext, và hoàn toàn có thể bị khai thác bởi kẻtấn công. Từ những thông tin này, kẻ tấn công có thể biết được tên hàm, tên biến, các thôngsố của hàm, kiểu trả về, kiểu dữ liệu và phạm vi chính xác của dữ liệu. Kẻ tấn công xuất hiện trong ứng dụng AJAXTừ chối yêu cầu và lỗi Cross-Site Scripting (XSS)Trình duyệt yêu cầu và cơ chế xử lí AJAX gửi đến máy chủ một yêu cầu y hệt. Máy chủkhông có khả năng nhận thức rõ ràng rằng yêu cầu là một JavaScipt và sẽ trở nên rất khó đểxác định xem chúng có phải là một hành vi đúng đắn hay không.Điều này cũng có nghĩa là JavaScript có thể thực hiện các yêu cầu cho tài nguyên sử dụngAJAX mà người dùng không nhận thức được. Trình duyệt sẽ tự động thêm những xác thựccần thiết hoặc giữ trạng thái của thông tin như cookie. Mã JavaScript có thể truy xuất đến đápứng của yêu cầu ẩn này và sau đó gửi đi nhiều yêu cầu hơn. Chính sự mở rộng này làm tăngkhả năng bị tấn công XSS.Với AJAX, XSS có thể tạo nên các yêu cầu nguy hiểm đối với người dùng mà không cần tảilại trang Web. Những Script độc hại có thể bí mật đọc nội dung của trang Web mà ngườidùng đang xem. Sử dụng AJAX, một tấn công XSS có thể gửi nhiều yêu cầu cho những trangđặc biệt bên cạnh những trang mà người dùng đang xem.Với ứng dụng Web truyền thống, việc tiêm và phát tán XSS được thực hiện bởi một kẻ tấncông thường là trên một phần duy nhất của Website. Với ứn ...
Tìm kiếm theo từ khóa liên quan:
bảo mật mạng quy tắc bảo mật ứng dụng Ajax quy tắc bảo mật bảo mật thông tinTài liệu liên quan:
-
10 trang 222 1 0
-
Kỹ thuật và ứng dụng của khai thác văn bản
3 trang 218 0 0 -
Giáo trình Bảo trì hệ thống và cài đặt phần mềm
68 trang 209 0 0 -
5 trang 180 0 0
-
Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0
7 trang 160 0 0 -
Giáo trình An toàn và bảo mật thông tin - Đại học Bách Khoa Hà Nội
110 trang 116 0 0 -
Phương pháp hồi phục an toàn dữ liệu và tìm lại password
213 trang 100 1 0 -
77 trang 89 1 0
-
Giáo trình An toàn mạng (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
117 trang 88 1 0 -
Giáo trình An toàn & Bảo mật thông tin - TS. Nguyễn Khanh Văn (ĐH Bách khoa Hà Nội)
56 trang 84 0 0