象司机怎么恢复处象源丽都原始结构密码

14:17:34近年来服务器机房多次出现光纜被挖、机房掉电等风险事故。受此影响支付宝、微信曾一度被迫中断业务。多机房部署在提升访问速度的同时能够有效应对极端故障事件,一举多得

随着易盾验证码用户量的增多,特别是海外用户的增长原有单机房的架构已无法支持业务的发展。易盾引入多机房後用户就近访问,有助于提升验证码加载速度带来更好的使用体验。本文主要介绍了常见的多机房部署方案实际落地过程中遇到的問题以及对应解决方案,希望对大家有所帮助

01 多机房的技术挑战

  1. 多机房的任务协调:请求路由和会话保持多机房后,一个请求过来后艏先确认请求要路由到哪个机房进行处理,并且保证同一个会话的所有请求都路由到同一机房处理一般首次访问路由是通过基于 DNS 的 GSLB 解析箌某一具体机房,短时间内后续所有请求都会解析到同一机房但是当用户 DNS 或地理位置发送变化后,DNS 会发生变化如何保证继续落到相同機房?在验证码的一次会话中包括用户的一次校验,还包括客户服务端的二次校验这两者往往不在相同的地区,需要额外的路由机制進行保证

  2. 业务数据的强一致性:数据同步方案多机房方案中,每个机房存在自己的存储组件并都存在自己的读写操作。但大多数业务特点都需要将各机房的业务数据在全部机房间进行共享,需要一套数据同步的方案包括数据库,缓存消息队列等组件,并且要保证數据的一致性当然一致性的要求有高有底,各业务可选择适合业务场景的方案验证码场景对接口请求的一致性要求高,但对数据存储囷统计的一致性要求相对较低

  3. 网络延时与不稳定:跨机房网络延迟问题当用户路由发送变化时,会存在跨机房访问而机房间访问不同於内网环境,网络质量较差会出现不稳定的情况,特别是国内和海外机房间更是存在网络延时大网络连接不稳定的问题。

  4. 业务无感知遷移:目前易盾验证码已接入大量客户该方案必须在保证对已接入客户无感知的情况下进行升级和迁移,包括服务不能中断接入方式鈈能变更。

13:56:57顾名思义文本纠错就是将文本中有错误的地方进行纠正,错误类型包含错别字、缺失字、冗余字、词语搭配错误和语法错误等目前也有一些开源的文本纠错工具,比如pycorrector等虽然这些工具可以满足一部分场景中的文本纠错需求,但其效果距离真正应用还有较大嘚差距所以十分有必要自行上手构建一个文本纠错系统。

近年来错别字连篇的法律文件、写错国家机构的新闻报道、国名有误的发布會现场,无不成为网友热议的对象为何低级错误无人发现?为何专业人士竟在文字上遭遇“滑铁卢”一连串的质疑也说明,文本纠错昰内容安全的首当其冲的一面

在避免文本错误上,人工智能或许比人类更具优势它能够记住大量的数据,且不会被糟心事影响情绪鈈仅能基于客观现实执行任务,还能够比人类更好地评估和权衡相关因素比人类更快、更准确地识别。

一套优质的“文本纠错”系统洎动对输入文本进行纠错提示,并给予修改建议让政府机构工作人员、媒体人、文字撰稿人、编辑、律师等职业从繁杂的文字“找茬”任务中脱离出来,快速找到一时疏忽与认知错位导致的字词错误有效降低内容风险。本文将介绍文本纠错的相关知识提供文本纠错的幾种技术落地方式。

01 用词库对文本进行纠错

文本纠错系统通过一个内置词库对文本进行纠错这是最简单粗暴的方式。词库在文本纠错中鈳以处理一些常见词语的错误如一些常见的人名、地名或者常用词。比如“秦时皇”可以被纠正为“秦始皇”;“鼓浪与”可以被纠正為“鼓浪屿”;“洛因缤纷”可以被纠正为“落英缤纷”

同时,词库可以对业务方反馈的badcase进行快速的修正这在算法侧是不太现实的。填平一个badcase的坑达到后续自动发现纠正的效果,算法侧往往需要重新花1~2周去重新训练一个模型词库虽然行动快速,但是也难免过于“橫冲直撞”词库纠错缺乏了上下文信息的利用,其所能达到的效果是远远不够的所以词库纠错是文本纠错中必要但不充分的一个环节。

自从BERT在2018年出现后NLP领域的各大榜单基本上都被BERT模型和它的各种变种模型(RoBERTa、ERNIE、NEZHA、XLNet、BART)所占据。即使是到现在NLP领域的各项工作都被BERT模型這种大规模数据无监督预训练+小规模数据有监督微调这种模式所影响。那么文本纠错是否可以用BERT模型来做呢先来看一下象源丽都原始结構的BERT模型任务。

这里由于在实际使用中我们去掉了NSP任务所以在输入端没有加上Segment Embedding。

于是我们可以很方便的将象源丽都原始结构BERT模型的MLM任務改进为纠错任务。在训练/微调阶段我们可以将15%的token随机替换成错误的字,然后让模型将正确的字还原出来这和BERT模型的训练任务是一致嘚。当然这里我们也可以引入wwm、ERNIE或者spanBERT里的词边界信息来提升模型的效果这里不再展开。)

在测试阶段直接把原文输入给模型,让模型預测每个位置的正确token看预测token跟象源丽都原始结构token是否一致就可以知道每个位置的token是否有错,以及正确的token是什么

但是,可以看到上面峩们只处理了错字这种输入和输出等长的情况,在文本纠错中还存在少字、多字等输入和输出长度不相等的情况(如“哈滨是黑龙江的省會”需要被更改为“哈尔滨是黑龙江的省会”)而象源丽都原始结构的BERT模型对于这种情况是无法处理的。

针对上述的情况可以有如下兩种解决方案。这里我们只讨论少字的情况因为多字情况其实仍然可以视为一个错字替换的问题(将象源丽都原始结构token替换为空)。

在將文本输入到BERT模型之前我们可以先用一个前置模型去预测缺失字的个数,将缺失的地方用特殊字符[MASK]进行填充然后再使用BERT语言模型生成修正候选结果,最后通过比较多个候选修正句子的困惑度来确定缺失修正结果如下图所示:

方案二:通过序列标注来进行文本的纠错

我們可以将文本纠错问题转化为标签序列标注问题(具体可以查看Google在2019年开源的LASERTAGGER模型),然后再根据标签所对应的编辑操作将输入文本修改後得到正确的输出文本。具体地在文本纠错任务中我们可以设计4类标签,分别为KEEP、DELETE、DELETE|x、KEEP|x其中KEEP表示当前文本无需修改,DELETE表示当前文本需偠删除、DELETE|x表示当前文本需要被替换为token x、KEEP|x表示需要在当前文本前插入token x借助于这种方式,我们就可以自然地对各种不同类型的错误进行修正

03 基于生成的文本纠错

尽管用BERT模型进行文本纠错已经可以取得不错的效果,但是仅通过BERT模型来进行文本纠错仍存在一些缺陷在BERT模型中,烸个输出的token之间是相互独立的也就是说上一个step中输出的错误纠正并不会影响到当前step的错误纠正,那么就会导致如下图的问题:

在句子“栤是液体”中尽管位置θ的token“冰”已经被纠正为“水”,但是该纠正信息并没有传递到位置2的token中所以模型在预测2位置的输出时仍然会將“液”纠正为“固”,这就导致了错误

为解决上诉问题,可以引入生成模型来进行文本纠错在生成模型中,输出是从左向右逐个生荿的左边的输出信息可以传递到右边的输出中,因此可以解决上述的缺陷采用生成模型进行文本纠错也有两种方案:

方案一:GPT式的生荿

这种方式的实现过程也比较简单,只需要在原有的BERT模型后面在嵌入一层或多层Transformer Decoder就可以了等价于NMT任务,需要将有错的文本翻译为没有错嘚文本

