【安全科普】挖矿技术,从一个理工男的爱情故事讲起

理工男的爱情故事

小蓝是一个理工男,他喜欢上了小红。奈何小红追求者众,小蓝苦于不能脱颖而出。

到底选择哪个男生呢?公平起见,小红决定考察每个男生的诚意。

谁第一个解出方程,小红就选择谁。因为解高次方程没有固定公式,需要花费一定的时间、进行大量的计算,才能得出正确结果。愿意解方程的男生,自然最有诚意。而小红可以把结果带入方程式,简单地验证其是否正确。

那么问题来了:如果有人作弊,偷看了小蓝的答案,并且抢答怎么办?

要解决这个问题也容易,小红可以给每个男生编号,把编号作为方程第一项的系数。这样,每个人收到的方程式都是不同的,小蓝的答案对于其他人来说是错误的。

而且,小红可以通过结果验证,直接从方程第一项的系数得知,究竟是谁解出了方程。因此,作弊是没有用的。

从爱情故事到挖矿原理

从小蓝的爱情故事中我们可以知道,要想达成目标,就得付出一定的工作量。通过工作量证明,可以有效验证每个人是否花时间做了计算。

扫描二维码关注公众号,回复: 14665633 查看本文章

有效的工作量证明: 计算过程复杂,需要消耗一定时间;验证过程相对简单,甚至可以瞬间完成。

在比特币网络中,矿工挖矿也是一种工作量证明。当然,不能通过解高次方程来实现,因为这对人来说很难,对计算机来说却非常容易,可以在1秒内完成。

要对计算机进行工作量证明,必须找到一种工作量算法,让计算机无法在短时间内计算出来,这种算法就是 哈希算法

通过改变区块头部Nonce字段的值,计算机可以计算出不同的区块哈希值,直到计算出某个特定的哈希值时,计算结束。特定哈希和其他哈希的区别是,它的数值前面有多个“0”。

比特币挖矿的工作量证明: 不断计算区块哈希,直到计算出一个特定的哈希值,它小于难度值。

比特币使用的SHA-256算法,可以看作对随机输入产生随机输出。例如,对字符串Hello再加上一个数字计算两次SHA-256,根据数字的不同,得到的哈希是完全无规律的256位随机数。

大约计算16次,可以在得到的哈希中找到首位是0的哈希值,因为首位是0的出现概率为1/16 。

如果要找到前两位是0的哈希值,理论上需要计算16^2=256次,实际计算44次。

如果要找到前三位是0的哈希值,理论上需要计算16^3=4096次,实际计算6591次。

如果要找到前四位是0的哈希值,理论上需要计算16^4即超过65000次,实际计算67000多次。

对于给定难度的SHA-256,假设我们用难度1表示必须算出首位1个0,难度2表示必须算出首位2个0,难度N表示必须算出首位N个0,那么每增加1个难度,计算量将增加16倍。

比特币挖矿,就是先给定一个难度值,然后不断变换Nonce ,计算Block Hash ,直到找到一个比给定难度值低的Block
Hash
,就算挖矿成功。

简单举例,如果要计算出连续17个0开头的哈希值,矿工首先应确定Prev Hash、Merkle
Hash、Timestamp、Bits等参数,然后不断变化Nonce来计算哈希,大约需要16^17即2.9万亿亿次计算。

实际难度值是根据Bits值由公式计算而来的,比特币协议要求计算出的区块哈希值比难度值小,这个区块才算有效。

注意,Difficulty的值越小,说明哈希值前面的0越多,计算难度越大。

比特币网络的难度是不断变化的
,它的难度保证大约每10分钟产生一个区块,难度值每2015个区块调整一次。如果区块平均生成时间小于10分钟,说明全网算力增加,难度也会增加;如果大于10分钟,说明全网算力减少,难度也会减少,
难度随着全网算力的增减动态调整。

挖矿木马的危害

黑客会使用各种手段将挖矿木马植入受害者的计算机中,在其不知情的情况下,利用计算机的算力挖矿,从而获得非法收益。目前有多个威胁组织(如H2Miner)进行挖矿木马的传播,
致使大量受害者的系统资源被恶意占用,硬件寿命缩短,严重影响生产生活。

  • 大量消耗计算机资源: 挖矿木马普遍消耗大量计算机资源,使系统及其服务、应用运行缓慢,甚至可能使正常服务崩溃,造成数据丢失。
  • 降低设备性能和寿命: 被植入挖矿木马的计算机普遍寿命较短,且性能严重下降。
  • 留置后门衍生僵尸网络: 挖矿木马普遍会添加SSH免密登录后门、安装RPC后门、安装Rootkit后门、接收远程IRC服务器指令等。
  • 作为跳板攻击其他目标: 挖矿木马可以控制受害者计算机进行DDoS攻击,以此作为跳板攻击其他计算机,或者释放勒索软件索要赎金等。
  • 碳排放造成环境污染: 挖矿会消耗大量的电,造成巨大能源损耗,现阶段电能的主要来源是煤炭,加剧碳排放污染。

挖矿木马家族的特征

2021年,大部分挖矿组织倾向于门罗币。门罗币是一种无法追踪的强匿名性货币,它的挖矿算法对CPU的利用效率更高,一般僵尸网络掌握的“肉鸡”性能不高(即缺少高性能显卡),挖取门罗币可以获得更多挖矿收益。同时,在比特币挖取难度日益增大的背景下,门罗币的价格在虚拟货币市场始终保持稳定,对应的挖矿收益相较比特币更加稳定,因此成为了攻击者的首选。

  • 竞争性: 通过检测并结束其他挖矿木马的进程,独占目标的计算资源。
  • 持久性: 通过添加计划任务、创建服务、设置自启动、RootKit等手段,长期驻留目标。
  • 隐蔽性和对抗性: 通过进程隐藏、命令替换、进程互锁等方式,实现对抗排查和处置。
  • 针对性: 针对云服务器提供商在云主机上运行的安全检测程序,在脚本文件中添加能够将其结束并卸载的恶意代码,以此规避云主机的安全检测。除此之外,部分挖矿木马可以利用扫描工具,对云服务提供商的IP地址进行探测,如云铲、H2Miner等。
  • 集成性: 挖矿木马除核心的挖矿模块外,还集成了端口扫描、漏洞利用、留置后门等组件,可以实现横向传播、广泛传播、构建僵尸网络,如Outlaw等。
  • 跨平台性: 利用Web组件漏洞,结合恶意PowerShell、Shell等脚本,以及Python、Go语言编写的恶意程序,实现跨平台运行挖矿木马,如Sysrv-Hello、Satan DDoS等。

如何防御挖矿木马?

方法一: 安装杀毒软件,防御挖矿木马攻击。

方法二: 及时为计算机的操作系统打补丁,避免漏洞攻击。

方法三: 下一代防火墙产品,具备防护挖矿木马的对应规则,可提供防护能力。

方法四: “鹰眼”全流量取证系统具备相关检测规则,可精准识别挖矿流量。

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

猜你喜欢

转载自blog.csdn.net/text2207/article/details/129585205