
А вы уверены, что знаете, какие действия выполняют программы на ваших компьютерах и прочих девайсах? К примеру, могут ли игры копаться в ваших документах?
На что способно приложение, которому одобрили запуск с правами администратора, и почему оно не может запускаться без выдачи этих прав?
Попробуем разобраться вместе.
Многие знают, что не стоит скачивать и запускать программы из неофициальных источников, т.к. можно поймать вирус. Но есть и те, кто иногда пренебрегает этим.
За многие годы пользования компьютером я часто ловил трояны/вирусы по разным причинам. Однако, они никогда существенно не портили мою систему. Реклама, ошибки, лишние сервисы — это было достаточно безобидно, поэтому меня не интересовало как работают вирусы/антивирусы.
В статье я делюсь своим личным мнением и опытом. Цель статьи — разобраться, как обеспечить безопасную работу в Windows
Я недооценивал уязвимость операционных систем, пока мои собственные случайные эксперименты не привели меня к определенным выводам.
Обо всем по порядку.
# Немного лирики. Без небольшой предыстории не обойтись
Совсем недавно я решил освоить python. Подучив основы, я решил написать приложение для автоматизации своих рутинных задач. Я не программист, но знания PL/pgSQL помогли быстро освоиться.
1. Завязка
Я удивился, когда скомпилированная в .exe и .bin программа без каких-либо вопросов запустилась с флешки на другом компьютере, выполнив все, что в ней прописано:
— удалить файлы из папки «Мои документы»
— прочесть и заменить буфер обмена
— вывести информацию о файлах в других каталогах
— обратиться к интернету
— выключить компьютер и прочие «шалости»
Справедливости ради, попробовал на Linux — результат тот же.
Но в Windows(8/10) я наивно ожидал какого-либо диалога о подтверждении запуска, визга антивируса и прочих прелестей. Я привык думать, что я надежно защищен, т.к. с моим компьютером ничего особо опасного не случалось.
Я пробовал запускать программу на разных компьютерах друзей, используя запись гостя и нового простого пользователя, ставил разные средства защиты — эффект тот же.
Исповедь ламера:
Я почему-то наивно полагал, что буфер обмена — это нечто «святое», т.к. в нем часто мелькает важная информация, и мне казалось, что я сам регулирую вставку данных.
Однако, как я понял, для ОС это просто программа, как PuntoSwitcher, Teamviewer и прочие, которые спокойно выполняют разного рода действия.
Мне стало интересно, как можно пресечь нежелательные действия собственной же программы.
2. Немного о программе
Консольная версия программы была бы скучной для запуска, поэтому я решил добавить интерфейс.
Пока баловался с ним — вышла незамысловатая игра. Хотел написать сапера, но это было сложно решил придумать что-то свое.
Программа может показаться безобидной игрой, однако через несколько минут после скачивания файла (или другого обозначенного события) активируются новые функции
— собирает некоторые данные о компьютере и показывает их в блокноте
— читает и подменяет буфер обмена
— обращается к интернету (просто получает главную страницу известного поисковика)
— открывает браузер с указанными ссылками
— дружит с антивирусами (пока что, проверил на virustotal.com). При скачивании этой программы из интернета, единственный барьер, который я встретил — это SmartScreen, который не любит приложения от неизвестных производителей
— может выключить компьютер даже быстрее, чем это делает кнопка из меню «Пуск»
— удаляет файлы в конкретной папке
Из украшательств: окно находится всегда по центру, не дает свернуть/переместить/закрыть себя, т.к. не имеет заголовка, перекрывает все окна. Не реагирует на ALT+F4 (добавил кнопку для выхода).
Бонус: случайно вышла оптическая иллюзия мерцающих кругов между квадратами.
Программа весит около 7 Мб, хотя код на строк 300 (включая множество пустых), потому что используемый мною компилятор (pyinstaller) даже «Hello world» компилирует в 5-Мб exe.
Снял видео, для тех, кому интересна работа программы.
Но делать этого я не советую, мало ли что там 🙂
Но суть не в этой программе, она лишь в качестве примера.
3. Что меня смущает?
«Я знаю, что я ничего не знаю«.
Я простой пользователь, убежденный в том, что меня защитят антивирусы и сама система от большинства сомнительных (на мой взгляд) действий программ. Вряд ли мое приложение считается вирусом, но навредить оно может.
Никаких претензий к антивирусам не имею, они спасают от популярных угроз, фишинговых сайтов и прочих проблем.
Главная причина проблем — действия самого пользователя.
Наверняка есть пользователи, которые не подозревают насколько может быть опасно скачивать незнакомые/cracked приложения с торрентов, файлообменников, и прочих сайтов.
Особенно те, что требуют прав администратора для запуска. Сериал «Черное зеркало» намекает. Про Root прошивки/приложения телефона — промолчу.
Далеко не все люди хорошо ладят с компьютером, скачивают что предлагают, и доверчиво нажимают «Далее/Продолжить» при всех установках.Поэтому, когда знакомые просят меня посмотреть компьютер, который еле шевелится, я всегда вижу кучу хлама полезных сервисов.
Меня немного раздражает ‘вседозволенность’ программ, когда они прописывают себя не только в автозагрузке, но и пускают корни в службах, реестре и планировщике задач, замедляя компьютер своими непонятными процессами.
Пока я пробовал разные антивирусы, один из них при удалении испортил драйвер для сетевой карты, и я остался без интернета. Помогла точка восстановления системы.
У меня нет паранойи, но мне не нравится, что при установке программы всплывает лишь 2 варианта:
-Установить (*Установить с правами администратора)
-Отменить
А что, если я хочу (на всякий случай), чтобы приложение видело только свою папку, не имело доступ к интернету, буферу обмена и т.д.? Куда мне нажать?
Благо ограничения камеры/микрофона имеются в настройках конфиденциальности.
4. Что ты хочешь? Всегда же так было
Видимо, я уже привык, что на телефоне приложения назойливо запрашивают доступ к данным и функциям системы («разрешить доступ к Фото/Камере/Микрофону/Геопозиции»)
Надеюсь там все в порядке, но это уже другая тема..
Но, мне не совсем очевидно, как можно на личном компьютере удобным способом запустить/установить приложение, выставив ему рамки дозволенного.
5. Поиск решения
Самый важный и очевидный шаг прозвучит наивно, т.к. многие о нем знают, но часто пренебрегают этим.
Большинство бед (вирусы, майнеры, сбои и т.п.) Windows из-за того, что многие пользуются учетной с правами администратора, созданной при установке, тем самым запускают все программы с избыточными правами. Каюсь, я один из них.
Не знаю, почему до сих пор в Windows это не такой очевидный момент,
Только с паролями не запутайтесь.
При запуске/установке некоторых программ и прочих изменениях в системе будет запрашиваться пароль администратора (а не просто: Да/Нет), появится повод задуматься, для чего программа требует такие права.
От прижившихся приложений не поможет
Заметил, что некоторые программы при запуске хотят получить права администратора, однако при неудачной попытке могут предложить альтернативу:

