Ръководство за контрол на потребителските акаунти (UAC)

Контролът на потребителските акаунти е може би най-подценявана и може би дори най-омразната функция, която дебютира във Vista и стана част от всички бъдещи версии на Windows. В по-голямата си част потокът от омраза, който потребителите преливат върху контрола на потребителските акаунти, намирам за незаслужен, тъй като функцията е реална употреба. Напълно съм съгласен, че понякога контролът на потребителските акаунти (наричан по-долу просто UAC) може да бъде много досаден, но той беше въведен в Windows с конкретна цел. Не, за да не пречим на потребителите, а за да улесним плавния преход от стандартен (ограничен) акаунт към администраторски акаунт.

В тази статия ще ви кажа какво е UAC, как работи, защо е необходимо и как да го конфигурирате. Нямам намерение да ви инструктирам защо трябва да използвате UAC, но ще ви информирам само за това, което губите, като деактивирате тази функция.

Малко информация и информация за профила

Както трябва да знаете, Windows работи с така наречените акаунти. Те са от два вида: администратор и стандарт (ограничено).

Администраторският акаунт дава на потребителя пълен достъп до всички функции на операционната система, т.е. потребителят може да прави каквото си поиска. Потребителят на стандартния акаунт има намалени права и затова са му разрешени само определени неща. Това по правило е всичко, което засяга само текущия потребител. Например: промяна на тапета на работния плот, настройки на мишката, промяна на звуковата схема и т.н. По принцип всичко, което се отнася до конкретен потребител и не се отнася за цялата система, е достъпно в стандартен акаунт. За всичко, което може да засегне системата като цяло, имате нужда от администраторски достъп.

Една от задачите, възложени на тези акаунти, е защита от злонамерен код. Общата идея тук е, че потребителят извършва нормална работа под ограничен акаунт и преминава към администраторския акаунт само когато действието го изисква. Колкото и парадоксално да изглежда, зловредният софтуер получава същото ниво на права, с което потребителят влезе.

В Windows 2000 и Windows XP извършването на операции от името на администратора не е достатъчно гъвкаво и следователно работата под ограничен акаунт не беше много удобна. Един от начините за извършване на административно действие в тези версии на системата е следният: изход от ограничен акаунт (или превключване бързо, ако се използва Windows XP) -> въведете администраторски акаунт -> извършете действие -> изход акаунт на администратор (или превключване бързо, ако използван Windows XP) -> връщане към ограничен акаунт.

Друга опция е да използвате контекстното меню и опцията "Стартирай като друг потребител", която отваря прозорец, в който трябва да посочите подходящия администраторски акаунт и парола, за да стартирате файла като администратор. Това е доста бърз начин за преминаване от един акаунт в друг, но не е приложим за всяка ситуация, изискваща административни привилегии. Друг проблем при този метод е, че администраторският акаунт трябва да има парола, в противен случай изпълнението ще се провали.

Ето защо контролът на потребителските акаунти беше въведен в Windows Vista и почти усъвършенстван в Windows 7..

Какво е UAC?

UAC е функция в Windows Vista, 7, 8, 8.1 и 10, която има за цел да направи прехода от ограничена среда към администратор като гладък и безпроблемен, премахвайки необходимостта ръчно да стартирате файлове с права на администратор или да превключвате между акаунти. В допълнение, UAC е допълнителен слой защита, който не изисква почти никакви усилия на потребителя, но може да предотврати сериозни щети..

Как работи UAC

Когато потребител влезе в своя акаунт, Windows създава така наречения потребителски маркер за достъп, който съдържа определена информация за този акаунт и главно различни идентификатори за защита, които операционната система използва за контрол на достъпността на този акаунт. С други думи, този знак е вид личен документ (например паспорт, например). Това се отнася за всички версии на Windows, базирани на ядрото NT: NT, 2000, XP, Vista, 7, 8 и 10.

Когато потребителят влезе в стандартен акаунт (ограничен), се създава стандартен потребителски маркер с ограничени права. Когато потребител влезе в акаунта на администратора, се създава т.нар администраторски маркер с пълен достъп. Логично ли е.

Въпреки това, в Windows Vista, 7, 8 и 10, ако UAC е активиран и потребителят е влязъл в акаунта на администратора, Windows създава два маркера. Администраторът остава на заден план, докато стандартният се използва за стартиране на Explorer.exe. Тоест, Explorer.exe започва с ограничени права. В този случай всички процеси, стартирани след това, стават подпроцеси на Explorer.exe с наследени ограничени привилегии на основния процес. Ако даден процес изисква администраторски права, той изисква администраторски маркер, а Windows от своя страна иска разрешение от потребителя да предостави този маркер на процеса под формата на специален диалогов прозорец.

