Що робить налаштування реєстру EnableLinkedConnections на технічному рівні?


15

Примітка. Основна проблема для мене полягає в тому, щоб мати доступ до мережевої спільної доступу, яку я (користувач адміністратора Win 7) створив під час запуску підвищеної програми. Зазвичай підвищена програма не матиме доступу до моїх непідвищених мережевих часток.

Відповідно до Microsoft, налаштування реєстру EnableLinkedConnections дозволить підвищеним процесам отримати доступ до мережевої частки поточно зареєстрованого (не підвищеного) процесу провідника.

Це пояснення має певний сенс:

[...] Коли ви є членом групи адміністраторів і входите в систему, ваш обліковий запис перетворюється на непривілейованого користувача UAC. Цей запущений контекст повністю відокремлений від контексту, який ви отримуєте, коли клацніть правою кнопкою миші командний рядок та запустите як адміністратор. Як ви, напевно, помітили, мережеві накопичувачі, підключені в одному контексті, не видно в іншому. [...]

Цей потік форуму запитує про вразливості, відкриті цим налаштуванням. У відповіді наведено посилання на статтю про відключення підказок UAC (або я так розумію).

Питання тепер в тому, що робить параметр реєстру EnableLinkedConnections робити або дозволити на 7 системи Windows , при умови, що ми не працюємо в середовищі домену .


Редагувати: одне, що мене конкретно цікавить, чи впливає цей параметр лише на (видимість) мережевих накопичувачів чи чи має це якісь інші наслідки.


З цим пов'язаним іншим питанням про те, що в деяких випадках ELC не працює: serverfault.com/questions/780639/…
UuDdLrLrSs

Відповіді:


18

Не маючи джерела доступу до Windows, важко сказати щось, що не є спекуляцією. Це відмова відмовляється, ось що я зміг поздоровитись, прочитавши це:

UAC створює два маркери безпеки при вході в систему: підвищений маркер, що містить повне членство в групі користувача, і обмежений маркер, який має членство в групі "Адміністратори". Кожен маркер містить окремий локально унікальний ідентифікатор (LUID), який ідентифікує сеанс входу. Вони є двома окремими і чіткими сеансами входу.

