App安全測評問題處理


App安全測評問題處理

App安全測評問題分類

1.自身安全
  • 權限信息-info.plist中權限字段訪問
  • 行為信息-訪問相冊、撥打電話
2.客戶端數據存儲安全
  • 動態調試攻擊風險
  • 第三方SDK檢測
  • 敏感詞
3.二進制代碼保護
  • 代碼未混淆風險
  • 輸入監聽風險
  • 調試日志函數調用風險
  • 配置文件信息明文存儲風險
  • 動態庫信息泄露風險
  • WebView組件跨域訪問危險
  • 數據庫明文存儲風險
  • 越獄設備運行風險
4.數據傳輸安全
  • HTTP數據傳輸安全
  • HTTPS未校驗服務器證書漏洞
  • URL Schemes劫持漏洞
5.加密算法及數據安全
  • AES/DES加密算法不安全使用漏洞
  • 弱哈希算法使用漏洞
  • 隨機數不安全使用漏洞
6.iOS應用安全規范
  • XcodeGhost感染漏洞
  • 不安全的API函數引用風險
  • 未使用自動管理內存技術風險

--

App安全測評問題處理

1.動態調試攻擊風險(阻止 gdb/lldb 調試)
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
// 阻止 gdb/lldb 調試
// 調用 ptrace 設置參數 PT_DENY_ATTACH,如果有調試器依附,則會產生錯誤並退出
#import <dlfcn.h>
#import <sys/types.h>

typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
#if !defined(PT_DENY_ATTACH)
#define PT_DENY_ATTACH 31
#endif

void anti_gdb_debug() {
    void *handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
    ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
    ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
    dlclose(handle);
}

int main(int argc, char * argv[]) {
#ifndef DEBUG
    // 非 DEBUG 模式下禁止調試
    anti_gdb_debug();
#endif
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}
2.輸入監聽風險

使用第三方的安全自繪隨機鍵盤,防止輸入內容被監聽(自定義鍵盤⌨️)

3.調試日志函數調用風險

開發者檢測在發布正式應用時,移除通過NSLog輸出程序日志的代碼信息。防止輸出敏感日志信息暴露程序邏輯

#ifdef DEBUG
//調試狀態
#define HKLog(fmt,...) NSLog((@"%s [Line %d] " fmt),__PRETTY_FUNCTION__,__LINE__,##__VA_ARGS__)

#else
//發布狀態
#define HKLog(...)
#endif
4.HTTP數據傳輸安全

使用HTTPS協議對傳輸數據進行加密保護,盡可能去掉項目中的HTTP鏈接

5.弱哈希算法使用漏洞

開發者自查應用開發中勿使用CC_SHA1 的方式進行數據哈希,推薦使用 CC_SHA256 算法進行數據哈希操作

6.不安全的API函數引用風險

開發者移除應用程序中調用的系統風險函數和過期api,同時防止系統直接調用存在C緩沖區溢出的函數如 memcpy、scanf、sprintf、strcpy、vsprintf
如:第三方API SSZip 和 GCDAasyncSocket, Lottie

7.代碼混淆
  • 定義:將計算機程序的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式的行為
  • 代碼混淆的方式
    為避免出現盜版,提高應用安全性,技術人員對項目源代碼進行了代碼混淆。即對源代碼文件中的一些類名做了變換,改成了以英文字母命名的名稱,這樣破解者在閱讀時就不容易理解其特指的含義。
  • 代碼混淆的利與弊
    這種代碼混淆方法簡單、便於操作。但也因此會給開發者的調試工作帶來困難,開發人員通常需要保留原始的未混淆的代碼用於調試。由於混淆是不可逆的,在混淆的過程中一些不影響正常運行的信息將永久丟失,這些信息的丟失會使程序變得更加難以理解。

常見的安全測評公司

  • 梆梆安全
  • 綠盟科技(NSFOCUS)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM