V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hidden
V2EX  ›  iPhone

恐怖啊,为了安全,请 越狱用户/开发者 预防360产品

  •  
  •   hidden · 2012-08-26 23:20:42 +08:00 · 20779 次点击
    这是一个创建于 4267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    由于这阵子有个别用户说访问我软件会闪退,于是就联系他们调试,结果发现卸载了360省电王就正常了, 于是我就装了个360省电王测试。 当我发现问题的时候那个恐怖啊。

    由于我需要对一些隐私数据加密, 加密使用了网上通用的NSData+AESCrypt。 调试的时候发现代码中的NSData的AES256EncryptWithKey里面的代码没有执行,应该是被360省电王给接管了。 然后返回了nil,我没预期这个nil,所以程序崩溃了。

    可能的后果:接管 AES256DecryptWithKey:key 意味着360省电王可以获得你的加密key。 那么你通过加密存在NSUserDefaults里面的数据无条件的给暴露了。。

    由于好久没用windows,一直不知道360都干啥了,现在才意识到什么叫无底线。。。

    好吧,如果你是用户,果断卸载。 如果你是开发者,改掉key,改掉AES256DecryptWithKey函数名。
    25 条回复    1970-01-01 08:00:00 +08:00
    kran
        1
    kran  
       2012-08-27 00:07:42 +08:00
    坚决无差别抵制360一切产品
    grant
        2
    grant  
       2012-08-27 00:12:38 +08:00
    360省电王的意思就是卸载了360就能省点了,是不是这个道理

    lz的软件是什么
    HJin
        3
    HJin  
       2012-08-27 00:22:33 +08:00
    有没有其他的iOS开发者也来证实一下LZ所描述的是否属实。
    不过不管是真是假,还是那句话,龙生龙,凤生凤,老鼠的孩子会打洞。XD
    Air_Mu
        4
    Air_Mu  
       2012-08-27 00:29:21 +08:00
    我擦,这些用户,买个IPHONE,却还往里面装360 这都是什么概念啊
    lldong
        5
    lldong  
       2012-08-27 00:37:32 +08:00
    越狱后确实安全性会大打折扣,不过360为什么不正常正常值,返回个nil露了马脚
    xatest
        6
    xatest  
       2012-08-27 00:41:00 +08:00
    从同事了解到,越狱版360安全卫士还会hook掉一些网络操作的API,导致使用到URLConnection的App会莫名Crash。我没验证过是不是真的,反正不用360的任何产品。
    blankwonder
        7
    blankwonder  
       2012-08-27 00:50:29 +08:00
    原来用的某款越狱输入法,因为使用了ASIHttpRequest,导致所有使用该库的应用,不能确认调用的是应用自带的库还是那个输入法的库,也会导致部分应用崩溃,但看起来应该由于开发者粗心或者不完全了解dylib导致的,不知360是有心还是无意为之。我偏向与无意,因为这样获取用户数据的意义不大。
    blankwonder
        8
    blankwonder  
       2012-08-27 00:50:30 +08:00
    原来用的某款越狱输入法,因为使用了ASIHttpRequest,导致所有使用该库的应用,不能确认调用的是应用自带的库还是那个输入法的库,也会导致部分应用崩溃,但看起来应该由于开发者粗心或者不完全了解dylib导致的,不知360是有心还是无意为之。我偏向与无意,因为这样获取用户数据的意义不大。
    chainkhoo
        9
    chainkhoo  
       2012-08-27 00:56:59 +08:00   ❤️ 1
    =.-一不小心Tweet了一下 结果。。。我的手机被push爆了 感谢大家为我测试tweetbot的推送功能以及让我知道大家有多痛恨360
    zoverdoser
        10
    zoverdoser  
       2012-08-27 03:15:51 +08:00
    360还真是啊
    alayii
        11
    alayii  
       2012-08-27 08:20:57 +08:00
    这货完全没有下限了
    Shane
        12
    Shane  
       2012-08-27 08:47:23 +08:00
    省电 这玩意在非越狱机上毫无用处,也不可能实现。。
    越狱者不是iOS开发者的目标用户,可以不理。
    360这个app想来肯定接管了一些系统的东西的,不然它怎么实现节省电源。
    shanks
        13
    shanks  
       2012-08-27 09:08:49 +08:00
    表示从来不用数字的任何东西。教主的为人。。。=_,=
    x86
        14
    x86  
       2012-08-27 09:26:37 +08:00
    当心数字枪文反咬你呀
    hidden
        15
    hidden  
    OP
       2012-08-27 09:55:32 +08:00
    @blankwonder 嗯,可能是无意的, 但是覆盖这个函数的意义确很大,因为可以直接获取相关的NSData和key, 把这两个数据自个儿去解出来直接就是明文,那么一般app需要加密的都是些隐私数据,比如帐号密码什么的。如果加密后的数据存在NSUserDefaults或者通过网络获取,那么对非越狱用户照样构成威胁。
    hidden
        16
    hidden  
    OP
       2012-08-27 10:00:04 +08:00
    要证实很简单, 你先去装一个360省电王1.3版本。 http://m.360.cn/cydia/

    然后使用 https://gist.github.com/1243257 这个加密方式去加密一条数据, 然后再解密看看。自个儿在 NSData的AES256DecryptWithKey方法里面log一下,看看log信息会不会出来你就知道了。
    hidden
        17
    hidden  
    OP
       2012-08-27 10:04:04 +08:00
    @Shane 系统接管得有个底线,去覆盖网上通用的方法,而且是关于加密的,这个很危险,我不相信他们不知道覆盖这个方法带来的后果。 而且覆盖加密方法跟省电没有半毛钱关系。如果他们把这个加密方法正确实现,返回我本身的数据,那么我可能永远发现不了他们覆盖了这个方法,这才是最恐怖的。 你不知道他们还干了其他什么别的事儿。
    qifei
        18
    qifei  
       2012-08-27 10:50:53 +08:00
    装一个“国产免费”软件,为了省电?笑话。
    hidden
        19
    hidden  
    OP
       2012-08-27 11:03:32 +08:00
    @qifei 现在的问题不是这个产品, 首先这产品确实有人装了,我的用户中是有好几个来反馈了,还不知道没反馈的呢。 如果这事儿是360有意为之,那问题就大了,只要360正确实现AES256DecryptWithKey方法,那么我们就不会发现这个问题。 那么谁能确保越狱机上的360安全卫士不干这事儿?那可是有很大的用户量。
    hidden
        20
    hidden  
    OP
       2012-08-27 11:05:33 +08:00
    @HJin 你如果做开发的,可以测试一下,相关代码我仍出来了。 https://github.com/zzdhidden/TestAES256
    darkfall
        21
    darkfall  
       2012-08-27 11:28:04 +08:00
    用MobileSubstrate hook的吧

    http://iphonedevwiki.net/index.php/MobileSubstrate

    MobileHooker is used to replace system functions. This process is known as hooking. There are 2 APIs that one would use:

    IMP MSHookMessage(Class class, SEL selector, IMP replacement, const char* prefix); // prefix should be NULL.

    void MSHookMessageEx(Class class, SEL selector, IMP replacement, IMP *result);

    这样的话针对某个selector的hook不在话下wwww
    amandayi
        22
    amandayi  
       2012-08-27 11:44:54 +08:00
    非常简单的一个问题,象blankwonder说的,这肯定是dylib使用上的问题,越狱开发很容易出这个粗心的问题,而这种问题测试肯定测试不到的!

    要验证也容易,你先调用你的程序,然后再运行省电王,他同样不能调用NSData+AESCrypt的了。
    wezzard
        23
    wezzard  
       2012-08-27 12:02:41 +08:00
    做國內市場真的很頭疼,除了各種盜版,還有各種外圍環境影響。
    whbell
        24
    whbell  
       2012-08-27 13:23:07 +08:00
    360, 百度, 金山, QQ, 迅雷, 瑞星, - 安装了等于开门揖盗! 一群畜牲
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2106 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:35 · PVG 12:35 · LAX 21:35 · JFK 00:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.