[英]possible to leak in-memory data from one ios app to another?
前言:我不是iOS開發人員,並且幾乎不了解iOS安全模型。 如果這個問題真的很愚蠢,請原諒我。 :)
考慮一個名為MyApp的應用程序,該應用程序在啟動時會執行以下操作:
現在考慮以下情形:
我的問題:如果SomeOtherApp也動態分配內存,那么OS返回的緩沖區之一是否可能包含MyApp(現在已關閉)調用所放置的敏感數據?
還是將RAM的內容視為運行應用程序的沙箱的一部分?
從理論上講,一旦用戶關閉了該應用程序(您必須確保該應用程序已關閉,而不僅僅是在后台運行),分配給該進程的內存就會被釋放並返回。
引用ARC教程中的內容:
“啟用自動引用計數后,編譯器將在程序的正確位置自動插入保留,釋放和自動釋放。您不必再為這些擔心,因為編譯器會為您這樣做。”
因此,當應用程序關閉時,將清除對具有某種內存分配的任何對象的所有引用,因為在應用程序不運行時將沒有對象可供引用。
我之所以說您必須確保已關閉它,是因為默認情況下,某些應用在按下主屏幕按鈕時不會關閉,但實際上會繼續在后台運行。 這可能會導致潛在的安全威脅,但可能性很小。 為確保該應用程序仍不保留任何內存,請確保每次實際上都完全關閉該內存。 確保代碼正確完成,並且正在編寫代碼的人員知道並跟蹤他分配的內存。
如果安全性是一個大問題,那么請確保確實分配了所有內存,並在代碼中正確釋放了這些內存。 然后,請確保對內存泄漏進行了瘋狂的測試,而沒有其他方法來確保沒有任何對象躺在一定數量的內存中。
我只想說我不是ARC的內存管理專家,所以最好與其他兩個來源進行核對,以確保我的答案正確。
如果我說錯了,有人打我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.