Многие из вас знают о портативных версиях программ. Такие программы при запуске не захламляют операционную систему и жесткий диск в целом, ограничивая свою деятельность папкой, откуда запущены. Тем не менее, они являются серьезной угрозой и могут быть источником вирусов. Почему так происходит и как этого избежать?
Разные каталоги для разных случаев
Чтобы понять, какую угрозу представляют портативные программы, нужно понимать, где должны храниться файлы и настройки классических (нормальных) версий программ. На примере Windows Vista/7/8:
C:\Program files — сюда нужно устанавливать большинство программ, здесь хранятся их исполняемые файлы (с расширениями .exe, .dll и так далее). Если операционная система 64-битная, то для 32-битных программ отводится папка C:\Program files (x86) — для недопущения конфликтов между одинаковыми программами разной разрядности. При этом программы просто так в Program files ничего записать не смогут, им потребуются права администратора — об этом ниже.
C:\ProgramData — для хранения файлов, общих для всех пользователей в одной Windows. Например, если у вас есть пользователи «Сын», «Папа», «Мама» и установлена какая-нибудь программа для создания фотоальбомов, то вполне возможно, что стандартные шаблоны будут храниться в C:\ProgramData, дабы у всех пользователей информация не дублировалась. Старые игры, разработчики которых не подумали, что за одним компьютером могут сидеть несколько разных пользователей с личными профилями, хранят там сохранения прогресса. Итак, C:\ProgramData нужна для хранения общих данных.
C:\Users\Имя_пользователя\AppData — в отличии от C:\ProgramData, здесь хранятся файлы программ, индивидуальные для каждого пользователя Windows вашего компьютера. Например, именно здесь хранятся закладки, история и кеш браузера. Зайдете под другим пользователем — браузер покажет другую информацию, потому что возьмет ее из каталога другого пользователя.
Реестр Windows используется для хранения настроек. Там тоже есть разделение на общедоступные ключи и индивидуальные для каждого пользователя.
Есть и другие папки, общие и раздельные для разных пользователей. Их рассматривать не будем, потому что в данном случае это не имеет существенного значения.
Возня с папками нужна для удобства и безопасности. Не забывайте, что помимо домашнего варианта использования — один пользователь с одним компьютером — есть и более сложные ситуации:
- Один компьютер — много пользователей.
- Много компьютеров — много пользователей.
Причем компьютеры могут быть в разных концах света и пользователь должен получать один и тот же набор программ с настройками, когда вводит свои имя и пароль. Набор документов тоже должен быть разным. Права доступа в папки разные — например, в Program files просто так не записать данные, в часть реестра — тоже. Это ограждает вирусы от доступа к вожделенным .exe-файлам программ, а любопытных пользователей — от документов друг друга.
Портативные программы обычно ограничены своей папкой, к которой имеет доступ как минимум текущий пользователь ПК. Из-за этого .exe таких программ нельзя оградить от заражения вирусом. Риск увеличивается, если скинуть «портативки» на флешку и носить от компьютера к компьютеру.
Разные пользователи и разные права
Нельзя давать каждой программе доступ к содержимому жесткого диска. Например, текстовому редактору не нужен доступ к системным папкам, можно ограничить его «радиус действия» папками с пользовательскими документами.
В устаревшей Windows XP существовало два вида учетных записей — администратора и ограниченная, обычного пользователя. Естественно, под обычным пользователем никто не работал, потому что программы часто работали некорректно — они не могли изменять файлы в собственных каталогах без прав администратора.
Microsoft решила отучить разработчиков от дурного тона и заодно устранила брешь в безопасности — в новой на тот момент Windows Vista программа, запущенная даже в учетной записи с администраторскими полномочиями, всех прав не имела. Чтобы их получить, нужно было явно кинуть запрос пользователю:
Окно Контроля учетных записей раздражало — привыкшие к анархии XP пользователи не понимали его назначения. В итоге весь интернет наводнен советами по отключению UAC. В последующих версиях Windows контроль UAC стал менее назойливым, а народ смирился с появлением окошка, хотя нет-нет да и встречаются советы по отключению UAC.
Современные программы пишут файлы в каталоги ProgramData и AppData, не в свою папку, поэтому для них не требуется прав администратора. Повышение прав нужно только для обновления версии программы, ведь основная часть тушки живет в Program files.
А что же портативные программы? Если засунуть их в Program files, они будут требовать права администратора для доступа к собственной папке или откажутся работать. Если хранить портативки на Рабочем столе, флешке или каком-нибудь еще разрешенном для записи без прав администратора месте, любой вирус сможет дотянуться до .exe файла программы и заразить его.
Особенно опасна ситуация, когда портативная версия всегда требует прав администратора — зараженный .exe файл с повышенными привилегиями может натворить дел. Такой хаос произойдет и тогда, когда Контроль учетных записей выключен.
Другие проблемы
В крупных организациях администраторы не похвалят вас за использование портативных программ, потому что:
- См. предыдущую главу — угроза заражения вирусами.
- Записать в папку с портативной программой может кто угодно, например вирус.
- Некоторые как бы портативные программы являются комплектом из программы и программы очистки. Поработал человек, закрыл программу — чистильщик удалил все ветки реестра, каталоги, созданные программой. А может и не удалить. Если с программой устанавливается драйвер (так делают программы для редактирования разделов дисков), то возникает казус — программы уже нет, драйвер остался.
Нужно понимать, что если портативная версия программы сделана не авторами программы, есть шанс, что что-то упущено. Существующие инструменты для создания портативок требуют понимания работы операционной системы и тщательного тестирования, иначе результат будет непредсказуем.
Как защититься
К типичным советам — пользоваться проверенными источниками программ и антивирусом со свежими базами — можно добавить следующие:
- Используйте «режим песочницы». Например, программу Sandboxie — дополнительная защита между потенциально опасной программой и системой всегда полезна. В таком режиме любое изменение, которое сделает программа из песочницы, будет отменено. К сожалению, песочницы можно обойти.
- Если уровень вашей паранойи больше среднего — установите виртуальную машину (для этого подойдет бесплатная Oracle VM VirtualBox) и работайте в виртуальной Windows. Если что-то не так, всегда можно будет откатить всю виртуальную систему до более раннего состояния.
- Храните все портативные программы в архиве формата 7zip. Так они будут занимать меньше места на флешке (или где вы их обычно храните), да и вирусов, заражающих программы внутри 7zip-архивов, крайне мало. Запускайте программы, предварительно распаковав их из архива, не пакуя обратно. Таким образом, у вас всегда будет «чистый» набор портативных программ.
- Не запускайте программы с правами администратора. Для части софта такой совет не прокатит, но подумайте сами: если, допустим, .exe программы будет заражен, то запуск от имени администратора ухудшит ситуацию. Поэтому лучше избегать программ, чей лаунчер для запуска портативной версии требует запуска с повышенными правами.