本文参考于 ICTCS 2014 中的论文-Vulnerabilities Analysis and Solution of VxWorks,侵删

摘要

文章简要介绍了VxWorks,分析了操作系统安全的重要性,讨论了 VxWorks 当前暴露的漏洞,并且描述了这些漏洞的风险、攻击路径和受其影响的系统,并在此基础上给出了解决方案。

关键字—— VxWorks、漏洞、解决方案

一 背景

A 关于 VxWorks 的总结

随着计算机、Internet 和 EPC 系统网络的快速发展,计算机设备越来越普及,用户可以随时访问和控制信息。嵌入式系统是一种以计算机技术为基础、以应用为中心的特殊计算机系统。它具有灵活的软硬件接口,对功能、可靠性、成本、尺寸和功耗等方面的要求也比较高。在嵌入式系统的应用中,计算机与其他设备相结合,实现对其他设备状态的实时监控操作,这样可以大大的提高生产效率。与传统的计算机系统相比,嵌入式系统资源相对有限,任务相对简单。此外,还存在一定的时间限制和准确性要求,从而保证大多数嵌入式系统中的应用程序能够在规定的时间内正确实现。在这种情况下,嵌入式系统通常被称为嵌入式实时操作系统(RTOS)。
VxWorks是一款嵌入式操作系统,具有良好的实时性、灵活的开发界面和人性化的开发环境,广泛应用于通信、军事、航空、航天等技术要求高、实时性要求高的领域等等。Vxworks 采用抢占式优先级调度和循环调度的多任务机制,提供可靠的实时性能和相对灵活的用户开发能力。在硬实时嵌入式应用的高端领域,美国风河的VxWorks占据绝对主导地位。VxWorks 用于美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹,甚至用于 1997 年 4 月登陆火星表面的探测器。

VxWorks 的体系结构

VxWorks是一个强大而复杂的操作系统,内核包括进程管理、设备管理、文件管理、网络协议、应用程序等几部分。VxWorks 占用极少的存储空间和具有高度灵活的接口,可以保证系统更高的效率。VxWorks 实时操作系统由将近500个独立、简短、精炼的目标模块组成,用户可以根据需要来选择合适的模块对系统进行调整配置。1984年风河推出了它的第一个版本——VxWorks 1.0.1,1999年推出了新版本的VxWorks 5.4。从 1995 年开始,风河推出了实时操作系统开发环境——Tornado。2009 年,风河推出了显着增强的 VxWorks6.7,使设备制造商能够充分利用最新的多核处理器来解决其业务中的关键问题。

B VxWorks 系统安全

VxWorks 有一个标准的开发套件,叫做 workbench,是一个 JAVA Eclipse 平台。此IDE是用来进行代码编译、分析、编辑和调试的开发套件。首先,VxWorks 可以优化为作为一个封闭系统运行,在内核和用户模式下运行的进程之间具有保护,并具有有效的错误管理。其次,VxWorks 操作系统可以优化为作为网络平台运行,具有与网络操作系统类似的功能,例如防火墙和安全协议。然后,VxWorks 可以实现为安全关键系统或者硬实时系统以满足最高级别的安全和安保要求。
VxWorks (核心最小可以到8KB)具有良好的可移植性,可以在没有MMU(内存管理单元)的系统中使用。在 VxWorks 中,保护域的概念被新引入。保护域的功能是将软件组件与其他组件分开。保护域继承单独的 MMU 和私有地址空间。MMU 的功能是检查保护域中的进程的地址。对于设计工程师来说,VxWorks 是非常灵活的。他们可以在运行时定义执行边界,以指定软件组件中不同对象的使用。这种状态对于开发人员来说足够简单,他们可以根据需要在内核域中创建QEP(对象入口点)。通常来说,从安全的角度来说,这种设计其实并不可靠。
由于是支持不同应用程序的基础软件,操作系统的安全性非常关键。在操作系统中,正在运行的应用程序可能会受到漏洞的严重影响。如果操作系统级别的漏洞危害系统,例如在内核级别,系统可以完全被攻击者接管,可以被安装恶意程序或后门。然后,OS 就可以被用于不好的目的,例如从计算机中窃取敏感数据或者执行远程命令。攻击者还可以利用系统访问权限,导致应用程序恶意执行。嵌入式系统发展的一个趋势是嵌入式设备和网络的结合,一旦嵌入式系统安全出现问题,其后果不仅会严重干扰人们的日常生活,侵犯公民隐私,还会造成巨大的经济损失,甚至威胁国家安全。
与其他 RTOS 一样,VxWorks 系统也有很多系统漏洞,会导致随即重启、死机、或者改变随机城市等。因此对VxWorks 系统安全漏洞的分析可以更好的了解操作系统的健壮性(鲁棒性)。它还可以帮助我们了解持久漏洞的严重影响。