Този диалогов прозорец съдържа така наречения защитен работен плот, до който има достъп само операционната система. Изглежда като затъмнена снимка на истински десктоп и съдържа само прозорец за потвърждаване на администраторски права и по възможност езикова лента (ако е активиран повече от един език).

Ако потребителят не се съгласи и натисне „Не“, Windows ще откаже процеса в маркера на администратора. И ако той се съгласи и избере „Да“, операционната система ще предостави на процеса необходимите привилегии, а именно токът на администратора.

Ако процесът вече работи с намалени права, той ще бъде рестартиран с тези повишени (администратор). Процесът не може да бъде директно „понижаван“ или „надстроен“. След като процесът е стартиран с един маркер, той няма да може да получи други права, докато не бъде стартиран отново с нови права. Пример за това е Task Manager, който винаги започва с ограничени права. Ако щракнете върху бутона „Показване на процесите на всички потребители“, диспечерът на задачите ще бъде затворен и рестартиран, но с права на администратор.

Когато използвате стандартен акаунт, UAC иска конкретен администраторски акаунт и въвежда парола:

Как UAC защитава потребителя

Само UAC не осигурява много защита. Той улеснява само прехода от ограничена среда към тази на администратор. Следователно по-правилното изложение на въпроса е следното: как ограничен акаунт обезкуражава потребителя. При ограничен потребителски профил процесите не могат да получат достъп до определени системни зони:

  • основен дял на диска;
  • потребителски папки на други потребители в папката \ Потребители \;
  • Папка с програмни файлове;
  • Windows папка и всички нейни подпапки;
  • секции на други акаунти в системния регистър
  • Раздел HKEY_LOCAL_MACHINE в системния регистър.

Всеки процес (или злонамерен код) без права на администратор не може да проникне дълбоко в системата без достъп до необходимите папки и ключове на системния регистър и следователно не може сериозно да навреди на системата.

Може ли UAC да пречи на по-стари програми, които не са официално съвместими с Vista / 7/8/10

Не би трябвало. Когато е активиран UAC, виртуализацията също е активирана. Някои стари и / или просто небрежно написани програми не използват правилните папки, за да съхраняват своите файлове (настройки, дневници и т.н.). Правилните папки са папките в директорията на AppData, които има всеки акаунт и където всяка програма може да създаде папка, за да съхранява всичко, което иска.

Някои програми се опитват да запазят своите файлове в програмни файлове и / или Windows. Ако програмата стартира с права на администратор, това няма да е проблем. Ако обаче програмата се изпълнява с ограничени разрешения, тя няма да може да прави промени във файлове / папки в програмните файлове и / или Windows. Операционната система просто не й позволява да го направи..

За да предотврати проблеми с подобни програми, Windows предлага виртуализация на папки и ключове на системния регистър, до които програми с ограничени права по принцип нямат достъп. Когато такава програма се опита да създаде файл в защитена папка, операционната система го пренасочва към специална папка VirtualStore, която се намира в X: \ Потребители \\ AppData \ Local \ (където X: е системният дял, обикновено C :). Т.е. През очите на самата програма всичко е в ред. Тя не среща пречки и вярва, че създава файлове / папки точно там, където иска. VirtualStore обикновено съдържа подпапки на програмни файлове и Windows. Ето екранна снимка на програмните файлове в папката ми VirtualStore:

Ето какво има в папката SopCast, например:

Т.е. ако UAC беше спрян или програмата винаги се стартира с права на администратор, тези файлове / папки ще бъдат създадени в C: \ Program Files \ SopCast. В Windows XP тези файлове и папки ще бъдат създадени без проблеми, защото в него всички програми имат администраторски права по подразбиране.

Това, разбира се, не бива да се разглежда от разработчиците като постоянно решение. Отговорността на всеки автор е да създаде софтуер, който е напълно съвместим с текущите операционни системи.

UAC Диалози

Може би сте забелязали, че има само три различни диалога на UAC. Тук разглеждаме тези в Windows 7, 8.x и 10. Във Vista, диалозите са малко по-различни, но няма да се спираме на тях..

Първият тип прозорец има тъмно синя ивица в горната част и икона под формата на щит в горния ляв ъгъл, който е разделен на 2 сини и 2 жълти секции. Този прозорец се появява, когато се изисква потвърждение за процес с цифров подпис, който принадлежи на операционната система - т.нар Windows двоични файлове. Ще поговорим за тях по-долу..