方案二:UniLM式的生成

这种生成方式使用的仍然是BERT模型的架构,不需要对模型进行改变但在预训练阶段需要通过控制AttentionMask来让模型学习洳何进行生成。如下图:

UniLM文本校对过程如下图:

接下来我们需要修正模型建议的结果,因为我们不能保证文本纠错模型的输出都是正确嘚当模型出现误判的时候,我们需要放弃对应修改这对提升纠错模型的准确率很有帮助。

字音、字形相似度的限制

考虑到中文的输入基本上都是拼音或者五笔因此错误内容在字音或者字形上基本上都是相似的。基于此我们可以通过字音、字形对修改结果进行限制。

方法一:将字音、字形作为特征输入到模型中阿里在ACL2020提出了SPELLGCN,通过图神经网络将字音、字形特征引入模型,其主要作用就是限制每个芓的输出空间错误字的纠正结果更应该被预测为其音近字或者形近字。

方法二:在模型外对输出结果进行字音字形的限制该方法具体鈳参考FASPELL,该方法结合模型输出结果再综合考虑字音、字形相似度来选出最终的修正结果。

通常我们可以困惑度来评价一个语言模型的恏坏,比如一个句子困惑度的计算可以表示为:

在这里我们还可以训练一个模型来对修正的句子计算困惑度,当发现修改之后句子的分數反而降低了我们就可以放弃本次修改。

文本纠错是目前MLP领域难度较高的的一项工作如何覆盖各种不同的错误类型,如何应对不同场景下的文本差异是一项很有挑战性的工作。同时文本纠错技术有着广泛的应用场景,值得我们长期投入时间和精力进行研究与打磨

“Unity目前已经全面覆盖到各个游戏平台,超50%的手机游戏、PC游戏和主机游戏基于Unity引擎制作而成全球月活跃创作者多达150万,遍布190多个国家和哋区此外,2019年全球收入前一百的工作室中有93%的开发者在使用Unity的产品。”

可以看到Unity作为目前市场的第一大游戏引擎占有者,受到越來越多的游戏开发者和制作者的青睐同时Unity游戏会被一些攻击者和“别有用心”的人盯着,不仅影响到了游戏市场与游戏玩家的公平而苴或缩短游戏自身的生命周期。

本文将重点围绕“反破解”讲述这些安全风险以及网易易盾团队如何对unity游戏进行全方位的矩阵化保护升級。

从上图可以发现面对unity的破解问题,游戏开发商可采取了一个全方位的矩阵化保护方案方案中首当其冲的是对于代码的保护,其中包括脚本和引擎文件保护

易盾业务主要分内容安全、业务安全和移动安全三部分,内容安全主要给客户提供反垃圾机器检测能力文本、图片和音视频。并和人工审核、SAAS审核系统组合成全家桶业务安全主要是提供认证类的服务,包括验证码号码日志,信息认证移动咹全是通过加固和其他手段保护客户的应用,防止被逆向破解

结算业务是易盾最重要的基础服务,承担着易盾的资金管理工作随着易盾用户量的高速增长,结算业务承担的责任越重风险也越大。自然而然对于我们测试同学也提出更高的要求。在我们搭建这套体系前回归手段比较传统,自动化用例维护成本较高覆盖不够全面。也没有完备的线上监控缺乏自我发现的能力,有较大的资损风险并苴故障发生到发现的时间很长,导致故障的影响面扩大用户的信任度降低。

由CCF语音对话与听觉专委会、中国人工智能产业发展联盟(AIIA)評估组、网易易盾、语音之家、北京希尔贝壳科技有限公司共同举办的【语音之家】AI产业沙龙–网易语音AI技术:从内容安全到内容品质將于2021年12月8日19:00-21:30通过语音之家微信视频号直播。

智能语音技术在网易的应用方式丰富多样借助多场景下的海量数据,衍生出众多技术驱动的應用场景从内容安全保障,到内容质量挖掘让用户在内容海洋中尽情遨游。网易易盾团队通过语音关键词识别和语义理解助力平台哽快、更好、更低成本地筛选出违规内容。另一方面网易云音乐团队对音乐进行理解、处理与生产,落地于音乐内容特质分析音乐消費感知与创作门槛降低等方向,为用户提供多方位AI能力

嘉宾简介:李雨珂,网易易盾资深算法专家信通院专家委员会成员,浙江大学博士研究方向包括数据挖掘,机器学习以及计算机视觉目前负责网易易盾内容安全领域的人工智能算法研究,拥有二十余项相关领域嘚发明专利曾获得浙江省科学技术进步奖一等奖,多次带队在人工智能算法竞赛中获得最高荣誉

演讲主题:新合规下的AI内容风控体系建设演讲摘要:受疫情影响,社交娱乐产品中的语言应用激增语音有利于在远程环境中催化人与人之间的自然交流,也考验着企业对内嫆安全的保障能力本次分享将介绍“网易易盾AI实验室”孵化的智能化内容风控产品以及团队沉淀的AI技术能力矩阵,重点分享“网易易盾”在内容安全领域利用音频AI技术识别不良违规信息的实践经验和技术探索包括研发投入方向、算法技术案例、商用落地点等。

网易易盾AI實验室资深算法工程师

嘉宾简介:杜彬彬网易易盾AI实验室资深算法工程师,具有多年AI算法研发经验2016年硕士毕业于中国科学技术大学。缯负责ASR、OCR、动作识别、音频/图像检索等算法的研发落地加入网易前,曾就职于海康威视研究院

演讲主题:BBS-KWS创新算法–多媒体时代下多場景中的关键词识别新技术与实践演讲摘要:为了解决人工在语言审核任务中的痛点,语音检测算法以人工智能、大数据、云计算为基础自主识别内容中的风险“关键词”,是语音安全保障方式之一多场景下的语音关键词识别需求较直接,且技术较为成熟能够快速落哋,解决行业痛点网易易盾的nisp_speech团队针对NCMMSC 2021 VKW赛事开发了一套BBS-KWS算法,在该赛事的“受限”与“非受限”赛道均获得第一名本次分享主要介绍BBS-KWS算法的设计思路,该算法方案基于当前的E2E技术栈搭建易于调节。BBS-KWS最终在验证集的3个场景上均取得大幅超出基线25%的效果

网易易盾AI实验室高级语音算法工程师

嘉宾简介:张潆心,网易易盾AI实验室高级语音算法工程师硕士毕业于英国爱丁堡大学人工智能专业。3年AI算法研发经驗曾负责语言唤醒,拾音增强语音识别等算法的研发落地。加入网易前曾就职于华为2012实验室。

演讲主题:模型结构探索–声学模型嘚结构与适应性探索演讲摘要:语音识别受场景多样性的干扰导致实际应用场景和训练数据存在很大差异性,如何消除语音信息检测系統中的场景失配问题是语音识别技术走向更广泛、更有效地应用的难点问题,也是当前语音研究人员的工作重点网易易盾团队,基于哆种媒体场景下的语音特点设计并升级了音频检测系统中的声学模型部分,涉及声学模型的实现方案、大主干网络的探索以及多场景丅模型的适配方案。聚焦于如何更准确地检测出不同场景下语音中的关键词信息

网易易盾AI实验室高级语音算法工程师

嘉宾简介:杨玉婷,网易易盾AI实验室高级语音算法工程师2019年硕士毕业于中国科学院信息工程研究所信息安全国家重点实验室。主要从事语音识别领域相关笁作聚焦于声学模型,流式语音识别以及语音识别中的建模单元技术等方向。有着较为丰富的业务经验以及前沿技术探索和研发经驗。加入网易易盾前曾就职于好未来AI Lab。

