.NET安全揭秘(全面、系統、深刻揭示·NET平台的安全機制和工作原理,為構建安全的·NET套用提供絕佳實踐指導)
基本介紹
- 中文名:.net安全揭秘
- 作者:楊文海 魯鳳芝 何平
- ISBN:978-7-111-37573-9
- 定價:89.00元
基本信息,編輯推薦,內容簡介,作者簡介,目錄,
基本信息
作者:楊文海 魯鳳芝 何平 等著
ISBN :978-7-111-37573-9
定價:89.00元
出版日期:2012年5月
出版社:機械工業出版社
編輯推薦
這是目前唯一一本全面講解如何開發安全的基於.NET套用的著作。
隨著網際網路及其相關技術的成熟,以及各類社交網站和電子商務網站的不斷崛起,我們的生活的網路化程度隨之不斷加深,與我們個人的隱私相關的各種數據都被“搬”到了網上。對於為我們提供各類服務的網站來說,保障用戶信息的安全性已成為他們最重要和最頭疼的工作之一。要確保網站的安全性,根本上還是要從構建網站系統的底層技術和安全框架抓起。本書是.NET技術人員的福音,它系統講解了.NET安全技術的方方面面,能為我們構建各種類型的.NET套用提供完善的實踐指導,既可以作為深入學習.NET安全技術的寶貴資料,又可以作為開發和架構.NET套用的案頭備查手冊,強烈推薦。
——51CTO(中國領先的IT技術網站)
2011年,國內安全領域最大的新聞莫過於數十家網站的用戶數據被泄露的事件了。這件事情在當時影響極為廣泛,它促使了國內的網際網路企業重新思考網站安全的重要性並紛紛加強了網站的安全建設。網站安全的根基在於它的架構和具體實現,架構和實現過程中是否充分利用了技術的手段來保障安全性直接決定了網站是否安全可靠。如果你打算用.NET技術開發網站或相關的套用,抑或是你要負責維護用.NET技術開發的網站和套用的安全性,本書將為你提供全面的指導,它幾乎講解了.NET技術安全性的方方面面,值得學習和參考!
—— 馬偉 資深微軟技術專家和微軟MVP/暢銷書《ASP. NET 4權威指南》作者
安全永遠是IT領域最重要、最熱門的話題之一,它是IT產品和服務的核心。對於軟體產品而言,它的安全性在最初的架構、設計和實現過程中就已經決定了,也就是說軟體的安全性其實掌握在架構師和程式設計師手裡。如果你是一位.NET程式設計師或架構師,你必須了解.NET平台的安全機制,以及各種.NET套用涉及的安全技術的細節,只有這樣才能為你開發或架構的系統提供安全上的技術保障。目前市面上系統、深入講解.NET安全知識的書不多,本書不可多得。
—— 郝冠軍 資深微軟技術專家和微軟MVP/暢銷書《ASP. NET本質論》作者
內容簡介
良好的安全性是軟體產品和軟體服務的基石,也是企業得以生存的根基,越來越被企業重視。作為.NET程式設計師、.NET套用架構師或.NET安全工作人員,當你要重新構建一個安全的.NET套用或現有的套用面臨著安全威脅時,究竟該如何應對?是從零開始打造自己的安全系統還是踩在巨人的肩膀上繼續攀登?在很多技術領域,我們都不必為安全問題而重複發明輪子,尤其是.NET領域,它已經為我們打好了堅實的基礎。從ASP. NET、WPF、WCF、Silverlight,到Open XML、WIF、Windows Azure,.NET都提供了強大而完整的安全性支持。
本書從.NET底層原理出發,結合大量實際案例,全面、系統、深刻地揭示了.NET平台的安全機制和工作原理,勾勒出了一幅完整的.NET安全性的全景視圖。無論是要系統學習.NET的安全知識,還是要開發和架構安全的.NET套用,抑或是維護.NET系統的安全性,本書都能為我們提供絕佳的實踐指導。
作者簡介
楊文海 (筆名:玄魂) 資深.NET開發工程師(常以“代碼狂人”自居)和安全技術專家,有多年.NET開發經驗,對.NET平台以及ASP. NET、WPF、WCF、Silverlight、Open XML、WIF等技術的底層原理和安全機制有深入的研究。崇尚黑客精神,活躍於國內外各大安全論壇,教學相長,樂此不疲。目前致力於打造最好的.NET安全編程框架,傳播真正的黑客精神。
目錄
前 言
第一部分 .NET安全基礎
第1章 .NET 體系結構/ 2
1.1公共語言運行時/ 2
1.2公共類型系統/ 3
1.2.1CTS基本結構/ 3
1.2.2公共語言規範/ 5
1.3中間語言/ 7
1.3.1託管PE檔案/ 7
1.3.2元數據/ 14
1.3.3IL常用指令/ 17
1.3.4IL與代碼驗證/ 19
1.4基礎類庫和框架類庫/ 19
1.4.1BCL 基本命名空間/ 20
1.4.2 .NET Framework 4.0中對BCL的更新/ 21
1.4.3FCL命名空間/ 23
1.5即時編譯和預編譯/ 23
1.6動態語言運行時/ 25
1.7本章小結/ 26
第2章 程式集與反射/ 27
2.1程式集/ 27
2.1.1模組的操作/ 27
2.1.2程式集概念/ 29
2.1.3強名稱程式集/ 31
2.1.4共享程式集/ 33
2.1.5創建多檔案程式集 / 34
2.2使用反射操作程式集/ 36
2.2.1反射程式集/ 36
2.2.2載入和卸載程式集/ 39
2.2.3動態創建程式集/ 40
2.3本章小結/ 42
第3章 應用程式域與CLR寄宿/ 44
3.1應用程式域基礎/ 44
3.1.1 應用程式域的特點/ 44
3.1.2創建應用程式域/ 45
3.1.3卸載應用程式域/ 45
3.2CLR寄宿/ 48
3.2.1核心組件MSCOREE.DLL/ 48
3.2.2託管exe檔案的載入和執行/ 57
3.2.3<cite class="highlight" highlight="true">ASP. NET</cite> Web窗體和WebService / 58
3.3高級宿主控制/ 63
3.3.1託管宿主/ 63
3.3.2託管環境下的執行緒注入實例/ 65
3.4本章小結/ 66
第二部分 .NET平台級安全性
第4章 代碼訪問安全性/ 68
4.1代碼訪問安全性機制/ 68
4.1.1代碼訪問安全性機制的作用/ 68
4.1.2工作方式/ 70
4.1.3安全性語法/ 73
4.2代碼組/ 75
4.2.1對代碼組的管理/ 75
4.2.2成員條件/ 81
4.2.3屬性/ 85
4.3許可權和許可權集/ 86
4.3.1許可權操作的基本概念/ 86
4.3.2 .NET提供的代碼訪問許可權/ 92
4.3.3操作許可權集/ 96
4.4代碼訪問安全性編程實踐/ 98
4.4.1實現自定義許可權的構造函式/ 99
4.4.2實現屬性類/ 102
4.4.3安裝到安全策略中/ 103
4.5本章小結/ 104
第5章 基於角色的安全性/ 105
5.1 . NET Framework基於角色的安全性/ 105
5.2基於角色的安全性編程實戰/ 106
5.3主體和標識/ 110
5.3.1主體對象/ 110
5.3.2標識對象/ 117
5.4安全檢查/ 123
5.4.1基於角色的安全性許可權對象/ 123
5.4.2命令式安全檢查/ 125
5.4.3聲明式安全檢查/ 127
5.4.4直接訪問主體對象/ 128
5.5本章小結/ 129
第三部分 數據安全
第6章 數據加密/ 132
6.1加密技術簡介/ 132
6.2對稱加密/ 132
6.2.1對稱加密原理/ 133
6.2.2對稱加密算法/ 134
6.2.3 . NET對稱加密體系/ 142
6.2.4對稱加密實踐/ 147
6.3非對稱加密/ 152
6.3.1非對稱加密原理/ 152
6.3.2非對稱加密算法/ 153
6.3.3 . NET 非對稱加密體系/ 158
6.3.4非對稱加密實踐/ 161
6.4訊息摘要和Hash算法/ 168
6.4.1Hash原理/ 168
6.4.2Hash算法/ 169
6.4.3. NET中的Hash算法/ 175
6.4.4訊息摘要編程實例/ 179
6.5數字簽名和數字證書/ 182
6.5.1數字簽名/ 182
6.5.2使用.NET進行數字簽名/ 183
6.5.3數字證書/ 186
6.5.4在.NET中運算元字證書/ 190
6.6本章小結/ 196
第7章 數據存儲安全/ 198
7.1磁碟檔案安全/ 198
7.1.1檔案的基本操作/ 199
7.1.2檔案和目錄的訪問控制/ 209
7.1.3安全刪除數據/ 216
7.1.4檔案加密/解密/ 218
7.2資料庫安全/ 221
7.2.1SQL Server的CLR集成/ 221
7.2.2CLR集成的功能/ 222
7.2.3編譯過程/ 223
7.3SQL Server的CLR集成安全性/ 223
7.3.1CLR集成代碼訪問的安全性/ 223
7.3.2宿主保護特性和CLR集成編程/ 227
7.3.3CLR 集成安全性中的連結/ 228
7.3.4模擬和CLR集成安全性/ 229
7.3.5允許部分可信任的調用方/ 231
7.3.6應用程式域和CLR集成安全性/ 232
7.4本章小結/ 232
第8章 數據通信安全/ 233
8.1SSL原理及套用/ 233
8.1.1SSL協定體系結構/ 233
8.1.2配置HTTPS / 238
8.1.3在.NET開發中處理HTTPS /250
8.2會話狀態安全/ 252
8.2.1會話狀態安全基礎/ 253
8.2.2會話狀態安全攻略/ 262
8.3本章小結/ 263
第四部分 .NET套用安全
第9章 應用程式保護/ 266
9.1反編譯/ 266
9.1.1反編譯工具Reflector / 266
9.1.2 .NET反編譯原理/ 269
9.2強名稱/ 274
9.2.1使用強名稱保護代碼完整性/ 275
9.2.2引用強名稱簽名的程式集/ 280
9.2.3強名稱的脆弱性/ 282
9.2.4保護強名稱/ 283
9.3代碼混淆/ 283
9.3.1名稱混淆/ 283
9.3.2流程混淆/ 286
9.3.3語法混淆/ 294
9.4加殼/ 297
9.5本章小結/ 304
第10章 ASP. NET套用安全/ 305
10.1<cite class="highlight" highlight="true">ASP. NET</cite>安全性工作原理/ 305
10.1.1<cite class="highlight" highlight="true">ASP. NET</cite>安全性體系結構/ 305
10.1.2<cite class="highlight" highlight="true">ASP. NET</cite>安全數據流/ 308
10.1.3<cite class="highlight" highlight="true">ASP . NET</cite>模擬/ 311
10.1.4<cite class="highlight" highlight="true">ASP. NET</cite>身份驗證/ 312
10.1.5<cite class="highlight" highlight="true">ASP. NET</cite>授權/ 325
10.1.6<cite class="highlight" highlight="true">ASP. NET</cite> SQL Server註冊工具/ 327
10.2<cite class="highlight" highlight="true">ASP. NET</cite>成員資格/ 331
10.2.1<cite class="highlight" highlight="true">ASP. NET</cite>成員資格的功能/ 331
10.2.2<cite class="highlight" highlight="true">ASP . NET</cite>成員資格類/ 333
10.2.3配置成員資格/ 338
10.2.4成員資格的套用/ 342
10.2.5自定義成員資格提供程式/ 349
10.2.6WCF身份驗證服務/ 358
10.3<cite class="highlight" highlight="true">ASP. NET</cite>角色管理/ 362
10.3.1<cite class="highlight" highlight="true">ASP . NET</cite>角色和訪問規則/ 362
10.3.2<cite class="highlight" highlight="true">ASP. NET</cite>角色管理類/ 365
10.3.3<cite class="highlight" highlight="true">ASP. NET</cite>角色管理提供程式/ 367
10.3.4自定義<cite class="highlight" highlight="true">ASP . NET</cite>角色管理提供程式/ 368
10.3.5WCF角色服務/ 370
10.4受保護配置/ 371
10.4.1管理受保護配置/ 371
10.4.2受保護配置提供程式/ 373
10.4.3RSA密鑰容器/ 379
10.5本章小結/ 381
第11章 WCF套用安全/ 382
11.1WCF安全基本概念/ 382
11.1.1綁定/ 383
11.1.2安全模式/ 394
11.1.3身份驗證憑據/ 396
11.1.4保護級別/ 398
11.1.5授權/ 400
11.1.6模擬/ 400
11.2WCF區域網路安全/ 400
11.2.1NetTcpBinding Transport安全模式/ 401
11.2.2NetTcpBinding Message安全模式/ 422
11.2.3區域網路綁定安全/ 429
11.2.4區域網路環境下的授權策略/ 434
11.3WCF網際網路安全/ 444
11.3.1BasicHttpBinding示例/ 445
11.3.2BasicHttpBinding安全項/ 449
11.3.3BasicHttpBinding安全套用/ 454
11.3.4WsHttpBinding簡介/ 477
11.4WCF安全認證流程/ 478
11.5本章小結/ 479
第12章 WPF套用安全/ 480
12.1WPF應用程式/ 480
12.1.1WPF獨立應用程式/ 480
12.1.2WPF瀏覽器應用程式/ 483
12.2WPF應用程式安全性/ 485
12.2.1安全導航/ 486
12.2.2Web瀏覽安全設定/ 487
12.2.3安全沙箱/ 500
12.2.4部分信任安全/ 501
12.2.5部分信任安全策略/ 506
12.2.6鬆散XAML檔案的沙箱行為/ 510
12.3部分受信任代碼的庫調用/ 511
12.4本章小結/ 513
第13章 Silverlight套用安全/ 514
13.1Silverlight運行機制/ 514
13.1.1Silverlight運行環境/ 515
13.1.2Silverlight架構/ 516
13.1.3CoreCLR安全模型/ 518
13.2Silverlight運行在沙箱中/ 519
13.3透明模型/ 524
13.3.1透明代碼的調用/ 525
13.3.2透明代碼、SafeCritical代碼和關鍵代碼的比較/527
13.3.3Silverlight透明模型的優勢/ 528
13.4網路通信/ 529
13.4.1基本HTTP功能/ 529
13.4.2HTTP調用/ 530
13.4.3跨域通信/ 532
13.4.4網路安全訪問限制/ 536
13.4.5URL訪問限制/ 548
13.5Silverlight安全策略/ 550
13.5.1XSS問題/ 550
13.5.2代碼隔離/ 551
13.5.3用戶數據保護/ 554
13.5.4保護xap檔案/ 558
13.6本章小結/ 559
第14章 Open XML套用安全/ 561
14.1Open XML規範/ 561
14.1.1文檔格式/ 561
14.1.2開放打包協定/ 563
14.1.3Open XML標記語言/ 566
14.2Open XML開發基礎/ 573
14.2.1操作ZIP / 574
14.2.2操作XML / 577
14.2.3Open XML API / 582
14.3Open XML套用安全/ 586
14.3.1宏安全/ 586
14.3.2OLE機制/ 587
14.3.3隱藏數據/ 590
14.3.4文檔校驗/ 592
14.3.5數字簽名/ 593
14.4本章小結/ 599
第五部分 高級擴展
第15章 WIF開發框架/ 602
15.1WIF基本原理/ 602
15.1.1標識庫/ 603
15.1.2基於聲明的標識模型/ 604
15.1.3安全令牌服務/ 609
15.1.4聯合身份驗證實例/ 614
15.1.5WIF的功能/ 616
15.2WIF編程模型/ 617
15.2.1WIF編程模型的優勢/ 617
15.2.2WIF基本行為/ 618
15.2.3IClaimsIdentity和IClaimsPrincipal/ 619
15.3WIF與<cite style="background: none repeat scroll 0% 0% transparent;" class="highlight" highlight="true">ASP. NET</cite>實踐/ 620
15.3.1準備工作/ 620
15.3.2將認證外包給STS / 622
15.3.3基本編程概念/ 625
15.4本章小結/ 638
第16章 微軟雲安全/ 639
16.1雲計算/ 639
16.1.1雲計算的演進/ 639
16.1.2雲計算的特點/ 640
16.2微軟的雲計算/ 642
16.2.1Windows Azure平台的架構/ 643
16.2.2套用模式/ 644
16.3Windows Azure安全/ 645
16.3.1安全模式/ 645
16.3.2雲安全設計/ 648
16.3.3開發生命周期安全/ 654
16.3.4服務的運營方式/ 654
16.4本章小結/ 656