白帽子講瀏覽器安全

白帽子講瀏覽器安全

《白帽子講瀏覽器安全》是2016年3月電子工業出版社出版的圖書,作者是錢文祥。

基本介紹

  • 書名:白帽子講瀏覽器安全
  • 作者:錢文祥 著  
  • ISBN: 978-7-121-28154-9
  • 頁數:332頁
  • 定價:79.00元 
  • 出版社電子工業出版社
  • 出版時間:2016年3月出版
  • 開本:16開
內容簡介,編輯推薦,內容提要,目錄,第1 篇 初探瀏覽器安全 1,第2 篇 實戰網馬與代碼調試,精彩節摘,作者簡介,媒體評論,前言,

內容簡介

瀏覽器是重要的網際網路入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在《白帽子講瀏覽器安全》中我們將給出解答,帶你了解瀏覽器安全的方方面面。《白帽子講瀏覽器安全》兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供了分析思路和防禦方案。《白帽子講瀏覽器安全》從攻擊者常用技巧的“表象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。
《白帽子講瀏覽器安全》根據作者若干年實戰與工作積累的豐富經驗編寫而成,深入地分析了瀏覽器從導航到頁面展示的整個過程中可能會出現的安全問題,也對瀏覽器的部分實現細節有著詳細和深入的介紹,對安全工作者有一定的參考意義。

編輯推薦

√ 來自騰訊的安全經驗,來自烏雲平台的專業保障。
√ 瀏覽器威脅千變萬化,從Web前端到瀏覽器邊界突破。
√ 覆蓋規範、功能實現和渲染層,實戰攻防各主流現代瀏覽器。
√ 工具或原理只通其一不是優秀白帽子,知其所以然且能攻善守才是。

內容提要

瀏覽器是重要的網際網路入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在《白帽子講瀏覽器安全》中我們將給出解答,帶你了解瀏覽器安全的方方面面。《白帽子講瀏覽器安全》兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供了分析思路和防禦方案。《白帽子講瀏覽器安全》從攻擊者常用技巧的“表象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。
《白帽子講瀏覽器安全》根據作者若干年實戰與工作積累的豐富經驗編寫而成,深入地分析了瀏覽器從導航到頁面展示的整個過程中可能會出現的安全問題,也對瀏覽器的部分實現細節有著詳細和深入的介紹,對安全工作者有一定的參考意義。

目錄

第1 篇 初探瀏覽器安全 1

