思考:如何做好产品的安全防范工作

by ruoaa

近 2 年,企业信息安全炒得很热,一直觉得这是做安全产品公司的事,离我比较远。但最近的一件事,改变了我的看法,促使我去思考:如何从产品设计上做好安全工作,保护客户利益。

女友是做外贸的,公司用的 CRM 系统是业内的一家新兴公司的 Saas 产品。上个月,她一同事的账号被盗,盗号的人给客户发了一封诈骗邮件。结果,客户把 3 万多美金的货款打到骗子那里了,钱反正是没追回来。

类似的事情不是第一次发生,之前她们的一客户还收到过钓鱼邮件,同样是客户把货款打到骗子那里。骗子只不过用的是个老掉牙的方法,用一个跟她们公司邮箱相仿的地址给客户发了银行帐户信息。客户没仔细看,以为是公司的邮箱,结果就中招了。

像上面的事情,最后的结局是两败俱伤:客户被骗了钱,不信任公司,公司也因此丢了客户。被骗以后,老板又没办法,你做外贸,总不能不用邮箱吧。同行之间一交流发现,大家都有碰到。好吧,次数多了,就习惯了。反应给软件提供方,他们也不重视,销售说是你自己没有注意安全,泄露了密码。一听,挺在理,没办法,拧着大腿还是得认倒霉。

听到上面的事,第一感觉就是可惜:一方面是公司客户的损失,另一方面是客户的流失。早期创过业,明白这对公司的影响。作为产品人,是可以采取一些技术手段,提高产品安全,减少此类事情的发生。虽然这些努力难以被后验量化,但是有价值的。如果等到事发之后再弥补,那时候就是一个大坑了。

信息安全本应是产品最基本的要求,在产品初期就该开始注意,尤其是企业产品,关系到客户的利益得失。很多的初创公司往往因为忙于产品初期的完善,对此不够重视。

金融公司里有严格风控系统,时刻监控用户的操作行为。初创公司不像大公司有足够资源来做这些事情,但至少可以做安全防护模块,并将其独立出来,还可以服务多个产品。设计的核心就是判断的客户的行为是否异常,然后给出相应的预警提示。可以从哪些方面下手呢?

我的构思是:类似风控系统,建立一个模型,针对用户的每一步操作行为行为进行动态打分。每一步操作的打分都不是孤立的,具有连贯性,都会基于历史的操作来进行判定。一旦触发了相应的阀值,系统就采取相应的保护机制。像这样,设定一个风险指数,从 0 到 1。系统对每一次账号的完整过程(从登录到活跃)进行评估,达到相应级别,系统采取相应的保护措施,比如,

级别 分数 保护措施
0.2 - 0.4 邮件,短信,App通知提示帐号有异常活动
0.4 - 0.7 强制进行二级验证,如短信,邮箱或微信。
0.7 - 0.99 限制性在某段时间内,或ip上的一切活动

用户风险指数基于的行为轨迹来判定,有两个阶段:账号登录和账号操作。针对不同阶段,权衡不同因子,最终得出一个打分。下面是我的思路:

账号登录

登录是安全保护的第一道防线,这个阶段就可以拦截大量的异常操作。

登录失败次数。记录账号短时间内登录失败的次数,防止别人通过大量的测试来获取你的密码,这也是最基本的保护。比如,有的密码输入错误次数达到 3 次以上后,就会加验证码。有的输入密码错误次数达到阀值后,限制一时间内才能的再试。

IP地址。一般用做判断登录地点是否为常在城市。另一方面用做辅助信息来做一些异常判断,做进一步限制。比如发现在某个IP存在频繁的指令行为,可以限制该IP的上账号活动。

使用设备。辅助信息,识别异常操作信号。

登录时间。记录用户的活跃情况,画出用户的工作时间分布图,帮助识别异常操作。比如用户一般都是工作时间登录,突然某一天出现凌晨 2:00 登录的现象,用户在些之前并没有登录连续活跃的记录,这时候就有一定的可疑性。

登录及活跃地点。辅助信息,识别用户的异常行为,可画出用户活动范围图,减少对异常情况的误判。现在有第三方IP地址库的公司,提供定位服务。所以即使是用PC,在不借助GPS和基站定位的情况下,也能精确地定位到你在某一栋楼里。

上面所列的判别因子都是相互影响,彼此之间会影响,需要权衡不同的因子,排除干扰,最后做出评定。

之前出差去过几次柳州,每次去柳州用百度云盘时,都会收到邮件,异常登录提醒。虽说是异地,但我一直用的是自己的手机,第一次提示还能理解,次数多了对用户就是干扰。

小试牛刀,假想一个场景:

小A 是做外贸的,很少出差。突然有一天,系统后台收到他的账号在长沙登录的请求,而在前一分钟,他的活跃地址还是在深圳。如果是你来设计安全规则,你会不会怀疑账号被盗,要求进行二级验证吗?

真实的情况可能是,小A 的公司在长沙有一办事处,他的一同事B 正好在那里出差。当时需要小A 来协助查找一信息,小A 正好要出去,就直接把账号密码给了同事B。同事B 登录用的是自己的电脑,小A 3天前在这台电脑上登录过。

账号操作

虽然登录阶段已有预防,但成功登录也并不意味账号是处于安全状态的。在条件成熟的情况下,即使有验证,骗子也能突破第一道防线。

给你发个引诱短信,你被骗点了链接,尝试登录,结果就泄露了帐号和密码。更糟的是,你还下载安装了病毒软件。当你手机接到验证码时,木马直接把验证码通过网络或短信转发到骗子那里。

账号通过之后,想要判定账号异常情况难度就大一些,但这不意味着就没有可努力的空间了。可以从一些短时间内可疑行为,结合网络的环境来评估。

可疑行为。以外贸软件为例,比如说,

  1. 大量的下载,导出文件。
  2. 大量的转发邮件。
  3. 大量的发送邮件。

其它敏感操作,如:

  1. 发送带有付款账号的邮件。
  2. 发送之后立即删除等

每个账号的安全评估也不是孤立的。不仅要留意独立账户的安全,还要关注不同账号之间关联判断。

举一个例子,

一伙诈骗团队发现某一产品的漏洞,破解多家企业用户的账号密码,借助非法手段通过了二级验证。但后台系统识别出来这种异常,同一IP上的出现多家企业账户登录,操作时间是在可疑的凌晨时段,三家企业分别在 3 个不同城市,但操作地点却在同一个地方,使用的设备也是从来没有用过的。系统可以直接对其IP进行封锁。在一定时间段时限制使用该IP访问产品。

脑洞时间

有安全防护,就会有误判,设计的时候不光要考虑安全,还要考虑好怎么尽可能减少误判的可能,以免给用户增加不必要的麻烦。这个设计过程实际上就是在建模,

  1. 通过规则的建立来模拟出用户的操作习惯。
  2. 判断账号的操作行为是否符合规则。
  3. 然后做出相应保护策略。

要想设计出稳定可靠又优雅的安全模块,需要持续不断地完善和优化上面的规则。但每个用户的习惯又都会不一样,如果这些优化工作都需要人来做,就要背后做规则的人去不停地学习用户习惯的判断,这个工作量是十分庞大的,而这恰巧是人工智能所擅长的事情。

兴许,未来有一家利用人工智能专注于安全,基本用户操作行为进行分析的公司。那些做产品的公司愿意的话,只要把用户的所有操作行为开放给上面第三方公司,第三方公司就能对用户的操作进行动态安全评估,得到反馈的公司根据结果再做出相应的保护策略。

所以有条件的话,不妨现在做一些埋点工作,把用户关键的操作行为都记录下来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容