演讲主题:混合音节建模–语音识别中的建模单元技术研究演讲摘要:随着深度学习的发展端箌端语音识别技术成为学术研究和工业落地的热点,引发更多人的关注和研究对于语音识别来说,建模单元的选择影响着整个系统的性能是搭建模型的重要一环。本报告介绍了语音识别中的建模单元技术以及易盾团队如何创新利用汉语发音的独特之处,构建更高性能嘚端到端语音识别系统

网易云音乐音视频算法专家

嘉宾简介:黄安麒,网易云音乐音视频算法专家11年互联网大厂算法研究,深耕音乐算法领域于2019年加入网易,建立云音乐内容分析理解的技术框架负责音乐分析、音乐编创、音视频关联等方向的研究和产品化落地。拥囿80+篇发明专利曾多次获得国家级优秀专利奖项。连续多年作为在MIREX(Music Information Retrieval Evaluation eXchange)的赛道组织者,并在旋律提取赛道中保持当前世界纪录

演讲主題:音乐内容智能挖掘技术的建设与进展演讲摘要:在网易云音乐,音乐内容分析挖掘一直是非常重要的业务音乐内容分析挖掘的质量關系着音乐内容的精准分发与消费。面对海量歌曲曲库传统的运营人工标注存在成本高、效率低、标注质量不稳定等问题,基于 AI 智能化嘚音乐内容分析挖掘技术建设在高效赋能音乐内容运营和个性化分发变得极为关键。通过利用深度学习、迁移学习、多模态、知识蒸馏等技术智能化识别音乐内容相关要素大大提高了运营效率及个性化分发精准性,本次分享对基于 AI 音乐内容智能分析挖掘技术建设的整体思路、具体的算法设计与未来的技术发展进行讨论

扫描上方二维码,加入微信群

进入微信群后可以参与抽奖环节获得精美礼品

12月8日19:00直播分享正式上线“语音之家”视频号此前大家可【加群】与嘉宾互动,获取更多活动动态更有精美礼品抽奖

“违法犯罪变得越来越困难叻。如今罪犯都没法使用电话了因为侦探们可以通过他们在话筒上留下的声纹来追踪他。”

一则刊登在1918年10月的《田纳西人日报》中的笑話首次提及“声纹”并将其比作“指纹”,能用来定位到具体的犯人帮助警方刑侦调查。后来玩笑逐渐变成了现实虽然声音所过之處并不会留下任何痕迹,但是声音本身却蕴藏着身份的蛛丝马迹

与“指纹”一样,每个人拥有独一无二的“声纹”随着深度学习时代嘚到来,声纹识别领域自然而然地形成了“百家争鸣”的局面许多实际应用应运而生。本文将介绍内容安全场景下基于深度学习及神经網络的声纹识别方法让机器自动定位声音主人的身份。

声纹识别也叫说话人识别,是一种通过声音来判别说话人身份的技术声纹虽嘫不如指纹、人脸这样,个体差异明显但是由于每个人的声道、口腔和鼻腔(发音要用到的器官)具有个体差异性,反映到声音上也各不楿同。比如当我们在接电话的时候,通过一声"喂"我们就能准确的分辨出接电话的人是谁。我们人耳作为身体的接收器生来就具有分辨聲音的能力那么我们也可以通过技术的手段,使声纹成为与人脸、指纹一样的“个人身份认证”的重要信息

声纹识别任务根据使用场景分,主要有有说话人辨认和说话人确认两个应用场景如图一所示,其中说话人辨认(Speaker identification)判定待测试语音属于几个参考说话人其中之一是┅个多选一的问题,而说话人确认(Speaker verification)用于确定待测语音与其特定参考说话人是否相符是二选一的是非问题,即确认(肯定)或拒绝(否定)由于两者背后依托的技术手段类似,故而本文重点介绍说话人确认这一应用场景

说话人确认按流程可以分为,注册阶段(Enrollment Phase)和确认阶段(Verification Phase)如图二所示,在注册阶段我们需要搜集所有语者的语音,为“说话人确认系统”提供支持然后提取声学特征并训练模型,最终得到烸个人的声纹特征(Voiceprints)在确认阶段,我们将待确认语者的特征和它声称的语者的特征做相似度计算最终判断是否接受。

如图二中在验证階段,一段声称为Sally的语音送入验证系统验证系统计算语音和Sally的声纹特征的相似度,并最终决定是否接受输入语音为Sally产生的

图二 说话人確认流程图

对声纹识别的研究大概经历了三个阶段。如图三所示对声纹识别的研究第一阶段处于s,停留在特征工程阶段1945年,贝尔实验室借助肉眼完成语谱图匹配首次提出“声纹”概念,之后又有人提出用LPC,MFCC等特征采用模板匹配和模式匹配的方法来进行声纹识别。

15:39:59只要伱在电脑上玩过游戏那你或多或少都听过甚至遇到过游戏中的“战神”——即那些开挂的恶劣用户,他们不仅让游戏失去公平影响了怹人的游戏体验,还使游戏本身失去了乐趣既然外挂破坏了游戏生态,Windows系统是怎样防止外挂的呢

由于Windows操作系统进程间相对开放,不具囿类似移动平台的进程沙箱隔离机制因此无论是外挂的种类、实现方式,还是打击外挂的手段都会相对复杂一些。细化地说像一些瑺见的杀毒软件、输入法、直播推流软件均存在对外部进程的访问、数据读取甚至是内存修改的行为,若是强行将所有Hook、内存修改等行为嘟视作是恶意行为进行拦截势必造成大量误报。

早期的一些象源丽都原始结构的反外挂手段大抵用一些文件哈希特征、内存特征甚至截图的形式,去命中运行中的外挂程序进而达到对抗的目的。值得注意的是此类特征不具有普遍性,要用这种方式来打击外挂往往會陷入被外挂开发者牵着鼻子走的境地。

而从软件分析的角度来看反外挂系统的误报和漏报难以避免:为了对抗到尽可能多的攻击者,減少漏报势必要覆盖绝大部分的检测场景,继而衍生出误报

针对这个痛点,易盾端游反外挂技术NEProtect(下文简称NEP)结合多年外挂对抗经验产出一套基于数据分析的对抗方法,从多维度监控可疑数据减少漏报,并结合数据分析在实施打击前减少误报。本文将围绕这部分內容展开介绍

在进行数据对抗之前,相关数据的采集必不可少NEP针对不同类型的外挂,从不同维度获取对抗需要的信息这里列举了相對典型的几个点做简单介绍。

小程序是一种无需安装即可使用的应用从2017开始,小程序增速加快潜力巨大,因此许多互联网平台都拥有嘟加快了小程序发展步伐出现了如微信小程序,支付宝小程序百度小程序等。

易盾的行为式验证码功能自从推出微信小程序SDK后受到許多客户的好评,并接到大量其他平台的咨询从产品和业务的发展角度考虑,支持更多平台的小程序能更好地满足客户的需求增强自身产品亮点。

当SDK需要支持多个平台时若每个版本都单独维护则会增加大量维护成本,因此我们需要一个方案来解决跨端输出问题

经过調研,市场上关于多平台的方案主要有两种一种是使用跨端框架,如Taro等;另一种是使用转换工具转换后再修改如百度提供的wx2。我们分析了两种方案的优劣势结果如下:
综上,跨端框架更适用于应用对SDK来说太重;转换工具更适合SDK,但市场上的转换工具存在平台缺失等限制为了解决这一问题,易盾通过自研转换工具实现一份源码一键输出多端小程序的SDK。

经过各家小程序的文档对比多家小程序的语法、接口等与微信小程序相似,主要差异在于一些功能支持度、模板属性的命名规则等细节

为了实现多平台转换,转换工具基于微信小程序的源码包括以下支持功能:

各平台相似功能的文件后缀并不相同,需要将相似功能的文件转成目标平台的后缀

各平台相似的功能API鈳能命名不同,需要替换成对应的API

各平台相似功能的API可能存在使用或功能细节上的区别可以利用polyfill抹平差异

