Table of ContentsIntroduction xxiiiPart I Contemporary Security1 The N dịch - Table of ContentsIntroduction xxiiiPart I Contemporary Security1 The N Việt làm thế nào để nói

Table of ContentsIntroduction xxiii

Table of Contents
Introduction xxiii
Part I Contemporary Security
1 The Need for Secure Systems 3
Applications on the Wild Wild Web 5
The Need for Trustworthy Computing 7
Getting Everyone’s Head in the Game 7
Using Tact to Sell Security to the Organization 8
Using Subversion 11
Some Ideas for Instilling a Security Culture 13
Get the Boss to Send an E-Mail 14
Nominate a Security Evangelist 15
The Attacker’s Advantage and the Defender’s Dilemma 19
Principle #1: The defender must defend all points; the attacker can choose the weakest point. 19
Principle #2: The defender can defend only against known attacks; the attacker can probe for unknown vulnerabilities. 20
Principle #3: The defender must be constantly vigilant; the attacker can strike at will. 20
Principle #4: The defender must play by the rules; the attacker can play dirty. 21
Summary 21
2 The Proactive Security Development Process 23
Process Improvements 25
The Role of Education 26
Resistance to Mandatory Training 29
Ongoing Training 29
Advancing the Science of Security 29
Education Proves the More Eyes Fallacy 31
Now the Evidence! 31
Design Phase 32
Security Questions During Interviews 33

vii



Define the Product Security Goals 34
Security Is a Product Feature 37
Making Time for Security 40
Threat Modeling Leads to Secure Design 41
Build End-of-Life Plans for Insecure Features 41
Setting the Bug Bar 41
Security Team Review 43
Development Phase 43
Be Hardcore About Who Can Check In New Code (Check-Ins Checked) 43
Security Peer Review of New Code (Check-Ins Checked) 44
Define Secure Coding Guidelines 44
Review Old Defects 44
External Security Review 45
Security Push 45
Be Mindful of Your Bug Counts 46
Keep Track of Bug Metrics 46
No Surprises and No Easter Eggs! 47
Test Phase 47
Shipping and Maintenance Phases 47
How Do You Know When You’re Done? 47
Response Process 48
Accountability 49
Summary 49
3 Security Principles to Live By 51
SD3: Secure by Design, by Default, and in Deployment 51
Secure by Design 51
Secure by Default 53
Secure in Deployment 53
Security Principles 54
Learn from Mistakes 54
Minimize Your Attack Surface 57
Employ Secure Defaults 57
Use Defense in Depth 59
Use Least Privilege 60
Backward Compatibility Will Always Give You Grief 62



Assume External Systems Are Insecure 63
Plan on Failure 64
Fail to a Secure Mode 64
Remember That Security Features != Secure Features 66
Never Depend on Security Through Obscurity Alone 66
Don’t Mix Code and Data 67
Fix Security Issues Correctly 67
Summary 68
4 Threat Modeling 69
Secure Design Through Threat Modeling 70
Assemble the Threat-Modeling Team 72
Decompose the Application 73
Determine the Threats to the System 83
Rank the Threats by Decreasing Risk 93
Choose How to Respond to the Threats 106
Choose Techniques to Mitigate the Threats 107
Security Techniques 108
Authentication 109
Authorization 114
Tamper-Resistant and Privacy-Enhanced Technologies 115
Protect Secrets, or Better Yet, Don’t Store Secrets 116
Encryption, Hashes, MACs, and Digital Signatures 116
Auditing 117
Filtering, Throttling, and Quality of Service 118
Least Privilege 118
Mitigating the Sample Payroll Application Threats 118
A Cornucopia of Threats and Solutions 120
Summary 124
Part II Secure Coding Techniques
5 Public Enemy #1: The Buffer Overrun 127
Stack Overruns 129
Heap Overruns 138
Array Indexing Errors 144
Format String Bugs 147



Unicode and ANSI Buffer Size Mismatches 153
A Real Unicode Bug Example 154
Preventing Buffer Overruns 155
Safe String Handling 156
A Word of Caution About String-Handling Functions 166
The Visual C++ .NET /GS Option 167
Summary 170
6 Determining Appropriate Access Control 171
Why ACLs Are Important 171
A Diversion: Fixing the Registry Code 173
What Makes Up an ACL? 175
A Method of Choosing Good ACLs 178
Effective Deny ACEs 180
Creating ACLs 181
Creating ACLs in Windows NT 4 181
Creating ACLs in Windows 2000 185
Creating ACLs with Active Template Library 189
Getting the ACE Order Right 191
Be Wary of the Terminal Server and Remote Desktop SIDs 193
NULL DACLs and Other Dangerous ACE Types 195
NULL DACLs and Auditing 197
Dangerous ACE Types 197
What If I Can’t Change the NULL DACL? 198
Other Access Control Mechanisms 199
.NET Framework Roles 199
COM+ Roles 201
IP Restrictions 202
SQL Server Triggers and Permissions 203
A Medical Example 203
An Important Note About Access Control Mechanisms 205
Summary 206
7 Running with Least Privilege 207
Least Privilege in the Real World 208
Viruses and Trojans 209
Web Server Defacements 210


