为什么在某些Windows系统上登录时需要Ctrl + Alt + Del(我在其他地方没有看到过,但是如果我错了,就与我矛盾)才能输入密码?从可用性的角度来看,这是个坏主意,因为它增加了获取访问权限的额外步骤。

它是否以任何方式提高了安全性? >

评论

仅供参考,在Windows 8中,您不必键入Ctrl + Alt + Del。开始键入时,登录表单就在那里。
与serverfault相关:CTRL-ALT-DEL如何登录使Windows更安全?

在DOS时代,IIRC可以使程序在中断时注册按键组合。因此,当您按下正确的组合时,诸如Sidekick之类的TSR应用程序或其他工具便会神奇地弹出。当NT 3.5到达时,它使用Ctrl-Alt-Del进入登录页面。当时的解释(不,这是几年前的事,并且在WWW生效之前,我无法提供链接)是Ctrl-Alt-Del是应用程序无法拦截的唯一组合键,它由DOS保留。 。因此,恶意应用程序无法拦截它并弹出伪造的登录页面。

这就是比尔·盖茨本人不得不说的,这听起来像是他在放弃之前:@Adnan向非技术性观众描述了@Adnan的回答:)

@edthethird下次在登录屏幕上尝试按键盘上的任意键吗?

#1 楼

此组合称为安全注意密钥。 Windows内核被“连线”以通知Winlogon,并且没有其他人知道此组合。这样,当您按Ctrl + Alt + Del组合键时,可以确定†您在真实的登录表单中键入密码,而不是其他尝试窃取密码的伪造过程。例如,一个看起来与Windows登录完全类似的应用程序。

在Linux中,存在一个松散定义的等效项,即Ctrl + Alt + Pause。但是,它并不完全相同。它会杀死所有东西,除了您试图输入密码的地方。到目前为止,在运行X时没有实际的等效方法。

†这意味着对系统本身的完整性有信任,仍然可以修补内核并为其他目的覆盖此行为(恶意或完全合法)

评论


很好的解释

– emtunc
13年4月28日在14:11

附带说明:当您说它是“有线的”时,实际上是指Ctrl + Alt + Del映射到硬件定义的中断(在APIC中设置,即主板上的物理芯片)。从历史上看,该中断是由BIOS的键盘处理程序例程触发的,但是如今,这种情况并不那么明确。中断映射到在ring0执行的ISR,该ISR触发事件的操作系统内部处理程序。如果未设置中断的ISR,通常会导致ACPI关机后再开机事件,也称为硬重启。

–多项式
13年4月29日在9:25

@Offler这些自定义项已作为管理员安装。以普通用户身份运行的应用程序仍然无法截获Ctrl + Alt + Del信号。

–r3m0t
13年4月29日在13:37

@ r3m0t如果可以将某些东西组合成addministrator,它的安全性如何? ;-)许多人仍在使用XP作为管理员。 UAC警告似乎也只是单击即可。 ATM上只有一个对话框,看起来像烦人的Java事物,大多数人会盲目地单击更新...

–优惠
13年4月29日在13:54

尽管Winlogon本身具有可用于呈现不同ui,读取智能卡,支持2因子钥匙扣等的自定义挂钩,但重点仍然是那些挂钩只能由具有适当特权的用户安装。 @Offler描述的东西都可以通过这些钩子轻松完成,并且肯定是由管理员安装的,可能是通过定制的系统安装工具包来安装的。

–RBerteig
13年4月29日在23:01

#2 楼

Ctrl-Alt-Del是Windows上的安全注意密钥。操作系统对此组合键强制采用强力的非拦截策略。到最后一个像素。然后,您登录计算机,启动应用程序,然后走开,直到一些毫不怀疑的受害者找到计算机,尝试登录,并将其用户名和密码提供给您的应用程序。然后,您的应用程序只需模拟死亡的蓝屏,或者实际上是使用户登录,以完成这种错觉。您的应用程序可以抓住键盘并将所有按键重定向到其自身,而不需要管理权限,但Ctrl-Alt-Del除外,而OS不允许对其进行重定向。按Ctrl-Alt-Del键可确保您获得的是真正的登录屏幕,而不是模仿屏幕。

评论


稍等一下。 “操作系统永远不允许重定向”?那么,停止ctrl + alt + delete的互联网信息亭如何工作?和做同样事情的恶意软件?

– NULLZ
13年4月29日在1:32

@ D3C4FF仅仅因为您不能截获消息并不意味着您不能告诉Windows在收到消息时该怎么做。托马斯(Thomas)帖子中的重要一句话是“无需管理权”

–斯科特·张伯伦
13年4月29日在2:05

