2015-11-25 15 views
5

Tôi có một ứng dụng được mở từ một ứng dụng khác thông qua lược đồ URL. URL chứa mã thông báo đăng ký. Vì bất kỳ ứng dụng nào cũng có thể đăng ký cùng một lược đồ URL như ứng dụng của tôi, tôi lo ngại ứng dụng "giả mạo" có thể thực hiện một cuộc tấn công giữa người và trung gian và thu thập các mã thông báo đăng ký.Ngăn chặn tấn công chương trình URL iOS

Ý tưởng của tôi là kiểm tra xem lược đồ URL không mở ứng dụng khác khi ứng dụng của tôi được mở lần đầu tiên.

Từ góc độ bảo mật, nếu lược đồ URL mở ứng dụng của tôi lần đầu tiên, nó sẽ luôn mở ứng dụng của tôi trong tương lai?

Trả lời

2

Đó là một vectơ tấn công hợp lệ (và thường bị bỏ qua). Nó không phải là một cuộc tấn công man-in-the-middle trung bình vì nó sẽ không chuyển tiếp URL vào ứng dụng của bạn (nó không thể). Nó gần như tồi tệ hơn vì ứng dụng tấn công sẽ chỉ thực sự có thể gặp sự cố và ứng dụng của bạn sẽ có ...

Ứng dụng khác có thể được cài đặt bất kỳ lúc nào ứng dụng của bạn ở chế độ nền. Về mặt kỹ thuật, có thể bản cập nhật được phát hành và cài đặt cho một ứng dụng hiện có trong khi ứng dụng của bạn đang chạy (thật khó để biết điều đó có xảy ra không). Vì vậy, không an toàn khi chỉ kiểm tra khi ứng dụng của bạn được mở lần đầu tiên.

+0

Không phải là lược đồ URL là "sơ đồ đến trước được phục vụ trước" chưa? – Randomblue

+0

Tôi không phải là 100% quy tắc là gì, tôi chưa thử nghiệm nó một cách rõ ràng. Nó sẽ được cài đặt lần đầu hoặc được cài đặt lần cuối. Do đó, một ứng dụng không thể chuyển tiếp sang ứng dụng khác. – Wain

4

Cách sử dụng các liên kết phổ dụng iOS 9?

Không giống như các lược đồ URL tùy chỉnh, các liên kết phổ quát không thể được xác nhận quyền sở hữu bởi các ứng dụng khác, vì chúng sử dụng các liên kết HTTP hoặc HTTPS chuẩn cho trang web của bạn.

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

Bằng cách này, "bảng công văn" là trên máy chủ của bạn, vì vậy không ứng dụng khác có thể chiếm quyền điều khiển URL đăng ký. (Công văn URL dựa trên AppID)

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