Теперь системные файлы оказались в большей безопасности, но моя программа продолжала делать коварные делишки.
Я вышел в интернет с подобным вопросом (+ IT чаты в мессенджерах): «Как безопасно/изолированно запустить программу EXE?»
Еще опросил знакомых близких к IT.
Нашел следующие варианты:
1) Использовать виртуальную машину
Отличный вариант, но не для всех случаев.
2) Системные настройки
— Настроить политику безопасности, права на важные папки и т.д.
— Понять, почему программа просит дополнительные права, и подавить UAC запрос
Конечно, Windows достаточно гибкий в настройке. Я считаю считал себя достаточно «продвинутым» пользователем, но даже я не хочу возиться с настройками политики, дополнительным софтом и прочими хитростями.
P.S. Пока искал информацию, чаще всего находил статьи о том как отключить UAС, чтобы он не мешал своими предупреждениями.
3) Не скачивать подозрительные приложения. Лучший вариант!.
У меня теперь сомнения, откуда мне знать, что любое известное приложение не делает/сделает того, что я не хочу?
Лицензионное соглашение может изменяться Правообладателем в одностороннем порядке. Изменения в условия настоящей Лицензии публикуется на странице: страница_на_которую вы_вряд_ли_зайдете. Указанные изменения в условиях лицензионного соглашения вступают в силу с даты их публикации, или тогда когда нам будет удобно..
Не нравится — не используй, все честно.
Не буду писать, что за обновление мне прилетело таким образом, т.к. я никого не хочу задеть в данной публикации.
4) Использовать программы «песочницы«
Наиболее удобный вариант, на мой взгляд. Я смог подавить некоторые опасные операции своей программы, что весьма не плохо. Однако, это сторонний и не бесплатный софт, который требует настройки.
Хочется чего-нибудь похожего встроенного в ОС, с понятным интерфейсом.
Итог
Я никого не обвиняю, не призываю к панике: просто захотелось поделиться с вами своими мыслями на счет безопасности наших ОС.
Меня удивляет, что любое приложение может быть «ящиком Пандоры», от которого мало кто знает как защититься (по моему наблюдению).
Мне кажется это очень странным, во времена, когда все стараются защитить свою информацию, используют двухфакторную авторизацию/SMS, шифрование в мессенджерах и прочие вещи.
Я надеюсь, что я грубо ошибаюсь, и программы не могут выходить за ожидаемые рамки (каким-то чудом).
Если есть простая штатная возможность организовать более безопасную среду, буду рад, если подскажете как это сделать!
Спасибо за внимание!
Как организована безопасность Вашей операционной системы Windows? Что можете посоветовать?
ссылка на оригинал статьи https://habr.com/post/426217/
Добавить комментарий