Как я могу заразиться вирусом, просто посетив веб-сайт? [дубликат]

Возможный дубликат:
Компьютер может быть заражен вредоносным программным обеспечением через веб-браузер?

Это общеизвестно, что можно заразиться вирусом только путем посещения веб-сайта. Но как это возможно?

Эти вирусы нападают на Windows, пользователей Mac и пользователей Linux, или действительно ли Mac/пользователи Linux неуязвим?

Я понимаю, что, очевидно, могу заразиться вирусом путем загрузки и выполнения .exe в Windows, но как я могу заразиться вирусом только путем доступа к веб-сайту?

Вирусы программируются в JavaScript? (Это имело бы смысл, так как это - язык программирования, который работает локально.) Если так, какие функции JavaScript те являются наиболее часто используемыми?

47
задан 20.03.2017, 12:17

0 ответов

Общеизвестно, что вирус можно получить, просто зайдя на сайт. Кто-нибудь может объяснить, как это возможно?

Примеры в паре. Есть ошибка в браузере (IE), интерпретаторе javascript или в плагине (например, flash или java). Эта ошибка приводит к выполнению кода - эта часть может быть действительно сложной, но часто она включает в себя ошибку использования после освобождения и манипуляцию с кучей .

Тогда у меня запущен какой-то шеллкод. Шеллкод должен экранироваться от любой защиты, которая есть в браузере - для ошибки V8/Chrome вам придется экранироваться от песочницы хрома и победить DEP и ASLR. Для IE, вы должны победить DEP и ASLR, а затем выйти из режима низкой целостности. Для Java тебе бы пришлось... ничего не делать - ты весь в золоте. (Вот почему было много java-багов.)

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

Вирусы запрограммированы на JavaScript ? (Это имеет смысл, так как это язык программирования, который работает локально.) Если да, то какие функции JavaScript обычно используются ?

Конкретно - нет. Javascript - это вектор атаки, который люди будут использовать для поиска ошибки в браузере. В качестве вектора атаки они также могут использовать Flash, Java или Silverlight. В случае с javascript, они пишут javascript, чтобы вызвать ошибку в браузере, а затем вирус в конечном итоге вытаскивается из интернета.

.
24
ответ дан 07.12.2019, 08:33

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

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

Поэтому, как и все люди, разработчики этого программного обеспечения неизбежно допускают ошибки: парсер HTML случайно перезаписывает один байт в стеке, когда заканчиваешь html на . Случайно использовали подписанную int вместо неподписанную int. JIT-компилятор javascript случайно пытается разыменовать массив в нулевой указатель. Все эти и миллионы других уязвимостей постоянно встречаются в программном обеспечении либо из-за отсутствия знаний о безопасности, либо по недосмотру, либо даже из-за простой ошибки. Программное обеспечение просто way слишком сложное, чтобы поймать их все.

Из-за этого операционные системы имеют встроенные механизмы предотвращения повреждения системы, даже при обнаружении уязвимости. Ваша ОС, вероятно, имеет DEP и ASLR. Программы могут иметь различные защиты , добавленные компилятором. Браузеры работают на более низких уровнях. Программы запускаются через автоматический анализ и тестирование, которые могут наловить много таких уязвимостей.

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

.
11
ответ дан 07.12.2019, 08:33

К сожалению и извращенно, существует множество способов, как это может произойти.

Вы совершенно правы, когда удивляетесь, что "устройство чтения", подобное браузеру, может активно манипулировать вашей собственной системой (и причинять ей вред). Чтение книги не истощает ваш банковский счет, а открытие газеты не причиняет вреда вашим детям, так зачем же открытие сайта может сделать все это и даже больше?

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

Если вы просто сидите в командной строке и набираете wget http://evil.com/hitme.php, HTTP-клиент wget просто напишет двоичный дамп запроса на ваш диск, и ничего плохого не случится (кроме, возможно, заполнения вашего диска). Но если вы наберете адрес в вашем браузере, то ваш браузер может делать все, что захочет -- отформатировать жесткий диск, отослать данные вашей кредитной карты и т.д. Вы можете доверять вашему браузеру, чтобы не делать этого. Большинство браузеров действительно пытаются не делать эти плохие вещи, но мы, пользователи овцы, потребовали, чтобы браузеры могли делать все более "умные трюки" и демонстрировать автоматическое поведение , основанное на инструкциях из интернета. Наши требования привели к созданию клиентских технологий выполнения кода, таких как JavaScript и Flash, которые загружают произвольный, иностранный, недоверенный, вредоносный код и выполняют его, и все это для нашего удовольствия.

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

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

Единственным умеренно безопасным выходом является отключение JavaScript и плагинов в вашем браузере. Безопасен, как и в 1995 году

.
14
ответ дан 07.12.2019, 08:33

Термин называется "Drive By Download"

Вот хороший пример того, как это происходит без посещения сайта.

