[email protected]武汉“江夏晴川”网络安全Workshop记录-1

基于社交网络分析的安卓恶意软件检测

报告:吴月明 导师:邹德清
自动化安卓恶意软件检测:
基于权限分析
基于语法(基于反汇编代码,字符串匹配,精确度不行)
基于语义(控制流,数据流,开销太大,扩展性不高)
目标:快速+准确度高

MalScan

基于社交网络分析,调用敏感API的重要程度不一样
将APP的函数看做人,函数间调用看做人之间的关系,判断正常和恶意的应用如同判断一个人的兴趣爱好(学习、棒球)
Overview:
静态分析->中心性分析(基于图的分析)->分类
实验:
MalScan的检测时间很短,开销低
但是老的特征在新的APP上准确性降低

IntDroid

对于高级恶意软件(TikTok),也有许多对敏感信息的访问和调用
分析敏感API调用和中心节点的亲密度来提取更高级的语义特征
Overview:
静态分析-》中心性分析-》亲密度分析-》分类
可达次数越多,越亲密
开销低,恶意软件的检测率高(但是没说误报多不多?)

HomDroid

背景:恶意软件中的恶意代码含量低,正常代码和恶意代码关联不低
寻找有隐蔽性的安卓恶意软件
Overview:
静态分析-》图分割(社区检测,同质性分析-》分析关联度,找恶意子图)-》特征提取-》分类
[email protected]武汉“江夏晴川”网络安全Workshop记录-1

IoT设备访问和管理:新的安全威胁和挑战

IoT云(AWS IoT)上的messaging protocols
设备和APP都要和云进行沟通,以特定的格式(MQTT协议被广泛应用)
MQTT本来是1990s为沙漠中的石油勘探设计的,考虑各种网络不稳定的情况,反而提供了攻击点
实现消息的认证,sessionn,
检查用户是否有发送或接受消息的权限,可以抽象为一个状态机
Attack 1: unauthorized message
为了处理链接丢失的情况,MQTT定义了一种Will message,作为连接状态
攻击先注册上线,再离开,没有权限了,然后再发送一个指令(被拒绝),然后强制掉线,发出的命令会被执行
攻击变种:Retained message发送给云,云会先存起来,设备上线后再发送给设备。
原因:协议设计时与安全理念有冲突,现在厂商把协议照抄过来有问题,对有问题的消息粗暴删除也不是个办法。要一个一个调整,还要考虑这个协议状态机的整体结构
Attack 2:
用通配符#订阅设备发送的消息,可以接受云上所有设备发来的消息
主流IoT云平台的access delegation protocols
一个APP(Google Home Cloud)就能操作不同云(SmartThings cloud…)上的不同设备
跨云访问需要token来授权,不同厂商定制自己的OAuth协议或IFTTT,越复杂越有安全风险
Attack 1:对设备ID的验证不充分
Future: 现在看这些协议,也没有文档看起来很费劲,期待自动的,形式化的验证
攻击demo均已开源

DeepBinDiff:Learning ProgramWide Code Representations for Binary Diffing

用人工智能的方法来做二进制比对
漏洞分析,抄袭检测,利用生成
大致分为静态分析和动态分析(符号执行,输入输出的行为,性能太差,代码覆盖率低)
机器学习的问题:时间复杂度高,算法复杂,依赖训练集,不同代码间差异大,overfitting问题严重
目标:计算相似度,匹配基本块,考虑编译器的优化,暂时考虑一个体系结构
输入两个二进制程序,CFG分析,相似度分析
不同的opcode计算权重矩阵,TF-IDFmodel
k-hop算法

面向APT攻击的恶意软件深度分析与检测

APT不是一种技术,是一种模式
软件漏洞是对软件“非授权”功能的扩展
发现软件漏洞-》评估漏洞是否可以利用-》执行攻击代码-》后渗透进一步扩展
金刚(KingKong)恶意软件分析系统,在对抗情况下进行分析
AOTA软件分析系统(污点传播),基于硬件模拟的软件动态分析,实现了硬件层,指令级动态分析能力;针对反逆向分析的行为(检查是不是在虚拟机里,有没有杀软,有没有开qq)进行绕过。
恶意软件反沙箱行为探测:
穷举沙箱环境,强制改写程序流程,符号执行
创新点:基于混合符号执行的二进制恶意输入规避行为特征检测
行为分析
看看外部输入影响了那些程序行为。
金刚可以给出恶意软件的特征,重构执行环境可以更好地分析(其他分析软景,eg,布谷鸟)恶意软件行为
漏洞利用
看看漏洞是如何触发的。
大规模程序逻辑分析,一个执行trace上TB。跨进程内存分析,信息编解码,管道传输。
这就很难静态分析了,用到污点追踪技术。污点标记,污点过度扩散的问题要解决。
代码注入检测:有些正常代码也是动态生成的,和外部注入的代码区分不了,还有编译优化的问题。

应用层虚拟化恶意代码的分析与检测

通过虚拟化技术来隐藏恶意代码,提出了通过静态、动态检测的方法

PatchScope: Memory Object Centric Patch Diffing

对补丁进行分析,推测漏洞信息
对于补丁,我们能知道的不多,CVE上有些信息也不对,还是需要bindiff
基于语法,符号执行,语义感知,人工智能的二进制比对
1.基于语法:控制流图相似度检测,启发式匹配函数和基本快
2.符号执行:对输入输出做约束表达式的求解,主要应对代码混淆,如果两段代码输入输出等价,那么则认为等价。就是约束表达式很难看懂
3.语义感知:描述一个行为,使用系统调用、语义库表示语义信息,这样粒度太粗。使用动态测试对行为进行相似性检测,这样粒度太细。
4.人工智能:二进制代码转为高维向量,NLP提取语义信息,还是对微小变动检测力度不足
基于Patch的漏洞自动化利用 2008 认为patch通过增加一个IF来修洞,但其实补丁的修改方法很复杂
现有的bindiff就给一个相似度,这对理解代码修改细节没用

样本本质性及其在PUF建模攻击中的应用

物理不可克隆函数(Physical Unclonable Function)在安全中的应用。
结合样本本质重新考虑了基于延迟约束的样本扩展,指出了该样本扩展方法不能增强PUF的一些建模攻击。
提出了样本本质在PUF建模攻击中两种潜在应用,样本缩减和样本选择。

口令分布研究的新进展

口令始终面临“可记忆”与“抗猜测”之间的矛盾,人的记忆力不变,但是攻击能力迅速增长
口令是怎么分布的?肯定不是均匀的
经研究发现口令是服从Zipf分布,并给出了精确的分布函数(描述下面这条曲线-top1000弱口令的频率曲线)
[email protected]武汉“江夏晴川”网络安全Workshop记录-1

top100的网站,对于口令强弱的判断标准不同,是口令分布基础理论不行。
对口令分布的研究,可以应用于hash**,口令生成策略,口令安全协议。
通过泄露的用户信息,用户旧密码,可以有很大的可能性猜出新密码。