安全注意事项-ChromeDriver-Chrome的网络驱动程序



我想知道是否有人有更多关于使用chromedriver的具体风险的信息,正如这句话所关注的那样。

"如果可能,请使用无法访问敏感本地或网络数据的测试帐户运行ChromeDriver。ChromeDrive永远不应该使用特权帐户运行。">

想知道使用特权账户时的具体风险是什么,如果可以采取任何预防措施来防范这些风险,会发生什么。

提前谢谢!

谷歌Chrome浏览器的工作原理

在STEPHANIE CRAWFORD提到的Chrome浏览器安全文章中,谷歌通过创建安全浏览技术,利用其作为搜索引擎的力量,如果Chrome检测到您访问的网站包含恶意软件或网络钓鱼,该技术将自动警告您。

Chrome通过一种名为Sandboxing的独特安全功能部署了这种安全措施。沙盒意味着,将每个进程分离到独立的空间中,以查看它们各自的功能。Chrome将其工作负载作为一系列多个进程来处理,而不是作为一个大型浏览器进程的一部分。每次打开网页时,Chrome都会启动一个或多个新进程来运行该网页上的脚本。此外,每个Chrome扩展和应用程序都在自己的进程中运行。Chrome通过其多进程体系结构实现了沙箱。沙箱的安全优势在于Chrome能够控制每个进程的访问令牌。进程的这些访问令牌允许进程访问有关系统的重要信息,如系统的文件和注册表项。Chrome从浏览器启动的进程中截取每个访问令牌,并修改该令牌以限制其对该信息的访问。因此,Chrome的沙盒有助于阻止那些试图安装恶意软件、获取个人信息或从硬盘获取数据的网页。沙箱的缺点是,它不能抓住所有东西。沙盒进程可能仍然能够访问不太安全的文件系统。它还可能错过保护由第三方软件管理的注册表项和文件,如非系统原生的游戏或聊天程序。


WebDriver驱动的Chrome

最近,在使用Selenium启动WebDriver控制的Chrome浏览上下文时,我们一直主张使用特定的命令行参数:

  • --no-sandbox:为所有通常使用沙盒的进程类型禁用沙盒

参见:

  • WebDriverException:未知错误:尝试启动Chrome浏览器时,DevToolsActivePort文件不存在
  • 如何配置ChromeDriver通过Selenium在无头模式下启动Chrome浏览器
  • 未知错误:由于未知错误导致页面崩溃,会话被删除:无法从ChromeDriver Selenium崩溃的选项卡中确定加载状态

无沙盒

还有几个与沙盒相关的标志可用,使沙盒进程能够在没有分配作业对象的情况下运行。此标志是允许Chrome在RemoteApp或Citrix中运行所必需的。此标志可以降低沙盒进程的安全性,并允许它们执行某些API调用,如关闭Windows或访问剪贴板。此外,我们也失去了杀死一些进程的机会,直到拥有它们的外部工作完成。

  • --不允许沙箱作业:禁用沙箱作业的使用
  • --允许沙盒调试:允许调试沙盒进程
  • --禁用gpu沙箱:禁用gpu进程沙箱
  • --禁用命名空间沙箱:禁用命名空间沙盒的使用
  • --disable seccomp filter sandbox:禁用seccomp筛选器沙箱(seccomp bpf)(仅限Linux)
  • --disable setuid sandbox:禁用setuid沙盒(仅限Linux)
  • --disable-win32k-lockdown:禁用子进程的win32k进程缓解策略
  • --启用音频服务沙箱:启用音频服务沙箱
  • --gpu沙箱允许sysv shm:允许在gpu沙箱中调用shmat()系统
  • --gpu沙盒故障致命:使gpu沙盒故障变得致命
  • --无沙盒且提升:禁用沙盒并赋予进程提升的权限(仅限Windows)

沙盒

沙盒利用操作系统提供的安全性,允许执行无法对计算机进行持久更改或访问机密信息的代码。沙箱提供的体系结构和确切保证取决于操作系统。

  • windows实现原则:
    • 不要重新发明轮子:用更好的安全模型扩展操作系统内核是很诱人的。不要。让操作系统将其安全性应用于其控制的对象。另一方面,创建具有自定义安全模型的应用程序级对象(抽象)是可以的
    • 最小权限原则:这应该同时应用于沙盒代码和控制沙盒的代码。换句话说,即使用户不能提升为超级用户,沙箱也应该工作
    • 假设沙盒代码是恶意代码:出于威胁建模的目的,一旦执行路径超过main()函数中的几个早期调用,我们就会认为沙盒已被破坏(即运行恶意代码)。在实践中,它可能在第一个外部输入被接受后立即发生,或者就在进入主循环之前
    • 灵活:非恶意代码不会试图访问它无法获得的资源。在这种情况下,沙箱应该施加几乎为零的性能影响。在特殊情况下,当敏感资源需要以可控的方式接触一次时,可以对性能进行处罚。如果操作系统安全性使用得当,通常会出现这种情况
    • 仿真不是安全性:仿真和虚拟机解决方案本身并不提供安全性。沙箱不应该依赖代码模拟、代码翻译或修补来提供安全性
  • linux实现
  • macos实现

相关内容

  • 没有找到相关文章

最新更新