2012年2月14日星期二

也看iPad商标权之争

  美国苹果公司(Apple Inc)与唯冠科技(深圳)有限公司的“iPad”商标权争夺案,尽管苹果公司提起上诉,但全国多地工商部门介入调查,石家庄也不例外——苹果门店不仅下架iPad,还将面临数额不详的罚款。(《河北青年报》2月13日)

  据报道,2月8日,河北省石家庄新华区工商局经济检查大队他们接到唯冠科技(深圳)有限公司代理律师函件,称“苹果公司iPad商标侵权”。该经济检查大队立即对辖区苹果专营店及苹果产品销售门店开展了侵权产品查处行动。对涉嫌商标侵权的商品依法一律没收,并处非法所得五倍以下罚款。经过两天的摸排查处,该经济检查大队已查扣苹果iPad 45台,全部为iPad 2系列。

工商执法人员清理被查扣的苹果iPad 2

工商执法人员清理被查扣的苹果iPad 2

  针对河北省石家庄市工商部门查扣苹果iPad,业内知识产权律师今天表示,这一行为可能不当。因为工商部门作出查扣iPad的举动时,是认定苹果侵权行为已经成立。目前法院审理的为商标行政确权纠纷,且一审判决还没有生效。两家的侵权纠纷尚没有司法上的审理,工商机关过早认定侵权可能不当。如果各地工商部门都对苹果iPad产品进行查扣,但最终结果如果认定苹果侵权行为不成立,这可能给苹果带来巨大经济损失。

  按照目前的法律,消费者购买了商标侵权商品并在使用过程中发现商品存在质量问题的,按照消费者权益保护法相关规定,商家应该给消费者退货退款,而iPad做为一个全球知名的产品,当然不是真的假冒伪劣,不可能侵害消费者权利,不会危害公共安全,也没有什么质量问题,因此对于iPad的收缴损害的是消费者和商家的利益。

  所谓iPad商标权之争,本质上是中美企业的利益之争,在中国企业看来,是美国公司侵犯了其商标,而在美国苹果公司看来,是中国企业不讲诚信,将商标出售后,现在又通过法律漏洞再敲一笔竹杠。而做为执法部门,工商部门不应该通过行政力量来影响这种尚在诉讼中的案件,否则网民会质疑,工商部门是否在为自己谋取私利(免费使用iPad),质疑每当有利可图的时候,他们总是冲锋陷阵跑在最前面。

2012年2月11日星期六

WINDOWS 8图片密码真的安全吗?

  污渍可能泄露你的密码,远处可以看到你的密码,摄像头可以拍下你的密码,省事省时心理和突出部位让你的密码更容易被破解,Windows 8 图片密码真的安全吗?

  为进一步利用平板电脑的优势和改善用户体验,微软为 Windows 8 准备了图片密码功能,可以极大地方便触摸屏用户。普通电脑借助鼠标也可以使用图片密码功能,但更多是种娱乐功能。

  图片密码的核心由图片和用户绘制的手势组成:图片部分,用户可以自由选择图片作为图片密码登录界面的背景,这将有助于用户增加密码的安全性和易记忆性。这张图片现在看起来就像是手机锁屏一样,用户可以任意决定;手势部分:包含点、线和圈三个手势,Windows 8 会记住手势的起点和终点,画圈的手势区别顺时针和逆时针。

  图片密码确实有助于节省登录时间,微软称,图片密码登录耗时仅为手动输入密码耗时的1/3不到,用户重复使用该功能,熟悉后使用手势4秒钟即可完成任务,普通登录模式则耗时17秒(有这么长吗?)。

  Windows 8 的图片密码有着华丽的外表,而且看起来确实很棒,但该功能能否提供传统密码验证方式相当的安全性是用户最关心的问题,也成了安全界关心的重点。

  对于很大数量的使用传统的由键盘输入简单密码的用户,基于手势的验证系统可能会安全一点。但可以说 Windows 8 图片密码真的安全吗?

WINDOWS 8图片密码真的安全吗?

  除了人们普遍认识到屏幕上的污渍痕迹可能泄露用户密码之外,它还存在其他问题,比如用户在使用该功能登录系统的时候,即使是从很远的地方也能看到用户划出的手势,如果是在公共场合,这还安全吗?如果是有摄像头监控的地方,这还安全吗?

  以上讨论的是影响图片密码功能安全性的外界因素,那么图片密码功能本身又有什么问题呢?

  最最讽刺的不是国内最知名的程序员网站会被暴库,最最讽刺的是,居然国内最知名的程序员网站居然会使用明文密码。“电脑高手”聚集的 CSDN 的用户密码难道又显得有多高级?专业人士都这样了,更别说非专业人士了,电脑小白到在 Windows 7 的PC时代是电脑小白,而到了 Windows 8 的平板时代也只会继续是“平板小白”。

  按照微软的理论,由5个手势的图片密码最多有398万亿种组合可能,而传统的基于键盘的5字符密码最多仅有1.82亿种组合可能,传统的8位密码也仅有9万亿中组合可能。

  但实际情况会是怎样的呢?一个平板电脑,会有多少人设置一个由5个手势组成的图片密码呢?Our4.org 猜想用户设置图片密码的手势数更多会类似正态分布,而正态分布的顶端对应的手势数更可能为1,或者2,最多3,保守估计,用户为了省事省时,由1-3个手势组成的图片密码要占到用户设置的图片密码的60%以上,保守估计1个手势组成的图片密码要占到30%以上。

  也许你会说我这是纯粹猜想,那就让事实来证明一切,但请不要高估人们对于密码保护的意识。

  另外,关于密码,易记忆性恐怕是最最重要的一个因素,试想,如果你设置的密码,连自己都记不住,哪里还有什么安全性。而图片密码的另外一个问题是其易记忆性问题,其易记忆性可能确实不会差,但那是要付出代价的。

  先看文章开通微软给出的示例图,该示例图显示的是一个3个手势组成的图片密码。手势划出的地方全是人物的突出部位:头部、鼻子。但即使微软把登录界面的背景图片切成N多个网格,一张图片上的突出部分又有多少?(难道要把毕业照设置成背景?)在突出部位设置图片密码基本上符合人的心理,很少有人会在不突出的地方设置密码。也就是说,其实一般人使用的密码还是极有规律可循的,而密码可能组合数不可能像微软给出的数学算法得出的数字那样大,甚至比字符密码还要小。

  污渍可能泄露你的密码,远处可以看到你的密码,摄像头可以拍下你的密码,省事省时心理和突出部位让你的密码更容易被破解,Windows 8 图片密码真的安全吗?

  来源:Our4.org投稿,原文链接

