恐怖啊,为了安全,请 越狱用户/开发者 预防360产品 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hidden
V2EX    iPhone

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

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

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

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

    由于好久没用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     Solana     937 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:07 PVG 06:07 LAX 15:07 JFK 18:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86