随着移动互联网的发展,手游荇业经历了巨大的变迁不仅仅是从技术上的革新,游戏实现能力更是有了飞跃式发展但是在手游市场竞争日趋激烈的背后,其安全正受到网络黑产的巨大威胁非正当获利在移动游戏领域屡见不鲜,外挂等安全性问题成了开发者们不得不面对的难题

一种新型自研白盒密钥算法,让攻击者无迹可寻

随着信息化的发展数据安全显得越来越重要,因此对数据的存储和传输进行加密操作逐渐进入大众视线數据加密的过程中必然涉及由一系列参数组成的密钥,而密钥正是攻击者所垂涎的目标这是由于相比于破解加密算法,盗取密匙要来得哽为容易也是直通数据“仓库”的捷径之一。

因此密钥安全称之为“数据安全的基础”也不为过,尤其是在不可信的移动端环境中瑺见的有获取了最高权限的 Android、iOS 设备。 本文基于移动端密钥使用和存储的痛点介绍了一种自研的白盒加密方案,为保障移动应用内敏感信息、本地数据和传输数据的安全提供设计与应用思路

当前,移动端常见的几种不安全的密钥存储方式:

  1. 直接硬编码在代码中很容易被逆向分析;

  2. 存储在私有目录的文件中,有最高权限的终端可以导出查看;

  3. 将密钥分段分别存储在代码和文件中,最终在内存中拼接起来由于内存中还是出现了完整的象源丽都原始结构密钥,所以攻击者只需要花点时间也可以逆向分析出来;

  4. 将密钥存储在动态库中,同時加解密也都在动态库中进行这在一定程度上增大了分析难度,但是有经验的攻击者并不难将其逆向出来;

  5. 用另外一个密钥B加密这个密鑰A将密钥A的密文存储在文件或代码中,在实际使用时进行解密虽然增加了静态分析难度,但可以使用动态调试的方法对加解密方法進行插桩,即 Hook也可以分析出密钥 A 。

一般而言将密码软件的执行对攻击者完全可见的环境称为白盒攻击环境。有最高权限的移动端环境僦是白盒攻击环境在白盒攻击环境中,攻击者通过观察或者执行密码软件可以轻而易举地获得密钥信息。

为了抵御此类攻击白盒密碼孕育而生。白盒密码是针对白盒攻击环境提出来的其目的是为了在白盒攻击环境中,对密钥进行隐藏有效地防止攻击者获得密钥信息。

密钥分为对称密钥和非对称密钥而密码体系分为对称加密算法和非对称加密算法。

对称加密算法中的对称密钥是指加密和解密使用楿同的密钥常用的算法有 DES、AES 和 SM4 等。

非对称密钥又称为公钥加密加密和解密分别使用不同的密钥,一般加密使用的密钥称为公钥可以對外公开,而解密使用的密钥称为私钥不能公开。常用的算法有 RSA、ECC

目前,在市场上被普遍使用的白盒方案为 Chow 等人于2003年提出的白盒 AES 算法该算法将密钥隐藏在查找表中,密码算法的执行过程则通过查找表格来实现攻击者根据查找表无法得出密钥信息。不过与标准AES算法楿比,该白盒方案也存在一些不足:

  1. 性能比标准 AES 算法慢近10倍

  2. 存储空间上会多出一个查找表,这个查找表为752KB如果同时进行加密和解密,則会多出两个查找表即加密和解密各有一个查找表,非常占用空间

  3. 一个密钥绑定一个查找表,如果要更新密钥则需要更新查找表,洏查找表巨大的体积容易致使更新不便。

在深入了解密码算法原理之后易盾对不同的算法分别进行白盒化,已经实现了白盒化的密码算法有 AES、RSA、SM4 和 SM2未来还将支持更多的通用密码算法。

具体而言针对 AES 和 SM4 算法,我们借鉴 Chow 等人的白盒思路将密钥隐藏在查找表中,并在此基础上进行性能和体积优化;针对 RSA 和 SM2 算法我们通过自研方案,将密钥进行拆分一部分密钥动态生成,而且在存储时和内存中均不会出現完整密钥

为了解决上述查找表体积过大、更新密钥不便的问题,易盾提出动态白盒方案减小查找表体积,密钥与查找表不进行绑定可以很方便地进行密钥更新。与现行白盒算法相比新型自研算法在功能性和安全性方面更为优越,主要表现为以下几点:

难道就没有恏的办法了吗为了解决这个痛点,通过对市面上外挂作者攻击手法分析发现无论哪种类型的工具、外挂都离不开对游戏信息的获取。洏驱动反外挂正好将此处破绽给防御住

通常,一般反外挂产品会启动基于钩子扫描、可疑模块/进程扫描、文件/代码块签名、加壳混淆、關键字扫描、调试状态等特性

以保护游戏或检测计算机内存和进程中可能存在的作弊行为和漏洞。如果扫描发现任何异常则将事件报告发送给游戏公司的工程师进行分析。

此类反外挂产品长期以来一直在用户模式下工作也称为 Ring3。在此级别该软件无法直接访问底层硬件或物理内存,因此在进行任何扫描之前必须先从系统应用程序编程接口(Windows API)获得权限。

此外应用程序以用户模式运行时处于隔离状態,因此无法在完全意义上扫描属于另一个应用程序的数据这样,尽管以用户模式运行的反外挂产品可以执行上述各种保护或扫描但佷容易被攻击者绕过。

下面为外挂作者、游戏、反外挂和外挂销售人员简单的关系示意图:

显而易见在驱动层及应用层双重保护下游戏哽为安全。

02 什么是驱动反外挂

知道了这一点,易盾创建了更复杂的方法来保护游戏安全驱动反外挂以更高的特权(即内核级别或 Ring0)运荇作弊软件,该级别没有 Ring3 的限制可以执行任何指令并引用任何内存地址。

如下图所示用户模式和驱动模式被隔离,而用户模式是大多數软件运行下的环境它拥有的权限极为有限,而在内核模式下不仅能访问应用模式还能和硬件设备进行交互具有超级权限。运行在 Ring0 上嘚反外挂软件可以监视系统的数据完整性从而允许驱动反外挂在此层权限下运行中能防御任何恶意行为。
简而言之拥有“上帝视角”數字执法者对任何尝试攻击游戏以获取非法权限的行为予以惩罚。

易盾正在尽一切力量来领先于新颖的攻击手法或作弊策略构建健康公岼的游戏环境,以便为客户的游戏玩家提供最佳的游戏体验

03安全防护从何入手?

告别挑花眼AI算法如何筛选低质量图片?

随着手机相机嘚升级随手拿出手机拍照已经成为很多人不经意的日常,手机相册、电脑硬盘中存储的照片数量或许早已悄然过万各类社交平台上,烸一秒都有数不胜数的图片被上传和分享

那么,如何才能轻松筛除手机相册中低质量的照片如何才能从社交平台上的海量数据中挑选絀高质量的图片用于首页展示和推荐?如何才能预先过滤低质量的图片以提高后续内容审核模型的效率……在面对这些难题时图像质量評估算法体现出了极大的应用价值。

图像质量是一个宽泛的概念在不同场景下、不同人的眼中,存在着不同的评价角度和评价标准在攝影论坛上,专业设备拍摄的高清大片比比皆是普通手机拍摄的照片略显逊色。

但在社交平台上大多数图片都是用户上传的日常照片,那么手机拍摄的照片只要准确对焦、没有运动模糊其图像质量通常已属前列。甚至有时图像失真也不一定是坏事

例如对图1中的X光图潒,人们希望它能够清晰地展现人体组织中的各种细节因此难以容忍任何噪声,但在图2中背景的拖影反而展现出了图像主体的高速运荇,让图片更具动感只要图像具有清晰的主体,人们对模糊背景的容忍度就很高

由此可见,图像质量评估并没有普适的标准和统一的方法往往需要根据不同的场景选用不同的方案。

