Эта статья проведет участников ICO через элементы, составляющие безопасный проект ICO. Он также предназначен для инвесторов как форма контрольного списка, чтобы проверить, насколько на самом деле безопасен проект. Любой проект должен как минимум учитывать элементы, перечисленные в этой статье..
Ключевые руководящие принципы
По словам Лираз Сири, профессионального хакера в белой шляпе, который заработал свою репутацию в знаменитом израильском кибер-подразделении 8200, риски можно значительно снизить, применив правило 80/20 (80% выгоды и 20% усилий). Вот его четыре ключевых принципа:
- Основное правило: будь проще! Проблемы безопасности возникают при разработке сложных систем. Система с более низким уровнем сложности менее склонна к обнаружению критических уязвимостей безопасности..
- Не стоит недооценивать безопасность: легко думать, что ваша система безопасна, однако люди умны и пытаются найти лазейки в безопасности. Не забывайте, что индустрия ICO полна настойчивых хакеров – более 10 процентов доходов от ICO утеряно, а криптобиржи потеряли в среднем 2 миллиарда долларов из-за успешных хакерских атак..
- Терпеть неудачи: отказы случаются и будут. Не ждите, что ничего никогда не пойдет не так. Убедитесь, что у вас есть запасной механизм, чтобы компенсировать наихудшие сбои и уменьшить ущерб..
- Используйте разрешенную систему. Важно создать разрешенную систему и предоставить каждому участнику минимальный набор прав, необходимых для выполнения его задачи. В случае, если один из ваших сотрудников будет скомпрометирован, злоумышленник сможет выполнить только несколько злонамеренных действий, поскольку он ограничен системой..
1. Настройте выделенные устройства.
Мобильные устройства с подключением к сети и ноутбуки, принадлежащие членам команды, – обычная ахиллесова пята безопасности. Члены команды являются основной целью для злоумышленников, поскольку они являются слабым звеном и уязвимы для фишинга или социальной инженерии. Поэтому рекомендуется настроить выделенные устройства для членов вашей команды, а также для продажи токенов, чтобы минимизировать риск того, что злоумышленник получит доступ к этому устройству..
2. Избегайте аутентификации по телефону.
Крайне важно использовать двухфакторную аутентификацию, однако не рекомендуется использовать аутентификацию по телефону, такую как SMS или телефонные звонки. Эксперт по безопасности Лираз Сири объяснила, что телефонные звонки могут быть перехвачены с помощью атак SS7 – SS7 – это набор протоколов, позволяющих телефонным сетям обмениваться информацией, необходимой для передачи вызовов и текстовых сообщений между собой..
Однако SS7 известен серьезными уязвимостями в своих протоколах. Хакеры могут читать текстовые сообщения, прослушивать телефонные звонки и отслеживать местоположение пользователей мобильных телефонов, просто зная их номер телефона, используя уязвимости в инфраструктуре всемирной сети мобильной связи. Поэтому рекомендуется избегать SMS и вместо этого использовать зашифрованные сообщения..
Лираз Сири рекомендует использовать аппаратные токены, такие как Gemalto или YubiKey, поскольку злоумышленнику потребуется физический доступ для получения этого кода. Эти аппаратные токены следует использовать в сочетании с Google Authenticator в качестве альтернативы аутентификации по телефону. YubiKey предоставляет мобильное приложение, которое сохраняет исходные данные одноразового пароля (OTP) и передает эти OTP в Google Authenticator через датчики NFC..
3. Используйте службу имен Ethereum (ENS).
Каждое ICO Ethereum должно создавать службу имен Ethereum, указывающую на их смарт-контракт. Лучше всего использовать то же имя, что и доменное имя вашего официального сайта. В прошлом случалось, что веб-сайт был взломан, и адрес Ethereum был изменен. Предоставив своим пользователям надежный указатель на ваш договор купли-продажи, вы можете предотвратить подобные взломы. Чтобы снизить риск фишинга, не забудьте также зарегистрировать варианты на своем доменном имени..
4. Аудит смарт-контрактов
Смарт-контракты ICO содержат цифровые активы на миллионы долларов, и, согласно исследованию аудиторской фирмы QuillAudits, около 3,4% смарт-контрактов обнаруживаются неисправными только при проверке с помощью алгоритма наиболее распространенных возможностей использования уязвимостей..
После того, как смарт-контракт был опубликован в Ethereum, он становится неизменным, и поэтому важно, чтобы контракт был тщательно проверен, прежде чем фактически выпустить его в основной сети..
QuillAudits, компания, специализирующаяся на аудите смарт-контрактов, предоставила нам свои идеи. Раджат Гахлот, аудитор QuillAudits, рассказывает о необходимых шагах для обеспечения высочайшего качества смарт-контрактов. Прежде всего, крайне важно знать, что смарт-контракт никогда не может быть защищен на 100%, поскольку бывают случаи, когда даже ошибки в языке программирования или оборудовании вызывают серьезные уязвимости в системе безопасности. Итак, имейте в виду следующие меры безопасности:
1 / Пишите тесты и проверяйте код вручную. Тестовые примеры запрограммированы для проверки работы смарт-контракта при возникновении крайних ситуаций, таких как неожиданный ввод. Смарт-контракт должен уметь обрабатывать эти крайние случаи, отклоняя или выдавая ошибку. Помимо написания этих тестов, код также проверяется вручную, повышая эффективность и структуру кода..
2 / Автоматический аудит. Существует множество инструментов, которые ищут конкретные уязвимости в вашем коде Solidity. Однако аудит контракта с использованием только автоматизированных инструментов не охватывает полного аудита, поскольку они проверяют только определенные известные уязвимости..
3 / Bug Bounty. Награда за ошибку позволяет экспертам участвовать в юридическом соглашении, в котором они могут тестировать смарт-контракты на проникновение. В случае обнаружения ошибки им обычно предлагают высокую награду за обнаружение критической ошибки. Это эффективный способ проверки вашего смарт-контракта, поскольку многие опытные программисты пытаются разорвать контракт в обмен на вознаграждение..
5. Кошелек с несколькими подписями.
Как крипто ICO проекта, крайне важно надежно хранить собранные вами средства. Прежде всего, используйте кошелек с мультиподписью. Затем рекомендуется хранить средства на нескольких аппаратных кошельках, таких как Trezor или Ledger, которые контролируются выделенными ноутбуками. Как сказано в разделе о ключевых элементах, лучше подготовиться к неудаче: если один из аппаратных кошельков поврежден или взломан по какой-либо причине, у вас все равно большая часть средств будет распределена между другими кошельками..
6. Поисковая оптимизация (SEO)
Вероятно, ICO уже тратит огромную часть своего маркетингового бюджета на SEO, чтобы занять более высокое место в Google. Однако, делая это, вы также снижаете риск того, что инвесторы попадут не на тот сайт (фишинговые сайты)..
7. Безопасное общение
В настоящее время Telegram и Slack – не самые безопасные средства связи, которые вы можете использовать для внутреннего общения. Наиболее важным требованием является наличие безопасного однорангового шифрования сообщений. WhatsApp действительно предлагает зашифрованные сообщения, однако есть и лучшие проекты с открытым исходным кодом..
Первый вариант – Keybase. Keybase позволяет создавать команды и защищать групповые чаты с зашифрованным обменом файлами. База ключей основана на принципе пары ключей, которая используется для подписи и проверки сообщений..
На веб-сайте Keybase мы можем найти краткое описание того, как проект устанавливает доверительные отношения между учетными записями: "Keybase создает доверие, подключаясь к социальным аккаунтам человека. Он потребует от него разместить уникальное сообщение для каждой из своих учетных записей, чтобы заявить, что учетные записи действительно принадлежат ему, и связать их с его учетной записью Keybase. Так что теперь другие могут подтвердить его личность и с уверенностью узнать, что человек, утверждающий, что он он в Твиттере, на самом деле правильный человек (как в случае с Facebook, Github и т. Это укрепляет веру людей в открытый ключ этого человека.."
Кроме того, Keybase имеет резервный механизм на случай взлома одного из ваших устройств. Поскольку Keybase связывает каждое устройство с уникальным ключом шифрования, вы можете войти в систему с другим устройством, подключенным к вашей учетной записи, чтобы удалить вредоносное устройство из списка устройств. Таким образом, люди из вашего круга доверия будут предупреждены о том, что одно из ваших устройств было взломано хакером, и они больше не могут отправлять сообщения на это устройство..
Другой вариант – использовать проект с открытым исходным кодом Signal, который ориентирован на простоту и шифрование. Похоже на обычное приложение для обмена сообщениями с добавленными функциями шифрования, чтобы ваши чаты оставались конфиденциальными. Также с помощью Signal можно создавать частные групповые чаты..
Бонус: защита сайта
Для ICO важно оставаться в сети во время процесса продажи. Тем не менее, это непростая задача, когда Интернет ежедневно подвергается атакам распределенного отказа в обслуживании. DDoS-атака способна блокировать веб-сайты, что уже случалось раньше в криптопространстве..
Момент начала продажи – самое уязвимое время. Когда APEX ICO было запущено, злоумышленники испортили свой веб-сайт, и в результате они были вынуждены закрыть веб-сайт, чтобы защитить потенциальных инвесторов. Генеральный директор APEX был вынужден использовать свои социальные сети, чтобы опубликовать селфи с правильным адресом продажи. К сожалению, сайты ICO – одна из основных точек атаки во время краудсейла..
Таким образом, такие сервисы, как Cloudbric или Cloudflare, помогут вам смягчить и заблокировать DDoS-атаки и помогут веб-сайту вашего проекта оставаться в сети. Например, Cloudbric имеет функции технологии безопасности веб-приложений, которые могут обнаруживать потенциальную угрозу DDoS-атаки и блокировать клиентов, которые слишком часто запрашивают страницу продажи..
Суть
Есть еще кое-что, на что следует обратить внимание при попытке структурировать безопасный проект ICO и защитить членов вашей команды от фишинговых атак. Однако ошибку можно легко сделать, убедитесь, что у вас есть резервные механизмы, поскольку неисправности являются частью пути. Вышеуказанная информация также может быть использована инвесторами для проверки безопасности нового проекта. Любой новый проект должен сначала начинаться с установки надлежащих механизмов безопасности, прежде чем начинать работу над самой продажей токенов..