上海交通大学:高校账号盗用监控及钓鱼邮件检测

  上海交通大学网络信息中心 瞿庆海

  摘要:日志模式匹配电子邮件原始日志通常由众多进程组成,不同的进程具有不同的日志格式,同时日志中时常会出现异常数据,如非ASCII字符,不完整数据等;多因子模型不同的特征值拥有不同的权重,和已知垃圾邮件/钓鱼邮件样本进行相似性匹配,需要做相应的数据标记以及建模工作;日志事件提取日志处理的关键任务之一是从分散的日志行中提取完整的邮件传输事件,通常需要用队列ID等关键字进行聚合。

  本文聚焦高校电子邮件服务运维中面临的两大痛点灾难片,账号盗用监控和邮件检测。希望利用当前流行的开源技术框架(Postfix/Amavisd/Clamd/Spamassassin/Elasticsearch/Logstash/Kibana)搭建可行的解决方案,提升运维效率,减轻运维人员压力。

  一、账号盗用监控

  1.盗号目标:获取邮箱、网站、银行账号密码2.盗号手段:钓鱼邮件、木马、钓鱼网站3.常见行为:继续盗用更多内部账号、向外发送钓鱼邮件4.检测手段:发现账号异常行为加人工判定

  账号盗用监控—外发SMTP节点监控

  左上图显示了来自中国大陆以外的通过身份认证的发件IP分时统计数据;

  右上图显示了来自上海以外城市的通过身份认证的发件IP分时统计数据;

  左下图显示了向校外发送邮件量分时统计数据;

  右下图显示了向校外发送邮件状态(Sent/Deferred/Bounced)占比分时统计数据;

  账号盗用监控—SMTP认证发信监控

  左图显示最近24小时通过身份认证的发件IP地址Top10;

  右图显示最近24小时通过身份认证的发件账号Top10;

  二、钓鱼邮件检测

  1.常见行为特征:

  -批量发送,持续发送

  -通过正规邮箱如Gmail/Yahoo/QQ/163发送

  -通过肉鸡及专用域名发送

  2.常见内容特征:

  -仿冒发件人身份,标题及内容多为账号停用、账号备案、容量超限等

  -通常包含钓鱼网站链接,要求输入账号密码

  -通过附件形式套取账号密码或者植入木马

  3.按检测难易程度分类

  -低级:大批量,短时间,相同标题,相同,相同发件IP

  -中级:多批次,每次少量,发件人或者发件IP相同

  -高级:分散发送,IP不相同,发件人不相同、标题不完全相同

  钓鱼邮件检测—常见邮箱入站统计

  左上图显示了最近24小时来自Gmail的发件人排名Top10;

  右上图显示了最近24小时来自Yahoo的发件人排名Top10;

  左下图显示了最近24小时来自163的发件人排名Top10;

  右下图显示了最近24小时来自QQ的发件人排名Top10;

  钓鱼邮件检测—入站邮件聚合数据

  左上图显示了最近24小时按校外到达邮件标题统计排名Top10;

  右上图显示了最近24小时按校外到达邮件发件人邮箱统计排名Top10;

  左下图显示了最近24小时按校外到达邮件发件人IP统计排名Top10;

  右下图显示了最近24小时按校外到达邮件退信邮箱统计排名Top10;

  三、技术框架简介

  1.建立专用松耦合入站邮件网关、邮件外发服务器

  Postfix Amavis Clamd Spamassassin

  Postfix: 目前最主流的MTA软件,用于接收和发送邮件;

  Amavis: 反引擎;

  Clamd: 病毒扫描软件;

  Spamassassin: 垃圾邮件综合评分软件;

  2.日志集中、数据清洗、数据可视化

  Rsyslogd Elasticsearch Logstash Kibana

  Rsyslogd 日志服务程序;

  Elasticsearch: 分布式反向索引服务程序;

  Logstash: 流式日志数据解析转换工具;

  Kibana: ElasticSearch可视化工具;

  3.批量查询、批量删除

  Python + JavaScrt + API

  技术框架简介—技术难点

  1.数据清洗

  日志模式匹配:

  日志模式匹配:电子邮件原始日志通常由众多进程组成,不同的进程具有不同的日志格式,同时日志中时常会出现异常数据,如非ASCII字符,不完整数据等;

  日志事件提取:

  日志事件提取: 日志处理的关键任务之一是从分散的日志行中提取完整的邮件传输事件,通常需要用队列ID等关键字进行聚合;

  日志中的特殊字符、不规范数据处理:

  日志中的特殊字符、不规范数据: 非ASCII字符、BASE64编码后的UTF8及GB2312字符甚至错误编码导致的乱码,最低要求是碰到此类字符时程序不应中断退出;

  2.异常检测

  一维特征值统计相对容易

  一维特征值: 常见的如发件人邮箱、发件人IP、标题等特征值统计,基础日志数据半结构化(导入ELK完成反向索引)以后相对容易实现;

  多因子模型存在诸多挑战(样本选择、特征向量、分类算法)

  多因子模型: 不同的特征值拥有不同的权重,和已知垃圾邮件/钓鱼邮件样本进行相似性匹配,需要做相应的数据标记以及建模工作;

  技术框架简介—校外钓鱼邮件拦截处置机制示意图

  通过蜜罐邮箱、用户举报、日志分析三大途径发现钓鱼邮件及垃圾邮件,添加黑名单拦截并清理已到达的垃圾邮件;

  通过日志分析查询已到达的邮件并进行批处理。

  版权声明:本文为上海交通大学网络信息中心 瞿庆海老师的原创文章,文章首发于Coremail云服务中心管理员社区。转载请附上原文出处链接及本声明。