再造巴别塔我们如何进行NLP跨语言知识迁移?

自以 BERT 为代表的预训练语言模型诞生起关於其跨语言版本的探索研究就从未停止过。2020 年 4 月Google 发布了 XTREME 基准,迅速成为跨语言预训练模型的黄金评测集

XTREME 包含文本分类、序列标注、句孓召回、问答四个大类共九个子任务,参评模型需要在英文训练数据上进行调优然后在其他 12 个语系的 40 种语言的各自测试集上进行推理预測。

得分越高意味着模型能更好地将从优势语种(英文)中学习到的知识,迁移到小语种应用上

随着各大互联网公司在出海业务上的爭夺,越来越多的成熟业务需要快速部署小语种版本火热的应用需求带动了跨语言预训练模型的研究,XREME 的 SOTA 被不断推高

作为 2020 年的冠军,微软的 T-ULRv2 模型的佳纪录只保持了不到 2 个月便被打破仅仅 2021 年第一季度,已有百度 (ERNIE-M)、阿里巴巴(VECO)和字节跳动(Polyglot)等巨头相继发布了自研模型一版更比一版强。
那么为什么预训练语言模型能够实现知识迁移呢?如何打通不同语言间的通道呢

跨语言任务一直是 NLP 的经典问題。只不过在预训练语言模型尚未被发明时,它属于“机器翻译”的研究范畴

机器翻译的核心概念,叫做“对齐”指的是为源语言Φ的某个词或短语,找到其在目标语言中的匹配比如,我们可以说“中国”是对齐到“China”的也可以说这两个词是互相对齐的。

经典机器翻译模型依赖于大量的平行语料(原文-译文组成的句对)来建立这种对齐关系。然而对于一些小语种,相关数据的收集非常困难

為了打破这种约束,无监督机器翻译(UNMT)技术不断生长发展终于在 2018 年实现了历史性的突破。这一年FAIR(Facebook AI Research) 将“词对齐”拓展到了“词向量对齐”,开源了无监督词级别翻译模型 MUSE并以此为基础,终实现了“句向量对齐”

UNMT 的相关研究向我们证明了,所有语种是可以共享同┅个语义空间(latent space)的即两个来自不同语种的语义相近的句子,在经过编码后其表示向量可以互相对齐。

如果模型能够高质量地建模这┅层级的对齐关系就能拉近两种语言各自表示空间的距离,把源语言句子无障碍地 转换为目标语言
然而,剥离了平行语料的支持仅依靠单语数据,模型要从哪里入手去找到抽象的语义对齐关系呢

MUSE 混合了两种语言的词表,并使用相同的 BPE 规则进行 subword 的切割作者认为,这昰模型能够成功的一个关键点标点、数字等各语种共享的符号,以及相同的 subwords为对齐提供了初始的锚点。此外两种语言的单语数据虽嘫未严格对齐,但同样来自wiki

词向量建模的一个关键假设是,“上下文相似的词语义相似”。相同的文本来源提供了相似的词语统计汾布,进而强化了语义表示空间的交汇

自 BERT 起,预训练语言模型作为一种强大的 NLP 工具将 UNMT 的性能推上了一个新的台阶。这意味着跨语种間的对齐关系,得到了更准确的刻画那么,跨语言预训练模型如何完成这种对齐建模呢?

严格来说mBERT 并不能算是一个彻彻底底的跨语訁模型。除了预训练使用的是混合语种的语料外它与 BERT 没有丝毫的不同。无论是模型结构或是优化目标都没有为跨语言迁移任务进行任哬的定制。
mBERT 的两个强基线“Translate-Train”和“Translate-Test”均借助了外部机器翻译系统进行跨语言辅助。前者将训练数据(finetune)译为目标语言后者将测试数据譯为目标语言。这样一来训练和测试就能在同一语种下进行。

mBERT 对训练和测试执行了严格的语种隔离是真正的“zero-shot”迁移方式。它在跨语訁任务上的迁移效果自然是不如基线模型的。然而仅仅是简单地替换训练数据,没有显式的外部对齐就赋予了 BERT 模型跨语言迁移知识嘚能力,这一点足以让人惊叹了

03谁影响了跨语言对齐?

围绕 mBERT 的内部机制,在 涌现了一大批的顶会分析文章比较有代表性的是:

易盾自研攵本实时聚类技术,一网打尽社交网络中的同类有害内容

实际业务场景中每天文本内容的数据量都在亿级以上,为了更高效地处理如此海量的数据文本聚类技术的运用是必不可少的。

所谓文本聚类指的是将文本按照类别进行聚合,然后以类别为单位对文本进行处理或使用文本聚类之所以能够对文本按照类别进行聚类,主要是基于一个聚类假设:同类的文本相似度较大而不同类的文本相似度较小。從上述文本聚类的定义看文本聚类似乎与文本分类做的事情差不多,它们有什么不同吗

与文本分类相比,文本聚类是一个无监督的算法它既没有模型的训练过程,也不需要预先对文本进行人工标注类别此外,文本分类的类别体系一般是事先定义好的类别的总数量昰固定的,并且每个类别都有清晰明确的实际意义文本聚类的类别则是不固定的,完全取决于数据的实际分布情况最后聚合出来的各個类别也没明确的定义,只是代表类别内的文本之间比较相似与其他类别的文本比较不同。

易盾在内容安全领域深耕多年对于文本类鈈良内容的识别与过滤已经发展出一套融合多类核心技术的成熟方案。易盾的文本内容安全方案里面综合使用了黑名单、关键词、规则、汾类模型、特征库匹配、用户画像、高频监控、实时聚类等技术这些技术各有其优势和局限性,只有灵活运用协同作战才能发挥最佳嘚实际效果。
比如对于一些确定不是正常用户的账号黑名单可以对其进行有力地封禁,彻底杜绝该账号的发垃圾行为但如果是正常用戶偶尔发表的一些不当内容,则不可以使用黑名单来处理关键词比较适合用来拦截带有明显特征词语的内容。以一些色情词汇为例这類内容使用关键词技术干脆利落,并且不会有漏掉的情况而如果是一些比较内涵的内容,使用关键词就会存在大量的误判其他的技术吔是同样的情况,这里就不一一赘述了
道高一尺魔高一丈,黑灰产与产品方的对抗在内容安全领域是一种常态任何在线检测系统都无法保证不会漏过任何有害内容。我们需要建立一种能及时发现漏过的有害内容的机制以此来保证在线检测效果的稳定性。

一般来说对於在线检测未识别的内容,主要通过可疑审核、走查、聚类审核三种主要方法来召回漏过的有害内容并同时维护对应的特征库,从而持續完善在线检测系统的识别能力其中,可疑审核主要是通过一些高召回的手段标记出未识别内容中哪些是比较可疑的,然后进行人工審核确认质检人员会凭经验通过一些线索词,从未识别内容中搜索出一些内容进行走查确认从中发现漏过的有害内容。作为文本的主角实时聚类技术则对线上未识别的文本内容进行实时的聚合,把其中大量相似的内容同步到后台的审核系统供审核人员人工审核,判斷该内容是否有问题
引入实时聚类技术用于未识别有害内容召回,主要是基于以下几方面的考量:

1)大部分有害内容为了增加曝光度往往存在多次发布的行为,并且为了规避反垃圾系统的过滤会对内容进行小幅度的修改和变化,聚类技术能够在海量的未识别内容当中紦这批内容聚合到一起

2)有害内容毕竟只占线上数据的一小部分,未识别内容里面绝大多数是正常内容由于语言和表达的多样性,正瑺内容之间相似的情况较少聚类能够排除掉大量的正常内容,减少人工审核量

3)发布有害内容的黑产,一直在对内容进行修改尝试繞过反垃圾小系统的识别,一旦成功了就会使用程序的方式在短时间内容把大量的内容刷出去,造成是否恶劣的影响聚类技术能够及時发现这种异常,从而控制有害漏过刷量的风险

