1、h t t p:/ww w.j s j k x.c o mD O I:1 0.1 1 8 9 6/j s j k x.2 2 0 1 0 0 1 1 3到稿日期:2 0 2 2-0 1-1 2 返修日期:2 0 2 2-0 7-0 7基金项目:科技委基础加强项目(2 0 1 9-J C J Q-Z D-1 1 3)T h i sw o r kw a ss u p p o r t e db yt h eF o u n d a t i o nS t r e n g t h e n i n gK e yP r o j e c to fS c i e n c e&T e c h n o l o g y
2、C o mm i s s i o n(2 0 1 9-J C J Q-Z D-1 1 3).通信作者:刘胜利(d r_l i u s h e n g l i 1 6 3.c o m)面向C i s c oI O S-X E的W e b命令注入漏洞检测何 杰蔡瑞杰尹小康陆炫廷刘胜利数学工程与先进计算国家重点实验室 郑州4 5 0 0 0 1(p o l a r i s 2 0 1 9 0 9q q.c o m)摘 要 思科公司的新型操作系统C i s c oI O S-X E广泛部署于C i s c o路由器、交换机等平台,但系统的W e b管理服务中存在通过命令注入实现权限逃逸的安全漏洞,使网
3、络安全面临严重威胁。近年来,模糊测试常被用于检测嵌入式设备的安全漏洞,然而目前没有针对C i s c oI O S-X E系统W e b管理服务的模糊测试框架,由于I O S-X E特有的系统架构和命令模式,现有I o T模糊测试方法在I O S-X E上的检测效果不佳。为此,提出了一个针对C i s c oI O S-X E系统W e b管理服务的模糊测试框架C R F u z z e r,用于检测命令注入漏洞。C R F u z z e r结合W e b前端请求和后端程序分析以优化种子生成,基于命令注入漏洞的特征发现脆弱代码以缩小测试范围。为了评估C R F u z z e r的漏洞检测效
4、果,在实体路由器I S R4 0 0 0系列和云路由器C S R1 0 0 0 v上对3 1个不同版本共1 2 4个固件进行了测试,共检测出1 1个命令注入漏洞,其中2个为未公开漏洞。关键词:C i s c oI O S-X E;W e b服务;命令注入;漏洞检测;模糊测试中图法分类号 T P 3 9 3 D e t e c t i o no fW e bC o mm a n dI n j e c t i o nV u l n e r a b i l i t yf o rC i s c oI O S-X EHEJ i e,C A IR u i j i e,Y I NX i a o k a n
5、g,L UX u a n t i n ga n dL I US h e n g l iS t a t eK e yL a b o r a t o r yo fM a t h e m a t i c a lE n g i n e e r i n ga n dA d v a n c e dC o m p u t i n g,Z h e n g z h o u4 5 0 0 0 1,C h i n a A b s t r a c t C i s c osn e wo p e r a t i n gs y s t e m,C i s c oI O S-X E,i sw i d e l yd e p l
6、 o y e do np l a t f o r m ss u c ha sC i s c or o u t e r sa n ds w i t c h e s.H o w e v e r,t h e r ea r ev u l n e r a b i l i t i e s i nt h es y s t e msW e bm a n a g e m e n t i n t e r f a c et oa l l o wp e r m i s s i o ne s c a l a t i o nt h r o u g hc o mm a n di n j e c t i o n.N e t
7、w o r ks e c u r i t y i sf a c i n gs e r i o u st h r e a t s.I nr e c e n ty e a r s,f u z z i n gi su s u a l l yu s e dt od e t e c ts e c u r i t yv u l n e r a b i l i t i e si ne m b e d d e dd e v i c e s,b u t t h e r e i sc u r r e n t l yn of u z z i n gf r a m e w o r kf o rC i s c oI O
8、 S-X E,a n dc u r r e n t f u z z i n gm e t h o d s f o r I o Th a v ep o o rp e r f o r m a n c ed u e t ot h eu n i q u es y s t e ma r c h i t e c t u r ea n dc o mm a n dm o d eo f I O S-X E.T os o l v et h ep r o b l e m sm e n t i o n e da b o v e,t h i sp a p e rp r o p o s e s an o v e l f
9、u z z i n g f r a m e w o r kC R F u z z e r f o r t h eW e bm a n a g e m e n t s e r v i c e i nC i s c o I O S-X Es y s t e mt od e t e c t c o mm a n di n j e c t i o nv u l n e r a b i l i t i e s.C R F u z z e rc o m b i n e s f r o n t-e n dr e q u e s t sa n db a c k-e n ds c r i p t sa n a
10、l y s i s t oo p t i m i z es e e dg e n e r a t i o n,a n dl o-c a t e sv u l n e r a b l e c o d eb a s e do nc h a r a c t e r i s t i c so f c o mm a n d i n j e c t i o n t on a r r o wt h e s c o p eo f t e s t i n g.I no r d e r t oe v a l u a t e t h ev u l n e r-a b i l i t yd e t e c t i o
11、 np e r f o r m a n c eo fC R F u z z e r,1 2 4f i r mw a r e so f 3 1d i f f e r e n tv e r s i o n sa r e t e s t e do nt h ep h y s i c a l r o u t e r I S R4 0 0 0s e-r i e sa n dt h ec l o u dr o u t e rC S R1 0 0 0 v,a n dat o t a lo f1 1c o mm a n di n j e c t i o nv u l n e r a b i l i t i e
12、 sa r ed e t e c t e d,a n d2o f t h e ma r eu n d i s-c l o s e dv u l n e r a b i l i t i e s.K e y w o r d s C i s c oI O S-X E,W e bs e r v i c e,C o mm a n d i n j e c t i o n,V u l n e r a b i l i t yd e t e c t i o n,F u z z i n g 1 引言代码注入是W e b应用中常见的安全漏洞,也是网络安全面临的主要威胁之一,在OWA S P1于2 0 2 1年发布的
13、十大网络安全威胁中排名第三。其中,命令注入是攻击者利用应用程序对不可信数据的不恰当处理,在输入中插入恶意构造的系统命令,从而导致计划外的执行行为2,造成拒绝服务(D e-n i a l o fS e r v i c e,D o S)或权限逃逸等。命令注入漏洞不仅存在于托管在服务器上的W e b应用程序中,也存在于网络核心设备及物联网设备的W e b管理服务中。C i s c oI O S-X E(下文中简称I O S-X E)是C i s c o公司的新型操作系统(I O S-X E,I O S-X R和N X-O S)之一,被广泛应用于C i s c o企业级交换机、聚合服务路由器、分支路由
14、器、工业级路由器、以太网交换机和云虚拟路由器等平台3。其中,W e bU I作为用户查看路由设备信息和修改设备配置的交互接口,同样存在命令注入漏洞。攻击者利用这些安全漏洞,可以实现权限逃逸,以R e a d-O n l y权限登录的用户,可以提升至管理员权限,进而获取敏感数据信息,或篡改路由设备的配置。攻击者甚至能够实现更高级别的逃逸,进入设备底层的L i n u x系统,以r o o t权限执行任意命令,如读取或篡改系统文件、下载并运行恶意程序等,实现对路由设备的完全控制。然而,目前没有针对I O S-X E的漏洞检测方法,由于I O S-X E特有的系统架构和命令模式,现有针对传统C i
15、s c oI O S或I o T设备的漏洞检测方法在I O S-X E上效果不佳。C i s c oI O S的漏洞检测4-6极度依赖于D y n a m i p s对固件进行模拟运行,而目前没有模拟器支持I O S-X E系统。针对I o T的漏洞检测方法中,模糊测试被认为是发现漏洞最简单且高效的方法。但现有的I o T模糊测试方法,要么仅通过分析前端7-8或参考官方及第三方A P I文档9来生成初始种子,容易造成漏报,且没有明确的测试目标范围,漏洞检测效率较低;要么依赖于Q EMU等模拟器对设备进行仿真1 0-1 2,无法适用于I O S-X E。本文应用模糊测试技术对I O S-X E进
16、行安全漏洞检测。为了设计一种有效的模糊测试方法,需要解决如下难点:(1)缺乏反馈信息。目前没有工具或方法可以在不利用漏洞的情况下,监测I O S-X E系统内部的执行信息,导致模糊测试无法基于代码覆盖率等反馈信息来优化变异策略。(2)严格的参数格式。W e b服务的前端和后端程序都对参数格式有严格的语法要求,大部分随机变异生成的测试用例会被服务端直接拒绝。此外,后端处理请求的函数中,可能会为一些参数附加特殊字符(如引号),使其不可执行。(3)存在隐藏A P I。由于跨平台的I O S-X E系统之间存在大量的代码复用,或部分功能需要额外配置,使得I O S-X E系统中存在一些A P I,前端W e bU I中没有相应的配置接口或配置接口不可用。若仅从前端分析生成初始种子,容易造成漏报。为解 决以 上问 题,本 文提 出了 一 个针 对I O S-X E系 统W e b管理服务的模糊测试框架C R F u z z e r,用于检测命令注入漏洞。与现有模糊测试方法不同,C R F u z z e r结合W e b前后端分析优化种子生成策略,通过分析前端请求来解析参数的属性,分析后端程序来