Если у меня есть файл, содержащий вирус, и я открою этот файл программно в программе Java, активируется ли вирус?

Файл содержит вирус, этот вирус не будет активирован, пока файл не будет запущен.

Вызывает ли открытие файла в java его выполнение и, следовательно, активацию вируса, например. с использованием

BufferedReader reader = new BufferedReader(new FileReader(filename));

person martagnan    schedule 05.02.2016    source источник
comment
Чтение файла не выполняет его код, так что вы в безопасности :)   -  person Lukasz K    schedule 06.02.2016
comment
Шаг 1. Создайте простой .exe-файл, который выполняет любые действия. Шаг 2: Откройте его, используя свой метод. Шаг 3: проверьте, выполнил ли он действие. Шаг 4: Прибыль!   -  person Idos    schedule 06.02.2016
comment
Этот вопрос кажется более подходящим для обмена стеками информационной безопасности.   -  person Mick Mnemonic    schedule 06.02.2016
comment
@ŁukaszKapica, знаменитые последние слова. Что, если читаемый файл был тщательно создан для использования уязвимости нулевого дня в коде обработки потоков JVM?   -  person Mick Mnemonic    schedule 06.02.2016
comment
@MickMnemonic, конечно, вы правы, но вопрос был немного другим, он был: вызывает ли открытие файла в java его выполнение, и теоретически ответ - нет, не должен - согласно документации и все. От нас зависит, доверяем ли мы Java и JVM.   -  person Lukasz K    schedule 06.02.2016
comment
Спасибо всем за ваши комментарии и столь быстрые ответы, я принял ответ, что чтение файла на Java, содержащего вирус, не активирует вирус, потому что файл не предназначен для открытия на Java, поэтому вряд ли он содержит JVM- связанный эксплойт, я, возможно, должен был указать это в своем вопросе. Спасибо.   -  person martagnan    schedule 06.02.2016


Ответы (1)


Нет, использование FileReader или любого другого метода чтения файла на Java не активирует вирус.

person John Hascall    schedule 05.02.2016
comment
Вы уверены и если да, то как? - person Mick Mnemonic; 06.02.2016
comment
Теоретически в виртуальной машине Java может быть недостаток, из-за которого он начнет выполнять байт-коды из считанных данных. И теоретически кто-то может создать файл данных, чтобы использовать это. Крайне маловероятно. Чтение какого-либо другого вируса, такого как ILOVEYOU или что-то в этом роде, еще менее вероятно, будет проблемой. - person John Hascall; 06.02.2016
comment
Это не так уж надуманно; был недавний эксплойт, нацеленный на десериализацию объекта, который в основном читается из файла (хотя и бинарного). - person Mick Mnemonic; 06.02.2016
comment
Спасибо, что так быстро ответили, я приму этот ответ, спасибо, Джон, потому что рассматриваемый файл не был предназначен для открытия на Java, поэтому вряд ли он содержит эксплойт, связанный с JVM, а также спасибо, Мик, за ваше обсуждение, ссылка на эксплойт десериализации было интересно и страшно читать - person martagnan; 06.02.2016
comment
В некотором смысле эксплойт десериализации работает так, как задумано — у вас есть метод для передачи объекта из одной программы в другую — если вы принимаете объект из ненадежного источника, вы в значительной степени получаете то, что заслуживаете. Но на самом деле это не недостаток Java, а плохая веб-страница, которая позволяет вам проводить атаку путем внедрения, является недостатком SQL. - person John Hascall; 06.02.2016