卡巴斯基:2022年隐私技术预测

近日,卡巴斯基在其官方博客上发布了《2022年隐私预测》,给出了对2022年隐私安全威胁的五大趋势预测。 隐私保护技术是2021年热门话题之一,尽管对某些实现(如NeuralHash或Federated Learning of cohort)的意见不一。 然而,像Siri的设备上声音处理和Android的私有计算核心,都是向用户隐私迈出的一大步。 我们也看到了许多新的私人服务,许多关注隐私的公司开始向货币化迈出了第一步,同时在iOS和Android平台上,在技术和营销方面都对隐私进行了更大的推动。 Facebook(Meta)也为用户提供了更多的隐私,在WhatsApp上提供端到端加密备份,并从Facebook上完全删除了面部识别系统。 1. BigTech将为人们提供更多的隐私管理工具 由于企业必须遵守全球范围内更加严格和多样化的隐私规定,它们在用户使用服务时为他们提供了更多的工具来控制自己的隐私。 有了更多的旋钮和按钮,有经验的用户也许能够将自己的隐私设置到适合自己需要的程度。 对于不太懂电脑的人来说,不要指望默认的隐私:即使在法律上有义务默认提供隐私的情况下,依赖于数据收集的企业也会继续寻找漏洞,诱使人们选择不那么隐私的设置。 2. 各国政府对商业形态的数据囤积保持谨慎态度 随着政府建设自己的数字基础设施,让更简单和更广泛的政府服务,希望,更透明和问责,以及更深入地了解人口和更多的控制, 他们会对流经大型商业生态系统的公民数据表现出更大的兴趣,这并不奇怪。 这将导致更多的监管,如隐私法、数据本地化法,以及执法部门对哪些数据和何时可获取的更多监管。 苹果CSAM扫描隐私难题恰恰表明,要在加密和用户隐私之间找到平衡,并找出犯罪行为是多么困难。 3. Machine Unlearning 机器遗忘 现代机器学习通常需要训练具有惊人数量参数的巨大神经网络(虽然这并不完全正确,但人们可以将这些参数视为大脑中的神经元),有时达到数十亿的数量级。 正因为如此,神经网络不仅能学习简单的关系,还能记忆整块数据,这可能导致私人数据和版权材料的泄露,或社会偏见的重现。 此外,这导致了一个有趣的法律问题:如果一个机器学习模型使用我的数据进行训练,例如,在GDPR下,我是否可以要求删除我的数据对模型的所有影响? 如果答案是肯定的,那么这对数据驱动的行业意味着什么? 一个简单的答案是,公司将不得不从头开始对这种模式进行再培训,这有时可能代价高昂。 这就是为什么我们期待更有趣的发展,无论是在防止记忆的技术(如差异化的私人训练),还是那些使研究人员能够从已经训练过的系统中删除数据的技术(机器遗忘)。 4. 监管机构将提高对算法的透明度的要求 从信用评分到人脸识别再到广告,机器学习等复杂算法越来越多地被用于在各种情况下对我们做出决策。 虽然有些人可能喜欢个性化,但对其他人来说,这可能会导致令人沮丧的经历和歧视。 想象一下,一家在线商店根据一些模糊的LTV(终身价值)预测算法,将用户分成价值更高和价值更低的两类,并为其更有价值的客户提供实时客户支持聊天,而将不那么幸运的购物者留给一个远非完美的聊天机器人。 如果电脑认为你是一个劣等客户,你想知道为什么吗? 或者,如果你被拒绝使用信用卡? 抵押贷款吗? 肾移植? 随着越来越多的行业被算法所触及,我们期待更多关于解释、竞争和修改自动化系统所做决策的讨论和法规,以及对机器学习可解释性技术的更多研究。 5. “在家工作”促使更多人关注个人隐私 如果你因为疫情而在家工作,你很可能已经学会了很多新的IT俚语:虚拟桌面基础设施、一次性密码、双因素安全密钥等等——即使你在银行或网上零售工作。 即使大流行结束,在家工作的文化也可能会持续下去。 由于人们在工作和个人需求上都使用相同的设备,企业安全服务将需要更多具有安全意识的用户来保护这个更大的边界免受攻击和泄露。 这意味着更多的安全和隐私培训,以及更多的人将这些工作技能,如使用2FA,应用到他们的个人生活中。 来源:Kaspersky predictions on privacy trends in 2022 | Securelist

