一、为什么现在的广告推送如此精准?

相信不少网友,都有过类似经历:明明只是跟亲朋好友在线下谈论了最近想购买或者需要购买什么产品,事后一打开购物平台就发现首页上精准的推送了该产品,而自己并没有在购物平台搜索过相关产品。让人细思极恐,忍不住怀疑相关公司是否对我们进行了全天行为监控?

其实,一般情况都要归根于大数据下的用户画像、用户行为的分析。商业公司一直在追求在正确的时间向正确的人提供正确的内容,以达到最佳的营销效果。某些用户之所以可以精准收到推送,是因为企业有一套成熟的客户数据管理系统。实时动态记录和统计客户的兴趣爱好和行为习惯,建立实时动态的标签管理。

如淘宝、京东、抖音、百度、华为等,都会将这些采集的客户数据统一管理在客户数据管理平台。企业再根据客户数据管理平台提供的用户画像进行分群管理,通过业务中台实现BI自动化营销。这就建立了用户在A平台搜索浏览过的记录,登录B平台后也会推送相关内容的营销模式。

二、广告推送分类

1.程序化广告

将广告投放的各个环节进行信息化处理,并运用技术手段自动化完成广告的投放和管理。这是一种被法律认可、并在全球范围内普遍应用的广告投放形式。
在程序化广告应用中,广告的内容提供、是否展示等,都由广告主(谁投广告谁就是广告主)自主控制和决定。
APP仅提供程序化广告对接及展示技术,不参与广告内容的提供,更不会获取用户在其它应用内的行为或数据。
这种技术实现不需要APP开启后台监控,本质上是利用手机设备中供开发者使用的“广告标识符”(iOS是IDFA,Android是GAID)。

举例:在淘宝上搜索猫粮,然后关闭淘宝,打开今日头条,发现首页上有猫粮推荐内容。这种不一定是今日头条对用户手机进行了实时监控,一般是淘宝记录了用户兴趣,利用“广告标识符”技术同步关联了今日头条APP上投放的广告。

2、基于兴趣推荐的广告

技术原理是手机APP基于用户和用户关系的行为,推荐可能感兴趣的广告,可以参考微信朋友圈广告。

举例:如果用户每天浏览足球新闻,那就可能向用户推荐球衣、球鞋。当然,如果淘宝账户内有熟人或者朋友的好友,也会基于用户社交关系的兴趣,推荐可能喜欢的产品。

三、广告推送使用的追踪技术会损害个人隐私吗?

当然会,广告推送如此精准,恰恰是因为数据收集方为用户ID做了全渠道的SDK集成,描绘了基于该ID的统一用户画像。

其实,真正值得警惕的是那些无法遏制的技术滥用。互联网早期,每个人上网浏览了什么,ISP运营商或某个攻击者能直接根据用户IP查询或者进行DNS劫持(例:早期电信用户的欠费通知)。当然,互联网的安全建设不可能一成不变,现在的网络通信,访问正规网站时流量都进行了加密。

目前,个人信息安全最大的挑战,恰恰来自于我们24小时不离身的智能手机。移动设备在安全性上是远不如PC的,特别是某些手机的定制版系统。而且,移动设备不仅是系统开源生态问题,用户自身的使用习惯、安全意识也是隐患重重(给予应用过高权限等)。

大部分商业公司都是本着逐利的角度,收集用户数据,经过集成(或批量处理)将来自各个渠道的数据聚合到一起,为商业行为提供完整的、不断更新的用户画像,实现深度的客户洞察。另外,这些商业公司费力收集的数据本身,却极易被来自阴影中的恶意攻击所窃取。

四、从技术角度看,利用手机24小时监听用户是否可行?

目前的技术,大规模监听肯定不可行,但某些攻击者对个人实施监听是存在的。

1.iOS系统不可行;Android系统低版本理论上可行。

iOS系统要开启录音功能,必须在初次安装或使用时得到用户授权。

  • 比如:用户对iOS系统上某款APP开启了麦克风访问授权,之后启动该APP进行语音操作,确实不需要用户二次授权,但是会在前台屏幕的状态栏显示红绿等颜色变化:绿色代表正在通话,红色代表正在录音或录制屏幕。所以iOS系统,APP想在后台录音偷听,技术上是不可能做到偷偷静默的。

Android系统上APP被退到后台,保证自身不被杀死很难,一般的实现手段分如下几种:

  • 利用订阅Android的系统消息进行唤起,比如开机,切换网络等,可以唤醒APP,做到后台运行。
  • 利用一些通用的其它APP的SDK协议唤醒。比如腾讯、字节等大厂,一旦打开一个APP,就可能会尝试在后台唤醒其它同厂APP,甚至自动下载(一般情况下不敢)。

注:Android最新版本禁用了许多系统权限,但一些低版本的国产机型,仍可以自启动一个后台service在保活的后台中。这种唤醒,即使用户开机不启动该APP,也可能被以上的机制唤醒,成功运行。所以,用户在低版本的Android系统给予了某款APP录音授权,该APP确实可以通过上述手段做到静默录音。但是Android系统的录音功能(麦克风)是互斥的,如果某款APP在后台偷偷录音,那么用户使用其它APP调用麦克风就会报错提示。

2、录音上传或语音提取关键词的实现原理。

通过上面的分析,可以得知少部分低版本Android用户,如果不小心安装了恶意软件,可能被攻击者偷听。那么技术的实现原理是怎样的?

第一种——本地语音识别并提取关键词,把结果上传回服务器。

首先,本地保存音频很占手机存储空间,很容易被用户发现。
其次,对语音分析的SDK都很大,因为需要先 “语音转文字”,然后“文字分词”。这就要求本地有一个非常大的词库,甚至包含方言、英语库。匹配关键词的程序执行时,会大量损耗手机性能,耗电量太明显。

注:GitHub上有对应的分词库和关键词库:https://github.com/hankcs/HanLP

第二种——直接把语音上传到服务器,服务器云端解析语音,提取关键词。

这个方案很不靠谱,音频文件就算被压缩,依旧很大。如果一个APP全天不间断的上传语音到云端服务器,很容易被用户发现(比如查看流量使用情况、手机长时间发烫等等)。