Почему я могу заразиться вирусом или трояном от посещения веб-сайта?

16413
Rob

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

Как это возможно? Есть ли способ проверить ссылки перед посещением, чтобы убедиться, что я не заразился?

16
Возможный дубликат: http://superuser.com/questions/13507/how-can-visiting-a-webpage-infect-your-computer Hello71 13 лет назад 0
Это возможно, потому что веб-браузеры (например, Internet Explorer) являются чрезвычайно сложным программным обеспечением и, несмотря на то, что они хорошо написаны. Хакеры обнаруживают недостатки, которые могут быть использованы для запуска программы по вашему выбору на вашем компьютере, например, трояна. unixman83 12 лет назад 0

3 ответа на вопрос

14
ChrisF

Чтобы ответить, как это возможно:

На сайте есть некоторый скрипт, который запускается при загрузке страницы. Это то, что заражает ваш ПК с Windows - я не уверен на 100% в деталях, загружает ли он код или просто запускает его. На этой странице есть пример того, как это было сделано в одном случае. Также необходим уязвимый браузер, и практически любой популярный браузер является уязвимым, так как на многих компьютерах стоит ориентироваться.

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

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

Хотя, работая с пользователем с ограниченными правами, вы можете ограничить ущерб, но не обязательно устранить его.

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

Благодарю. Мне просто трудно поверить, что он может автоматически загрузить ваш браузер и запустить его. Что это за сценарий? JavaScript? Rob 14 лет назад 0
@Rob - Да, это будет JavaScript, и для этого нужен уязвимый браузер, а пользователь должен быть администратором. ChrisF 14 лет назад 0
Ему удалось установить себя через FireFox. Вот вам и самый безопасный веб-браузер. FML Rob 14 лет назад 0
@Rob - Firefox давно не был самым безопасным браузером. Как только он достиг приличной доли рынка, вирусные и троянские авторы начали искать эксплойты, поскольку это того стоило. Если вы хотите «безопасный» просмотр, выберите браузер с самой низкой долей рынка;) ChrisF 14 лет назад 0
К сожалению, я боюсь перемен. Я буду придерживаться Firefox, так как в нем есть тонна аддонов, которые я использую ежедневно. FML снова. Теперь мне просто нужно знать, возможно ли принять два ответа на один вопрос? Rob 14 лет назад 1
@Rob - пока вы держите FF в актуальном состоянии и будьте осторожны, вы будете в максимальной безопасности. К сожалению, вы можете принять только один ответ. ChrisF 14 лет назад 0
Тогда я приму это. Это, кажется, помогло мне больше всего. Благодарю. Rob 14 лет назад 0
Windows нацелена больше, потому что она более популярна. Некоторые говорят, что Windows менее безопасна, чем альтернативы, но я должен сказать, что, как вы подчеркиваете, это не так. Я запускаю Linux дома, и если троянец может запускаться под моей учетной записью пользователя, он все равно может нанести немало вреда файлам, которые меня волнуют, он просто не сможет захватить систему. 14 лет назад 0
@ Роджер - хороший момент - я обновлю ответ ChrisF 14 лет назад 0
@ Роджер: Это не цель трояна, чтобы повредить ваши файлы, полная противоположность. Троян - это удаленная программа, которая позволяет людям подключаться к вашему компьютеру и делать с ним все, что им захочется. Больше нет вируса, который наносит реальный ущерб, потому что он просто не окупается. Bobby 14 лет назад 0
@Bobby: «Троян» относится к тому, как он получает вход, как и оригинальный троянский конь, и я использовал его только в качестве примера нежелательного программного обеспечения. Однако то, что позволяет удаленное управление, часто называют бэкдором. 14 лет назад 0
8
sleske

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

В принципе, заразиться только от посещения сайта должно быть невозможно:

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

Аналогичные ограничения существуют для большинства плагинов (по крайней мере, для Java и Flash). Обычно это называется « песочницей», поскольку код, по сути, находится в отдельной коробке, изолированной от компьютера, на котором он работает. В частности, он не может читать файлы на вашем жестком диске или запускать программы для вас, как это могут делать «обычные» программы на вашем компьютере.

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

Примеры:

  • Как и в обычных программах, реализация браузера или плагина может иметь переполнение буфера, что позволяет веб-сайту запускать специально созданный код, отправляя его в браузер в качестве входных данных.
  • В старых версиях Java-плагина Sun была уязвимость в отношении песочницы. Песочница запрещает (и все еще запрещает) доступ ко всем функциям Java, которые могут позволить программе наносить ущерб, такой как чтение или удаление локальных файлов. Однако, хотя песочница действительно правильно блокировала доступ к этим функциям из Java-апплета, браузеры также разрешали косвенный доступ к этим функциям из JavaScript (с помощью метода, называемого «отражение»). Этот «черный ход» не был в достаточной степени учтен разработчиками и позволял обойти ограничения песочницы, нарушив песочницу. См. Https://klikki.fi/adv/javaplugin.html для получения подробной информации.

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

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

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

2
Ioan

Я упоминаю об этом, чтобы ответить на ваш последний вопрос о упреждающих действиях. Один не очень распространенный вариант - использовать виртуальную машину (ну, это часто встречается в кругах безопасности). Есть несколько бесплатных. Установите свою ОС, браузер и надстройки на виртуальной машине и сохраните состояние. Затем вы можете перейти на любой сайт. Когда вы закончите, вы вернетесь к этому сохраненному состоянию и все, что произошло на виртуальной машине после этой точки, будет отброшено. Это очень просто, как только вы попадаете в него, но может представлять небольшую кривую обучения.

Примечание. Состояние возврата буквально отбрасывает любые изменения в виртуальной машине; включая историю браузера, файлы cookie, обновления и т. д. В этом случае вы можете вернуться в это состояние, применить обновления и сохранить новое состояние. То же самое можно сделать для всего, что вы хотите сохранить. Ничто из этого не влияет на ваш реальный компьютер, только на виртуальную машину.

Это не очень практично. Noscript с Firefox НАМНОГО лучше. unixman83 12 лет назад 0
На самом деле, это очень практично с точки зрения безопасности, о чем и просили. NoScript просто отключает загрузку JavaScript по умолчанию, за исключением сайтов, которые вы разрешаете; Есть и другие векторы атаки. Без помощи это может быть утомительно и неприятно, чтобы получить права. Виртуальная машина действует как песочница, обеспечивает регулярный / полный просмотр и предоставляет средства для простого / быстрого восстановления. Нет необходимости использовать виртуальную машину для доверенных / известных сайтов, если ваш рабочий стол заблокирован, только для новых / сомнительных. Этой теме тоже 2 года ... Ioan 12 лет назад 1
Только 5% реальных векторов атаки успешны с отключенными скриптами и плагинами. то есть с NoScript. многие сайты работают без включенных скриптов. unixman83 12 лет назад 0
Это хорошо, я упомянул, что это не обычно используется и требует привыкания. Голосование вниз, потому что вам нравится другое решение, неверно. Ответ не неправильный. Вам лучше добавить свой собственный ответ или проголосовать за другого, который вы можете предпочесть. По крайней мере, так я понимаю систему голосования для работы. Ioan 12 лет назад 1

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