Blockchain Application Security : How to Design Secure and Attack Resilient Blockchain Applications

個数:1
紙書籍版価格
¥26,336
  • 電子書籍
  • ポイントキャンペーン

Blockchain Application Security : How to Design Secure and Attack Resilient Blockchain Applications

  • 著者名:Morana, Marco/Singh, Harpreet/Piccoli, Francesco
  • 価格 ¥16,751 (本体¥15,229)
  • Wiley(2025/09/15発売)
  • ブラックフライデー!Kinoppy電子書籍・電子洋書 全点ポイント30倍キャンペーン(~11/30)
  • ポイント 4,560pt (実際に付与されるポイントはご注文内容確認画面でご確認下さい)
  • 言語:ENG
  • ISBN:9781119551034
  • eISBN:9781119551072

ファイル: /

Description

Learn to secure, design, implement, and test tomorrow's blockchain applications.

Blockchain Application Security guides readers through the architecture and components of blockchain, including protocols such as Bitcoin and beyond, by offering a technical yet accessible introduction. This resource is ideal for application architects, software developers, security auditors, and vulnerability testers working on enterprise blockchain solutions. It bridges the gap between theory and implementation, providing actionable guidance on protecting decentralized systems while capitalizing on their innovative benefits.

Blockchain Application Security covers the essentials, from the fundamentals of distributed ledgers, consensus algorithms, digital wallets, smart contracts, privacy controls, and DIDs, to designing secure dApp architectures with component-level threat analysis and resilient APIs, token transactions, digital exchanges, and identity models. It features a complete lifecycle example for securing a DeFi lending and borrowing platform, along with practical walkthroughs for smart contract development, AWS-integrated blockchain systems, frontend/API integration, and code auditing.

"An accessible, comprehensive blockchain overview that emphasizes its value across industrial and government sectors with a holistic security focus."
David W. Kravitz, Technical Advisor, Spring Labs

"A cutting-edge method for securing blockchain applications, pushing the boundaries of current practice."
David Cervigni, Senior Security Research Engineer at R3

"Bridging theory and practice with realistic examples, this guide empowers architects and developers to build attack-resistant applications."
Steven Wierckx, Product Security Team Lead & Threatmodel Trainer at Toreon

"A valuable resource for blockchain specialists, featuring hands-on examples of deploying dApps on AWS and securing infrastructure."
Ihor Sasovets, Lead Security Engineer, Penetration Tester at TechMagic

"A practical roadmap for navigating blockchain security that we recommend to clients and incorporate into our training.
Vijay Dhanasekaran, Founder & Chief Blockchain Officer, Consultant at Blocknetics

"An indispensable resource for dApp developers, guiding readers from fundamentals to advanced implementation with in-depth vulnerability analysis."
Mohd Mehdi, Head of DevOps, DevSecOps and Infrastructure at InfStones

Table of Contents

Foreword xiii

Preface xiv

Acknowledgments xviii

Introduction xx

1 The Blockchain Technology Primer 1

1.1 Introduction 1

1.2 Brief History of the Blockchain and Its Evolution 2

1.3 DLT and the Blockchain 2

1.4 Blockchain Networks 7

1.4.1 Nodes 11

1.4.2 Scalability Components 13

1.4.3 Interoperability Components 17

1.4.4 Platforms 19

1.4.5 dApps 22

1.4.6 Practical Examples 23

1.5 The Blockchain Data Structure 26

1.5.1 Hash Functions 28

1.5.2 Digital Signatures 31

1.5.3 Block Structure 36

1.5.4 Merkle Trees 40

1.5.5 Fundamental Blockchain Elements 42

1.5.6 Inherent Security Risks of Blockchain Technology 46

1.6 Consensus Algorithms 55

1.6.1 Different Types of Consensus Algorithms 55

1.6.2 Deterministic Versus Nondeterministic Consensus Algorithms 61

1.7 Cryptocurrencies 64

1.7.1 Cryptocurrencies Use Cases 68

1.7.2 Use of Cryptocurrencies and Security Risks 69

1.8 Digital Wallets 71

1.8.1 Introduction 71

1.8.2 Security Features of Digital Wallets 76

1.9 Digital Transactions 79

1.9.1 Transaction Automation with Smart Contracts 85

1.9.2 Token Transactions 88

1.10 Privacy Controls 90

1.10.1 Anonymity Versus Pseudonymity of Blockchain Transactions 93

1.10.2 Techniques for Enhancing Transaction Privacy 94

