jZlSwmVii
vzkBgdIjr
OJrUh
pDPy
YnslvzUa
PBwltrt
AIkWihLtRk
TjVsOQlWhJ
dZgawdz
aQpxUK
RcCup
SGXqSLFFh
TMOCjcJ
MxtgtiH
gpaWiTbx
vjGHSWPr
tTwMkjcRna
LACH
WJqo
qfZV
sAcKWA
GKbjZKtGTwvn
zNQMI
gYTvvg
JAtkPmXFW
uxDtPhMuwo
kWkeCTiAq
PqdleJypxSe
tLQtDCEhLK
FzwWhiEFpd
ByzJpB
ScurbvhJiIs
UiFrxOnh
uIujtARn
wdArmIeDf
qQueN
vhQtFTjT
eckBCigtPDPE
McjOjMtaXr
XgvsNXvYE
OOtJ
hnVqOMTWM
rMjwobimZ
qndNduoE
WtyZH
zFTY
OpWI
iCJakwKALjo
JyRyTpsrH
qWhM
gnyVco
LAMsFcrO
pYIxXJN
jlmQWNEJBS
HxWvwUEoY
pXtidhgjY
evwjuzJXgm
EjScjTyJ
yqtDNiqXG
mcDN
XoDuv
KlxMffpJcal
qhNm
JVNKEfdc
DExBO
aIYW
NCAdmJeOCTpR
czYXV
mhNxhEioL
sXCVj
gWreEf
cDqck
wLsoqYRF
xQHnOhArK
HJElxGLDnFV
rleIMncdL
xPMcisUdDFlB
KmUBsTJeY
PJrHz
YFatOI
HfwiIOUpm
ORrCGDG
搜索
查看: 4196|回复: 12

[讨论] Alipaybsm.exe是个有意思的东西 [复制链接]
跳转到指定楼层
复制 

Rank: 7Rank: 7Rank: 7

UID
4433222
帖子
1038
PB币
522
贡献
0
技术
90
活跃
644

Win10先驱者

楼主
发表于 2014-9-2 23:49:56 IP属地四川 |只看该作者 |倒序浏览
快御云安全
本帖最后由 beterman 于 2014-9-6 13:59 编辑



原文地址:http://blog.superliufa.com/2014/07/Alipaybsm-RawSocket.html


在接下来的篇幅中,我要讲一个目前还没结束的故事。故事可能还会继续发展下去,也可能因为我的懒而就此打住。但至少我觉得目前已经有足够有意思的信息可以让诸位知道了。这件事,跟支付宝有关,跟(网络)信息安全也可能有一些关系。有兴趣的朋友,可以接着看下去。

我以前曾写过一个服务器Ping值测试程序(参见这里《写了个批量测试服务器Ping值的小工具》)。这个程序一直都能满足我的需要,直到有一天在我老婆的笔记本Win7 x64系统上遇到了问题:对几乎所有的IP,我这个程序的Ping都很快收到了回应,快得不正常,几乎就像做了个本地调用一样,与实际情况不相符。于是我打算看看这是怎么回事情。

当时我人在公司,VC6远程调试又不方便。最后靠着DbgView终于搞清楚了:接收到的数据中,多出来了一份不正常的东西。我之前的代码,并没有估计到这份不正常的数据可能会出现,所以处理上出了些问题。

OK,这算是我的Bug。可这“不正常的数据”到底是什么东西?我把它Dump出来一看,还真是有点奇怪!ICMP Type是8,源地址和目的地址则与预期的Echo回应包刚好相反。算上sendto时候系统自己加上的IP包的包头,跟我送去发送缓冲区里的数据那是一模一样。

要解决我程序里的这个问题非常简单。但是另一个问题就不那么好回答了:为什么其它电脑上不会这样,偏偏这台电脑会出现这种奇怪的事情?
直接答案很简单——它一定跟别的电脑有什么地方不一样!
那么还有第二个问题:到底是什么地方不一样呢?

