cdxy.me
Footprints on Cyber Security and Python

SVM-核函数

把低维线性不可分的数据通过核函数映射到高维空间,从而增量了数据的可分性。

png

安全日志维度:
png

缺失的"WEB应用层日志"

在入侵检测的问题上,我们习惯通过 应用层日志 来判定入侵。如:对SQL执行日志进行审计,如发现恶意SQL执行记录,则判定入侵成功(SQL注入漏洞被利用,或SQL服务被恶意用户登入)。

相比之下,WEB的 应用层日志 是缺失的,我们只能在协议层日志(HTTP)对黑客的攻击手段做粗粒度判断,传统IDS对HTTP的request和response进行分析来而判定入侵成功。应用层日志的缺失正是WEB入侵难以检测的原因。

SkyWolf

2016年360校招面试,面试官就WEB方向询问我是否打算深入研究php的底层代码,原因是可以打开一个新的"维度"。

彼时,WEB方向的黑盒测试工具(扫描器)主要有AWVS/Netsparker/AppScan以及开源的w3af,白盒审计工具还停留在seay的审计工具/开源的RIPS/商业化的Fortify。

png

由于漏洞挖掘(fuzz)与验证的逻辑是观察 输入点与输出点,SkyWolf通过插件的方式hook了php底层逻辑,使得我们能够在应用层(zend)的维度观察到fuzz的结果。相较传统的协议层(HTTP)fuzz而言,这种"灰盒"的测试方法获取到的回显更加准确、完整,可有效提高漏洞挖掘的效率。

相比之下对Python内置函数进行hook的成本要更低一点,此前发过一个 DEMO

RASP

Gartner在2014年提出了应用自我保护技术(RASP)的概念,即将防护引擎嵌入到应用内部,不再依赖外部防护设备。

RASP同样是一次"维度变换"的成功,传统的WAF产品的拦截能力依赖HTTP流量,而RASP将战场从协议转移到应用层,在这一维度中,攻击者的混淆能力被大幅削弱,其代码意图昭然若揭。

一些RASP产品将采到的数据tokenize之后使用规则或异常基线(寻找正常行为的pattern来区分异常)来判定入侵,从而对"未知漏洞"拥有一定的拦截能力。

RASP的价值不仅限于直接拦截,如果能够将全部的函数调用记录、出入参、执行链路等数据入库,这份数据将极大的赋能入侵检测。我们将HTTP请求和RASP采集的日志接入数据分析平台做关联分析,在不依赖主机侧数据采集能力(HIDS)的前提下实现通用的WEB入侵检测方案。

上规则!覆盖!

基于通信日志的发现能力必须要适应各种不同的环境,基于不同protocol/app/malware/payload特征的规则数不胜数,尽管运营人员不断对规则进行丰富完善,攻击者的bypass手段仍是道高一尺魔高一丈。除了应用层的越权和数据泄露以外,许多高危攻击会穿透到系统内部。系统维度的日志复杂度远低于流量日志,且自带"入侵成功"属性,无需复杂验证。

HIDS

HIDS(host-based intrusion detection system)从系统维度降低了某些场景入侵检测的难度,与NIDS能力互补。

当难以通过流量判定入侵成功时(如:WEB命令执行漏洞的利用),我们可以对主机的进程执行日志进行审计,如果在进程中发现恶意指令,如:curl xxx | sh,即可轻松判定入侵事件。从这个角度来讲,一份好的进程审计模型可以自动对大多数RCE漏洞(包含未知的Nday)以及其他后渗透利用的行为作出告警。

传统沙箱能不能跑webshell?

基于文本的webshell特征提取器与静态查杀一样,永远看不清程序运行时的真面目。静态特征尤其对混淆后的文本区分能力差,所以能不能用沙箱给我来点动态特征?

  • 通过hook的方法做沙箱行不行?要hook哪些函数?call chain追不追?为什么又被绕过了?
  • 难道我要对每种脚本语言开发沙箱?ASP支持的脚本有几种来着?手工执行的脚本要怎么查杀?(Python/PowerShell)
  • 能不能给脚本一个触发器(如把Python打包成exe),然后用传统malware沙箱(cuckoo)跑?

Function & API Calls

操作系统向用户开放的功能接口,无论是恶意的可执行文件、脚本代码或是webshell,其运行时均会对操作系统透明。这一维度会产生大量日志,数据的空间结构与其表示的行为也将更为复杂。

不区分服务、文件类型、脚本语言,在操作系统/内核视角把一切看穿,是否是未来安全数据分析的方向?

REF

  • https://rasp.baidu.com/
  • http://free.eol.cn/edu_net/edudown/spkt/chenyan.pdf
  • https://0kee.360.cn/skywolf/