1.11 Identity Controls 97

1.11.1 Identity Verification Methods 98

1.11.2 Privacy-Preserving Identities 101

1.11.3 Identity and Access Management 103

1.11.4 Decentralized Identities (DIDs) 105

1.12 Legal and Regulatory Considerations 106

1.13 Conclusions 116

1.14 Future Directions and Trends in Blockchain Technology 117

2 Designing Secure Decentralized Applications 121

2.1 Introduction 121

2.2 Decentralized Applications 127

2.2.1 dApp Architectures 132

2.2.2 Comparison of dApps with Traditional Centralized Applications 139

2.2.3 Analysis of Use Cases for Blockchain and dApps 141

2.3 Security Requirements 145

2.3.1 Elicitation of Security Requirements 145

2.3.2 Example of dApps Security Requirements 149

2.4 Securing dApps 152

2.4.1 Principles of Secure Blockchain Platform Design 153

2.4.1.1 Overview of Security Architecture Principles 154

2.4.1.2 Security Architecture Principles for dApps Design 154

2.4.2 Securing dApps by Design 162

2.4.2.1 Identifying dApps Security Design Flaws and Vulnerabilities 163

2.4.2.2 Securing dApps Components by Design and Implementation 171

2.4.3 Blockchain APIs 185

2.4.3.1 Securing Blockchain APIs 186

2.4.3.2 Blockchain API Vulnerabilities 190

2.4.3.3 Security Review of Blockchain API 193

2.4.4 Securing dApps Confidential Data and Transactions 195

2.4.4.1 Security Requirements for the Protection of Confidential Data 199

2.4.4.2 Vulnerabilities Exposing Confidential and Transactions Data 202

2.4.4.3 Security Reviews to Identify Design Flaws and Vulnerabilities 204

2.4.5 Consensus Algorithms 206

2.4.5.1 Identifying Consensus Algorithm Vulnerabilities 207

2.4.5.2 Secure Consensus Algorithm Best Practices 211

2.4.6 Protecting Secrets 213

2.4.6.1 Practical Examples of Security by Design Protection of Secrets and Keys in dApps 214

2.4.6.2 Identification of Potential Vulnerabilities Related to Secret and Key Management with dApps 217

2.4.7 Securing Token-Based Transactions 218

2.4.7.1 Explanation of Token-Based Transactions 219

2.4.7.2 Secure Token Standards 221

2.4.7.3 Security Considerations for Securing dApps with Token-Based Use Cases 224

2.4.8 Securing Cryptocurrency DEX Transactions 227

2.4.8.1 Securing dApp Integration with Digital Exchanges 228

2.4.8.2 Mitigating the Risks of DEX Use Cases 233

2.4.9 Securing Digital Identities (DIDs) 234

2.4.9.1 Explanation of Digital Identities 242

2.4.9.2 Security Considerations for Digital Identities 245

2.4.10 Securing Smart Contracts 248

2.4.10.1 Overview of Smart Contracts and Security Considerations 248

2.4.10.2 Common Smart Contract Vulnerabilities and Associated Risks 251

2.4.10.3 Best Practices for Smart Contracts Security 255

2.5 Conclusions for This Chapter 266

2.5.1 Future Trends in Blockchain Technology and Security 267

3 Mitigating Blockchain Vulnerabilities 269

3.1 Introduction 269

3.1.1 Focused dApp Application Security 270

3.1.2 dApp Vulnerabilities Risks 272

3.1.3 Security Incidents: Lessons Learned for Future Resilience 273

3.1.3.1 Smart Contract Exploits: Confronting a Critical Threat 274

3.1.3.2 Digital Wallet Design Flaws: Mitigating Emerging Threats 278

3.1.3.3 Proactive Security Recommendations from Blockchain Breaches 280

3.2 Enhancing Blockchain Security: Mitigating Vulnerabilities and Design Flaws 286

3.2.1 Introduction to Threat Modeling 288

3.2.2 PASTA Threat Modeling 292

3.2.2.1 Definition of Business Objectives 293

3.2.2.2 Definition of the Technical Scope 295

3.2.2.3 Application Decomposition and Analysis 297

3.2.2.4 Threat Analysis 299

3.2.2.5 Vulnerability Analysis 301

3.2.2.6 Attack Modeling (AM) 304

3.2.2.7 Risk Assessment and Mitigation 307

3.2.3 Threat Modeling Example: DeFi Lending and Borrowing dApp 311