Brief Overview of Access Control 211
Brief Overview of Privileges 211
SeBackupPrivilege Issues 212
SeRestorePrivilege Issues 215
SeDebugPrivilege Issues 215
SeTcbPrivilege Issues 216
SeAssignPrimaryTokenPrivilege and SeIncreaseQuotaPrivilege Issues 217
SeLoadDriverPrivilege Issues 217
SeRemoteShutdownPrivilege Issues 217
SeTakeOwnershipPrivilege Issues 217
Brief Overview of Tokens 218
How Tokens, Privileges, SIDs, ACLs, and Processes Relate 218
SIDs and Access Checks, Privileges and Privilege Checks 219
Three Reasons Applications Require Elevated Privileges 220
ACL Issues 220
Privilege Issue 221
Using LSA Secrets 221
Solving the Elevated Privileges Issue 222
Solving ACL Issues 222
Solving Privilege Issues 223
Solving LSA Issues 223
A Process for Determining Appropriate Privilege 223
Step 1: Find Resources Used by the Application 224
Step 2: Find Privileged APIs Used by the Application 224
Step 3: Which Account Is Required? 226
Step 4: Get the Token Contents 226
Step 5: Are All the SIDs and Privileges Required? 232
Step 6: Adjust the Token 233
Low-Privilege Service Accounts in Windows XP and Windows .NET Server 2003 248
The Impersonate Privilege and Windows .NET Server 2003 250
Debugging Least-Privilege Issues 251
Why Applications Fail as a Normal User 251
How to Determine Why Applications Fail 252
Summary 258



8 Cryptographic Foibles 259
Using Poor Random Numbers 259
The Problem: rand 260
Cryptographically Random Numbers in Win32 262
Cryptographically Random Numbers in Managed Code 268
Cryptographically Random Numbers in Web Pages 269
Using Passwords to Derive Cryptographic Keys 269
Measuring the Effective Bit Size of a Password 270
Key Management Issues 272
Long-Term and Short-Term Keys 274
Use Appropriate Key Lengths to Protect Data 274
Keep Keys Close to the Source 276
Key Exchange Issues 279
Creating Your Own Cryptographic Functions 281
Using the Same Stream-Cipher Encryption Key 283
Why People Use Stream Ciphers 284
The Pitfalls of Stream Ciphers 284
What If You Must Use the Same Key? 287
Bit-Flipping Attacks Against Stream Ciphers 289
Solving Bit-Flipping Attacks 290
When to Use a Hash, Keyed Hash, or Digital Signature 290
Reusing a Buffer for Plaintext and Ciphertext 296
Using Crypto to Mitigate Threats 297
Document Your Use of Cryptography 298
9 Protecting Secret Data 299
Attacking Secret Data 300
Sometimes You Don’t Need to Store a Secret 301
Creating a Salted Hash 302
Using PKCS #5 to Make the Attacker’s Job Harder 303
Getting the Secret from the User 305
Protecting Secrets in Windows 2000 and Later 305
A Special Case: Client Credentials in Windows XP 309
Protecting Secrets in Windows NT 4 311
Protecting Secrets in Windows 95, Windows 98, Windows Me, and Windows CE 315
Getting Device Details Using PnP 316



Not Opting for a Least Common Denominator Solution 320
Managing Secrets in Memory 321
A Compiler Optimization Caveat 322
Encrypting Secret Data in Memory 326
Locking Memory to Prevent Paging Sensitive Data 327
Protecting Secret Data in Managed Code 329
Managing Secrets in Memory in Managed Code 335
Raising the Security Bar 336
Storing the Data in a File on a FAT File System 337
Using an Embedded Key and XOR to Encode the Data 337
Using an Embedded Key and 3DES to Encrypt the Data 337
Using 3DES to Encrypt the Data and Storing a Password in the Registry 337
Using 3DES to Encrypt the Data and Storing a Strong Key in the Registry 337
Using 3DES to Encrypt the Data, Storing a Strong Key in the Registry, and ACLing the File and the Registry Key
338
Using 3DES to Encrypt the Data, Storing a Strong Key in the Registry, Requiring the User to Enter a Password, and ACLing the File and the Registry Key

338
Trade-Offs When Protecting Secret Data 338
Summary 339
10 All Input Is Evil! 341
The Issue 342
Misplaced Trust 343
A Strategy for Defending Against Input Attacks 345
How to Check Validity 347
Tainted Variables in Perl 349
Using Regular Expressions for Checking Input 350
Be Careful of What You Find—Did You Mean to Validate? 352
Regular Expressions and Unicode 353
A Regular Expression Rosetta Stone 358
Regular Expressions in Perl 358
Regular Expressions in Managed Code 359
Regular Expressions in Script 360
Regular Expressions in C++ 360
A Best Practice That Does Not Use Regular Expressions 361
Summary 362



