Android設備指紋攻防與風險環境檢測

劉延鴻 何巡

  • 出版商: 機械工業
  • 出版日期: 2025-11-01
  • 售價: $594
  • 語言: 簡體中文
  • 頁數: 314
  • ISBN: 7111794192
  • ISBN-13: 9787111794196
  • 相關分類: Android
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書全面介紹了Android設備指紋相關的基礎知識、攻防技術、風險環境檢測,以及未來發展方向。內容涵蓋了從Android架構與基礎、動態代理與VirtualApp、Android Hook技術到客戶端風控的實戰技巧,旨在幫助開發者構建完整的Android攻防知識體系。在個人信息保護相關法律日益嚴格和移動互聯網安全需求不斷提升的背景下,本書不僅關註技術細節,也兼顧行業規範與合規性問題。無論您是Android開發新手,還是 從業者,這本書都將為您提供有價值的參考與指導。

作者簡介

 劉延鴻,筆名珍惜,研究設備指紋App環境檢測多年,擅長客戶端設備指紋與環境風險檢測技術,同時是設備環境檢測軟件Hunter的原創作者,曾在看雪論壇發表過多篇 文章,並多次榮獲看雪年度 文章獎。

何巡,曾在多家知名互聯網企業擔任後端工程師與逆向爬蟲工程師,積累了豐富的行業實踐經驗與風控對抗實戰能力。現任客戶端安全開發專家,長期專註Android與Web逆向安全研究,以及紅藍對抗領域。擅長客戶端設備指紋與環境風險檢測技術,致力於將前沿安全對抗經驗轉化為系統化的安全解決方案與方法論。

目錄大綱

