iOS APP 如何做才安全

2021-07-22 02:51:55 字數 2321 閱讀 6165

本來 寫了一篇《ios 如何做才安全--逆向工程 - reveal、ida、hopper、https抓包 等》,發現文章有點雜,並且「ios 如何做才安全」這部分寫的越來越多,覺得 分出來更清晰一點。所以拆成兩部分。 同時也是為了大家能 共同討論,畢竟不是專業搞安全的,如果文中有錯誤 歡迎指正,共同進步。

ios應用的安全性 常常被大家忽視。

ios 如何做才安全:

所以不要 在plist檔案、專案中的靜態檔案中 儲存關鍵的資訊,如果要儲存,記得 對稱加密(這樣可以增加破解的難度)。

那麼介面如何保證安全呢。首先用https,雖然https已經很安全了,但是資料也是有可能被破解的,這個後面會介紹。。所以 介面一定要自己加密。

非對稱加密(rsa)現在 還是沒有辦法破解的,但是因為 非對稱加密的效率低,所以很少有企業將所有的介面都用非對稱加密。

可以這樣處理:

先通過非對稱加密的介面 獲取金鑰,然後 再在 後面的 介面通訊中 用這個金鑰進行加密。這樣做 就類似 https 的簡化版實現了。安全性很高。目前應該 是不能破解的。

這樣也只是 增加了 黑客獲取 關鍵資料的難度。

7、最好能 進行 **混淆,能增加反編譯的難度,當然只是增加了難度,還是能破解的。但是 **混淆 的 價效比是很高的,就是你這邊付出了 一點時間,而黑客 就要多付出幾十倍 的時間。。其實 介面 自己加密 的價效比也很高。

9、像https本身 是否有漏洞這種我們就不去說了。就 去年ios的afnetworking 漏洞事件,完全是 **的問題。雖然不是https的安全機制的問題。但是 黑客還是能很容易拿到https解密後的資料。

https 本身是安全的。但是資料還是可能被破解。所以 不要覺得 我只用https 就安全了。理論上 說任何 的 協議、**都是可能有漏洞的,只是有的現在 還沒被發現或破解,並不代表一直不能被破解。。

舉個搞笑的栗子:

所以不要讓自己的資料裸奔。。。

12、**方面:

.1、在release環境下 nslog 不要列印日誌 否則ios系統日誌裡都可以檢視到,在.pch檔案中加下面的幾行**就可以解決。很早大家都這麼做了。

#ifdef

debug

#define nslog(...) nslog(__va_args__)

#define debugmethod() nslog(@"%s", __func__)

#else

#define nslog(...)

#define debugmethod()

#endif

所以swift中列印 還是用 print吧。

.2、afnetworking 的 allowinvalidcertificates 屬性 要設定成 false,validatesdomainname屬性 設定成true。否則 https通訊就可以被解密。這塊涉及到afnetworking 去年的通訊漏洞 就不詳述了。

但是一般開發的 測試環境 的https 不是ca頒發的,而是自簽名證書,訪問的也不是網域名稱,而是ip。所以可以在測試環境 忽略證書和網域名稱,**如下:

#ifdef

debug

manager.securitypolicy.allowinvalidcertificates =yes;

manager.securitypolicy.validatesdomainname =no;

#endif

答疑:像上文中提到的 介面模擬https 進行通訊,基本上是破解不了的。非對稱加密畢竟還是 很安全的。

黑客也是有時間成本的,有價效比的。文中多次 寫到,可以增加破解的難度,不是這樣做了 就一定 不會被破解。

有人會覺得 在 **中 加密了 反正也 能被破解,那還加啥密,反正沒啥卵用。(比如 關鍵資料 加密 後 存到**裡)

打個比方:我裝個防盜門 反正也防不住賊,乾脆 就別裝門了,反正也沒啥卵用。

再比如:有幾個房間放著同樣價值的東西(賬戶資料、聊天資料等)。但這幾個房間,有的是全封閉防炸彈的,有的就只是乙個木門,有的甚至門都是開著的,你會選擇哪個。。

這就像為什麼現在 ios 系統的越獄速度越來越慢,不是說越獄人員的水平變低了,而是現在越獄的使用者越來越少,像盤古這種公司通過越獄獲得的盈利也越來越少了,自然投入的精力就會變少。

關鍵資料 加密 後 存到**裡 這樣總比 你直接把 明文儲存 到**中,更難破解,我們要做的是讓黑客知道,你要來惹我,你就必須付出更多的時間和精力。

出處:

iOS APP 如何做才安全

本來 寫了一篇 ios 如何做才安全 逆向工程 reveal ida hopper https抓包 等 發現文章有點雜,並且 ios 如何做才安全 這部分寫的越來越多,覺得 分出來更清晰一點。所以拆成兩部分。同時也是為了大家能 共同討論,畢竟不是專業搞安全的,如果文中有錯誤 歡迎指正,共同進步。io...

如何做安全測試?

文章目錄 前言1.web安全測試 1.基本安全測試 2.認證測試 3.會話管理測試 4.許可權管理測試 5.檔案和目錄測試 鏈結前言 不做文字的搬運工,多做靈感性記錄 這是平時學習總結的地方,用做知識庫 平時看到其他文章的相關知識,也會增加到這裡 隨著學習深入,會進行知識拆分和彙總,所以文章會隨時更...

關於soapui如何做安全測試

1.首先安裝soapui5.1.2 第一步 執行soapui pro x32 5.1.2 576024.exe檔案,按照步驟安裝成功 第二步 拷貝protection 4.6.jar到 soapui 安裝的lib 目錄下替換原來的檔案 第三步 執行程式bin soapui pro.bat,匯入 sc...