2012年2月10日星期五

保护你的隐私,五种控制Android应用的权限的方法

  这篇文章目的在于介绍Android系统上控制权限的方法,读者只要使用过Android,或是对智能机平台有所了解,就能看懂,不需要专门的编程知识。

  1  为什么Android总是事无巨细地告诉你应用索取的每一项权限?

  相比Apple,Microsoft严格控制生态系统(从苹果给开发者的"App Store Guideline"可见一斑),只允许通过官方应用商店安装应用,并对每份上传进行仔细地审查而言,Android的开放就意味着,Google需要向用户提供一系列用于为自己负责的流程、工具。所以在安装应用前,Android总是要事无巨细地告诉你,应用肯需要控制什么权限。

  同样,开发者也制作了一系列易用的工具,用以鉴别可疑的应用程序,或是控制权限。

Android权限

图1 Android 官方市场会强制提醒用

  Andoird哪里开放了?

  在Android中,用户能自由从本地安装应用,自由地对SD卡进行操作,自由选择应用市场。

  如果愿意放弃保修,用户还能轻易地实行root,解锁基带(baseband)。只有一些产品会严密地锁定bootloader(如摩托罗拉)。

  最重要的是,因为ASOP(Android源代码开放计划)的存在,绝大部分的Android代码都是开源的,开发者可以由此对Android系统进行深入的修改,甚至可以自行编写一个符合Android规范的系统实例(如Cyanogen Mod)。正是因为ASOP,这篇文章才可能介绍多达5种原理不同的权限控制方法。

图2, Android开源计划的标志

图2 Android开源计划的标志

  开放的风险

  不考虑Symbian,Windows Phone 6.5(及以下)平台,那么几乎所有的智能手机病毒都是Android平台的,甚至官方Android Market也闹过几次乌龙。在国内水货横行的市场,情况更是火上浇油,不法业者可以在手机的ROM,甚至是bootloader中做好手脚,让用户有病无法医。

  在Android中,用户可以允许系统安装来自"未知源"(也就是非Google官方的,或手机预置市场的)应用程序。于是,移动平台最重要的门神------数字签名就被绕过了。

图3 Android 允许未知安装未知来源的应用程

图3 Android 允许未知安装未知来源的应用程

  出于Android的开放性,也有不允许"未知源"的反例:亚马逊的Kindle Fire平板使用了深度定制的Android,它只允许安装来自亚马逊官方商店的应用程序。

图4 亚马逊的 Kindle Fire 仅允许通过自带的市场安装应用

图4 亚马逊的 Kindle Fire 仅允许通过自带的市场安装应用

 

  2  Android有哪些"权限"

  首先需要明确一下Android中的种种"权限"。Android是在Linux内核上建立一个硬件抽象层(Android HAL),通过Dalvik以及各种库来执行android应用的。在手机启动时,首先需要由Bootloader(HTC手机上称作Hboot)引导Linux及手机上各个硬件设备的驱动程序,之后才启动Android系统。所以其实我们会涉及到四种不同涵义的权限:

  Android权限(Permission)

  这指Android中的一系列"Android.Permission.*"对象,是本文的中心内容。

  Google在Android框架内把各种对象(包括设备上的各类数据,传感器,拨打电话,发送信息,控制别的应用程序等)的访问权限进行了详细的划分,列出了约一百条"Android.Permission"。应用程序在运行前必须向Android系统声明它将会用到的权限,否则Android将会拒绝该应用程序访问通过该"Permission"许可的内容。

  比方说,搜狗输入法提供了一个智能通讯录的功能,用户可以在输入联系人拼音的前几个字符,或首字母,输入法就能自动呈现相关联系人的名字。为了实现这个功能,输入法必须声明它需要读取手机中联系人的能力,也就是在相关代码中加上声明"android.permission.READ_CONTACTS"对象。

图5 搜狗输入法的智能联系人功能

