題:
Ctrl-Alt-Del進行登錄的基本原理是什麼
Count Zero
2013-04-28 18:10:46 UTC
view on stackexchange narkive permalink

為什麼在某些Windows系統上登錄時需要 Ctrl kbd> + Alt kbd> + Del kbd>(我在其他地方沒有看到它,但是如果我錯了)才能輸入密碼?從可用性的角度來看,這是一個壞主意,因為它增加了獲取訪問權限的額外步驟。

它會以任何方式提高安全性嗎?

與serverfault相關:[如何通過CTRL-ALT-DEL登錄使Windows更安全?](http://serverfault.com/questions/2912/how-does-ctrl-alt-del-to-log-in-使Windows更安全)
僅供參考,在Windows 8中,您無需鍵入Ctrl + Alt + Del。
在DOS時代,IIRC可以使程序在中斷時註冊按鍵組合。因此,當您按下正確的組合時,諸如Sidekick之類的TSR應用程序或其他工具可能會神奇地彈出。當NT 3.5到達時,它使用Ctrl-Alt-Del進入登錄頁面。當時的解釋(不,這是幾年前的事,並且在WWW生效之前,我無法提供鏈接)是Ctrl-Alt-Del是應用程序無法攔截的唯一組合鍵,由DOS保留。 。因此,惡意應用程序無法攔截它並彈出偽造的登錄頁面。
這是[比爾·蓋茨本人必須說的](http://www.youtube.com/watch?v=Ftv2XM_3iyE),聽起來像他是在試圖描述@Adnan回答的問題,也許是非技術性的聽眾,放棄之前:)
實際上,在Windows 8上,您必須單擊並拖動以隱藏陰影並顯示登錄框(這很糟糕,我的台式機不是平板電腦),但這仍然需要用戶在同一物理設備上輸入。
@james: DOS應用程序可以像其他任何應用程序一樣有效地攔截control-alt-del。確實,我記得玩過FlightMare遊戲,試圖弄清楚如何退出DOS,並最終放棄後,按下control-alt-del,並*立即*收到DOS提示。無需重啟-只需簡單的應用程序退出即可。
-1
相關:[為什麼Windows 10沒有默認的安全注意密鑰?](https://security.stackexchange.com/questions/152556/why-does-windows-10-not-have-the-secure-attention-預設鍵)
七 答案:
Adi
2013-04-28 18:22:29 UTC
view on stackexchange narkive permalink

此組合稱為安全注意鍵。 Windows內核通過“有線” 來通知 Winlogon,並且沒有其他人知道此組合。這樣,當您按 Ctrl kbd> + Alt kbd> + Del kbd>時,可以確定† sup>在真實的登錄表單中輸入您的密碼,而不是嘗試盜取密碼的其他偽造過程。例如,看起來像Windows登錄的應用程序。

在Linux中,有一個鬆散定義的等效項,它是 Ctrl kbd> + Alt kbd> + 暫停 kbd>。但是,它並不完全相同。它會殺死所有東西,除了您試圖輸入密碼的地方。到目前為止,運行 X時沒有實際的等效項。

† sup>這意味著對系統本身完整性的信任,仍然可以修補內核並覆蓋此行為以用於其他目的(惡意或完全合法)

很好的解釋
因此,如果Linux也具有安全注意密鑰,那麼XNU為什麼不提供?
附帶說明:當您說它是“有線的”時,實際上是指Ctrl + Alt + Del映射到硬件定義的中斷(在APIC中設置,即主板上的物理芯片)。從歷史上看,該中斷是由BIOS的鍵盤處理程序例程觸發的,但是如今,這種情況並不那麼明確了。中斷被映射到[ISR](http://en.wikipedia.org/wiki/Interrupt_handler),該事件在ring0執行,從而觸發事件的OS內部處理程序。如果未設置中斷的ISR,則*(通常)*會引起ACPI關機後再開機事件,也稱為硬重啟。
這很常見,但我認為這是錯誤的。在過去的10年中,我在醫療行業中使用了Windows設備。幾乎所有人都顯示了CTRL + ALT + DEL的不同行為。西門子衛生部對此置之不理。 Syngo帶來了自己的用戶登錄對話框。等等。 (syngo的有趣之處在於:大多數設備具有相同的管理員密碼。用戶meduser或管理員具有自動登錄名,然後用戶可以使用ctrl + alt + del登錄。)
@Offler這些定制以管理員身份安裝。以普通用戶身份運行的應用程序仍然無法截獲Ctrl + Alt + Del信號。
@r3m0t如果可以將某些東西放在一起作為addministrator,它的安全性如何? ;-)許多人仍在使用XP作為管理員。 UAC警告似乎也只是單擊即可。 ATM上只有一個對話框,看起來像煩人的Java事物,大多數人會盲目地單擊更新...
儘管Winlogon本身俱有可用於呈現不同ui,讀取智能卡,支持2因子鑰匙扣等的自定義掛鉤,但重點仍然是那些掛鉤只能由具有適當特權的用戶安裝。用這些鉤子可以輕鬆完成@Offler所描述的事情,並且肯定是由管理員安裝的,可能是通過定制的系統安裝套件來安裝的。
這就是我的想法,但是我覺得它實際上是行不通的。只是讓偽造過程等到按下ctrl和alt之後再等待;當用戶在查看登錄屏幕時,也/不/也要按del的機率是多少?
@Erhannis用戶在按ctrl-alt-delete時會彈出任務管理器怎麼辦?
@immibis是的,我想這是一個公平的觀點。我並不完全相信它是萬無一失的,但是我對atm沒有任何異議。
Thomas Pornin
2013-04-28 18:23:45 UTC
view on stackexchange narkive permalink

Ctrl-Alt-Del是Windows上的安全注意鍵。操作系統對此組合鍵實施了嚴格的非攔截策略。

您可以製作一個全屏顯示,抓住鍵盤並顯示類似於正常登錄屏幕的應用程序,直到最後一個像素。然後,您登錄計算機,啟動應用程序,然後走開,直到一些毫不懷疑的受害者找到計算機,嘗試登錄,並將其用戶名和密碼提供給您的應用程序。然後,您的應用程序只需模擬死亡的藍屏,或者實際上是使用戶登錄,以完成幻覺。

此攻擊已被SAK擊敗。您的應用程序可以抓住鍵盤並將所有按鍵重定向到自身,而無需管理權限, Ctrl-Alt-Del除外,操作系統不允許將其重定向。按下Ctrl-Alt-Del鍵可確保您獲得的是真正的登錄屏幕,而不是模仿屏幕。

稍等一下。 “操作系統永遠不允許重定向”?那麼,停止ctrl + alt + delete的互聯網亭如何工作?和做同樣事情的惡意軟件?
@D3C4FF僅僅因為您無法截獲消息並不意味著您不能告訴Windows在收到消息時該怎麼做。托馬斯(Thomas)帖子中的重要一句話是“ *無需管理權限*”
@ScottChamberlain啊挺對的。我錯過了那裡的行政權利部分。
這就是為什麼後門鍵盤有意義d的原因:
user10211
2013-04-28 18:17:07 UTC
view on stackexchange narkive permalink

答案實際上可以在我們的姊妹網站ServerFault上找到。 CTRL-ALT-DEL如何使Windows登錄更加安全?

要引用Oskar Duveborn接受的答案,

Windows (NT)內核旨在將此組合鍵的通知保留給單個進程:Winlogon。因此,只要Windows安裝本身能夠正常工作-第三方應用程序都無法響應此組合鍵(如果可以,它將顯示一個偽造的登錄窗口並記錄您的密碼;)

TildalWave
2013-04-30 05:00:27 UTC
view on stackexchange narkive permalink

有人提出了有關Windows 8 SAS支持的其他問題,後來還發布了一個由所有者刪除的單獨問題。由於我已經開始編寫該問題的答案,並且該線程中也提到了Windows 8,因此將其發佈在這裡。如果該刪除的問題再次出現,我將把答案移到那裡。希望它將對那些想知道SAS在Windows 8手機和平板電腦上運行的地方有所幫助。 sub>


根據 Windows 8硬件認證要求按照Microsoft的要求:

對於Windows 8,當按下Windows按鍵和電源按鈕的組合時,將發送SAS信號。

因此,這不是安全注意鍵完全消失(在無鍵盤設備上,其他仍然可以像以前一樣使用 SAS)和兩個標準硬件按鈕組合的情況 Win kbd> + Pwr kbd>添加到仍然存在的 Ctrl kbd> + Alt kbd> + Del kbd>組合中為了更好地支持沒有硬件鍵盤的設備,這也是Windows 8的設計目標。

當然,因為它不僅是沒有物理鍵盤的便攜式設備的操作系統,而且台式機也可以沒有這些 Win kbd> + Pwr kbd>物理按鈕(但它們確實有鍵盤),仍然保留了舊的 SAS方法。如果出於某種原因想要禁用/重新啟用此支持,則此博客(或 this)說明瞭如何通過幾個簡單的步驟來實現


@Iszi本週的問題博客文章討論中提出了另一個相關的問題(或實際上是一個請求的更多內容)在 IT安全元上,“我發現發現Windows & Linux不一定使用相同的安全注意密鑰特別有趣。如果有人可以對此稍加擴展,那就太好了。 。” 。由於我已經是這個問題的晚間聚會了,所以沒人能指責我劫持 rep火車 [ 1] [ 2] sup> ,結果變成了-嗯,就這樣: sub>


我發現這兩種實現之間的主要區別是Linux SAK(是的,與 SAS(安全注意序列)相比,這是Linux中的首字母縮寫在Windows中使用)是Linux SAK從未獲得國家計算機安全中心(NCSC) C2安全等級。 Windows NT具有:

當NT獲得C2安全等級時,NCSC也將NT視為滿足B級安全的兩個要求:受信任路徑功能和受信任設施管理功能。可信路徑功能可防止特洛伊木馬程序在用戶登錄時截獲用戶的名稱和密碼。 NT的“可信路徑”功能以其Ctrl + Alt + Del登錄注意序列的形式存在。此擊鍵序列(安全注意序列(SAS))將導致NT登錄對話框彈出,該對話框將初始化一個有助於NT識別可能的特洛伊木馬的進程。當用戶輸入註意順序時,NT會繞過任何顯示偽造登錄對話框的特洛伊木馬。

NT通過支持獨立的帳戶角色來滿足管理功能,從而滿足了受信任的設施管理要求。例如,NT為管理(用戶),用戶提供了單獨的帳戶 負責備份計算機的帳戶(備份操作員)和標準用戶(用戶)。據報導,微軟正在開發NT的B級版本,但該公司尚未就何時發布該版本發表公開聲明。

但這仍然不能真正解釋為什麼 SAK != SAS 。好,讓我們再深入一點。通過安德魯·莫頓(Andrew Morton)處理的 Linux 2.4.2安全注意密鑰(SAK),我們得到以下信息:

在PC鍵盤上,Linux具有兩種相似但不同的方式提供SAK。一個是 Alt kbd> + SysRq kbd> + K kbd>序列。您不應該使用此順序。僅當內核在 sysrq 支持下編譯時,該選項才可用。

生成SAK的正確方法是使用 loadkeys'定義鍵序列。不論是否將sysrq支持都編譯到內核中,這都將起作用。

當鍵盤處於原始模式時,SAK可以正常工作。這意味著,一旦定義,SAK將殺死正在運行的 X服務器。如果系統處於運行級別5 ,則 X服務器將重新啟動。這就是您想要發生的事情。

您應該使用什麼鍵序列?好吧, Ctrl kbd> + Alt kbd> + Del kbd>用於重新引導計算機。 Ctrl kbd> + Alt kbd> + Backspace kbd>對於 X服務器 magical

它繼續說明如何創建自定義的 SAK處理程序,但主要要點在於,該實現與Windows中 SAS,並且可能無法在內核級別實現它們,具體取決於是否為構建啟用了 sysrq 支持。

這是否解釋了Windows和Windows的區別? Linux對 SAS / SAK的處理?我會說是的。 LWN.net的用戶 tialaramex 對其進行了巧妙的解釋:

Linux對此功能提供了一些基本的底層支持,但它似乎從未因任何後果而提升為最終用戶功能。沒有任何應用程序可以捕獲SAK組合,因為在運行允許用戶空間應用程序按一下按鍵的任何代碼之前,內核已經註意到SAK已被按下並短路到僅能處理這種特殊情況的路徑。

其中:

在Windows中,當您按下SAK時,它會強制調用一個單獨的桌面,您可以將其視為一個單獨的X服務器進程。該桌面由系統用戶“擁有”,大致相當於Unix根,因此任何有權篡改該桌面的人都可以替換整個OS內核或他們想要的任何東西。

它解釋了為什麼選擇了不同的鍵盤順序?我不確定。它顯示了為什麼Linux中不止一個這樣的鍵盤序列,以及它們之間的區別是什麼(請參閱 Andrew Morton的解釋),但是我找不到關於為什麼選擇了一個這樣的鍵盤的明確答案。另一個原因以及為什麼不同的內核版本可能使用不同的 SAK組合。我只能懷疑這歸結為他們受人尊敬的作者的個人偏愛。

是的,關於Linux為什麼不使用CTRL + ALT + DEL的原因,我仍然有些困惑-Windows必須處理相同的“重新啟動按鈕”問題,並且它們做得相當好。不過,這裡還有很多其他細節。
使用“中斷任何正在運行的應用程序”鍵作為登錄提示的提示的想法比Windows早了一段時間。 Vax 11/780使用control-Y作為“硬退出”和“登錄請求”鍵,可能是出於與Windows相同的原因。
bwDraco
2013-04-29 05:39:21 UTC
view on stackexchange narkive permalink

這個想法是一個受信任的Windows進程,稱為Winlogon,只有Winlogon可以讀取 Ctrl kbd> + Alt kbd> + Del kbd>鍵序列。該密鑰序列稱為安全注意序列(SAS)。通過輸入此鍵序列,您基本上可以“證明”是Windows接受您的輸入。通過創建假的用戶名和密碼表格,可以防止惡意程序攔截您的登錄憑據。當然,這假定Winlogon不會受到損害,並且Winlogon可能已被篡改,因此可以繞過此措施。

如果在不要求您輸入登錄提示的情況下,在配置為執行此操作的系統上按 Ctrl kbd> + Alt kbd> + Del kbd>,請勿輸入您的登錄憑據,因為這意味著程序已經劫持了登錄提示。如果您擁有計算機,則將其重新啟動到安全模式並清理其中的所有惡意軟件。如果您的公司是計算機的所有者,請與系統管理員聯繫。 >,適用於沒有物理鍵盤的平板電腦(浮現在表面上)。

PMB
2013-04-29 14:39:29 UTC
view on stackexchange narkive permalink

Ctrl + Alt + Del在Windows登錄之前就已經存在了,最初它只是在系統上進行了軟重置。在其他系統/ OS上也有相同的組合(想到Atari ST)。

如果問題是“為什麼Windows(現在)使用它”,那麼我不知道,也許是因為用戶選擇了它。您將需要問這個決定的人,我相當確定實際按下的鍵是任意的(但是現在我認為這可能是低級的硬件中斷)。

einpoklum
2013-04-28 21:10:51 UTC
view on stackexchange narkive permalink

考慮選擇組合鍵時還會找到另一原因-AFAIK:很難用一隻手同時按下Ctrl,Alt和Del的全部;而且也不太可能同時敲擊鍵盤或敲打鍵盤等同時按下所有三個鍵。 David Bradley選擇此組合觸發軟重啟(維基百科),重要的是不要被錯誤觸發。這引起了諸如顯示用戶登錄提示之類的事情;這樣做的目的是通過明確地決定按“困難”的組合鍵(例如,在登錄之前)來表明您的意圖。 + Alt + Del。

Ctrl + Alt + Delete的全部要點是其他軟件無法利用它。
_“不可能用一隻手同時按下Ctrl,Alt和Del的所有鍵” _這是您真正的做到這一點:http://i.imgur.com/FktS4Iy.jpg
-1
@ScottPack非常原始的鍵盤!阿德南(Adnan's)有更多的街頭信譽; o)由於我不知道Mac鍵盤,我假設您用兩隻手按下Ctrl,Alt,Pause?我喜歡圖片!謝謝你們倆
@FeralOink:謝謝,我也非常喜歡這款鍵盤。美觀大方,不會在桌子上移動,觸感出色,動作流暢。白色也傾向於促進清潔度。但是,它沒有暫停鍵。很好,因為我從未使用過暫停鍵。
這個答案是正確的-儘管它與安全性無關。 Linux計算機的用戶可能會注意到,在TTY中運行ctrl + alt + delete會導致計算機重新引導(儘管此行為可以被覆蓋)。因此,您可能不想意外執行此操作,因此需要兩隻手(altgr不會觸發此行為)
@jackweirdy:當然可以。它最初是由英特爾團隊設計用於調試目的的,從來沒有打算供用戶使用。是的,在最初設計它的特定開發人員使用的特定鍵盤上,是不可能單手敲擊這些鍵的。直到20年後Windows才開始將其用於登錄目的?
@ScottPack我會被責罵並被告知要在聊天室繼續,但是“暫停”讓我想起了“中斷”,這兩個都保留在我的Windows PC鍵盤,甚至筆記本電腦上。我上一次在VM / CMS和MVS / TSO上使用過`break`。 “暫停”與可怕的“休眠”按鈕太相似,有時無法從中喚醒。我現在還沒在鍵盤上看到那個;不過,謝天謝地!
Symbol早期的基於Windows的802.11手持式掃描儀曾經使用Ctrl-Alt-Del。如果您知道它們映射到哪些鍵,則可以直接進入OS :-)
@ScottPack是的;那裡沒有鏈接。我只是說這是對另一個問題的答案:)另外,這個http://www.youtube.com/watch?v=ZiH-iA9EO_Q
我不相信Ctrl-Alt-Del從未打算供用戶使用。
作為患有腦癱的人,我只能用一隻手來打字,我可以向您保證,可以用一隻手打* ctl-alt-del *。
[Wikipedia:Control-Alt-Delete:歷史記錄](http://en.wikipedia.org/wiki/Control-Alt-Delete#History)


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...