二 VxWorks 系统漏洞分析及解决方案

VxWorks 系统漏可以被分为四类,分别是输入验证漏洞、权限和访问控制漏洞、信任管理漏洞、加密漏洞。

A 输入验证漏洞

输入验证的功能是测试由其他东西提供的任何输入的正确性。应用程序总是需要用户的某些输入来实现某些目的。用户输入的来源是多种多样的,终端用户、应用程序、恶意用户、或任何数量的其他来源。当攻击者准备攻击您的软件时,他不会宣布他是一个攻击者。这就意味着我们应该检查和验证所有输入,因为您无法确切知道输入的来源。所有的应用程序和软件都应该检查其他人输入的输入,以确保它是否可信,但是这并不是唯一一次应该检查输入的时间。尽管终端用户不太可能向 WEB 服务器发送输入特定的 SOAP 请求,但恶意用户可能。也许您正在从数据库中获取输入。这些输入数据来自哪里?是你的应用程序,还是另一个应用程序,还是你永远不会想到的另一个应用程序存储数据的共享数据库表?
我们应该测试所有输入以防止未来潜在的在软件应用程序中的安全漏洞和漏洞。不正确的输入验证导致的问题可能会导致各种问题和漏洞。下面列出了一些仅通过验证输入即可解决的漏洞。

1)SSH服务器拒绝服务漏洞1

说明:在 Wind River VxWorks 6.5 到 6.9 中,IPSSH(SSH 服务器)存在输入验证漏洞。IPSSH(SSH服务)是可靠的,特别是为远程登录会话和其他网络服务提供安全协议。SSH协议可以有效防止远程管理过程中的信息泄露问题。该漏洞可能导致SSH服务器拒绝服务。
漏洞的主要危害影响四个方面:

  • 远程攻击者可以利用该漏洞通过精心设计的身份验证请求导致拒绝服务(守护程序中断)。
  • 经过身份验证的远程用户可以利用该漏洞通过精心制作的数据包导致拒绝服务(守护程序中断)。
  • 经过身份验证的远程用户可以利用该漏洞通过精心设计的 pty 请求导致拒绝服务(守护程序中断)。
  • 远程攻击者可以利用该漏洞执行任意代码或通过精心制作的公钥身份验证请求导致拒绝服务(守护程序挂起)。

解决方案:开发者已经针对该漏洞发布了相关补丁,您可以下载补丁来解决这些漏洞。

2)WebCLI 组件拒绝服务漏洞

说明:Wind River VxWorks 6.5 至 6.9 中的 WebCLI 组件存在输入验证漏洞。这些漏洞可以使 WebCLI 组件拒绝服务。
漏洞主要危害:这些漏洞允许远程经过身份验证的用户通过精心设计的命令字符串导致拒绝服务(CLI 会话崩溃)。
解决方案:开发者已经针对该漏洞发布了相关补丁,您可以下载补丁来解决这些漏洞。

3)网络服务器远程拒绝服务漏洞

说明:Wind River VxWorks 5.5 至 6.9 中的 Web 服务器存在输入验证漏洞。 这些漏洞可以使 Web 服务器拒绝服务。
漏洞的主要危害: 远程攻击者可以通过精心制作的URI导致拒绝服务 (守护程序崩溃)。
解决方案:开发者已经针对该漏洞发布了相关补丁,您可以下载补丁来解决这些漏洞。

B 权限和访问控制漏洞

权限和访问控制是一个安全过程,它在预定义的标准内控制特定资源的使用,并且是 AAA(授权、身份验证、记帐)安全模型的一部分。所有现代系统都使用某些权限和访问控制模型来管理其安全性。权限和访问控制模型可以分为三个主要类别:强制权限和访问控制 (MAC),自主权限和访问控制 (DAC),以及基于角色的权限和访问控制(RBAC)。
权限和访问控制涉及使用多种保护机制,例如身份验证、授权、和问责制。当任何机制未应用或以其它方式失败时,攻击者可以通过获取权限、读取敏感信息、执行命令、逃避检测等方式危机系统软件的安全性。

1)WDB 目标代理调试服务权限和访问控制漏洞

说明:Wind River VxWorks 6.x、5.x中,用于罗克韦尔自动化1756-ENBT系列 A 固件 3.2.6 和 3.6.1 等产品中的WDB目标代理调试服务存在权限和访问漏洞控制。为了支持嵌入式软件开发,VxWorks 开发人员配置了一个目标代理组件。为了遵守WDB(Wind River DeBug)协议,目标代理允许远程用户调试目标机中的程序。远程攻击者可以利用该漏洞开采利用存储单元、功能和管理任务。
漏洞的主要危害:漏洞允许远程攻击者通过对 UDP 端口17185 的请求读取或修改任意内存位置、执行函数调用或管理任务。
解决方案:可以删除 WEB 目标代理组件、调试组件(包括_WDB和INCLUDE _DEBUG)以及其他不支持客户端应用程序的操作系统组件。

