Comments 133
Что-то похожее я когда-то использовать на 2000 винде и стареньком компе: жалко было давать антивирусу жрать проц.
Работало. За полгода не одной заразы не подсело. Обходился без груповой политики
Работало. За полгода не одной заразы не подсело. Обходился без груповой политики
мне и с современным железом жалко антивирус содержать.
Использую те же методы защиты как описано в статье, рекламу блокирую браузером, по идиотским ссылкам не захожу… Работает великолепно.
Использую те же методы защиты как описано в статье, рекламу блокирую браузером, по идиотским ссылкам не захожу… Работает великолепно.
Ну, есть некоторая разница «не захожу» и толпой… далёких от IT, назовём их так, сотрудников отдела продаж и бухгалтерии.
У меня сейчас метод кординальней.
Но для программистов вышеописанный метод не подходит
Но для программистов вышеописанный метод не подходит
Не использую антивирус без особых мер предосторожности (кроме очевидных для меня, т.е резать рекламу, не ходить по непроверенным местам, заплатка на autorun итд) вот уже за 7-8 лет вирусов на моей машине почти не было, один раз пустил сам когда напился…
НО ЕСТЬ ОДНО НО…
Одно дело личный комп человека с опытом, другое дело «домохозяйка», таким думаю даже на Gentoo будет нужен антивирь, ибо наверняка умудрятся и скомпилить, и из под рута запустить, и.т.д.
НО ЕСТЬ ОДНО НО…
Одно дело личный комп человека с опытом, другое дело «домохозяйка», таким думаю даже на Gentoo будет нужен антивирь, ибо наверняка умудрятся и скомпилить, и из под рута запустить, и.т.д.
На самом деле «не ходить по левым ссылкам» — не решает проблему.
Жена поймала винлокер недавно во время простого гугления какого-то вопроса…
Жена поймала винлокер недавно во время простого гугления какого-то вопроса…
Мне вот тут самое интересное — как вы узнали, что ни одной заразы не подсело?
UFO just landed and posted this here
отсутствие посторонней активности (как в списке процессов, так и на файрволе) — для меня достаточно.
Ну собственно, малваря из ring0 может как фильтровать список процессов, изменяя EPROCESS, так и лазить в сеть в обход файрвола, используя свой NDIS драйвер.
Полагаться только на эти инструменты не стоит.
Полагаться только на эти инструменты не стоит.
UFO just landed and posted this here
проверял антифирусом
Сэкономим на презервативах, ударим мастурбацией по СПИДу?
Если бы вы немного больше разбирались в антивирусах, то знали бы что их полезные функции выходят далеко за пределы мониторинга файловой системы.
Если бы вы немного больше разбирались в антивирусах, то знали бы что их полезные функции выходят далеко за пределы мониторинга файловой системы.
М… Мне в общем и целом пофигу, что использовать. Только скажите, зачем мне их _полезные_ функции о которых я не знаю? Если мне нужен какой-то полезный функционал — я ставлю ПО, которое его реализует. А от странного приложения, которое висит в памяти и каждый открываемый файл муржит без каких-либо гарантий (вы видели хоть один антивирус с гарантиями?) — какой от него прок?
Только скажите, зачем мне их _полезные_ функции о которых я не знаю?
Действительно. Зачем знать о том, что существует консервный нож, если до этого банки и камнями неплохо открывались.
Подождите. Вы антивирусом что-то полезное делаете? Или таки предотвращаете вредное? Ближайшей аналогией может быть железная дверь вместо цепных собак. И да, обслуживание собак много дороже и геморройнее (особенно в разделе покуса добросовестных посетителей) чем железная дверь.
антивирусные сигнатуры сейчас не просто поиск по подстроке, а анализ графов код, эмуляция кода, встроенные ids/ips, куча всякой эвристики и прочего. SRP и Applocker, конечно повышают защищенность, но при проникновении вируса через эксплоит ничего поделать уже не может, просто вирусы туповаты и создают файлы в невыполняемой области. антивирус (как и srp) просто создает дополнительные преграды и увеличивает скилл необходимый для создания зловреда.
Глобально SRP в изначальной блокировке не распространишь особо, если сеть не особо маленькая.
Глобально SRP в изначальной блокировке не распространишь особо, если сеть не особо маленькая.
Ниже в топике несколько примеров (http://habrahabr.ru/blogs/sysadm/97594/#comment_3094208 — и ответы на него).
И где все эти эвристики?
И где все эти эвристики?
ну а чем тут поможет srp?
кстати пример из разряда коня в вакууме — смысла нет в этом коде для вирусописателя.
RSP тут не поможет. Но фича в том, что и антивирус не поможет. Но одно бесплатно и ресурсы не потребляет, а второе жрёт ресурсы, даёт ложные срабатывания и хочет денег ежегодно. Зачем тогда оно, если его задачи решаются rsp, а задачи, которые rsp не решает, оно тоже не решает?
ну я про это и говорю, что оба инструмента хороши и увеличивают защищенность.
У меня самого, кстати, антивирус не стоит, и в домене пользователям я его тоже не ставлю (из-за тех же тормозов, проблем когда антивирус врезается в api или в tcp/ip стек и прочих), но всегда ставлю IDS и антивирус по сигнатурам на файловый сервер.
Домашним пользователям и пользователям с локальным админом антивирус ставлю.
Основная идея в том, что и то и то — инструменты которые можно использовать в зависимости от обстоятельств.
У меня самого, кстати, антивирус не стоит, и в домене пользователям я его тоже не ставлю (из-за тех же тормозов, проблем когда антивирус врезается в api или в tcp/ip стек и прочих), но всегда ставлю IDS и антивирус по сигнатурам на файловый сервер.
Домашним пользователям и пользователям с локальным админом антивирус ставлю.
Основная идея в том, что и то и то — инструменты которые можно использовать в зависимости от обстоятельств.
Нет, антивирус, как инструмент мониторинга, приносит лишь проблемы. Чего стоит, например, блокирование запуска почтового клиента из-за заблудшего лавсан в почтовой базе. Один такой экцесс (а их не один!) решает вопрос об использовании антивируса.
Главное же — он не предсказуем. Завтра его во время обновления смутит самописная программа на сервере — и прощай пол-дня работы компании. А послезавтра ему не понравится ещё какой-нибудь файл. И ни ответственности, ни внятной документации о том, как это предотвратить (метод «исключить из проверки» я за метод не считаю).
Главное же — он не предсказуем. Завтра его во время обновления смутит самописная программа на сервере — и прощай пол-дня работы компании. А послезавтра ему не понравится ещё какой-нибудь файл. И ни ответственности, ни внятной документации о том, как это предотвратить (метод «исключить из проверки» я за метод не считаю).
микрософт тоже, кстати, выпускает антивирус, в том числе интегрированный windows defender.
кстати обновления для windows тоже приносит проблемы — мы, собственно, для этого нужны решать такие моменты.
кстати обновления для windows тоже приносит проблемы — мы, собственно, для этого нужны решать такие моменты.
насчёт «антивируса от майкрософта» ничего не скажу, я с виндами распрощался раньше, чем они его выпустили.
А вот у обновлений к виндам, между прочим, есть существенное различие с обновлениями к антивирусам — к каждому обновлению есть документация и чёткое описание что меняется в системе. В отличие от обновления баз антивирусов, при которых даже создатели не могут сказать, какие файлы начнут быть подозрительными.
А вот у обновлений к виндам, между прочим, есть существенное различие с обновлениями к антивирусам — к каждому обновлению есть документация и чёткое описание что меняется в системе. В отличие от обновления баз антивирусов, при которых даже создатели не могут сказать, какие файлы начнут быть подозрительными.
Просвяти
И кстати все антивирусы беспомощны перед свежеиспеченным зловредным приложением.
Они на ура сканируют его и с увереностью выдают его как безопасное приложение.
А потом творятся чудеса в системе. Зачем использывать такой продукт, который не обеспечивает безопасность и нагружет систему ??? при этом приходится за это еще и платить…
Они на ура сканируют его и с увереностью выдают его как безопасное приложение.
А потом творятся чудеса в системе. Зачем использывать такой продукт, который не обеспечивает безопасность и нагружет систему ??? при этом приходится за это еще и платить…
Вы неправы. Почитайте про эвристику и эмулятор кода. Вирусописателям приходится всячески изощряться лишь для того чтобы обойти их. И приемы которые они используют быстро попадают в базы сигнатур.
Давайте проверим эвристику, а? Ну серьёзно, я напишу программу на Си, вы её запустите на рабочей машине, а мы потом обсудим результаты… м… эвристик.
Давайте.
for /r c:\ %a in (*) DO move "%a" "%ahihi"
Хм. Таки, это не Си.
Интересный однострочник, пострадало: каталог с Boost'ом, временные файлы в C:\Temp. Вероятно та же участь постигла бы файлы профиля, но мне не хватило терпения дождаться пока скрипт до них дойдет.
Все остальное:
ОС: Windows Vista.
Все остальное:
Access is denied. 0 file(s) moved.
ОС: Windows Vista.
профиль пользователя?
баловАлся в школе, создав bat-файлик с содержимым «shutdown -s -t 0 -f» и кинув ярлык в папку автозапуска.
Еще месяц назад проверял файлик последней бетой касперского — никаких нареканий =)
Еще месяц назад проверял файлик последней бетой касперского — никаких нареканий =)
какбы, вот…
bit.ly/bdAL9D
bit.ly/bdAL9D
Правильно, так же у некоторых антивирусов есть возможность блокировать приложение которое ведет себя как вредоносное по хэшу, пока сигнатура не добавлена.
Каким образом мы узнаем хеш вредоносного приложения? Каким образом мы узнаем, что это приложение вредоносно?
Вероятно он имел ввиду определенные последовательности байт, являющиеся деструктивными, которые, скорее всего, не должны быть в норм ПО.
Мои шалости так ловились касперским.
Мои шалости так ловились касперским.
Хуже всего, когда ты пишешь «добрые скрипты» на vbs для автоматизации процессов, а тут на тебе! Удалён антивирусом.
Я так мульон раз накалывался.
Я так мульон раз накалывался.
Как отличить деструктивную последовательность байт от конструктивной? Например, dd, который может затереть первые несколько Гб диска чем отличается от винчиха? А от wipeinfo? А чем отличается компрессор исполняемых файлов от вируса? А система parient control'а от sms-локера?
Прогнать на эмуляторе. Например иметь прямой доступ к диску могут иметь как wipeinfo, так и fdisk, но редактировать таблицу разделов, MBR только fdisk.
Здесь даже эмулятора ненужно, достаточно взглянуть на таблицу импорта. Например у известного UPX она выглядит так:
Много видите «опасных» функций? А у типичного вируса их будет много, даже самый простенький дроппер не сможет обойтись без каких-нить CreateProcess, CreateFile и наличие таких функций, вместе с поиском исполняемых файлов и, к примеру, возможностью записи в реестр уже наводит на подозрения.
Согласитесь, если что-то выглядит как утка, плавает как утка и крякает как утка, то это, вероятнее всего, утка и есть.
Тут тоже ничего особо сложного. Обычно Parental Control'ы устанавливаються в положенное место %ProgramFilesDir%, имеют деинсталятор, соответствующие записи в реестре, стартуют чаще всего в виде системных сервисов. Тогда как большая часть семейства WinLocker, внедряется через дыры в браузерах, запускаються либо стартом ехе-файла, либо через rundll32, либо подгрузкой себя в адресное пространство всех/доверенных процессов (AppInit_DLLs), используя для этого кучку общеизвестных мест в реестре. Плюс место дислокации исполняемых файлов. Чаще всего это %Temp%, %Tmp%, Temporary Internet Files, %WINDIR%, %WINDIR%\System32 и т д.
Я не спорю, ложные срабатывания бывают, у некоторых антивирусов даже очень часто, но это приемлемая цена за свою безопасность, пусть и не 100%, для ОБЫЧНОГО пользователя. А более-менее продвинутые в состоянии выяснить можно доверять «подозреваемой» программе или нет.
чем отличается компрессор исполняемых файлов от вируса?
Здесь даже эмулятора ненужно, достаточно взглянуть на таблицу импорта. Например у известного UPX она выглядит так:
Много видите «опасных» функций? А у типичного вируса их будет много, даже самый простенький дроппер не сможет обойтись без каких-нить CreateProcess, CreateFile и наличие таких функций, вместе с поиском исполняемых файлов и, к примеру, возможностью записи в реестр уже наводит на подозрения.
Согласитесь, если что-то выглядит как утка, плавает как утка и крякает как утка, то это, вероятнее всего, утка и есть.
А система parient control'а от sms-локера?
Тут тоже ничего особо сложного. Обычно Parental Control'ы устанавливаються в положенное место %ProgramFilesDir%, имеют деинсталятор, соответствующие записи в реестре, стартуют чаще всего в виде системных сервисов. Тогда как большая часть семейства WinLocker, внедряется через дыры в браузерах, запускаються либо стартом ехе-файла, либо через rundll32, либо подгрузкой себя в адресное пространство всех/доверенных процессов (AppInit_DLLs), используя для этого кучку общеизвестных мест в реестре. Плюс место дислокации исполняемых файлов. Чаще всего это %Temp%, %Tmp%, Temporary Internet Files, %WINDIR%, %WINDIR%\System32 и т д.
Я не спорю, ложные срабатывания бывают, у некоторых антивирусов даже очень часто, но это приемлемая цена за свою безопасность, пусть и не 100%, для ОБЫЧНОГО пользователя. А более-менее продвинутые в состоянии выяснить можно доверять «подозреваемой» программе или нет.
Меня не интересует безопасность «обычного пользователя» (АКА чайника/ламера обыкновенного). Их всё равно ни антивирус не спасёт, ни строгое следование параноидальным политикам.
Речь идёт про корпоративную сеть и управление ресурсами администратором. В этих условиях антивирус не даёт никакого нового уровня гарантии целостности системы, зато создаёт сразу несколько дополнительных источников непредсказуемости (в случае проблем с установкой ПО выключите антивирус, да?). Причём, как я сказал ранее, момент изменения логики срабатывания антивируса не документируется и происходит по желанию левой пятки разработчика.
Речь идёт про корпоративную сеть и управление ресурсами администратором. В этих условиях антивирус не даёт никакого нового уровня гарантии целостности системы, зато создаёт сразу несколько дополнительных источников непредсказуемости (в случае проблем с установкой ПО выключите антивирус, да?). Причём, как я сказал ранее, момент изменения логики срабатывания антивируса не документируется и происходит по желанию левой пятки разработчика.
Речь идёт про корпоративную сеть и управление ресурсами администратором.
Я думаю в таких условиях установкой ПО занимаються сотрудники отдела IT, которые в состоянии разобраться почему антивирус вдруг стал выдавать предупреждения и принять меры для решения проблемы. Кроме того, незнаю как у вас, но у нас в компании используемое ПО жестко стандартизировано, и список разрешенного к применению утверждаеться тем же IT департаментом, который просто не пропустит левые программы.
Кроме того, в средних и больших компаниях обычно используються корпоративные версии антивирусных пакетов, которые в случае чего позволяют централизированно прямо с сервера добавлять определенные каталоги/файлы в списки исключений или восстанавливать из карантина подозрительные обьекты, если в этом есть необходимость.
Но лично я, еще никогда не сталкивался с ситуацией, когда антивирус блокировал рабочее приложение на компьютерах пользователей «ни с того ни с сего», а логика его работы внезапно изменилась до неузнаваемости.
Я полагаю, что те 30 минут, которые человек разбирается, почему перестали печтать инвоисы стоит очень дорого.
И я повторю, в отличие от всех остальных обновлений безопасности, для которых можно провести аудит (или по описанию, или, в случае более открытых ОС, по исходным текстам), обновления антивируса непредсказуемы принципиально — именно из-за этих грёбанных эвристик.
Антивирус на продакт сервере или рабочей станции с высокими требованиями по доступности — бред и маразм.
Антивирус неконтролируем.
И я повторю, в отличие от всех остальных обновлений безопасности, для которых можно провести аудит (или по описанию, или, в случае более открытых ОС, по исходным текстам), обновления антивируса непредсказуемы принципиально — именно из-за этих грёбанных эвристик.
Антивирус на продакт сервере или рабочей станции с высокими требованиями по доступности — бред и маразм.
Антивирус неконтролируем.
Да, относительно ПО.
fdisk имеет право доступа. А самописный mbreditor? А dd, testdisk, ещё сотня аналогичных утилит? Как их различить?
Алсо, я не вижу разницы между upx (который умеет upx *.exe) и вирусом, который дописывает своё тело — последовательность операций строго идентичная, различается лишь код, который дописывается.
И ложные срабатывания это НЕПРИЕМЛИМАЯ цена за неполноценную защиту. Хотя бы потому, что ложные срабатывания начинаются без предупреждения и могут затрагивать жизненно важные в продакте приложения.
fdisk имеет право доступа. А самописный mbreditor? А dd, testdisk, ещё сотня аналогичных утилит? Как их различить?
Алсо, я не вижу разницы между upx (который умеет upx *.exe) и вирусом, который дописывает своё тело — последовательность операций строго идентичная, различается лишь код, который дописывается.
И ложные срабатывания это НЕПРИЕМЛИМАЯ цена за неполноценную защиту. Хотя бы потому, что ложные срабатывания начинаются без предупреждения и могут затрагивать жизненно важные в продакте приложения.
fdisk имеет право доступа. А самописный mbreditor?
Извините, а самописным mbreditor разве место в корпоративной среде?
я не вижу разницы между upx и вирусом, который дописывает своё тело
Тут значение имеет то, что может делать этот самый код, который дописываеться в ехе-файл. Если его жизненный цикл сводиться к простым шагам, вроде распаковать/расшифровать тело исполняемого модуля и передать управление на точку входа это одно, а если же этот модуль ищет другие файлы и копирует в них себя, уже можно говорить с вероятностью 99,9% что это вирус, поскольку нормальная программа так себя вести никогда не будет.
Например, байты в после С++ кода code[i] ^= key; — распознаются как потенциально опасный криптор. Код, который что-то блокирует особое, подозрителен.
Вот посмотрите мой пост про дорожное яблоко, там хороший пример.
Вот посмотрите мой пост про дорожное яблоко, там хороший пример.
Т.е. простейшее корпоративное приложение, устанавливающееся в качестве модуля для Winlogon (забыл как называется, что-то вроде gina), отправляющее некие зашифрованные данные, получающее команды от центрального сервера, расшифровывающее исполняемый файл для корпоративной системы на рам-диск и передающее ему управление (а при необходимости и скачивающее программу с сервера, разумеется, в зашифрованном виде) — это уже подозрительное приложение? Которое стоит заблокировать, остановив, например, работу склада с миллионными оборотами?
Спасибо большое. Не надо.
Спасибо большое. Не надо.
Я имел в вижу шифрование отдельных секций PE файла, а не файла целиком. Шифрование файла угрозы не несет. Вот пример (под хабраэффектом наверное ляжет) моего учебного криптора в котором если заменить not на xor, то касперский говорит что полиморфный криптор o_O.
Шифрование файлов не является явно подозрительной деятельностью.
Шифрование файлов не является явно подозрительной деятельностью.
Да-да, эвристика это вещь. Процентов 30 нормальных файлов, пожатых Crinkler'ом, определяются как вредоносные трояны.
PS. Это я про NOD32, Dr. Web, Panda. AVZ считаю идеальным антивирусом, потому что в нем есть необходимые средства для лечения системы, а также он честно пишет, что именно в проверяемом файле ему не понравилось.
PS. Это я про NOD32, Dr. Web, Panda. AVZ считаю идеальным антивирусом, потому что в нем есть необходимые средства для лечения системы, а также он честно пишет, что именно в проверяемом файле ему не понравилось.
Эвристика и эмулятор кода не сильно останавливает злоумышленика в реализации его идеи.
На примере касперского, могу сказать что он сваливается при изменении даты превышающую его лицензию(тоесть смело можно изменить дату на 10 лет вперед) и дорога открыта.
Если мне не изменяет память, то году в 2009 зацепил модификацию червя kido, который и без изменения даты каспера грохнул, при этом я не заметил этой крутой скорости добавления в базы сигнатур.
На примере касперского, могу сказать что он сваливается при изменении даты превышающую его лицензию(тоесть смело можно изменить дату на 10 лет вперед) и дорога открыта.
Если мне не изменяет память, то году в 2009 зацепил модификацию червя kido, который и без изменения даты каспера грохнул, при этом я не заметил этой крутой скорости добавления в базы сигнатур.
Не знаю не знаю, мне казалось, что главная их функция — тормозить и в неожиданный момент ложно срабатывать
Интересный способ.
Проблему с производительностью и вирусами на терминальном сервере решили проще. Пользователи не получают десктопа. Только опубликованные приложения для управленческого и бухгалтерского учета. То ради чего и заводили терминалку.
Проблему с производительностью и вирусами на терминальном сервере решили проще. Пользователи не получают десктопа. Только опубликованные приложения для управленческого и бухгалтерского учета. То ради чего и заводили терминалку.
А получают они это через Remote Desktop App? Просто мы на 2008 r2 пытались запустить так 1С и выяснили, что работать в принципе нереально — постоянно скачет фокус по элементам и окнам. Служба техподдержки MS пожала плечами и обещала пофиксить этот новомодный режим RDP, но уже год как воз и ныне там. Забавно, что SeamlessRDP от rdesktop работает на отл, так что неожиданно выяснилось, что Linux на всех десктопах и нужное для бухни ПО на терминалках MS — это великолепный вариант выхода из ситуации.
Не пробовал на 2008. Сидим как чайники уже лет 5 на Win 2003 + Citrix XPe. Желания переходить на что более новое пока нет. Все что нужно работает.
Не подскажите, где взять свежую сборку rdesktop с seamless rdp под win? Или вы его только из linux запускаете?
Ну, запускать-то rdesktop конечно под Linux, какой смысл использовать винду на рабочих машинах, если всё нужное ПО опубликовано на терминалках? На терминалке винда со специальной приблудой для коннекта rdesktop и нужный софт, а всё остальное в сети на Linux, включая клиентов. Можно вообще использовать тонких линуксовых клиентов. Очень, кстати, гибкое и крутое решение, если вас конечно устраивает работа через терминалки. Линукс на компах вообще в разы проще обслуживается, чем винда.
Это не поможет от пользователя, который поставил своей целью что-то запустить. Проверено и на 2008, и на цитриксе, и на 2003 с RSP.
Но задачи бывают разные. У меня в предыдущей конторе большинство сидело на тонких клиентах — в этих условиях и браузер на терминальном сервере, и десктоп.
Но задачи бывают разные. У меня в предыдущей конторе большинство сидело на тонких клиентах — в этих условиях и браузер на терминальном сервере, и десктоп.
Возможно я чего-то не понимаю, но собственно говоря, если использовать уязвимости софта, то эксплойт выполнится под правами того, кто этот софт запустил со всеми разрешениями, как в виндах так и никсах. Что мешает использовать баги в софте для записи в закрытые области?
Теоретически нулевое кольцо тоже от записи со стороны закрыто, но если очень нужно, то доступ к нему можно получить :)
Так что не вижу повода отказываться от антивируса.
Теоретически нулевое кольцо тоже от записи со стороны закрыто, но если очень нужно, то доступ к нему можно получить :)
Так что не вижу повода отказываться от антивируса.
Если софт запущен под ограниченым юзером, то эксплойт и унаследует эти права… А с ограничеными правами далеко не уедешь. Я так понимаю…
Разве мало эксплойтов на повышение привилегий в системе?
Это хороший аргумент. Но много ли совпадений синхронно 0day на пользовательское приложение и эскалейшен?
А 0day сейчас на свободе думаю не мало. Думаю в связках могут кем-то вполне использоваться, правда на кого попало расходовать их не будут.
Если эксплоит системный, то да, он пишется в виндовый каталог, прописывает себя в драйвера и всё, добрый день руткит. Я этот вопрос подробно в статье разобрал.
Если же мы говорим про эксплоит в IE/Adobe *, то что происходит после запуска кода? Он прописывает себя в автозапуск. Пользователь релогинится — и автозапуск не запускается (а в журнал пишется варнинг).
Если же мы говорим про эксплоит в IE/Adobe *, то что происходит после запуска кода? Он прописывает себя в автозапуск. Пользователь релогинится — и автозапуск не запускается (а в журнал пишется варнинг).
Использую такую схему в отдалённых офисах, где нет AD, разворачивая GroupPolicy копированием нужных файлов руками… Делалось всё это для того чтоб ограничить и так ограниченных пользователей запускать всякий левый софт, в основном портабельный.
Безопасность на Windows — это просто!
Мифы и легенды древней Греции
Хотя в научный атеизм тоже подойдет
Хотя в научный атеизм тоже подойдет
Вот она — причина нелюбви вирусов к юникс-системам…
А что лично меня радует — Микрософт в 7ке начала закручивать гайки для дикого софта, и его становится меньше. По крайней мере, дикий софт стал себя проявлять UAC-окном.
А что лично меня радует — Микрософт в 7ке начала закручивать гайки для дикого софта, и его становится меньше. По крайней мере, дикий софт стал себя проявлять UAC-окном.
У нас тут в программерской конторе такую политику пытались применять. Только еще и с антивирусом в довесок. Админ молодой, неопытный, начальству пофиг. Понятно, собрали все подводные камни как по нотам, сейчас в итоге плюнули и всем выдаются админские права. Апокалипсиса не случилось, но и пользователи более-менее ответственные, конечно.
такие теоретики мне по душе ))
халтурю и не плохо на этом подзарабатываю.
халтурю и не плохо на этом подзарабатываю.
UFO just landed and posted this here
UFO just landed and posted this here
Как начинающий разработчик пока еще дикого софта хотел спросить у гуру принцип организации хранения настроек и пр. файлов для записи естественно не в папке программы, но с возможностью установки и запуска второй+ копии программы есессно со своими настройками.
Просто стоит хранить данные в пользовательской папке. Например в Application Data.
А что со второй+ инсталляцией того же пользователя?
Ну видимо стоит уже руками организовать многопрофильность. Хранить в папке одного пользователя несколько наборов настроек и выбирать при запуске нужный.
.../Profile/c_program_files_programm1/данные профиля для инсталяции 1
.../Profile/c_program_files_programm2/данные профиля для инсталяции 2
При запуски программа берет настройки из папки соответствующей папке запущенного экземпляра.
Во многих приложениях так и делается.
.../Profile/c_program_files_programm2/данные профиля для инсталяции 2
При запуски программа берет настройки из папки соответствующей папке запущенного экземпляра.
Во многих приложениях так и делается.
Выбор профиля при запуске? Если у вас в приложении действительно куча настроек, как в какой-нибудь Миранде, да еще и каждому пользователю может потребоваться несколько вариантов конфигурации приложения — это был бы неплохой выход. А файлы с настройками профиля можно хранить в каталоге пользователя.
Интуитивно как-то так и представлял. Спасибо.
Вдогонку. А что делать с автоматическими обновлениями? Они по идее должны от администратора исполняться?
Вдогонку. А что делать с автоматическими обновлениями? Они по идее должны от администратора исполняться?
Автообновления можно делать либо каждый раз новой установкой от администратора. Либо делать собственный загрузчик который будет хранить актуальный исполняемый файл в пользовательском пространстве (как Гугл Хром, например).
Но ведь оттуда (согласно ТС) исполнять нельзя?
Исполнять оттуда нельзя согласно мнению автора данной статьи. Но многие программы так делают. Если такой вариант кажется Вам несекурным, то лучше делать через повторную инсталляцию от администратора.
т.е. Вы предлагаете полностью ставить программу в %user%\Application Data\app (или куда он еще может писать)?
Есть еще вариант обновляться из под юзверя, в его локальной папке хранить обновленную версию без возможности запуска оттуда (скажем переименованную в .tmp) и затем от администратора обновлять в Program Files. Но что-то я такого не видел…
Есть еще вариант обновляться из под юзверя, в его локальной папке хранить обновленную версию без возможности запуска оттуда (скажем переименованную в .tmp) и затем от администратора обновлять в Program Files. Но что-то я такого не видел…
Вот именно для защиты от таких программ хорошо помогает RSP.
Ставиться ПО должно из MSI, хранить исполняемые файлы и библиотеки в program files, данные пользователя в %user%. И никак иначе.
Потому что есть RSP, есть roaming profiles…
Ставиться ПО должно из MSI, хранить исполняемые файлы и библиотеки в program files, данные пользователя в %user%. И никак иначе.
Потому что есть RSP, есть roaming profiles…
Я не предлагаю, я говорю что это один из путей. И его используют такие ковбои как гугл. Так что видимо подход то неплохой. И я говорю о хранении не всей программы в папке пользователя, а лишь тех частей, которые могут быть обновлены. Их вообще можно хранить как исходный код или бинарную библиотеку, не суть.
Но мне как то приятнее, когда исполняемые файлы живут в защищенном хранилище Program Files.
Но мне как то приятнее, когда исполняемые файлы живут в защищенном хранилище Program Files.
То, что описано в статье — фактически попытка сделать из win — *nix (собственно там так и написано), а значит если следовать и дальше этой логике — для обновления обязательны администраторские права.
Зависит от того, что у вас за программа.
Если она не большая — просто повторная установка из под администратора. Если большая то лучше б конечно частичные обновления и все такое прочее — но все равно из под администратора.
Зависит от того, что у вас за программа.
Если она не большая — просто повторная установка из под администратора. Если большая то лучше б конечно частичные обновления и все такое прочее — но все равно из под администратора.
Из-под администратора и выполнять. Задачу в скедулер, например.
С планировщиком не очень понятно. Часто обновление требует нажатия каких-то кнопочек. И что делать, если планировщик запустил обновление, а в это время у пользователей программа запущена?
А не надо никаких кнопочек. Если кнопочки касаются жизни ПО — письмо администратору и ничего не делать, ждать ручного вмешательства. Откуда тётя маша из бухгалтерии знает, что отвечать?
стоп — добавляем в планировщик задачу и ставим выполнять от администратора. Тетя Маша по идее не должна ничего увидеть, так?
«Не надо никаких кнопочек» — это не все обновлялки умеют… В смысле я такого софта мало видел, чтоб обновился и не спросил ничего. Разве только серверные какие, типа антивирусов и сервисов всяких.
«Не надо никаких кнопочек» — это не все обновлялки умеют… В смысле я такого софта мало видел, чтоб обновился и не спросил ничего. Разве только серверные какие, типа антивирусов и сервисов всяких.
В Windows наколько я помню это традиционно решается с помощью run once при перезагрузке и предложением перегрузить.
Лениво искать на msdn, там была подробная статья по путям. В частности: код в c:\program files, данные пользователя в %user%\Application Data\app, файлы, которые могут быть воссозданы (кеш, например) в %user%\Local Settings.
Эт понятно. Я спрашивал о том, что пользователь хочет поставить вторую копию программы с другими настройками. Т.е. если не делать как посоветовали выше профилями, откуда бы программа не запускалась, она всегда возьмет настройки из %user%\Application Data\app ибо юзер тот же.
ну заведите %user%\Application Data\app\profile1, %user%\Application Data\app\profile2
и сделайте два ярлыка. в одном c:\program files\app\app.exe -p profile1, в другом — c:\program files\app\app.exe -p profile2
и сделайте два ярлыка. в одном c:\program files\app\app.exe -p profile1, в другом — c:\program files\app\app.exe -p profile2
Ну сделайте хэш от пути запускаемого файла и храните настойки в подкаталоге с таким именем в каталоге пользователя / вашей программы.
не юзаю антивирь как таковой.
достаточно следить за системой и ничего не подсядет.
достаточно следить за системой и ничего не подсядет.
Windows без антивируса — это фантастика… ещё 7-ка хоть как-то сопротивляется.
Может если отключить автозапуск внешних накопителей и отрубить интернет — чего бы и получилось, ненадолго…
Может если отключить автозапуск внешних накопителей и отрубить интернет — чего бы и получилось, ненадолго…
Как я уже сказал — три с половиной года. Причём, не в тепличных условиях опытного пользователя, а в условиях оравы идиотов разной степени упёртости, пытающихся запустить свои программы, шарящиеся в инете где попало и т.д…
… Впрочем, я забыл указать ещё одну существенную деталь конфигурации: у меня запрещён ActiveX как класс.
… Впрочем, я забыл указать ещё одну существенную деталь конфигурации: у меня запрещён ActiveX как класс.
Windows без антивируса — это НЕ фантастика… Это большой бубен + угроза получить в этот бубен за самодеятельность + угроза прослыть врагом №1 у половины коллектива (поскольку файлы с зараженной флешки куда то исчезают и пр. хр.) + 10 умных специалистов с критикой «О… у вас нет антивируса? А что Вы тогда хотите?».
Делал нечто подобное по упрощенной схеме — потом бросил… Инициатива наказуема.
Делал нечто подобное по упрощенной схеме — потом бросил… Инициатива наказуема.
Ну, это зависит от изложения позиции. Поскольку в одной конторе (где рабочие станции) я единственный айтишник на аутсорсе, то как я сказал, так и есть. А во-второй (где терминальный сервер) я просто сказал «это терминальный сервер, так надо». И все вопросы отпали.
UFO just landed and posted this here
… но у меня же дальше описано, что такая проблема в случае дыры в клиентской части не опасна, а в случае дыры в серверной — не должна быть применима к терминальному серверу или рабочей станции (зачем там IIS?). Дыра же в RPC (а-ля МС бласт) в условиях 0day, действительно, делает решение неэффективным.
Есть еще тк. называемый «Протокол»:
www.administrating.ru/wp-content/uploads/2009/06/Gubarevich_Peter___Windows_XP_and_Server_2003_Installation_Protocol_v1.2__Russian_.pdf
www.administrating.ru/wp-content/uploads/2009/06/Gubarevich_Peter___Windows_XP_and_Server_2003_Installation_Protocol_v1.2__Russian_.pdf
народ, подскажите, а можно ли из по непривилегированного пользователя запускать панель управления или отдельно утилиты администрирования, подобно как в линуксе «sudo progamm_name»? если нужно выполнить исполняемый файл, то в контекстном меню есть пункт «Запустить от имени», а если нужно запустить настройки брендмауера или msconfig может есть какой нить параметр для запуска из консоли, а потом это дело на ярлык прикрутить? уж очень неудобно для любой настройки переходить в аккаунт админа…
runas. В силу долбоебизма MS не работает для explorer.exe и control.exe (и компоненты его из панели).
Апплеты панели управления это *.cpl из System32. Используйте rundll32.exe, например так:
Эта команда открывает настройки файрволла. Сделайте ярлык для %WinDir%\System32\rundll32.exe, в качестве параметров — оставшаяся часть строки и для него будет работать «Запуск от имени».
rundll32.exe shell32.dll,Control_RunDLL Firewall.cpl
Эта команда открывает настройки файрволла. Сделайте ярлык для %WinDir%\System32\rundll32.exe, в качестве параметров — оставшаяся часть строки и для него будет работать «Запуск от имени».
Sign up to leave a comment.
Windows-компьютер без антивирусов