1 漏洞與瀏覽器安全 3
1.1 漏洞的三要素 3
1.2 漏洞的生命周期 4
1.3 瀏覽器安全概述 5
1.4 瀏覽器安全的現狀 7
1.5 瀏覽器的應對策略 9
1.6 “白帽子”與瀏覽器廠商的聯手協作 9
1.7 全書概覽 10
1.8 本章小結 12
2 瀏覽器中常見的安全概念 13
2.1 URL 13
2.1.1 URL 的標準形式 15
2.1.2 IRI 16
2.1.3 URL 的“可視化”問題——字形欺騙釣魚攻擊 18
2.1.4 國際化域名字形欺騙攻擊 19
2.1.5 自糾錯與Unicode 字元分解映射 20
2.1.6 登錄信息釣魚攻擊 23
2.2 HTTP 協定 24
2.2.1 HTTP HEADER 25
2.2.2 發起HTTP 請求 26
2.2.3 Cookie 28
2.2.4 收到回響 29
2.2.5 HTTP 協定自身的安全問題 31
2.2.6 注入回響頭:CRLF 攻擊 31
2.2.7 攻擊回響:HTTP 401 釣魚 32
2.3 瀏覽器信息安全的保障 33
2.3.1 源 33
2.3.2 同源準則 34
2.3.3 源的特殊處理 34
2.3.4 攻擊同源準則:IE11 跨任意域腳本注入一例 35
2.4 特殊區域的安全限制 37
2.4.1 安全域 37
2.4.2 本地域 37
2.5 偽協定 38
2.5.1 data 偽協定 38
2.5.2 about 偽協定 40
2.5.3 javascript/vbscript 偽協定 41
2.5.4 偽協定邏輯出錯:某瀏覽器跨任意域腳本注入一例 42
2.6 本章小結 43
3 探索瀏覽器的導航過程 45
3.1 導航開始 45
3.1.1 瀏覽器的導航過程 46
3.1.2 DNS 請求 46
3.1.3 DNS 劫持和DNS 污染 47
3.1.4 導航尚未開始時的狀態同步問題 48
3.1.5 實例:針對導航過程發起攻擊 49
3.2 建立安全連線 50
3.2.1 HTTPS 50
3.2.2 HTTPS 請求中的Cookie 51
3.3 回響數據的安全檢查——XSS 過濾器 52
3.3.1 IE XSS Filter 的實現原理 53
3.3.2 Chrome XSSAuditor 的工作原理 55
3.4 文檔的預處理 56
3.4.1 瀏覽器對HTML 文檔的標準化 56
3.4.2 設定兼容模式 57
3.5 處理腳本 59
3.5.1 腳本的編碼 60
3.5.2 IE 的CSS expression 的各種編碼模式 62
3.5.3 瀏覽器的應對策略:CSP 63
3.5.4 “繞過”CSP:MIME Sniff 65
3.5.5 簡單的Fuzz:混淆CSS expression 表達式 68
3.6 攻擊HTML 標準化過程繞過IE/Chrome 的XSS Filter 71
3.7 本章小結 73
4 頁面顯示時的安全問題 75
4.1 點擊劫持 76
4.1.1 點擊劫持頁面的構造 76
4.1.2 X-Frame-Options 78
4.2 HTML5 的安全問題 80
4.2.1 存儲API 81
4.2.2 跨域資源共享 83
4.2.3 基於FullScreen 和Notification API 的新型釣魚攻擊 84
4.2.4 組合API 後可能導致的安全問題 87
4.2.5 引入新的XSS 攻擊向量 87
4.2.6 網際網路威脅 89
4.3 HTTPS 與中間人攻擊 92
4.3.1 HTTPS 的綠鎖 92
4.3.2 HTTPS 有多安全? 94
4.3.3 HSTS 96
4.3.4 使用SSLStrip 阻止HTTP 升級HTTPS 97
4.3.5 使用Fiddler 對PC 端快速進行中間人攻擊測試 99
4.3.6 使用Fiddler 腳本和AutoResponse 自動發起中間人攻擊 101
4.4 本章小結 103
5 瀏覽器擴展與外掛程式的安全問題 105
5.1 外掛程式 106
5.1.1 ActiveX 106
5.1.2 ActiveX 的安全問題 107
5.1.3 ActiveX 的邏輯漏洞 108
5.1.4 NPAPI、PPAPI 111
5.2 定製瀏覽器的擴展和外掛程式的漏洞 113
5.2.1 特權API 暴露 114
5.2.2 DOM 修改引入攻擊向量 114
5.2.3 Windows 檔案名稱相關的多個問題 115
5.2.4 NPAPI DLL 的問題 116
5.2.5 同源檢查不完善 117
5.2.6 Content Script 劫持 118
5.2.7 許可權隔離失敗 118
5.2.8 配合切核策略+本地內部頁XSS 執行代碼 118
5.2.9 下載伺服器限制寬鬆 119
5.2.10 TLDs 判定問題 119
5.2.11 經典漏洞 120
5.2.12 中間人 120
5.3 Adobe Flash 外掛程式與Action Script 121
5.3.1 Flash 的語言——Action Script 121
5.3.2 Flash 文檔的反編譯、再編譯與調試 122
5.3.3 SWF 的網路互動:URLLoader 124
5.3.4 crossdomain.xml 與Flash 的“沙盒” 125
5.3.5 ExternalInterface 126
5.3.6 FLASH XSS 126
5.3.7 Microsoft Edge 中的Flash ActiveX 130
5.4 瀏覽器的沙盒 131
5.4.1 受限令牌 132
5.4.2 完整性級別與IE 的保護模式 133
5.4.3 任務對象 134
5.5 本章小結 135
6 移動端的瀏覽器安全 137
6.1 移動瀏覽器的安全狀況 138
6.2 移動端的威脅 141
6.2.1 通用跨站腳本攻擊 141
6.2.2 地址欄偽造 142
6.2.3 界面偽裝 143
6.3 結合系統特性進行攻擊 144
6.3.1 Android 一例漏洞:使用Intent URL Scheme 繞過Chrome SOP 144
6.3.2 iOS 的一例漏洞:自動撥號泄露隱私 146
6.3.3 Windows Phone 一例未修補漏洞:利用Cortana 顯示IE 中已保存密碼 147
6.4 本章小結 149

