Различия

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

Ссылка на это сравнение

articles:av-test-drive [2017/09/05 02:55] (текущий)
Строка 1: Строка 1:
 +====== av-test-drive ======
 +<​sub>​{{av-test-drive.odt|Original file}}</​sub>​
 +
 +====== защищенная ось без антивирусов и тормозов ======
 +
 +крис касперски ака nezumiakasourizakaelratonakalaoshuaka толстый нутряк
 +
 +**некоторые воспринимают антивирус как неотъемлемую часть операционной системы и просто не мыслят свое существование без кучи защитных пакетов от разных производителей,​ свободно пропускающих заразу,​ но вызывающих жуткие тормоза и целый ворох конфликтов,​ вплоть до выпадения в ****BSOD****. самый лучший антивирус — это сама ось! нужно только научиться правильно ею пользоваться!**
 +
 +===== введение =====
 +
 +**Windows NT** (и все производные от нее системы — W2K, XP, и частично Longhorn) изначально проектировалась как защищенная оси, способные постоять за себя и дать вирусам решительный отпор без каких-либо дополнительных средств,​ в том числе и широко разрекламированного MicrosoftAnti-Spy-Ware. Но, чтобы не увязнуть в терминах,​ прежде чем продолжить повествование,​ необходимо уточить ряд определений.
 +
 +{{av-test-drive_Image_0.jpg?​553}}
 +
 +Рисунок 1 твоя операционная система — это твоя крепость,​ а всякие там антивирусы идут лесом
 +
 +===== терминологические войны =====
 +
 +//​Условимся называть ////​**вирусами**////​ саморазмножающийся программы,​ паразитирующие на исполняемых файлах,​ динамических библиотеках,​ драйверах и других объектах подобного рода.// Эпоха вирусов закончилась вместе с крушением MS-DOS. Сеть тогда только зарождалась и единственным средством добычи свежих программ были дискеты товарища,​ отдельные счастливчики имели доступ к FIDO и BBS. Все это создавало крайне напряженную обстановку с эпидемиологической точки зрения. Копировать программы друг у друга — все равно что ширяться из одного шприца. Немногие помнят то светлое время, когда вирусов было всего семь, а антивирус годичной давности считался вполне свежим и актуальным. Фактически,​ основными носителями вирусов были люди, а не файлы, поэтому масштабы эпидемии определялись исключительно интенсивностью копирования программ.
 +
 +С появлением Сети, пользователи перешли на централизованную скачку дистрибутивов с официальных серверов,​ а вирусам для размножения перестали требоваться люди. Используя дыры в подсистемах безопасности и ошибки типа переполнения буфера,​ любой вирус буквально за несколько часов может заразить практически все уязвимые узлы, при этом ему совершенно необязательно внедряться в исполняемые объекты. Зачем привлекать к себе лишнее внимание,​ когда можно ограничиться временным проживанием в оперативной памяти. Если заражен хотя бы 1% всех машин в сети, то вирус, умирая при перезагрузке,​ через незаткнутые дыры будет возвращаться вновь и вновь, ведя кочевой образ жизни. Такие вирусы принято называть **червями** и это один из наиболее распространенных типов компьютерной заразы на сегодняшний день.
 +
 +Еще существуют "​психологические"​ вирусы,​ представляющие обыкновенные исполняемые файлы и распространяющийся через вложения электронной почты, ICQ, в меньшей степени web и ftp. Свою историю они ведут от "​крякеров Интернета",​ завлекающих бесплатным доступом в Сеть, а на самом деле форматирующим жесткий диск. Этот подкласс заразы назвали **Троянскими Конями**. Сейчас же времена первобытного варварства остались позади и большинство троянов не уничтожают информацию,​ поскольку это сделает их пребывание слишком заметным,​ а скрыто устанавливает шпионскую закладку,​ похищающую пароли,​ содержимое электронных кошельков или позволяющую управлять компьютером по сети — такие компьютеры называются **зомби** или **дронами**. Собрав огромную армию дронов,​ хакер может совершать распределенные атаки и делать кучу других антисоциальных вещей, например,​ рассылать спам.
 +
 +{{av-test-drive_Image_1.jpg?​552}}
 +
 +Рисунок 2 вирусы — такие колючие и разные!
 +
 +===== антивирусы — за гранью возможного =====
 +
 +Антивирусы в настоящее время практически полностью утратили былую значимость и усиленно пытаются отойти от пропасти на дне которой они находятся. Вирусы,​ заражающие исполняемые файлы, за последние несколько лет фактически перевелись,​ к тому же запретить запись в исполняемые файлами средствами операционной системы намного проще, дешевле,​ быстрее и надежнее,​ чем устанавливать антивирусный пакет. И уж совсем бессмысленно пытаться лечить зараженные объекты,​ ведь в любой момент их можно переустановить с дистрибутивной копии, хранящейся на CD-R/RW или скаченной их Сети. Но **автономный сканер** — это еще туда-сюда. Лично я примерно раз в год скачиваю демонстрационную версию какого-нибудь антивируса и проверяю свое хозяйство на предмет:​ "а вдруг?"​ Впрочем,​ до сих пор все было чисто и никаких "​авдругов"​ со мной не случалось.
 +
 +Антивирусный монитор,​ следящий за всеми создаваемыми/​открываемыми файлами,​ и проверяющий их "на лету"​ это дополнительные тормоза (под час _очень_ значительные),​ конфликты,​ критические ошибки,​ голубые экраны смерти и прочий ничем неоправданный геморрой. Вся проблема в том, что антивирус может ловить только те вирусы,​ о которых знает, а вирусы сейчас пишут все кому не лень, так что даже при экстраординарной степени оперативности,​ никакой гарантии,​ что вся зараза будет распознана,​ у нас нет. Больше того! Вирус, упакованный слегка подправленной версий крутого протектора,​ имеет 100% шансы остаться незамеченным! Сложные протекторы уже не распаковываются на эмуляторе ЦП (так же называемом виртуальной машиной) и для их снятия требуется статических распаковщик,​ входящий в "​движок"​ антивирусной базы и справляющийся только со строго конкретными версиями протекторов и очень болезненно относящийся даже к незначительным изменениям структуры упакованного файла. Да что там структура! Обычно бывает достаточно внедрить в точку входа jump на инструкцию неизвестную эмулятору (например,​ что-нибудь из набора SSE/SSE2) и антивирус идет лесом, поскольку переменная длинна x86 инструкций не позволяет ему определить начало следующей машинной команды!
 +
 +{{av-test-drive_Image_2.jpg?​553}}
 +
 +Рисунок 3 голубой экран смерти,​ вызванный антивирусным монитором
 +
 +Реально,​ антивирусы могут отлавливать только не модифицированные версии Троянских Коней, да и то с оговорками. Просто смешно видеть,​ как на какой-нибудь файлопомойке типа www.download.ru пишут: "​все программы проверены последними версиями антивирусов X и Y". Вы либо доверяете своему поставщику,​ либо нет. Как нельзя быть чуть-чуть беременной,​ так и нельзя доверять наполовину. Если разработчик (или дистрибьютор) задастся целью внедрить закладку — будьте уверены,​ он внедрит ее так, что никакой антивирус не поможет. Запускайте программы,​ полученные только из надежных источников,​ и только с минимально необходимым уровнем привилегий. Криво спроектированная программа,​ запущенная с администраторскими привилегиями,​ способна уронить всю систему так, что "​ремонт"​ последней (в плане времени) обойдется дороже полной переустановки,​ но… никакого отношения к вирусам такая программа не имеет, поэтому антивирус скромно пропускает ее между ног, а вот правильно настроенная ось способна предотвратить свое обрушение,​ причем совершенно бесплатно и без тормозов!
 +
 +Что же касается червей (и, в частности,​ нашумевшего MS BLAST, известного так же под кличкой Love San), то это вообще песня. Удаляют его антивирусы,​ не удаляют — что толку? Пока есть дыра, он словно феникс из пепла будет появляться вновь и вновь. К тому же всегда существует вероятность,​ что кто-то умный напишет свой собственный shell-код,​ не имеющий с MS BLAST'​ом ничего общего,​ а потому и не детектируемый _никаким_ антивирусом! Некоторые дыры можно закрыть брандмауэром,​ но в общем случае,​ для этого необходимо установить заплатку от производителя уязвимого продукта,​ которым может быть как сама ось, так и один из ее компонентов:​ IE, FireFox и т. д.
 +
 +Еще существует такой тип антивирусов как //​**ревизоры**//,​ в задачу которых входит проверка целостности существующих файлов и контроль за вновь созданными. Некоторые ревизоры так же контролируют и реестр,​ особенно ветки, прямо или косвенно ответственные за автоматический запуск программ. Во времена MS-DOS это была очень хорошая штука, но сейчас… винчестеры так разжирели,​ что процедура сканирования отнимает кучу времени (а если работает в фоне, то это уже тормоза),​ к тому же многие сканеры содержат ошибки,​ позволяющие заразить файл без изменения его контрольной суммы (см. статью "​как подделывают CRC16/​32",​ опубликованную в хакере),​ не говоря уже о том, что при правильная политика разграничения доступа сводит актуальность сканеров на нет, тем более, что начиная с W2K система сама контролирует целостность жизненно-важных файлов через механизм SFC. Ну вот, сейчас кто-то скажет,​ что SFC легко обмануть,​ там ведь и сканер обмануть ничуть не сложнее,​ особенно если вирус стелсируется на уровне ядра или вообще не внедряется ни в какие объекты файловой системы,​ существуя лишь в виртуальной памяти какого-нибудь процесса.
 +
 +Контроль за целостностью виртуальной памяти процессоров берут на себя как антивирусы,​ так и персональные брандмауэры,​ распознающие и отсекающие все известные способы внедрения в чужое адресное пространство,​ да вот только… работает этот механизм кое-как. Зловредному коду, запущенному с пониженными привилегиями,​ доступ к чужим процессам можно запретить средствами самой операционной системы,​ а код, запущенный с правами администратора,​ пройдет сквозь все уровни защиты,​ как нож сквозь масло (при условии,​ что его писал не пионер,​ а хотя бы комсомолец). Самое неприятное,​ что существует множество легальных программ,​ например,​ мультимедийных клавиатур и мышей, использующих внедрение в чужое адресное пространство для реализации своих мультимедийных возможностей,​ поэтому,​ слепой запрет брандмауэра/​антивируса приведет к их неработоспособности! Значит,​ необходимо предоставить пользователю возможность выбора. А сможет ли он отличить честную программу от нечестной?​ Но даже не это самое страшное. Чем глубже внедряется брандмауэр/​антивирус в систему,​ тем сложнее зловредному коду его обойти,​ но и тем больше конфликтов и глюков он (брандмауэр/​антивирус) вызывает.
 +
 +Получается так, что грамотно настроенной системе никакой антивирус не нужен, а с безграмотной никакой антивирус все равно не справиться (брандмауэр стоит ставить только затем, чтобы отделить домашнюю локальную сеть от Интернет и следить за сетевой активностью установленных программ,​ выявляя не только шпионов,​ но и легальные программы,​ пытающиеся проверить корректность регистрации).
 +
 +===== эвристики =====
 +
 +**Эвристика** это одно из многих buzzwords конца XX — начала XXI века, то есть ученое или специальное словечко,​ способное произвести впечатление на непосвящённого. Это усилительное (часто бессмысленное) слово, используемое в профессиональном жаргоне для придания продукту тех черт, которыми он не обладает,​ или обладает,​ но совсем не в той мере.
 +
 +Идея эвристики уходит корнями в эпоху ранней юности MS-DOS и в общих чертах сводится к выявлению признаков,​ часто встречающихся в вирусах,​ но практически никогда — в легальных программах. Тогда это было легко! Код вируса писался на чистом ассемблере и укладывался в линейную структуру,​ которую легко "​переваривал"​ эмулятор,​ распознающий ряд заложенных в него шаблонов. Например,​ если функция FindFist вызывалась с маской *.comили *.exe, это давало основание предположить,​ что мы имеем дело с программой внедряющейся в исполняемые файлы. Но стоило зашифровать маску, использовать самомодифицирующийся код или другие хитрые приемы,​ как эвристик шел лесом. Шаблонный поиск уже не работал,​ а на полный анализ не хватало вычислительной мощности и хотя существовали эвристики,​ срабатывающие в 90% случаев (реальных 90%, а не "​макетоидных"​),​ большого распространения они не получили,​ поскольку требовали огромного времени на анализ,​ а пользователь он, как известно,​ ждать не любит.
 +
 +Сейчас вычислительные мощности многократно возросли,​ но вместе с ними возросла и сложность вирусов. На место ассемблера пришли языки высокого уровня,​ линейный код распался и вирус превратился в запутанный клубок функций,​ взаимодействующих друг с другом самым невероятным образом. Сравните структуру вируса Boot/​Brain.A,​ написанного в далеком 1984 году с червем W32/​Bagle.AG@mm,​ созданным десять лет спустя — в 2004.
 +
 +{{av-test-drive_Image_3.png?​552}}
 +
 +Рисунок 4 структура вируса Boot/​Brain.A,​ написанного в 1984 году
 +
 +{{av-test-drive_Image_4.jpg?​553}}
 +
 +Рисунок 5 структура червя W32/​Bagle.AG,​ написанного в 2004 году
 +
 +Даже если антивирусу удастся побороть упаковщик и передать эвристику распакованный код… никаких вирусных признаков ему все равно там ни за что не обнаружить,​ ну разве что это будет совсем пионерский вирус. Наличие незашифрованных текстовых строк с ключами реестра,​ ответственными за автозапуск,​ имен исполняемых файлов антивирусных программ,​ команд в стиле "​rm -rf /"​ с высокой степенью указывает на зловредную программу,​ но… их очень легко зашифровать.
 +
 +Еще эвристик может анализировать таблицу импорта и аргументы,​ переедаемые функции GetProcAddress,​ и, если там встретиться WriteProcessMemory,​ VirtualAllocEx,​ CreateRemoteThread или что-то еще в этом роде, антивирус сделает вывод, что имеет дело с программой,​ способной внедряться в другие процессы — верный признак червей и… отладчиков. Причем,​ черви сплошь и рядом используют свою собственную реализацию GetProcAddress,​ принимающую не имя функции,​ а ее хэш!
 +
 +Что касается классических вирусов,​ внедряющихся в исполняемые файлы, эвристик может проанализировать адрес точки входа, проверив,​ не указывает ли он в последнюю секцию файла или в PE-заголовок и если да, то забить тревогу. Но это всего лишь два способа внедрения из… очень многих! В моей книге ("​компьютерные вирусы снаружи и изнутри"​) собрана неплохая коллекция методов внедрения,​ большинство из которых с точки зрения антивируса вполне законны и визуально ничем не отличаются от нормальных программ.
 +
 +Ситуация осложняется тем, что многие вирусные приемы сейчас активно используются протекторами и если эвристик не утихомирить,​ он отправит в топку добрую половину легальных программ,​ чего допускать ни в коем случае нельзя!
 +
 +Конечно,​ иногда эвристик все-таки срабатывает (особенно в свете того, что все больше и больше вирусов пишутся пионерами,​ научившимся программировать раньше,​ чем читать),​ но возлагать на него какие-то надежды — это все равно, что пытаться обыграть казино. Если создатель вируса не лось, он многократно прогоняет его через различные эвристики,​ добиваясь их полной и безоговорочной капитуляции. В смысле молчания.
 +
 +Кстати говоря,​ еще во времена MS-DOS мыщъх носился с идей антивируса,​ распознающего не вирусы,​ а… легальные программы! Уже тогда количество существующих вирусов и их модификаций на несколько порядков (не двоичных!) превысило число популярных программ! В антивирусной базе содержатся контрольные суммы легальных программ,​ рассчитанные по алгоритму MD5, который очень сложно подделать,​ в результате чего факт заражения распознается влет независимо от алгоритма внедрения,​ а все неизвестные антивирусы программы попадают в категорию потенциально зараженных. При тесной кооперации разработчиков ПО с антивирусными компаниями,​ "​потенциально зараженных"​ программ будет немного и это (в основном) будет программы,​ написанные на коленке неизвестно кем и неизвестно как. Ошибки,​ допущенные при их создании,​ зачастую несут ничуть не меньший ущерб чем вирусы. Забавно,​ но к этой идеи антивирусная индустрия начала подходить только сейчас,​ предлагая услуги по сертификации ПО, однако,​ сама сертификация — чисто формальная процедура и даже если цифровую подпись напрямую подделать нельзя (криптография не велит),​ можно подкупить (ввести в заблуждение) выдающего его человека,​ то есть круг замыкается.
 +
 +//​Никакие,​ даже самые совершенные антивирусы ни от чего не спасают! При этом они стоят немалых денег, пожирают сетевой трафик частыми обновлениями,​ вызывают конфликты и тормозят работу системы,​ между тем система вполне может справиться с вирусами и сама — никакие дополнительные костыли ей не нужны!//​
 +
 +===== "​песочница"​ как средство от вирусов и прочей заразы =====
 +
 +Я сейчас скажу кое-что,​ но только если вы пообещаете,​ что не будете кидать в меня камни. Ага, это вы сейчас говорите,​ что не будете…. ну да ладно, мне уже все равно. Короче,​ в отличии от, например,​ BSD, Windows NT _не_ является многопользовательской операционной системой,​ поскольку только один пользователь может работать с компьютером в любой момент времени и, прежде чем переключиться на другого,​ необходимо завершить текущий сеанс, закрыв все приложения и лишь потом… А вот в BSD все очень просто:​ нажал Alt-F# и переключился на соседнюю консоль и все! В Windows XP наконец-то появилась возможность переключения сеансов разных пользователей без завершения,​ но… механизма взаимодействия между пользователи как не было, так и нет. Да и неудобно это все равно…
 +
 +Правда,​ в текущем сеансе можно запускать программы от имени другого пользователя,​ но это во-первых,​ совсем не то, а, во-вторых,​ далеко не все программы соглашаются на такой запуск,​ и еще меньше из них сохраняют свою работоспособность в полном объеме. Так что без бубна здесь не обойтись. Если нет бубна, на худой конец сойдет и обычный оцинкованный таз.
 +
 +Идея противостояния вирусам в общих чертах заключается в выборе правильной политики разграничения доступа,​ тогда вирус (или другая зловредная программа) просто не сможет напакостить и нанести сколь ни будь значительный урон. А для этого все потенциально опасные программы нужно запускать в своеобразной **песочнице**. В идеале — на виртуальной машине типа VM Ware, однако,​ про VM Ware мы уже неоднократно писали,​ а вот про разграничение доступа — материалов практически нет.
 +
 +Начнем с того, что //​никогда,​ ни при каких обстоятельствах не следует постоянно сидеть под "​администратором",​ поскольку при этом любая запущенная программа может делать с системой все, что ей вздумается.//​ Под администратором следует заходить в систему только для выполнения "​ремонтных"​ работ — установки новых драйверов,​ изменения параметров конфигурации и т. д. А все остальное время проводить под "​опытным пользователем"​ или просто "​пользователем"​ с ограниченным доступом. Чем меньше у вас привилегий,​ тем меньше их и у каждой запущенной вами программы,​ однако,​ под обыкновенным пользователем многие программы работать отказываются,​ поскольку требуют записи в каталог Program Files или в другие "​злачные"​ места, поэтому приходиться громко бить в бубен и долго трахаться,​ но зато потом! Потом наступает тишь да благодать! Ни вирусов,​ ни другого малваре.
 +
 +Необходимости в периодическом резервировании,​ естественно,​ никто не отменял. Надежнее всего, конечно,​ резервироваться на CD-R/RW, DVD-RW, ZIP, стримеры и прочие внешние носители информации,​ однако,​ это непроизводительно,​ неудобно,​ да и надежность у винчестеров все же повыше будет, чем у того же CD-RW. Поступим так. Создадим нового пользователя с администраторскими правами (Пуск -> Панель Управления -> пользователи и пароли -> Имя -> Пароль -> Другой -> Администраторы),​ назовем его, к примеру,​ "​backup",​ зайдем под его именем в систему,​ создадим каталог general-stores (т. е. общее хранилище) и скопируем туда все, что необходимо. Затем, щелкнув по каталогу правой кнопкой мыши, в появившемся контекстом меню выбираем вкладку "​свойства",​ а там "​безопасность"​ со списком допущенных лиц. По умолчанию каталог доступен для всех, что никак не входит в наши планы, поэтому удаляем "​всех"​ на хрен, предварительно сбросив галочку "​переносить наследуемые от родительского объекта разрешения на этот объект"​. Все!!! Теперь этот каталог недоступен никому,​ даже системе! И только владелец,​ создавший его (то есть "​backup"​),​ может войти в раздел "​безопасность"​ и вернуть "​всех"​ на место. Внимание! Администратор этого сделать _не_ сможет!!! Ну вообще-то,​ чтобы так не извращаться,​ после удаления "​всех"​ можно добавить пользователя "​backup",​ делегировав ему полный доступ к каталогу. Все же остальные пользователи,​ включая членов группы администраторы,​ добраться до этого каталога не смогут. Хорошая защита от вирусов и прочих деструктивных программ,​ неправда ли? (ну вообще-то,​ если зловредный код получит права администратора,​ он запросто сможет забить диск мусором на секторном уровне,​ но к счастью,​ такие вирусы практически не попадаются). Кстати говоря,​ задумаемся,​ а что произойдет,​ если случайно (преднамеренно) удалить пользователя "​backup"?​ Ведь тогда к архиву доступ не сможет получить _никто_! К счастью,​ штатная утилита chkdsk распознает такую ситуацию и если видит подобный каталог-зомби,​ она автоматически возвращает "​всех",​ воскрешая информацию из небытия.
 +
 +Нашей следующей задачей будет постройка "​песочницы"​ для всех тех программ,​ что могут быть атакованы из сети, к числу которых принадлежит IE, Fire Fox, Outlook Express,​ The Bat, ICQ и другие. Каждая из них должна быть запущена из-под ограниченного пользователя,​ не имеющего доступа ни к каким каталогам,​ кроме тех, что явно нужны самой программе. В принципе,​ можно завести одного ограниченного пользователя на всех, обозвав его к примеру "​sandbox"​ (то есть песочница),​ однако,​ в этом случае червь, пробравшийся через IE, сможет разрушить почтовую базу, накопленную за многие годы, что будет обидно. Поэтому лучше всего дать каждой программе по пользователю (конечно,​ это увеличивает потребности системы в памяти,​ но не столь радикально).
 +
 +Итак, создан ограниченный пользователь "​sandbox",​ в свойствах "​безопасности"​ каждого каталогов (или всех дисков целиков) "​sandbox"​ добавлен и доступ ему запрещен (политика запрета имеет приоритет над политикой разрешений,​ поэтому удалять "​всех"​ совершенно необязательно). По завершению этой нехитрой операции,​ у sandbox'​а останутся только те каталоги,​ которые ему нужны (как правило,​ это каталоги самой программы,​ причем без права записи в исполняемые файлы).
 +
 +Попробуем запустить в песочнице ну… например,​ Fire Fox. Создаем ярлык с firefox.exe (если только это не сделал инсталлятор),​ щелкаем по нему правой клавишей,​ идем в "​свойства"​ и там взводим галочку "​запускать от имени другого пользователя"​. Говорим "​ОК"​ и запускаем. Появляется грозное диалоговое окно, требующее ввода имени и пароля. Вводим. И… ни хрена Горящий Лис не запускается! Между прочим,​ в Linux/BSD подобная операция протекает без каких бы то ни было проблем. А здесь нужен бубен или более конкретно — файловый монитор Марка Руссиновича,​ показывающий на каких именно файловых операциях программа обламывается (вот так, значит,​ разработчики относятся к сообщениям об ошибках). Качаем файловый монитор:​ http://​www.sysinternals.com/​Utilities/​Filemon.html (он, кстати,​ занимает меньше двухсот килобайт и распространяется совершенно бесплатно). Запускаем из-под администратора (создаем ярлык и взводим уже известную нам галочку "​запускать от…"​),​ запускаем! В данном случае файловый монитор запускается (потому что запрограммирован правильно) и мы быстрым спортивным шагом идем в Options  Filter/​Highlight или нажимаем <​CTRL-L>​. В появившимся диалоговом окне взводим все галочки,​ кроме "​Log Successes",​ поскольку мониторить успешные операции нам на хрен не нужно! Нам нужны ошибки! Нажимаем "​OK"​ и перезапускаем программу (фильтр будет действовать только после запуска). Вновь запускаем Горящего Лиса. Что мы видим? Сначала идут ошибки поиска динамических библиотек в тех каталогах,​ где их нет — ну это нормально. А вот дальше… дальше,​ Горящий Лис пытается создать папку Mozilla прямо в каталоге WINNT (в ней он хранит свои настройки,​ кэш страниц и т.д.), куда его, естественно,​ не пускают и он тихо умирает.
 +
 +{{av-test-drive_Image_5.png?​553}}
 +
 +Рисунок 6 файловый монитор показывает на чем обламывается запуск Горящего Лиса
 +
 +Да… задача. Пробуем утилиту командной строки runas, запустив ее так: "​runas /​user:​sandbox firefox.exe"​ (при этом firefox.exe должен быть в текущей директории). Нас деловито спрашивают пароль и… Ни хрена! Теперь,​ Горящий Лис лезет в Document‑n‑Setting\Default User,​ куда ему доступа так же нет! В чем же дело?! В чем причина?​! А в том, что для корректной работы большинства программ необходимо загрузить еще и //​профиль пользователя//,​ от имени которого мы их запускаем,​ поэтому правильный вариант выглядит так: "​**runas ****/​****profile ****/​****user****:​****sandbox firefox****.****exe**"​. Теперь запуск проходит без проблем!
 +
 +А вот Опера хранит кэш не в профиле пользователя,​ а непосредственно в своем каталоге (впрочем,​ это зависит от ее настроек),​ поэтому sandbox'​у необходимо присвоить права на запись в "​program files\opera"​.
 +
 +Остальные программы "​распутываются"​ аналогичным образом. Если не помогает файловый монитор,​ качаем монитор реестра (http://​www.sysinternals.com/​Utilities/​Regmon.html) и смотрим в каких ветвях нуждается программа. Маленький подводный камень — перенаправить ввод с клавиатуры на файл, увы не удастся и пароль придется каждый раз вводить вручную,​ что напрягает. Впрочем,​ программисты запросто напишут программу лишенную этих недостатков. Нам же главное — создать кучу пользователей,​ распределив правда доступа так, чтобы зловредные программы не имели никаких шансов ни для размножения,​ ни для шпионской деятельности.
 +
 +===== заключение =====
 +
 +Создание защищенной системы без использования антивирусов — это реально! Пускай,​ на первоначальном этапе нам придется проделать большой объем работы и очень много думать головой,​ создавая столько пользователей,​ чтобы полностью изолировать одно потенциально опасное приложение от всех остальных,​ но и с другой стороны,​ не запутаться какой пользователь на что отвечает. Зато какая благодать давать своим домашним играть на вашей машине,​ зная, что они _ничего_ плохо с ней не смогут сделать,​ ну разве что очень-очень сильно захотят.
 +
 +{{av-test-drive_Image_6.jpg?​410}}
 +
 +Рисунок 7 после предварительной настройки политики доступа женщинам компьютер тоже можно доверять!
 +
 +