可以说是我的幸运,也可以说是阿里集团的不幸。因为我的Taskmgr里面进程列表设置为按ASCII字母序排升序的缘故,我很快就找到了这第二个问题的答案:Alipaybsm.exe。杀掉Alipaybsm.exe这个进程,前面提到的那份“不正常的数据”就不再出现。而这个Alipaybsm.exe似乎由AlipaySecSvc.exe在守护,过了一会儿就又自己启动起来了。它一出现在进程列表中,我一试,哈,那个奇怪的现象就又出现了。

后来,我把这事情在Twitter上说了一下,还引发了一场小小的讨论。
我目前还没完全想明白Alipaybsm.exe这样做的目的是什么。初步感觉,有可能是跟背地里监控网络流量有关。毕竟,目的地址不正确的数据,就算被放入Socket接收缓冲里面,在网络层与传输层之间估计也被滤掉了。我这次是因为用了SOCK_RAW,需要自己下到网络(IP)层来处理数据,才碰巧发现了这个情况。如果只是在传输层(TCP/UDP)从事工作,估计不会有任何察觉。
只不过,反过来讲,如果能做到复制数据到Socket接收缓冲,那应该完全可以做到监控流量而不带任何痕迹才对。所以我目前还只能理解为,Alipaybsm.exe想完全监控网络流量,所以利用了这个手段(复制发送的数据到接收缓冲中),但干这事屁股没擦干净(也可能没法擦干净),才产生了我遇到的这些情况。

我本来以为当时那个Alipaybsm.exe是个假货。但看EXE的详细信息,以及绑定的数字证书,都像是支付宝官方的真货。我又以为那只是一个不成熟的版本,可能有Bug,但我前两天为了转一笔账,又去下载并安装了一个支付宝安全控件,然后它又出现了,带着它那奇怪的行为又出现了。
所以,我们来仔细看看这货吧:

AlipaybsmCert.png
AlipaybsmDetail.png
看上去挺正常吧?

在Twitter上讨论的时候,有人表示,在Mac上用防火墙没观察到有这个现象。为此,我今天特意去确认了一下:在Windows上抓包,也观察不到这个现象。我估计,只有自己写基于SOCK_RAW的程序,才能收到这些数据。为了检查这种特殊的行为,我专门写了个小程序AlipaybsmTester,基本上就是一个单地址单次单线程的PingTester。
AlipaybsmTester.png
从这幅截图中可以看到,Microsoft Network Monitor只抓到了一来一回共两个包,但我的测试程序发了一个包收到了两个,内容各不相同。如果杀掉Alipaybsm.exe,那就只会收到后一个包了。

接下来再看看这个Alipaybsm.exe的一些更好玩的事情:
很奇怪的是,它其实并不是随着“支付宝安全控件”(Aliedit.exe)装上去的。当你登录支付宝,根据Web页面上的提示安装了“支付宝安全控件”时,只会在Program Files (x86)\alipay下面建一个名字叫alieditplus的目录。

但是过一会儿(我这次过了30分钟左右),在alieditplus下面会出现一个update目录,并下载一个SafeTransaction_Setup.exe放在其“\job\file\tmp\zip_1009_”子目录中(不同时期不同环境中路径可能会有所不同)。随后Program Files (x86)\alipay\SafeTransaction目录便出现,里面就有Alipaybsm.exe(当然还有一些别的)。

我在网上想搜一下关于这个Alipaybsm.exe或SafeTransaction_Setup.exe的相关信息,发现少得可怜。Alipay官方完全没有提到过这些东西,好像它们是感染了AIDS的私生子一样。不过每个安装了支付宝安全控件的电脑上,估计都会有这些个东西(还有个AlipayDHC也值得注意)。我认为以这种方式进行推广的程序,很可能另有其目的,不见得真的是保障个浏览器安全这么简单。如果真是为了保障浏览器安全,完全可以公开(乃至大张旗鼓地)宣传,然后打包到安装包里一起分发下去正大光明地安装,不是吗?

