数据处理:巧用Excel去重IDS规则

近期在IDS-suricata规则整理工作中,遇到规则对比去重的问题,特此记录一下我的解决之法,以供参考。

前述

众所周知,开源IDS-suricata是一款开源高性能的入侵检测系统,并支持ips(入侵防御)与nsm(网络安全监控)模式,用来替代原有的snort入侵检测系统,完全兼容snort规则语法和支持lua脚本。具体入门知识,参考安全脉搏上的文章:Suricata IDS 入门 — 规则详解
在此,先列举一个典型规则

(msg:"INDICATOR-SHELLCODE  heapspray characters detected - ASCII     "; flow:to_client,established; file_data; content:"0d0d0d0d";  fast_pattern:only; metadata:service ftp-data, service http,service imap, service  pop3;  reference:url,sf-freedom.blogspot.com/2006/07/heap-spraying-internet-exploiter.html;  classtype:attempted-user; sid:33339; rev:1;)

去重准备

去重最重要的就是找唯一对比值
从上述文章中可知在每条规则的特定字段

sid:用于唯一性规则标识,sid不能重复

因此,去重就要先提取出每一条规则的sid
贴上python脚本代码:

# coding=utf-8
import re

f_rule = open('.\\scan+trojan+worm.rules','r')#需要提取的规则文件
f_rule_readlines = f_rule.readlines()#读取所有行,返回列表

for i in range(0,5584):#文件总行数
    #print f_rule_readlines[i]
    p=re.search(r'sid:[\d]+',f_rule_readlines[i])#从每一行内容匹配特定字符

    if p==None:
        newRule='null'
    else:
        newRule=p.group()

    print (newRule)

print之后,再替换 sid:为空,就获得每一行的 sid
再用同样的脚本,对 base.rules进行提取 sid,复制到excel表中

EXCEL去重技巧

众所周知,EXCEL是一款神器,内置无数技巧,处理数据一流,我们接下来不用写Python代码,直接利用EXCEL自带功能进行数据去重(现成的好用,何必再造轮子呢?)


我用的是WPS,依次点击 数据-数据对比-标记两区域中重复值

如上图,对应填好需要对比的区域,点击确定即可

此时,可见重复的sid值所在的单元格已经有了标记颜色

但是,如何把重复的sid对应到每一条rule中??然后再把重复的rules删除,而且我还不想写Python代码

???怎么办???

我是这样解决的:把之前的rules数据也一同复制到excel列中,这样,每一行的sid都能与rules对应上,不会混乱

下面就是展现真正的技术了

Ctrl+F,进入替换功能,点击选项


点击 格式,选定 背景颜色

然后点击到被颜色标记的单元格,选定查找全部

然后 Ctrl+A,选择所有被查找到的单元格

然后鼠标移动到单元格(此时,所有被标记的单元格都已经被选中),右键-删除

然后选择- 删除整行即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值