TPM Sniffing

来源:https://pulsesecurity.co.nz/articles/TPM-sniffing 工程师Denis Andzakovic在2019年3月实现了对bitlocker 加密密钥的提取公积,基本方法是TPM嗅探(TPM sniffing)攻击。 Bitlocker介绍 Bitlocker 是 Microsoft 为其从 Windows Vista 开始的 Windows 操作系统提供的全盘加密 (FDE) 解决方案,以保护用户的静态数据。该解决方案提供了多种配置,包括多种存储解密密钥的方式。最常见的配置包括将卷主密钥 (VMK) 存储在嵌入在最近的计算机中的可信平台模块 (TPM) 中。 这个设置很有趣,因为解密对用户是完全透明的。由于许多公司不愿意为用户配置额外的密码/PIN 以启动其计算机,因此这一优势超越了其他公司。缺点是它为多种攻击打开了大门,包括本文中描述的 TPM 嗅探以及 DMA 或冷启动攻击。 在幕后,TPM 在启动期间检查各种系统属性,以确保启动顺序未被更改。如果验证成功,VMK 被释放并传输到 CPU,CPU 可以开始解密磁盘并加载操作系统。 根据硬件的不同,TPM 可以通过多个通信通道连接到主板,包括 LPC、I2C 或 SPI。这些总线有一个共同的特性,即传输速度低(时钟一般在 25Mhz 左右)。这对解决方案来说不是问题,因为只需要传输有限数量的数据,但由于所需的硬件便宜,因此它使信道嗅探更容易。 攻击思路 默认情况下,可以通过嗅探 LPC 总线、检索 TPM 返回的卷主密钥并使用检索到的 VMK 解密受保护的驱动器来访问受 Microsoft BitLocker 保护的操作系统驱动器。这篇文章将着眼于通过使用逻辑分析仪或廉价的 FPGA 板嗅探 LPC 总线从 TPM […]

WIRED:2021年安全事件

来源:https://www.wired.com/story/worst-hacks-2021/ 一、Colonial Pipeline 5 月初,勒索软件袭击了 Colonial Pipeline。该公司运营着一条 5,500 英里的管道,将东海岸近一半的燃料(汽油、柴油和天然气)从德克萨斯州一直运送到新泽西州。攻击导致使其计费系统脱机,该公司因此不得不关闭部分管道。随着美国东南部加油站的线路越来越多,交通部发布了一项紧急命令,允许扩大卡车燃料分配。联邦调查局认定勒索软件团伙 DarkSide 为该攻击事件的肇事者。 Colonial Pipelines 支付了 75 比特币的赎金——当时价值超过 400 万美元——试图解决这一事件。执法部门后来能够追回部分资金,DarkSide 转入地下以避免审查。去年 11 月,美国国务院宣布悬赏 1000 万美元,以获取有关该组织头目的实质性信息。这次攻击是有史以来黑客对美国关键基础设施造成的最大破坏之一,也是 2021 年一系列令人震惊的黑客攻击的一部分,这些攻击最终似乎为全世界敲响了警钟,提醒人们全面解决和阻止勒索软件攻击。 二、Kaseya SolarWinds 黑客狂潮是 2020 年和 2021 年最令人难忘的软件供应链攻击,但 IT 管理软件公司 Kaseya 的入侵是今年供应链攻击史册上的另一个重要补充。 7 月初,与俄罗斯勒索软件团伙 REvil 相关的黑客利用了 Kaseya 的虚拟系统管理员工具中的一个漏洞。 VSA 在托管服务提供商中很受欢迎,这些公司为不想自己做的组织运行 IT 基础设施。由于这种相互依存的生态系统,攻击者能够利用 VSA 中的缺陷,用勒索软件感染全球多达 1,500 个组织。 REvil 为许多下游受害者设置了约 45,000 美元的赎金,为托管服务提供商本身设置了高达 500 […]

