2013-08-05 27 views
18

Tình hình:CSRF trong ứng dụng di động

Alice sử dụng một trang web ngân hàng trực tuyến mà sẽ lưu trữ cookie của các thông tin của mình.

Trước khi cookie hết hạn, Eve gửi cho Alice một URL độc hại sau đó khiến Alice rút tiền từ tài khoản ngân hàng của mình và gửi cho Eve.

Đây là ví dụ về CSRF chung cho các ứng dụng web, nhưng làm cách nào để thực hiện điều này bên trong ứng dụng dành cho thiết bị di động?


Nếu Alice sử dụng ứng dụng ngân hàng trên điện thoại lưu trữ cookie và sau đó truy cập trang web từ Eve có kết quả tương tự thì sao?

Cookie trên thiết bị di động của Alice từ ứng dụng gốc (hoặc lai) có dễ bị thao tác hay những cookie này thường được đóng hộp trên thiết bị bằng cách nào đó?

Tôi cho rằng cookie trên iOS, Android, v.v. hoạt động giống như một trình duyệt thông thường, nhưng đây có phải là trường hợp không?

EDIT:

câu hỏi này ban đầu có nghĩa là để được chung chung trên tất cả các thiết bị di động. Ngay cả một cái gì đó như tạo một cookie trong JavaScript và sau đó sử dụng PhoneGap hoặc Titanium có thể có liên quan tôi tin. Sau khi đọc thêm về điều này, tôi cũng tò mò nếu biên dịch JavaScript bằng một trong các công nghệ khác này sẽ ảnh hưởng đến cookie của thiết bị gốc và cách chúng lưu trữ chúng.

Điểm chính của việc sử dụng cookie là duy trì thông tin đăng nhập của người dùng để họ không phải đăng xuất và đăng nhập lại mỗi lần bằng tài khoản ngân hàng của họ. Sau khi đọc thêm về vấn đề này, có vẻ như có các kịch bản khác nhau cho từng thiết bị cụ thể và thực tế có thể là CSRF một ứng dụng. Ví dụ: Shared Preferences trong Android được đóng hộp cát để ngăn các ứng dụng khác truy cập vào các giá trị.

+1

ứng dụng thường không có các tập tin cookie, ít nhất là trên Android. Bạn có thể muốn giải thích, chi tiết hơn đáng kể, kịch bản tấn công của bạn. Đặc biệt, được ** chính xác ** về việc bạn đang đề cập đến các ứng dụng gốc, các trang Web di động hay cái gì khác. – CommonsWare

+1

Tôi đang nói về các ứng dụng gốc ở đây. Tôi khá chắc chắn rằng bạn có thể tạo cookie trong cả iOS và Android, nhưng tôi có thể sai về sau. Điều gì làm cho kịch bản tấn công gây nhầm lẫn? Cân nhắc Alice sử dụng ứng dụng ngân hàng (bản địa) trên điện thoại của mình sau đó chuyển sang Safari trên iOS. Sau đó, cô bị tấn công bằng một CSRF khi duyệt web trực tuyến - - điều này có thể lấy cookie của ứng dụng ngân hàng của cô trên điện thoại không? –

+1

"Điều gì làm cho kịch bản tấn công gây nhầm lẫn?" - trong số những thứ khác, bạn chưa nói chính xác, "ứng dụng ngân hàng" của bạn đang tạo và sử dụng cookie như thế nào. – CommonsWare

Trả lời

12

Cookie trên thiết bị di động của Alice từ ứng dụng gốc (hoặc lai) có dễ bị thao tác hay các cookie này thường được đóng hộp trên thiết bị bằng cách nào đó?

Cuộc tấn công CSRF liên quan đến một ứng dụng: trình duyệt. Cuộc tấn công được đề xuất của bạn bao gồm hai ứng dụng riêng biệt: ứng dụng ngân hàng và trình duyệt.

Nói chung, các ứng dụng riêng biệt riêng biệt. Safari không chia sẻ dữ liệu với Firefox, ngay cả khi cả hai đều được cài đặt trên cùng một máy OS X. Bây giờ, có thể có lỗi trong một hoặc cái khác có thể cho phép JS truy cập không bị gián đoạn vào hệ thống tệp OS và do đó cho phép một trang web trong Safari truy cập dữ liệu của Firefox (hoặc ngược lại), nhưng điều này không thực sự liên quan đến CSRF .c

Điều tương tự cũng xảy ra đối với mọi ứng dụng riêng biệt, trên mọi hệ điều hành hiện đại.

Thậm chí, chẳng hạn như tạo cookie trong JavaScript và sau đó sử dụng PhoneGap hoặc Titanium có thể có liên quan tôi tin.

Không thực sự, nhiều hơn Safari có cookie và Firefox có cookie bị ràng buộc bằng cách nào đó.

nó là trong thực tế có thể CSRF một ứng dụng

Bạn được chào đón để cung cấp bằng chứng khiếu nại của bạn, hoặc cung cấp định nghĩa cá nhân của bạn CSRF đó sẽ bao gồm các kịch bản như Safari tấn công Firefox.

Ví dụ: Tùy chọn được chia sẻ trong Android được đóng hộp cát để ngăn các ứng dụng khác truy cập vào các giá trị.

Đúng. Điều này ít liên quan đến CSRF.

Trong trường hợp của Android, có vẻ như cách bạn tạo và lưu trữ cookie không quan trọng trong cuộc tấn công và nó có thể có lỗ hổng bảo mật.

Một lần nữa, bạn được hoan nghênh cung cấp bằng chứng xác nhận quyền sở hữu hoặc cung cấp định nghĩa cá nhân về CSRF sẽ bao gồm các tình huống như Safari tấn công Firefox.

mặc dù truy cập vật lý đến thiết bị dẫn đến một mối quan tâm an ninh

Có công nghệ teleporter, mà sẽ cho phép một CSRF để gây ra một thiết bị di động để cơ thể thay đổi vị trí của nó và do đó có ảnh hưởng đến truy cập vật lý , vẫn chưa được phát triển.

3

Trình duyệt và ứng dụng web không chia sẻ cùng một kho lưu trữ cookie để các cuộc tấn công CSRF theo cách này không thể thực hiện được. Ứng dụng cũng có thể sử dụng chế độ xem web nhưng mỗi lượt xem web đều có kho lưu trữ cookie riêng [1] do đó, cuộc tấn công CSRF giữa hai ứng dụng cũng không thể thực hiện được.

Từ đọc [2], có vẻ như có thể lưu trữ cookie trên hệ thống tệp có thể được sử dụng làm vector tấn công thông qua ứng dụng khác nhưng không thông qua trình duyệt web.

[1] http://developer.appcelerator.com/question/123991/cookie-sharing-between-defaultnative-browser-and-webviews-in-an-app

[2] http://developer.android.com/reference/android/webkit/CookieManager.html

Các vấn đề liên quan