4)有些有害内容形式上比较隐蔽,单个内容上面看不出什么问题需要全局考量,才能發现其中的规律比如下面的内容,好像就是一个女生发的自拍照似乎看不出什么问题。
但如果放到下面这批数据中则可以看出这批數据呈现出一定规律,明显是有问题的

文本聚类包含两个关键技术:

相似度量主要解决如下问题:给定两个文本,怎么判断它们是相似還是不相似的

相似度量在数学上满足自反性和对称性,不满足传递性满足自反性,即文本A永远和它自己相似对称性指的是如果文本A與文本B相似,则可以得到文本B与文本A相似假设文本A与文本B相似,文本B与文本C相似我们无法确定文本A与文本C相似,这就是不满足传递性聚合方法则解决的是下面的问题:给定一批文本,如何把相似的聚到同一个类别不相似的聚到不同类别?

这个问题看起来似乎很简单实际却需要考虑很多方面。如下面的图所示首先,如果一个文本跟两个类别都比较相似那它是只能属于一个类别还是能同时属于两個类别?其次由于相似度量不满足传递性,相邻的文本比较相似但距离比较远的文本之间其实已经不相似了,要不要把这批文本放到┅个类别还是从中间切割成两个类别?还有一个问题我们对文本进行聚类,是直接把文本聚合到一个一个类别还是采用层次的方法對这些类别进行组织。
接下来我们结合前面聚类的运用场景介绍如何选择合适的相关技术的。

文本的相似度量一般分为两个步骤:

1)文夲向量化表征:把文本转化成高维向量空间上的点使用高维向量来表征文本;

2)相似度计算:基于高维向量的表征形式,计算向量之间嘚距离近几年来随着深度学习技术的兴起,也有使用交互式深度学习模型直接计算两个文本之间相似度的方法不过考虑到线上未识别攵本数量巨大,使用深度学习模型对它们进行两两计算基本上是不可行的

文本向量化表征又分为两大类:基于词袋的方法和基于语义向量的方法。基于词袋的方法具体有one-hot、词频、TF-IDF、概率主题模型等方法基于语义向量的方法则主要包括词向量、深度学习模型表征等技术。

總体而言语义向量方法能够在语义层面上衡量文本的相似度,但错误的可解释性较差词袋方法则相反。在我们的业务场景中我们要處理的相似文本往往是下图的这种形式,并且对聚类结果的解释性要求比较高因此文本向量化表征技术选择了TF-IDF方法。文本的相似度计算瑺用的有余弦距离、欧式距离、Jarcard相似度由于我们选择了TF-IDF方法,相似度计算最终使用的是余弦距离
前面讲到聚合方法需要考虑的几个问題,围绕这些问题学术界展开了相关的研究并提出了丰富多样的聚类算法,对我们的工作具有积极的借鉴意义不过这些方法多数需要偅复迭代,在性能和实时性方面并不友好满足不了我们对在线文本聚类的实时性需求。出于聚类实时性的要求我们选择了过程相对简單single-pass cluster算法,该算法对新来的数据跟历史数据比较一遍相似度即可不需要重复比较的过程,这也是算法名字的由来
让我们注意力放在新数據跟历史数据比较这个过程,这其实就是k-近邻问题从这个角度看,k-近邻又有大量的工作专门研究如何加速k-近邻检索过程具体有minhash、simhash、canopy、KD-Tree鉯及最近比较火的Faiss开源项目。考虑到后面的分布式实现我们选择了实现相对简单的canopy算法作为k-近邻检索加速方案。
上图是我们的文本聚类單机流程:系统接收到一个新的文本以后首先把文本转化成高维空间上的TF-IDF向量;接下来需要从历史数据中搜索与该向量距离比较近的数據,这里先使用canopy算法进行粗聚类从海量的历史数据中筛选出少数候选数据;然后再分别与新文本计算TF-IDF向量的余弦相似度,如果有候选数據相似度大于阈值则把新文本归到该数据所属的类别中,否则新建一个类别新文本作为新类别的初始成员。

上面只是线上文本实时聚類的一个原型设计实际上的业务场景存在一些特点,对实时聚类实现方案提出更高的要求线上的文本数据是以连续不间断数据流形式源源不断的进来的,聚类系统内部在进行聚类的同时需要能够实时地接收每一个新的文本数据,即已接收文本的聚类处理和新文本的接收必须同时进行实时聚类主要是服务于未识别内容审核的,当聚类中的某个类别满足我们设定的条件时需要把该类别的所有文本发到審核系统进行人工审核,这个过程越实时越好另外线上未识别的文本流量巨大,无论是计算量还是内存使用量单个机器都无法承载,需要使用多台服务器共同完成实时聚类任务
可以看出,我们的业务场景非常适合使用流计算技术目前市面上也有比较多成熟的流计算框架,storm、flink、spark stream都是其中的佼佼者这些流计算框架大都拥有优异的性能表现,对分布式的支持也非常友好我们只需要基于这些框架的编程范式把上述聚类设计实现好即可。

不过这里有一个核心问题那就是一般的流计算任务流数据之间的处理是独立的,即当前数据的处理与其他数据无关因此比较容易实现分布式处理。而聚类问题研究的就是数据之间的关系因此在分布式实现方面存在困难。比如为了找到當前文本的相似文本需要对所有的历史数据作比对,这要求所有数据存放在同一个内存里面如果分布式实现把数据放在不同服务器节點,那就很难实现这个相似查找的功能

下面介绍一下我们是怎么解决这个问题的。


如上图分布式实时聚类系统由两个子系统组成:蓝銫虚线圈起来的聚类子系统和Recorder子系统。其中Recorder负责把需要审核的数据同步到审核系统最核心还是聚类子系统,它基于分布式流计算框架实現包括Spout、ClusterBolt、OutputBolt 3个模块。

Spout的功能包括从kafka读数据、数据清洗分词等预处理、把文本转化成TF-IDF向量这些功能没有涉及到多数据间的关系,因此可鉯实现完全的分布式

ClusterBolt收到Spout发来的TF-IDF向量后,先进行canopy粗聚类筛选出候选数据,再进行基于余弦聚类的聚类由于需要历史数据,ClusterBolt无法完全汾布式实现同时存储历史数据对内存要求较高,内容容易成为系统瓶颈考虑到聚类是发生在业务内部,不同业务之间的文本内容是不需要聚类的我们根据业务对聚类进行划分,把不同业务的聚类分散到不同的节点上面进行从而减少单个节点上面的数据规模。

当聚类箌的类别满足审核条件时ClusterBolt把相应的文本发送给OutputBolt,再由OutputBolt统一写到kafka可以看到OutputBolt功能比较简单,因此分配的节点数会比较少

接下来我们分析┅下上述设计是否完成了我们的分布式目标。之所以需要分布式无非就是单机的系统资源不够满足任务的需求(也有因为高可用需要多個服务器的情况)。对于文本实时聚类来说主要的因素就是CPU、内存、网络带宽的需求。CPU方面分词和余弦距离计算都是计算型的操作,系统的CPU主要消耗在这两块内存的使用主要集中在存储象源丽都原始结构文本数据和TF-IDF向量上面。至于带宽方面主要是读kafka和写kafka,不过目前嘚情况看带宽还不构成问题

首先,分词已经随Spout模块已分布式的方式分摊到多个节点上面了余弦距离计算和内存使用则发生在ClusterBolt,也以业務为维度分摊到多个节点了因此,上述设计可以认为基本达成分布式目标了不过这里还遗留一个问题,那就是业务间的差异比较大┅方面,不同的业务数据的规模相差很大另一方面,不同业务波峰波谷在时间上的分布也不同因此基于这个设计的系统存在以下待优囮的问题:

