Инфа безусловно интересная, но вам бы статью расширить на тему как выявить и как зашишаться, с точки зрения юзера и сисадмина, чтоб была еще и полезная.
Зашишаться шишкой :)
А в остальном все просто — накатывать обновления на ось и браузер, не ходить по левым ссылкам, не отрубать UAC, поставить ПО которое контролирует память процессов. Врубить в винде DEP.
Основные правила гигиены хоть и соблюдаю, но не уверен, что абсолютно чист в результате, после прочтения задумался, например, как винчок проверить на наличие заразы в MBR, как я понял антивирь этого не ловит.
grub тут вряд ли спасёт. а вот с gpt уже лучше — думается, что система после подмены 0 сектора может перестать в этом случае загружаться. не бог весть как хорошо, однако лучше, чем втихую воровать пароли.
Ну как вариант загрузиться с LiveCD, переписать оригинальный disk.sys, и выполнить что-то типа `fdisk /mbr` (не знаю как сейчас в семёрке это дело выглядит).
Тогда есть вероятность, что антивири начнут его видеть :)
Ну как самое банальное, судя по методу первоначального заражения — не работать в интернете под привилегированным пользователем, ведь непривилегированный пользователь вряд ли сможет залинковать dll в проводник (хотя тут все зависит от конкретного способа), ну и плюс использовать наиболее современные версии браузеров, регулярно их обновлять.
Ко мне Conficker пытался лезть через какую-то дыру в системе, через NetworkServices, и отлавливался уже только на компе антивирусом. Так что того, что вы описываете — мало :( Нужно ещё дыры затыкать.
Это понятно, что если все запрешено и машина изолирована, тогда и проблем нет. Но вопрос в том, что у меня скажем и апач бежит и иногда надо людям доступ дать к нему извне, да и всякие клиент серверные штуки прочие иногда нужны, так что вариант одиночного заключения катит далеко не для всех.
а по-моему, «как защититься» — это уже тема для другой статьи, и перегружать эту статью информацией, лишь отдалённо связаной с темой статью, не следует
Ботнет существует не только для кражи паролей. Он также является инструментом атаки (DDOS, брутфорс и т.д.). Чем больше компьютеров (и чем менее грамотны в ИТ их владельцы) — тем лучше.
да… может быть и мой мак какой нибудь херней заражен? а я даже об этом не знаю?
В общем надо что то делать с безопасностью… Типа в школе ее проходить или типа того.
хотя в итоге отпечаток все равно будет в оцифрован( и отправлен… Похоже лозунг храните деьги в сберегательной банке в виде нала скоро опять обретет свою актуальность)
Нужно переходить на нормальную аутентификацию, которая не требует передачи всего секрета полностью (будь то пароль, отпечаток пальца или что ещё). Только почему-то никто не торопится этого делать, наверное текущее положение вещей кому-то слишком выгодно.
Например у ВТБ24 есть карта переменных кодов для системы Телебанк.
Это такая карточкА, на которой 112 пин кодов. при каждом логине в систему или иной операции с деньгами требуется ввести этот код с заранее привязанной карточки.
Каждый раз следующий.
То есть, даже если злоумышленник узнает пароль от интернет-банкинга, он ничего не сможет сделать, так как у него нет физической карточки переменных кодов.
Ага, в общем это называется одноразовый пароль, но в принципе могут быть и другие методы. Главное, чтобы сам секрет был труднодоступен (в том числе, естественно, не передавался целиком хосту).
Если уж руткит вставляет фишинговую страницу непосредственно в браузер при заходе пользователя на онлайн-банкинг, то наверняка можно научить руткит делать перевод денег прямо в этой сессии.
Поправьте пожалуиста, если я не правильно понял.
Можно сделать форму с запросом следующего одноразового кода но не отправлять её в банк, а забирать этот код себе. Говорить что операция не удалась и просить ввести следующий код… потом еще… короче на сколько у пользователя терпения хватит. В итоге у вас будет приличный набор этих «недоступных» кодов.
Брелок-генератор в этом смысле покруче, но можно банально подменять операцию банка — показывать пользователю что он переводит деньги в магазин, а подставлять нужный счет
Да, простой список одноразовых паролей — не самая лучшая реализация. Но если хост будет запрашивать пароль по идентификатору, и блокировать доступ по нему через некоторое время, то толку с этого набора кодов не будет.
А от подмены счёта тоже можно защититься, почитайте комменты ниже. Но не факт, конечно, что это будет юзер-френдли.
У меня банк делает проще, вместо брелка генератора присылает одноразовый пароль на мобилку в виде смс. А номер телефона я могу поменять тольк в отделениии банка с паспортом.
Почему? А если обработка секретных данных происходит на отдельном устройстве? Например, данное устроуство в своих недрах создает цифровую подпись для данной транзакции.
Это делалось ещё под Зевсом и Адреналином.
Общая схема — вставить ифрейм со страницей перевода — заполнить данные — отправить перевод — попросить у пользователя пароль/TAN/код с брелка для «подтверждения данных».
Есть более хайтек- и гиковый вариант, в виде сециального брелка, который непрерывно генерирует некую квазислучайную последовательность, привязаную к текущему времени и начатую одновременно банком и этим брелком.
В момент транзакции смотришь что там за цифры на нем, и вводищь их в подставленное окошко. Совпали с обоих концов — проходи.
Хе-хе в похожей теме кажется уже писал, при желании владельцев ботнета это вас не спасет.
Как написано в статье он умеет подменять текст странички, а следовательно и сам спросит пароль и сам же подпишет нужным паролем нужный ему платежик, более того, даже в выписке сможет подменить нужные строки. Т.е. вы до физического обращения в банк лично или по телефону не будете даже подозревать что деньги ушли не на ААА а на БББ. Могу расписать подробнее как это можно сделать.
При правильном подходе спасает — к примеру сначала банк принимает запрос на платеж: далее формирует подтверждающий mTAN который вместе с уже полученной информацией платежа высылает пользователю, который его сверяет и в зависимости от этого уже подтверждает платеж или нет. Посему тут подмена не срабатывает.
Что вы подразумеваете под mTAN если это что-то вроде 049593920 на платеж 10 тыс на ООО Вася, то кто мешает подменить 049593920 на 049593921 который будет соответствовать платежу 100 тыс на ООО Петя и будет правильно сгенерированным вашим же баком, при этом показав вам на экране что этот код соответствует вашему платежу?
Идеальным вариантом был бы следующий алгоритм:
Бьем платежку 10 тыс /ООО Вася /счет 0001
Нам присылают смс-ку с данными платежки и цифирькой, цифирьку+пин пропускаем ч-з спецдевайсину… результирующую цифрь бьем в окошко клиент-банка.
Если же без смски тогда цифрь которая от банка приходит должна довольно легким образом в сумму и контрольную сумму номера счета превращаться, чтобы человек мог при желании проверить а на его ли платежик эта цифрь прислана.
Ну если уж совсем быть параноиком там тоже метод есть вполне рабочий, но по причине его сложности для клиента, банками не используемый который дает почти 100% защиту от подмены даже в случае работы по единственному скомпрометированному каналу.
Хотя и выше указанные все виденные мной банки(более 20) тоже не использовали. По частям да в полной мере нет, т.е. на данный момент я не могу назвать ни одного банка который защищал бы клиента от подмены платежа(ну конечно же личный звонок в банк никто не отменял, но при количестве платежей > 1 и неVip статусе в банке операционисты оч. неохотно идут на сверку реквизитов платежей).
Получился хороший пример защиты от man-in-the-middle с использованием дополнительного безопасного канала :)
Другой вариант — использовать цифровую подпись. Например, можно генерировать число по номеру счёта + секрету при помощи того же внешнего безопасного девайса, и просить ввести его для подтверждения транзакции.
TAN — transaction authentication number, т.е. по сути одноразовый пароль для подтверждения транзакции, приставка «m» означает его мобильный вариант, когда этот случайно сгенерированный пароль присылается клиенту посредством SMS. К примеру mTAN широко используется в Альфа банке, но он уязвим к тому, что реальные данные перевода можно подделать. Чтобы этого не происходило, вместе с mTAN банк вам должен прислать и информацию по платежу, что вы к примеру отправляете деньги Васе, а не Пете. В данном случае тоже есть определенные виды мошенничества, но они уже целенаправленные — к примеру могут перевыпустить вашу симку, или завладеть телефоном (физически/backdoor), но и от этого тоже есть защита, хотя для большинства рядовых клиентов она не нужна и используется только для VIP персон.
>Оценка экономической эффективности $3-300 млн в год
т.е. авторы статьи срубили по легкому от $82 тыс. до $8,2 млн. очень даже отличный стимул для перехвата управления.
Буду следить за следующими статьями автора. Хотя хотелось бы еще чуть-чуть подробнее. Например хотя бы старый алгоритм описать, хотя… и новый было бы неплохо. Нужно же придумывать методы защиты, ну… на крайний случай хотя бы быстрой локализации и изоляции зараженных.
Выше уже говорилось про то, как можно защититься но, возможно кто то из хабраюзеров может поделиться более подробной, проверенной информацией ?? Просто поиск в Гугле может привести некоторых к ещё большему заражению, Находишь ссылку «Лучший способ защититься от ботнета или спама»- клик по ней и сам уже рассылаешь спам или стал частью ботнета =)
Я так вобще на Мини сижу, мне хватает, но вы правы, каждому своё. Но причина отсутствия полноценного клиента как я понимаю и кроется в малой численности пользователей никсов согласно их статистики, ну и(в меньшей мере) конечно же более-менее монополии в рунете(иначе они бы и за этот 1% боролись).
Было крайне полезно, если бы авторы указали что из себя представляет «усредненный» компьютер ботнета. Например ОС — такая-то; обновления (установлены, нет, частично); наличие антивируса, файервола. Чтобы была возможность оценить потенциальную вероятность заражения собственной системы. А то после подобных публикаций появляются мысли как в анекдоте :«Никому нельзя верить — даже себе.»
жесть, особенно понравилось, что это в UCSB проводилось, мой выбор универа после колледжа был правельный :) ну и захват 0 кольца, всегда восхищался таким решениям, это вам не ловесан.
Интересно если сделали недетерминизм (тоесть невозможность предугадать какие домены будут выбраны в будущем) то как же их злоумышленники узнают и регистрируют? И как злоумышленники вернули себе управление ботнетом тоже интересно если исследователи управляли СС сервером, выходит боты за апдейтами обращаются не на СС сервера а на какой-то отдельный вид серверов? Ну а уже на стороне клиента инжекты это как-то примитивно для «cамые остроумного способы воровства данных», американские банки сначала полагаются на устаревшую аутентификацию по PIN/TAN а потом удивляются как это так что у нас у людей резко денег украли. Ну про сбор кредиток это надо быть наверное американцем чтоб собственному банку напоминать MMN когда на каждом углу написано что мы Вас об этом никогда не спросим, никому не говорите. Интересно было бы пощупать его руками это чудо заморское, никто не подскажет где можно ифрейм нужный словить?
Вот не видел линукс ботнетов, слышал только про существование руткитов, которые простейшая программа вычищала. Но через ту же тормозиллу закинуть на локальную машину какой нить скрипт, который будет висеть демоном, вполне реально. А вот буткит сделать без root'а никто не позволит. Впрочем самый простой способ заразить систему — левый пакет, при установке которого права рута нужны, и его скрипты инсталяции будут запускаться с правами рута
я видел. впрочем не в бутките счастье. поимев локального юзера можно получить все необходимое. вот только уж очень редко локальных юзеров имеют. хотя пытаются довольно много.
от простого способа заразиться есть простой способ защиты :) нефиг ставить непонятные бинари.
Ну так сложность с установкой левых бинарей очень даже спасает пользователей никсов. А в официальном репозитории точно левака не будет водится. Поэтому в случае никсов наличие мозгов позволяет почти полностью обезопасится
не вижу сложностей с установкой. впрочем необходимости в ней тоже обычно нету. бтв, есть некоторый шанс скомпрометировать оф реп, но он настолько мал, что можно не учитывать :)
Все так думают, пока не скомпрометируют. Можно сделать это на зеркале, или в отчаянном случае, подменив торрент-пакеты. Многие ли проверяют конечный md5?
debian и ubuntu впринципе отказываются ставить пакет, если хеш не сошелся. список хешей и прочих метаданных подписан оф ключем. если не сходится подпись — пакет не ставится. в итоге чтобы скомпрометировать пакет надо его менять до подписи и появления в оф репе. любые изменения на зеркале нарушат подпись и будут отклонены.
Вот только не пойму я одного как они могли перехватить управление ботнетом, при том что владелец в дальнейшем смог фикс накатить, а смущают меня следующие пункты:
1. Что мешало таким продвинутым ботописателям проверять команды ботнету на подпись, есть вполне стойкие криптоалгоритмы?
2. Если подпись не использовалась то что мешало перехватчикам послать команду отмены обновлений?
3. Если же они перехватили ботнет с правами ридонли, то о каком перехвате может вобще идти речь?
4. И последнее, они что шифровали только трафик, а сами данные в открытом виде а сервер ложились?
Увы, либо переводчик не понял авторов, либо авторы что-то приврали. Ботнеты такого рода, принимая команды от доменов, проверяют электронную подпись (открытый ключ есть в теле бота, а закрытый — только у владельцев). Таким образом, даже перехватив домен, отдавать боту команды нельзя, точнее, он не будет их выполнять.
В данной конкретной ситуации авторы даже не пытались передавать команды (см. раздел 4.1 документа):
In particular, when a bot contacted our server, we always replied with an okn message and never sent it a new config- uration file. By responding with okn, the bots remained in contact only with our servers. If we had not replied with a valid Torpig response, the bots would have switched over to the .biz domains, which had already been registered by the criminals. Although we could have sent a blank configuration file to potentially remove the web sites currently targeted by Torpig, we did not do so to avoid unforeseen consequences (e.g., changing the behavior of the mal- ware on critical computer systems, such as a server in a hospital).
Таким образом, назвать это действие «перехватом ботнета» — слишком преувеличено.
Исследование, впрочем, все равно достаточно интересное.
Вот объясните железнодорожнику-ламеру, почему в наше время такие вещи нельзя проверять вариантом загрузки «Чистая ОС + антивирус»?
Например, я захожу на сайт Касперского или McAfee, качаю свежую версию образа диска, записываю его на USB, стартую с этой флешки — и все фальшивые MBR как на ладони — я не прав?
Если идея бесплатных антивирусных дисков не греет грандов — … ну тогда это неплохая идея для стартапа с неплохой посещаемостью и постоянной аудиторией.
В лохматом 2002 году что у каспера, что у др. веба были загрузочные дискетки со сканером. Причем самое интересное, что у каспера дискетка была под кастрированым редхатом.
Так что скорее всего и сейчас есть загрузочные антивирус диски.
Вот чесслово, ботнеты — это плохо, но если ботнеты вобьют гвоздь в крышку гроба Windows, Linux и вообще классических ОС. я буду только рад. Неужели люди не видят, что надо менять технологии программирования, чтобы опасный код просто невозможно было запустить! Сколько можно пользоваться устаревшим подходом (а винде, с ее кодом 10 летней давности, место на помойке).
Где там сейчас оси типа Singularity? Открою страшную тайну, что уязвимости не содержит лишь Hello, world, а программист в среднем на 1000 строк кода делает несколько ошибок, любой программист, на любом языке!
Нет, сейчас Windows позволяет (пусть и после 10 предупреждений, которые все равно никто не читает) например скачать и запустить exe-файл (я уж молчу про огромное кол-во дыр в ActiveX объектоах от всякого там МС Офиса, позоляющих скачивание exe без ведома пользовтаеля).
А тот же Хром: даже если в сложном коде рендерера найдется дыра — зловредный код будет сидеть в пеосчнице, откуда доступ только к главному процессу браузера через сокет, т.е. тут надо еще и его ломать потом.
То же в Си: если использовать не char* а более хитрый объект, с проверкой длины строки и границ, атаки через переполнение буфера становятся невозможными.
Ну и так далее, в общем нужно саму структуру ОС и технологии программирования менять.
Понятно, хотя на каком уровне OSI security socket layer инкапсулирует трафик я знаю.
Я имел в виду, что можно при отдаче html взять от нее hash и подписать открытым ключом сертификата SSL, если это возможно (все таки не помню в деталях как он реализован). Хотя идея все равно не айс, учитывая количество js, который меняет DOM в течении жизненного цикла странички.
Да, логично. =) В принципе при таких правах у малвари пить боржоми уже совсем бесполезно, все уже отвалилось. А что еще нет, так обязательно отвалится.
Интересно классическое «не сидите из под админа» здесь помогает в момент заражения или хотя бы в процессе распространения заразы по машине? Я во внутреннем устройстве Win систем не силен.
Жесть, боюсь даже рассказать такое друзьям, потому что как же их заставить всех сидеть не под админом? :(
А пользователям Mac OS X уже надо волноваться или все еще рано?
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.
комментарии (143)
в принципе, выход есть, но, боюсь, он вам не понравится.
А в остальном все просто — накатывать обновления на ось и браузер, не ходить по левым ссылкам, не отрубать UAC, поставить ПО которое контролирует память процессов. Врубить в винде DEP.
Тогда есть вероятность, что антивири начнут его видеть :)
Сможет. В рамках одного юзера можно сделать практически что угодно с любым процессом, помнится.
В общем надо что то делать с безопасностью… Типа в школе ее проходить или типа того.
неплохой разброс…
Это такая карточкА, на которой 112 пин кодов. при каждом логине в систему или иной операции с деньгами требуется ввести этот код с заранее привязанной карточки.
Каждый раз следующий.
То есть, даже если злоумышленник узнает пароль от интернет-банкинга, он ничего не сможет сделать, так как у него нет физической карточки переменных кодов.
Не очень удобно каждый раз, но зато безопасно.
Поправьте пожалуиста, если я не правильно понял.
Брелок-генератор в этом смысле покруче, но можно банально подменять операцию банка — показывать пользователю что он переводит деньги в магазин, а подставлять нужный счет
А от подмены счёта тоже можно защититься, почитайте комменты ниже. Но не факт, конечно, что это будет юзер-френдли.
Да это сложнее, но, учитывая profit, этого стоит ожидать.
Общая схема — вставить ифрейм со страницей перевода — заполнить данные — отправить перевод — попросить у пользователя пароль/TAN/код с брелка для «подтверждения данных».
В момент транзакции смотришь что там за цифры на нем, и вводищь их в подставленное окошко. Совпали с обоих концов — проходи.
Как написано в статье он умеет подменять текст странички, а следовательно и сам спросит пароль и сам же подпишет нужным паролем нужный ему платежик, более того, даже в выписке сможет подменить нужные строки. Т.е. вы до физического обращения в банк лично или по телефону не будете даже подозревать что деньги ушли не на ААА а на БББ. Могу расписать подробнее как это можно сделать.
Бьем платежку 10 тыс /ООО Вася /счет 0001
Нам присылают смс-ку с данными платежки и цифирькой, цифирьку+пин пропускаем ч-з спецдевайсину… результирующую цифрь бьем в окошко клиент-банка.
Хотя и выше указанные все виденные мной банки(более 20) тоже не использовали. По частям да в полной мере нет, т.е. на данный момент я не могу назвать ни одного банка который защищал бы клиента от подмены платежа(ну конечно же личный звонок в банк никто не отменял, но при количестве платежей > 1 и неVip статусе в банке операционисты оч. неохотно идут на сверку реквизитов платежей).
Но это уже совсем другая история.
Другой вариант — использовать цифровую подпись. Например, можно генерировать число по номеру счёта + секрету при помощи того же внешнего безопасного девайса, и просить ввести его для подтверждения транзакции.
Вместо логинов/паролей будут тырить отпечатки.
А если я по английски читаю, но не говорю меня на каком нибудь буржуйском сайте не авторизуют?
т.е. авторы статьи срубили по легкому от $82 тыс. до $8,2 млн. очень даже отличный стимул для перехвата управления.
> Постоянно пользуюсь Google Chrome version: 3.0.195.33
Это заметно ;)
а что за анекдот? я так всегда старался придерживаться этой фразы
Этой новости уже сто лет в обед, ее весной еще публиковали (и не смотрите на дату november 2009 — это дата последнего обновления документа).
Вот пруфлинк, если кто сомневается:
University of California researchers take over Torpig botnet to reveal number of IPs controlled is vastly overrated. Dan RaywoodMay 28, 2009
Буткит: вызов 2008
www.securelist.com/ru/analysis/204007635/Butkit_vyzov_2008
www.securelist.com/ru/analysis/204007655/Butkit_2009
Только чуть поменьше.
от простого способа заразиться есть простой способ защиты :) нефиг ставить непонятные бинари.
вот сарказм)
и теперь понятно как у чувака увели деньги с Я.Д…
1. Что мешало таким продвинутым ботописателям проверять команды ботнету на подпись, есть вполне стойкие криптоалгоритмы?
2. Если подпись не использовалась то что мешало перехватчикам послать команду отмены обновлений?
3. Если же они перехватили ботнет с правами ридонли, то о каком перехвате может вобще идти речь?
4. И последнее, они что шифровали только трафик, а сами данные в открытом виде а сервер ложились?
В данной конкретной ситуации авторы даже не пытались передавать команды (см. раздел 4.1 документа): Таким образом, назвать это действие «перехватом ботнета» — слишком преувеличено.
Исследование, впрочем, все равно достаточно интересное.
Например, я захожу на сайт Касперского или McAfee, качаю свежую версию образа диска, записываю его на USB, стартую с этой флешки — и все фальшивые MBR как на ладони — я не прав?
Если идея бесплатных антивирусных дисков не греет грандов — … ну тогда это неплохая идея для стартапа с неплохой посещаемостью и постоянной аудиторией.
У Касперского и McAfee на сайтах вроде нет бесплатных LiveCD.
У др.Веба точно есть готовый образ.
Так что скорее всего и сейчас есть загрузочные антивирус диски.
А тот же Хром: даже если в сложном коде рендерера найдется дыра — зловредный код будет сидеть в пеосчнице, откуда доступ только к главному процессу браузера через сокет, т.е. тут надо еще и его ломать потом.
То же в Си: если использовать не char* а более хитрый объект, с проверкой длины строки и границ, атаки через переполнение буфера становятся невозможными.
Ну и так далее, в общем нужно саму структуру ОС и технологии программирования менять.
Подписанный SSL сайт не проверяет контроль целостности?
IP -> TCP -> SSL -> HTTP -> браузер -> html injection
от IP и до браузер всё safe. беда проиходит после.
я понятно объяснил?
Я имел в виду, что можно при отдаче html взять от нее hash и подписать открытым ключом сертификата SSL, если это возможно (все таки не помню в деталях как он реализован). Хотя идея все равно не айс, учитывая количество js, который меняет DOM в течении жизненного цикла странички.
если вредный код внутри браузера — то можно сделать что бы проверка давала ОК
Интересно классическое «не сидите из под админа» здесь помогает в момент заражения или хотя бы в процессе распространения заразы по машине? Я во внутреннем устройстве Win систем не силен.
А пользователям Mac OS X уже надо волноваться или все еще рано?