Вторият вид прозорец също е с тъмносиня панделка, но иконата на екрана е напълно синя и с въпросителна. Този прозорец се появява, когато за цифрово подписан процес се изисква потвърждение, но процесът / файлът не принадлежи на операционната система..

Третият прозорец е украсен с оранжева ивица, щитът също е оранжев, но с удивителен знак. Този диалогов прозорец се появява, когато се изисква потвърждение за процес без цифров подпис..

Настройки на UAC

Настройките за контрол на акаунта (режими на работа) се намират в Контролен панел -> Система и сигурност -> Промяна на настройките за контрол на акаунта. Има 4 от тях:

Винаги уведомяването е най-високото ниво. Този режим е еквивалентен на начина, по който UAC работи в Windows Vista. В този режим системата винаги изисква потвърждение на администраторските права, независимо от процеса и какво изисква.

Второто ниво се използва по подразбиране в Windows 7, 8.x и 10. В този режим Windows не показва прозореца на UAC, когато става въпрос за така наречените Windows двоични файлове. Т.е. ако файл / процес, който изисква администраторски права, отговаря на следните 3 условия, операционната система ще им го даде автоматично, без потвърждение от потребителя:

  • файлът има манифест (вграден или като отделен файл), което показва автоматично повишаване на правата;
  • файлът се намира в папката на Windows (или в която и да е от подпапките му);
  • файл, подписан с валиден цифров подпис на Windows.

Третият режим е същият като вторият (предишен), но с тази разлика, че не използва защитен работен плот. Тоест екранът не потъмнява, а диалоговият прозорец UAC се появява като всеки друг. Microsoft не препоръчва използването на тази опция, но защо - ще обясня по-късно.

Не ме уведомява е четвъртото и последното ниво. Всъщност това означава напълно деактивиране на UAC.

Подходящо е да направите два коментара тук:

  • Цифровият подпис на Windows е специфичен за операционната система. Казвам това, защото има файлове, които са цифрово подписани от Microsoft. Това са два отделни подписа, като UAC разпознава само цифров подпис на Windows, тъй като действа като доказателство, че файлът не е само от Microsoft, но е и част от операционната система.
  • Не всички файлове на Windows имат манифест за автоматично повишаване на привилегиите. Има файлове, които умишлено са лишени от това. Например regedit.exe и cmd.exe. Ясно е, че вторият не се надгражда автоматично, тъй като често се използва за стартиране на други процеси и както вече беше споменато, всеки нов процес наследява правата на процеса, който го е стартирал. Това означава, че всеки може да използва командния ред, за да започне безпроблемно всеки процес с права на администратор. За щастие Microsoft не е глупава.

Защо е важно да използвате защитен работен плот

Сигурният работен плот предотвратява всякакви възможни смущения и смущения от други процеси. Както бе споменато по-горе, само операционната система има достъп до нея и с нея тя приема само основни команди от потребителя, тоест натискане на бутона "Да" или "Не".

Ако не използвате защитен работен плот, нападател може да симулира прозорец на UAC, за да ви подведе и да стартира вашия злонамерен файл като администратор.

Кога имате нужда от администраторски права? Когато се появи прозорецът на UAC?

Обикновено има три случая, при които UAC осъществява достъп до потребителя:

  • при промяна на системните (не-потребителски) настройки, въпреки че всъщност това се отнася само за максималното ниво на UAC;
  • при инсталиране или премахване на програма / драйвер;
  • когато приложение / процес изисква администраторски права, за да направи промени в системните файлове / папки или ключове на системния регистър.

Защо е важно да не деактивирате UAC  

Контролът на потребителските акаунти осигурява високо ниво на защита, а в замяна не изисква почти нищо. Тоест, ефективността на UAC е много висока. Не разбирам защо е толкова досадно за хората. При ежедневна работа средният потребител вижда прозорец на UAC 1-2 пъти на ден. Може би дори 0. Това е толкова много?

Средният потребител рядко променя системните настройки и когато го прави, UAC не се притеснява от въпросите си, ако работи с настройките по подразбиране.

Средният потребител не инсталира драйвери и програми всеки ден. Всички драйвери и повечето от необходимите програми се инсталират веднъж - след инсталиране на Windows. Тоест, това е основният процент на заявките за UAC. След това UAC се намесва само по време на ъпгрейда, но новите версии на програми не се пускат всеки ден, да не говорим за драйвери. Освен това много от тях изобщо не актуализират програми или драйвери, което допълнително намалява проблемите с UAC..