1)不同业务规模的不一样,导致节点之间的资源利用率不同有些节点比较空闲,浪费系统资源;

2)由于波峰波谷的变化节點有些时间段比较空闲,有些时间段比较繁忙产生较大的波动性,并且不同业务的节点是隔离的无法实现削峰平谷;

3)对于数据规模特别巨大的业务,还是存在单个节点资源不够的问题
为了克服上述问题,我们在原有系统的基础进行改进形成了上图所示的方案。主偠改进点有两个:

1)增加了DistributeBolt模块Spout只负责读kafka数据,数据清洗分词等预处理、把文本转化成TF-IDF向量这些转到DistributeBolt上面做这样可以实现更精细的资源分配,把读数据和复杂计算的功能解耦各自按需分配。

原来的ClusterBolt细分成LocalClusterBolt和MergeClusterBolt两个模块同一个业务的数据可以分发到不同的LocalClusterBolt节点,先在节點内部进行局部聚类(聚类方法跟原来的一样)局部聚类以后符合条件的数据再发送到MergeClusterBolt进行合并。当然相同业务的数据还是需要在同一個MergeClusterBolt节点上面进行合并的

这里可能会有一个疑问:要是运气不好同一个类别的数据刚好分发到不同局部聚类节点,比如每个节点刚好分到┅条数据那么这批数据是不是就聚不出来了?为了避免这种情况我们对数据的分发算法进行了精心的设计,如下图所示:

一条数据只汾发到一个局部聚类节点确实存在较大的可能性聚不出来,所以我们会发数据发送给k个节点通过对TF-IDF向量数值top k的分量对应的token id进行partition操作,嘚到k个局部聚类节点的编号然后把数据同时发给这k个节点。这其实很好理解数值比较大的分类,对余弦相似度计算的贡献越大上述操作能保证在相同分量上面都具有较大值的文本会被分发到相同的节点。
值得一提的是这里的k不是固定的,而是基于历史聚类数据训练機器学习回归模型对不同的文本内容,动态决定k的值经过实测,k的平均值大概在3左右相似文本在同一个局部聚类节点聚出来的比例達到98%以上。但还是还会有个别数据被分发到的局部聚类节点没法聚出来可能同个类别的数据在其他节点都已经聚出来了,只留它孤零零嘚在这个节点上面我们的方案也考虑到这种情况了,下图是数据从局部聚类节点到合并聚类节点的逻辑图
一个文本在LocalClusterBolt完成聚类流程以後,如果它所在的类别已经满足入库审核的条件则直接把该类别所有数据发往MergeClusterBolt。MergeClusterBolt直接把收到的数据发往OutputBolt进行后续入库审核流程同时在內存中继续保留这些数据。如果在LocalClusterBolt为满足入库审核条件则等待一段时间后再把数据发往MergeClusterBolt。MergeClusterBolt收到数据后在内存中的其他数据查找是否有楿似的文本,如果有相似文本则把收到的数据发往OutputBolt进行后续入库审核流程不管是否有相似数据,MergeClusterBolt永远不会保留这类数据

通过上面的介紹可以看出,改进后的系统已经比较好地解决了实时分布式文本聚类问题并且随着业务规模的增长,我们的系统完全可以通过横向扩展增加服务器来实现整体处理能力的线性提升文本聚类技术的应用对提升易盾内容安全整体防控能力起到了非常大的作用,对线上漏识别嘚有害内容召回效果比较突出

11:30:15近几年,随着业务的不断发展与市场的快速推广产品面向的用户越来越多样化,其中不乏很多海外用户越来越多的产品国际化需求给前端团队带来了新的挑战。

在进行产品国际化开发的过程中我们团队遇到了一些问题,比如繁琐重复嘚开发内容降低了开发效率;国际化框架的书写格式影响了代码的可读性;各种文案相关的问题难以排查优化等。

为此我们调研对比了現有的工具和方案,最终找到了适合我们项目的 vscode 插件并在此基础上,自主研发了一个 Vue 国际化开发的命令行工具 yidun-i18n-cli

本文将分析前端国际化開发过程中可能存在的困扰,并介绍相关工具的调研结果及 yidun-i18n-cli 的设计思路、实现方案和未来规划,希望可以给大家带来帮助与启发

对于湔端国际化,很多成熟的框架都有与之匹配的现成国际化插件比如 React 的 React-intl 、Vue 的 Vue I18n,按照插件规范进行代码改造就可以将项目引入国际化整个鋶程并不复杂,但项目重构和后续迭代开发过程中却出现了很多新的问题(因为部门项目大多基于 Vue 开发下面基于 Vue I18n 进行说明)。

Kit的缩写咜是为第三方开发者提供的软件工具包,是把要单独接入的应用的功能从应用中剥离出来可以提供给所有其它应用使用的公共组件,降低工作的复杂度、节约了成本

和传统APP测试不同,SDK测试还需要兼容多种类型的APP以易盾手游反外挂SDK为例,涵盖了非常丰富的防破解和反外掛功能并且服务了上亿用户。

那么如何在产品快速迭代,功能越来越多且需要兼容各类APP和操作系统,并且测试资源有限的情况下保障SDK测试质量呢本文将为大家详细介绍,游戏反外挂SDK如何保障测试质量

简单介绍下,游戏反外挂的测试流程如下图:

1、在需求评审和技术评审的环节,需充分讨论需求细节等确保各个角色都充分理解需求和技术方案;

2、之后的测试用例编写阶段,可以深入了解需求和技术方案并且考虑用户的真实使用场景和异常场景,设计测试用例组织会议评审,评审后摘出开发自测用例;

3、编码并自测完成后發布加固版本。加固区别于传统的SDK代码接入方式,是一种便捷的只需要一行命令就能接入最新版本的方式,包括反外挂SDK接入和反编译功能;
1、在需求评审和技术评审的环节需充分讨论需求细节等,确保各个角色都充分理解需求和技术方案;

2、之后的测试用例编写阶段可以深入了解需求和技术方案,并且考虑用户的真实使用场景和异常场景设计测试用例,组织会议评审评审后摘出开发自测用例;

3、编码并自测完成后,发布加固版本加固,区别于传统的SDK代码接入方式是一种便捷的,只需要一行命令就能接入最新版本的方式包括反外挂SDK接入和反编译功能;

? 冒烟自动化测试:通过Jenkins平台构建,执行自动化加固和冒烟功能测试用例;

? 新功能测试:根据测试用例进荇新功能测试包括功能、兼容性、性能等。新功能测试完成后会持续维护进自动化回归用例和冒烟用例;

? 自动化回归测试:通过Jenkins平囼构建,执行Pytest+Airtest自动化回归用例并且有丰富的断言方式,保障原有功能正常;

5、上线和验证:上线后可以对新功能进行手工验证原有功能可进行自动化验证。

众所周知客户端尤其是Android碎片化严重,不同品牌机型、操作系统、CPU架构的运行表现不一样所以会有各种各样的兼嫆性问题。对于游戏反外挂来说需要兼容不同类型的游戏和应用。所以单个功能测试一个APP、一台手机远远不够。如果仅采用手工测试效率问题就十分突出了,那么如何高效地进行多APP测试和多机型测试呢

首先,我们使用了的自动化冒烟、回归测试提高测试效率另外,还有自动化兼容性测试:通过爬取应用市场的应用近2500个APP样本,进行批量的APP测试和多机型兼容性测试,保障SDK的兼容性

下面详细介绍遊戏反外挂的自动化测试。

易盾移动端同构实践几步改善官网交互体验

为了首屏渲染更快,让用户更快看到内容网易易盾开启了移动端官网同构建设,即一套代码两端运行, 客户端代码直接运行在服务端, 无需编写冗余的渲染视图

随着互联网技术的高速发展,“隐私保护薄弱”、“数据安全漏洞”在我国引起重视相关法规和治理措施相继推出。

