Cài đặt đăng ký EnableLinkedConnections làm gì ở cấp độ kỹ thuật?


15

Lưu ý: vấn đề cơ bản đối với tôi là có thể truy cập vào chia sẻ mạng mà tôi (người dùng quản trị viên Win 7) đã thiết lập khi tôi chạy chương trình nâng cao. Thông thường chương trình nâng cao sẽ không có quyền truy cập vào các chia sẻ mạng không tăng của tôi.

Theo Microsoft , cài đặt đăng ký EnableLinkedConnections sẽ cho phép các quy trình nâng cao truy cập vào chia sẻ mạng của quy trình thám hiểm hiện tại (không nâng cao).

Giải thích này có ý nghĩa:

[...] Khi bạn là thành viên của nhóm Quản trị viên và bạn đăng nhập, tài khoản của bạn được UAC giao cho người dùng không có đặc quyền. Ngữ cảnh đang chạy này hoàn toàn tách biệt với bối cảnh bạn nhận được khi nhấp chuột phải vào Dấu nhắc lệnh và khởi chạy với tư cách quản trị viên. Như bạn có thể đã nhận thấy, các ổ đĩa mạng được kết nối trong một ngữ cảnh không thể nhìn thấy trong bối cảnh khác. [...]

Chủ đề diễn đàn này hỏi về các lỗ hổng được mở bởi cài đặt này. Câu trả lời đưa ra liên kết đến một bài viết về việc vô hiệu hóa lời nhắc UAC (hoặc vì vậy tôi hiểu).

Câu hỏi bây giờ là, cài đặt đăng ký EnableLinkedConnections làm gì hoặc cho phép trên hệ thống Windows 7, với điều kiện là chúng tôi không chạy trong môi trường miền .


Chỉnh sửa: Một điều mà tôi đặc biệt quan tâm là liệu cài đặt này chỉ ảnh hưởng đến (khả năng hiển thị) của các ổ đĩa mạng hay liệu nó có bất kỳ tác động nào khác không.


Liên quan là câu hỏi khác về ELC không hoạt động trong một số trường hợp: serverfault.com/questions/780639/iêu
DaveInCaz

Câu trả lời:


17

Không có quyền truy cập vào Windows, thật khó để nói bất cứ điều gì không phải là đầu cơ. Từ chối trách nhiệm đó, đây là những gì tôi có thể lượm lặt được bằng cách đọc về điều này:

UAC tạo hai mã thông báo bảo mật khi đăng nhập: mã thông báo nâng cao chứa tư cách thành viên nhóm đầy đủ của người dùng và mã thông báo bị hạn chế có tư cách thành viên của nhóm "Quản trị viên" bị loại bỏ. Mỗi mã thông báo chứa một ID duy nhất cục bộ (LUID) xác định phiên đăng nhập. Chúng là hai phiên đăng nhập riêng biệt và khác biệt.

Bắt đầu từ Windows 2000 Server SP2, các ổ đĩa được ánh xạ (được biểu thị dưới dạng liên kết tượng trưng trong không gian tên của trình quản lý đối tượng) được gắn thẻ LUID của mã thông báo đã tạo ra chúng (bạn có thể tìm thấy một số tài liệu tham khảo của Microsoft về hành vi này trong bài viết KBase này và bạn có thể tìm hiểu thêm về các cơ chế của tính năng trong bài đăng blog này ). Điểm chính của tính năng là các ổ đĩa được ánh xạ được tạo bởi một phiên đăng nhập không thể truy cập được vào phiên đăng nhập khác.

Đặt giá trị EnableLinkedConnections sẽ kích hoạt hành vi trong dịch vụ LanmanWorkstation và hệ thống con bảo mật LSA (LSASS.EXE) để khiến LSA sao chép các ổ đĩa được ánh xạ từ một trong số các mã thông báo của người dùng vào ngữ cảnh của mã thông báo khác. Điều này cho phép các ổ đĩa được ánh xạ với mã thông báo nâng cao hiển thị với mã thông báo bị hạn chế và đảo ngược. Không có bất kỳ đặc thù nào về hành vi của tính năng này đối với một miền so với môi trường không thuộc miền. Nếu người dùng của bạn đang chạy với tài khoản "Quản trị viên" trong môi trường không thuộc miền, mã thông báo bị hạn chế và mã thông báo nâng cao, theo mặc định, sẽ có ánh xạ ổ đĩa độc lập.

