网络安全概念
CVE
公共漏洞和暴露Common Vulnerabilities and Exposures,CVE)又称常见漏洞与披露,是一个与信息安全有关的数据库,收集各种信息安全弱点及漏洞并给予编号以便于公众查阅。此数据库现由美国非营利组织MITRE所属的National Cybersecurity FFRDC所营运维护 。
CVSS
通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)
是一种免费开放的行业标准,用于评估计算机系统安全漏洞的严重性。CVSS尝试为漏洞分配严重性分数,使响应者可以根据威胁确定响应和资源的优先级。分数是根据一个公式计算的,该公式取决于几个近似利用漏洞的容易程度和影响程度的指标。分数范围从0到10,其中10为最严重的分数。
CWE
通用缺陷列表(Common Weakness Enumeration, CWE)是一个对软件脆弱性和易受攻击性的一个分类系统。它由一个的开源社区工程维持,该社区有理解软件中的瑕疵并创作对自动化工具去识别、修复并防止这些瑕疵的愿景[1]。该工程由下属于Mitre集团公司的美国联邦基金研究发展中心-国家网络安全小组资助,并得到了来自美国国家网络应急中心和美国国土安全部的国家网络安全办公室的支持。[2]通用缺陷列表标准3.2版本在2019年1月发布。[3]通用缺陷列表有超过600个的分类,包括缓冲溢出,路径索引遍历树错误,竞争状态条件,跨站脚本,硬编码密码以及不安全随机数等。
OWASP Top 10
OWASP(Open Web Application Security Project开放式Web应用程序安全项目)是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究。OWASP项目最具权威的就是其”十大Web应用安全风险”,其对安全问题从威胁和脆弱性进行可能性分析,并结合技术和商业影响的分析,输出目前一致公认、最严重的十类web应用安全风险排名,并提出解决方案建议,可以帮助IT公司和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性。
前向安全性(Forward Security)
前向安全性(Forward Security)该定义最早是由Mihir Bellare和Sara K. Miner在 CRYPTO’99上提出的关于数字签名的性质。
Perfect Forward Secrecy是由Christoph G. Günther在EUROCRYPT ’89提出的,其最初用于定义会话密钥交换协议的一种安全性。 (Perfect)Forward Secrecy的大致意思是:用来产生会话密钥(Session Ley)的长期密钥(Long-Term Key)泄露出去,不会造成之前通讯时使用的会话密钥(Session Key)的泄露,也就不会暴漏以前的通讯内容。简单的说,当你丢了这个Long-Term Key之后,你以后的行为的安全性无法保证,但是你之前的行为是保证安全的。
之所以Perfect加上括号,是因为这个词蕴含了无条件安全的性质,大部分的Forward Secrecy方案是无法达到Perfect的。而Forward Security的保证的是:敌手获取到了你当前的密钥,但是也无法成功伪造一个过去的签名。这两个概念是用在不同的环境中,但是其意图是一样的:保证密钥丢失之前的消息安全性或签名的不可伪造性。一般而言,满足Forward Secrecy的公钥环境下的(签名、密钥交换或加密)方案,其公钥是固定的,而密钥则随着时间进行更新。这个更新过程是单向的,因此也就保证了拿到当前的密钥,是无法恢复出以前的密钥,从而保证了“前向安全”。
漏洞与网络攻击概念
拒绝服务攻击相关攻击
拒绝服务(DoS)攻击
Denial of Service通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源、宽带资源等,造成程序缓冲区溢出错误,使其他合法用户无法正常请求。最终致使网络服务瘫痪,甚至系统死机。
- 计算机网络带宽攻击:指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽, 最后导致合法的用户请求无法通过。
- 连通性攻击:指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
分布式拒绝服务(DDoS)攻击
Distributed Denial of Service指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。利用更多的傀儡机(肉鸡)来发起进攻,以比从前更大的规模来进攻受害者。
DDoS攻击发展的三个阶段
- 第一阶段:由个人计算机组建僵尸网络,发动DDoS攻击
- 第二阶段:利用互联网开放服务器(如DNS、NTP)发起反射攻击
- 第三阶段:利用智能/IoT设备协议(如SSDP)的脆弱性发起反射攻击
分布式反射拒绝服务(DRDoS)攻击
Distirbuted Reflection Denial of Service Attack是一种新式的DoS攻击方式,攻击者通过向大量合法服务器发送带有被攻击者IP地址的特定服务(TCP SYN,NTP,DNS,SNMP)连接请求包,使这些服务器向被攻击者发送大量的合法ACK询问包,由于服务器的高性能和数据包的合法性,被攻击者无力抵御大流量数据包,一般的防火墙和DoS防御技术也会给这些合法数据包放行,最终耗尽被攻击者的带宽,达到攻击的目的。
SSDP反射放大攻击
互联网上家用路由器、网络摄像头、打印机、智能家电等设备数量的激增。这些智能设备普遍采用UPnP(即插即用)协议作为网络通讯协议, 而UPnP设备的发现是通过源端口为1900的SSDP(SSDP,Simple Service Discovery Protocol,简单服务发现协议)进行相互感知。
利用SSDP协议进行反射攻击的原理与利用DNS服务、NTP服务类似,都是伪造成被攻击者的IP地址向互联网上大量的智能设备发起SSDP请求,接收到请求的智能设备根据源IP地址将响应数据包返回给受害者。
CC攻击
CC(Challenge CoHapsar,挑战黑洞)攻击是DDoS攻击的一种类型,使用代理服务器向受害服务器发送大量貌似合法的请求。CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。
CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
零日漏洞攻击
零日漏洞攻击(Zero Day Attack)又叫零时差攻击,也有翻译为“初始攻击”,“瞬时攻击”,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现,并对漏洞进行攻击。它是利用以前未知的软件缺陷,缩短攻击时间,在安全产品发生作用之前攻击就已达到顶峰,这种攻击很少发生,但危险性也尤为严重。
零日漏洞:特指被攻击者掌握却未被软件厂商修复的系统漏洞。
APT攻击
高级持续威胁攻击(Advanced Persistent Thread,APT攻击),也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
APT威胁着企业的数据安全。APT是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的“恶意商业间谍威胁”。这种行为往往经过长期的经营与策划,并具备高度的隐蔽性。APT的攻击手法,在于隐匿自己,针对特定对象,长期、有计划性和组织性地窃取数据,这种发生在数字空间的偷窃资料、搜集情报的行为,就是一种“网络间谍”的行为。
心脏滴血漏洞
心脏出血漏洞(英语:Heartbleed bug),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了OpenSSL中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过读[,即可以读取的数据比应该允许读取的还多。
水坑攻击
水坑攻击(Watering hole)是一种计算机入侵手法,其针对的目标多为特定的团体(组织、行业、地区等)。攻击者首先通过猜测(或观察)确定这组目标经常访问的网站,并入侵其中一个或多个,植入恶意软件,最后,达到感染该组目标中部分成员的目的。
由于此种攻击借助了目标团体所信任的网站,攻击成功率很高,即便是那些对鱼叉攻击或其他形式的钓鱼攻击具有防护能力的团体。
射频干扰攻击
RF Jamming Attack指的就是射频干扰攻击,在国外文献资料中有时也称之为RF Disruption Attack,该攻击通过发出干扰射频实现破坏无线通信的目的。RF 即Radio Frequency 射频,主要包括无线信号发射机及收信机等。
网络嗅探
嗅探(Sniffers)是一种网络流量数据分析的手段,常见于网络安全领域使用,也有用于业务分析领域,一般是指使用嗅探器对数据流的数据截获与分组分析(Packet analysis)。
嗅探所使用的工具即为“嗅探工具”,正式的叫法为“数据包分析器”,还有别称为“嗅探器”、“抓包工具”。
下水道路由(DDoS防范技术)
比较流行的防范方法是网络下水道技术。网络下水道技术应用网络上的Honey Pot收集发向ISP 的垃圾流量, 并通过对这些垃圾信息的分析来判断是否有人在扫描网络或进行攻击,从而实现预警和防范功能。如果有攻击者正在对ISP 网络展开攻击,网络下水道技术可将攻击的网络流量引导“下水道”通过一台路由来实现,可以是缺省的路由,也可以是一个特定的子网,ISP网络无法识别的网络流量都会送到这里。
对于ISP来说,这些网络流量可能隐藏着许多有用的信息,想要获取这些信息可以在路由后面加上一个网络分析器, 如Linux下著名的IDS软件Snort,并配合Tcpdump协议分析工具,就可实现数据的截取和分析。如果ISP在监视过程中发现有攻击者正在攻击一个子网的网段,可以用BGP通知其他路由,把指向该子网的网络流量都送到下水道路由,从而改变攻击方向。
Smurf攻击
Smurf攻击是一种拒绝服务DoS攻击,以最初发动这种攻击的程序“Smurf”来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。
Smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。
百度百科:Smurf攻击
Fraggle攻击
类似于Smurf,使用UDP应答消息而非ICMP。UDP端口7(ECHO)和端口19(Chargen)在收到UDP报文后,都会产生回应。在UDP的7号端口收到报文后,会回应收到的内容,而UDP的19号端口在收到报文后,会产生一串字符流。它们都同ICMP一样,会产生大量无用的应答报文,占满网路带宽。攻击者可以向子网广播地址发送源地址为受害网络或受害主机的UDP包,端口号用7或19.子网络启用了此功能的每个系统都会向受害者的主机做出响应,从而引发大量的包,导致受害网络的阻塞或受害主机的崩溃;子网上没有启动这些功能的系统将产生一个ICMP不可达的消息,因而仍然消耗带宽。也可将源端口改为Chargen。目的端口为ECHO,这样会自动不停地产生回应报文,其危害性更大。
处理方法:
检查进入防火墙的UDP报文,若目的端口号为7或19,则直接拒绝,并将攻击记录到日志,否则允许通过。
Teardrop攻击
Teardrop攻击是一种畸形报文攻击。是基于UDP的病态分片数据包的攻击方法,其工作原理是向被攻击者发送多个分片的IP包(IP分片数据包中包括该分片数据包属于哪个数据包以及在数据包中的位置等信息),某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。
LAND攻击
LAND攻击(局域网拒绝服务攻击,英语:Local Area Network Denial attack,缩写:LAND attack),是拒绝服务攻击(DoS攻击)的一种,通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪。
这种攻击方式采用了特别构造的TCP SYN数据包(通常用于开启一个新的连接),使目标机器开启一个源地址与目标地址均为自身IP地址的空连接,持续地自我应答,消耗系统资源直至崩溃。这种攻击方法与SYN洪泛攻击并不相同。
中间人攻击
中间人攻击(英语:Man-in-the-middle attack,缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的(例如,在一个未加密的Wi-Fi 无线接入点的接受范围内的中间人攻击者,可以将自己作为一个中间人插入这个网络)。
一个中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。
会话攻击
HTTP是无状态协议,为了在Web客户端和Web服务器间维持用户状态,在用户登录后,服务器需在客户端保存用户的唯一标识(Session ID),客户端每次请求服务时,向服务器提交Session ID来标识身份。如果Session ID被泄露,用户的访问安全就无法保证。 攻击者客户通过会话预测、会话劫持(捕获)、会话固定等方式获取合法用户的Session ID。
会话预测
这种攻击方法,攻击者需要猜测出系统中使用的有效的Session ID,有点类似暴力破解。 一般Web服务器的Session ID生成的随机数机制还是比较安全的,所以这种攻击方式基本上是不太可能成功。
会话劫持(Session hijacking)
会话劫持(Session hijacking),一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏。
攻击者获取SessionID的方式有多种:
- 暴力破解:尝试各种Session ID,直到破解。
- 预测:如果Session ID使用非随机的方式产生,就有可能计算出来。
- 窃取:使用网络嗅探,XSS攻击等方法获得。
会话固定
会话固定(Session fixation)是一种诱骗受害者使用攻击者指定的会话标识(Session ID)的攻击手段。这是攻击者获取合法会话标识的最简单的方法。让合法用户使用黑客预先设置的Session ID进行登录,而Web服务器由于设计缺陷,在登录后不生成新的Session ID,从而导致黑客设置的Session ID变成了合法桥梁。
会话固定也可以看成是会话劫持的一种类型,原因是会话固定的攻击的主要目的同样是获得目标用户的合法会话,不过会话固定还可以是强迫受害者使用攻击者设定的一个有效会话,以此来获得用户的敏感信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。