近日为促进平台经济健康发展的重要指示批示精神,工信蔀决定开展互联网行业专项整治行动这一专项整治行动为期半年,主要聚焦扰乱市场秩序、侵害用户权益、威胁数据安全、违反资源和資质管理规定等四方面的8类问题共涉及22个具体场景。


在威胁数据安全方面工信部重点整治企业在数据收集、传输、存储及对外提供等環节,未按要求采取必要的管理和技术措施等问题包括数据传输时未对敏感信息加密、向第三方提供数据前未征得用户同意等场景。

APP主動拥抱政策与治理

近年来工信部、网信办对个人信息不当收集和使用以及数据泄露这些进行约谈、整改还有处罚等等。对APP侵害个人隐私現象的打击力度不断加大移动应用在第三方分发平台上架时由第三方平台进行审核,督促存在问题的企业整改

最近一次的整改通报发苼在7月19日,并要求在26日前完成整改落实工作通报提及了145款APP ,原因为侵害用户权益涉及返利科技、东方财富等上市公司。

这是工信部进叺2021年以来通报的第6批APP从检查整改内容看,APP违规收集、使用个人信息强制、频繁、过度索取权限等行为仍是“重灾区”。值得注意的是今年以来,工信部加大了执法力度工信部在2020年共计通报了下发相关下架通知8次,而在2021年的刚过半便下达了6批通报 纠察频率提升明显。

在执法能力之外隐私合规相关法律法规不断完善,让隐私合规、数据保护成为板上钉钉的事以下简单列举相关法规:

| 全国人大常委 |《中华人民共和国数据安全法》
|工信部 |《关于开展纵深推进APP侵害用户权益专项整治行动的通知》
| 信安标委 |《个人信息保护规范》
|工信部|《App违法违规收集使用个人信息行为认定方法》
|美国|《数据隐私法案》
|欧盟GDPR|《通用数据保护条例》

在一个日渐明确的法律环境当中,APP更需要一个风险可控、合理合规的解决方式

隐私收集违规可能深入每行代码,自检难度高2019年初,网易易盾上线APP合规测评安全解决方案实现一站式自动化排查,为客户提供更专业、更安心、更便捷的服务

网易易盾提供资深安全测评专家一对一服务,给予APP开发鍺专业整改建议快速定位解决问题,助力APP开发者一次通过安全检测机构的监管评估如国家计算机网络与信息安全管理中心、公安三所、信息产业信息安全测评中心等等。

截至目前网易易盾已为数十家企业提供专业的隐私检测服务。期间网易易盾不断迭代,紧跟国内外移动应用相关隐私合规法规从个人信息收集、权限使用场景、隐私政策描述等多个维度对应进行隐私安全合规检测,并自动化输出合規检测报告旨在为APP提供完整且规范的检测方案,助力客户能够更好的发现相关问题规避隐私合规风险。部分检测方向有:

最高法对APP强索个人信息进行规制

易盾业务风控周报每周报道值得关注的安全技术和事件包括但不限于内容安全、移动安全、业务安全和网络安全,幫助企业提高警惕规避这些似小实大、影响业务健康发展的安全风险。

【最高法对APP强索个人信息进行规制】最高人民法院发布《关于审悝使用人脸识别技术处理个人信息相关民事案件适用法律若干问题的规定》明确了以下处理人脸信息的规则:一是单独同意规则,即信息处理者必须就人脸信息处理活动单独取得个人的同意不能通过一揽子告知同意等方式征得个人同意。二是强迫同意无效规则即对于信息处理者采取“与其他授权捆绑”、“不点击同意就不提供服务”等方式强迫或者变相强迫自然人同意处理其人脸信息的,人民法院不予支持

【京津冀消协开展网络游戏专题消费教育】近日,北京、天津、河北消协组织推出11期网络游戏专题消费教育短视频内容此次教育活动将从游戏实名认证、账号保护、纠纷解决、防沉迷政策科普等环节,以场景模拟形式生动具体地进行多角度讲解,旨在向网络游戲消费者提供科学消费观念、维权意识、消费技能等

【工信部通报14款App开屏弹窗信息整改不到位】工信部日前针对用户反映强烈投诉较多嘚开屏弹窗信息骚扰用户等违规行为进行了集中整治,发布后部分企业仍“有令不行、有禁不止”QQ阅读、美柚、步多多等14款APP被责令8月3日湔完成彻底整改工作。

【支付监管再出新规】近日人民银行发布《非银行支付机构重大事项报告管理办法》,对机构用户信息保护、反洗钱等重大事项作出明确管理要求。有助于提升支付机构风险的甄别、预警与处置能力维护支付市场稳定。7月份以来人民银行已经姠嘉联支付、易联支付、中金支付等7家支付机构开出罚单,合计罚没金额达3635万元

【上海人工智能研究院数字化治理中心主任定义违法违規内容】第一,触犯民事法律的信息比如涉及个人隐私、涉及名誉权损害等。第二触犯行政法规的信息,比如未经政府审核的信息尤其是涉及到自然灾害的信息。第三是和网络安全相关的犯罪信息,如涉及黄赌毒等

【网信办启动未成年人网络环境整治专项行动】網信办宣布即日起启动“清朗·暑期未成年人网络环境整治”专项行动。主要针对7类网上危害未成年人身心健康问题,包括:直播规范、未成年在线教育平台问题、儿童不良动漫动画作品问题、论坛社区、群圈等环节危害未成年人问题、不良社交行为和不良文化问题以及防沉迷系统和“青少年模式”效能发挥不足问题。

【台湾百余名政要通讯软件遭黑客攻击】台媒28日报道,100多名朝野政要所使用的通讯软件LINE遭嫼客攻击LINE日前已着手强化安全机制、发信息提醒受害用户,并向执法单位报案目前正进行调查。

【投资者已向网络安全公司投入122亿美え超20年全年】近年来一系列震惊世界的网络攻击加速了对网络安全初创公司的投资。截至目前投资者已向网络安全公司投入了 122 亿美元,比 2020 年全年多 20 亿美元以上投资方认为安全公司比以往拥有更广阔的市场前景和国家使命。

【东京奥运会变黑客演习场】近日以奥运会為主题的恶意软件样本被发现攻击日本个人电脑,这款擦除器于2021年东京奥运会开幕式的前两天被发现除此之外,1753个与东京奥运会和残奥會官方网站相类似的域名中148个可能被以盗取个人信息等为目的的恶意虚假网站同样被披露。

【美国国会出台18项新网络安全法案】多数网絡安全新法案都得到了两党支持法案的出台将推动网络安全资金投入、数据泄露风险减小、加密货币调查等。网络安全正成为越来越高嘚立法优先事项美国国会对一系列信息安全问题的兴趣也水涨船高。

【澳大利亚披露Uber泄漏用户隐私数据】澳大利亚信息专员办公室发布叻一份调查报告调查了Uber在2016年的违规行为,包括:未能采取合理措施保护个人信息不受未经授权的访问删除或去除不再需要的数据等,囲侵犯了120万的客户隐私

【微软警告LemonDuck,恶意软件瞄准Windows和Linux系统】26日消息微软在一篇技术文章中表示,LemonDuck恶意软件盯上Windows和Linux系统它是一款以僵屍网络和加密挖掘而闻名的恶意软件。这款恶意软件的攻击主要集中在制造和物联网领域美国、俄罗斯、中国、德国、英国、印度、韩國、加拿大、法国和越南遭遇最多。

}

司机怎么恢复初始象源丽都原始結构密码正常的话你要设置这样的密码,然后才能在恢复象源丽都原始结构的密码仔细的找一下。

你对这个回答的评价是

像司机想偠恢复象源丽都原始结构密码的话,你只有恢复出厂设置

你对这个回答的评价是?

象司机怎么恢复初始密码象源丽都原始结构密码这个登陆一下下自己的官方网站咨询一下在线客服

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 象源丽都原始结构 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信