sandbox в Windows Vista - есть ли он?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
sandbox в Windows Vista - есть ли он? - 2009-12-20 22:11:17.176666
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
Прочитал только что статью Криса Касперски, в которой он сравнивает отказоустойсивость Windows и nix/BSD. Ссылки: Cколько стоит упасть и отжаться: вероятность тотального краха Cколько стоит упасть и отжаться: вероятность тотального краха Там написано, что в vista есть виртуальное окружение для инсталляторов ПО: quote:
В Windows Vista с большим опозданием появилась «песочница» (sandbox), позволяющая устанавливать программы в псевдовиртуальной машине, предотвращая тем самым пагубное воздействие инсталляторов на основную систему. Но при ближайшем рассмотрении выясняется, что все сводится к виртуализации некоторых ветвей реестра и системной папки, а, например, IE tootlbar никак не защищен, и вместе с ним не защищено и многое другое… Кто-нибудь может пояснить о какой-такой псевдовиртуальной машине говорит Крис? Я вот недавно тестировал инсталляторы, запись в системные папки там не велась, а в реестр полно всего записывалось. Какие дополнительные тесты мне надо было провести в свете того что: quote:
…все сводится к виртуализации некоторых ветвей реестра…
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-21 01:11:15.166666
|
|
|
scsi.aka.api
Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
|
скорее всего Крис имел в виду UAC прочитай вот это: http://www.redline-software.com/rus/support/articles/security/os/sysfiles-uac-virtualization-part1.php http://www.redline-software.com/rus/support/articles/security/os/sysfiles-uac-virtualization-part2.php
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-21 07:05:01.710000
|
|
|
zzsnn
Сообщений: 7459
Оценки: 680
Присоединился: 2007-09-25 07:17:14.240000
|
Как бы тебе проще нагляднее? Наверное в качестве примера, наглядного, будет такая программа для Win как ShadowUser. Цитирую: "Программа позволяет предотвратить не желаемые изменения в операционной системе и на жёстком диске компьютера. После активации защиты ShadowUser начинает эмулировать файловую систему выбранного диска. Таким образом, чтобы ни делал пользователь за компьютером, но после перезагрузки все возвращается на свои места. ShadowUser с одинаковым успехом защищает диски как с файловой системой FAT32, так и с NTFS." Посмотри подробнее здесь: http://www.ixbt.com/soft/shadowuser.shtml . Хоть это и не абсолютно точно отражает понятие "песочницы", но для тебя будет ясно и наглядно. Попробуй скаячай пробную версию и поработай. У меня работает на WinXP, не знаю точно как будет работать в Vista, но разницы особой не должно быть.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-23 21:30:33.870000
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
Спасибо, я знаю что такое "песочница", меня интересует некая уже встроенная песочница в vista (и старше - 2008 R2 + Windows 7). Инсталляторы мы разрабатывали не в двоичных кодах )) - использовался InstallShield 2010 (в нём, наверно, уже предусмотрены все песочницы и виртуализации, но не факт - а "наверно"). Но всё-таки особенности реалиации всяких песочниц знать хочется. Одна проблема осталась нерешённой с инсталляторами - прога которая запускается из временной папки не могла получить доступ к файлам в этой же временной папке. Это было на windows 2008 R2. UAC я отключил, программу установки запускал явно от администратора (run as admiinstrator…), сам пользоваль был локальным администратором. ProcMon не показал что файл кем то блокируется. Ситуация для меня тупиковая. Еще раз поподробней расскажу: в инсталляционном пакете есть 2 exe-файла и бекап базы. При запуске инсталлятор распаковывает 1 exe файл в program Files, а другой exe-шник вместе с бекапом - в %temp%. Потом происходит ошибка - так как 2-й exe-шник (запускаемый инсталлятором) говорит что не может получить доступ к бекапу БД. Если этот 2-й exe-шник запускать руками и выбрать пункт run as administator… то он всё получает и ошибки нет. А вот когда запускается он из инсталлятора - не получает права доступа. Т Я вот и подумал - может это из-за песочницы о которой говорит Крис. Хотя может что запуск инсталлятора явно от администратора не гарантирует что дочерний процесс (2-й exe-шник) запустится тоже явно от администратора. И может какая есть api-функция чтобы делать такие вызовы. Спасибо scsi.aka.api за ссылки на статьи по UAC - почитаю.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-24 06:48:02.683333
|
|
|
zzsnn
Сообщений: 7459
Оценки: 680
Присоединился: 2007-09-25 07:17:14.240000
|
Увы. Тут проблема не в "песочнице". Вынужден тебя огорчить, но это проблема Vista, а значит и 7-ки. Точнее идиотского разделенения (как говорят в Майкрософт "не до конца продуманого") прав доступа различных пользователей. Они хотели поднять уровень защиты оси, используя нароботки Unix, а получили то, с чем ты столкнулся. Тебе можно запустить второй файл имея права System, но получить эти права (работать в нулевом кольце) в Vista - это проблема. Даже не знаю, что тебе посоветовать. С данной проблемой столкнулись все антивири, но сейчас как-то решили ее. Подробности не интересовался.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-24 07:20:01.426666
|
|
|
Ltonid
Сообщений: 4970
Оценки: 740
Присоединился: 2008-12-29 13:21:56.166666
|
quote:
ORIGINAL: zzsnn Увы. Тут проблема не в "песочнице". Вынужден тебя огорчить, но это проблема Vista, а значит и 7-ки. Точнее идиотского разделенения (как говорят в Майкрософт "не до конца продуманого") прав доступа различных пользователей. Они хотели поднять уровень защиты оси, используя нароботки Unix, а получили то, с чем ты столкнулся. Тебе можно запустить второй файл имея права System, но получить эти права (работать в нулевом кольце) в Vista - это проблема. Даже не знаю, что тебе посоветовать. С данной проблемой столкнулись все антивири, но сейчас как-то решили ее. Подробности не интересовался. Угу подтверждаю они её решили, да так что эти самые файлы потом вешаются, а в журнал добавляется запись что к одной и тойже ветви реестра обратились одновременно две программы и вот вам нате. Именно антивири портят жизнь на висте. Не все, но большая часть. Так что у них лучше не спрашивай. Как вариант я заметил что запуск не из Temp а из application data проходит более успешно, если это как то поможет…
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-24 20:46:16.270000
|
|
|
zzsnn
Сообщений: 7459
Оценки: 680
Присоединился: 2007-09-25 07:17:14.240000
|
quote:
Как вариант я заметил что запуск не из Temp а из application data проходит более успешно, если это как то поможет… Так и должно быть. Одна системная папка и Vista упорно будет ее "защищать" от пользователя, а вторая - пользовательская. Vista и рада бы ее закрыть от пользователя, но это уже будет перебор, пользователи не пойму, и потому, сожалея, Vista открывает доступ к данной папке пользователю.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-25 13:58:36.940000
|
|
|
MrShell
Сообщений: 177
Оценки: 0
Присоединился: 2009-12-24 01:38:57.660000
|
аналог песочницы там может быть, UAC - не песочница и не ее аналог, он тут не причем. А вот как обойти эту срань в висте - проблема. тоже сталкивался с этим, но не нарыл ничего интересного.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-26 14:33:45.953333
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
В ссылочках что любезно предложил scsi.aka.api есть рецепты (я их еще не опробовал - отложили на январь), в оригинале например: http://www.windowsecurity.com/articles/Protecting-System-Files-UAC-Virtualization-Part1.html. 1. Добавить к х32 exe-шнику специальный vista-manifest, чтобы она поняла, что он совместим с ней и для него ничего виртуализировать не надо. 2. Собрать еще x64 приложение (перекомпилировать), а в инсталляторе в зависимости от разрядности ОС вызывать x32 или x64 программу.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2009-12-26 15:17:46.490000
|
|
|
MrShell
Сообщений: 177
Оценки: 0
Присоединился: 2009-12-24 01:38:57.660000
|
пробовал я этот manifest, работает
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2010-01-01 16:17:29.370000
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
В мой проблеме был виноват не манифест (я его заменил сделал как надо всё, не помогло что-то). Напомню - бекап базы MS SQL Server не разворачивался на windows 2008 Server R2 x64, программа, которая выполняла восстановление базы данных, выдавала ошибку "Нет доступа к файлу, код 5" (что-то такое), хотя лежала рядом с бекапом в папке %temp%. Это только если она запускаетсяиз msi-пакета. Если её запускать руками и этой же папки выбирая явный запуск от администратора - run as administrator, то бекап развёртывался. Сейчас, я думаю причина ошибки в правах на папку %temp%(+ куча других факторов о которых я не подозреваю): 1. %temp% = C:\Users\Administrator\local\temp 2. На папку C:\Users\Administrator по умолчанию права есть у учёток "SYSTEM", "Administrator" и группы "Administrators" На папку нет прав у учётной записи "local system", от имени которой работает служба sqlServer. system и local system являются разными учётными записями (во всяком случае в списках контроля доступа они обе есть). Таким образом, служба SQL Server-а не могла получить доступ к бекапу (прав на папку нет), выдавала ошибку провайдеру, провайдер выдавал ошибку доступа программе развёртывания БД, а программа развёртывания БД показывала эту ошибку. Но это опять не объясняет - почему такой ошибки нет если программу развёртывания запускать явно от админа: "run as administrator".
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2010-01-02 10:43:56.690000
|
|
|
zzsnn
Сообщений: 7459
Оценки: 680
Присоединился: 2007-09-25 07:17:14.240000
|
"почему такой ошибки нет если программу развёртывания запускать явно от админа: "run as administrator"." Ответ в твоей строчке "по умолчанию права есть у учёток "SYSTEM", "Administrator" и группы "Administrators", а почему раньше не шло ты сам ответил "нет прав у учётной записи "local system" Вообще права доступа и пользователи досточно запутанный вопрос в Win, и особо не разбирается в данной оси. Почитай по правам доступа литературу по Linux, там этот вопрос очень хорошо разжевывается.
|
|
|
RE: sandbox в Windows Vista - есть ли он? - 2010-01-09 13:26:46.873333
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
Точно, zzsnn - "run as administrator" давал программе права пользователя "Administrator". А по поводу проблемы - БД будет восстанавливаться не бекапом а sql-запросами, вызываемыми из программу установки. Никаких секретных данных в БД нет (во всяком случае мне не говорли), шифрование полей не применяется, поэтому если в инсталляторе будет содержаться куча insert-ов (не в файле а в коде программы установки) - ничего страшного для безопасности не будет.
|
|
|
|
|