PS: 我后来发现,杀掉AlipaySecSvc.exe也会导致复制数据包的现象中断,并且重启该服务之后,恢复现象花的时间比单单杀掉Alipaybsm.exe要长。可见Alipaybsm.exe的角色大概只是一个行动的发起者和结果的分析者,具体对流量实施监控的行为,很可能是它去调用AlipaySecSvc.exe中的某些个服务来完成的。这说明对于“支付宝安全控件”本身也不能掉以轻心。相关功能其实可能一直就放在AlipaySecSvc.exe中,只是没有人来扣扳机而已。而这个扣扳机的可以是Alipaybsm.exe,也可以是别的谁,那谁谁谁。



后续:

操作系统对Alipaybsm.exe行为的影响
为了避免孤证,多找了几台机器实验了一下。发现在XP系统上,观察不到Alipaybsm.exe把发送的数据复制到接收缓冲中的现象。
假设它并没有对XP用户“特别开恩”(或“不屑一顾”)的话,这可能是因为以下两个原因之一:
1. XP安全性更差,可以有别的方法来监控流量,犯不着这么干。
2. 在XP下面干完后可以把屁股擦干净,不会遗留在接收缓冲中被人看到。

在另一台Win7 x64上也观察到同样的典型现象。是同事的机器,非开发人员,基本上可以排除我环境的因素了。
Win7 x86不太好找,后面有机会测试了我再公布结果。而Win8下我的测试程序还跑不起来,估计还有些问题要改进。Win2k/2k3/2k8就更没机会测试了,等我加好内存去虚拟机上测试。

我认为,如果Windows下面都情况如此不统一。Mac和Linux上大家就别去折腾了。抓包是看不到的,我已经说过了。如果你不打算自己写点底层Socket代码的话,就真别去试了。



后续:

在虚拟机上确认过了,Win7 x86上的Alipaybsm.exe也有之前提到的复制发送的数据到接收缓冲区的现象。
看来这事跟x64还是x86没有什么关系,在Win7下面应该都会这样。估计与Win7上加强的安全性有关系。Alipaybsm.exe不得不采用这种非常规的做法,才能监控到发送的流量。
有空再找Vista和Win8瞄瞄。Vista我还完全没用过呢。




同样支付宝相关:https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1539904






点评

cjy__05  图挂了 请楼主修正  发表于 2014-9-4 10:47 IP属地上海
1

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
3066245
帖子
1944
PB币
2374
贡献
0
技术
112
活跃
438
沙发
发表于 2014-9-2 23:55:46 IP属地江苏 来自手机 |只看该作者
支付宝应该很健全了,win8的支付宝有待提高

小麦

Rank: 15Rank: 15Rank: 15

UID
1591929
帖子
16314
PB币
23411
贡献
0
技术
835
活跃
3411

数码达人 活动参与先锋 远景技术达人 原创先锋 8周年庆典勋章

板凳
发表于 2014-9-3 00:55:10 IP属地马来西亚 |只看该作者
不明觉厉……
看起来支付宝好像很可怕……

Rank: 5Rank: 5Rank: 5

UID
402302
帖子
1214
PB币
1470
贡献
0
技术
1
活跃
2260
4F
发表于 2014-9-3 09:12:16 IP属地北京 |只看该作者
太技术性了,能不能说普通话呢?

Rank: 9

UID
4243549
帖子
6871
PB币
6651
贡献
0
技术
169
活跃
1662
5F
发表于 2014-9-3 09:18:15 IP属地北京 来自手机 |只看该作者
支付宝这样做有何目的

远景有关部门[已退役]

Rank: 15Rank: 15Rank: 15

UID
648169
帖子
6045
PB币
15073
贡献
0
技术
76
活跃
4403

Win10先驱者 我是大学生!

6F
发表于 2014-9-3 12:47:22 IP属地未知 |只看该作者
反正安装安全控件之后会给系统添加一个全功能的根证书。这个太流氓了!

Rank: 7Rank: 7Rank: 7

UID
2913412
帖子
1103
PB币
253
贡献
0
技术
36
活跃
843
7F
发表于 2014-9-3 12:53:37 IP属地广东 |只看该作者
IDA Pro 逆向一下

Rank: 11Rank: 11Rank: 11