图5 搜狗输入法的智能联系人功能

  原生Android只提供了对"一刀切"式的管理,要么同意使用,否则就根本就不安装应用程序。当用户遇到希望使用程序的同时,又想禁止部分Permission的场合,他就无路可走。

  于是,不少开发者就捣鼓出了"第三条道路";可惜的是,没有一种方法能同时做到既不需要将手机固件Root,又完全不涉及对原始应用程序进行反向工程的方法。

  Root

  Root指获得Android所在的Linux系统的Root(根)权限,有了根权限,你才能对Linux做出任意的修改。iOS中的越狱(Jailbreak) 相当于获得iOS系统的Root权限(iOS是一种类Unix系统,和Linux都使用Root的概念)。在已Root的设备中,通常都是使用一个叫"Superuser"(简称SU)的应用程序来向许可的程序授以Root权限。

  Bootloader的解锁(Unlock)

  利用数字签名,Bootloader可以限定只有正确签名的系统可以被引导。在修改固件以获得Root以前,解锁Bootloader通常是必须的。安装第三方修改、编译的固件也需要解锁Bootloader。

  基带(Radio)解锁

  在Android系统中,基带是上层软件与手机中无线设备(手机网络,Wi-Fi,蓝牙等)的驱动程序之间的中介。国外的网络运营商很喜欢锁定基带,从而保证用户只能使用运营商自己指定的sim卡。在我国,锁定基带是非法的,手机制造商、网络运营商也不可以通过锁定基带的方法对待违约客户。iOS的"解锁"就是解锁iOS中的基带软件。

  为什么要控制Android权限

  鱼和熊掌不可兼得,Android的世界有很多自由,坏人也能自由地做坏事。它的生态系统很强调自主:用户可以自主地减小风险,仅使用官方市场的应用程序,也可以自主地解除安全限制,从而获得更多自由。因此,在遇到坏事的时候,用户也不得不自主一下:

  1, 抵制不道德,乃至非法行为

  几乎所有的Android安全软件都能对来电、信息进行控制,以减少骚扰。

  另一方面,很多应用都会要求它们实际功能以外的权限,表现在非(主动)告知地搜集设备序列号,位置信息,诱使用户默认地上传联系人列表等方面。

  更坏一点的应用程序,则会踏入犯罪的范畴,比如能偷偷发出扣费信息,或是作为黑客的偷窥工具。

  2, 减少恶意软件的损害

  恶意软件即便潜伏成功,也难以获得权限,从而减少损失。

  3, 用户有权自主地在抑制应用程序的部分权限时,继续使用该应用程序,而只承担由于自行设置不当而带来的后果。

  用户拥有设备的所有权,因此有权自主控制设备上的内容、传感器等对象的访问;同时有权(不)运行,(不)编译设备上的应用程序。

  大多数应用程序在运行时,并未达成主动告知的义务,是失误;然而即使主动告知,用户还是可以不理会。

  为什么Android官方市场的强制提醒权限的行为不属于主动告知:

  通过Android官方市场,"打包安装器"安装应用程序时,所显示的"权限"仅是在安装包内AndroidManifest.xml声明的值,而非应用程序实际上会调用的内容。该值仅用来表明Android系统能向应用授予的最大可能的权限。即便一个"Hello World"式的应用程序,也可以在AndroidManifest.xml中声明所有可能的Android Permission。

  这就是说,在AndroidManifest.xml中声明的值与应用程序实际调用的权限有关联,但不等同,且这种提示是由Android系统负责实施的强制行为。

  正确的理解是:"应用程序(被迫地)让Android系统告知用户,它在AndroidManifest.xml中所声明的事项。"

  这意味着应用程序在使用重要权限前,依然需要自行、主动地通知用户相关事宜。
  然而,即便只是让一半的应用程序达到以上的标准,也是不可能的。应用程序需要通过收集用户信息,程序的错误日志。从而统计用户的喜好,改进程序。另一方面,这也是发送精确广告但不追溯到用户身份信息的方式,这一点对于免费应用而言,是极其重要的。我们之所以能知道不同型号手机的占有率,应用软件的流行度,是与这样的统计不可分离的。

  一旦每个应用程序都专业地主动发出提醒,不专业的用户(大多数用户都是不专业的)通常会将之视为如同海啸警报一般的危机。

  这么做对谁都没有好处------用户方的隐私权是毋庸置疑的,然而应用程序方面的获取信息记录的需求也是无可阻挡的。如果每个用户都打算阻止,只会落得被迫接受不平等条约的下场,在温饱以前,不会有人考虑小康的问题。

  于是,现状就变得有趣:用户人享受着相同的服务;其中大部分用户出于不知情/好意,默默地向开发者、广告商提供了信息,剩下的少数用户则能阻断这种劳务。而作为维持Android平台的信息商人Google,只确保在它的地盘里,不会发生触碰底线的事情。

  一句话总结:

  设备是我的,不管你怎么说,反正我说了算,但我说的话大多是不算数的。    

  3  权限控制的方法

  这里开始介绍各种控制Android权限的办法。可惜的是,几乎所有的手段都需要对设备进行Root,如果不这么做,则需要付出不小代价。

  App Shield(国内常见的名字:权限修改器)

  它是一个需要付费的Android应用,其原理是修改应用程序的apk安装包,删除其中AndroidManifest.xml文件内,用于声明权限的对应"Android.Permission.*"条目,然后再用一个公开的证书对安装包重新签名(需要允许"未知源"),这样一来,应用程序就不会向系统申请原先所需的权限。当应用运行至相应的流程时,系统将直接拒绝,从而达到用户控制权限的目的。

  对于已安装的应用,AppShield也会按照同样方法制作好apk安装包,然后让用户先卸载原始的应用,再安装调整过的应用。除了该应用数字签名外,用户可以随时通过执行同样的流程,将吊销的权限恢复。

  Apk文件的结构

  Android应用都是打包成以.apk扩展名结尾,实际上是zip的文件格式。

  一个合法的apk至少需要这些成分:

  根目录下的"AndroidManifest.xml"文件,用以向Android系统声明所需Android权限等运行应用所需的条件。

  根目录下的classes.dex(dex指Dalvik Exceptionable),应用(application)本身的可执行文件(Dalvik字节码) 。

  根目录下的res目录,包含应用的界面设定。(如果仅是一个后台执行的"service"对象,则不必需)

  Apk根目录下的META-INF目录也是必须的,它用以存放应用作者的公钥证书与应用的数字签名。

  当应用被安装后,这个apk文件会原封不动地移至设备的data/app目录下,实际运行的,则是Dalvik将其中Classes.dex进行编译后的Classes.odex(存放在Dalvik缓存中,刷机时的''cache wipe就是清除Dalvik的odex文件缓存'')。

  优点:

  完全不需要Root,适用于所有版本的Android设备。不会损坏系统,可以吊销任意一项Android权限。

  问题:

  1,需要重新安装应用,该行为可能会丢失应用的配置、历史记录。

  2,执行权限吊销的应用的数字签名会被更改,无法直接更新。对于那些设计不良(没有意料到''不声明权限''情况的),或有额外自校验的应用,可能会无法运行。

  3,无法用于设备上的预装应用,除非制造商好心地将该应用设置为"可以删除"的状态。

  4,这个方法修改了apk包中的内容------尽管实际上AndroidManifest.xml和数字签名并不算是应用程序的本身,但修改它们可能引发著作权的问题。

  5,需要开启"未知源"。

  6,这是一个收费应用。 

  CyanogenMod 7.1(及以上版本)

  Cyanogenmod是一款著名的第三方编写的开源Android ROM。

  CM7.1加入了控制权限的开关,官方的名称是"Permission Revoking",任何非系统/保护应用在安装后,可直接吊销任意一项权限,其效果等价于直接删除apk包中AndroidManifest.xml的对应条目,但不会引发自校验的问题。CM的权限工具的作用等同于AppShield,无非是在Android自身的权限系统中添加了一个开关。

  优点:

  免费,使用简便,可随时,任意地吊销、恢复非预装应用的任意一项权限;不存在数字签名的问题,因而不影响使用自校验的应用程序。

  问题:

  此功能仅在Cyanogen Mod 7.1及以上版本提供,无法用于其它rom。因为是由Android系统出面吊销权限,其实现原理与App Shield完全相同,同样的,应用程序会因为设计不良而出现崩溃。  

  Permission Denied

  这是可以吊销任意Android应用(注意,不当地吊销系统应用的权限可能会导致手机固件损坏,无法启动)的任意权限,对权限的修改在重启后生效。

  实现原理应该与Cyanogen Mod 7.1+完全相同,适用于任何已经Root的系统,因为一般的Android系统虽然事实上支持权限吊销,但没有像Cyanogen Mod那样放置接口,因此需要重启后才能应用权限配置。同样也有系统出面拒绝权限而导致的崩溃现象。

  优点:

  效果与Cyanogen Mod中的权限吊销效果一致,且可吊销系统应用的权限。同时提供了免费与收费版本,免费版并没有基本功能的缺失。适用于所有版本号不低于1.6的Android设备。

  问题:

  调整后的权限需要重启才能生效。设计不良的应用会崩溃。不恰当的权限修改会损坏系统,导致无法开机。  

  PDroid

  PDroid实际上是一个Android内核补丁加上一个用于管理的外部应用。补丁需要在Recover环境中刷入系统,也可以由开发者自行移植入系统。该软件在Android ASOP 2.3.4代码基础上开发,仅适用于没有改动内核的Android 2.3系统,目前还未支持Android 4。

  为了避免Cyanogen Mod 7.1+权限吊销(Permission revoking)导致的崩溃问题,以及后台服务(如LBE,QQ手机管家等,PDroid的作者认为通过后台服务拦截权限并不是好办法),PDroid并不阻止应用程序声明权限,但会在其实际索取相关信息时,予以阻止。通俗地说,就是签署协议但不执行。在PDroid的用户界面,用户能随时精确地控制涉及隐私的各项权限。对于某些内容,除了阻止外,用户还可以伪造一个随机或指定的数据。

  可控制的内容包括:

  IMEI(可伪造)

  IMSI(可伪造)

  SIM卡序列号(可伪造)

  手机号码(可伪造)

  来,去电号码

  SIM卡信息

  当前蜂窝网络信息

  (以上七者均来自Android.Permission.READ_PHONE_STATE)

  GPS定位信息 (可伪造,来自Android.Permission.FINE_LOCATION)

  基站定位   (可伪造,来自Android.Permission.COARSE_LOCATION)

  系统自带浏览器的历史,书签(Android.Permission.BOOKMARKS)

  联系人    (android.permission.READ_CONTACTS)

  通话记录   (android.permission.READ_CONTACTS)

  系统日志   (android.permission.READ_LOGS)

  当前账户列表   (android.permission.GET_ACCOUNTS)

  当前账户的授权码  (android.permission.USE_CREDENTIALS)

  短信,彩信 (可能与这5个权限有关)

          android.permission.READ_SMS

          android.permission.RECEIVE_SMS

          android.permission.SEND_SMS

          android.permission.WRITE_SMS

          android.permission.RECEIVE_MMS

  日历    android.permission.READ_CALENDAR

  PDroid的内核补丁并不通用,每一个Rom都需要特定的补丁。开发者除了提供了几个特定机型下Cyanogen Mod,HTC Sense修改版ROM的专用补丁外,还推出了一个补丁生成工具(PDroid Patcher),用户可以给自己的ROM生成专用的内核补丁。使用该Patcher需要安装JDK(java Development Kit)。

  优点:

  PDroid避免了通过Android系统进行权限吊销的导致的潜在崩溃问题,也不需要后台服务。对隐私信息的控制是最精细的。尽管设备必须Root,但应用本身不需要Root权限。

  问题:

  安装过程是最繁琐,最不可靠的,容易导致ROM损坏,适用范围也小,需要用户有相当的技能(能安装JDK,会刷机)才可使用;只提供对隐私有关权限的控制,不提供网络访问,的控制。以这些为代价,它几乎没有其它缺点。  

  LBE安全大师

  实际上最常用的是以LBE为代表的通过一个Root权限的后台服务来拦截相关行为的工具。除了LBE外,还有QQ手机管家等应用。这里以LBE安全大师为例介绍。

  LBE是国内一个叫"LBE安全小组"开发的工具,支持Android2.0~4.0。它的核心功能是像杀毒软件一般,通过一个需要Root权限的后台服务,劫持所有调用权限的行为,并放行用户许可的部分(其官方宣传为''API级别拦截'')。它和PDroid一样几乎不会引发应用程序崩溃,它支持拦截几个涉及用户的关键权限(LBE手机管家3.1/3.2):

  读取短信  (android.permission.READ_CONTACTS)

  联系人记录  (android.permission.READ_CONTACTS)

  通话记录  (android.permission.READ_CONTACTS)

  定位   (Android.Permission.COARSE_LOCATION

        Android.Permission.FINE_LOCATION)

  手机识别码  (与Android.Permission.READ_PHONE_STATE有关)

  通话状态  (与Android.Permission.READ_PHONE_STATE有关)

  发送短信(具体原理不明,同样类似于禁止这五个权限

        android.permission.READ_SMS

        android.permission.RECEIVE_SMS

        android.permission.SEND_SMS

        android.permission.WRITE_SMS

        android.permission.RECEIVE_MMS)

  拨打电话  (android.permission.CALL_PHONE)

  通话监听  (android.permission.PROCESS_OUTGOING_CALLS)

  除此以外,LBE还可以分别控制应用在Wifi,手机网络的联网权限,其原理是依靠IPtables防火墙,而非通过Android的"Internet"权限。

  此外LBE手机管家还提供基于智能内容审查的短信拦截、来电归属地显示,以及禁用系统(保护)应用,进程管理,杀毒等功能。

  LBE提供两个版本,一个叫"LBE安全大师",是一个全面的手机管家类应用,更新比较频繁,另一个版本(LBE手机隐私卫士,LBE Security lite)仅提供权限方面的管理。

  考虑到主要市场在国内,LBE的发行策略看上去有些奇怪,它在Google的官方市场并不发行最新版。通常只能只能在LBE的官方网页,以及国内的应用市场获得最新版本。

  优点:

  使用非常简单,功能强大而全面,风险很小,可以控制系统应用。适用范围广,有很多替代产品。

  问题:

  需要后台服务 (尽管蚕豆网有个评测,认为它对能耗几乎没有影响),不能控制所有的Android权限。     

  4  自启动的控制

  Android对后台服务有着最好的支持。

  在Android中可以自由地开发一种称为''Service''的后台运行的对象,加上没有苹果公司对应用程序的严格限制。诸如QQ挂机,即时调用第三方应用程序之类的形式都可以轻易实现。

  为了全面支持后台服务,也为了适应移动设备资源紧张,不得不经常清理内存的问题,应用可在系统中设置触发器,当系统发生了某个特定特定事件时(系统启动,拨打电话,收发信息,安装、卸载应用,插上电源等,或应用程序自行定义的事件),就会触发启动应用程序。

  AutoStarts 自启动管理

  AutoStarts是一个收费应用,通过它,用户能了解系统中每一项程序会在什么场合下被触发运行。如果提供Root权限,则还能禁止这样的行为。

  这里以Google Maps应用6.2版为例。默认情况下,这款应用总是会保持后台运行,并每小时向Google发送一次当前用户的位置信息。为了阻止这样的行为,需要联合使用AutoStarts与任意一款进程管理应用:在AutoStarts中,阻止Google Maps的自行启动(如图),在每次使用完后,把Google Maps的进程杀掉。 

  5  其他

  Root带来的风险

  有一个钻牛角尖的说法认为,一旦对设备进行了Root,便无安全一说,只要恶意程序一旦偷偷获得Root级别,一切都是空谈。

  这种说法之所以钻牛角尖,是因为:一方面Android中的Root权限通常都是需要用户通过Superuser应用进行授权的,这已经够用,虽然不能指望Superuser无懈可击;另一方面,控制Android权限主要是为了让应用程序在"灰色地带"的行为收敛一些,它们实际显然不是病毒等犯罪软件。

  著作权的问题 (作者不是法律方面的专家,以下言论仅供参考)

  我们知道,Android中的应用程序是基于Java语言编写的。而为了达到跨平台的目的,Java软件是以字节码(或叫中间代码,bytecode),而非计算机能直接执行的机器码(Machine Code,有时也叫作Binary)的形式存在。因此执行Java软件时,需要一个Java虚拟机(Android系统中的Java虚拟机就是Dalvik)负责解释运行,有的时候,虚拟机还会通过即时编译(JIT)的方法将字节码编译为机器码后再运行,以提高程序的执行效率。

  这就出现一个很有趣的现象:

  除非另行规定,作为设备的拥有者,用户总是可以自行决定如何使用软件,能自行决定程序能否访问用户自己的计算机(移动设备亦然)里面的各个内容、对象。

  由此衍生出,在需要对代码编译、解释的场合,用户也能通过对编译器(解释器)的干预,来影响代码的执行效果。在Android中,用户还可以在Dalvik解释、编译的时候动手。

  这是因为,著作权仅保护了软件代码不受到非授权的反向工程,未授权传播等侵犯。另一方面,对于Android上的Java,网页中的javascript程序,赋予用户解释、编译的权利是程序能执行的先决条件;同时,软件发行者发通常也会主动提出放弃这种权利(表现为''软件按原样提供''、''不对使用软件造成的后果负责''等条目)

  在编译、解释的过程中,需要通过汇编(Assemble),连接(Link)等方法将编译好的对象(Object)、方法(Function)联系起来。默认情况下,这些行为是由原始的代码(源代码、中间代码)与编译器(解释器)决定的,但是用户可以通过制约编译器(解释器)的设置,从而影响到最终代码。这么做是没有问题的。

  还有一种,应用程序在安装后,会在系统中产生一些缓存,或注册一些信息。当其中的内容有关用户数据时,读取或修改它们也是没有问题的。这就是所谓"只要是你的东西总是你的";也是Cyanogen Mod、Permission Denied不会涉及版权问题的原因所在。

   总之,一个Android应用之所以能运行的前提是:

  1,首先,用户允许使用这个应用

  这也可以理解成:用户安装了应用(以及因此设定的后台对象),购买了预装应用的手机。这一点即不影响应用程序的主动通知义务,也不影响用户事后的干预。

  2,接下来,用户允许Dalvik对该应用使用"解释","JIT"的方法,从而该应用程序得以执行。

  3,用户随时可以对该应用作出任意不违反版权的干预。

  所以,在没有另行规定的前提下,用户总是可以自行决定,通过给应用程序分配自定义的权限;或是在应用程序调取内容,对象时予以阻断。同时,用户也需要自行承担因不当操作产生的后果。    

  附录:

  1、 数字签名

  数字签名是一种使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名可以轻易地验证完整性(正确性),合法签署的数字签名具有不可否认性。 (摘录自维基百科"数字签名"条目,有修改)

  2、 版权声明

  文章中引用的图标,图片或图片的部分,以及部分文字的引用,仅出于合理使用的目的,可能是持有人版权所有的。

  来源:fcerebel投稿。

