下面是一个描述的元素,类型和属性组成Android特定测试中发现开放脆弱性和评估语言(椭圆形)。每一个测试是一个扩展的标准测试元素中定义的核心定义模式。通过扩展,每个测试继承了一组元素和属性之间共享的所有椭圆测试。每个测试详细描述,应提供必要的信息,以了解每个元素和属性表示。本文档的目的是为开发人员和假设一些熟悉XML。一个高水平的描述不同的测试及其之间的交互关系的核心定义模式这里没有列出。 椭圆形的模式是由斜方公司维护和开发的公共社区椭圆形。manbetx客户端首页欲了解更多信息,包括如何参与项目以及如何提交变更请求,请访问总统网站http://oval.mitre.org。 Android定义 5.11:5.11 12/18/2014 09:00:00我 版权(c) 2002 - 2014,斜方公司。manbetx客户端首页保留所有权利。这个文件的内容受到椭圆形的条款许可位于http://oval.mitre.org/oval/about/termsofuse.html。看到特定语言的椭圆形许可证管理权限和限制使用这种模式。当分发拷贝的椭圆模式,本授权头必须包括。 appmanager_test用于验证应用程序安装在设备上。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用appmanager_object和可选状态元素指定数据检查。 appmanager_test appmanager_object appmanager_state appmanager_item ——对象appmanager_test必须引用一个appmanager_object的子元素 ——国家appmanager_test必须引用一个appmanager_state的子元素 appmanager_object元素appmanager_test定义所需的应用程序使用的属性来验证。每个对象中定义扩展了标准ObjectType oval-definitions-schema和一个应该参考ObjectType描述的更多信息。 过滤器中引用”是错误的类型。 包的名称。 签名证书对应的十六进制字符串用于签署应用程序包的关键。只有实际签名证书应包括,而不是链中的CA证书(如适用)。 appmanager_state元素定义了应用程序设置。 应用程序的名称。 Linux用户id分配给应用程序。(在某些情况下,多个应用程序可以共享一个userid)。 一个元素为每个应用程序属于的组id。 包的名称。 数据目录分配给应用程序。 应用程序的版本。 如果应用程序启用。 一个元素为每个许可授予应用程序。 应用程序的本地库目录(如果有的话)被安装。 签名证书对应的十六进制字符串用于签署应用程序包的关键。只有实际签名证书应包括,而不是链中的CA证书(如适用)。 时间的应用程序第一次被安装,用毫秒表示自1970年1月1日就是UTC。 应用程序最后一次更新时间,用毫秒表示自1970年1月1日就是UTC。 从ApplicationInfo。sourceDir,完整路径的位置公开可用的应用程序包的一部分。 bluetooth_test用于检查蓝牙的状态设置在设备上。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用bluetooth_object和可选状态元素指定数据检查。 bluetooth_test bluetooth_object bluetooth_state bluetooth_item ——对象bluetooth_test必须引用一个bluetooth_object的子元素 ——国家bluetooth_test必须引用一个bluetooth_state的子元素 bluetooth_object元素使用蓝牙测试来定义这些对象评估基于指定的状态。任何椭圆形测试写入检查蓝牙设置状态将引用相同的bluetooth_object基本上是一个空对象元素。 bluetooth_state元素定义了蓝牙设置状态。 如果设备蓝牙目前发现的模式。 如果设备蓝牙目前启用。 camera_test用于检查camera-related信息。 camera_test camera_object camera_state camera_item ——对象camera_test必须引用一个camera_object的子元素 ——国家camera_test必须引用一个camera_state的子元素 camera_object元素使用相机测试定义这些对象评估基于相机的状态。 camera_state元素包含一个单一的实体,用于检查相机的状态。 如果这是真的,那么政策执行禁用使用相机。政策是只能在Android 4.0,(和潜在的年长的Android设备如果特别添加的设备供应商)。 certificate_test用于检查证书安装到设备上。 certificate_test certificate_object certificate_state certificate_item ——对象certificate_test必须引用一个certificate_object的子元素 ——国家certificate_test必须引用一个certificate_state的子元素 certificate_object元素使用证书测试来定义这些对象来评估基于证书的状态。 certificate_state元素包含一个单一的实体,用于检查证书的状态。 十六进制字符串操作系统中的每个证书的信任证书库,包括证书安装系统和用户。系统信任证书所禁用的用户不包括在这里。 devicesettings_test用于检查各种设备上设置的状态。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用devicesettings_object和可选状态元素指定数据检查。 devicesettings_test devicesettings_object devicesettings_state devicesettings_item ——对象devicesettings_test必须引用一个devicesettings_object的子元素 ——国家devicesettings_test必须引用一个devicesettings_state的子元素 devicesettings_object元素使用的设备设置测试来定义这些对象评估基于指定的状态。任何椭圆形测试写入检查设备设置将引用相同的devicesettings_object基本上是一个空对象元素。 devicesettings_state元素定义了设备的设置。 如果Android启用调试桥(USB调试)。 如果模拟地点和位置提供者状态可以注入Android的位置管理器。 如果应用程序可以安装“未知来源”。 每一个元素的应用程序持有设备管理员访问。包含应用程序的包名。 真的如果用户喜欢的日期和时间自动从网络获取。 真的如果用户更喜欢时区是自动从网络获取。 如果启用USB大容量存储在设备上,否则错误的。 encryption_test用于检查设备上的加密状态。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用encryption_object和可选状态元素引用encryption_state指定检查的信息。 encryption_test encryption_object encryption_state encryption_item ——对象encryption_test必须引用一个encryption_object的子元素 ——国家encryption_test必须引用一个encryption_state的子元素 encryption_object元素加密测试定义这些对象使用的评估基于指定的状态。任何椭圆形测试书面检查加密设置将引用相同的encryption_object基本上是一个空对象元素。 encryption_state元素定义了加密设置在设备上配置。 这样一个政策要求设备存储加密。(android.app.admin.DevicePolicyManager.getStorageEncryption ()) 当前状态的设备加密。(android.app.admin.DevicePolicyManager.getStorageEncryptionStatus())要么ENCRYPTION_STATUS_UNSUPPORTED、ENCRYPTION_STATUS_INACTIVE ENCRYPTION_STATUS_ACTIVATING或ENCRYPTION_STATUS_ACTIVE记录的Android SDK DevicePolicyManager类。 locationservice_test用于检查基于位置的服务的状态。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用locationservice_object和可选状态元素指定数据检查。 locationservice_test locationservice_object locationservice_state locationservice_item ——对象locationservice_test必须引用一个locationservice_object的子元素 ——国家locationservice_test必须引用一个locationservice_state的子元素 locationservice_object元素使用位置服务测试来定义这些对象评估基于指定的状态。任何椭圆形测试写入检查基于位置的服务状态将引用相同的locationservice_object基本上是一个空对象元素。 locationservice_state元素定义了基于位置的服务状态。 一个布尔值,指示是否启用GPS定位提供者。 一个布尔值,指示是否启用网络位置提供者。 network_test用于检查网络设备上的偏好的状态。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用network_object和可选状态元素指定数据检查。 network_test network_object network_state network_item ——对象network_test必须引用一个network_object的子元素 ——国家network_test必须引用一个network_state的子元素 network_object元素是通过一个网络测试用于定义这些对象评估基于指定的状态。任何椭圆形测试写入检查网络偏好将引用相同的network_object基本上是一个空对象元素。 network_state元素定义了网络偏好。 如果启用了“飞行模式”在设备上。 如果启用了NFC设备上的。 密码测试用于检查具体政策与密码和相关设备的屏幕锁。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用password_object和可选状态元素指定元数据来检查。 password_test password_object password_state password_item ——对象password_test必须引用一个password_object的子元素 ——国家password_test必须引用一个password_state的子元素 password_object元素使用密码测试定义这些对象来评估基于指定的状态。任何椭圆形测试书面检查密码策略将引用相同的password_object基本上是一个空对象元素。 password_state元素指定与密码相关的各种政策和设备屏幕锁。密码测试将引用一个特定实例的状态定义的设置需要评估。 最大数量的用户认证失败之前设备擦拭。零意味着没有政策到位。 指定密码的长度保持历史(历史上的密码不能重用)。零意味着没有政策到位。 目前的最低要求密码设备所需的质量政策。表示为一个字符串与有效的Android密码对应的质量,目前之一:PASSWORD_QUALITY_ALPHABETIC PASSWORD_QUALITY_ALPHANUMERIC PASSWORD_QUALITY_BIOMETRIC_WEAK PASSWORD_QUALITY_COMPLEX PASSWORD_QUALITY_NUMERIC PASSWORD_QUALITY_SOMETHING PASSWORD_QUALITY_UNSPECIFIED 必须有最小长度的字符密码。这个约束只是强加如果密码质量是PASSWORD_QUALITY_NUMERIC之一,PASSWORD_QUALITY_ALPHABETIC, PASSWORD_QUALITY_ALPHANUMERIC或PASSWORD_QUALITY_COMPLEX。 最小数量的字母密码必须有。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 最小数量的小写字母密码必须有。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 最小数量的非字母字符密码必须有。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 最小数量的数字字符密码必须有。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 最小数量的符号字符密码必须有。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 最小数量的密码必须大写字母。这个约束只是实施质量PASSWORD_QUALITY_COMPLEX如果密码。 获取当前密码超时时间的政策,以毫秒为单位。零意味着没有政策到位。 时真的,最近键入密码字符在屏幕上显示给用户(之前输入的字符是蒙面)。当假的,所有键入密码字符立即蒙面。这个设置由设备管理用户通过设备设置。 当真实的,目前的设备密码符合密码策略。(如果政策是最近成立的,有可能是密码符合政策或许尚未到位。) 用户失败的次数在进入密码输入密码自最后一次成功。 当前的政策最高的屏幕锁定超时允许用户指定。0表示没有限制。(用户可能仍然指定值降低设备设置。) 当前的政策为千篇一律的小部件通过DevicePolicyManager.getKeyguardDisabledFeatures检索。可能被设置为KEYGUARD_DISABLE_FEATURES_ALL之一,KEYGUARD_DISABLED_FEATURES_NONE KEYGUARD_DISABLE_SECURE_CAMERA或KEYGUARD_DISABLE_WIDGETS_ALL。仅可在Android 4.2以上。 syste_details测试是用于获取系统硬件和操作系统信息。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用systemdetails_object和可选状态元素指定数据检查。 systemdetails_test systemdetails_object systemdetails_state systemdetails_item ——systemdetails_object systemdetails_test的对象子元素必须引用 ——国家systemdetails_test必须引用一个systemdetails_state的子元素 systemdetails测试所使用的systemdetails_object元素来定义对象评估。每个对象中定义扩展了标准ObjectType oval-definitions-schema和一个应该参考ObjectType描述的更多信息。 systemdetails_state元素定义了硬件和操作系统的信息。请参阅模式中各个元素的更多细节每一个代表什么。 硬件模型,如由android.os.Build提供。硬件使用Android SDK。 设备制造商,由android.os.Build提供。制造商使用Android SDK。 设备模型标识符,如由android.os.Build提供。模型使用Android SDK。 产品名称,由android.os.Build提供。产品使用Android SDK。 本机代码的指令集的名称,是由android.os.Build提供。CPU_ABI使用Android SDK。 第二个本机代码的指令集的名称,由android.os.Build提供。CPU_ABI2使用Android SDK。 建立指纹,由android.os.Build提供。使用Android SDK指纹。 操作系统版本代码,由android.os.Build.VERSION提供。使用Android SDK代号。 操作系统构建数量,由android.os.Build.VERSION提供。使用Android SDK增量。 操作系统版本的名字,由android.os.Build.VERSION提供。使用Android SDK版本。 操作系统SDK数量,由android.os.Build.VERSION提供。SDK_INT使用Android SDK。 如果设备提供了硬件支持加密密钥存储库(硬件密钥存储库可以防止导出私钥或直接暴露私钥OS),否则错误的。 wifi_test用于检查一般wi - fi的状态设置在设备上。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用wifi_object和可选状态元素指定数据检查。 wifi_test wifi_object wifi_state wifi_item ——对象wifi_test必须引用一个wifi_object的子元素 ——国家wifi_test必须引用一个wifi_state的子元素 wifi_object元素使用的无线测试定义这些对象来评估基于指定的状态。任何椭圆形测试写入检查wifi设置状态将引用相同的wifi_object基本上是一个空对象元素。 wifi_state元素定义了wifi设置状态。 真正的wi - fi当前是否在设备上启用。 真正的wi - fi网络可用性通知设置当前是否在设备上启用。 wifinetwork_test用于检查设备上的无线网络配置信息。它扩展了标准中定义的TestType oval-definitions-schema,另一个应该参考TestType描述的更多信息。所需的对象元素引用wifinetwork_object和可选状态元素指定数据检查。 wifinetwork_test wifinetwork_object wifinetwork_state wifinetwork_item ——对象wifinetwork_test必须引用一个wifinetwork_object的子元素 ——国家wifinetwork_test必须引用一个wifinetwork_state的子元素 wifinetwork_object元素使用wi - fi的wifinetwork_test定义名称来验证安全设置。每个对象中定义扩展了标准ObjectType oval-definitions-schema和一个应该参考ObjectType描述的更多信息。 过滤器中引用”是错误的类型。 网络的SSID检查。 wifinetwork_state元素定义了wi - fi网络设置状态。 网络的名称。 BSSID。该值是一个字符串格式的以太网MAC地址。 这个配置支持的身份验证协议。 组密码支持的这个配置的设置。 这个配置支持的组密钥管理协议。 成对的集合为WPA密码支持的这个配置。 这个配置支持的安全协议的集合。 这是一个网络,不广播其SSID。 乞求者使用的ID号来识别这个网络配置条目。 决定了偏好优先考虑网络由wpa_supplicant在选择一个与它们相关联的接入点。 这个网络的当前状态配置条目。 telephony_test用于检查电话系统的特征。 telephony_test telephony_object telephony_state telephony_item ——对象telephony_test必须引用一个telephony_object的子元素 ——国家telephony_test必须引用一个telephony_state的子元素 telephony_object元素使用的电话测试来定义这些对象评估基于电话管理器状态。 telephony_state元素包含一个单一的实体,用于检查电话管理器的状态的状态。 值表示当前使用的无线电技术(网络类型),数据传输。 ISO国家代码等价的SIM提供者的国家代码。 世纪挑战帐户集团+跨国公司(移动国家代码+移动网络代码)的提供者的SIM卡。它包含5或6小数位数。 EntityStateEncryptionStatusType复杂类型限制一个字符串值一组特定的值。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 不支持加密 加密是活跃的。 加密支持,但目前不是活动的。 加密目前不是活动的,但目前被激活。 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateKeyguardDisabledFeaturesType复杂类型限制一个字符串值一组特定的值。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 小部件被启用键盘守卫 禁用所有键盘守卫小部件 禁用安全键盘守卫屏幕上相机(如销/模式/密码) 禁用所有当前和未来的键盘守卫定制 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateNetworkType复杂类型限制一个字符串值一组特定的值。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 网络类型是未知的 当前网络GPRS 当前网络边缘 当前网络是UMTS 当前网络是CDMA 当前网络EVDO-0 当前网络EVDO-A 当前网络是1 xrtt 当前网络HSDPA 当前网络HSUPA 当前网络HSPA 当前网络IDEN 当前网络EVDO-B 当前网络是LTE 当前网络EHRPD 当前网络HSPAP 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStatePasswordQualityType复杂类型限制一个字符串值一组特定的值。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 密码必须包含字母(或其他符号)字符 密码必须包含数字和字母(或其他符号)字符 这一政策使得轻罪的生物特征识别技术 密码必须包含至少一个字母,数字,特殊符号 密码必须至少包含数字字符 这一政策需要某种密码,但不关心它是什么 没有密码策略的要求 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiAuthAlgorithmType复杂类型限制一个字符串值一组特定的值这个名字无线身份验证算法。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 跳跃/网络EAP(仅用于跳跃) 开放体系认证(WPA / WPA2所需) 共享密钥身份验证(需要静态WEP密钥) 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiCurrentStatusType复杂类型限制一个字符串值一组特定的值。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 我们目前的网络连接 乞求者不会试图利用这个网络 乞求者会考虑这个网络协会 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiGroupCipherType复杂类型限制一个字符串值到一个特定的组名wi - fi组密码的值(android.net.wifi.WifiConfiguration.GroupCipher)。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 AES与CBC-MAC计数器模式[RFC 3610, IEEE 802.11 i / D7.0];恒定值:3 (0 x00000003) 时间关键的完整协议[IEEE 802.11 i / D7.0];常数的值:2 (0 x00000002) WEP(有线等效隐私)和104位的密钥;常数的值:1 (0 x00000001) WEP(有线等效隐私),40位关键原始(802.11);常量值:0 (0 x00000000) 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiKeyMgmtType复杂类型限制一个字符串值一组特定的值这个名字wi - fi密钥管理方案(从android.net.wifi.WifiConfiguration.KeyMgmt)。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 IEEE 802.1 x使用EAP认证和(可选)动态生成的WEP钥匙。 水渍险是不习惯;可以使用明文或静态WEP。 水渍险使用EAP认证。 水渍险pre-shared关键。 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiPairwiseCipherType复杂类型限制一个字符串值一组特定的值这个名字wi - fi公认成对对WPA密码(从android.net.wifi.WifiConfiguration.PairwiseCipher)。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 AES与CBC-MAC计数器模式[RFC 3610, IEEE 802.11 i / D7.0] 只使用组键(弃用) 时间关键的完整协议[IEEE802.11i / D7.0] 空字符串值允许在这里允许空元素与变量引用相关联。 EntityStateWifiProtocolType复杂类型限制一个字符串值一组特定的值这个名字wi - fi公认安全协议(从android.net.wifi.WifiConfiguration.Protocol)。空字符串也可以支持空元素与变量引用相关联。注意,当使用模式匹配和变量必须小心确保正则表达式和变量值与枚举值一致。 我WPA2 / IEEE 802.11 水渍险/ IEEE 802.11 i / D3.0 空字符串值允许在这里允许空元素与变量引用相关联。