Шнайдер сказал, что команда исследователей компании обнаружила на странице фрагмент JavaScript, который внедрял ифрейм, указывающий на вредоносный сайт. Более тщательная проверка показала, что он использовал ранее неизвестный (0 дней) эксплойт IE, способный обрушить полностью исправленную версию этого браузера и выполнить вредоносный код. Однако нулевой день был недолгим, так как Microsoft вскоре выпустила подробности об этой уязвимости.

Дальнейший анализ шелллкода выявил четкий текстовый URL, указывающий на известный вредоносный сервер, который хранился в репозитории M86 как воспользовавшийся известной уязвимостью iepeers.dll, MS10-018.

7
ответ дан 07.12.2019, 08:33

Фокус в том, что производители вирусов / эксперты по безопасности находят лазейки в браузерах. Простыми словами, они находят дыру в безопасности браузера и могут использовать эту дыру для того, чтобы что-то сделать с вашей системой. Есть случаи, когда у Adobe Flash были дыры, и с определенным кодом он мог быть использован. Есть также строки javascript, которые могут вызвать эти дыры в безопасности.

Тем не менее, если вы держите браузер в актуальном состоянии, очень маловероятно, что вы заразитесь, просто зайдя на сайт (скачать файлы и выполнить их - это еще одна история!)

.
3
ответ дан 07.12.2019, 08:33

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

Как таковые, предположительно каждая операционная система является потенциальной жертвой, но вирусописатели обычно фреймируют свои атаки, основываясь на экономии за счет масштаба - чем больше пользователей, тем лучше. Поэтому Windows и Internet Explorer чаще становятся мишенью.

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

Лучше всего запустить качественный вирусный сканер. Я использовал NOD32 по Eset. Также, не нажимайте на что-нибудь, если это слишком хорошо, чтобы быть правдой. Используйте NoScript в Firefox и AdBlock.

2
ответ дан 07.12.2019, 08:33

Ваши конкретные вопросы

Я понимаю, что я, очевидно, могу получить вирус, загрузив и выполнив команду .exe в Windows, но как я могу получить вирус, просто зайдя на сайт?

Ваш браузер постоянно выполняет код (он сделан из кода). Когда он загружает веб-страницы, этот код загружает и отображает произвольные данные (пиксели, символы и т.д.)

Код также является данными (на уровне процессора).

Поскольку код является данными, если ваш браузер пытается выполнить данные (независимо от расширения файла или формата), он может на самом деле запуститься (если создан правильно).

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

Один из способов сделать это - сформировать данные таким образом, что при чтении они "просочатся" и перезапишут данные, из которых состоит исполняемая программа браузера. Для этого необходимо, чтобы браузер имел ошибку (чаще всего в этом случае разрешается выход за пределы буфера ).

Ваш браузер также запускает программы поверх web-страниц. Javascript, как вы уже упоминали, является одним из таких типов кода. Но их десятки. ActiveX, Flash, дополнения, скрипты жирных обезьян и т.д. - все это код, который вы запускаете во время посещения веб-страниц. Этот код может содержать ошибки, которые вызывают бреши в безопасности.

Атакуют ли эти вирусы пользователей Windows, Mac и Linux, или пользователи Mac/Linux защищены от них?

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

Причина этого мифа в том, что Mac и Linux имеют гораздо более низкий уровень принятия, чем Windows-машины (на уровне рабочего стола). Поэтому настольное программное обеспечение на этих машинах не является такой же распространенной мишенью для вирусопроизводителей.

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

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

Но, в зависимости от типа атаки, вирус, написанный для не-Intel Mac может не работать на Intel Mac, и наоборот, потому что у них разные процессоры. Для разных процессоров данные, представляющие код, имеют разный формат.

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

Являются ли вирусы, запрограммированные на JavaScript?

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

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

Кроме того, чем больше подвержено работающему программному обеспечению (например, программному обеспечению, работающему на сервере), тем более уязвимо оно для атаки.

В общем, это называется Attack Surface

Exploits in general

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

Spoofing (of user identity)
Tampering
Repudiation
Information disclosure (privacy breach or Data leak)
Denial of Service (D.o.S.)
Elevation of privilege

Некоторые из них более вероятно будут использованы в атаке на основе Javascript, чем другие, некоторые на серверах, некоторые на файлах данных (например, изображения).

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

.
8
ответ дан 07.12.2019, 08:33

Атакуют ли эти вирусы пользователей Windows, Mac и Linux, или пользователи Mac/Linux защищены от них?

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

Давно считается, что получить административные привилегии на машине Unix (например, Linux, Mac или BSD) труднее, чем на Windows. Тем не менее, недавняя (начиная с Windows Vista) модернизация функций безопасности Microsoft, возможно, сделала Windows намного более безопасной, чем раньше - или, по крайней мере, они бы поверили в это.

.
1
ответ дан 07.12.2019, 08:33

Теги

Похожие вопросы