前一阵子Google输入法在Windows Vista的安全漏洞闹得沸沸扬扬。从CSDN,或是从我认识的微软中国同事那里,看到许多用户都有这么一个疑问?到底这是Google输入法实现的问题,还是Windows Vista系统本身的漏洞?
我们知道,在Windows系统下,应用程序都需要在相应的用户帐号(user account)下运行。比方说,如果你是以一个普通用户登录,然后执行一个应用程序,该程序的运行权限就是你的用户权限。运行于普通用户权限的应用程序是无法执行某些特殊的系统操作的,例如修改系统的重要配置信息,安装设备驱动程序等等。
按照这个道理,输入法的也应该运行于相应登录用户的权限下。但是,有一个特殊情况,在系统启动后的用户登录界面(logon screen)上,输入法就已经需要显示了。这时候,因为系统还没有任何一个用户登录,所以输入法只能运行在winlogon的帐号下,即系统帐号(system)。
如果此时输入法没有检查目前所在的机器状态(登录界面状态),就允许用户通过它启动IE或是其他什么功能,就会造成安全漏洞。Google输入法在Windows Vista的安全漏洞,就是这个原因。
Input Method Editors (IMEs) enable character-based languages such as Chinese to be entered via a standard 101-key keyboard. When an IME is installed as part of the system setup, it is available by default as part of the logon screen. In such a case, the IME should recognize that it is running in the context of the LocalSystem and not in the context of a user, and restrict certain functions. However, the IME for Simplified Chinese does not correctly recognize the machine state, and exposes inappropriate functions as part of the logon screen. As a result, a malicious user who had access to either a physical keyboard or a terminal server session on an affected machine could gain LocalSystem privilege even without logging onto the machine.
说道这里,是不是说操作系统就完全没有责任了吗?在目前的Windows登录体系结构下,每个IME的实现都需要负责安全检查,已确定某些功能是否可以被用户激活。那么,是不是可以让操作系统来保证,如果机器的状态是登录状态,特定的功能(例如启动Internet explore)就应该被屏蔽?
说到这儿,争论Google输入法的安全漏洞是Google的责任,还是Microsoft的责任,没有太大的意义。安全是一个整体特性,应用程序和操作系统都必须在设计和实现中加以考虑。
操作系统的发展,会提供更多更好的安全支持。例如,对于缓存溢出这种安全漏洞而言,Windows先是实现software DEP功能,或者如果有硬件支持,可以使用hardware DEP的话,就会在很大程度上降低应用程序中的缓存溢出的危害。
但是,不管操作系统如何发展,仍然需要其上运行的应用程序加以配合,才能确保一个端对端(end-to-end)的安全方案。这就是为什么要把安全开发周期(SDL)在业界推广的原因。
分享到:
相关推荐
确保代码没有XSS或CSRF等安全漏洞,保护用户数据的安全。 综上所述,实现网页手写输入法是一个综合性的任务,涵盖了前端开发的多个方面,包括JavaScript编程、HTML5 Canvas的使用、字符识别算法、用户体验设计以及...
同时,输入法定期更新,不断修复已知的安全漏洞,保护用户的设备免受恶意软件的侵害。 在用户体验上,百度输入法v10.13.0.20注重流畅度和响应速度。它采用了优化的内存管理机制,即使在多任务环境下也能保持稳定...
Windows操作系统是广泛应用的计算平台,其安全特性是确保用户数据和系统资源保护的关键组成部分。在“安全协议与标准08-Windows安全.pptx”中,主要探讨了Windows系统的安全架构、用户登录、文件系统、系统文件保护...
【XOOM MZ601 OTA 4.0.4 roo】是一个针对摩托罗拉XOOM(型号MZ601)的系统升级包,主要提供了Android 4.0.4(Ice Cream Sandwich)的操作系统更新。这个OTA(Over-the-Air)升级允许用户直接在原有系统上进行升级,...
Android 25,官方命名为Android Oreo(奥利奥),是Google推出的Android操作系统的第八个主要版本。这个版本在2017年发布,带来了许多重要的更新和改进,旨在提升用户体验、性能优化以及安全性的提升。下面我们将...
因此只要能够稳定运行操作系统,我们应当尽量把CAS参数调低,从而提高内存的运行速度。反过来,如果内存运行不稳定,可以将此参数设大,以提高内存稳定性。 Act to Precharge Delay: 这个项目控制了给DRAM参数使用...
1. **核心业态**:主要涉及智能硬件、软件和服务,如智能传感器、芯片、操作系统等。 2. **关联业态**:围绕核心业态提供支持服务和技术解决方案的企业,如云计算服务商、大数据处理平台等。 3. **衍生业态**:基于...
2. **操作系统版本适配** - 针对不同Android版本,考虑到API调用的变化,确保应用在各种版本下都能正常运行。 3. **硬件配置** - 测试应用在不同CPU配置下的表现,包括X86机型以及不同版本的ARM架构(Cortex-A5、...
Android 4.0(Ice Cream Sandwich)是Google于2011年发布的操作系统版本,它在UI设计、多任务管理、通知系统等方面进行了重大革新。美化资源包则是指针对该版本进行的界面美化,可能包括但不限于主题、壁纸、图标、...
2. 更新操作系统:保持系统最新可以修复安全漏洞,提升性能。 3. 安装防病毒软件:防止恶意软件感染,定期扫描和更新病毒库。 4. 检查硬盘健康状况:使用硬盘检测工具如CrystalDiskInfo检查硬盘状态,预防数据丢失...
Kali Linux 是一款基于 Debian 的开源渗透测试操作系统,专为网络安全专业人士设计,用于安全审计、漏洞检测和网络防御。这份基础配置文档详细介绍了如何对 Kali Linux 进行初步的个性化和功能增强。 **美化篇** 1....