2012年2月8日星期三

微博实名制,谁是受益者

  据报道,新浪、腾讯、搜狐及网易四大微博即将在3月16日全部实行实名制,均采取前台用户名称自愿,后台身份信息实名的形式。在3月16日之后,所有未进行实名认证的用户将被强制拦截,不能进行发言或转发。

  微博实名制的推手——政府

  这使得北京政府在去年12月16日公布的《北京市微博客发展管理若干规定》不再是一张空文。经过四个月的前期准备和过渡,政府作为微博实名制的推手,已经在准备着采摘微博实名制丰收的硕果。

  在中国,主张制定政策者或政策的制定者往往就是利益既得者。政府就是微博实名制的最大受益者。微博实名制,使得政府拥有了更加便利的管理工具,将微博这种快速、链式、高效、匿名的自媒体粉碎,转化为戴着镣铐的、受监视的官管自媒体。

  政府通过微博实名制,对舆论进行更好的控制,不仅可以将管不住嘴的用户封停,还可以方便地约谈喝茶。政府一方面通过实名制来监管微博舆论,并主动地注册政务微博来引导舆论,这其实就是对微博的CCAV化。软硬兼施,两手都抓,可有奇效啊!

微博实名制,谁是受益者

  微博实名制的打手——微博网站

  在中国开微博网站,就会有实名制这一天。说微博网站是微博实名制的打手,其实也是屈了微博网站,你懂的。

  微博实名制,微博网站的压力也接踵而来。在CSDN等网站“泄密门”之后,个人信息安全受到用户的格外重视,能否将用户身份信息严格保密,将是微博网站面临的重要问题。如果有人能够黑如微博网站窃取微博用户资料,那是对微博实名制最大的戏谑。

  同时,微博网站内容审查的负担将减轻不少。一方面是因为用户经过实名制认证,发表言论将变得谨慎,对不和谐内容进行了自我阉割;另一方面,由于一个身份信息只能认证一个微博账户,许多人因为不认证或者无法认证而不能发言,那些匿名马甲的自由言论也就被自动拦截了,能发言的用户量也比以前少多了。

  微博实名制后的用户们

  加V认证用户

  因为加V的用户已经进行了实名身份认证,所以微博实名制对这类用户基本没有影响。

  普通用户

  普通用户如不进行实名认证,将会失去发布和转发功能,变成哑巴账户。一旦在认证后说了不该说的话遭到封禁,那么将永远与微博告别。

  有马甲的用户

  因为一个身份信息只能认证一个微博账户,那么有多个马甲的用户将得考虑如何取舍,保留一个账户,而剩余的账户将成为没有差异的潜水专用账户了。如果你以社交为主,那么可以认证自己最常用的微博账户,里面保留有自己最广泛的社交网络。

  微博营销的用户

  如果你是微博营销等商业目的的用户,那么可以先认证粉丝数量最多、影响力最大、经济效益最好的微博账户,其他账户可以稍后再做计划。

  而这种微博账户往往是由一个团队多个人手组成,可以使用团队成员的身份信息对微博进行认证。如果仍然不够,还可以向不使用微博的人借用身份信息,比如你的爷爷奶奶们。

  僵尸粉

  嗯,僵尸粉一般是不用说话的,所以没有什么大的影响。

  对于具有评论、转发和自发微博功能的高级僵尸粉,基本无法进行认证而沦为普通僵尸粉了。

  对于买卖僵尸粉的人来说,无法再注册新的僵尸粉。而货源总有限,还是在实名认证前赶紧补充货源吧!

  水军

  水军的作用就是凑人头、导舆论、和博主互动,一旦无法实名认证,水军也就变成僵尸粉了。

  但是,也不排除某些御用水军不需要认证的可能性。

  对微博实名制后的猜想

  1、流失不少高素质用户,他们教育程度较高,对个人信息和言论自由敏感,不愿意进行实名认证。 

  2、未备案的网站可能将不再受到微博网站提供的信息接口。

  3、可能出现盗取、收购、出售个人身份信息的经济链条。

  4、僵尸粉可能遭到系统封禁,僵尸粉售卖将受到影响。

  5、作为管理微博的辅助手段,各地政府微博愈来愈多,成为宣传官方舆论的又一重要平台。

  6、海外用户无法进行实名制认证,或许翻墙注册帐号也是一种解决方式。

  7、社会和谐,国家安康。

 

  谁是微博实名制的受益者

  嗯,说了那么多,反正不是我,你懂的。