玄铁 VirtualZone:基于 RISC-V 架构的安全扩展

来源:玄铁VirtualZone:基于RISC-V架构的安全扩展-阿里云开发者社区 (aliyun.com) 摘要 随着互联网和物联网的快速发展,全球联网设备数量高速增长,“万物互联”成为全球网络未来发展的重要方向。但移动平台业务繁荣的同时也催生了多样化的安全问题,目前应用普遍存在被破解、数据被窃取篡改等安全风险,对金融数据安全、个人隐私数据保护、业务数据完整性等造成极大的威胁。 为了解决智能设备、物联网设备所面临的安全威胁,终端芯片通常需要提供可信执行环境(Trusted Execution Environment,TEE),确保芯片内的系统程序、终端参数、安全数据和用户数据不被篡改或非法获取。可信执行环境目前在移动、支付、DRM、汽车、无人机、物联网等应用领域已基本经成为标配。目前较为成熟的处理器可信执行环境技术主要有 ARM 的 TrustZone、Intel 的 SGX 以及 AMD 的 SEV 等。 本文主要描述基于 RISC-V 架构的玄铁 C 系列处理器的安全扩展,该扩展主要基于 RISC-V 架构提供的 PMP 保护机制和多层特权模型,虚拟出多个相互隔离的可执行域(Zone),从而实现了 RISC-V 架构上的可信执行环境(TEE),并保护 Zone 内的软硬件信息,包括软件、内存、外设、I/O 等免受其他 Zone 的非法访问。处理器资源包括 Cache、中断、内存、代码执行等经过隔离之后,处理器将分时地运行在不同的 Zone 内,配合 SoC 其他的保护机制如 IOPMP,共同构建一个基于软硬件协同工作的安全系统。

IO and FE

Describe an example of indistinguishability obfuscation or functional encryption source: https://security.stackexchange.com/questions/50937/describe-an-example-of-indistinguishability-obfuscation-or-functional-encryption/50972#50972 IO: Indistinguishability Obfuscation FE: Functional Encryption The second one using the first one as a building tool. The first construction provides indistinguishability obfuscation while the second one is functional encryption. Indistinguishability obfuscation is a rather esoteric property, which is not what non-academic think about […]

五分钟简介安全多方计算

简析安全多方计算 source: 安全多方计算(Secure Multi-Party Computation, MPC)技术,亦称安全计算(Secure Computation)和隐私保护计算(Privacy-Preserving Computation)。安全多方计算是当今密码学的一个重要分支,是继成熟解决数据加密存储、传输之后的重要尝试,在密文数据上直接构建运算。 具体而言,安全多方计算由 n 个互相不信任的参与方进行,联合对一个协商确定的函数进行计算,能够保证参与方的隐私输入数据 x1,x2,···,xn 无法被其他参与方获得。姚期智院士 (Andrew C.Yao) 于 1982 年发表的文章「 Protocols for Secure Computation」首次提出姚氏百万富翁问题和安全多方计算的概念。这个有趣的问题是, 两个百万富翁希望知道谁更富有,但是不希望对方或第三方知道自己的财富值。之后 Goldreich,Micali 和 Widgerson 等密码学家将这个问题一般化成为现在的安全多方计算问题。此后该领域内学术研究和商业应用蓬勃发展,如今安全多方计算协议是多种密码协议的组合, 如同态加密、零知识证明、秘密分享等。近 10 年来,密码学界对安全多方计算的探索有了长足的发展,笔者在实践中发现一些特定协议的计算效率已经达到商用程度。与区块链类似,安全多方计算同样存在「不可能三角」,需要在安全性,通用性,计算效率这三点之间权衡。 当今使用的安全多方计算技术按底层技术分为两个分支,基于混淆电路(Garbled Circuit)的与基于秘密分享(Secret Sharing)。 混淆电路与不经意传输(Oblivious Transfer)为姚期智院士提出的安全计算技术路径 。简单来讲,基于混淆电路的协议更适用于两方逻辑运算,通讯轮数固定,但是拓展性稍差。 另一类基于秘密分享的安全多方计算中,数据输入和计算中间值都会以「密文分片」的方式存在。 秘密分享技术可以把隐私数据切割为 2 份或更多份后,将随机分片分发给计算参与方,这个过程保护了数据隐私又允许多方联合对数据进行计算。 之后,就可以利用分片间存在的同态计算性质来实现在分片上计算并重建得到隐私数据计算结果。基于秘密分享的安全多方计算目前主要由欧洲密码学界主导,如 Smart, Damgard 等密码学家,其拓展性较强, 理论上支持无限多方参与计算,计算效率高,但通讯负载较大。 隐私计算正在逐步被应用于金融和保险风控、OTC 交易、资产管理、互联网营销等领域。同时作为一项前沿技术,隐私计算的从业者在积极推动技术的标准化工作。2019 年 6 月,工信部直属单位中国信息通信研究院正式发布《基于安全多方计算的数据流通产品技术要求与测试方法》行业标准, ARPA、阿里巴巴、蚂蚁金服、百度等企业参与制定。国际上,IEEE 安全多方计算国际标准的制定和 MPC Alliance 企业联盟的建立也预示着隐私计算从学术界向工业界的拓展。 […]

