摘要:前几年搞了个钓鱼网站智能检测系统的网站,运营了三年后下架了,效果不是很好,唯一的收获让我体会到做好一个产品,光靠技术是不行的。产品定位这个产品主要是帮用户检测钓鱼网站。所谓黑名单是指已经确认是钓鱼网站,所谓白名单是指已经确认是正常网站。
前几年搞了个“钓鱼网站智能检测系统”的网站,运营了三年后下架了,效果不是很好,唯一的收获让我体会到“做好一个产品,光靠技术是不行的”。
下面我从技术层面把产品开发过程分享下。
传统的方式一般是先购买一台性能好点的服务器,放置到某个机房,然后购买公网ip,购买域名等。
现在比较主流的方式是直接购买云服务(百度,腾讯,阿里,亚马逊等)。服务器、公网ip、域名等一站式搞定。
特别需要注意的是,在中国需要给你的网站备案,备案的方法云服务商也会告诉你。
这个产品主要是帮用户检测钓鱼网站。当时是作为一个独立站,其实最好的方式是以插件的方式集成到浏览器、邮件客户端等。
涉及的技术点有BP神经网络,钓鱼网站样本集,web框架,网站黑白名单等。
详细关于BP神经网络的描述,可以到网上搜索,也可以参照这里。
神经网络库比较多,本产品中使用的是pybrain。
样本的收集工作也是比较耗时的,如下网站有收集好的钓鱼网站样本集,可以直接使用pybrain训练神经网络。这个uci貌似比较厉害,存储了比较全的机器学习相关的数据集。
http://archive.ics.uci.edu/ml/machine-learning-databases/00327/
涉及到python,bottle,jquery,bootstrap等技术,这里不详细展开了。这里简单讲下将网站关联到微信公众号的方法。首先需要申请一个微信公众订阅号或服务号,然后简单设置,如下:
将appid,token等信息配置到自己的网站,如下:
#!/usr/bin/env python#coding=utf8import urllib2import jsonimport hashlibimport timeimport xml.etree.ElementTree as ETWEIXIN_TOKEN = "****"WEIXIN_APPID = "wx26942ed464cbb444"WEIXIN_SECRET = "917cd5d34143e3cd2a1b366228f27ae2"WEIXIN_URL = "http://phishfeeds.com"class weixin_handle: def get_access_token(self): url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s" % ( WEIXIN_APPID,WEIXIN_SECRET) result = urllib2.urlopen(url).read() weixin_access_token = json.loads(result).get("access_token") print "access_token===%s" % weixin_access_token return weixin_access_token def message(self , body): data = ET.fromstring(body) tousername = data.find("ToUserName").text fromusername = data.find("FromUserName").text createtime = data.find("CreateTime").text msgtype = data.find("MsgType").text content = "本公众号可查询钓鱼,诈骗等恶意网站,如果您遇到可疑网站,可访问如下网站进行查询!/n/nhttp://www.phishfeeds.com/n" textTpl = """ %s 1234567890123456 """ out = textTpl % (fromusername, tousername, str(int(time.time())), content) return out def get(self,signature,timeStamp,nonce,echostr): if timeStamp == None or nonce == None: return None tmp = [WEIXIN_TOKEN, timeStamp, nonce] tmp.sort() raw = "".join(tmp).encode() sha1Str = hashlib.sha1(raw).hexdigest() print sha1Str print signature if sha1Str == signature: return echostr else: return None def post(self,body): return self.message(body)
通过爬虫,定期到如下两个站点获取完整黑白名单。所谓黑名单是指已经确认是钓鱼网站,所谓白名单是指已经确认是正常网站。
黑名单http://data.phishtank.com/data/68b4c2263bc5687ad3f275f69de3dbba4ae5219aa88c349125d73a064260f866/online-valid.csv.gz白名单alexahttp://alexa.chinaz.com/Global/index.html
https://github.com/yanjinjin/phishing_AI.git
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119598.html
摘要:工欲善其事必先利其器游戏环境对比发表算法在游戏上超过人类之后,游戏研究迅速成为了研究热点。当然这不是网络游戏服务器架构概述一架构模型现代电子游戏,基本上都会使用一定的网络功能。 每个程序员都需要知道一些游戏网络知识 本文主要针对游戏的网络设计,在文章中目前主流的网络游戏实现方案都有讲解。从Peer-to-Peer 帧同步,客户端/服务器(c/s架构),客户端预测(Client-Side...
摘要:然而在中国,还处于比较初级的阶段,很多企业对自身安全问题并没有系统性的管理。年整个中国市场只有亿人民币的规模,这个数字相比中国经济对全球经济的占比是不相符的。 showImg(https://segmentfault.com/img/bV9xRN?w=865&h=950);作者简介: 丛磊,白山合伙人兼工程副总裁2016年加入白山,主要负责云聚合产品的研发管理和云链产品体系构建等。20...
摘要:然而在中国,还处于比较初级的阶段,很多企业对自身安全问题并没有系统性的管理。年整个中国市场只有亿人民币的规模,这个数字相比中国经济对全球经济的占比是不相符的。 showImg(https://segmentfault.com/img/bV9xRN?w=865&h=950);作者简介: 丛磊,白山合伙人兼工程副总裁2016年加入白山,主要负责云聚合产品的研发管理和云链产品体系构建等。20...
摘要:月日晚点,线上直播,中台一种敏捷的智能业务支持方案金融科技领域,能解决什么问题在宜信年的发展历程中,围绕普惠金融和财富管理两大业务板块,宜信陆续推出了宜人贷宜人财富致诚信用博城保险等多个产品,技术已被广泛应用到各产品的业务线中。 [宜信技术沙龙】是由宜信技术学院主办的系列技术分享活动,活动包括线上和线下两种形式,每期技术沙龙都将邀请宜信及其他互联网公司的技术专家分享来自一线的实践经验,...
摘要:在不便中,一直蕴藏着技术革新的机会这时,机器学习来了机器学习是解决安全问题的金钥匙机器学习其实早已到来。正因为安全问题本质是特定领域内的识别问题,所以从理论上讲,机器学习非常适合应用在安全领域,是解决安全问题的金钥匙。 作者简介: showImg(https://segmentfault.com/img/bVXnOA?w=279&h=306); 丛磊 白山合伙人兼工程副总裁。丛磊先生2...
阅读 2116·2021-11-23 09:51
阅读 3592·2021-10-12 10:12
阅读 1235·2021-10-11 10:58
阅读 1980·2021-10-09 10:01
阅读 2327·2021-09-24 09:48
阅读 2545·2021-09-09 11:38
阅读 2097·2021-09-09 09:32
阅读 3416·2019-08-30 15:44