2012年2月7日星期二

“微博实名制”即将全面实施

  据财经网报道,新浪、搜狐、网易,腾讯四大网站微博都将在3月16日全部实行实名制,采取的都是前台自愿,后台实名的方式。3月16日后,所有未实名认证的老用户将被强制拦截,不能再发言、转发。

  微博客账号注册信息真实是指用户提交网站注册的信息,用户使用微博客服务的名称可自愿选择。3月16日将成为北京微博老用户真实身份信息注册的时间节点,之后未进行实名认证的微博老用户,将不能发言、转发,只能浏览。7日上午召开的贯彻《北京市微博客发展管理若干规定》座谈会上,市网管办相关负责人披露了这一消息。

  针对新用户的实名制实际上已经实行了,从2012年1月1日起,新浪微博注册环节加入了身份信息比对功能,包括真实姓名、身份证号码等信息。如果信息比对没有成功,注册后只能浏览,如果要发言则需要重新验证身份。

  由于这次实行实名制,是针对国内大部分主流微博服务,因此对于各个门户微博运营商来说,受到的影响基本是相同的。

实名制

  在我早先的“微博实名制”讨论文章中,认为微博实名制的最大的风险就是个人隐私的泄漏,在去年底的“泄密门”事件中,不少大型网站的用户信息均遭到泄密,而现在实行实名制之后,真实姓名和身份证号码就会录入系统中,一旦用户身份证号码被泄漏,他的真实姓名、性别、年龄、出生地等信息就全部被他人获得,给商业网站发送垃圾信息,给黑客诈骗带来方便。如果有人使用这些身份证和姓名去办理信用卡或其他违法犯罪的事情,由此个人遭受的损失由谁来负责,这中间的争议由谁来监管?

  因此我认为,对于实名制的用户信息保存问题,负责任的网络公司,不应该在数据库中保存用户的真实姓名和身份证号码,而只是在验证的时候进行对比即可,验证身份证号码成功之后,将用户的真实姓名和身份证号码的MD5数值保存在数据库里,这样即使数据库遭到了黑客的攻击而泄漏,用户的身份证号码也不会被窃取。同时,通过MD5的对比,也可以防止多个用户使用同一身份证号码注册微博。

  不过我估计,微博网站还是有很大可能明文保存用户姓名和身份证号码,毕竟实施微博实名制,主要是为了监管,以便能更好地实施“跨省抓捕”的任务。

  实行实名制之后,一个用户就只能有一个微博,这将会重创现有的微博营销公司,各种水军和僵尸粉丝将被禁言,而无法发布信息,对于各微博运营方来说,新用户注册量、老用户活跃度可能都会受一定影响。

 