Về mặt lỗ hổng, tài liệu chính thức từ Microsoft dường như còn thiếu. Tôi đã tìm thấy một nhận xétphản hồi từ một nhân viên của Microsoft hỏi về các lỗ hổng tiềm ẩn trong một cuộc trò chuyện về UAC từ năm 2007. Cho rằng câu trả lời đến từ Jon Schwartz, lúc đó, có tiêu đề là "Kiến trúc sư UAC", tôi có xu hướng xem xét câu trả lời của mình có uy tín. Đây là ý chính của câu trả lời của anh ấy cho câu hỏi sau: "... Tôi không tìm thấy bất kỳ thông tin nào để mô tả những gì đang thực sự xảy ra về mặt kỹ thuật hoặc nếu điều này mở ra bất kỳ sơ hở nào của UAC. Bạn có thể bình luận không?"

Về mặt kỹ thuật, nó mở ra một lỗ hổng nhỏ vì phần mềm độc hại không tăng cao hiện có thể "nhập trước" một ký tự ổ đĩa + ánh xạ vào bối cảnh nâng cao - điều đó sẽ có rủi ro thấp trừ khi bạn kết thúc với thứ gì đó phù hợp với môi trường của bạn.

Cá nhân, tôi không thể nghĩ ra cách "khai thác" lỗ hổng này, trong trường hợp là "gieo" mã thông báo nâng cao bằng ánh xạ ổ đĩa vẫn sẽ yêu cầu người dùng thực sự nâng cao và thực thi thứ gì đó độc hại từ ánh xạ ổ đĩa "đã gieo". Tuy nhiên, tôi không phải là một nhà nghiên cứu bảo mật và tôi có thể không tiếp cận điều này với một tư duy tốt để đưa ra các khai thác tiềm năng.

Tôi đã tránh sử dụng giá trị EnableLinkedConnections trong các trang web Khách hàng của mình bằng cách tiếp tục xu hướng mà chúng tôi đã bắt đầu khi Khách hàng bắt đầu triển khai Windows NT 4.0 - có người dùng đăng nhập với tài khoản người dùng bị hạn chế. Điều đó đã làm việc tốt cho chúng tôi trong nhiều năm và tiếp tục hoạt động tốt trong Windows 7.


RE: "Tôi đã tránh sử dụng giá trị EnableLinkedConnections ... [bằng cách] người dùng đăng nhập bằng tài khoản người dùng bị giới hạn." - tài khoản người dùng hạn chế có thể chạy ứng dụng với tư cách quản trị viên không? Tôi nghĩ họ không thể. (Nếu họ không thể thì tôi không thấy vấn đề này tránh được vấn đề như thế nào - ý tôi là, nếu tôi phàn nàn với thợ máy rằng động cơ xe của tôi ré lên khi tôi lái xe 80 dặm một giờ, tôi sẽ không chấp nhận sửa chữa anh ta làm phẳng lốp xe của tôi [trong khi nó không thể lái 80 dặm / giờ, nó sẽ không khắc phục được vấn đề thực tế].)
BrainSlugs83

1
@ BrainSlugs83 - Bạn đang sửa một bình luận trong một đoạn nhỏ của một câu trả lời dài. Câu trả lời đã cho OP những gì họ muốn (tôi giả sử, vì họ đã chấp nhận): một mô tả về giá trị đăng ký làm gì. Tôi đã đưa ra nhận xét trái chiều đó để nói với OP rằng có một cách để tránh cần sử dụng EnableLinkedConnections - chỉ cần không cung cấp cho người dùng tài khoản Quản trị viên và nhu cầu được giảm bớt. Đó là năm 2013-- tài khoản người dùng hạn chế đã là lời khuyên của Microsoft trong gần 10 năm. Tương tự xe hơi / cơ khí của bạn bị căng thẳng, IMO. Đây không phải là "vấn đề" với hệ điều hành - đây là một tính năng bảo mật.
Evan Anderson

