Training
Certifications
Books
Special Offers
Community




 
Security for Microsoft® Visual Basic® .NET
Author Ed Robinson, Michael James Bond
Pages 416
Disk N/A
Level Beg/Int
Published 05/28/2003
ISBN 9780735619197
Price $49.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Companion Content
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Table of Contents


    Introductionxiii
PART I  DEVELOPMENT TECHNIQUES 
1  Encryption3
    Practice Files5
    Hash Digests6
    Private Key Encryption11
        Keeping Private Keys Safe17
    Public Key Encryption19
    Hiding Unnecessary Information22
    Encryption in the Real World24
    Summary25
2  Role-Based Authorization27
    Role-Based Authorization Exercise31
    Windows Integrated Security34
    ASP.NET Authentication and Authorization38
    Role-Based Authorization in the Real World41
    Summary42
3  Code-Access Security45
    How Actions Are Considered Safe or Unsafe46
    What Prevents Harmful Code from Executing?47
    It's On By Default47
    Security Features and the Visual Basic .NET Developer48
    Code-Access Security vs. Application Role-Based Security49
        Code-Access Security Preempts Application Role-Based Security49
    Run Your Code in Different Security Zones51
        What Code-Access Security Is Meant to Protect55
        Permissions—The Basis of What Your Code Can Do55
        Ensuring That Your Code Will Run Safely66
        Cooperating with the Security System68
    Code-Access Security in the Real World72
    Summary73
4  ASP.NET Authentication75
    EmployeeManagementWeb Practice Files77
    Forms Authentication77
    Windows Integrated Security Authentication84
    Passport Authentication88
        Install the Passport SDK90
    ASP.NET Authentication in the Real World98
    Summary98
5  Securing Web Applications99
    Secure Sockets Layer102
        How SSL Works103
    Securing Web Services107
    Implementing an Audit Trail113
    Securing Web Applications in the Real World116
    Summary116
PART II  ENSURING HACK-RESISTANT CODE 
6  Application Attacks and How to Avoid Them121
    Denial of Service Attacks 122
        Defensive Techniques for DoS Attacks123
    File-Based or Directory-Based Attacks 127
        Defensive Technique for File-Based or Directory-Based Attacks128
    SQL-Injection Attacks 132
        Defensive Techniques for SQL-Injection Attacks135
    Cross-Site Scripting Attacks 141
        When HTML Script Injection Becomes a Problem145
        Defensive Techniques for Cross-Site Scripting Attacks148
    Child-Application Attacks 151
        Defensive Technique for Child-Application Attacks153
    Guarding Against Attacks in the Real World155
    Summary156
7  Validating Input 157
    Working with Input Types and Validation Tools 158
        Direct User Input 158
        General Language Validation Tools 165
        Web Application Input 172
        Nonuser Input 174
        Input to Subroutines 177
    Summary 181
8  Handling Exceptions183
    Where Exceptions Occur184
    Exception Handling186
    Global Exception Handlers192
    Exception Handling in the Real World195
    Summary196
9  Testing for Attack-Resistant Code197
    Plan of Attack—The Test Plan198
        Brainstorm—Generate Security-Related Scenarios200
        Get Focused—Prioritize Scenarios204
        Generate Tests206
    Attack—Execute the Plan208
        Testing Approaches208
        Testing Tools213
        Test in the Target Environment217
        Make Testing for Security a Priority218
    Common Testing Mistakes218
        Testing Too Little, Too Late218
        Failing to Test and Retest for Security219
        Failing to Factor In the Cost of Testing220
        Relying Too Much on Beta Feedback220
        Assuming Third-Party Components Are Safe220
    Testing in the Real World221
    Summary222