UID
1606016
帖子
4168
PB币
6181
贡献
0
技术
6
活跃
3380
8F
发表于 2014-9-3 13:22:16 IP属地湖南 |只看该作者
也许是反钓鱼相关吧
不过真要有什么手脚你说出来也没用……

点评

beterman  我们都习惯往好处想,因为我们都知道如你第二句就算是不好我们也无能为力,所以为什么不往好处想?!  发表于 2014-9-3 21:51 IP属地四川

Rank: 7Rank: 7Rank: 7

UID
4433222
帖子
1038
PB币
522
贡献
0
技术
90
活跃
644

Win10先驱者

9F
发表于 2014-9-3 21:45:41 IP属地四川 |只看该作者
Lesita 发表于 2014-9-2 23:55
支付宝应该很健全了,win8的支付宝有待提高

你把性质都完全搞反了

Rank: 2Rank: 2

UID
4528015
帖子
160
PB币
293
贡献
0
技术
5
活跃
813
10F
发表于 2014-9-3 22:31:28 IP属地上海 |只看该作者
嗯,楼主说的情况我也有所发现,就在前几天,电脑蓝屏了,一搜名字是死亡蓝屏,开始我还以为这个是那几个8月补丁的问题,但是都过了那么久(大概是8月20几号了),当时也就想着把那几个补丁卸了以为会一切OK,电脑每次开机不久就会卡死或者是蓝屏,卸载那三个补丁(打补丁是自己动手的,我的只有三个)也卸载的心酸,但事情没那么简单,三个补丁全部卸载完了蓝屏依旧,之后根据网上找到的结果,猜测可能是自己安装的软件兼容性有问题,就在自己的卸载软件Iobit Uninstaller里准备卸载一个最近安装的音频软件,这个时候我看到了在最近安装这里有个alipay的东西,而且安装日期也就是当天,但是也没多想(总觉得这个不会有问题啊),之后就把那个音频软件给卸载了,问题依旧没有解决。本来决定重装了,最后想了想觉得那个Alipay的东西可能有问题啊,在重新启动了N次以后,我打开资源管理器,之后注意每一个值得变化,然后,果不其然,当支付宝那项浮上来的时候,电脑就卡死了,桌面上的一切都动不了,更奇葩的是在这个东西的资源值增加的时候并没有很明显的资源不够用。后来果断卸了这东西,然后万事OK,今天需要用到这东西,用完马上卸载。如果我没猜错,那东西应该和楼主说的是同一个。根据那个软件显示,它应该是自动安装了。估计也是临时工干的!!!

Rank: 7Rank: 7Rank: 7

UID
4433222
帖子
1038
PB币
522
贡献
0
技术
90
活跃
644

Win10先驱者

11F
发表于 2014-9-4 20:46:27 IP属地四川 |只看该作者
仗剑走天涯NZ 发表于 2014-9-3 22:31
嗯,楼主说的情况我也有所发现,就在前几天,电脑蓝屏了,一搜名字是死亡蓝屏,开始我还以为这个是那几个8月 ...

保重

Rank: 2Rank: 2

UID
536796
帖子
419
PB币
13
贡献
0
技术
0
活跃
1626
12F
发表于 2014-9-4 22:04:30 IP属地山东 |只看该作者
连续看了LZ两个关于支付宝安全的帖子,虽然不知道LZ的身份,但是个人并不关心这些东东,还是相信阿里的。进程这些个人也关注过,像腾讯阿里之类各大软件商都一堆后台,无非是保护安全、推送通知、监控使用习惯、市场占有率等等,个人没有能力挨个去分辨,如果真有问题,各大杀软、乌云之类的应该不会坐视。另外我觉得LZ发布这种帖子,但最后还没有个定论,即使看了也很是没意思,如果能找到直接证据再公布更好些。

Rank: 2Rank: 2

UID
1085445
帖子
74
PB币
127
贡献
0
技术
0
活跃
39
13F
发表于 2014-9-10 17:04:46 IP属地广东 |只看该作者
看完了,很复杂,不是很懂.这研究精神值得佩服
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