第2 篇 實戰網馬與代碼調試

7 實戰瀏覽器惡意網頁分析 153
7.1 惡意網站中“看得見的”攻防 153
7.2 惡意腳本的抓取和分析 155
7.2.1 發現含攻擊代碼的網址 156
7.2.2 使用rDNS 擴大搜尋結果 156
7.2.3 下載攻擊代碼 157
7.2.4 搭建測試環境 158
7.2.5 初識網馬反混淆工具 158
7.2.6 惡意腳本中常見的編碼方式 159
7.3 一個簡單的掛馬代碼的處理 169
7.3.1 快速判斷掛馬 169
7.3.2 JS 代碼的格式化 170
7.4 更為複雜的代碼處理:對Angler 網馬工具包的反混淆 170
7.4.1 Angler EK 的特徵 170
7.4.2 推理:找出代碼中的“解密-執行”模式 172
7.4.3 檢證:確定“解密-執行”模式的位置和方法 175
7.4.4 追蹤:使用瀏覽器特性判斷用戶環境 179
7.4.5 利用漏洞CVE-2014-6332 發起攻擊 188
7.5 本章小結 190
8 調試工具與Shellcode 191
8.1 調試工具的用法 191
8.1.1 調試符號 191
8.1.2 WinDbg 的用法 192
8.1.3 IDA 的用法 195
8.1.4 OllyDbg 的用法 199
8.2 與Shellcode 的相關名詞 201
8.2.1 機器指令 201
8.2.2 控制關鍵記憶體地址 203
8.2.3 NOP Slide 204
8.2.4 Magic Number 0x8123 205
8.3 Shellcode 的處理 205
8.3.1 實現通用的Shellcode 206
8.3.2 調試網馬中的Shellcode 212
8.4 本章小結 218
第3 篇 深度探索瀏覽器漏洞
9 漏洞的挖掘 221
9.1 挖0day 221
9.1.1 ActiveX Fuzzer 的原理 221
9.1.2 使用AxMan Fuzzer 來Fuzz ActiveX 外掛程式 222
9.1.3 現場復現 225
9.2 DOM Fuzzer 的搭建 229
9.2.1 搭建運行Grinder 的環境 230
9.2.2 Fuzzer 的結構與修改 231
9.2.3 現場復現 232
9.3 崩潰分析 233
9.3.1 哪些典型崩潰不能稱作瀏覽器漏洞 233
9.3.2 ActiveX 崩潰一例 236
9.3.3 IE11 崩潰一例 238
9.4 本章小結 244
10 網頁的渲染 245
10.1 網頁的渲染 245
10.1.1 渲染引擎 245
10.1.2 DOM 結構模型 247
10.1.3 IE 解析HTML 的過程 249
10.1.4 IE 的Tokenize 251
10.1.5 Chrome 解析HTML 的過程 253
10.1.6 Chrome 的Tokenize 254
10.2 元素的創建 256
10.2.1 IE 中元素的創建過程 256
10.2.2 Chrome 中元素的創建過程 257
10.2.3 元素的生成規律 258
10.3 實戰:使用WinDbg 跟蹤元素的生成 260
10.4 實戰:使用WinDbg 跟蹤元素的插入 263
10.5 實戰:使用WinDbg 跟蹤元素的釋放 264
10.6 本章小結 266
11 漏洞的分析 267
11.1 分析IE 漏洞CVE-2012-4969 267
11.1.1 崩潰分析 268
11.1.2 追根溯源 270
11.2 分析JScript9 漏洞CVE-2015-2425 271
11.2.1 跟蹤漏洞 275
11.3 Hacking Team 的Flash 漏洞CVE-2015-5119 分析 276
11.3.1 靜態閱讀:成因分析 276
11.3.2 Vector 的覆蓋過程 278
11.4 本章小結 279
12 漏洞的利用 281
12.1 ShellCode 的編寫 281
12.2 CVE-2012-4969 的利用 284
12.2.1 DEP/ASLR 繞過 287
12.3 CVE-2015-5119 的Vector 296
12.4 本章小結 301
附錄 303
附錄A IE(Edge)的URL 截斷 303
附錄B IE 的控制台截斷 304
附錄C 表單中的mailto: 外部協定 305
附錄D 危險的regedit: 外部協定 306
附錄E IE XSS Filter 的漏洞也會幫助執行XSS 307
附錄F 更高級的策略保護——CSP Level 2 308
附錄G 更快的執行速度——JScript5 to Chakra 309
附錄H Chakra 的整數存儲 310
附錄I 安全實踐 311
參考資料 315

