Безопасность & Web 3.0. Часть I. Азы
Давно хотел написать эту брошюру: но годы на bitcointalk, exploit.in, habr, xakep.ru, antichat и подобных ресурсах под разными никами дают о себе знать — раскрывать то, что создано как сокрытое, смысла великого нет. Поэтому решил переписать совсем ВСЁ и начать с простейшего. Дойду ли до сложного? Да, но в какой степени — пока сказать трудно. Время — самый дорогой нынче ресурс.
В любом случае — начали!
Железо — наше всё?
Здесь есть две крайности:
- С одной стороны многие помешаны на аппаратных закладках, которые явно есть и повсюду;
- С другой — есть те, которые про “железо” забывает вовсе, хотя оно точно играет не последнюю роль при выборе ПО. Любого.
Истина не где-то рядом и даже не по середине в этот раз: она в том, что существует простая формула:
H = Iy * Im
Где H — условный коэффициент / вероятность взлома Вас и Вас именно (hacking), а Iy — Интерес к Вам и Вам Именно, Im — интерес к Вашим деньгам / накоплениям.
Сразу — к практике:
- Полиция или налоговая мало понимает в ПО, компьютерных сетях и т.п., но они спокойно могут изъять носители (известный из прессы отдел К, особенно — в регионах — тоже недалеко в этом плане ушёл). Уровень №00. Сюда же относится и 80% примерно “хакеров” — скрипт-кидди.
- Эксперты-криминалисты знают уже больше, но малое количество из них умеет делать нечто, что не доступной так называемым “продвинутым пользователям”: форензика — не самая сложная наука. Уровень №01. Сюда же отнесите ещё 15% хакеров: как белых, так и чёрных. Впрочем, красные шляпы тоже сюда входят, но они о другом ;).
- Далее можно сразу перейти к службам безопасности и аналогом российского ФАПСИ, где уже всё может быть сильно серьёзнее (и да, не забывайте, что в суде возможно привлечение экспертов/специалистов самого высокого образца, коих, правда, не много). Уровень №02. И вот они — истинные хакеры всех мастей и направлений: те, которые оптимизируют даже еду в китайских ресторанах, если вы понимаете, о чём я.
И ни в коем случае не призываю вас, исходя из перечня, начинать творить нечто противоправное — лишь пытаюсь донести простую мысль: “не нужно бояться акул, если вы плещетесь в ванной”. Очевидно? Надеюсь, что да.
Далее — ещё один априорный тезис, если хотите — аксиома: взломать можно ЛЮБУЮ СИСТЕМУ. Абсолютно. Почему же тогда одни системы взламывают, а другие — нет?
- Во-первых, потому что ломают только те системы, где профит от взлома больше затрат на сам взлом: Bitcoin-как-сеть можно взломать, но профит будет настолько мал (особенно — учитывая последствия обвала после взлома) относительно вложений в оборудование, проделанную работу (вспоминаем про PoW), в создание инфраструктуры для атаки и пост-атаки и т.д., что это никого не интересует. Зато атака 51 — одно из следствий децентрализации и BCH, BSV на себе сие ощутили, впрочем, как и ETC и др.
- Во-вторых, ломают то, что массово: Windows, а не MAC; IoT-носимые-устройства, а не самосборные Raspberry-девайсы и т.д. Почему? Да потому что вероятность банального взлома и атаки (того же DDoS-а) сильно выше, исходя из теории вероятности. Но это не значит, что Уровень №01 или №02 не может взломать: он не хочет. Пока;
- В-третьих, в 80% случаев ломают скрипт-кидди, а они не умеют ничего ломать на самом деле: они тупо (именно так) повторяют алгоритмы, сценарии и через банальный брутфорс, те же DDoS-атаки, публичные эксплоиты, фишинг и т.д. стараются выжать максимум, который потом тратят на дорогие машины и квартиры… в нарисованных мирах и на пачку чипсов на сдачу.
Поэтому ещё одна простая формула выглядит так:
PoH >> CH
Где PoH — профит от взлома, а CH — вложения на взлом, а >> — сильно больше, а не просто больше. Понятно, что всегда будут исключения:
- По политическим мотивам (Ассанж, Сноуден, Ульбрихт, Амос Дов и др.);
- При расследовании по-настоящему опасных уголовных дел (коих — не так и много);
- При иных незаурядных случаях.
К последнему пункту стоит отнести и разного рода атаки (будут в следующих выпусках и есть немного тут) на p2p-системы, когда важно получить не профит (с) этих систем, а уничтожить их полностью. Но, если достигли этих уровней, не важно — на Тёмной или Светлой стороне Силы, то сегодня нечего вам поведать. Остальные — могут следовать дальше…
Итак, железо.
Если даже НЕ знаете ничего про open source hardware, если не пользуете защищёнными телефонами навроде Purism, не хотите собирать свой мобильник (вариант проще — см. тут), то всё одно стоит соблюдать элементарную гигиену.
Опять же аналогия: врачи тщательно перед операцией, по крайне мере — врачи-профессионалы, проходят дезинфекцию и особенно — рук и это, как показала история, само по себе спасает жизни; но это не значит, что если вы — не врач, то не нужно мыть руки перед едой. С мылом.
Коротко:
- Начните с правильной покупки. Если вы — не White или Black Hat — купите достойный ПК, ноутбук и забудьте про мобильные кошельки и планшеты для начала. Где хранить деньги на хлеб насущный — не мне решать. Хотя и этот вопрос рассмотрим. К слову: ломаное ПО — первый враг Web 3.0 безопасности. Тем паче, что среди open source хватает не просто бесплатного, но и достойного: начиная с Linux-дистрибутивов, в том числе, заточенных под разные нужды, заканчивая разного рода горячими и не очень кошельками;
- Купили? Проверьте, что девайс действительно новый: начиная с упаковки и гарантии, заканчивая запросом к УткаУткаИди, если никогда не задумывались ранее об этом, то ещё и вот эти тезисы изучите. Кстати, вот как раз платить за девайс лучше не банковской картой: в худшем случае — условно-анонимной виртуальной, привязанной к чему-то навроде Android Pay (если сможете этот фокус проделать), или наличными, или крипто. В последнем случае можно попробовать разные сочетания “карта + крипто”, чистое крипто (в Грузии, Аргентине, Турции и даже РФ мне удавалось договариваться на сделки по покупке железа с разными людьми, начиная с 2016 года; ныне — проще: магазины есть) и т.д. Этот вопрос, если материал будет интересен, опишу как-нибудь отдельно. В крайне случае — заплатите, предварительно оповестив и договорившись, с карты друга, жены/мужа, брата/сестры, отца/матери и т.д. Зачем? Вспомним некрасивую историю со “взлом” адресов доставки Ledger/Trezor и всё встанет на свои места. При оплате через смартфон (и не забывайте об отпечатках) — не забывайте поставить его в режим полёта хотя бы. В Интернете — покупайте так, чтобы идентификационных данных ваших было как можно меньше: начиная чистого email на Proton-е (который не помогает от Уровня №02 точно, но хорош в описываемой практике), некий “виртуальный” адрес доставки и т.п. Не говорю уже о гигиене с браузером и приложением — об этом будет ещё и чуть ниже.
- Купили. Проверили. Дальше? Назовите девайс сразу как-то не банально: ФИО, год или место рождения, имя возлюбленной и адрес помещения — НЕ подходят. Что-то, чего нет в паблике, но что не бросается в глаза. Это же касается Wi-Fi сетей: WEP/WPA/etc. — не всё, что в них есть. Называть сети, если только вы — не меценат, раздающий бесплатный Интернет, тоже следует с умом. И да, помните, что Wi-Fi-роутер также относится к железу и обычно — он-то и есть самая уязвимая точка (не верите мне? спросите Shodan): поэтому хотя бы длинный пароль (что это и как — см. ниже) точно следует установить и это не 0987654321. Точно не он ;). И да, не забывайте хоть иногда юзать https://www.fing.com или аналоги: много порой интересного находится.
- Переименовали? Создайте две учётный записи: даже на MacOS & Linux лучше так поступить, а уж Windows… лучше забыть об этой ОСи. Если только вы — не продвинутый разработчик, кому она удобна. Или по работе требуется… В общем: даже закрытая MacOS в большинстве простых случаев лучше Win. Поверьте, лучше помучившись, научиться вводить по 2-3 пароля за сеанс (да и то — не во всех случаях), чем потом сожалеть об этом. И да, черви, вирусы и прочие зловреды есть НА ВСЕХ операционках, поэтому лишь вопрос Уровня 00-01-02-etc. отделяет вас от взлома в этом аспекте. Не стройте иллюзий и помните, что антивирусы — далеко не панацея, а часто — враг. Лучше научиться играться с Firewall-ом и политиками безопасности.
- Купили. Проверили. Переименовали. Разделили (доступы). Дальше? Обновите ОСь и ПО: обновления латают старые дыры и поэтому без них даже лучшие производители не могут обойтись. И да, перед установкой программ, аддонов, а тем паче — драйверов и прочего низкоуровневого ПО — всегда проверяйте (желательно — с другого девайса и другой сети: например, если рабочий ПК “пашет” через Wi-Fi, то запрос лучше произвести с мобильной сети смарта) не только отзывы, но и хеш-сумму того, что устанавливаете (если это возможно). Как минимум — старайтесь без навыков не устанавливать ПО из неофициальных площадок, а давая аппрувы каким-то не верифицированным централизованными площадками программам, удостоверьтесь, что это именно то, что нужно. Помните про фейковые кошельки? Я об этом. В этом смысле джейлбрейки — табу. Когда же можно их использовать? Ответ простой: можете сварганить свой? Или хотя бы представляете последовательность создания такового? Тогда — да. В остальных случаях и ДЛЯ работы — точно нет.
- Далее? Настройте активность устройства: всякие там режимы сна и отключения, блокировку экрана и т.д. Чем меньше время без блокировки при неактивности — тем лучше для безопасности и трудней вам. Но научиться закрывать крышку ноутбука в любом случае нужно раньше, чем крышку унитаза: цифровой мир куда шире и опасней оффлайнового, аналогового. И не шучу: отсылка к спец-раковине для стоков здесь к тому, чтобы акцентировать на сих простых действиях внимание, которое после 3.5 страниц текста может быть и рассеянным. Соберитесь!
Думаю, если когда-то посещали, хотя бы просто заходили и одним глазом смотрели, на сайты вот из подобных подборок: forum.antichat.ru/threads/23684/, то не составит труда на каждый пункт набрать ещё по 10 подпунктов. А если нет — берите как ликбез и пользуйтесь.
“Но, позвольте, сударь”, — спросит меня вдумчивый читатель: “как же вы всё намешали: и железо, и ПО, и ОС, и доступы?”. Отвечу так:
- Во-первых, не намешал, а умышленно показал, что можно сделать в min комплектации на каждом шаге;
- Во-вторых, базис этой статьи — описан в заключении как система защитных действий, а уже какие из них, когда и где применять — выбор каждого, поэтому по ходу повествования даю лишь показательные примеры. Не более.
Поэтому — продолжим.
Простое — часто самое эффективное
Вот, допустим, создаёте учётную запись. Администратора. Какой пароль зададите? Как назовёте? Ведь пароль, что меньше 14 символов — подвержен перебору через радужные таблицы, а пароль меньше 20-21 символа и вовсе рядом программ считается моветоном. Поэтому ориентируйтесь на хотя бы 20 символов: буквы обоих регистров, цифры, спецсимволы.
И главное помните: минимализм — наше всё:
- Не ставьте лишних програм. Совсем;
- Хотите что-то загрузить? Проверьте;
- Пароли не нужно писать на компьютере или оставлять в блокноте на столе. Никогда. Совсем никогда;
- Не верю менеджерам паролей и вам не советую. По крайне мере — это 100% централизация.
Лучше присмотритесь к такому ПО:
- VeraCrypt (про TrueCrypt забудьте);
- Tor-браузер (по блокировкам — здесь);
- Tails (всё ещё в моде);
- PGP (например);
- И ко всему, что можно считать Web 3.0-совместимым… Об этом будет много и отдельно.
Главное вот что (эмпирически:)
- Чистый WordPress почти всегда безопасен, WordPress с 1 плагином менее безопасен процентов на 30-50, с двумя — на 50-75%, а с тремя и более — небезопасен вообще. Не лепите плагинов, аддонов и прочих дополнений лишних. MetaMask? Да. Проверка ссылок? Возможно. PGP-аддон? Наверняка. Но не 100500 на рабочий браузер. Поэтому! Постарайтесь разграничивать учётные записи в браузере/приложениях: скажем, если смартфон с крипто-кошельками — не ходите с ним в кафе, если браузер — кроме аддонов кошельков не ставьте ничего лишнего.
- Не используйте публичный email, номер телефона и прочие данные, что есть в соцсетях для доступа к непубличным кошелькам и прочим Web 3.0 сервисам. Да и вообще — забудьте о связке email/телефон => кошелёк/аккаунт. Насколько это возможно и где уместно. Номер телефона лучше оформить на человека, которому доверяете. Сообщать сей номер никому не нужно (sim/sms-спуфинг см. по ссылке), а при доступе через СМС (к сожалению, всё ещё бывает нужно) — купить кнопочный девайс без выхода в сеть. Итого выйдет: кнопочный телефон, смартфон для работы, смартфон для общества, компьютер для работы, запасной девайс, резервные хранилища. Могу подробней: жду запрос от вас. Идём дальше?
- Не храните в браузере много: доступ к паролям, сохранённым в браузере / менеджере паролей должен быть сложным; сохранённых паролей — минимум (лучше вообще нисколько); и уж точно в рабочем аккаунте не должно быть никаких социальных сетей, тем паче — авторизованных учётных записей, централизованных бирж и прочего; и да — всегда наблюдайте за сертификатами, которые ставите и проверяйте https://, если выходите в Web 2.0 на минуточку.
- Не забывайте, что от простых атак помогают простые же средства защиты: если настроили почту через сборщик — “разукрасьте” аккаунт, чтобы никто кроме вас не знал, как именно он выглядит. Это же касается браузера: рабочий цвет и “домашний” должны отличаться. Авторизовались через Wallet Connect и можно кастомизировать как-то сие dApp-чудо? Сделайте это: поставьте уникальный аватар, задайте секретное слово и т.п.
- И уж точно не беритесь за то, в чём мало смыслите: не принимайте .pdf/.jpg и подобные файлы; не разрешайте автоматическую загрузку изображений в email; не назначайте папку сохранённых файлов по умолчанию; не переписывайтесь с незнакомыми (для вас) номерами/email/аккаунтами; не трольте спамеров; научитесь архивировать, а не удалять: история может не только во вред использоваться, но и во благо — просто делайте это правильно; flash умер — запомните это; помните, что Google-анкеты и прочие документы сами по себе могут быть и безопасны, а вот ссылки внутри них и сбор данных от них — нет и т.д., и т.п. Кстати, у Гугла, ФБ и прочих гигантов тоже есть настройки безопасности: https://myaccount.google.com/security — вышли в Web 2.0? Не забудьте туда нагрянуть и всё пере- и просто проверить. И да, ещё раз: никаких соц. сетей в рабочем браузере!
- Общайтесь тоже защищёно: TOX, Signal, Treema, Discord и ряд других подойдут для начала. Telegram? Конечно же нет, но ведь не говорю о том, чтобы всех и всё запретить: речь именно о том, что лучше использовать для совместного труда, а не для ведения каналов и т.п. Антиспам-помощники для телефона — тоже подойдут… если только им доверяете. Лучший дворецкий для входящих — вы сами.
- Никогда не работайте поздно: по крайне мере финансовые транзакции после 21:00 в вашем часовом поясе, к которому (вспоминаем про джетлаги) вы привыкли, — не просто плохой тон, а то, что подводит многих, кто попадается и на простейший фишинг, и на атаки куда более изощрённые.
Но это всё больше про то, чего не делать или делать с опаской. А как же поступать в активной фазе?
— Менять пароли хотя бы 1 раз в 3 месяца. Желательно — максимально оффлайн;
— Придумать свою систему записи паролей (позже покажу пару приёмов);
— Всегда имейте резервный канал связи с коллегами на резервных устройствах. Пример: вы общаетесь через TOX на 2х компьютерах? Попробуйте на запасных смартфонах установить Signal, привязанный к другим данным, включая — сети, и в случае подозрения вышлите сигнал бедствия или запрос на верификацию коллеги. Каким образом? Лучше всего голосовое/видео сообщение (не забываем про DeepFake) с некой секретной фразой, понятной только вам. Или ещё из элементарного: меняетесь? Просите подтверждение голосом у второй стороны ОТС: ломают не только соцсети и не только для слива данных.
— Важные документы — архивируйте, но парольте и главное — по системе. Иначе запутаетесь и всё п… пропадёт. Примеры? Будут, но если захотите.
— Заметили замедление работы компьютера? Сети? Смартфона? Остановитесь. Оцените ситуацию. Вирусы и прочая малварь жрёт ресурсы. При захвате условного периметра сети — тоже всё может работать неладно.
— А ещё есть кейлоггеры: и вот их даже антивирусы не всегда ловят (впрочем, 0day на Уровне №02 хватает). И как быть? Максимально использовать закрытые поля (аля формата password — закрытых “звёздочками”), виртуальные клавиатуры и подобные ухищрения. А ещё? А ещё не проговаривать вслух то, что сокрыто на бумаге или где-то в иных местах. Кстати, на бумаге записывать лучше и карандашом, и ручкой: они по-разному в разных средах сохраняются.
— Читайте дайджесты от https://www.securitylab.ru или любого аналога (xakep.ru и т.п. если начинаете). Читайте больше бюллетеней безопасности: лет чреез 5-10 вы начнёте их понимать ;).
— И начните, наконец, с главного:
—— https://book.cyberyozh.com/ru/
—— https://cawiki.herokuapp.com/cryptoanarchism_faq/
—— https://xakep.ru/2014/03/15/62206/
- И больше практики:
— https://webkay.robinlinus.com
— https://privacy.net/analyzer/
- И да, научитесь собирать, разбирать, чинить хотя бы половину своих девайсов: так узнаете сильно больше. Намного.
Подведу промежуточные итоги:
- Всё перечисленное касается в первую очередь Web 2.0. Но почему? Потому что, если хотите ездить на современном скоростном электрокаре по дорогам общественного пользования, в любом случае нужно знать а) правила дорожного движения и б) правила поведения в общественных местах. А уж потом…
- Выше обратил внимание на ряд аспектов лишь, из которых следует сделать такие выводы:
— Железо, ПО, сеть — три основных вектора по безопасности, каждый из которых отдельно и в совокупности с 1-2 другими рождает свои вопросы;
— Банальный атаки — самые простые. Возникают они из-за вашей с нами безалаберности, поэтому первичные табу:
—— Слабые пароли. К слову, сброс — тоже отдельное искусство, но его до меня прекрасно описали:
——— Часть: https://habr.com/ru/company/vdsina/blog/523690/;
——— Часть: https://habr.com/ru/company/vdsina/blog/524014/;
—— Нелицензионное ПО и железо (open source рулит);
—— Man-in-the-middle должен видеться всегда и всюду;
—— Никаких общественных Wi-Fi-ев для работы;
—— Никакого администратора как основной учётной записи;
—— Без обновления ОС, ПО, аддонов — всё коту под хвост;
—— Фишинг прост и примитивен — раскрашивайте учётные записи чаще потому;
—— Всегда помните, что доступ по API — самый опасный…
- И зарубите на носу: не нужно преувеличивать степень и силу Зла: не так страшен чёрт, как его малюют.
- А далее? Зная хотя бы это — давайте попробуем зацепить верхний слой и Web 3.0 сервисов.
Web 3.0. Начало
Тесты. Прежде чем что-то установить в боевой режим — протестируете. Прежде чем переводить ETH — возьмите тестовых и попробуйте отправить в сети. Прежде чем настроиться на L2 — попробуйте на малых суммах мосты и свопы.
Далее. Seed-фраза и/или приватный ключ — и есть ваши деньги: как одно превратить в другое и что это? Вот те вопросы, с которых рекомендую начать. НЕ понимая Web 3.0 механик — рано или поздно станете жертвой, а не HODL-ром.
Доступы. Запомните: деньги у вас только тогда, когда у вас приватный ключ. Даже деньги на смарт-контракте — уже не ваши. Поэтому wBTC круче: можно заработать (и порой — неплохо), но это уже не холодное хранение. Что такое “холодный” стейкинг объяснять не буду, но и он != HODL точно. Поэтому не забывайте проверять и отзывать при необходимости доступы: https://etherscan.io/tokenapprovalchecker — аналоги на EVM-совместимых чейнах найдёте сами, а дальше — по накатанной и в не EVM-подобных. Если не следили за историей своих аккаунтов, то настоятельно рекомендую это делать: https://zapper.fi/ru/dashboard/ — начните хотя бы отсюда. Или через dAPP от MEW, или через аналоги. Не важно. Важно, чтобы начали. Сейчас.
Стеганография и не только. Жёлтые точки — это реальность (да ещё какая!). Такая же реальность идентификация через airdrop-ы (впрочем, есть и другие способы): поэтому никогда не смешивайте публичные горячие кошельки и ваши же холодные. Иначе — идентифицируют, сопоставят и сольют в DarkNet… Шучу, но не сильно.
Обучение. Есть худший враг для скрипт-кидди. Скажем, что вы конкретно можете сказать о следующих атаках?
- Атака Сивиллы;
- Вампирский майнинг;
- Атака 51;
А самое главное: какие ещё атаки на p2p-системы и конкретно блокчейн-подобные / DAG-совместимые системы вы знаете?
Уровни защиты. Резюме
Итак, пройдитесь по этим уровням:
- Техническая защита;
- Организационная;
- Иная.
Далее: создайте схему — железо, ПО, сеть, вы (да-да, социальная инженерия — главный подвох). После — уже пробуйте детализировать.
Что будет в следующих частях?
Прежде всего — холодное хранение:
- Холодное и аппаратное хранение:
— Бумага vs. Металл;
— Trezor vs. Ledger Nano;
— Какие ещё способы существуют?
— В яйце — игла:
—— Защищённые флеш-носители;
—— Защищённые программные контейнеры в них;
—— Мобильные ОС;
—— Оффлайн-транзакции и физический доступ.
- Меш-сети и не только:
— Статические;
— Динамические;
- Биометрия и блокчейн (или сразу Метавселенная?):
— Способы идентификации;
— Противостояние им;
- Трилемма блокчейна и безопасность как таковая;
- Airdrop-ы и безопасность:
— Fake-airdrop;
— Атака сканированием;
— Прочие атаки;
- DarkWeb & DeepWeb: что есть, было и будет;
- Смарт-контракты и не только:
— Что решит nocode;
— Цеппелин и его стандарты;
— Механики разбора;
— Примеры атак на DeFi и не только;
- Классификация и разбор основных атак;
- И как всегда — ваши предложения.
А пока — до!
P.S. Коли вы — продвинуты больше моего, критикуйте, но главное — давайте наводки на продолжение темы: иначе мы рискуем не обучить нужное количество людей для создания критической массы положительного прорыва Web 3.0 механик.
#web_3.0 #безопасное_хранение_криптовалют #кибербезопасность
Comments