2)FTP 守护进程权限和访问控制漏洞

说明:wind river VxWorks 中的 FTP 守护进程存在权限和访问控制漏洞。
漏洞的主要危害:在多次登录失败后, FTP 守护进程无法关闭 TCP 连接,这使得远程攻击者更容易通过暴力手段攻击获得访问权限。
解决方案:如果不需要,可以禁用FTP服务。

C)信任管理漏洞

Blaze 引入了信任管理的概念,以帮助自动验证反抗安全策略的操作。在这个概念中,如果他们表现出足够的充分的凭证,则允许操作进行,且忽略他们的实际身份,将信任的符号表示与实际的人分开。信任管理是一个处理社会信任符号表示的抽象系统,通常用于辅助自动化决策过程。这种表示,例如以加密凭证的形式,可以将信任管理的抽象系统与信任评估的结果联系起来。信任管理在实施信息安全 (特别是访问控制策略) 中很流行。
信任管理可以通过门票的的日常经验得到最好的说明。一个人可以买一张赋予他权利的门票例如进入体育场。门票作为信任象征符号,表示持票人已经支付座位的费用,并且有权进入。然而,一旦购买了票,票就可以被转让给其他人,从而以符号象征性的方式转移这种信任。在检票口,只检查票,而并不检查持票人的身份。

1)2.3.1 INCLUDE_SECURITY 功能信任管理

说明:Wind River VxWorks 6.x、5.x 及更早版本中的INCLUDE_SECURITY 功能存在信任管理漏洞。
漏洞的主要危害:INCLUDE_SECURITY 功能使用 Login_USER_NAME 和 Login_USER_PASSWORD 参数来创建硬编码凭据,这就使得远程攻击者更容易通过以下三种方式获得访问权限:

  • Telnet 协议: Telnet 协议是 TCP/IP 协议之一,是 Internet 标准协议和远程访问服务的主要方式。它为用户提供了在本地计算机上完成远程主机上的工作的能力。用户可以在终端用户的计算机上使用 Telnet 程序,并使用它来连接服务器。终端用户可以在 Telnet 程序中输入命令,这些命令将会在服务器上运行,就像直接在服务控制台上输入一样,这样你就可以在本地控制服务器。Telnet 是远程 web 服务器控制的一种常用方法。
  • 远程登录:远程登录允许授权用户访问网络上的其他机器,就像用户在本地使用机器一样。一旦访问主机,用户就可以进行主机允许的任何操作,例如:读取文件、编辑文件或者删除文件。
  • FTP 会话

解决方案:避免对账户凭据进行硬编码,并将 ‘LOGIN_USER_NAME’ 和 ‘LOGIN_USER_PASSWORD’ 参数设置为空字符串。

D 加密漏洞

如果你用门闩而不是链子锁门,你会让窃贼更难进入你的家。同样,加密软件提供的安全级别也存在差异。大多数被认为好的著名加密算法在数学上都足够复杂,难以破解;否则,它们就不会得到如此广泛的应用。但如果有人足够坚持不懈的破解,即使是好的算法也很容易被破解。在本节中,我们将讨论加密软件中的一般漏洞,并提供可用于打击这些漏洞的提示。如果你想了解更多关于一个特定算法或软件程序的漏洞的信息,可以在网上搜索关于其有效性的评论。

1)Wind River VxWorks loginDefaultEncrypt 算法加密漏洞

说明:在 VxWorks 6.9之前,在 Wind River VxWorks loginLib (登录库)中的 logindefaultencrypt 算法存在算法加密漏洞。
远程攻击者可以通过以下三种方式轻松使用它来获取访问权限:

  • Telnet 协议。
  • 远程登录
  • FTP 会话

解决方案:通过安装 loginEncryptInstall() loginLib 钩子,使用可信验证 API 来代替标准 API (loginDefaultEncrypt ())中默认的 HASH 算法。

三 总结

本文主要介绍了 VxWorks 操作系统,阐述了操作系统安全漏洞的意义,分析了输入验证、权限和访问控制、信任管理、加密4种安全漏洞,并给出了解决方案。它为操作系统的维护和开发提供了有用的基础。