精彩節摘

人類第一次大規模的接觸網際網路,就是從PC 上的瀏覽器開始的。從它的誕生開始,瀏覽器安全就成為一個極其重要的安全領域。瀏覽器核心、網頁、釣魚、XSS,包括讓人又愛又恨的網銀外掛程式,這些都和瀏覽器安全息息相關。隨著移動網際網路和網際網路+時代的到來,瀏覽器已經變成了桌面端的網際網路第一入口,而在移動端,雖然瀏覽器的入口地位受到了手機APP 的分流,但依然是最重要的入口之一。瀏覽器安全問題,變得更加錯綜複雜。比如iOS 越獄,用戶只需要簡單地訪問一個特殊網頁就能自動完成,也是利用了iOS Safari 的安全漏洞。隨著HTML5 和HTTP 2 標準的先後定稿,以微信、手機QQ 為代表的開放平台迅猛發展,使得越來越多的HTML5 內容在APP 中的WebView 里呈現。這些APP 同樣面臨著廣義的瀏覽器安全威脅。
無巧不成書,認識錢文祥也是緣於瀏覽器。2013 年,在烏雲上偶然看到幾個關於瀏覽器漏洞的報告後,我在QQ 上聯繫了他。通過幾次交談,發現他是一個對安全技術尤其是瀏覽器安全技術非常痴迷並且有想法的人。所以,我邀請他來騰訊瀏覽器產品部工作,負責PC 瀏覽器的安全工作。他在瀏覽器安全方面的經驗,很好地保證了QQ 瀏覽器的安全性,得到了團隊的一致認可。此外,他還發現了Microsoft IE 的和Google Chrome瀏覽器的一些漏洞,並得到了這兩家公司認可。
當拿到書稿後,我不由地一震。他在工作之餘,系統地總結和歸納了自己這些年在瀏覽器安全方面的一些知識,並深入淺出地呈現出來。這些知識可以給希望了解和學習瀏覽器安全的人提供一份有益的營養套餐。
瀏覽器安全,其實涵蓋了客戶端、web、server 等,給初學者一種霧蒙蒙的感覺,同時也給網際網路罩上一層迷霧,就好似北京那令人百感交集的霧霾。希望《白帽子講瀏覽器安全》一書,能像前幾天的一場北風,吹走那迷霧,給讀者帶來一片清澈的藍天。
邊超,騰訊T4 專家,PC 瀏覽器技術負責人
2015/12/8

作者簡介

錢文祥(常用ID:blast),專職瀏覽器安全研究。安徽理工大學畢業後就職於騰訊科技(北京)有限公司,專注於PC瀏覽器安全研究和安全相關功能的開發。活躍於多個漏洞報告平台,曾報告過數十個安全漏洞,涵蓋IE、Chrome及國產定製瀏覽器。參與過多個瀏覽器安全相關以及漏洞挖掘的項目,維護有網馬解密工具Redoce。

媒體評論