Ồ, tôi hoàn toàn sửa chữa; cũng trong trường hợp có bất kỳ sự nhầm lẫn nào: tôi không cho rằng câu trả lời của bạn là không chính xác. Nó rất tốt, tôi thậm chí còn ủng hộ nó! - Nhưng tôi đang khắc phục một vấn đề rất thực tế mà tôi đang gặp phải - do đó, câu hỏi tôi đặt ra cho bạn để xác định xem giải pháp thay thế này có hiệu quả với tôi hay không: "có thể giới hạn tài khoản người dùng chạy ứng dụng với tư cách quản trị viên không?" ; Tôi lấy nó từ trả lời của bạn rằng giả định ban đầu của tôi là chính xác.
BrainSlugs83

Ngoài ra, tôi hoàn toàn không đồng ý rằng sự tương tự là một sự kéo dài. Bỏ đi khả năng chạy các ứng dụng với tư cách quản trị viên sẽ hoàn toàn giống với việc tạo cho máy tính của tôi một chiếc lốp xe phẳng. Tôi có một dự án Microsoft Visual Studio không thể biên dịch trong giai đoạn ký mã nếu Visual Studio không được khởi chạy với "Run as Administrator". Tôi đã cố gắng khắc phục sự cố này, nhưng không tìm thấy giải pháp nào, trên google, blog hoặc chồng tràn (đây không phải là sự cố đơn độc). Khả năng chạy ứng dụng với tư cách quản trị viên là bắt buộc đối với một số người dùng (ngay cả khi chỉ sử dụng phần mềm của Microsoft).
BrainSlugs83

2
Nếu bạn cần chạy ứng dụng với tư cách Quản trị viên, tôi khuyên bạn nên có tài khoản người dùng thứ hai và sử dụng nó để chạy ứng dụng nâng cao w / "Chạy với tư cách Quản trị viên". Đó là sự lựa chọn duy nhất tôi thấy. Nếu ứng dụng không hoạt động đúng với "Run As" thì ứng dụng bị lỗi. (Tôi cũng cho rằng bất kỳ ứng dụng nào yêu cầu quyền Quản trị viên và không phải là ứng dụng quản trị mạng hoặc máy tính cũng bị lỗi-- Phần mềm MSFT hay không.) Tôi thấy phần mềm bị lỗi là một trong những khía cạnh khó chịu nhất trong công việc của tôi, vì vậy tôi có thể hiểu sự thất vọng của bạn, quá. Tôi ước có một giải pháp tốt.
Evan Anderson

1

Nói một cách đơn giản, nó liên kết thông tin siêu người dùng của bạn với thông tin đăng nhập bình thường của bạn. Tất nhiên là phức tạp hơn, nhưng về cơ bản, ngay cả tài khoản "quản trị viên" của bạn trên windows 7 không phải là quản trị viên, nhưng cần phải thực hiện tương đương SUDO trên linux để thực hiện vô số thao tác. Khi bạn ánh xạ ổ đĩa mạng, bạn cần thực hiện việc này, nhưng ổ đĩa mạng chỉ được ánh xạ cho siêu người dùng chứ không phải người dùng bình thường. Cài đặt đăng ký này liên kết thông tin đăng nhập siêu người dùng với thông tin chuẩn của bạn cho mục đích của các ổ đĩa được ánh xạ. Bằng cách này, cả hai có thể truy cập vào ổ đĩa được ánh xạ thay vì chỉ siêu người dùng.


Bạn có thể làm rõ nếu cài đặt này trong thực tế chỉ ảnh hưởng đến các ổ đĩa mạng? Hoặc có bất kỳ tác dụng khác? (xem phần chỉnh sửa q)
Martin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.