前言
第1章 Android架構與基礎介紹
1.1 Android系統架構概述
1.1.1 Linux內核層
1.1.2 硬件抽象層(HAL)
1.1.3 系統庫和Android運行時
1.1.4 應用程序框架層
1.1.5 應用程序層
1.2 Android的C/S架構和Binder
1.2.1 客戶端/服務端架構
1.2.2 Binder機制
1.3 應用上下文(Context)
1.3.1 Context結構
1.3.2 訪問系統服務
1.4 SELinux的介紹與影響
1.4.1 SELinux 在 Android 中的意義
1.4.2 SELinux 的基本概念
1.4.3 從貓狗的例子看 SELinux “類型強化”(MCS與 MLS特性)
1.4.4 典型 avc:denied 日誌分析
1.4.5 如何修改和定制 SELinux 策略
1.5 Android Verified Boot (AVB):設備完整性的“守門人”
1.5.1 AVB的核心設計
1.5.2 AVB的工作流程
1.5.3 AVB的三種驗證模式
1.5.4 AVB的交互
1.5.5 AVB的版本演進
1.5.6 AVB的局限與破解
1.5.7 AVB驗證失敗的日誌分析
1.6 Android安全模型:硬件可信執行環境(TEE)
1.6.1 Android安全模型演進與TEE介紹
1.6.2 Android不同版本對 TEE 的支持
1.6.3 典型 TEE 功能與使用場景
1.6.4 TEE代碼使用介紹
1.6.5 TEE與安全元件的差異
1.6.6 安全等級介紹
1.7 Android權限模型
1.7.1 權限的分類
1.7.2 權限模型的演變
1.7.3 如何正確使用權限
1.8 Android的關鍵特性與其他系統的區別
1.8.1 Android與傳統Linux系統的區別
1.8.2 Android與iOS系統的區別
1.8.3 對比總結:Android的獨特性
第2章 動態代理與VirtualApp簡介
2.1 動態代理介紹
2.2 Java中的動態代理
2.2.1 動態代理的使用示例
2.2.2 動態代理的使用場景
2.2.3 動態代理的局限性
2.2.4 Android中的動態代理
2.3 VirtualApp剖析
2.3.1 VirtualApp的實現機制
2.3.2 VirtualApp的局限性
2.4 相關知識與參考
2.5 小結
第3章 Android Hook 技術詳解
3.1 Java Hook概述
3.1.1 Android Java Hook使用場景
3.1.2 常見的Java Hook框架
3.1.3 Java Hook的原理
3.1.4 Java Hook與ART優化機制的關系
3.2 常見的 Java Hook 實現方式
3.2.1 基於 art_method 的手動替換
3.2.2 基於字節碼/.dex文件的修補
3.3 JVMTI
3.3.1 JVMTI的常見功能
3.3.2 JVMTI Agent開發介紹
3.3.3 JVMTI實現內存漫遊功能介紹
3.4 Android熱修覆
3.4.1 .dex方法指令修改
3.4.2 .dex替換
3.5 Native Hook概述
3.6 Inline Hook
3.6.1 Inline Hook的實現原理
3.6.2 Inline Hook的優缺點
3.6.3 ARM64架構下Inline Hook實現
3.6.4 ARM32/ARM64 Hook差異
3.6.5 Inline Hook Dobby
3.7 GOT Hook
3.7.1 GOT/PLT
3.7.2 GOT Hook實現原理
3.7.3 GOT Hook的優缺點
3.7.4 bhook實現
3.8 異常 Hook
3.8.1 Linux基礎知識
3.8.2 異常Hook原理概述
3.8.3 異常Hook實現原理
3.8.4 異常Hook的優缺點
3.8.5 SandHook 的異常 Hook 實現分析
3.9 硬件斷點 Hook
3.9.1 硬件斷點Hook的原理與流程
3.9.2 硬件斷點Hook的優缺點
3.9.3 硬件斷點Hook的實現思路
第4章 Android設備指紋
4.1 Android設備指紋衡量標準
4.2 Android設備指紋使用場景
4.3 Android設備指紋發展史
4.3.1 第一代:單一或少數關鍵字段
4.3.2 第二代:多字段聚合與加權
4.3.3 第三代:模型化與智能識別
4.4 Android設備指紋分類
4.5 AndroidSystemService 指紋
4.5.1 Settings.Secure
4.5.2 系統設置相關
4.5.3 藍牙相關
4.5.4 IMEI(International Mobile Equipment Identity)
4.5.5 IMSI(International Mobile Subscriber Identity)
4.5.6 ICCID(Integrated Circuit Card Identifier)
4.5.7 LineNumber(手機號碼)
4.5.8 第三方系統賬號
4.5.9 App包相關信息
4.6 Android Kernel指紋
4.6.1 網絡MAC地址
4.6.2 serial_number(SoC 序列號)
4.6.3 IPv6與IPv4
4.6.4 系統文件信息
4.7 系統屬性
4.7.1 開機時間
4.7.2 歷史開機時間
4.7.3 getprop 底層實現原理介紹
4.7.4 解析/dev/__properties__屬性獲取
4.8 Android第三方廠商指紋
4.8.1 OAID
4.8.2 AAID
4.9 Android DRM指紋
4.10 其他手機硬件指紋
4.10.1 傳感器相關設備指紋
4.10.2 電池相關設備指紋
4.11 跨平臺協同指紋
4.11.1 WebView 與 JavaScript 的深度聯動
4.11.2 原生與 Web 環境特征融合
4.11.3 BLE設備掃描與特征提取
4.11.4 Wi-Fi Direct設備圖譜構建
4.12 Android高版本設備指紋策略介紹
4.12.1 Android文件信息矩陣
4.12.2 Android App矩陣
4.13 Android設備指紋展望
4.13.1 運營商/手機卡參與的多維度指紋
4.13.2 跨應用/跨平臺協同與數據融合
4.13.3 AI驅動的指紋模型升級
4.13.4 芯片級與 TEE 級別的可信指紋
4.13.5 隱私與合規的新平衡
第5章 Android設備風險環境檢測
5.1 什麼是設備風險環境
5.2 常見設備風險環境分類
5.2.1 Root環境
5.2.2 Hook風險
5.2.3 自定義 ROM
5.2.4 虛擬化技術
5.2.5 應用重打包
5.2.6 模擬執行
5.3 系統調用
5.4 簽名檢測
5.4.1 Java層簽名檢測
5.4.2 Native層簽名檢測
5.4.3 簽名檢測展望與系統級別檢測
5.5 Root檢測
5.5.1 Android Root進化史
5.5.2 內核 Root
5.5.3 boot.img 完整性與BL解鎖檢測
5.5.4 Root檢測常見手段
5.6 Hook檢測
5.6.1 Java Hook檢測
5.6.2 Native Hook檢測
5.7 自定義ROM的檢測
5.7.1 系統文件檢測
5.7.2 機型偽造檢測
5.7.3 系統編譯信息與時間戳分析
5.7.4 其他系統屬性與路徑檢測
5.7.5 特征文件檢測
5.7.6 對抗與註意事項
5.8 模擬器檢測
5.8.1 模擬器、雲手機與雲真機概述
5.8.2 模擬器與雲手機檢測方案
5.9 沙箱檢測
5.10 模擬執行框架檢測
5.10.1 通用檢測思路
5.10.2 Unidbg檢測
5.11 Hook框架特征檢測
5.11.1 Frida檢測
5.11.2 Xposed系列框架檢測
5.12 系統基礎環境檢測采集列表
5.12.1 系統服務列表
5.12.2 getprop 列表
5.12.3 主進程啟動時打開的 FD(文件描述符)列表
5.12.4 環境變量
5.12.5 掛載文件/命名空間檢測
5.12.6 時間及時區信息
5.12.7 CPU/內存/設備硬件信息
5.12.8 進程信息
5.12.9 其他可采集的輔助信息
5.13 Android ISO服務與安全檢測
5.13.1 Android ISO服務的典型使用場景
5.13.2 Android ISO服務與安全檢測的深度結合
5.13.3 Android ISO服務對抗Hook框架的優勢
5.13.4 系統級防護示例
5.13.5 Android ISO服務檢測實踐建議
5.14 內核註入外掛原理
5.14.1 內核註入外掛的運作原理
5.14.2 為什麼內核註入外掛難以檢測
5.14.3 針對內核註入外掛的檢測與對抗方法
5.14.4 DMA外掛介紹
5.14.5 mseal系統調用介紹
第6章 Android設備指紋攻、防介紹
6.1 改機概念與黑產常用手段
6.2 Magisk模塊的開發與入門
6.2.1 Magisk 模塊能做什麼
6.2.2 HelloWorld Magisk 模塊示例
6.2.3 Magisk模塊與LSPosed的區別
6.2.4 Magisk模塊開發指南
6.3 APatch模塊的開發與入門
6.3.1 APatch與內核模塊的區別
6.3.2 APatch環境準備
6.3.3 APatch模塊的基本結構
6.3.4 APatch示例詳解
6.3.5 APatch 模塊maps與mount文件隱藏實現
6.3.6 APatch與KernelPatch 特性小結
6.4 黑產改機原理介紹
6.4.1 目標進程註入
6.4.2 非目標進程註入
6.4.3 為什麼黑產更青睞系統服務/內核層改機
6.4.4 多種改機手段示例
6.4.5 安全建議與資源
第7章 Android系統調用攔截
7.1 ptrace詳解
7.1.1 ptrace工作流程與關鍵步驟
7.1.2 ptrace常見用法與註意事項
7.2 seccomp與 ptrace 配合
7.2.1 seccomp的概念
7.2.2 seccomp+ptrace
7.3 proot
7.3.1 proot 的原理
7.3.2 proot 的使用場景
7.3.3 proot 的優勢
7.3.4 proot 攔截SVC源碼解讀
7.4 eBPF 介紹:內核級可編程框架
7.4.1 什麼是 BPF/eBPF
7.4.2 eBPF 與 seccomp-bpf/ptrace 的關系
7.4.3 eBPF對系統調用的攔截原理
7.4.4 在Android上使用eBPF
7.4.5 eBPF 簡單示例:捕獲 openat 系統調用
7.5 任意進程註入Hook
第8章 客戶端風控介紹
8.1 客戶端風控的意義和目標
8.1.1 保障業務安全
8.1.2 提升用戶體驗
8.1.3 降低運營成本
8.2 風控等級介紹
8.2.1 高風險
8.2.2 中風險
8.2.3 低風險
8.2.4 無風險
8.3 服務端風控的核心思路
8.4 特征挖掘
8.5 聚集性分析
8.6 請求頻率與異常流量控制
8.7 埋點分析與用戶行為監控
8.8 用戶行為畫像
8.9“查殺分離”策略
8.10 結合客戶端與服務端的協同防控
8.11 邊緣計算與風控
8.11.1 邊緣計算在風控中的優勢
8.11.2 邊緣計算典型應用場景
8.11.3 邊緣計算風控的挑戰
第9章 Android攻防未來展望
9.1 系統級別的安全增強
9.2 設備指紋的加強
9.3 應用安全的提升
9.3.1 增強的應用簽名和驗證
9.3.2 動態分析和行為監控
9.3.3 更智能的權限管理
9.4 新技術和方法
9.4.1 機器學習(ML)和人工智能(AI)
9.4.2 區塊鏈技術
9.4.3 零信任架構
9.4.4 邊緣 AI 與聯邦學習
9.5 量子計算對移動安全的影響
9.5.1 量子攻擊的威脅
9.5.2 後量子加密(Post-Quantum Cryptography, PQC)
9.5.3 量子密鑰分發(Quantum Key Distribution,QKD)
9.5.4 6G網絡的安全挑戰
9.6 人工智能在移動安全中的未來應用
第10章 漏洞庫與CVE分析
10.1 提權漏洞
10.1.1 Root提權漏洞
10.1.2 系統App權限提權漏洞
10.2 設備指紋相關漏洞
10.2.1 CVE-2021-0641
10.2.2 CVE-2021-0643
10.2.3 CVE-2021-0644
10.2.4 CVE-2021-0653
10.2.5 CVE-2021-0428
10.2.6 CVE-2021-25344
10.2.7 CVE-2021-25358
10.2.8 CVE-2021-25515
10.2.9 CVE-2022-22272
10.2.10 CVE-2020-14105
10.3 其他歷史經典漏洞