Visão Geral
Curso Blockchain and Smart Contract Security Em 2008, um autor anônimo usando o pseudônimo Satoshi Nakamoto publicou um white paper descrevendo um livro de transações públicas para um sistema descentralizado de pagamento ponto a ponto intitulado Bitcoin: Um sistema de caixa eletrônico ponto a ponto, considerado o "nascimento" da blockchain. Desde então, o uso do blockchain evoluiu além de sua implementação original como uma criptomoeda. Ele ganhou força nos últimos anos, sendo adotado por algumas das maiores organizações do mundo, incluindo IBM, Amazon, PayPal, Mastercard e muitas outras. No entanto, devido à inovação em movimento rápido e à adoção do blockchain, e aos conceitos desconhecidos em comparação com as tecnologias mais compreendidas e tradicionais, seu uso ainda é dificultado pela especulação, confusão, incerteza, e risco.
No Curso Blockchain and Smart Contract Security, você se familiarizará com tópicos essenciais da tecnologia de blockchain e contrato inteligente, incluindo histórico, princípios de design, arquitetura, casos de uso comercial, ambiente regulatório, e especificações técnicas. O curso analisa detalhadamente a mecânica por trás da criptografia e as transações que fazem a blockchain funcionar. Ele fornece exercícios que ensinam como usar ferramentas para implantar, auditar, digitalizar e explorar ativos de blockchain e contrato inteligente. Laboratórios e exercícios práticos permitirão implantar, auditar, digitalizar e explorar várias implementações de blockchain, como Bitcoin, Ethereum, Solana, Cosmos, Near e outras, bem como linguagens de contrato inteligentes como Solidity e Rust, juntamente com protocolos, como NFTs, DeFi e Web3.
Já houve violações generalizadas de segurança, fraudes e hacks em plataformas blockchain, resultando em bilhões de dólares em perdas. Essas questões, juntamente com o crescente escrutínio das agências governamentais para encontrar usuários maliciosos que abusam da tecnologia, estão manchando a reputação da blockchain. O Curso Blockchain and Smart Contract Security, aborda a segurança de blockchain e contratos inteligentes de uma perspectiva ofensiva para informar aos alunos quais vulnerabilidades existem, como são exploradas e como se defender de ataques que atualmente são alavancados hoje. Algumas das habilidades e técnicas que você aprenderá incluem como:
- Interaja e obtenha dados de blockchains públicos
- Explorar vários tipos de vulnerabilidades de contrato inteligente
- Teste e explore criptografia / entropia fraca
- Descubra e recrie chaves privadas
- Entenda o que os criptojackers fazem e como rastrear e rastrear movimentos no blockchain
- Combater tipos de ataques não técnicos ou de engenharia social que os adversários usam para acessar e roubar das vítimas
Podemos ver as muitas soluções que a tecnologia blockchain pode oferecer como um sistema de pagamento, mas como a tecnologia é cada vez mais adotada, sua superfície de ataque continuará a crescer. Embora existam alguns recursos educacionais disponíveis para blockchain, há relativamente pouco conteúdo educacional em torno da segurança blockchain. Nenhum outro treinamento fornece o nível abrangente de testes, exercícios e conhecimentos em blockchain
Conteúdo Programatico
Blockchain and Smart Contract Fundamentals
Visão geral
A primeira seção do curso começa estabelecendo os fundamentos da tecnologia blockchain e como ela é aplicada aos problemas do mundo real. Também examinaremos a tecnologia de contratos inteligentes e examinaremos exemplos de como ela é aplicada hoje em vários setores e casos de uso do mercado. Os aspectos técnicos mais importantes que compõem a arquitetura blockchain são discutidos, juntamente com exemplos e estudos de caso.
Os alunos irão Apreder:
- Gerar pares de chaves públicas e privadas usadas pelo blockchain
- Crie diferentes tipos de carteiras de criptomoedas
- Mergulhe profundamente nos diferentes mecanismos de consenso, como Prova de Trabalho e Prova de Estaca, que tornam a blockchain um sistema descentralizado
- Aprenda como funciona a mineração de moeda criptográfica
- Investigue o que acontece durante as transações
A seção termina com as classificações comuns de vulnerabilidades e ataques. Esta lição contará com cenários e exercícios para enviar e receber transações em blockchain, e os alunos verão transações ao vivo na cadeia pública por meio de vários exploradores de blocos. Passaremos um tempo aprendendo e usando ferramentas de segurança blockchain que exploram chaves e usuários particulares e cobrem os erros comuns que as pessoas cometem ao usá-los.
Exercises
- Lab 1.1: Use Metamask to Swap on a DeFi Exchange
- Lab 1.2: Brute Force a Mnemonic Phrase to Access a Wallet
- Lab 1.3: Recreate a Key to Investigate Multi-Chain Transactions
- Lab 1.4: Join a Mining Pool and Create a Validator
- Lab 1.5: Use Various Blockchain Clients to Discover Funds
- Lab 1.6 Locate and Exploit an Exposed Private Key
Topics
Blockchain and Smart Contract Fundamentals
- Origin and Purpose
- Types of Blockchains
- Smart Contract Overview
- Common Use Cases
Blockchain Keys
- Wallets and Keys
- Mnemonic Keys (BIP-32/BIP-39)
- Attacks on Private Keys
- Case Study: Mnemonic Reconstruction
Blockchain Transactions
- Block Explorers
- BTC, EVM, Solana, Monero and other transactions
- Case Study: Poly Network Hack Transactions
Consensus Protocols
- Proof of Work
- Security Issues in Proof of Work
- Proof of Stake
- Security Issues in Proof of Stake
- Other Consensus Types
Blockchain Architecture
- BTC, EVM, Rust, Golang Clients, APIs, and SDKs
Blockchain Vulnerabilities and Attacks
- Network and Consensus Security Issues
- Smart Contract and Code Security Issues
- Wallet and Client Security Issues
- Centralization Security Issues
- User Security Issues
Smart Contract Hacking - Solidity
Visão geral
Esta seção do curso se concentra nos aspectos de segurança da plataforma de contratos inteligentes mais usada, a Ethereum. Os contratos inteligentes diferem na arquitetura das cadeias de blocos, como o Bitcoin, devido às suas implementações multiuso. Os desenvolvedores escrevem contratos inteligentes em idiomas como o Solidity, que geralmente contêm bugs e vulnerabilidades. As vulnerabilidades podem ser exploradas na rede principal pública e causar grandes quantidades de danos financeiros e de reputação. Introduziremos a linguagem de programação de contratos inteligentes Ethereum, Solidity, e examinaremos como compilar, implantar e interagir com contratos inteligentes local e remotamente. Também discutimos os padrões comuns de controle de acesso e as bibliotecas de segurança a serem usadas no Solidity. Exploramos como os tokens não fungíveis NFT ( funcionam e as vulnerabilidades exclusivas que podem ser exploradas.
Os alunos irão Apreder:
Depois que os alunos estão familiarizados com o processo de desenvolvimento usando ferramentas como Truffle, Ganache, Brownie, e Hardhat para mergulhar profundamente nas vulnerabilidades comuns do 7thereum e analisar estudos de caso de como elas foram exploradas no passado. Várias ferramentas e scanners, como Slither, Mythril e Remix, são fornecidos para os alunos identificarem e validarem essas vulnerabilidades. Métodos para realizar auditorias de segurança, como verificação formal e execução simbólica, são explicados. Finalmente, depois que os alunos aprendem a identificar uma vulnerabilidade inteligente do contrato, atacem e exploram um contrato inteligente personalizado em uma rede Ethereum criada localmente, implantada pelos alunos.
Exercises
- Lab 2.1: Identifying the Function Exploited on a Contract
- Lab 2.2: Compiling and Deploying a Smart Contract
- Lab 2.3: Exploiting a Vulnerable Smart Contract
- Lab 2.4: Scanning a Contract for Vulnerabilities
- Lab 2.5: Exploiting an NFT Contract to Mint a Coin
Topics
Solidity Basics
- Solidity Language Overview
- Storage, Memory, and CallData
- Function Selectors
- Interacting with EVM Smart Contracts
Compiling and Deploying Contracts
- The Solidity Compiler
- ABI, Bytecode, Gas, and Opcodes
- Networks and Frameworks for Auditing
- Deploying a Smart Contract
Smart Contract Security Issues
- Security Hacks on Ethereum
- Common Vulnerabilities and Attacks
- Case Study: The DAO Hack
- Case Study: The Party Multisig Hack
Auditing and Hacking Solidity Smart Contracts
- Static Analysis and Symbolic Execution
- Manual Testing and Formal Verification
- Security Testing and Auditing Tools
Contract Libraries and Standards
- ERC Standards
- Solidity Security Libraries
- Access Control and Contract Delegation Exploits
- Case Study: The Poly-Network Hack
NFT Vulnerabilities
- NFT Vulnerability Categories
- Case Study: Hacking an NFT Loot Bag
Smart Contract Hacking - Rust
Visão geral
A seção três do curso concentra-se nas cadeias de blocos e contratos construídos com a Rust. Essas cadeias de bloqueio geralmente são sistemas de prova de participação e têm aspectos exclusivos devido à linguagem de programação usada. Introduzimos a linguagem de programação Rust, que é uma linguagem de alto nível com eficiência de memória, e aprendemos sobre as vulnerabilidades específicas do código que podem ser encontradas. Utilizamos ferramentas para ajudar a encontrar bugs exploráveis, como carga. Em seguida, mergulhamos profundamente em tecnologias específicas construídas com ferrugem no ecossistema blockchain, como Solana, CosmWasm e Substrate. Novas vulnerabilidades, como assumir contas, PDAs, SPL e hacks exclusivos baseados em ferrugem são explicadas e demonstradas.
Os alunos irão Apreder:
Depois que os fundamentos técnicos do blockchain são estabelecidos e se familiarizam com os alunos, o curso se baseia nesse conhecimento, com foco em tópicos de segurança escolhidos para sistemas blockchain, como a rede Bitcoin. Os alunos aprendem os princípios de segurança que diferenciam o blockchain dos sistemas de tecnologia tradicionais e começam a descobrir algumas das fraquezas de um sistema blockchain e como são atacados.
Exercises
Lab 3.1: Web Application Hacking with Rust
Lab 3.2: Substrate Exploit - SANS Kitties
Lab 3.3: Exploiting Solana Account Type Confusion
Lab 3.4: Setup and Interact with a Local CosmWasm Blockchain
Lab 3.5: Compile and Deploy a CosmWasm Smart Contract
Lab 3.6: Exploit a Vulnerable CosmWasm Smart Contract
Topics
Rust Overview
- What is Rust
- Rust Security
- Rust Developer Tools
Substrate
- Substrate Architecture
- Substrate Vulnerabilities
CosmWasm
- What is CosmWasm?
- CosmWasm Architecture
- CosmWasm Tools and Chains
- CosmWasm Vulnerabilities
Solana
- Solana Architecture
- Proof of history
- PDAs and SPLs
- Solana Security Issues
- Solana Programs
Exploiting DeFi Protocols
Visão geral
Ao longo da seção quatro do curso, você aprende sobre a maneira inovadora e única de os contratos inteligentes democratizarem os serviços financeiros. O DeFi é um ambiente complexo de componentes entre trabalhos. Passamos pelos protocolos DeFi mais relevantes que compõem esses componentes, a terminologia e como eles operam. Os protocolos discutidos são DEXs, fabricantes automatizados de mercado, plataformas de empréstimos e empréstimos, moedas estáveis, derivativos, fazendas de rendimento, oráculos e mercados de previsão. Cada um desses protocolos DeFi possui tipos de ataque exclusivos que combinam exploração econômica e baseada em código. Ataques por meio de empréstimos instantâneos, manipulação de oráculos e propostas de governança são discutidos, com exemplos. Esta seção é mais sobre a lógica de negócios do que sobre as ferramentas ou plataformas, e usamos vários laboratórios que exploram os protocolos DeFi em várias cadeias de bloqueio diferentes.
Exercises
- Lab 4.1: Exploit a Vulnerable AMM
- Lab 4.2: Perform a Flash Loan Attack
- Lab 4.3: Deploy and Interact with a Chainlink Oracle
- Lab 4.4: Perform a Governance Attack on EVM
- Lab 4.5: Exploit a Yield Farm on Solana
Topics
The Concepts, Benefits and Risks in DeFi
- DeFi vs. CeFi
- Protocols Overview
- Environmental Risks and DeFi Attacks
- Security Incident Timeline
Decentralized Exchanges (DEX)
- Key Terminology
- Automated Market Makers (AMMs)
- Aggregators
- DEX Issues and Exploits
- Case Study: DEX Liquidity Pool Hack
Lending and Borrowing
Key Terminology
- AAVE and Compound Protocols
- Issues and Risks
- Flash Loans
- Case Study: Flash Loan Attack
Stable Coins, Derivatives, and Synthetic Assets
- Types of Stable Coins and Derivatives
- Security Risks
- Case Study: Terra UST and Luna Collapse
Governance and Oracles
- Oracle Purpose and Designs
- Oracle Attacks
- Governance Overview and Key Terms
- Governance Attacks
- Case Study: Beanstalk Farms Malicious Governance
Emerging DeFi Protocols and Risks
- DEX Aggregators
- Prediction Markets
- Decentralized Insurance
- Yield Farms and Yield Aggregators
Cross-Chain, Defense, and Compliance
Visão geral
Iniciamos esta seção do curso analisando vulnerabilidades comuns de cadeia cruzada e pontes. Esses são componentes críticos da infraestrutura que são constantemente atacados e têm alto valor e impacto. Discutimos os adversários no blockchain, os padrões que eles usam para atacar e roubar fundos e definimos uma estrutura para esses padrões para nos ajudar a nos defendermos.
Em seguida, examinamos algumas das ferramentas usadas para monitorar e proteger contratos inteligentes. Você analisa como a privacidade, o anonimato e a identidade pessoal podem ser comprometidos se um usuário de blockchain não for autenticado e como proteger novamente esses problemas. Por fim, examinamos como o blockchain é usado com malícia e o cenário regulatório e de conformidade atual do blockchain e algumas ferramentas usadas.
Também mergulhamos profundamente em como a privacidade pode ser comprometida e usada por adversários ou agências governamentais para monitorar e identificar a atividade do usuário. Os mercados líquidos escuros têm sido um dos usos mais notórios de criptomoedas, e esta seção do curso também fornece informações sobre como esses mercados diferem da Internet normal e por que são usados para fins ilegais. Também examinamos a criptografia de privacidade como Monero, bem como os regulamentos impostos pelas agências para impedir atividades criminosas.
Exercises
- Lab 5.1: Crash a Cross-Chain Bridge
- Lab 5.2: Detect a Front-Running Attack
- Lab 5.3: Verify a Smart Contract with Tenderly
- Lab 5.4: Monitor a Wallet for Malicious Activity Using Forta
- Lab 5.5 Install a Crypto-Miner Malware Agent
- Lab 5.6: Use OSINT to Discover Hidden Bitcoin Funds
Topics
Cross-chain
- What is Cross-chain?
- Bridges
- Cross-chain and Bridge Vulnerabilities
- Case Study: ThorChain Vulnerabilities in the BiFrost
- Chain-bridge
Blockchain Threats and Adversary Tactics
- Blockchain Threat Actors
- Case Study: Rug Pull Anatomy
- ATT&CK Matrix for DeFi
- Tornado Cash and Money Laundering
Blue Team for Blockchain
- Incident Response Process Overview and Key Terms
- Tools for Defending DeFi
Attacks on Privacy
- Blockchain-Based Attacks
- Non-Blockchain-Based Attacks
- Defenses for Privacy
Malicious Uses of Blockchain
- Ransomware and Crypto-Lockers
- Case Study: WannaCry Ransomware
- ICO Scams, and Ponzi Schemes
- Case Study: PlusToken
- Crypto-jacking
- Case Study: CoinHive
Regulatory Compliance and Investigation
- The Current Regulatory Environment
- TOR, Monero, and Dark Net Markets
- Case Study: Operation Disruptor
- OSINT and Blockchain Forensics
- Monero