D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
ОРИГИНАЛЬНАЯ СТАТЬЯ
ПЕРЕВЕДЕНО СПЕЦИАЛЬНО ДЛЯ XSS.IS
$600 на SSD для --->bc1qhavqpqvfwasuhf53xnaypvqhhvz966upnk8zy7 для поднятия ноды ETHEREUM и тестов
1. Изучите основы блокчейна и Ethereum.
Первый шаг — нам нужно изучить основы технологии Blockchain и различные термины, такие как блоки, узлы, майнинг, хеширование и т. д. Затем мы можем изучить основы Ethereum. Изучение основ блокчейна даст нам общее представление о том, как работает эта технология, и даст вам представление о том, с чем мы имеем дело.
Что такое Блокчейн?
Блокчейн — это распределенная база данных или реестр, который совместно используется узлами компьютерной сети. В качестве базы данных блокчейн хранит информацию в электронном виде в цифровом формате. Ethereum — это протокол блокчейна, такой как биткойн. В отличие от Биткойна, Ethereum является завершенным по Тьюрингу, что означает, что он может приблизительно имитировать вычислительные аспекты любого другого реального мира, компьютера общего назначения и запускать программы.
Дальнейшее чтение
https://www.investopedia.com/terms/b/blockchain.asp
https://github.com/ethereumbook/эфириумбук
Нажмите, чтобы раскрыть...
2. Смарт-контракты и язык программирования.
Далее мы можем узнать о смарт-контрактах и о том, как писать смарт-контракты с использованием таких языков программирования, как Solidity или vyper. В настоящее время Solidity является наиболее часто используемым языком программирования для написания смарт-контрактов.Что такое смарт-контракты?
Смарт-контракты — это просто компьютерные программы, работающие в сети блокчейн. Эта концепция была впервые придумана ученым-компьютерщиком и криптографом Ником Сабо в конце 1990-х годов. Однако сначала они были реализованы протоколом Ethereum.
Что касается Solidity, мы можем узнать об этом из различных источников, таких как документация, учебные пособия YouTube, блоги и т. д. Ниже я предоставлю ссылки на некоторые из этих ресурсов.
3. Изучите среды тестирования, такие как hardhat/foundry
Затем мы можем изучить среды тестирования, такие как hardhat/foundry, которые помогают нам запускать смарт-контракты в локальной среде и запускать тесты для смарт-контрактов. Мы также можем использовать Remix IDE для этой цели, но для больших проектов гораздо лучше настроить локальную среду тестирования. Таким образом, изучение этих фреймворков имеет много преимуществ и плагинов, которые полезны при тестировании или написании POC для наших атак.Существует множество фреймворков для тестирования. Но самые известные из них:
Foundry : в Foundry тесты и сценарии написаны на Solidity.
Hardhat : в Hardhat тесты и сценарии написаны на Javascript.
Brownie : в Brownie тесты и скрипты написаны на Python.
Дальнейшее чтение:
https://book.getfoundry.sh/
https://hardhat.org/docs
https://eth-brownie.readthedocs.io/en/stable/
Нажмите, чтобы раскрыть...
4. Изучите основы финансов.
Это то, на чем мало кто сосредотачивается на обучении. Но будет время, когда вы проводите аудит проекта DeFi, в котором используется множество традиционных финансовых терминов, и вы ничего не понимаете. Когда вы посмотрите на эти термины, вы получите определения, которые относятся к еще большему количеству терминов, которых вы не знаете. Таким образом, изучение финансов очень важно в веб3, так как большинство проектов связаны с финансами.В проектах DeFi мы будем иметь дело с некоторой финансовой терминологией, такой как акции, книга заказов, рынок, биржи, DEX, опционы и многие другие. Ниже я разместил ссылки на несколько ресурсов для изучения финансов.
5. Векторы атак DEFI:
DeFi предоставляет финансовые инструменты, не полагаясь на посредников, таких как брокерские конторы или банки. Эти приложения позволяют пользователям сохранять, брать взаймы, одалживать и торговать без каких-либо комиссий (которые получает любая финансовая компания, такая как банк).Это некоторые часто используемые протоколы в большинстве проектов DeFi. Хорошо познакомиться с ними и глубоко понять, как они работают и их нюансы.
- MasterChef : MasterChef от Shushiswap — это контракт на размещение, по которому пользователи вносят токены пула ликвидности (LP) и получают вознаграждение, пропорциональное их time * stakeAmount.
- Compound : Compound является основой для всех децентрализованных протоколов однорангового кредитования. Вы должны это знать, поскольку многие примитивы DeFi каким-то образом взаимодействуют с протоколами кредитования.
- UniswapV2 : несмотря на то, что Uniswap уже находится на версии 3, Uniswap V2 значительно проще, менее запутан и по-прежнему является основой для понимания автоматизированных маркет-мейкеров (AMM) в целом.
- Aave : Aave позволяет пользователям занимать цифровые активы и получать проценты по депозитам/ссудам — благодаря тому, что это децентрализованный протокол кредитования с открытым исходным кодом, построенный на платформе Ethereum.
- Balancer : Balancer является наиболее гибким и универсальным автоматизированным маркет-мейкером, предоставляющим разработчикам беспрецедентные возможности настройки.
После изучения DeFi, т.е. децентрализованных финансов, следует изучить некоторые общие направления атак и способы их смягчения. Ниже приведены несколько векторов атак DeFi и меры по их устранению:
1. Флэш-кредит – манипулирование ценой с оракулом
2. Повторная атака
3. Натяжка ковра.
6. Изучите часто используемые библиотеки и стандарты токенов:
Существуют определенные контракты, шаблоны или даже алгоритмы, с которыми вы будете сталкиваться снова и снова в течение своей аудиторской карьеры. Хорошо познакомиться с ними и глубоко понять, как они работают и их нюансы.- Контракты токенов : наиболее часто используемыми стандартами токенов являются EIP20 для взаимозаменяемых токенов и EIP721 для NFT. Есть еще много, но эти два — все, что вам нужно знать в начале. Существуют также другие стандарты, такие как ERC777, ERC1155, ERC2646, ERC2981 и т. д.
- Обновляемые контракты : контракты Ethereum не обновлению. Если вы хотите обновить код, вам необходимо развернуть новый контракт. Существует множество различных реализаций прокси, взгляните на OpenZeppelin Proxy .
- Вспомогательная библиотека Openzeppelin: это библиотека для разработки безопасных смарт-контрактов. Стройте на прочной основе кода, проверенного сообществом.
я. Реализации таких стандартов, как ERC20 и ERC721 .
II. Гибкая разрешений на основе ролей схема
III. Многоразовые компоненты Solidity для создания пользовательских контрактов и сложных децентрализованных систем.
Дальнейшее чтение:
https://github.com/OpenZeppelin/openzeppelin-контракты
https://www.youtube.com/watch?v=JgSj7IiE4jA
https://ethereum.org/en/developers/docs/standards/tokens/
Нажмите, чтобы раскрыть...
7. Изучите распространенные ошибки смарт-контрактов, инструменты и лучшие практики
Реестр SWC предоставляет набор классификаций, содержащих список известных на сегодняшний день атак. Реестр SWC предоставляет идентификатор (ID) SWC, заголовок и список примеров, связанных с кодом.Существуют общие факторы атаки, на которые должен обратить внимание аудитор смарт-контрактов, такие как проблемы с контролем доступа, целочисленные переполнения и недополнения, а также уязвимости повторного входа (для DApp, написанных на Solidity).
Наиболее распространенные инструменты:
я. Slither : Обнаруживает уязвимый код Solidity с низким уровнем ложных срабатываний.
II. Echidna : Echidna — это программа, предназначенная для фаззинга/тестирования на основе свойств смарт-контрактов Ethereum.
III. Surya : Предоставляет ряд визуальных выходных данных и информацию о структуре контрактов.
IV. Eth Security Toolbox : это контейнер Docker, предварительно установленный и настроенный со всеми инструментами безопасности Ethereum от Trail of Bits.
Лучшие практики Solidity:
Вы можете ознакомиться с рекомендациями по Solidity из consensys или предпочесть блог Secureum ( 1 и часть ) для понимания лучших практик обеспечения безопасности.
Дальнейшее чтение:
https://swcregistry.io/
https://secureum.substack.com/p/audit-techniques-and-tools-101
https://secureum.substack.com/p/security-pitfalls-and-best-practices-101
https://secureum.substack.com/p/security-pitfalls-and-best-practices-201
8. Выполняйте задания CTF.
После того, как мы изучили основы Ethereum, Solidity и Testing Frameworks, а также некоторые распространенные уязвимости смарт-контрактов. Затем мы можем перейти к CTF, чтобы проверить наше изучение всех наших знаний. Существует множество CTF для Smartcontract, таких как Ethernaut, Damnvulnerabledefi или Capture The Ether, вы можете их заполнить. Также, если вы хотите решить более сложные CTF, вы можете попробовать paradigm ctf. Ниже приведены ссылки на эти CTF.9. Читайте аудиторские отчеты и постмортемные блоги:
Это самый важный этап, постарайтесь прочитать как можно больше отчетов. Это поможет вам понять различные логические ошибки и поможет вам понять мыслительный процесс, который аудит.Вы можете найти отчеты об аудите многих протоколов по ссылке ниже:
- Иммунофи Среда
- quillaudits
- блоги openzeppelin
- Консенсус Аудит
- Отчеты об аудите Code4rena
- Выводы аудита Secureum 101
- Выводы аудита Secureum 201
10. Непрерывное обучение и исследования
Web3 очень динамичен по своей природе. Поэтому вам нужно быть в курсе всех исследований и новых атак. Вы можете следить за приведенными ниже ресурсами, чтобы быть в курсе последних новостей, атак, исследований и т. д.Информационные бюллетени : Blockthreat , HashingBit , Immunefi
Сообщества Discord : Immunefi , Secureum , Blockchain , QuillAudits и т.
Блоги : Immunefi , Coinmonk , TrailOfBits , Secureum Openzeppelin , QuillAudits и др.
Твиттер : Будьте активны в Твиттере и следите за последними исследованиями и направлениями атак.
[НЕОБЯЗАТЕЛЬНО] Изучайте математику:
Дополнительная литература: https://medium.com/@TrustChain/do-y...tarted-in-smart-contract-hacking-443ff52b418d[-] Начните свое путешествие по Bug Bounty
Код4рена
Hakenproof
Хакероне
https://medium.com/immunefi/hacking-the-blockchain-an-ultimate-guide-4f34b33c6e8b
https://cmichel.io/how-to-become-a-smart-contract-auditor/
https://secureum.substack.com/
Карта разума аудиторов RazzorSec
КАЖДЫЙ ДЕНЬ ПИШИ КОД.
КАЖДЫЙ ДЕНЬ ЧИТАЙ НОВУЮ СТАТЬЮ СВЕРХУ ПЛАНА ОБУЧЕНИЯ.
СПРОСИ ЕСЛИ НЕ ПОНЯТНО В КОММЕНТАРИЯХ - ГЛУПЫХ ВОПРОСОВ НЕ БЫВАЕТ.
ВСЕМ ПРИЯТНОГО РАЗВИТИЯ