Dappy如何防止DNS黑客入侵
作者:Raphaël
译者注:Dappy是RChain生态中的DNS【域名系统(服务)协议】。Dappy基于RChain的技术架构保障了域名系统的安全性。
Dappy是一个用于文件和Web应用程序的去中心化分发网络。Dappy既不使用DNS系统也不使用电子证书认证中心,它执行的是相同的工作,但是该服务是由分散的网络执行而不是集中式服务执行。DNS的问题之一,同时也是我们开发Dappy的原因之一,就是为了大福降低风险,并降低当今任何网站对DNS黑客和网络钓鱼的威胁。在本文中,我们将重点介绍DNS黑客入侵的性质以及Dappy系统如何防止DNS黑客入侵。
DNS黑客入侵是一种旨在阻止DNS服务器正常工作的恶意操作。所有代理(浏览器,操作系统等)都需要使用DNS服务器(例如负责* .fr *域名的服务器),其中大部分请求是DNS查找请求,这些代理想要的只是与给定域名相对应的IP地址(例如* pizza.fr *)。黑客可能会将客户端重定向到他的服务器,而不是* pizza.fr *的合法所有者的服务器。对于正规企业或组织,这种黑客行为会造成大量损失,并且常常还会损害品牌形象。
我们不会讨论DNS解析是如何工作以及黑客如何发挥作用的技术原理,要记住的要点是操作系统或Web浏览器会指向给定的DNS服务器(例如cloudflare是1.1.1.1。)。该服务器是入口点,是依赖它的代理的最终真理之源,所有的DNS查找都可以寻址到此服务器,它会将请求传播到正确的服务器,然后在最终已知IP时回复客户端。
为了了解Dappy系统是如何防止黑客入侵域名系统的(至少使得它变得更为困难),我们必须引入Dappy名称系统。Dappy包括了一个在RChain区块链上的名称系统,所有基于公司的域名购买,续订和转售工作均由分散的智能合约平台处理。当然,如果有名称的话,任何人都可以预订,因此具有密码学保证的属性。
在域名系统中,给定的服务器(或服务)是负责扩展的。例如,* .fr *域名是由AFNIC处理的(请参阅IANA Whois页面)。在Dappy中,还存在一个相互独立的代理网络,但是相反地,它们的职责是不分离的。这里是关键部分,Dappy网络上的每个成员都是名称解析的共同权威,RChain区块链则是一个复制的数据库,每个服务器应共享相同状态,因此,对于相同的查询,它们的响应是完全相同的。客户端将不依赖于给定服务器进行名称解析(记住上面的示例),而是依赖于许多彼此独立的代理。
Dappy系统的客户端不执行单个查询请求,而是执行多个请求;它们不询问中央计算机,而是询问计算机网络,这就是Dappy范式分散和强大的原因所在。黑客如果想欺骗客户,就必须使网络无法执行其工作,这比关闭或欺骗单个DNS服务器要复杂得多。Dappy浏览器包括一个共识层,允许它不信任任何给定的服务,因此,该名称系统不会出现单点故障。
假设某个客户想要访问资源“披萨:,Dappy浏览器将向所有单个网络成员(例如20个成员)发送查找请求,如果任何单个响应都与其他响应不同(100%准确度),则最终的配置会将查找操作视为失败。但是我们确实希望有一个异常行为的空间,那么80%的准确性就是一个很好的设置。每次客户加载网站时,所有Dappy网络成员都会被查询到,其中至少80%的用户给出相同的答案才能算查询成功,并让客户继续浏览Web。(但这样一来它仍然还是网络吗?)
重要的不是数字,而是实施或设计问题。关键是分散范式与集中式DNS有很大不同。Dappy集成并预测了部分可能的网络故障(可能是网络问题,黑客攻击,恶意行为等),这就是为什么必须分散管理的原因。Dappy客户端永远不会查询互联网上的单个服务器,而是从RChain区块链中获取某些数据,他们将始终查询多个服务器,Dappy系统仅依赖于分散的、公开可见的计算机网络。成员们唯一要做的就是对区块链平台的状态保持透明,而他们对该平台并无控制权。
Dappy主要提出了两种不同类型的应用程序,即dapps(去中心化应用程序)和IP应用程序。本文以及我们刚刚所提到的名称系统所考虑的仅仅是IP应用程序,而dapps是其他类型的应用程序,我们将会在未来的文章中涉及。
本文已经太长了,对于其他未来可能会出现的问题,我们当然还会有其他文章来详细进行介绍。
Dappy如何防止DNS黑客入侵的更多相关文章
- 快速自检电脑是否被黑客入侵过(Linux版)
之前写了一篇快速自检电脑是否被黑客入侵过(Windows版), 这次就来写写Linux版本的. 前言 严谨地说, Linux只是一个内核, GNU Linux才算完整的操作系统, 但在本文里还是用通俗 ...
- Mysql被黑客入侵及安全措施总结
情况概述 今天登陆在腾讯云服务器上搭建的 MySQL 数据库,发现数据库被黑了,黑客提示十分明显. MySQL 中只剩下两个数据库,一个是information_schema,另一个是黑客创建的PLE ...
- 快速自检电脑是否被黑客入侵过(Windows版)
我们经常会感觉电脑行为有点奇怪, 比如总是打开莫名其妙的网站, 或者偶尔变卡(网络/CPU), 似乎自己"中毒"了, 但X60安全卫士或者X讯电脑管家扫描之后又说你电脑" ...
- 快速自检电脑是否被黑客入侵过(Linux版)
前言 严谨地说, Linux只是一个内核, `GNU Linux`才算完整的操作系统, 但在本文里还是用通俗的叫法, 把`Ubuntu`,`Debian`,`RedHat`,`CentOS`,`Arc ...
- dede织梦如何防止被黑客入侵渗透?
dede精简设置篇:避免被hack注射挂马 精简设置篇:不需要的功能统统删除.比如不需要会员就将member文件夹删除.删除多余组件是避免被hack注射的最佳办法.将每个目录添加空的index.htm ...
- 预防黑客入侵 防黑必学的cmd命令vs网络安全
这些命令又可*********三类:网络检测(如ping).网络连接(如telnet)和网络配置(如netsh).前面两种相对简单,本文只介绍两个网络配置工具.自带的关于网络的命令行工具很多,比如大家 ...
- cmd黑客入侵命令大全
nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写 tracert -参数 ip(或计算机名) 跟踪路由(数据包 ...
- 一次linux服务器黑客入侵后处理
场景: 周一上班centos服务器ssh不可用,web和数据库等应用不响应.好在vnc可以登录 使用last命令查询,2号之前的登录信息已被清空,并且sshd文件在周六晚上被修改,周日晚上2点服务器 ...
- Hacker(十一)----黑客常用入侵方法
Internet中,为了防止黑客入侵自己的电脑,就必须了解黑客入侵目标计算机的常用方法.黑客常用的入侵方法有数据驱动攻击.系统文件非法利用.伪造信息攻击.远端操纵等. 一.数据驱动攻击 数据驱动攻击是 ...
随机推荐
- asp.net core 3.0 JObject The collection type 'Newtonsoft.Json.Linq.JObject' is not supported
在asp.net core 3.0 中,如果直接在Controller中返回 Jobject 类型,会抛出如下错误: The collection type 'Newtonsoft.Json.Linq ...
- 2019-8-31-dotnet-删除只读文件
title author date CreateTime categories dotnet 删除只读文件 lindexi 2019-08-31 16:55:58 +0800 2019-02-28 1 ...
- bash: : Too many levels of symbolic links
ln -s 时 bash: : Too many levels of symbolic links改为绝对路径,
- Java虚拟机理解-内存管理
运行时数据区域 jdk 1.8之前与之后的内存模型有差异,方法区有变化(https://cloud.tencent.com/developer/article/1470519). java的内存数据区 ...
- nginx负载均衡的几种模式
nginx 的 upstream目前支持 4 种方式的分配 ).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. ).weight 指定轮询几率,we ...
- 谈谈模型融合之一 —— 集成学习与 AdaBoost
前言 前面的文章中介绍了决策树以及其它一些算法,但是,会发现,有时候使用使用这些算法并不能达到特别好的效果.于是乎就有了集成学习(Ensemble Learning),通过构建多个学习器一起结合来完成 ...
- 前端vue——阿里图标的使用方法
阿里图标库的官方网址:https://www.iconfont.cn/ 使用前需要先登录,这里有三种登录方式,本人使用的是新浪微博登录 第一步:找到你需要的图标,点击添加入库 第二步:点击右上角的购物 ...
- 洛谷$P2805\ [NOI2009]$植物大战僵尸 网络流
正解:网络流 解题报告: 传送门$QwQ$ 题面好长昂,,,我大概概括下$QwQ$?有个$n\cdot m$的网格,每个格子有一株植物,击溃一株植物$(x,y)$需要付出$S_{(x,y)}$的代价( ...
- $Noip2014/Luogu2312$ 解方程
$Luogu$ $Sol$ 枚举解+秦九韶公式计算+取模. $Code$ #include<iostream> #include<cstdio> #include<cst ...
- Java后台创建Socket服务接收硬件终端发送的数据
最近项目中有遇到后台接收硬件终端发送的数据并解析存储的需求,代码总结如下(有时间再来一一讲解,最近比较忙): @Override public void start() { ExecutorServi ...