瀏覽器上的安全是混亂的,W3C和WHATWG組織選擇了——以標準化的形式使瀏覽器可以快速更新並增加新的安全策略——這樣一種激進做法,來對抗瀏覽器上已有的和即將到來的安全風險。新的功能可以快速覆蓋已有問題,但其帶來的未知風險,或許更加可怕。我們必須要從Web前端到瀏覽器底層全面了解瀏覽器安全技術,在面對瀏覽器上千變萬化的威脅時,方能做到未雨綢繆。如何做到?請閱讀本書,一定不會讓你失望。
——騰訊玄武實驗室安全專家,《Web前端黑客技術揭秘》作者 徐少培
這本書很難得!從純粹的Web前端安全玩法,到如何突破瀏覽器邊界,都做了深度剖析,有許多獨到見解。感謝作者能把自己的諸多實戰經驗分享出來。
——知道創宇技術副總裁,《Web前端黑客技術揭秘》作者 餘弦
這本書對瀏覽器規範層面、功能實現層面及渲染層出現的安全問題,都做了較為詳細的描述。其中對各種現代瀏覽器的實例講解,更是非常難得。作者似乎有這樣一個意圖:想從每個層面將讀者帶入一個個奇幻世界。無論如何,這是一本很完整的瀏覽器安全書籍,推薦想系統學習的道友從速入手。
——雙螺旋攻防實驗室 李普君(長短短)
本書從套用層到系統層全面介紹了瀏覽器在各種場景下的安全防禦及攻擊思路,並且結合了很多烏雲平台上的實際案例,是國內第一本全面介紹瀏覽器安全的書籍,對瀏覽器安全機制感興趣的人員值得一讀。
——烏雲知識庫
和傳統 Web 安全的書籍不同,本書著重圍繞瀏覽器前端技術,並以案例形式講解;覆蓋基礎知識及近幾年出現的技術標準,其中不乏一些有趣的案例。如果對前端安全感興趣,本書值得一讀。
——淘寶安全工程師 前端安全研究者 佳辰(EtherDream)
看過作者之前一些文章,發現他對瀏覽器安全有著非常專業的研究。由其將自己的相關經驗整理成書,相信會是一本值得研究Web安全及瀏覽器安全從業人員閱讀的好書。
——萬達電商資深安全經理 lion_00

前言