Починаючи з Windows 2000 Server SP2, картографічні накопичувачі (які представлені у вигляді символьних посилань у просторі імен диспетчера об'єктів) позначаються LUID маркера, який створив їх (ви можете знайти деякі посилання Microsoft на цю поведінку в цій статті KBase , і ви можете Дізнайтеся більше про механіку функції в цій публікації в блозі ). Суть функції полягає в тому, що зіставлені накопичувачі, створені одним сеансом входу, не доступні для іншого сеансу входу.

Встановлення значення EnableLinkedConnections запускає поведінку служби LanmanWorkstation та підсистеми безпеки LSA (LSASS.EXE), щоб змусити LSA копіювати диски, зіставлені з будь-якого з лексем користувачів у контекст іншого маркера. Це дозволяє дискам, відображеним з підвищеним маркером, бути видимими для обмеженого маркера та зворотного. Немає особливості поведінки цієї функції щодо домену та навколишнього середовища. Якщо ваші користувачі працюють з обліковими записами "Адміністратор" у недоменному середовищі, їх обмежені маркери та підвищені маркери за замовчуванням матимуть незалежні відображення диска.

Що стосується вразливості, то, здається, офіційної документації від Microsoft не вистачає. Я знайшов коментар та відповідь від співробітника Microsoft на запитання про можливі вразливості в розмові про UAC з 2007 року. Враховуючи, що відповідь надходить від Джона Шварца, який на той момент отримав назву "архітектор UAC", я б схильні вважати його відповідь достовірною. Ось суть його відповіді на наступний запит: "... я не знайшов жодної інформації, яка б описала, що насправді відбувається технічно, або якщо це відкриває будь-які лазівки UAC. Чи можете ви прокоментувати це?"

Технічно це відкриває невелику лазівку, оскільки непідвищена шкідливе програмне забезпечення тепер може «заздалегідь» запустити букву диска + відображення в піднесений контекст - це повинно бути мало ризиком, якщо ви не зіткнетеся з чимось, що спеціально підходить до вашого оточення.

Особисто я не можу придумати спосіб «використати» цю лазівку, наскільки «висівання» піднесеного маркера з відображенням диска все одно вимагатиме від користувача дійсного підняття та виконання чогось шкідливого з цього «засіяного» відображення диска. Я не дослідник безпеки, і, можливо, я не підходжу до цього з розумом, щоб придумати потенційні подвиги.

Я ухилився від використання значення EnableLinkedConnections на моїх сайтах клієнтів, продовжуючи тенденцію, яку ми почали, коли Клієнти почали розгортати Windows NT 4.0 - з входом користувачів з обмеженими обліковими записами користувачів. Це працювало для нас роками і продовжує добре працювати в Windows 7.


RE: "Я ухилився, використовуючи значення EnableLinkedConnections ... [від], маючи вхід користувачів з обмеженими обліковими записами користувачів." - чи можуть обмежені облікові записи користувачів запускати програми як адміністратор? Я думав, що вони не можуть. (Якщо вони не можуть тоді я не бачу, як це ухиляється від проблеми - я маю на увазі, якби я поскаржився механіку, що двигун мого автомобіля скрипить, коли я їду на 80 миль / год, я б не прийняв виправлення його сплющуючи мої шини [в той час, як унеможливити їзду на 80 миль / год, це не виправить фактичну проблему].)
BrainSlugs83

1
@ BrainSlugs83 - Ви зафіксуєте коментар у крихітному абзаці довгої відповіді. Відповідь дала ОП те, що вони хотіли (я припускаю, оскільки вони прийняли): опис того, що робить значення реєстру. Я зробив цей простий коментар, щоб сказати ОП про те, що є спосіб уникнути необхідності використовувати EnableLinkedConnections-- просто не дайте користувачам облікових записів адміністраторів, і це потрібно усунути. Це 2013 рік - обмежені облікові записи користувачів були порадою Microsoft майже 10 років. Ваш аналог автомобіля / механіка напружений, ІМО. Це не "проблема" з операційною системою - це функція безпеки.
Еван Андерсон

О, я абсолютно фіксую; також на випадок плутанини: я не стверджую, що ваша відповідь неправильна. Це було дуже добре, я навіть його схвалив! - Але я вирішую дуже реальну проблему, яку я маю - отже, я поставив вам питання, щоб визначити, чи буде це альтернативне рішення працювати для мене чи ні: "чи можуть обмежені облікові записи користувачів запускати програми як адміністратор?" ; Я беру з вашої відповіді, що моє початкове припущення було правильним.
BrainSlugs83

Також я категорично не згоден, що аналогія - це розтягнення. Відняття можливості запускати програми в якості адміністратора було б абсолютно схожим на надання моєму комп’ютеру рівна шина. У мене є проект Microsoft Visual Studio, який не вдається компілювати під час фази підписання коду, якщо Visual Studio не буде запущено з "Запустити як адміністратор". Я намагався вирішити це, але не знайшов рішення ні в Google, ні в блогах, ні в переповнення стека (це не поодинокий випадок). Можливість запускати програми в якості адміністратора є обов'язковою для деяких користувачів (навіть коли використовується лише програмне забезпечення Microsoft).
BrainSlugs83

3
Якщо вам потрібно запустити програми як адміністратор, я б рекомендував мати другий обліковий запис користувача та використовувати його для запуску програми з підвищеною функцією "Запуск як адміністратор". Це єдиний вибір, який я бачу. Якщо програма не працюватиме належним чином із "Запустити як", програма несправна. (Я також стверджую, що будь-яка програма, яка вимагає прав адміністратора, а не мережеве чи комп’ютерне адміністрування, також є несправною - програмне забезпечення MSFT чи ні.) Я вважаю несправне програмне забезпечення одним із найстрашніших аспектів моєї роботи, тому я Ви також можете зрозуміти ваше розчарування. Я б хотів, щоб було хороше рішення.
Еван Андерсон

1

Простіше кажучи, він пов'язує ваші облікові дані супер-користувачів з вашими звичайними обліковими записами. Звичайно, це складніше, але в основному навіть ваш обліковий запис "адміністратора" в Windows 7 не є адміністратором, але для виконання безлічі операцій потрібно виконувати еквівалент SUDO в Linux. Коли ви збираєте карту мережевого диска, вам потрібно це зробити, але мережевий диск стає відображеним лише для суперкористувача, а не для звичайного користувача. Цей параметр реєстру пов'язує облікові дані суперкористувачів із вашими стандартними для відображення відображених накопичувачів. Таким чином, обидва можуть отримати доступ до картографічного диска замість просто суперкористувача.


Чи можете ви уточнити, чи насправді цей параметр впливає лише на мережеві накопичувачі? Або це має якийсь інший ефект? (див. q редагувати)
Мартін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.