![]() |
![]() |
#1 (permalink) |
版主
注册日期: 2012-02-07
帖子: 281
|
![]()
一、FuzzyOcr简介
部分垃圾邮件采用图片或PDF的方式来发送邮件,这些垃圾邮件在图片内容加入大量的噪声数据(noisy data),以避开扫描引擎的侦测。 FuzzyOcr是利用光学字符识别(OCR)的方式,来识别图像邮件所包含的文字信息,并利用Fuzzy matching算法,辨别出里面的文字; FuzzyOcr的功能: 1、光学字符识别使用不同的引擎和设置; 2、模糊词匹配算法应用于光学字符识别结果; 3、图像散列系统,以了解已知的垃圾邮件图像独特属性; 4、尺寸,大小和完整的图像检查; 5、内容类型核查包含电子邮件; 6、匹配和学习技巧; 7、支持DB,可将处理过的图片,以feature vectors的形态储存在数据库,因此相同或是类似的图片,便可以利用储存在DB的特征向量来处理; 二、配置FuzzyOcr 1、安装依赖 # rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # yum install giflib-utils gifsicle netpbm-progs ocrad gocr perl-String-Approx 2、安装FuzzyOcr # rpm -ivh spamassassin-FuzzyOcr-3.6.0-9.noarch.rpm 3、配置FuzzyOcr FuzzyOcr的配置文件,基本上不用修改就可以使用,下面参数请根据自己的情况修改。 # vi /etc/mail/spamassassin/FuzzyOcr.cf 内容如下: ##开启日志,日志有4种级别(0-3),数值越大,日志越详细。 focr_logfile /var/log/FuzzyOcr.log ##扫描命令,根据自己的需要添加或减少 focr_bin_helper pnmnorm, pnminvert, pamthreshold, ppmtopgm, pamtopnm #focr_bin_helper tesseract ##扫描最大运行时间,默认是10秒 #focr_timeout 15 ##最小图像尺寸,小于这个参数的图片将被跳过,此参数不适用于PDF文件 #focr_min_height 4 #focr_min_width 4 ##最大图像尺寸,大于这个参数的图片将被跳过,此参数不适用于PDF文件 #focr_max_height 800 #focr_max_width 800 ##不同格式的最大图片大小,单位是"byte",大于这个参数的图片将不会扫描,默认值:无限制 #focr_max_size_gif 80000 #focr_max_size_jpeg 100000 #focr_max_size_png 80000 #focr_max_size_bmp 500000 #focr_max_size_tiff 500000 ##跳过以下图像类型的检查,默认值:0 (检查图像类型) #focr_skip_gif 1 #focr_skip_jpeg 1 #focr_skip_png 1 #focr_skip_bmp 1 #focr_skip_tiff 1 ##定期情况临时目录 #focr_keep_bad_images 1 4、备注:配置FuzzyOcr数据库 如果你想采用数据库来存储邮件特征,FuzzyOcr有两种数据库存储方式,第一种是Hash,第二种是MySQL,这里我只结束MySQL存储方式。 建立数据库 # mysql -u root -p -e "create database FuzzyOcr" # mysql -u root -p -e "grant all on FuzzyOcr.* to fuzzyocr@localhost identified by 'ruzzyocr'" # mysql -u root -p FuzzyOccr < /usr/share/doc/spamassassin-FuzzyOcr-3.6.0/FuzzyOcr.mysql 配置FuzzyOcr # vi /etc/mail/spamassassin/FuzzyOcr.cf ##设置MySQL数据库名、用户名、密码、SOKCET focr_mysql_db FuzzyOcr focr_mysql_hash Hash focr_mysql_safe Safe focr_mysql_user fuzzyocr focr_mysql_pass fuzzyocr focr_mysql_host localhost #focr_mysql_port 3306 focr_mysql_socket /tmp/mysql.sock ##从下列选项采用不同的数据更新数据库表,默认是0 #focr_mysql_update_hash 1 三、测试: # service amavisd reload # spamassassin --lint 示例分析 一封邮件信头: X-Spam-Level: *********************************** X-Spam-Status: Yes, score=35.41 tagged_above=-10 required=5 tests=[DSPAM:Innocent=-1.000, ALL_TRUSTED=-1.44, DSPAM_HAM_99=-3.23, FH_DATE_PAST_20XX=3.384, FUZZY_OCR=34.500, LONGWORDS=3.196] autolearn=no 测试的环境为EMOS-1.5,没有导入DSPAM训练库;发送了一封带图片的垃圾邮件,在信头的绿色部分是DSPAM评分,红色为FUZZY_OCR的评分,可以看到邮件已经被识别为垃圾邮件; 备注: 如果FuyyzOcr不需要tesseract支持,可以不用安装 四、配置tesseract-ocr Tesseract的OCR引擎最早由HP实验室于1985年开始研发,到1995年时已经成为OCR业内最准确的三款识别引擎之一。2005年,Tesseract由美国内华达州信息技术研究所获得,并请Google对Tesseract进行改进。目前,Tesseract被认为是最精确的开源 OCR 引擎之一,并支持多国语言。 1、安装依赖 # yum install libgif-devel libjpeg-devel libpng-devel libtiff-devel zlib-devel # wget https://leptonica.googlecode.com/files/leptonica-1.69.tar.gz # tar zxvf leptonica-1.69.tar.gz # cd leptonica && ./configure # make && make install 2、安装tesseract-ocr # wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz # tar zxvf tesseract-ocr-3.02.02.tar.gz # cd tesseract-ocr && ./configure # make && make install 3、安装tesseract语言包,我这里添加了英文、中文的支持,如果需要其他语言支持,请下载其他的语言包 # wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.eng.tar.gz # wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.chi_sim.tar.gz # wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.chi_tra.tar.gz 解压这些语言包,然后复制到/usr/local/share/tessdata目录,然后测试是否生效 # tesseract --list-langs List of available languages (3): chi_sim chi_tra eng 4、测试图像识别 # tesseract -v 显示以下内容,说明安装正常。 tesseract 3.02.02 leptonica-1.69 libjpeg 6b : libpng 1.2.10 : libtiff 3.8.2 : zlib 1.2.3 使用tesseract-ocr测试识别,识别出来的文件在output文件里面 # tesseract phototest.tif output -l eng 5、配置FuzzyOcr支持tesseract # vi /etc/mail/spamassassin/FuzzyOcr.cf 内容修改如下: focr_bin_helper tesseract 6、测试: # service amavisd reload # spamassassin --lint
__________________
陈彦博 邮件事业部 技术支持工程师 北京春笛网络信息技术服务有限公司 北京海淀区知春路23号863软件园量子银座903室 100191 电话:010-82356575-6023 传真:010-82356575-6004 手机:18622575102 电邮:chenyb@mailer.com.cn 网址:www.chundi.com QQ:1481461853 1650928809 |
![]() |
![]() |