2015 年3 月,我在烏雲知識庫中開始連載IE 安全系列的文章(ID:blast)。博文視點的張春雨先生找到我,希望我寫一本瀏覽器安全的書。
此時的瀏覽器市場已是一片紅海——作為用戶訪問網際網路的入口,無論是桌面還是移動端,各廠商爭奪瀏覽器份額的形勢,猶如多年前微軟和網景的份額大戰。這個過程中,他們留給網際網路許多實用功能,制訂了許多規範。
這些功能中,有一些也留下了不少安全隱患。我正好在從事瀏覽器安全工作,在日常問題處理中深知瀏覽器安全現有的資料非常分散,最大的問題便是不少人雖然興趣濃厚,但是卻不知道從哪裡開始研究瀏覽器安全。
我的瀏覽器安全歷程
1999 年接觸計算機開始,我就對這個龐然大物產生了濃厚的興趣。2001 年家中購買了電腦之後,由於最初的兩年電腦沒有聯網,於是編程便成了我的另一個興趣愛好。自學了幾年編程之後,一直想做出一個有用的工具。
2007 年加入卡飯論壇開始的那段時間,應當是我和瀏覽器安全最長時期的接觸,我一直活躍在病毒分析板塊。由於當時網馬猖獗,對病毒分析愛好的我編寫了一個自動化網馬解碼分析工具Redoce 並堅持更新了6 年,這段經歷讓我認識了許多志同道合的朋友,也讓我掌握了許多病毒以及漏洞的分析技能。
2010 年,我就讀安徽理工大學信息安全專業,其間參閱了許多前輩的資料。2013年是我第一次嘗試由分析轉為漏洞挖掘,之後我便沉浸於此,並最終以一個契機加入騰訊QQ 瀏覽器部門。在騰訊,我依然從事瀏覽器安全研究工作。
瀏覽器的用戶量數以百萬、千萬甚至於億計,這樣一款處處都會接受用戶輸入的軟體,一旦出現漏洞,產品口碑和用戶的信息安全都會深受其害,這是所有產品相關人員和安全研究人員都不想看到的。在對瀏覽器代碼和套用的安全審查和測試過程中,我也總結了許多瀏覽器安全的“坑”和補救措施,這些內容將在本書內詳細敘述。
本書結構
對有興趣致力於瀏覽器安全的研究者來說,不知從哪裡入手是研究熱情的一個攔路虎。我將日常的經驗和歷史上的瀏覽器安全事件結合,編寫了本書的3 篇共12 章的內容。
希望能夠為瀏覽器安全研究愛好者提供一些參考。
第1 篇 探索瀏覽器安全介紹了從瀏覽器的用戶界面以及瀏覽器展示網頁的整個過程,針對過程中可能出現的問題進行了探討,詳細地介紹了瀏覽器的特性以及基礎安全概念。瀏覽器的漏洞挖掘和Fuzz 工具密不可分,本篇中我們也將介紹Fuzzer 的基本理念並製作出一個可用的Fuzzer。
本篇結合了Web 安全與瀏覽器自身特性,就瀏覽器處理網頁內容的原理及引發的安全問題展開討論,希望能讓讀者對瀏覽器安全產生初步的印象,也打消從未涉及瀏覽器安全的讀者的疑慮。
外掛程式和擴展延伸了瀏覽器的功能,但是也帶來了許多安全風險。
第2 篇 實戰網馬與代碼調試是過渡性的篇章,我們從外掛程式和擴展安全說起,再通過幾個網馬的例子,將重點逐漸從Web 向二進制調試轉移。
外掛程式部分將介紹邏輯漏洞的挖掘,以及在軟體製作中規避風險的方法。網馬部分則介紹惡意代碼的混淆與加密方式,為惡意代碼分析打好基礎。代碼調試部分則從二進制調試工具的用法開始,最後介紹Shellcode 的調試。本章難度適中,希望能夠帶領讀者探索瀏覽器中的二進制代碼。
第3 篇 深度探索瀏覽器漏洞對瀏覽器漏洞知識進行了更深入的挖掘和探討。我們將從瀏覽器對網頁元素的處理入手,分析網頁元素在瀏覽器記憶體中創建時的過程並使用調試工具加以分析。我們還將從常見的漏洞入手,分析漏洞的成因並編寫一個完整的瀏覽器漏洞利用程式。至此完成瀏覽器漏洞研究的最後一步。
編寫歷程
編寫全書時工作繁忙,我每天只能夠在業餘時間抽出一至兩個小時編寫文章和調試代碼。經歷過後深知編寫一本書的不易。在編寫本書的過程中,我參考了大量資料。編寫一本經驗總結性質的書籍不僅僅是對自己過往的一個交待,更是為了促進對自己對瀏覽器認識的提高。如邊超先生所言,通過將知識沉澱為文字,博文也好,書籍也好,都是一種重認識和再發現的過程。
在寫一本介紹如此寬泛概念的書籍時,能夠系統性地布局則是一大要事。在和烏雲社區多個有興趣研究瀏覽器安全的白帽子交流之後,最終我選擇了本書這樣一種先Web後底層深入的布局。但是,列大綱的時候我就發現,瀏覽器安全中每一部分都可以成為深入挖掘的方向,想在這一本薄薄的書中全部展現也是不切實際的。為了完整地涵蓋安全的基礎部分,本書挑選的更多是一些典型的例子,我希望通過這些典型例子起到拋磚引玉的作用——因為瀏覽器安全問題並不是單一因素引起的,更多的很可能是許多異常行為(也就是我們俗稱的“BUG”)的組合。
相比於其他計算機科學相關的內容,瀏覽器安全研究的書籍資料並不多。但是網際網路上仍然有許多專業研究人員提供了寶貴的數字資料,在遇到瀏覽器安全問題時,善用、勤用搜尋引擎,是解決問題的一條捷徑。
瀏覽器和瀏覽器標準的更新換代速度極快,在本書編寫的過程中,就有許多新的瀏覽器標準和新的瀏覽器防禦手段誕生。且本書編寫時間倉促,又限於作者自身能力和水平的不足,書中不免會出現疏漏,煩請批評指正或留言寶貴意見。我提供了一個勘誤表以及事件提單平台,本書的修訂內容將在該平台上發布。平台的地址請見前言結尾的“聯繫方式”。
致謝
感謝我的公司騰訊科技有限公司和我的同事們,他們都願意投入到瀏覽器中,以樂趣為出發點,在團隊內部形成積極、友好討論的氛圍。
感謝邊超先生為本書作序,邊超先生在我開發和研究過程中細緻耐心地提供了許多指導和幫助。
同時,也感謝邊超、李普君、徐少培、張春雨等先生(排名不分先後)對本書章節布局的非常有建設性的建議。
協助本書內容審核的人員有:毛睿、關乃夫、丁川達、王連贏、李普君、周雨陽、梧桐雨(排名不分先後)等。毛睿先生是我在騰訊工作時的導師,感謝他為我提出了許多寶貴意見。
感謝我的家人,尤其是我的父母在編寫本書的時候給予我的無盡的鼓勵。
在編寫本書時,同樣受到了來自許多專家和前輩的指導和鼓勵,無論列出與否,都由衷地感謝你們。

相關詞條

熱門詞條

聯絡我們