Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

sandbox в Windows Vista - есть ли он?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Windows] >> sandbox в Windows Vista - есть ли он?
Имя
Сообщение << Старые топики   Новые топики >>
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:

…все сводится к виртуализации некоторых ветвей реестра…
Post #: 1
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
Post #: 2
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, но разницы особой не должно быть.
Post #: 3
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 - почитаю.
Post #: 4
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 - это проблема. Даже не знаю, что тебе посоветовать. С данной проблемой столкнулись все антивири, но сейчас как-то решили ее. Подробности не интересовался.
Post #: 5
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 проходит более успешно, если это как то поможет…
Post #: 6
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 открывает доступ к данной папке пользователю.
Post #: 7
RE: sandbox в Windows Vista - есть ли он? - 2009-12-25 13:58:36.940000   
MrShell

Сообщений: 177
Оценки: 0
Присоединился: 2009-12-24 01:38:57.660000
аналог песочницы там может быть, UAC - не песочница и не ее аналог, он тут не причем. А вот как обойти эту срань в висте - проблема. тоже сталкивался с этим, но не нарыл ничего интересного.
Post #: 8
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 программу.
Post #: 9
RE: sandbox в Windows Vista - есть ли он? - 2009-12-26 15:17:46.490000   
MrShell

Сообщений: 177
Оценки: 0
Присоединился: 2009-12-24 01:38:57.660000
пробовал я этот manifest, работает
Post #: 10
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".
Post #: 11
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, там этот вопрос очень хорошо разжевывается.
Post #: 12
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-ов (не в файле а в коде программы установки) - ничего страшного для безопасности не будет.
Post #: 13
Страниц:  [1]
Все форумы >> [Windows] >> sandbox в Windows Vista - есть ли он?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.