特斯拉手机远程启动安全风险

来源:蜚语安全特斯拉又双叒出问题了?这一次可是手机远程启动的安全风险! 最近几天特斯拉有点热,先是遭遇上海车展“车顶维权”事件,然后又因为设置车内摄像头拍摄高清画面的的事件引发关于用户隐私的热议。今天我们要给大家继续深入分析的是另一项可能更为关键的安全特性——特斯拉手机远程车辆启动功能中存在的安全风险。首先要声明的是,作为负责的安全研究团队,蜚语安全在2020年就发现了相关问题并第一时间通知了特斯拉安全部门,然而得到的回复却和维权无门的消费者类似。依照国际惯例,我们在经过长时间等待后,现在对该问题的细节进行披露。 蜚语安全在研究中发现,特斯拉用于远程启动车辆的移动APP在对用户身份进行认证时存在严重的安全疏漏,使用的认证协议极其初等,在很多并不苛刻的场景下,攻击者都可以轻易绕过相关防护,在不提供正确用户凭据(例如指纹等用户生物识别特征)甚至无需接触手机的情况下非法解锁启动车辆,导致特斯拉智能汽车的门锁功能失去应有的安全强度。

SM3碰撞漏洞

微信小程序国密算法SM3碰撞原理揭秘2021.3.10 2021年2月,蜚语安全在对客户产品进行安全代码审计时,发现其依赖的微信小程序sm-crypto 开源NodeJS国密算法库中的SM3算法实现(该算法库使用NodeJS对国密算法中的SM2,SM3和SM4三个算法进行了实现,并封装成接口提供给开发者使用。该国密算法库的具体实现在GitHub上开源:https://github.com/wechat-miniprogram/sm-crypto,其中sm3的实现在文件src/sm3/index.js中,微信小程序官方的参考文档链接为 https://developers.weixin.qq.com/miniprogram/dev/extended/utils/sm-crypto.html )存在重大的实现错误,导致不同的输入可被编码为相同的bitstring,进而进行SM3计算后产生“伪”hash碰撞效果。 影响 该问题影响sm-crypto的0.2.2及之前版本。由于该国密库为微信小程序官方提供的国密库,因此使用该库的都会受该碰撞的影响。根据GitHub上的信息,我们发现该作者的另一个NodeJS的库sm-crypto(https://github.com/JuneAndGreen/sm-crypto)也受该问题的影响。 问题分析 该SM3碰撞问题来源于sm3算法的实现文件src/sm3/index.js中。该SM3算法直接接收字符串作为输入,并通过以下函数将字符串转成二进制流: 再进行后续的填充以及SM3的变换等。而str2binary函数的具体实现如下: 该函数使用codePointAt函数对字符串中的每一个字符,获取其编码点值,并通过toString(2)转成二进制形式后,再使用自己实现的leftPad函数对二进制串进行高位补0的操作,leftPad函数实现如下: 可以看到,leftPad的逻辑是:如果input的长度大于等于num,则直接返回,否则根据num的值对input的高位补0。我们注意到在str2binary函数中,调用leftPad函数时,num参数被设置为8。所以当传入的input的二进制长度是低于8比特的时候,是没有问题的,但是一旦input长度大于8,则leftPad函数就不会对其高位补0,而是直接返回。而我们知道所有的中文字符码点值都是超过1字节、也就是8比特的,因此中文字符在转成二进制形式后,并没有高位补0。一旦有这些中文字符在字符串中被拼接后,会导致最终进行SM3计算的二进制数据很可能不是8比特对齐的! Proof-of-Concept 由于在这个转换过程中,没有对超过1字节字符的二进制表示进行8比特对齐,导致我们只要精心构造,就可能找到两个不同的字符串,使得这两个字符串在转换后最终得到相同的二进制表示。例如8个16比特的字符(UTF-16编码),如果最高比特位都为0,则通过该算法库中实现的二进制转换函数最终得到的二进制串是8*15=120比特,而这120比特的二进制串,同时也可以表示成多种形式,例如7个16比特的字符(最高比特位是1)拼上任意一个8比特的字符,或6个16比特的字符(最高比特位是1)拼上任意2个8比特的字符等,总共有数种组合,如下所示:8*15 = 120 = 7*16+1*8 = 5*16+3*8 = 4*16+5*8 = 3*16+7*8 = … 因此只要仔细研究相应的编码,让8个15比特编码的字符和最终变换后的字符都是可见字符,就可以构造出两个完全不同的字符串输入,在经过微信小程序官方NodeJS国密算法库的初始化变换后,会变成同样的二进制串输入到SM3核心变换函数中,并最终得到同样的SM3哈希值! JS的codePointAt函数返回的就是UTF16的码点值,利用上述方法,将任选的8个中文字符的二进制串(最高比特位为0)重新分割,使其也能够表示成其他中文字符(最高比特位需为1)与常见8比特可见字符的组合即可。这里我们随意构造了一组,其二进制串为: 使用该函数的字符到二进制转换方式,原始字符串为:丧丙上䠉䰋不亐乑,重新对其二进制进行分割,如下: 同样以该函数的二进制转换方式,字符串为:鱏8fpT肙腳荧HNQ。 将这两个字符串传入该国密算法库的SM3函数,即可获得本文开头的碰撞结果。由此可知诸如这类的碰撞还可以构造很多。完整的POC.js代码如下: 安装好nodejs环境后,可直接使用如下命令验证: 使用该方法可以构造多组能够实现碰撞的字符串输入,甚至可能能够构造出两组有意义的字符串并形成SM3的碰撞! 修复方案 目前sm-crypto已经修复了该问题,需要将版本升级至目前最新的0.2.4。其修复思路是将输入的字符全部转成UTF-8编码的二进制串,再进行SM3计算。        事实上,国密SM3的规范仅仅约定了输入应当是二进制串或字节流,而非字符串。字符串如何转换成二进制串则需要依赖开发者选择不同的编码方式(如UTF-8,UTF-16等)。而该库SM3碰撞的本质原因正是由于其对字符串编码转换实现的错误导致。目前该库的修复方案是统一将字符转成UTF-8编码。这的确是一种方法但也对开发者失去了一些自由度,其实可以将SM3算法以二进制或字节数组为输入,同时提供不同编码方式的字符转字节数组的接口,供开发者使用,或由开发者自行实现字符转字节数组的方式。

蜚语代码安全增强平台

2020年12月22日,上海交通大学“谷歌杯”创业大赛圆满落幕。蜚语安全负责人束骏亮博士代表公司参加了决赛路演,蜚语安全凭借项目“蜚语代码安全增强平台”在12支决赛队伍中脱颖而出,以第一名的成绩荣获大赛金奖。 上海交通大学“谷歌杯”第二十一届学生创业计划大赛决赛在唐仲英楼举行。校党委常委、副校长、创业学院院长王伟明,谷歌中国教育合作部高级项目经理万泽春,大赛组委会单位、决赛项目院系相关负责老师等出席决赛,四十余位知名风险投资人、创业导师、创投导师、创业教育学者等担任决赛评委。