2012年2月6日星期一

技术演讲的技巧和经验

  导读:如果你在编程大会上发表演讲,不论是开放式的BarCamp或是像OSCON那样精心组织的大型会议,你只有很短的一段时间将脑中的信息传达给听众,所以请仔细把握。

  技术会议的成本非常昂贵,不仅仅是经济上的成本。即使像BarCamps这样的免费会议也需要与会者投入宝贵的时间。大家放下手头的工作或者割舍与家人一起的时光,而这段时间是无法用金钱衡量的。大会(按照主题)浓缩成45分钟的专题,演讲者和听众都因该充分利用这段时间。

  开场白通常都是浪费时间,演讲一开始通常都是无用的信息。如果你是演讲者(我会告诉你):我不在乎你为哪个公司工作,除非这与你要演讲的主题有关;我也不需要了解你正在讨论的产品历史。如果你的演讲一共45分钟,那么花5分钟时间介绍自己就意味者浪费了11%的时间在介绍没有人会关心的信息。

  作为听众,在演讲一开始我就想知道能否从中得到一些有用的东西,并确定是否需要收拾东西转向另一个会场。

  下面是一位注重实效演讲者的开场白:“嗨!我叫 Sharon Bosworth,感谢参加今天的演讲。今天我要讲的主题是如何使用FooTest测试框架测试Perl程序。一年半以前我加入了 Amalgamated Widgets,我们有一个上千行的代码库,项目经常由于bug延期。现在,我所在的4人团队已经成功地将项目周期缩短到之前的一半,管理团队爱死我们了。接下来我要介绍我们是如何使用 FooTest达成这一目标的,与此同时还会介绍如何在你的公司中采用这个框架。”

  在这个开场白中,演讲者介绍了她将要讨论的内容、为什么有趣以及听众能从中得到哪些收获。请留意Sharon没有介绍的内容。她没有介绍她住在哪里,为多少家创业公司工作过,或者参与的开源项目有哪些。她只向听众传达了演讲本身必要的信息,没有任何废话,并成功地抓住了听众的注意力。

  作为一名听众,一般在开场几分钟内你就能辨别演讲者是否优秀,以及即将进行的演讲是否有价值。如果答案是否定的,请马上起身去别的会场。通常我会在日程安排中选择一个备份,如果我的第一选择失误,就可以马上去听那一场。不要在演讲一开始就上网、检查邮件、Twitter更新或者FarmVille收获如何。如果你浪费了开场的5分钟,请好好把握剩下的40分钟不要做其他的事情。演讲的时间是宝贵的。

  译注: FarmVille是Facebook上的游戏,由美国的社交游戏开发商Zynga开发,类似于国内的开心农场。

