编写简易病毒扫描程序
枪
思想
.text .rdata .data .rsrc .reloc
思想
.upx .upx1
机器学习
SVM - Support Vector Machine 监督学习算法
svm-toy.exe
获取病毒样本
/
开始开发
Ruby
rb-libsvm pedump sqlite3
感染性
潜伏性
破坏性
变异性
分类(不严格)
木马、僵尸网络(僵尸或称肉鸡,DDOS)
有害软件(蠕虫、间谍软件、流氓软件、恶作剧软件) 脚本病毒(宏病毒) 文件型病毒(感染文件,寄宿在可执行文件等)
ClamAntiVirus (ClamAV)
可以统称为“恶意程序”
危害 - 冲击波蠕虫
2003年8月
DDOS攻击
360 QVM
Qihoo Support Vector Machine 海量的白名单及病毒样本 专利链接
/patents/wipo/Method-system-program-identification-based/WO2012071989.html
IMAGE_NT_HEADERS
IMAGE_SECTION_HEADER S
概念
导入表 Import Address Table
导出表 程序入口点 节
加壳
可执行程序资源压缩
本意为保护文件 特殊的算法 在内存中解压
UPX
加壳前后比较
在线自动分析工具
金山火眼 https:/// VirusScan /
pedump获取文件属性
imports : string list
sections : string list
packer : string
version : string
company : string
将文件属性,转换为vector
所有属性顺序组合 转换为一个vector
将IAT和Section转换为vecto r
sqlite3 存储IAT 与 section的name和weight
训练模型
libsvm.train
测试模型
predict
参数调整
需要大量的样本
剩余问题
训练大量样本
降低误报率 加入更多关键的特征,例如OEP是否修改、数字签名 自学习
GitHub https:///everettjf/RubySVMVirusScanner
Text
编写简易病毒扫描程序
朱峰 everettjf
什么是计算机病毒
反病毒技术的发展
分析计算机病毒
编写简易病毒扫描程序
什么是计算机病毒
1949年 冯· 诺伊曼 《Theory of self-reproducing automata》 “能够实际复制自身的自动机”
WikiPedia
是一种在人为或非人为的情况下产生的、 在用户不知情或未批准下, 能自我复制或运行的电脑程序。
Feature-based
File Size
Import Address Table
Section
Resource (Version, Company)
Packer
思想
PE 文件 操作系统 人 世界
思想
CreateFile
笔
思想
CreateService
小刀
思想
SetWindowsHook CreateRemoteThread
参考:https:///wiki/Computer_virus
磁芯大战
1960s 贝尔实验室 磁芯存储器 雏形
Creeper 1971
Reaper
https:///wiki/Creeper_(program)
主要特征
传播性 隐蔽性 可激发性 表现性
扫描器 病毒库
虚拟机
基于文件的第一代扫描技术
字符串扫描技术
通配符扫描技术
文件路径?No.
Hash-based
Body-based
0601 0203 ?B?? DD3F * 66E2
基于文件的第二代扫描技术
智能扫描法 近似精确匹配法 多套特征 校验和,分块校验,密码校验等 骨架扫描法 精确识别法
计算机重启、崩溃
利用系统漏洞,自动传播
变种
https:///wiki/%E8%A1%9D%E6%93%8A%E6%B3%A2%E8%A0%95%E8%9F%B 2
Parson
危害 - 恶作剧
女鬼病毒 2000年 台湾地区发作时曾经使人因为惊吓过度,在送往医院救 治后死亡 下面是演示,“小心”
// TODO 故事,声音,图像
危害 - 国家安全
火焰 - 伊朗石油部门商业情报
2012年发现
追朔到2007年
震网 - 伊朗核设施
毒区 - 伊朗工业控制数据
/forum.php?mod=viewthread&tid=1052240
反病毒技术的发展
反病毒软件组成
基于内存
内存特征 应对加壳程序
基于行为
行为特征
复制文件到system32下,自启动,自删除
主动防御
微点
360安全卫士的ZhuDongFangYu.exe
云查杀
利用服务器能力 大量客户端上报可疑文件
多引擎
360的QVM、云引擎、小红伞、BitDefender
人工智能
机器学习
神经网络 例如: 360QVM
昆明治疗羊角风医院
昆明羊角风专科医院
昆明治疗羊角风专科医院
昆明最好的羊角风医院
动态分析
OllyDbg
Windbg WireShark …
看雪学院
/
工具分享
/s/1kTrAYAb
编写简易病毒扫描程序
简易,扫描,基于文件
QVM
xiao70
me
相关书籍
《加密与解密》 《计算机病毒防范艺术》 《病毒分析实战》
《黑客免杀攻防》
《集体智慧编程》
《模式分类》
《统计学习方法》
self.about
C++程序猿 渗透测试初学
“Thanks.”
everettjf
2014.12
分析计算机病毒
PE文件
• • •
可移植的可执行文件 Portable Executable PE由Unix中的Common Object File Format(COFF)格式修改而来
• •
Windows PE Linux ELF
•
MacOS Mach-O
IMAGE_DOS_HEADER
MZ MS-DOS最初的架构师Mark Zbikowski
https:/// 金山火眼
静态分析
IDA Pro
PEView
PEiD
Sysinternals - string , autorun …
Dependency Walker
…
昆明治疗癫痫病专科医院
昆明最好的癫痫病医院
昆明羊角风医院
昆明治疗羊角风