1. 网络攻击
1.1. 恶意软件攻击(Malware Attack)
即以恶意软件的形式进行的攻击,包括病毒(viruses),蠕虫(worms),间谍软件(spyware),勒索软件(ransomware),广告软件(adware),Rootkits 和木马(trojans)。
病毒可以自己复制自己并感染计算机,但是需要一个宿主程序(.exe
文件)来传播。蠕虫类似,但是并不需要一个特定的宿主程序,而是借助已有的漏洞或者文件即可实现传播。类似的,逻辑炸弹(logic bomb)则是隐藏在可执行文件中(.exe
或者 .dll
),然后在特定条件(特定的时间、程序运行或者用户输入)下触发,进行恶意操作。
木马和病毒类似,但是其不会进行自我复制,通常是伪装成合法软件或者文件,诱导用户进行使用,从而窃取信息或者破坏系统。
间谍软件顾名思义,就是在用户不知情的情况下,窃取所有机密数据(confidential data)的软件。
勒索软件会对设备上的文件进行加密,通常需要用户支付一定量的比特币(Bitcoin)之后,才有访问的权限。或者仍然不予解锁,进而要求更多的转账。
广告软件则是在用户屏幕上插入各种广告内容。
rootkit 是一组程序,它允许某人能够控制系统,并隐藏计算机已被远程控制的事实。由于它掩盖了其他恶意作用的行为,因此很难检测到,通常也作为其他恶意软件的前置程序。
1.2. 社会工程攻击(Social Engineering Attack)
社会工程,俗话来讲就是骗人,例如伪装成亲属、上级或者朋友等进行私密信息的套取。通常是通过网络钓鱼攻击。
1.2.1. 网络钓鱼攻击(Phishing Attacks)
网络钓鱼(Phishing)是一种通过伪装成可信来源(如银行、企业、政府机构或熟人)来骗取用户敏感信息的网络攻击手段。攻击者利用社会工程学(+3)技巧,诱导受害者主动提供账号密码、银行卡信息、身份证号等隐私数据,或诱使其点击恶意链接、下载病毒文件,进而实施盗窃、诈骗或破坏。
常见形式包括,钓鱼邮件/短信(Smishing)、虚假网站、社交媒体钓鱼(Angler phishing)、电话钓鱼(Vishing)、二维码钓鱼等,一切可能伪装身份的方式。
通常的特点包括:伪装性强、紧迫性引诱、心理操控等。
典型例子(亲身经历)如下,原文英文,已翻译:
1.2.2. 鱼叉式钓鱼攻击(Spear Phishing Attack)
鱼叉式钓鱼攻击是网络钓鱼的升级,区别在于其高度针对性和个性化。攻击者不会广撒网,而是像“鱼叉精准刺向特定目标”一样,通过研究特定个人、企业或组织的背景信息(如职位、社交关系、业务内容等),精心设计欺骗性内容,以绕过常规安全防护,诱骗目标泄露敏感信息或执行危险操作。
1.2.3. 捕鲸网络钓鱼攻击(Whaling Phishing Attack)
捕鲸网络钓鱼攻击又是鱼叉式钓鱼攻击的“高阶形态”,专指针对企业高管、政府高官、董事会成员、CEO等高价值目标(即“鲸鱼”)的定向网络钓鱼攻击。其核心在于利用目标的高权限身份和社会影响力,窃取敏感商业机密、操控资金流转或植入高级恶意软件,最终对企业、机构甚至国家安全造成毁灭性后果。
1.2.4. 更多…
包括谷歌搜索诈骗、短信钓鱼诈骗(Smishing Scams)、QR 码诈骗、电话钓鱼诈骗(Vishing Scams)
1.3. 密码攻击(Password Attacks)
密码攻击是一种攻击形式,使用各种程序和密码破解工具来破解密码。
1.3.1. 破解密码所需时间计算✨
这个算是第一个考点。这个计算很简单,就是所有密码可能组合除以计算集群总的破密速率。
1.4. 中间人攻击(Man-in-the-middle attack)
中间人攻击就是攻击者在通信的两个实体之间扮演中间人,拦截并篡改通信内容。攻击者的目的是窃取敏感信息、伪造身份或阻止合法的通信。
1.5. SQL 注入攻击(SQL injection attack)
SQL 是 Structured Query Language(结构化查询语言)的缩写,其是一种用于与数据库交互的编程语言。SQL注入攻击就是攻击者利用SQL语句将外部输入插入到数据库中,对表进行查、编辑和删除,从而破坏数据库的安全性。
1.6. 拒绝服务攻击(Denial-of-service attact)✨
DoS 攻击就是攻击者针对系统、服务或者网络,使用大量流量来占据系统资源或者带宽,或者使得系统崩溃。此时,正常的访问对于服务器而言就是过载(overwhelming)的。
攻击者可以使用单点或者多点进行攻击,后者称 DDoS(Distributed Denial-of-Service,分布式拒绝服务攻击)。
DDoS 攻击主要有三个类别:
- 流量攻击(volume based attacks)
- 协议攻击(protocol attacks)
- 应用层攻击(application layer attacks)
1.6.1. 流量攻击
流量攻击主要有 ICMP 洪水和 UDP 洪水两种攻击方式。
ICMP 洪水就是向目标服务器发送大量的ICMP回显请求(Ping)数据包来阻塞目标的带宽。如果使用真实 IP 进行攻击,可能会导致 IP 暴露,因为地址会被用作 ICMP 回波请求数据包中的源地址。因此有两个缺点:容易被确定攻击源;当目标服务器尝试回应包的时候,可能导致攻击者自身被堵塞。所以常用虚假地址(spoofed address)或者僵尸网络(botnet)。
包数量计算✨
[! tips] 一些换算:
1.6.2. 协议攻击
协议攻击主要针对的是网络层。主要的攻击方式是Ping of Death(PoD)和 SYN floods DDoS。
PoD 利用早期网络设备对ICMP数据包(Ping包)的大小处理存在缺陷,构造超大型ICMP包(>64KB),利用IP分片重组漏洞,导致目标系统内存溢出或崩溃。1998年后,操作系统和网络设备强制实施IP分片重组规范(如RFC 791),丢弃非法分片包。同时防火墙和IPS默认拦截超大ICMP包,例如限制ICMP包不超过1500字节(标准MTU)。
SYN 洪水 DDoS 则是利用 TCP 协议三次握手实现的。客户端首先向服务端发送 SYN 包,服务端在接受包之后返回 SYN-ACK 包,客户端在接收后又发送 ACK 包,从而实现握手。
客户端 服务端
SYN -->
<-- SYN-ACK
ACK -->
(连接建立)
SYN 洪水 DDoS 实现方式就是,攻击者伪造大量虚假IP发送SYN包,但不回复最后的ACK包,使得服务端存在大量半开连接(Half-Open)。服务端为每个半开连接分配资源(如内存中的TCB表),最终耗尽资源,无法响应合法请求。
1.6.3. 应用层攻击
攻击应用层协议(如HTTP、DNS),模仿合法流量以绕过传统防御,旨在通过耗尽服务器资源导致其崩溃。常见的有HTTP 洪水攻击(HTTP Flood Attack)、DNS 洪水攻击(DNS Flood Attack)。
HTTP 洪水攻击向目标服务器发送海量HTTP请求(如频繁刷新网页、调用API接口)。服务器资源(CPU、内存、带宽)被占满,无法响应正常用户请求,导致拒绝服务(DoS)。其变种为 HTTP GET/Post 攻击。GET攻击为协调多台设备(如僵尸网络)反复请求服务器资源(如图片、文件),耗尽带宽或处理能力;POST攻击为提交大量表单数据或文件上传,占用服务器磁盘I/O和数据库资源。
DNS 洪水攻击指利用被控设备(如IP摄像头、DVR等IoT设备)的高带宽,向目标域名的DNS服务器发送海量解析请求。请求内容可能是随机子域名查询,迫使DNS服务器频繁处理无效请求。
1.7. 内部威胁(Insider threat)
内部威胁指来自组织内部的恶意或非恶意行为,实施者可能是现有员工、前雇员、承包商等熟悉组织内部系统与数据的人员。
1.8. 挖矿劫持(Crytojacking)
攻击者未经授权侵入他人计算机或设备,利用其计算资源(CPU/GPU)进行加密货币挖矿(如比特币、门罗币)。通过窃取算力降低自身挖矿成本,同时受害者承担电费与设备损耗。
2. 黑客
根据黑客的意图,它们通常被归类为:
- 白帽(white hat):也称为道德黑客,将有助于移除病毒或对公司进行渗透测试(PenTest)。
- 黑帽(black hat):这些是窃取金钱或信用卡信息的人。
- 灰帽(gray hat):利用计算机系统或产品中的安全漏洞,以使弱点引起所有者的注意。
- 脚本小子(script kiddies):这些是培训中的黑客。