技术演讲那些事:如何不让你的演讲令人讨厌

  Farmville是一个很好的测试。它无须动脑,是人们在感到无聊时用来打发时间的游戏。如果你在演讲的内容还不如种虚拟土豆有意思,那么你的演讲肯定有问题。

  如果在你演讲切换到下一个主题时看到有人在玩FarmVille。当然,不可能每位听众都会全神贯注,但是如果大多数人都是如此,即使你花费很多时间写了幻灯片并准备了示例,这时你还是应当夺回他们的注意力。也许你讲的内容与听众并不十分相关,因为他们没有使用最新的C++或者你所说的移动测试技术并不能在他们的平台上使用。除非你看到相当一部分的听众专注地看着你,这时你才可以说“这里只是简单的介绍,如果你希望了解更多请会下联系我”然后再切换到下一个主题。

  永远不要把演讲变得乏味。我的导师之一,卓越演说家Mark Jason Dominus曾经说过:“如果要在娱乐性和知识性之间选择,作为演讲者你应该选择前者。人们会愿意把生命中45分钟交给你”。

  务必让演讲变得有趣。即使演讲内容与听众需求无关,你也可以让演讲变得有趣。虽然我不想通篇都谈论FarmVille,但是CodeConf大会上的一场精彩演讲讨论的就是Zynga公司的基础架构,通过它FarmVille得以支持上百万用户。演讲者讨论了如何处理移动设备的延迟问题,以及Farmville后台进行异步通讯的同时,如何让用户在操作时仍然感觉程序在即时相应。这让我想到自己应用程序中的延迟问题。最重要的是,这个案例研究非常吸引人。

  最优秀的演讲者不会让听众空手而归。如果可能的话,可以提供3到5个回到办公室就能做的练习。如果打印在纸上那就更好了。还有一个附加的好处是,听众不用疯狂的做笔记而可以专心听你讲解。

  最后一个建议是,在让演讲变得有趣的同时一定要注意:使用幽默一定要小心。技术演讲中带有男权主义、性联想以及其他不专业内容的言论都会招来全场听众的愤怒并让他们觉得恶心。一段对女性“性感”打分的示例代码可能让你觉得有趣,但是起码会让听众分心甚至让他们觉得被冒犯。作为听众,如果你在某个演讲中发现不专业的内容,请不要害怕马上起身离开。即使你没有这么做,也可以让演讲的组织者知道这个问题。

  你参加技术会议中见到的最好的和最糟糕的事情是什么?请在评论中与大家分享。也许这样我们就可以阻止一位,仅仅一位演讲者犯同样的错误从而浪费你宝贵的时间。

  英文原文: Making Your Tech Conference Presentation, and Experience, Not Suck by Andy Lester

  中文翻译:伯乐在线

2012年2月5日星期日