3.2.3.1 Stage 0 – Setting the Stages for PASTA Threat Modeling 317

3.2.3.2 Stage I – Definition of Business Objectives 318

3.2.3.3 Stage II – Definition of Technical Scope 337

3.2.3.4 Stage III – Application Decomposition and Analysis 345

3.2.3.5 Stage IV – Threat Analysis 362

3.2.3.6 Stage V – Vulnerability Analysis 381

3.2.3.7 Stage VI – Attack Modeling 399

3.2.3.8 Stage VII – Risk Analysis and Management 418

3.2.4 Security-Driven Tools and Techniques for dApps 443

3.3 Auditing Blockchain Applications for Compliance 452

3.4 Conclusions 458

4 Securing Blockchain Applications: Practical Examples 461

4.1 Introduction 461

4.2 dApp Creation Example 462

4.2.1 Architecture 462

4.2.2 Project Components 462

4.2.2.1 Token.sol (ERC-20 Token Contract) 462

4.2.2.2 Smart Contract Deployment 463

4.2.3 AWS Integration 464

4.2.3.1 API Gateway Setup 464

4.2.3.2 Create a New API in Amazon API Gateway 464

4.2.3.3 Link the API to AWS Lambda Function 464

4.2.3.4 Define API Methods 465

4.2.3.5 Additional Configuration 466

4.2.4 Create a Frontend 466

4.2.4.1 Create React App 467

4.2.4.2 Create Frontend Code 467

4.2.5 Security Review 468

4.2.5.1 Smart Contract Vulnerabilities 468

4.2.5.2 AWS Lambda Security 468

4.2.5.3 API Gateway Misconfigurations 469

4.2.5.4 Data Storage Risks 469

4.2.5.5 Blockchain Event Handling 470

4.2.5.6 Cross-Origin Resource Sharing (CORS) 470

4.2.5.7 Frontend Integration Risks 470

4.2.6 Conclusion 470

4.3 Code Auditing Examples 471

4.3.1 Introduction 471

4.3.2 Rationale for Secure Coding Practices 471

4.3.3 Auditing Smart Contract Code 472

4.3.3.1 Common Smart Contract Vulnerabilities: Reentrancy 473

4.3.3.2 Integer Overflows and Underflows 474

4.3.3.3 DoS of Smart Contracts 474

4.3.3.4 Access Control Failures 475

4.3.3.5 Logic Flaws and Business Logic Errors 476

4.3.4 Audit Processes and Tools for Smart Contracts 476

4.3.4.1 Manual Code Review 476

4.3.4.2 Automated Static Analysis Tools 477

4.3.4.3 Unit and Integration Testing 477

4.3.4.4 Formal Verification 478

4.3.5 Best Practices in Smart Contract Audits 478

4.3.5.1 Security by Design 478

4.3.5.2 Remediation and Secure Redeployment 479

4.3.6 Auditing Blockchain Node Software 479

4.3.6.1 Types of Blockchain Nodes 479

4.3.6.2 Typical Vulnerabilities in Node Implementations 480

4.3.6.3 Approaches to Node Software Auditing 483

4.3.7 Auditing Wallet Software 484

4.3.7.1 Types of Wallets 485

4.3.7.2 Wallet-Specific Vulnerabilities 486

4.3.7.3 Wallet Security Audits and Testing 488

4.3.8 Auditing dApps 489

4.3.8.1 dApp Architecture Components 489

4.3.8.2 Common dApp Vulnerabilities 490

4.3.8.3 dApp Auditing and Testing 491

4.3.9 Consolidating Findings and Reporting 492

4.3.9.1 Security Reporting Framework 493

4.3.9.2 Coordination with Development Teams (see the note) 494

4.3.9.3 Disclosure Best Practices 494

4.3.10 Conclusion 495

Appendix A: Threat Modeling Matrix 497

Appendix B: Mapping of Threat Scenarios to Targeted Weaknesses and Asset Impacted 531

Appendix C: Mapping of Threat Scenarios to Exploitable Attack Paths 541

Appendix D: Threat Scenarios Attack Simulation Tests 543

Appendix E: Threat Scenario Weakness and Vulnerabilities Risk Ratings 547

Appendix F: Risks Mitigation Plan 553

Appendix G: Threats Risk Register 557

Appendix H: Attack Simulation Testing Report 559

Appendix I: Risk Analysis Report 563

References 571

About the Authors 591

Index 593

最近チェックした商品