11 Canonical Representation Issues 363
What Does Canonical Mean, and Why Is It a Problem? 364
Canonical Filename Issues 364
Bypassing Napster Name Filtering 364
Vulnerability in Apple Mac OS X and Apache 365
DOS Device Names Vulnerability 365
Sun Microsystems StarOffice /tmp Directory Symbolic-Link Vulnerability 366
Common Windows Canonical Filename Mistakes 367
Canonical Web-Based Issues 373
Bypassing AOL Parental Controls 373
Bypassing eEye’s Security Checks 374
Zones and the Internet Explorer 4 “Dotless-IP Address” Bug 374
Internet Information Server 4.0 ::$DATA Vulnerability 375
When is a Line Really Two Lines? 377
Yet Another Web Issue—Escaping 378
Visual Equivalence Attacks and the Homograph Attack 382
Preventing Canonicalization Mistakes 383
Don’t Make Decisions Based on Names 383
Use a Regular Expression to Restrict What’s Allowed in a Name 383
Stopping 8.3 Filename Generation 385
Don’t Trust the PATH—Use Full Path Names 385
At
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Bảng nội dungGiới thiệu xxiiiPhần I an ninh hiện đại1 sự cần thiết cho an toàn hệ thống 3 Các ứng dụng trên Wild Wild Web 5 Sự cần thiết cho 7 máy tính đáng tin cậy Bắt đầu của mọi người trong các trò chơi 7 Sử dụng Tact để bán bảo mật để tổ chức 8 Sử dụng Subversion 11 Một số ý tưởng cho Instilling một nền văn hóa an ninh 13 Nhận được các ông chủ để gửi E-Mail 14 Đề cử một nhà truyền giáo bảo mật 15 Lợi thế của kẻ tấn công và các hậu vệ tiến thoái lưỡng nan 19 Nguyên tắc #1: Các hậu vệ phải bảo vệ tất cả các điểm; những kẻ tấn công có thể chọn điểm yếu nhất. 19 Nguyên tắc #2: Các hậu vệ có thể bảo vệ chỉ chống lại cuộc tấn công nổi tiếng; những kẻ tấn công có thể thăm dò lỗ hổng không rõ. 20 Nguyên tắc #3: Các hậu vệ phải liên tục cảnh giác; những kẻ tấn công có thể tấn công lúc sẽ. 20 Nguyên tắc #4: Các hậu vệ phải chơi đúng luật; những kẻ tấn công có thể chơi bẩn. 21 Tóm tắt 212 quy trình phát triển chủ động bảo mật 23 Quá trình cải tiến 25 Vai trò của giáo dục 26 Các kháng chiến để bắt buộc đào tạo 29 Liên tục đào tạo 29 Thúc đẩy khoa học an ninh 29 Giáo dục chứng minh những sai lầm mắt thêm 31 Bây giờ là những bằng chứng! 31 Giai đoạn thiết kế 32 An ninh câu hỏi trong cuộc phỏng vấn 33 VII Xác định mục tiêu sản phẩm bảo mật 34 An ninh là một tính năng sản phẩm 37 Làm cho thời gian cho an ninh 40 Dẫn mô hình mối đe dọa đến an toàn thiết kế 41 Xây dựng kế hoạch cuối cùng của cuộc sống cho các tính năng không an toàn 41 Thiết lập thanh lỗi 41 An ninh đội đánh giá 43 Giai đoạn phát triển 43 Được Hardcore về những người có thể kiểm tra mã mới (Check-in kiểm tra) 43 An ninh bình duyệt mới Mã (Check-in kiểm tra) 44 Xác định nguyên tắc mã hóa an toàn 44 Nhận xét Khuyết tật cũ 44 Bảo mật bên ngoài đánh giá 45 An ninh đẩy 45 Được lưu tâm đến tính lỗi của bạn 46 Theo dõi các số liệu lỗi 46 Ngạc nhiên không có và không có trứng Phục sinh! 47 Giai đoạn thử nghiệm 47 Vận chuyển và bảo trì giai đoạn 47 Làm thế nào để bạn biết khi bạn đã hoàn tất? 47 Quá trình phản ứng 48 Trách nhiệm 49 Tóm tắt 493 nguyên tắc bảo mật để sinh sống bằng 51SD3: An toàn bởi thiết kế, theo mặc định, và trong việc triển khai 51Đảm bảo bằng cách thiết kế 51Đảm bảo bằng cách mặc định 53An toàn trong triển khai 53Nguyên tắc bảo mật 54Tìm hiểu từ những sai lầm 54Giảm thiểu bề mặt tấn công của bạn 57Sử dụng an toàn mặc định 57Sử dụng phòng thủ ở độ sâu 59Sử dụng ít nhất là đặc quyền 60Tương thích ngược sẽ luôn luôn cung cấp cho bạn đau buồn 62 Giả sử Hệ thống bên ngoài là không an toàn 63 Kế hoạch thất bại 64 Không một chế độ bảo mật 64 Hãy nhớ rằng tính năng bảo mật! = tính năng bảo mật 66 Không bao giờ phụ thuộc vào tính bảo mật thông qua tối tăm một mình 66 Không pha trộn mã và dữ liệu 67 Khắc phục sự cố bảo mật một cách chính xác 67 Tóm tắt 684 các mối đe dọa mô hình hóa 69 Các thiết kế an toàn thông qua các mối đe dọa mô hình hóa 70 Lắp ráp đội lập mô hình mối đe dọa 72 Phân hủy các ứng dụng 73 Xác định các mối đe dọa hệ thống 83 Đánh giá các mối đe dọa bằng cách giảm rủi ro 93 Chọn làm thế nào để đối phó với các mối đe dọa 106 Chọn các kỹ thuật để giảm thiểu những mối đe dọa 107 Kỹ thuật bảo mật 108 Xác thực 109 Ủy quyền 114 Dụng cụ và công nghệ chống làm xáo trộn và tăng cường bảo mật 115 Bảo vệ bí mật, hoặc tốt hơn, không lưu trữ bí mật 116 Mật mã, băm, Mac, và chữ ký số 116 Kiểm định 117 Lọc, Throttling, và chất lượng dịch vụ 118 Ít nhất là đặc quyền 118 Giảm nhẹ ứng dụng biên chế mẫu mối đe dọa 118 Một dồi dào của mối đe dọa và giải pháp 120 Tóm tắt 124Phần II kỹ thuật mã hóa an toàn5 public Enemy #1: bộ đệm tràn ngập 127Ngăn xếp nghiêm 129Đống nghiêm 138Mảng chỉ mục lỗi 144Định dạng chuỗi lỗi 147 Unicode và ANSI bộ đệm kích thước Mismatches 153 Một ví dụ thực tế Unicode lỗi 154 Ngăn chặn bộ đệm Overruns 155 An toàn chuỗi xử lý 156 Một lời cảnh cáo về chức năng xử lý chuỗi 166 Tùy chọn /GS .NET Visual C ++ 167 Tóm tắt 1706 xác định thích hợp truy cập kiểm soát 171 Tại sao ACLs là quan trọng 171 Một chuyeån: Sửa chữa Registry mã 173 Điều gì làm cho lên một ACL? 175 Một phương pháp lựa chọn tốt ACLs 178 Hiệu quả từ chối ACEs 180 Tạo ACLs 181 Tạo ACLs trong Windows NT 4 181 Tạo ACLs trong Windows 2000 185 Tạo ACLs với hoạt động mẫu thư viện 189 Nhận được các ACE để quyền 191 Hãy cảnh giác với thiết bị đầu cuối máy chủ và từ xa máy tính để bàn SIDs 193 KHÔNG DACLs và các loại nguy hiểm ACE 195 NULL DACLs và kiểm định 197 Nguy hiểm ACE loại 197 Nếu tôi không thể thay đổi NULL DACL? 198 Các cơ chế kiểm soát truy cập 199 .NET framework vai trò 199 COM + vai trò 201 IP hạn chế 202 SQL Server gây nên và quyền 203 Một ví dụ y tế 203 Một lưu ý quan trọng về cơ chế kiểm soát truy cập 205 Tóm tắt 2067 chạy với ít nhất là đặc quyền 207 Ít nhất là đặc quyền trong thế giới thực 208 Vi-rút và Trojans 209 Web Server Defacements 210 Tổng quan về kiểm soát truy cập 211Tổng quan về đặc quyền 211SeBackupPrivilege vấn đề 212SeRestorePrivilege vấn đề 215SeDebugPrivilege vấn đề 215SeTcbPrivilege vấn đề 216SeAssignPrimaryTokenPrivilege và SeIncreaseQuotaPrivilege vấn đề 217SeLoadDriverPrivilege vấn đề 217SeRemoteShutdownPrivilege vấn đề 217SeTakeOwnershipPrivilege vấn đề 217Tổng quan về thẻ 218Cách thẻ, đặc quyền, SIDs, ACLs và các quá trình liên quan 218SIDs và kiểm tra truy cập, quyền và đặc quyền kiểm tra 219Ba lý do ứng dụng đòi hỏi cao đặc quyền 220Vấn đề ACL 220Vấn đề quyền 221Bằng cách sử dụng LSA Secrets 221Giải quyết vấn đề cao đặc quyền 222Giải quyết các vấn đề ACL 222Giải quyết các vấn đề đặc quyền 223Giải quyết các vấn đề LSA 223Một quá trình để xác định thích hợp đặc quyền 223Bước 1: Tìm các nguồn tài nguyên được sử dụng bởi ứng dụng 224Bước 2: Tìm đặc quyền API được sử dụng bởi ứng dụng 224Bước 3: Các tài khoản mà là bắt buộc? 226Bước 4: Nhận được nội dung Token 226Bước 5: Là tất cả các SIDs và đặc quyền cần thiết? 232Bước 6: Điều chỉnh 233 mã thông báoThấp đặc quyền dịch vụ tài khoản trong Windows XP và Windows .NET Server 2003 248Impersonate đặc quyền và Windows .NET Server 2003 250Gỡ lỗi vấn đề ít nhất là đặc quyền 251Tại sao ứng dụng thất bại như là một người sử dụng bình thường 251Làm thế nào để xác định lý do tại sao ứng dụng thất bại 252Tóm tắt 258 8 mật mã Foibles 259 Bằng cách sử dụng số ngẫu nhiên nghèo 259 Vấn đề: rand 260 Số mã hóa ngẫu nhiên ở Win32 262 Số mã hóa ngẫu nhiên trong quản lý mã 268 Số mã hóa ngẫu nhiên trong các trang Web 269 Sử dụng mật khẩu để lấy được mật mã phím 269 Đo kích thước hiệu quả Bit của một mật khẩu 270 Vấn đề quản lý chủ chốt 272 Phím dài hạn và ngắn hạn 274 Sử dụng phím dài thích hợp để bảo vệ dữ liệu 274 Giữ phím gần nguồn 276 Khoá trao đổi các vấn đề 279 Tạo của riêng bạn chức năng mật mã 281 Sử dụng cùng một mật mã dòng mã khóa 283 Tại sao người sử dụng Stream mật mã 284 Những cạm bẫy của thuật toán mật mã Stream 284 Điều gì nếu bạn phải sử dụng cùng một phím? 287 Flipping chút cuộc tấn công chống lại mật mã Stream 289 Giải quyết các cuộc tấn công Bit Flipping 290 Khi sử dụng một Hash, băm đầu cặp có khóa, hoặc kỹ thuật số chữ ký 290 Tái sử dụng một bộ đệm cho văn bản thuần và Ciphertext 296 Bằng cách sử dụng Crypto để giảm thiểu mối đe dọa 297 Tài liệu của bạn sử dụng mật mã 2989 bảo vệ bí mật dữ liệu 299 Tấn công bí mật dữ liệu 300 Đôi khi bạn không cần phải lưu trữ một bí mật 301 Tạo một băm muối 302 Bằng cách sử dụng PKCS #5 cho kẻ tấn công của công việc khó khăn hơn 303 Nhận được những bí mật từ người sử dụng 305 Bảo vệ bí mật trong Windows 2000 và sau này 305 Một trường hợp đặc biệt: Khách hàng thông tin đăng nhập trong Windows XP 309 Bảo vệ bí mật trong Windows NT 4 311 Bảo vệ bí mật trong Windows 95, Windows 98, Windows Me, và Windows CE 315 Nhận được chi tiết thiết bị bằng cách sử dụng các PnP 316 Không phải lựa chọn một giải pháp ít nhất phổ biến mẫu số 320 Quản lý các bí mật trong bộ nhớ 321 Một tối ưu hóa trình biên dịch Caveat 322 Mật mã hóa các dữ liệu bí mật trong bộ nhớ 326 Khóa bộ nhớ để ngăn Paging dữ liệu nhạy cảm 327 Bảo vệ các dữ liệu bí mật trong quản lý mã 329 Quản lý các bí mật trong bộ nhớ trong quản lý mã 335 Nâng cao bảo mật thanh 336 Lưu trữ dữ liệu trong một tập tin trên một hệ thống tập tin kiểu FAT 337 Bằng cách sử dụng một chìa khóa nhúng và XOR để mã hóa dữ liệu 337 Bằng cách sử dụng một chìa khóa nhúng và 3DES để mã hóa dữ liệu 337 Bằng cách sử dụng 3DES để mã hóa dữ liệu và lưu trữ mật khẩu trong đăng ký 337 Bằng cách sử dụng 3DES để mã hóa dữ liệu và lưu trữ một phím mạnh mẽ trong sổ đăng ký 337 Sử dụng 3DES để mã hóa dữ liệu, lưu trữ một phím mạnh mẽ trong sổ đăng ký, và ACLing các tập tin và khóa sổ đăng ký 338 Sử dụng 3DES để mã hóa dữ liệu, lưu trữ một phím mạnh mẽ trong sổ đăng ký, yêu cầu người dùng nhập một mật khẩu, và ACLing các tập tin và khóa sổ đăng ký 338 Thương mại-Offs khi bảo vệ bí mật dữ liệu 338 Tóm tắt 33910 tất cả đầu vào là ác! 341 Vấn đề 342 Sự tin tưởng đặt sai chỗ 343 Một chiến lược để bảo vệ chống lại đầu vào tấn công 345 Làm thế nào để kiểm tra tính hợp lệ 347 Hôi biến trong Perl 349 Sử dụng Regular Expressions cho kiểm tra đầu vào 350 Hãy cẩn thận về những gì bạn tìm thấy-đã làm bạn có nghĩa là để xác nhận? 352 Biểu thức thông thường và Unicode 353 Một cụm từ thông dụng Rosetta Stone 358 Biểu thức thông thường trong Perl 358 Biểu thức thông thường trong quản lý mã 359 Biểu thức thông thường trong kịch bản 360 Biểu thức thông thường trong C++ 360 Một thực hành tốt nhất mà không sử dụng biểu thức thông thường 361 Tóm tắt 362 11 các vấn đề kinh điển đại diện 363 Những gì hiện có nghĩa là kinh điển, và tại sao là nó là một vấn đề? 364 Kinh điển tên tập tin vấn đề 364 Bỏ qua Napster tên lọc 364 Lỗ hổng trong Apple Mac OS X và Apache 365 Thiết bị DOS tên lỗ hổng 365 Sun Microsystems StarOffice thư mục/tmp Directory Symbolic liên kết dễ bị tổn thương 366 Sai lầm kinh điển tên tập tin phổ biến Windows 367 Vấn đề kinh điển của Web dựa trên 373 Bỏ qua điều khiển của cha mẹ AOL 373 Bỏ qua của eEye an ninh kiểm tra 374 Khu và Internet Explorer 4 "Dotless IP địa chỉ" lỗi 374 Hệ phục vụ thông tin Internet 4.0:: $DATA lỗ hổng 375 Khi là một dòng thực sự hai dòng? 377 Tuy nhiên, một Web vấn đề — thoát 378 Cuộc tấn công tương đương trực quan và các cuộc tấn công Homograph 382 Ngăn chặn quá trình chuẩn hóa sai lầm 383 Không đưa ra quyết định dựa trên tên 383 Sử dụng một cụm từ thông dụng để hạn chế những gì được cho phép trong một tên 383 Thế hệ tên tập tin 8.3 dừng 385 Không tin tưởng con đường-sử dụng đường dẫn đầy đủ tên 385 Tại
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Table of Contents
Giới thiệu xxiii
Phần I Contemporary an
1 Nhu cầu Hệ thống an toàn 3
ứng dụng trên Web Wild Wild 5
Nhu cầu Trustworthy Computing 7
Bắt mọi người Head trong Game 7
dùng Tact để bán bảo mật đối với Tổ chức 8
Sử dụng Subversion 11
Một số ý tưởng Thấm nhuần cho một nền văn hoá an ninh 13
Lấy Boss để Gửi E-Mail 14
Nominate một Thánh An ninh 15
Advantage của Attacker và Dilemma 19 của Defender
Nguyên tắc # 1: Hậu vệ phải bảo vệ tất cả các điểm; kẻ tấn công có thể lựa chọn những điểm yếu nhất. 19
Nguyên tắc số 2: Các hậu vệ có thể bảo vệ chống lại các cuộc tấn công chỉ biết; kẻ tấn công có thể thăm dò các lỗ hổng chưa được biết. 20
Nguyên tắc # 3: Hậu vệ phải liên tục cảnh giác; kẻ tấn công có thể tấn công theo ý muốn. 20
Nguyên tắc # 4: Hậu vệ phải chơi đúng luật; kẻ tấn công có thể chơi bẩn. 21
Tóm tắt 21
2 Proactive Phát triển An ninh Process 23
Quy trình cải tiến 25
Vai trò của giáo dục 26
Resistance để đào tạo bắt buộc 29
đang thực hiện đào tạo 29
Tiến Khoa học An ninh 29
Giáo dục Chứng minh các sai lầm khác Eyes 31
Bây giờ các bằng chứng! 31
Giai đoạn thiết kế 32
câu hỏi bảo mật Trong cuộc phỏng vấn 33 vii Xác định các mục tiêu sản phẩm an ninh 34 An ninh Đặc tính sản phẩm 37 Làm Time An ninh 40 Threat Modeling Dẫn đến an toàn Thiết kế 41 Build End of-Life Kế hoạch không an toàn Tính năng 41 Đặt Bug Bar 41 an ninh Đoàn đánh giá 43 Phát triển giai đoạn 43 Hãy Hardcore Về Ai có thể Kiểm tra Trong Mã New (Check-Ins Checked) 43 an ninh Peer xét của Bộ luật mới (Check-Ins Checked) 44 Xác định bảo mật Nguyên tắc mã 44 Xem lại Old Defects 44 External Security Review 45 an ninh Đẩy 45 Quán Niệm Bug của bạn Counts 46 Giữ Theo dõi của Metrics Bug 46 Không ngạc nhiên và No Easter Eggs! 47 Giai đoạn thử nghiệm 47 Vận chuyển và bảo dưỡng giai đoạn 47 Làm thế nào Bạn có biết khi bạn đang làm gì? 47 Response Process 48 Accountability 49 Tóm tắt 49 3 nguyên tắc an Sống Bằng 51 SD3: Secure bởi Thiết kế, bởi mặc định, và trong Deployment 51 an toàn bằng cách thiết kế 51 an toàn theo Mặc định 53 an toàn trong triển khai 53 nguyên tắc an ninh 54 Tìm hiểu từ những sai lầm 54 Giảm thiểu tấn công của bạn Surface 57 sử dụng mặc định an toàn 57 Sử dụng Defense in Depth 59 Sử dụng Least Privilege 60 Khả năng tương thích ngược Will Always Cho Bạn đau buồn 62 Giả sử hệ thống bên ngoài là không an toàn 63 Kế hoạch thất bại 64 Fail để một chế độ an toàn 64 Ghi Đó tính năng bảo mật! = Các tính năng an toàn 66 Never Depend về an ninh thông qua tối tăm một mình 66 Không Mix Mã và dữ liệu 67 vấn đề an ninh Fix đúng 67 Tóm tắt 68 4 Threat Mô hình hóa 69 Bảo mật Thiết kế Thông qua mối đe dọa Mô hình hóa 70 Lắp ráp các đội Threat-Modeling 72 Phân hủy các ứng dụng 73 Xác định các mối đe dọa đến hệ thống 83 Rank các mối đe dọa bằng cách tăng Giảm rủi ro 93 Chọn Làm thế nào để ứng phó với các mối đe dọa 106 Chọn Kỹ thuật để Giảm thiểu các mối đe dọa 107 an ninh kỹ thuật 108 Xác thực 109 Authorization 114 Technologies 115 Tamper kháng và Bảo mật-Enhanced Secrets Protect, hoặc tốt hơn Tuy nhiên, Không Lưu trữ bí mật 116 Encryption, băm, MAC, và chữ ký kỹ thuật số 116 Kiểm toán 117 lọc, chỉnh tiết lưu, và chất lượng dịch vụ 118 Least Privilege 118 Giảm nhẹ các mối đe dọa ứng dụng mẫu tính lương 118 A Cornucopia các mối đe dọa và giải pháp 120 Tóm tắt 124 Phần II an toàn kỹ thuật mã hoá 5 Public Enemy # 1 : The tràn bộ đệm 127 stack vượt 129 Heap vượt 138 Mảng lỗi Indexing 144 Định dạng chuỗi Bugs 147 Unicode và ANSI Buffer Size Sự không tương xứng 153 A Real Unicode Bug Ví dụ 154 Ngăn đệm vượt 155 Safe chuỗi Xử lý 156 A Lời cảnh cáo về chức năng String-Xử lý 166 Visual C ++ .NET / GS Lựa chọn 167 Tóm tắt 170 6 Xác định thích hợp Access Control 171 Tại sao ACLs là quan trọng 171 A Diversion: Sửa luật Registry 173 Điều gì tạo nên Up một ACL? 175 A Cách Lựa chọn tốt ACL 178 hiệu quả Deny ACEs 180 Tạo ACL 181 Tạo ACL trong Windows NT 4 181 Tạo ACL trong Windows 2000 185 Tạo ACL với Active Template Library 189 Bắt các ACE Đặt Ngay 191 Hãy cảnh giác với Terminal Server và Remote Desktop SIDs 193 DACLs NULL và các loại ACE nguy hiểm khác 195 DACLs NULL và Kiểm toán 197 loại ACE Dangerous 197 Nếu tôi không thể thay đổi các NULL DACL? 198 khác Cơ chế điều khiển truy cập 199 NET Roles khung 199 COM + Vai trò 201 Hạn chế IP 202 SQL Server Triggers và Quyền 203 A Ví dụ y tế 203 Lưu ý Quan trọng về truy cập cơ chế kiểm soát 205 Tóm tắt 206 7 Chạy với Least Privilege 207 Least Privilege trong thế giới thực 208 virus và Trojan 209 Web Server deface 210 Tổng quan Giới thiệu tóm tắt của Access Control 211 Tổng quan Giới thiệu tóm tắt về quyền ưu đãi 211 SeBackupPrivilege vấn đề 212 SeRestorePrivilege vấn đề 215 SeDebugPrivilege vấn đề 215 SeTcbPrivilege vấn đề 216 SeAssignPrimaryTokenPrivilege và SeIncreaseQuotaPrivilege vấn đề 217 SeLoadDriverPrivilege vấn đề 217 SeRemoteShutdownPrivilege vấn đề 217 SeTakeOwnershipPrivilege vấn đề 217 Tổng quan Tóm tắt Tokens 218 Làm thế nào Tokens, quyền ưu đãi, SID, ACL, và các quá trình Relate 218 SIDs và Kiểm tra Access, quyền ưu đãi, Privilege Kiểm tra 219 Ba lý do ứng dụng Yêu cầu Privileges Elevated 220 ACL vấn đề 220 Privilege Issue 221 Sử dụng LSA Secrets 221 Giải quyết các đặc quyền cao Issue 222 Giải quyết ACL vấn đề 222 Giải quyết vấn đề Privilege 223 Giải quyết các vấn đề LSA 223 Tiến trình xác định phù hợp Privilege 223 Bước 1: Tìm Tài nguyên sử dụng bởi các ứng dụng 224 Bước 2: Tìm API Privileged Được sử dụng bởi các ứng dụng 224 Bước 3: Những Tài Khoản là bắt buộc? 226 Bước 4: Lấy Contents token 226 Bước 5: Có phải tất cả các SID và quyền ưu đãi cần thiết? 232 Bước 6: Điều chỉnh Token 233 Low-Privilege Dịch vụ Tài khoản trong Windows XP và Windows .NET Server 2003 248 The Privilege Mạo danh và Windows .NET Server 2003 250 Debugging Least Privilege-vấn đề 251 Tại sao ứng dụng thất bại như một người bình thường 251 Làm thế nào để Xác định Tại sao ứng dụng Fail 252 Tóm tắt 258 8 Cryptographic nhược điểm 259 Sử dụng Poor số ngẫu nhiên 259 Vấn đề: rand 260 số được mã hóa ngẫu nhiên trong Win32 262 số được mã hóa ngẫu nhiên trong Managed Mã 268 số được mã hóa ngẫu nhiên trong trang Web 269 Sử dụng mật khẩu để lấy được mật mã phím 269 Đo lường hiệu quả Bit Kích thước của một mật khẩu 270 Key vấn đề quản lý 272 dài hạn và ngắn hạn Phím 274 Sử dụng thích hợp Key độ dài để bảo vệ dữ liệu 274 Giữ phím Gần Nguồn 276 Key Exchange vấn đề 279 Tạo riêng của bạn Cryptographic Chức năng 281 Sử dụng Cùng Stream Cipher Encryption Key 283 Tại sao người sử dụng thuật toán mã hóa 284 Suối Những cạm bẫy của Suối thuật toán mã hóa 284 gì Nếu Bạn Phải Sử dụng các khóa giống nhau không? 287 Bit-Flipping tấn công chống Suối thuật toán mã hóa 289 Giải quyết Bit-Flipping Attacks 290 Khi sử dụng một Hash, Keyed Hash, hoặc Digital Signature 290 Dùng lại một vùng đệm cho Plaintext và bản mã 296 Sử dụng Crypto để Giảm thiểu các mối đe dọa 297 tài liệu sử dụng của bạn của Cryptography 298 9 Bảo vệ bí mật dữ liệu 299 phương bí mật dữ liệu 300 Đôi khi bạn không cần để Store một bí mật 301 Tạo một muối Hash 302 PKCS dùng # 5 để làm cho công việc của Attacker Harder 303 Bắt bí mật từ người dùng 305 Bảo vệ bí mật trong Windows 2000 và sau 305 A Trường hợp đặc biệt: Credentials Khách hàng trong Windows XP 309 Bảo vệ bí mật trong Windows NT 4 311 Bảo vệ bí mật trong Windows 95, Windows 98, Windows Me, và Windows CE 315 Bắt Chi tiết Thiết bị dùng PnP 316 Not Chọn cho một Least Common Mẫu số giải pháp 320 Quản lý bí mật trong bộ nhớ 321 A Compiler Optimization Nên biết trước 322 Encrypting bí mật dữ liệu trong bộ nhớ 326 Khóa nhớ để Ngăn chặn Paging Sensitive liệu 327 Bảo vệ bí mật dữ liệu trong luật quản lý 329 Quản lý bí mật trong bộ nhớ trong Luật Quản lý 335 Nâng cao an ninh Bar 336 Lưu trữ các dữ liệu trong một tập tin trên một FAT File System 337 Sử dụng một Key nhúng và XOR để mã hóa dữ liệu 337 Sử dụng một Key nhúng và 3DES để mã hóa dữ liệu 337 Sử dụng 3DES để mã hóa các dữ liệu và lưu trữ mật khẩu trong Registry 337 Sử dụng 3DES để mã hóa các dữ liệu và lưu trữ một Key mạnh trong Registry 337 Sử dụng 3DES để mã hóa dữ liệu, lưu trữ một khóa mạnh mẽ trong Registry, và ACLing File và Registry Key 338 Sử dụng 3DES để mã hóa dữ liệu, lưu trữ một khóa mạnh mẽ trong Registry, Yêu cầu người dùng để Nhập mật khẩu , và ACLing File và Registry Key 338 Trade-offs Khi Bảo vệ bí mật dữ liệu 338 Tóm tắt 339 10 Tất cả các đầu vào là ác! 341 Vấn đề 342 bị đặt nhầm Tín 343 Một chiến lược Chống lại Input Attacks 345 Làm thế nào để Kiểm tra hiệu lực 347 biến nhiễm trong Perl 349 Sử dụng biểu thức thường xuyên cho kiểm tra đầu vào 350 Hãy cẩn thận của những gì bạn Tìm-Bạn Muốn Nói để chứng thực? 352 Regular Expressions và Unicode 353 A Regular Expression Rosetta Stone 358 biểu hiện thường xuyên trong Perl 358 biểu hiện thường xuyên trong Managed Mã 359 biểu hiện thường xuyên trong Script 360 biểu hiện thường xuyên trong C ++ 360 A thực hành tốt nhất mà không sử dụng thường xuyên Expressions 361 Tóm tắt 362 11 Canonical Đại diện vấn đề 363 Liệu những gì Canonical Mean, và Tại sao là một vấn đề? 364 Canonical vấn đề Filename 364 Bỏ qua Napster Tên Filtering 364 Lỗ hổng trong Apple Mac OS X và Apache 365 DOS Device Names Vulnerability 365 Sun Microsystems StarOffice / tmp mục Symbolic Link Vulnerability 366 Common của Windows Canonical Filename sai lầm 367 Canonical Web-Based vấn đề 373 Bỏ qua AOL Parental Controls 373 Bỏ qua an eEye Kiểm tra 374 Zones và Internet Explorer 4 "Dotless-IP Address" Bug 374 Internet Information Server 4.0 :: $ DỮ LIỆU Vulnerability 375 Khi là một dòng Really Hai dòng? 377 Yet Another Web Issue-Escaping 378 tương đương tấn công thị giác và các Homograph tấn công 382 Ngăn chặn sai lầm Canonicalization 383 Không Kiếm Quyết Dựa trên Names 383 Sử dụng một biểu hiện thường xuyên để Restrict gì cho phép trong một danh 383 Dừng 8.3 Filename thế hệ 385 Do not Trust các tên PATH-Sử dụng Full Path 385 Tại




























































































































































































































































đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: