当奈飞的NFT忘记了web2的业务安全

Posted 十四君-web3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当奈飞的NFT忘记了web2的业务安全相关的知识,希望对你有一定的参考价值。

奈飞 Netflix 是市值达800亿美金的视频类娱乐服务公司,在 190 多个国家/地区拥有 2.22 亿付费会员如此巨头又怎会放过web3的风口呢?

因此在近期X2earn的火热下,他也创意独裁出了个Watch to Eran

官方入口:https://lovedeathandart.com/

大概是会员在阅读影片的过程中,会随机出现一个二维码,结合用户的以太坊地址后,官方会签名信息,用户将可以得到一个signature 数值,而有了这个值,即可在netflix官方发布的NFT合约中,铸造一枚nft,如图美观度上十分不错结合上稳定的经济模型,或许又是一个跑鞋般的顶流项目!

所以一开始,大家还想冲一波会员,来慢慢watch 2 eran

然而,万万没想到,这个得到官方进行签名的过程,他竟然毫无防护!

活动开始,当web3科学家们满怀激动的心,颤抖的手来抓包想等到收到二维码的时候,赫然发现,原来扫码签名无需同web2账号进行鉴权,也无风控逻辑???

只需要构建以下的请求,将自己的以太坊地址和目标中的系列号写入

curl 'https://us-central1-ldr-prod.cloudfunctions.net/api/sign' \\
  -H 'authority: us-central1-ldr-prod.cloudfunctions.net' \\
  -H 'accept: application/json, text/plain, */*' \\
  -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8' \\
  -H 'cache-control: no-cache' \\
  -H 'content-type: application/json' \\
  -H 'dnt: 1' \\
  -H 'origin: https://lovedeathandart.com' \\
  -H 'pragma: no-cache' \\
  -H 'referer: https://lovedeathandart.com/' \\
  -H 'sec-fetch-dest: empty' \\
  -H 'sec-fetch-mode: cors' \\
  -H 'sec-fetch-site: cross-site' \\
  -H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (Khtml, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' \\
  --data-raw '"address":"以太坊地址","category":"系列号0-9"' \\
  --compressed

mac系统可以直接在命令行发出,window系统可以用postman等请求包构建工具,即可发出此请求。返回的信息里会有一个signature。

然后去官方合约地址

https://etherscan.io/address/0xfd43d1da000558473822302e1d44d81da2e4cc0d#writeContract

写入,随意编写个data值(合约中并未对其校验),以及对应的系列号,即可进行mint。

而且几小时后,就有同学制作一键式脚本,进一步降低操作难度。

 

由于此nft获取的代价太低,基本平均在当前20wei的gas成本下,截止5.20- 9点 已经有5W 次交易,大多数是mint的操作。当然出了bug后,基本后续此nft的价格不会太高,大家也就相当于参与体验玩玩

但是对于 Netflix 而言,一个可能媲美stepn的创意就在最基础的web2业务流程中被爆破了。

虽然某种意义上,这个bug的传播效果似乎完全超出了活动本身的策划。。

从安全的角度解读

web3

 我们来分析下合约可以看出,其实他web3部分的合约安保措施是相对到位的。

function mint(
        uint256 _category,
        bytes memory _data,
        bytes memory _signature
) external nonReentrant whenNotPaused 
        require(isSignatureValid(_category, _signature), "LDRT: Invalid signature");
        require(_category >= 1, "LDRT: Invalid category. It is less than 1.");
        require(_category <= 9, "LDRT: Invalid category. It is greater than 9.");

        bytes32 hashAdrrCategory = keccak256(abi.encodePacked(msg.sender, _category));
        bool hasMinted = categoriesMinted[hashAdrrCategory];
        require(
            !hasMinted,
            "LDRT: Address already has token for that category."
        );
        categoriesMinted[hashAdrrCategory] = true;

        // 1 is because it will mint 1 token for that category
        _mint(msg.sender, _category, 1, _data);
    

1:属于标准设计模式,结合eip1271 的验签方式来确定白名单资格,1271是为合约进行签名所设计的,其指定的isValidSignature可以设定任意验签逻辑,如支持单签、多签、门限签名等。

如果不做这样的签名验证,则在此活动中,如何管控mint白名单就是个高成本的问题了。

因为活动本身在于激励用户持续观看,

如果积累一段时间的白名单merkle树根到链上,则用户受到激励反馈会比较长

而如果每得到一个用户,就上白名单一次,就会造成活动方的高成本

2:其次合约还会再将此钱包地址+系列号,纳入hasMinted中,防止重放,并且实现的方式是先修改权限再操作mint,也很到位。

web2

但是从web2的角度看,他获取官方签名的环节,其攻破成本几乎为0。这点可以类比传统web2上营销发行优惠券,一直都是企业的大挑战。

笔者本身从业web2业务安全风控5年,出于职业习惯,也补充下web2好用的安全防护对抗方案。

其核心是依赖于账号安全体系健全,黑灰产黑名单数据库的全面性,实时对抗策略的体系。

一个要健全的web2上营销反作弊场景保护,其需要4大环节:

1:业务风险评估 = 产品逻辑+数据埋点+埋点处理+动态埋点对抗

2:离线策略建模 = 策略研发+验证+上线评估

3:现网持续对抗 = 策略灰度+策略监控+策略迭代+动态攻防+客诉反馈+黑产情报

4:决策处置对抗 = 行为及时阻断+人机验证+身份核验

其中高度依赖黑数据质量,这是成本对抗的基础,核心有设备指纹库,IP画像库,手机画像库,账号画像库等等

最后是持续性的算法加强策略检测,比如异常检测,团伙发现,行为检测等。

总之

web2的基础不丢才有跑鞋的辉煌,web3是营销利器但也不是独立生态,长期看会与web2诸多基建共存。

附录:https://eips.ethereum.org/EIPS/eip-1271

奈飞!惨大了!

今天美股盘后是奈飞财报。财报公布以后奈飞的股票是这样的。

你没看错,财报公布以后,奈飞的股票暴跌了25%,一瞬间暴跌25%。

这么惨烈的财报,只有奈飞上一季度财报公布时候的跌幅可以媲美。

这里奈飞6个月走势。上季度财报以后,股价就从500多掉到了300多,这次正式踏入了200的行列,股价直接回到了2019年。

连续两个季度的暴跌,让奈飞这家公司,从一家当红的网红股,变成了一坨屎粑粑一样的东西。很多人骂得厉害。

我这边有个炒股的小群,里面有很多赌狗。赌狗们最喜欢的就是赌财报了。

一说到奈飞,大家毫不犹豫选择赌跌,买了看跌期权。这一瞬间,有翻了3倍的也有翻了6倍的,很多人开心死了。

奈飞到底发生了什么事情呢?其实也没什么事情,就是和Zoom一个毛病。

疫情来的时候,大家都被缩在家里,闲着没事情干,订阅起流媒体的人就越来越多了。

现在欧美这边通过群体免疫,已经解封的解封,到处浪的到处浪。

一个人的时间是有限的,如果不是在流媒体看片,就是在外面浪,两者总有一个。你肯定没办法把人一切两半,一边流媒体一边在外面玩。

当然,有一家公司可以这样,它就是迪士尼。不是看它家流媒体,就是去它家公园,实在不行了,还能上它家游轮,住它家酒店,买它家玩具。

总之无论是线上线下,无论怎么样,总能赚到你的钱。

但是奈飞不行,奈飞就是要把用户们都留在线上才能够安稳收月租。

可是被关了两年的人,哪里还能够继续宅家里呢?于是,上个季度开始,奈飞用户就开始负增长了。

然后,那个超级增长的奈飞的故事没有了,华尔街就让股价跳水给大家看了。

这个季度更悲惨。因为俄罗斯和乌克兰在打仗,奈飞就倒霉了。

原来俄罗斯里有很多人喜欢在奈飞上看剧,而且都是很好的付费客户。

但是俄罗斯和乌克兰打仗以后,西方各国制裁俄罗斯。奈飞也停止了在俄罗斯给客户提供服务。

这些俄罗斯客户当然就属于负增长了。而且这个季度还好一点,这个事情的影响还没体现出来。

毕竟俄罗斯和乌克兰开战的时候是2月底了。所以只有20万用户的负增长。

按照奈飞的说法,下面还得有200万用户的负增长要来。200万啊,一下子就吓死人了。

在有的国家里200万人口已经非常夸张了。想想也是,俄罗斯好歹也是一个人口大国。

在俄罗斯提供奈飞服务,怎么样也得弄几百万会员吧。这些可都是长期收租的好客户哦。

这下好了,停了停了都停了。奈飞内心是不是真的想停俄罗斯业务,我想只有奈飞人自己知道了。

但是后果是实实在在的,客户负增长,而且还要持续负增长。这公司是不是还是一个好公司,这股票还值几块钱呢?

所谓冷暖自知,奈飞这跌的,也着实让歪果仁感受一下手持中概股的海内外中国人最近一年来的感受了。

看看阿里巴巴,看看拼多多,再看看新东方,好未来。我们都相信,奈飞有着一个和它们一样的未来:前途是光明的,道路是曲折的。

阅读世界,共赴山海 423全民读书节,邀你共读

以上是关于当奈飞的NFT忘记了web2的业务安全的主要内容,如果未能解决你的问题,请参考以下文章

DBA荐读丨管理层人手一本的神书,究竟特别在哪?

Web3 的 10 大应用

Web3 的 10 大应用

Web3 的 10 大应用

区块链的加密技术

大厂布局NFT:害怕错失下一代互联网浪潮