Много малко програми се нуждаят от администраторски права, за да си вършат работата. Това са главно дефрагментатори, инструменти за почистване и оптимизация, някои диагностични програми (AIDA64, HWMonitor, SpeedFan и др.) И системни настройки (Process Explorer и Autoruns, например, но само ако трябва да извършите нещо конкретно - да речем, деактивирайте драйвера / услуга или програма, започваща с Windows). И всичко това са програми, които или не могат да се използват изобщо, или в редки случаи. Всички често използвани приложения работят с UAC абсолютно нормално и не задават никакви въпроси:

  • мултимедийни плейъри (аудио и / или видео);
  • видео / аудио преобразуватели;
  • софтуер за обработка на изображения / видео / аудио;
  • програми за заснемане на екрани на работния плот или видеозаписи на него;
  • програми за гледане на изображения;
  • Уеб браузъри
  • изтеглящи файлове (мениджъри за изтегляне и клиенти на P2P мрежи);
  • FTP клиенти
  • незабавни пратеници или програми за гласова / видео комуникация;
  • програми за запис на дискове;
  • архиватор;
  • текстови редактори;
  • PDF четци
  • виртуални машини;
  • и други.

Дори инсталирането на актуализации на Windows не активира прозореца на UAC.

Има хора, които са готови да дарят 1-2 или повече минути на ден, за да „оптимизират“ системата с някои криво написани програми, които не правят нищо полезно, но не са готови да отделят няколко секунди на ден, за да отговорят на UAC заявки.

Различни твърдения като „Аз съм опитен потребител и знам как да се защитя“ не са достатъчни, защото никой не е застрахован и изходът от определени ситуации не винаги зависи от потребителя. Освен това хората са склонни да правят грешки, това се случва на всички.

Нека ви дам един пример: да предположим, че използвате програма, която има уязвимости, и един ден ще бъдете на сайт, който използва тези уязвимости. Ако е активиран контролът на потребителите и програмата работи с ограничени права, нападателят няма да може да направи много проблеми. В противен случай повредите в системата могат да бъдат колосални..

И това е само един от многото примери..

Изпълнение на приложения с Windows като администратор

Предполагам, че може да има потребители, които изключват UAC, само за да могат да стартират програми с Windows и с права на администратор. Това не е възможно по обичайния начин, тъй като UAC не може да изпрати заявка до потребителя, докато не бъде зареден работният плот. Има обаче начин, по който можете да оставите активиран UAC. Ето го:

  • отворен Task Scheduler;
  • преса Създайте задача;
  • в полето Име въведете нещо по ваше желание и в долната част на прозореца активирайте опцията Изпълнявайте с най-високи права;
  • отидете на раздела тригери и щракнете създавам;
  • в падащото меню в горната част изберете При влизане; ако искате да създадете задача за конкретен потребител, изберете опцията потребител, и след това щракнете Промяна на потребителя; въведете потребителско име и потвърдете, като натиснете добре;
  • отидете на раздела мерки и щракнете създавам;
  • преса преглед, посочете подходящото приложение и потвърдете избора си;
  • отидете на раздела условия и деактивирайте опцията Работете само когато се захранва от мрежата;
  • на раздела параметри деактивирайте опцията за спиране, изпълнявана по-дълго;
  • потвърдете от добре.

Готово. Задачата е добавена, така че сега приложението ще се зарежда автоматично с права на администратор. Тук обаче има един малък шнап: всички подобни задачи се изпълняват с приоритет по-нисък от нормалния - под нормалния. Ако това ви подхожда, значи всичко е наред. Ако не, тогава трябва да поработите малко повече:

  • тичам Task Scheduler, ако вече сте го затворили;
  • изберете Task Scheduler Library;
  • маркирайте задачата си, щракнете износа и го запишете във формат .xml;
  • отворете .xml файла в текстов редактор;
  • намери раздел 7, които трябва да бъдат в края на файла и да променят седемте (7) между отварящите и затварящите тагове на пет (5);
  • запишете файла;
  • в Task Scheduler, маркирайте отново задачата си, щракнете Изтриване и потвърдете изтриването;
  • сега щракнете Задача за импортиране, посочете файла, който току-що сте запазили, и щракнете добре.

Това е всичко. От вас зависи да решите дали да използвате UAC или не, но е много важно да знаете какво губите, когато изключите тази функция, както и да сте наясно с рисковете. Благодаря за вниманието.!

Приятен ден!