随着用于firefox的firesheep插件的发布,对于在开放的Wi-Fi网络上浏览并被第三方听众劫持的网站来说,它变得微不足道了。
Android提供了方便的自动同步选项。但是,我担心在本地咖啡店或购物中心连接到开放的Wi-Fi网络时,我的数据可能会自动同步。
Android自动同步处理的所有数据都使用SSL或类似的加密机制加密了吗?是否自动加密了所有自动同步的数据并以明文方式传输,以使所有人都能收听?
更新:完全不安全!!见下文!!!!
随着用于firefox的firesheep插件的发布,对于在开放的Wi-Fi网络上浏览并被第三方听众劫持的网站来说,它变得微不足道了。
Android提供了方便的自动同步选项。但是,我担心在本地咖啡店或购物中心连接到开放的Wi-Fi网络时,我的数据可能会自动同步。
Android自动同步处理的所有数据都使用SSL或类似的加密机制加密了吗?是否自动加密了所有自动同步的数据并以明文方式传输,以使所有人都能收听?
更新:完全不安全!!见下文!!!!
Answers:
注意:回答我自己的问题时没人知道。
选择菜单->帐户和同步->自动同步(也可以通过“电源控制”小部件访问)后,我进行了数据包捕获。我发现了什么?
令我震惊的是(来自手机的http请求显示在下面):
GET /proxy/calendar/feeds/myaccount%40gmail.com HTTP/1.1
Accept-Encoding: gzip
Authorization: GoogleLogin auth=_hidden_
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: Android-GData-Calendar/1.4 (vision FRF91); gzip
和
GET /proxy/contacts/groups/myaccount@gmail.com/base2_property-android?showdeleted=true&orderby=lastmodified&updated-min=2010-12-01T08%3A49%3A00.561Z&sortorder=ascending&max-results=10000&requirealldeleted=true HTTP/1.1
Accept-Encoding: gzip
Authorization: GoogleLogin auth=_hidden_
GData-Version: 3.0
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: Android-GData-Contacts/1.3 (vision FRF91); gzip
我的联系人和日历未加密地传输!我目前不同步gmail,所以我也无法说是否未加密。
还有股票市场应用程序(必须是一项服务,因为我没有显示小部件或应用程序处于活动状态):
POST /dgw?imei=TEST&apptype=finance&src=HTC01 HTTP/1.1
User-Agent: curl/7.19.0 (i586-pc-mingw32msvc) libcurl/7.19.0 zlib/1.2.3
Content-Type: text/xml
Content-Length: 338
Host: api.htc.go.yahoo.com
Connection: Keep-Alive
Expect: 100-Continue
<?xml version="1.0" encoding="UTF-8"?>
<request devtype="HTC_Model" deployver="HTCFinanceWidget 0.1" app="HTCFinanceWidget" appver="0.1.0" api="finance" apiver="1.0.1" acknotification="0000">
<query id="0" timestamp="0" type="getquotes">
<list><symbol>VOD.L</symbol><symbol>BARC.L</symbol></list></query>
</request>
完全未加密的股票报价请求:想想,您可以坐在您所在城市金融中心的星巴克,然后嗅嗅什么报价对您周围的所有智能手机用户都很重要。
其他未加密的项目:
htc.accuweather.com
time-nw.nist.gov:13
(甚至不使用NTP)关于我手机上唯一加密的数据是我在K-9应用程序中设置的邮件帐户(因为我所有的邮件帐户都使用SSL-幸运的是,gmail帐户默认情况下是SSL;而yahoo!mail支持使用imap SSL)。但是,似乎开箱即用手机中自动同步的数据都没有被加密。
这是在装有Froyo 2.2 的HTC Desire Z上。课程:没有VPN加密隧道的情况下,请勿在开放的无线网络上使用电话!
请注意,在运行Debian的虚拟节点(通过OpenSwan(IPSEC)xl2tpd(L2TP)连接到Android手机)上的ppp0接口上使用tshark捕获数据包。
auth=
字符串包含的内容似乎与cookie相似,但是出于安全性考虑,我在将其发布到此处之前将其删除。
在2011年3月购买的LG Optimus V(VM670),Android 2.2.1存根上捕获的结果。
截至今天,我在完全重新同步期间通过pcap能够找到的唯一未加密请求是:
GET /data/feed/api/user/<username>?imgmax=1024&max-results=1000&thumbsize=144u,1024u
&visibility=visible&kind=album HTTP/1.1
GData-Version: 2
Accept-Encoding: gzip
Authorization: GoogleLogin auth=<snipped>
If-None-Match: <snipped; don't know if it's sensitive info>
Host: picasaweb.google.com
Connection: Keep-Alive
User-Agent: Cooliris-GData/1.0; gzip
Picasa是我发现唯一未加密同步的服务。Facebook要求提供几张个人资料图片(但未传递任何帐户信息);Skype请求的广告;TooYoou抓起了新的横幅图像。实际上,这些都与同步无关。
因此,看来Google的同步安全性已经加强了很多。关闭同步Picasa网络相册,您的所有Google数据均应以加密形式进行同步。
这让我有些困扰:
GET /market/download/Download?userId=<snipped>&deviceId=<snipped>
&downloadId=-4466427529916183822&assetId=2535581388071814327 HTTP/1.1
Cookie: MarketDA=<snipped>
Host: android.clients.google.com
Connection: Keep-Alive
User-Agent: AndroidDownloadManager
返回的是302临时移动,指向高度复杂的下载URL:
HTTP/1.1 302 Moved Temporarily
Cache-control: no-cache
Location: http://o-o.preferred.iad09g05.v5.lscache6.c.android.clients.google.com
/market/GetBinary/com.wemobs.android.diskspace/1?expire=1322383029&ipbits=0
&ip=0.0.0.0&sparams=expire,ipbits,ip,q:,oc:<snipped>
&signature=<snipped>.<snipped>&key=am2
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Date: Fri, 25 Nov 2011 08:37:09 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Transfer-Encoding: chunked
Android的下载管理器会转过来并请求该下载位置,然后MarketDA
再次传递cookie。
我不知道Market下载APK是否有安全隐患。我能想象到的最糟糕的情况是,未加密的APK下载打开了拦截和替换恶意程序包的可能性,但是我敢肯定Android会进行签名检查以防止这种情况。