@ScottChamberlain啊,很正确。我错过了那里的行政权利部分。

– NULLZ
13年4月29日在2:11

这就是为什么后门键盘有意义d的原因:

– JSmyth
15年2月24日在18:26

#3 楼

答案实际上可以在我们的姊妹站点ServerFault上找到。 CTRL-ALT-DEL如何使Windows登录更加安全?

引用Oskar Duveborn接受的答案,


Windows(NT)内核旨在将此组合键的通知保留给单个过程:Winlogon。因此,只要Windows安装本身能够正常工作-第三方应用程序都无法响应此组合键(如果可以,则它可能会显示伪造的登录窗口并记录您的密码;) >

#4 楼

有关Windows 8 SAS支持的问题还提出了一些其他问题,后来又发布了一个由所有者单独删除的问题。由于我已经开始编写该问题的答案,并且该线程中也提到了Windows 8,因此将其发布在这里。如果该删除的问题再次出现,我将把答案移到那里。希望它将对那些想知道SAS在Windows 8手机和平板电脑上运行的地方有帮助。


根据Microsoft强制执行的Windows 8硬件认证要求: >
对于Windows 8,当按下
Windows键按钮和电源按钮的组合键时,会发送SAS信号。


所以这不是Secure Attention Key完全消失的情况(在无键盘设备上,其他人仍然可以像以前一样使用SAS),并且仅将两个标准硬件按钮Win + Pwr的组合添加到仍然存在的Ctrl + Alt + Del组合中,以更好地支持设备而没有

当然,因为它不仅是没有物理键盘的便携式设备的操作系统,而且台式机也没有这些硬件。 Win + Pwr物理按钮(但是它们确实有键盘),仍然保留了旧的SAS方法。如果出于某种原因想要禁用/重新启用此支持,则此博客(或本博客)将说明您可以通过几个简单的步骤来实现的方法。@Iszi在“本周的问题请求”博客中有关IT安全元的讨论中提出了另一个相关的问题(或实际上是一个更多的请求):“我发现发现Windows和Linux不一定使用相同的安全注意密钥。如果有人可以对此稍加扩展,那就太好了。”由于我已经是这个问题的晚间聚会了,没有人能真正指责我劫持了rep train [1] [2],结果真是-恩,这就是:<我可以找到的两种实现之间的主要区别是,Linux SAK(是的,与Windows中使用的SAS(安全注意序列)相反,这是Linux中使用的首字母缩写) )是Linux SAK从未获得美国国家计算机安全中心(NCSC)的C2安全等级。 Windows NT具有:


当NT获得C2安全等级时,NCSC也将NT视为满足B级安全性的两个要求:Trusted Path
功能和受信任的设施管理功能。受信任的
路径功能可防止特洛伊木马程序在用户登录时拦截其用户名和密码。 NT的Trusted Path
功能以其Ctrl + Alt + Del登录注意
序列的形式存在。此击键序列(安全注意序列
(SAS))会导致NT登录对话框弹出,从而初始化一个帮助NT识别可能的特洛伊木马的进程。 NT绕过
当用户输入注意顺序时出现伪造登录对话框的任何特洛伊木马。

NT通过支持
单独的帐户来满足受信任的设施管理要求。行政职能的角色。例如,NT
提供了单独的管理帐户(管理员),负责备份计算机的用户
帐户(备份操作员)和
标准用户(Users)。据报道,微软正在开发B级的NT版本,但该公司尚未发布有关可能发布该版本的公开声明。


但是,这仍然不能真正解释为什么SAK!=。好吧,让我们再深入一点。通过Andrew Morton处理的Linux 2.4.2安全注意密钥(SAK),我们可以得到以下信息:


从PC键盘上,Linux有两种相似但不同的方式提供
SAK。一种是Alt + SysRq + K序列。您不应该使用该序列。仅当内核使用SAS支持编译时才可用。

生成SAK的正确方法是使用
sysrq sysrq支持编译来定义
进入内核。

当键盘处于原始模式时,SAK可以正常工作。这意味着
一旦定义,SAK将终止正在运行的loadkeys'. This will work whether or not。如果系统处于
运行级别5,则X server将重新启动。这就是您要发生的事情。

应该使用什么键序列?好吧,Ctrl + Alt + Del用于重新启动计算机。 Ctrl + Alt + Backspace是X server的神奇之处。


它继续说明如何创建自定义SAK处理程序,但主要要点是实现与所发现的有很大不同在Windows中作为SAS,并且可能无法在内核级别实施,具体取决于是否为构建启用了X server支持。萨克?我会说是的。 LWN.net的用户tialaramex对其进行了巧妙的解释:


Linux对此功能提供了一些基本的底层支持,但是
它似乎从未提升到该功能的最终用户功能中。任何
后果。没有应用程序可以捕获SAK组合,因为很长
在运行任何允许用户空间应用程序按
按键的代码之前,内核已经注意到SAK已被按下,并且
短路到只处理这种特殊情况的路径。


位置:


在Windows中,当您按下SAK时,它会强制调用一个单独的
桌面,您可以将其视为类似于一个单独的X
服务器进程。此桌面由系统用户“拥有”,大致
相当于Unix root,因此任何有权篡改该桌面的人
都可以替换整个操作系统内核或他们想要的任何内容。


是否解释了为什么选择了不同的键盘顺序?我不确定。它显示了为什么Linux中不止一个这样的键盘序列以及它们之间的区别是什么(请参阅安德鲁·莫顿的解释),但是我找不到明确的答案来说明为什么选择了一个而不是另一个,以及为什么构建了不同的内核可能使用不同的SAK组合。我只能怀疑这归结为他们尊敬的作者的个人偏爱。

评论


是的,关于Linux为什么不使用CTRL + ALT + DEL的原因,我仍然有些困惑-Windows必须处理相同的“重新启动按钮”问题,并且它们做得相当好。不过,这里还有很多其他细节。

– Iszi
13年4月30日在20:46

使用“中断任何正在运行的应用程序”键作为登录提示的提示的想法比Windows早了一段时间。 Vax 11/780使用control-Y作为“硬退出”和“登录请求”键,可能是出于与Windows相同的原因。

–超级猫
14年8月22日在21:44

#5 楼

这个想法是一个受信任的Windows进程,称为Winlogon,并且只有Winlogon,可以读取Ctrl + Alt + Del键序列。该密钥序列称为安全注意序列(SAS)。通过输入此键序列,您基本上可以“证明”是Windows接受您的输入。通过创建假的用户名和密码表格,可以防止恶意程序拦截您的登录凭据。当然,这假定Winlogon不会受到损害,并且Winlogon可能会被篡改,从而可以绕开此措施。

如果出现不需要您的登录提示的情况要在配置为按Ctrl + Alt + Del的系统上按Ctrl + Alt + Del,请不要输入您的登录凭据,因为这意味着程序已劫持了登录提示。如果您拥有计算机,则将其重新启动到安全模式并清理其中的所有恶意软件。如果您的公司是计算机的所有者,请与系统管理员联系。

Windows 8的情况也是如此,只是对于没有物理键盘的平板电脑还有一个额外的SAS Win + Power(表面浮现在脑海中。)

#6 楼

Ctrl + Alt + Del在Windows登录之前就已经存在了,最初它只是在系统上进行了软重置。在其他系统/ OS上也有相同的组合(想到Atari ST)。因此,很难(就像人们所说的那样)。您需要询问做出此决定的人员,我很确定实际按下的键是任意的(但是现在我认为这可能是低级的硬件中断)。

#7 楼

原因的另一部分-AFAIK-在考虑选择组合键时会发现:很难用一只手同时按下Ctrl,Alt和Del的全部;而且也不大可能同时通过敲击键盘或敲打键盘等方式同时按下所有三个键。由于David Bradley选择此组合来触发软重启(维基百科),重要的是不要被错误触发。这引起了诸如显示用户登录提示之类的事情;这个想法是通过明确地决定按下“困难”的组合键(例如,在登录之前)来表明您的意图。 Ctrl + Alt + Del。

评论


Ctrl + Alt + Delete的要点是其他软件无法利用它。

–右键
13年4月28日在16:16

“不可能用一只手同时按下所有Ctrl,Alt和Del键”这是您真正要做的:i.imgur.com/FktS4Iy.jpg

–阿迪
13年4月28日在16:33

@Adnan:你用了三个手指?这是我一只手两只手指在做的照片! i.imgur.com/mcxnanl.jpg

–斯科特包
13年4月28日在17:49

这个答案是正确的-尽管它与安全性无关。 Linux计算机的用户可能会注意到,在TTY中运行ctrl + alt + delete会使计算机重新引导(尽管此行为可以被覆盖)。因此,您可能不想意外执行此操作,因此需要两只手(altgr不会触发此行为)

– jackweirdy
13年4月28日在18:04

@jackweirdy:好的。最初,它是由英特尔团队用于调试目的而设计的,从未被用户使用。是的,在最初设计它的特定开发人员使用的特定键盘上,是不可能单手敲击这些键的。直到20年后Windows才开始将其用于登录目的?

–斯科特包
13年4月28日在18:16