IPS“显神威”?具体问题还得具体分析
2020-12-31吉林孙瑶
■吉林 孙瑶
单位人事管理部同事打来求助电话称,在访问某医保网站办理异地医疗业务时,突然开始出现问题。
他能登录该网站首页,也能登录进去单位账号,但当输入完医保号并点击“查询”按钮时,屏幕就弹出“请求数据成功,但回调方法出错;请检查自定义load回调函数”弹窗。
故障分析
故障描述显示,网站一级和二级页面能正常访问,首先可以排除不是网络不通的问题。
接下来排除一下是否是本机问题,换其他几台电脑操作,故障依旧,排除本机问题。网站访问出现问题,按照之前的经验一般都是浏览器设置引起冲突的比较多,接下来对浏览器进行一番调整,挨个换了几个常用浏览器,将站点填加到浏览器可信列表中,选择以兼容模式运行,配置网页隐私策略总是接受来自此网站的Cookie。这些操作之后,问题还是没有解决。
看来不是浏览器的问题,会不会是网站系统本身出故障了呢?同事咨询了该医保QQ交流群,群里每天都有人登录访问进行相关操作,也没有出现这种情况。同事说在家里电脑操作也没有出现该问题。看来问题还是有针对性的,难道是单位网络有限制?最后用手机移动网络和电信网络分别设置热点均能成功登录系统并能查询账户,最终问题锁定单位网络。
单位网络是通过上网行为管理设备实现的IP和物理地址静态绑定,首先怀疑上网行为管理设备有限制,进入该设备,将人事部门同事电脑IP设置为全局排除,将该IP跳过设备限制,问题没有解决。
同事的问题发生的时间节点是本周开始,本周机房上了一台启明星辰天清入侵防御系统,难道是这神器?初来乍到就如此威武?
进入入侵防御系统管理界面,在“日志报表”中查看入侵防御日志,在源IP里填写人事部电脑IP地址,目标IP里填写医保系统IP地址,选择动作“reset”点击“查询”,查找是否有被拦截了的事件。果然,人事部门访问医保系统事件赫然列在查询到的事件列表中,显示事件名称为:hTTP_SQL注入攻击,认为这是典型的注入攻击。至此案子破了。
故障解决
解决方法:在“入侵防御→特征”选项,找到“SQL白名单”并将目标地址加入白名单列表。也可以直接点击日志报表事件列表最右侧“+”的图标,按提示“添加到白名单”。经过此番操作,彻底解决了人事部门的问题。
故障反思
为什么会出现这种情况呢?经过查看系统帮助说明以及咨询设备方工程师,找出了大概原因。
目标系统包含有高危的编码,本例SQL注入攻击是针对MySQL的一种攻击手段。一般而言,当页面需要查询数据库时,需要用户输入查询条件。如果页面存在漏洞,攻击者就可以在支持查询数据的后面,再插入一个逻辑上为真的判断式,使查询条件无论前面什么数据时,都可以成立,这样就可以访问任何的数据。
在MySQL中,一个字符串,就可以等效于逻辑真。本例攻击SQL中的select等语句,如页面提供一个数据查询:select username from table1 where id=1234,其含义是通过ID序号,查找名称。如果攻击者输入“1or '1'”,则查询语句就将会打印出表中所有名称。基于此安全原因,被IPS拦截了。
但是从实际操作来看就是正常的访问网站,也是正规网站啊?这是IPS的误报吗?由于本攻击模板的特征少,很接近自然语言,因此误报率高。有可能是编码人员的不良习惯,不是传输用户的输入条件,而是把用户的输入条件转化为SQL子句的组成部分,完整传输,使其数据模式和攻击模式相同。同时这种传输方式及其容易被攻击者发现并利用。如果确认是编码人员的不良习惯,希望尽快修改代码,防止安全隐患。
问题再现
无独有偶,刚解决上面的问题没过多久,访问该网站又出现,登录首页正常,登录单位账号失败,页面显示“无法访问此页面”的问题了。有了上次的经验,这次直接进入入侵防御系统查看,果然神器又发威了。这次的攻击事件是,HTTP通用目录穿越漏洞,IPS怀疑应用系统存在目录穿越漏洞,此漏洞危害是允许远程攻击者访问敏感文件。目录穿越(Directory Traversal)是HTTP开发的一种形式,黑客在一个Web服务器上使用这个软件除了可以访问服务器的根目录外还可以访问目录里面的数据。
解决办法:这类攻击没有专门的白名单设置,最后通过单独为访问目标系统建立了一个的安全策略,允许放行目标系统IP。但是如果真的不是IPS误判,建议应用系统检测是否存在漏洞,防患于未然。
问题是为什么之前能够顺利访问呢?漏报了?咨询了设备方工程师,可能是目标系统近期有所调整,也有可能是由于数据库可以有多种表达方式,有可能无法判断,有一定漏报概率。
结语
通过此次为人事部门处理访问网站应用系统故障,通过系列排查,最终锁定IPS,了解到了两类攻击类型,虽然根据实际情况都给予了特别策略予以放行,但是网络安全意识绝对不能因此放松。