Các nhà phát triển ứng dụng di động đang trải qua rắc rối tương tự những gì giới làm web gặp phải cuối thế kỷ trước khi xác thực đầu vào không chính xác dẫn đến nhiều lỗ hổng bảo mật nguy hiểm.

Các nhà phát triển ứng dụng di động đang lặp lại những lỗ hổng bảo mật từ quá khứ

Business logic (giải thuật hàm xử lý dữ liệu) nằm ở phía client… như năm 1999

Trong một nghiên cứu được công bố đầu năm nay, Abner Mendoza và Guofei Gu, hai học giả từ Đại học Texas A&M (Mỹ), đã nêu lên vấn đề của các ứng dụng di động hiện tại vẫn bao gồm business logic (như xác nhận đầu vào người dùng, xác thực người dùng và ủy quyền) bên trong thành phần phía client trong code của họ, thay vì phần phía máy chủ của mình.

Tình trạng đáng tiếc trên khiến người dùng của các ứng dụng di động dễ trở thành mục tiêu tấn công tiêm tham số yêu cầu HTTP đơn giản (HTTP request parameter injection attacks). Việc này có thể dễ dàng được ngăn chặn nếu business logic của ứng dụng được nhúng bên trong thành phần của máy chủ.

Việc đặt business logic ở phía client không chỉ là sai lầm khi thiết kế ứng dụng, đây còn là lỗ hổng bảo mật rất lớn. Ví dụ: kẻ tấn công có thể phân tích một chương trình (đã cài đặt trên thiết bị của mình) và xác định định dạng yêu cầu web được gửi tới máy chủ của ứng dụng sau khi xác thực dữ liệu được nhập từ người dùng. Kẻ tấn công sau đó có thể sửa đổi một vài thông số của các yêu cầu này để đầu độc hành động mong muốn.

Các nhà phát triển ứng dụng di động đang lặp lại những lỗ hổng bảo mật từ quá khứ

Hàng triệu ứng dụng có khả năng bị ảnh hưởng

Trong một bài nghiên cứu có tựa đề Mobile Application Web API Reconnaissance: Web-to-Mobile Inconsistencies & Vulnerabilities (Khảo sát ứng dụng di động Web API: Sự không nhất quán và các lỗ hổng bảo mật của giao thức Web-to-Mobile), Mendoza và Gu đã nghiên cứu cách tấn công “cổ lỗ sĩ” nhưng vẫn còn dùng được này.

Họ tạo ra một hệ thống tên là WARDroid để phân tích các ứng dụng di động trên diện rộng, xác định định dạng yêu cầu web của những chương trình này và tìm xem liệu phần mềm có dễ bị tấn công hay không.

Các nhà nghiên cứu đã thử nghiệm WARDroid trên một tập hợp 10.000 ứng dụng phổ biến ngẫu nhiên từ Cửa hàng Google Play.

“Chúng tôi đã phát hiện ra hàm có vấn đề trong các API được sử dụng trong hơn 4.000 ứng dụng, bao gồm 1.743 phần mềm sử dụng giao tiếp HTTP không được mã hóa”, họ cho biết.

Bên cạnh việc sử dụng WARDroid, Mendoza và Gu cũng phân tích thủ công 1.000 ứng dụng ngẫu nhiên từ danh sách được gắn cờ bởi hệ thống của họ, xác nhận rằng có tới 962 chương trình sử dụng API với các vấn đề về hàm hợp lệ.

Ngoại suy con số này ra toàn bộ Cửa hàng Google Play, hai học giả tin rằng hàng triệu ứng dụng có thể bị ảnh hưởng.

Các lỗ hổng bảo mật được tìm thấy trong ứng dụng ngân hàng và thương mại điện tử

Trong số ứng dụng có vấn đề với logic API có bao gồm một phần mềm ngân hàng. Mendoza và Gu cho biết họ có thể thay đổi thông tin giao dịch trên đó.

Tương tự, hai chuyên gia cũng tìm thấy các lỗ hổng logic hợp lệ trong ứng dụng thẻ quà tặng cho phép họ tải một tài khoản thử nghiệm với tiền để chi tiêu tại các cửa hàng khác nhau. Lỗ hổng logic xác nhận tương tự trong mô hình truyền thông của các ứng dụng được xây dựng bằng cách sử dụng SDK Shopify.

Lỗ hổng thứ hai này cho phép nhóm nghiên cứu mua sản phẩm với giá âm, tạo ra giảm giá bên trong các cửa hàng di động dựa vào Shopify.

“Bạn không bao giờ được tin đầu vào của client. Đây là một sai lầm khắc nghiệt mà lẽ ra chúng ta phải học được từ nền tảng web và các ứng dụng web”, Mendoza nói trên sân khấu trong khi trình bày nghiên cứu của mình tại Hội nghị chuyên đề IEEE về an ninh và bảo mật lần thứ 39, được tổ chức ở San Francisco (Mỹ)

YouTube video

Theo: Bleeping Computer

Góc quảng cáo