Google的2012预言与国产山寨的守望

  GOS又在元旦发布了新的一年里有关Google的大预言,今年共预测了22条Google在2012年有可能发生的事情。事实上,仔细数一下,国内发布的仅有21条,其中有一条似乎是翻译漏掉了。

  以下是笔者在补充了原有内容的基础上,按相似分类整理了一下,并加入了对应山寨市场的观点。这样对国内读者来说,看得更直观些。

  Google 首页

  1、Google的导航条菜单将改进为可自定义方式,提示栏也会支持一些新服务,这个计划原来只是在Google+实行。2011年,Google的首页导航条变更,已经让新浪、腾讯这些山寨大叔们趋之若鹜。2012年,这些山寨者将更加疯狂。

  Google Doodle

  2、Google Doodle Creator发布后,允许用户自己创建自己的doodle(即Google首页上会随着节日变化的小Logo),并且这些doodle可以像Google+一样分享给好友。腾讯可以学习分享,但要学到创建估计很难,除非把QQ涂鸦板合并,但那块的市场需求太小了,仅靠几位没有签约机制的大师级玩家明显不给力。

  Google Goggles

  3、还记得图片搜索应用吗?它将会应用于Google网页上的图片搜索中,并可分析图片并识别出其中的物体和人物。这是国内企业抄不来的东西,希望Google继续向着09年提出的那个透明平板的概念不断迈进。

  Google Music

  4、Google Music会变成订阅服务。这条内容目前我还无法直观的理解它。但Google Music一直是以正版音乐的方式给大家带来高音质的服务,只可惜该服务仅对美国用户提供,如果也想体验,只能用美国代理的方试访问了。音乐的订阅服务在国内其实也不少,表现最出色的就是音乐网站推出的电台服务。

  Google Drive

  5、Google Docs一直要改成Google Drive,即是将原来的文档存储编辑服务,向文件存储服务转变。等于是向网盘模式进军。改版后,也将更适合平板使用。据说这次改进将可以免费存储并同步任何文件。如果真是这样,我会果断放弃现在测试的所有国内网盘服务。

  Google Instant Answers

  6、Google Instant Answers发布,这是一个改进的即时解答服务,可以提供很详细回答的搜索服务。不知道能否对百度知道形成威胁,似乎雅虎已经抢先了一步。不过另一个Google汇问倒是不错,一个名不见经传的东西极具创意。很适合追求用户体验的产品需求调研使用。

  Google history

  7、Google history将会做更多的细节改进。Google的历史记录一直是资深用户推崇的产品,如果你只是偶尔登陆谷歌搜索,是无法体会在他背后那数以千万计服务器支持下的个性化服务。如果你使用谷歌有一年以上。你可以在谷歌历史记录看查看自己过去一年来的战绩。我允许谷歌来记录我的工作、生活、足迹、行为习惯,因为这些记录将会只针对我个人来提供全面的个性化服务。它安全、稳定,未经我的允许绝不对外授权。这就像为什么这么多有钱人喜爱瑞士银行一样,我的记录也是我一生的财富。这是山寨兄弟们永远也无法比肩的。

  YouTube

  8、HTML 5已逐渐取代HTML 4成为网页的新标准,YouTube的HTML 5播放器将成为默认设置。

  9、Google会在YouTube中采用类似电视频道一样的结构。会是PPTV的模式吗?虽然国内不能访问YouTube,但这两条设置,足以让土豆、优酷等国内同行跟风。

  Google+

  10、Google+将拥有3亿用户,并与很多Google应用合并,Google甚至会用Chrome来强推Google+。Google曾在2011年12月底利用首页,AdWords等方式全面推广Chrome,如果再用他来推广Google+,也就不奇怪了。不过希望Google能改进一个人有多个邮箱的关联方式。对于这个我一直很困扰,以至于圈子总是很局限,不敢经易向外扩张。

  11、Google+将提供可整合到博客里的留言系统。作为独立博客的管理建设者,一直致力于改善访客的用户体验,这将是我最为期待的一条改进。希望这个留言系统能够很好的与Wordpress整合,这将更加促进访客对评论的参与度,同时也会进一步提升垃圾信息的自动处理能力。

  12、Google+ Answers发布,替代之前收购的Aardvark。在它成功推出后,能否将成为Google+中又一大热门应用/频道。会和知乎网一样的作用吗?只是不知道这个和前面提到的Google Instant Answers有何关系?

  13、Google将会根据你的Google+信息流、Google Calendar日程表和你安装的一些Google应用来进行个性化的搜索。已知道的搜索依据有历史记录,Cookie,IP地址,终端平台等等。未来这些新的手段加入将让Google搜索更加强大,强大到让百度、盘古都无地自容了。

  Google Chrome

  14、Chrome会提供一个新的在线控制中心,他将允许你控制所有的在线同步数据(书签、密码、应用等),即便你不使用Chrome也能进行管理。这是一个值得期待的强化功能。一直对Chrome的同步机制很青睐,即时你在两台离线的电脑中同时处理书签里的项目,它也能在你在线时,把两台电脑中的记录合并起来。你不要再去一一核对是否有误删的行为,或是否有残留的信息。这点比早期使用傲游时要好很多。近年没用过国产浏览器,不知道他们是否已达到这个高度?至少目前的QQ五笔同步功能就很悲剧。

  15、在Chrome中,将会发布一个新的在线音乐编辑服务,不知道这是否是一个大众化的功能。希望这只是尝试的开始,也期待语音功能的植入。

  Google Android

  16、Google将专注于改进Android应用的质量,比如提供更好的用户界面,一些新应用会要求更多的权限。目前Android发布了4.0,有消息说六个月后发布4.1。从功能上看,4.0比以往更加的人性化。很多以往忽略的细节,在这上面都实现了。权限管理也是在安全上的一个重要保证。小米和魅族已经在邀请用户测试自制系统for Android 4.0了,不知道百度易、阿里QQ、华为、联想等国产兄弟们是否做好了准备?

  17、Android会有一个虚拟助理,比Siri更强大且可在桌面电脑上通过进入Google首页来使用。现在想尝试的用户可以试试Google语音输入法、Google语音搜索,这是一个可以支持汉语普通话和粤语发音的工具,在中文支持上不比Siri更强大吗?有了这个强大的后盾,再配上Google庞大的搜索体系,以及前面提到的几个Answers系统,世界上还有谁能超过它。或许百度说他也可以,希望不是baidu.jp的雅美蝶助理,如果真是,那还真可能有很大的市场。

  Google Games

  18、Google Games多人的游戏平台发布,他可以同步Chrome、Android和Google+里的所有游戏数据、用户排名,还可以和好友一起游戏。国内的应用商不少是修改了原版游戏的应用,并自建了排名系统,但还无法做到进度的多平台同步。Google这么做,将秒杀一切国内篡改行为,也将更好的支持原版游戏的发展。但如果封杀过度也是不行的,至少国内的不少汉化作品就值得称赞,且看未来产品的试用效果再作定论。

  Google Store

  19、Google会开类似Apple Store的实体店,销售Chromebook、Android手机、Google TV和各种纪念品。国内暂不指望了,不知道香港有没有这样的店?

  20、Chrome Web Store的应用可被Android直接运行。Chrome上的运行一直不太稳定,或许是受服务器不在国内的影响,不知道Android上的Web Store是否也会这样?

  Google 硬件设备

  21、基于ARM的Chromebook和Google TV,比以前更便宜,且更成功。上个月突然发现长虹上海的旗舰店挂出主楼拍卖横幅?具体情况没有深究。三星、索尼都发布了Google TV战略,国内呢?难道也是在忙着举办拍卖会?

  22、继三星之后,摩托罗拉将推出首款Google品牌的手机和平板。阿里推出首款QQ品牌的手机,戴尔推出首款百度品牌的手机,国产其实一直在努力。只不过Google是迈着大步前进,国产一直跟在他人的屁股后面,拾掇着前人落下的麦穗。

  英文原文:Google Operating System:Predictions for Google's 2012(需翻墙)

  中文翻译:sealango ,中文译文