PART III  DEPLOYMENT AND CONFIGURATION 
10  Securing Your Application for Deployment225
    Deployment Techniques226
        XCopy Deployment226
        No-Touch Deployment227
        Windows Installer Deployment227
        Cabinet-File Deployment228
    Code-Access Security and Deployment230
        Deploy and Run Your Application in the .NET Security Sandbox231
    Certificates and Signing232
        Digital Certificates232
        Authenticode Signing235
        Strong-Name Signing238
        Authenticode Signing vs. Strong Naming242
        Strong Naming, Certificates, and Signing Exercise243
    Deploying .NET Security Policy Updates254
        Update .NET Enterprise Security Policy254
        Deploy .NET Enterprise Security Policy Updates259
    Protecting Your Code—Obfuscation264
        Obscurity <> Security265
    Deployment Checklist266
    Deployment in the Real World267
    Summary268
11  Locking Down Windows, Internet Information Services, and .NET269
    "I'm Already Protected. I'm Using a Firewall."270
    Fundamental Lockdown Principles271
    Automated Tools273
    Locking Down Windows Clients275
        Format Disk Drives Using NTFS275
        Disable Auto Logon275
        Enable Auditing276
        Turn Off Unnecessary Services276
        Turn Off Unnecessary Sharing276
        Use Screen-Saver Passwords277
        Remove File-Sharing Software277
        Implement BIOS Password Protection277
        Disable Boot from Floppy Drive278
    Locking Down Windows Servers278
        Isolate Domain Controller278
        Disable and Delete Unnecessary Accounts278
        Install a Firewall279
    Locking Down IIS279
        Disable Unnecessary Internet Services279
        Disable Unnecessary Script Maps279
        Remove Samples280
        Enable IIS Logging280
        Restrict IUSR_<computername>280
        Install URLScan280
    Locking Down .NET280
    Summary281
12  Securing Databases283
    Core Database Security Concepts284
    SQL Server Authentication284
        Determining Who Is Logged On288
        How SQL Server Assigns Privileges289
    SQL Server Authorization291
    Microsoft Access Authentication and Authorization291
        Microsoft Access User-Level Security Models292
    Locking Down Microsoft Access297
    Locking Down SQL Server298
    Summary300
PART IV  ENTERPRISE-LEVEL SECURITY 
13  Ten Steps to Designing a Secure Enterprise System303
    Design Challenges304
    Step 1: Believe You Will Be Attacked305
    Step 2: Design and Implement Security at the Beginning306
    Step 3: Educate the Team307
    Step 4: Design a Secure Architecture307
        Named-Pipes vs. TCP-IP310
        If You Do Nothing Else.311
    Step 5: Threat-Model the Vulnerabilities311
    Step 6: Use Windows Security Features312
    Step 7: Design for Simplicity and Usability312
    Step 8: No Back Doors314
    Step 9: Secure the Network with a Firewall314
    Step 10: Design for Maintenance316
    Summary317
14  Threats—Analyze, Prevent, Detect, and Respond319
    Analyze for Threats and Vulnerabilities320
        Identify and Prioritize321
    Prevent Attacks by Mitigating Threats326
        Mitigating Threats326
    Detection329
        Early Detection329
        Detecting That an Attack Has Taken Place or Is in Progress330
    Respond to an Attack333
        Prepare for a Response334
    Security Threats in the Real World334
    Summary335
15  Threat Analysis Exercise337
    Analyze for Threats337
        Allocate Time338
        Plan and Document Your Threat Analysis339
        Create a Laundry List of Threats339
        Prioritize Threats344
    Respond to Threats346
    Summary347
16  Future Trends349
    The Arms Race of Hacking350
        No Operating System Is Safe352
        Cyber-Terrorism352
    What Happens Next?354
    Responding to Security Threats356
        Privacy vs. Security356
        The IPv6 Internet Protocol359
        Government Initiatives360
        Microsoft Initiatives360
    Summary362
A  Guide to the Code Samples363
B  Contents of SecurityLibrary.vb375
INDEX379



Last Updated: May 29, 2003
Top of Page