VxWorks的漏洞分析与解决方案相关推荐

  1. python格式化字符串漏洞_Python新型字符串格式漏洞分析及解决方案

    最近一个python字符串格式化的漏洞引起了我的注意,今天就来说一下Python引入的一种格式化字符串的新型语法的安全漏洞进行了深入的分析,并提供了相应的安全解决方案. 当我们对不可信的用户输入使用s ...

  2. Docker对外开放2375端口引发安全漏洞分析与解决方案

    前言 最近因为自己的云服务器开放了Docker 2375端口,导致被注入蠕虫,一直在跑挖矿程序.所以大家一定要注意外网环境下不要轻易打开此端口,如果要对外开放此端口,可以参考下面的解决方案,下面就Do ...

  3. CVE-2017-11882漏洞分析

    文章目录 分析环境 漏洞描述 漏洞成因 漏洞分析 获取poc 复现漏洞 漏洞分析 定位漏洞模块 定位漏洞函数 定位漏洞触发点 解决方案 分析环境 环境 W7 x64 Office2013 工具 win ...

  4. rmi远程代码执行漏洞_Apache Solr反序列化远程代码执行漏洞分析(CVE20190192)

    更多全球网络安全资讯尽在邑安全 www.eansec.com ‍‍‍‍ 0x01 漏洞描述 Solr 是Apache软件基金会开源的搜索引擎框架,其中定义的ConfigAPI允许设置任意的jmx.se ...

  5. thinkphp漏洞_【组件攻击链】ThinkCMF 高危漏洞分析与利用

    一.组件介绍 1.1 基本信息 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架.ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形 ...

  6. 机器学习:软件漏洞分析

    Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques: A S ...

  7. TheDAO悲剧重演,SpankChain重入漏洞分析

    前言 在10月8日,区块链项目方SpankChain在medium上发表了一篇文章, 并表明其受到了攻击,导致损失了160多个ETH和一些Token,这次攻击事件,相对来说损失金额是较小的,约4万美元 ...

  8. CVE-2020-1472 Netlogon权限提升漏洞分析

    一.漏洞信息 1. 漏洞简述 漏洞名称:Netlogon 权限提升漏洞 漏洞编号:CVE-2020-1472 漏洞类型:权限提升 CVSS评分:10 利用难度:简单 基础用户:不需要 2. 组件概述 ...

  9. html 设置响应X-frame,X-Frame-Options(点击劫持)漏洞分析及web配置修复

    漏洞描述: 点击劫持(ClickJacking)是一种视觉上的欺骗手段.攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在网页上进行操作,此时用户将在不知情的情况下点击透明的ifram ...

  10. 2022CTF培训(十一)IOT 相关 CVE 漏洞分析

    附件下载链接 D-Link DIR-823G 固件全系统仿真 2022CTF培训(十)IOT 相关 CVE 漏洞分析 是采用 qemu-user 对个别程序进行仿真,而对于完整的仿真需要使用 qemu ...

最新文章

  1. 二分类最优阈值确定_机器学习 | 详解GBDT在分类场景中的应用原理与公式推导...
  2. 求最大公约数的设计与C语言实现
  3. Android项目实战(三十二):圆角对话框Dialog
  4. 编程学习记录13:Oracle数据库,表的查询
  5. 《CLR Via C# 第3版》笔记之(四) - 类中字段的默认赋值
  6. 电脑老是自动重启怎么回事??
  7. runTime动态给类添加属性
  8. IEEE与APA引用格式
  9. ARC093F - Dark Horse
  10. 松软科技web课堂:SQLServer之UCASE() 函数
  11. Drawio免费绘图工具
  12. 智能导航、车载影院、4A级游戏体验…GPU重新定义未来汽车
  13. 5分绩点转4分_4分绩点与百分制转换方法
  14. 关于DEJA_VU3D - Cesium功能集专栏说明
  15. Ajax基础配置 — XMLHttpRequest
  16. FTP上传下载及FTP不支持中文目录解决方法
  17. linux 命令 dsm,群晖常用指令 - osc_sa9nsts3的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. 算法的复杂性分析(一)---时间复杂度
  19. 1613-3-傅溥衍 总结《2016年12月5日》【连续第六十六天总结】
  20. python计算两经纬度坐标距离和角度以及给定第一个坐标、距离和航向角计算第二个坐标

热门文章

  1. C++ 类图 Astah画类图
  2. Java课程设计之简易计算器:设计的计算器应用程序是基于AWT的,可以完成加法、减法、乘法、除法和取余运算。
  3. jquery+cropper剪切、旋转、缩放图片
  4. IPv4与IPv6的区别
  5. 荧光仪电源维修Spellman电源维修FF60P4X3313
  6. python中正方形内切园_python画出三角形外接圆和内切圆的方法
  7. OpenCV获取不规则区域的最大内切圆(附Python / C++源码)
  8. 计算机实验PPT情景短剧,8.用计算机做科学实验.ppt
  9. 江苏事业单位计算机类考申论吗,笔试将近!2020年江苏事业单位统考你要注意!...
  10. 全国大学生智能汽车竞赛 --图像处理上位机篇开源了