每一年的七月份,正是莘莘学子们金榜题名的关键时刻,可是今年却有一批学子无法实现他们的梦想,由于高考志愿被篡改,使得他们无法进入自己理想中的大学校园。
据受害者余同学回忆:“事发当晚8点多,我想看一下自己有没有被录取,用我的账户名+密码登录系统,结果发现自己的志愿被更改了。”通过同学录联系,发现同班的十多个同学也被修改,一个用手机拍摄了当时填报志愿的同学发现,自己报考的第四志愿,现在却变成了第二志愿。
接到受害者的报案后,考试院和公安机关立即组织了相关IT人员、安全专家组成专案组开始破案。破案的关键点是要找到志愿修改的记录,通过部署在报考系统旁路的Web业务审计系统和数据库审计系统,利用考试的准考证号、身份证号、学校名字进行查找,很快就找到了相关人员的所有填报志愿日志记录。通过对学校名字核对,进一步提炼了所有修改志愿的详细日志,并从Web层访问日志和数据库日志进行核对,核实了修改的有效性和真实性。通过Web访问日志的详细信息,发现所有考生的志愿修改都是通过自己的真实准考证号码和密码进行登陆,登陆的IP地址都是同一个IP地址。
因此很快得出结论如下:
1) 基本确定是考生的账号密码被泄漏,有人利用账号密码登陆考试院系统进行修改;
2) 从IP地址来看,十多个考试信息修改都是同一人操作,而且应该是熟人所为;
3) 考试系统不存在黑客入侵的痕迹,可以排除黑客所为;
公安机关依据这些信息非常快的就找到了相关的作案人员,对当事人进行详细询问后,发现是一个同学的恶作剧,可不曾想到这个恶作剧把自己送进了大牢,也害苦了同窗几载的同学。
这次的事件虽然很快就得到了破案,但是作为一名信息安全工作者,我们还是要认真来分析这类事件更深层的原因并吸取教训,防止类似事件再次发生。
以下是最近几年类似事件的截图:
分析近几年来的高考志愿被篡改事件,其原因主要有几个方面:
1) 账号密码管理问题(主因):上述事件是典型的账号密码管理问题,所有人的密码都是姓名开头加’12345’。因此导致任何人都具备非法修改他人志愿的能力。其他的密码管理问题还包括弱密码、不修改默认密码、身份证做密码等;
2) 黑客入侵:志愿填报系统都是Web系统,一般都集中在省教育考试院进行管理。如果教育考试系统的信息安全工作做的不够完善,可能就会被黑客入侵。黑客可以通过SQL注入、跨站等直接攻击志愿填报系统,也可能通过旁注的方式先入侵教育考试院的门户网站、FTP等系统,然后再进入到志愿填报系统;
3) 内鬼所为:不排除教育考试院内部以及其第三方的外包驻场运维人员内外勾结,利用职务之便,直接修改志愿填报系统数据库进行非法牟利。
针对以上这些情况,笔者建议采用“防御+审计”相结合的完整解决方案来保障志愿填报系统的安全,尤其要重视审计系统的建设,这是事后追踪、破案的关键。
1) 防御措施:防御措施其实有很多,这里笔者主要提了一下Web应用防火墙(WAF)和下一代防火墙,主要解决黑客最容易入侵的Web应用层的安全风险;
2) 审计措施:作为方案的核心,考虑到大部分的事件都是因为账号密码管理问题导致,而这种问题是WAF和防火墙无法识别和防御的,因为非法篡改行为和合法的修改行为完全一致,并不是攻击行为。另外还有很多未知的攻击(0Day)、业务逻辑攻击、内鬼等都无法通过防火墙去防御和识别,所以部署审计系统,实现取证分析尤为重要。其中Web业务审计主要实现Web层的日志记录、数据库审计实现数据库的修改记录、堡垒机实现内部运维过程的审计和控制、综合日志审计则是对所有日志的收集和整理。通过如上四个审计系统所构建起来的完整审计方案,可以实现教育考试系统的全审计;
3) 重视安全教育:刚刚高中毕业的学生是属于安全意识非常薄弱的群体,学校、班主任、家长都要履行信息安全教育的义务,提醒他们修改密码、不泄漏密码,保护好自己的账号。另外志愿填报系统应该也要具备提醒和弱密码检测等相关功能。