一、网络安全分类
主要类型
网络安全由于不同的环境和应用而产生了不同的类型。主要有以下几种:
系统安全
是指运行系统安全即保证信息处理和传输系统的安全。它侧重于保证系统正常运行。避免因为系统的崩溃和损坏而对系统存储、处理和传输的消息造成破坏和损失。避免由于电磁泄露,产生信息泄露,干扰他人或受他人干扰。
网络安全
是指网络上系统信息的安全。包括用户口令鉴别,用户存取权限控制,数据存取权限、方式控制,安全审计,安全问题跟踪,计算机病毒防治,数据加密等。
信息传播安全
网络上信息传播安全,即信息传播后果的安全,包括信息过滤等。它侧重于防止和控制由非法、有害的信息进行传播所产生的后果,避免公用网络自由传输的信息失控。
信息内容安全
网络上信息内容的安全。它侧重于保护信息的保密性、真实性和完整性。避免攻击者利用系统的安全漏洞进行窃听、冒充、诈编等有损于合法用户的行为。其本质是保护用户的利益和隐私,网络安全学习笔记合集自取。
二、常见的网站攻击方式
1. Dos拒绝服务攻击
介 绍:Dos拒绝服务攻击(Denial of Service attack)是一种能够让服务器呈现静止状态的攻击方式。其原理就是发送大量的合法请求到服务器,服务器无法分辨这些请求是正常请求还是攻击请求,所以 会照单全收。海量的请求造成服务器进入停止工作或拒绝服务的状态。
DDOS分布式拒绝服务攻击 (Distributed Denial of Service)就是在DOS攻击基础上借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标发送大量请求使使服务器瘫痪。DDoS攻击可以针 对网络通讯协议的各层,大致有:TCP类的SYN Flood、ACK Flood,UDP类的Fraggle、Trinoo,DNS Query Flood,ICMP Flood,Slowloris类。CC攻击也是DDOS攻击的一种形式。
防 御:DDoS 防御的技术核心是检测技术和清洗技术。检测技术就是检测网站是否正在遭受 DDoS 攻击,而清洗技术就是清洗掉异常流量。而检测技术的核心在于对业务深刻的理解,才能快速精确判断出是否真的发生了 DDoS 攻击。清洗技术对检测来讲,不同的业务场景下要求的粒度不一样。
2. CSRF跨站点请求伪造
介 绍:CSRF跨站点请求伪造(Cross-Site Request Forgeries)是指攻击者通过已经设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息状态更新,属于被动攻击。更简单的理解就是攻击者盗用 了你的名义,以你的名义发送了其他请求。JSON 劫持(JSON Hijacking)是用于获取敏感数据的一种攻击方式,也属于 CSRF 攻击的范畴。
防御:1)将cookie设置为HttpOnly。CSRF攻击很大程度是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置HttpOnly属性,JS脚本就无法读取到cookie中的信息,避免攻击者伪造cookie的情况出现。
2) 增加token。CSRF攻击之所以成功,主要是攻击中伪造了用户请求,而用户请求的验证信息都在cookie中,攻击者就可以利用cookie伪造请求 通过安全验证。因此抵御CSRF攻击的关键就是,在请求中放入攻击者不能伪造的信息,并且信息不在cookie中。鉴于此,开发人员可以在http请求中 以参数的形式加一个token,此token在服务端生成,也在服务端校验,服务端的每次会话都可以用同一个token。如果验证token不一致,则认 为是CSRF攻击,拒绝请求。
3)通过Referer识别。Http头中有一个字段Referer,它记录了Http请求来源地址。但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。
3. SOL注入攻击
介绍:SOL注入攻击是攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。
举 例:’ OR ‘1’=‘1,这是最常见的 SQL注入攻击。当我们输入用户名 admin ,然后密码输入’ OR ‘1’=1=‘1的时候,我们在查询用户名和密码是否正确的时候,本来要执行的是SELECT * FROM user WHERE username=’’ and password=’’,经过参数拼接后,会执行 SQL语句 SELECT * FROM user WHERE username=’’ and password=’’ OR ‘1’=‘1’,这个时候1=1是成立,自然就跳过验证。
防 御:对进入数据库的特殊字符(’"<>&*;等)进行转义处理,或编码转换。在应用发布之前建议使用专业的SQL注入检测工具(如 sqlmap、SQLninja)进行检测,以及时修补被发现的SQL注入漏洞。避免网站打印出SQL错误信息,比如类型错误、字段不匹配等,容易把代码 里的SQL语句暴露出来。
4. XSS跨站脚本攻击
介 绍:XSS跨站脚本攻击(Cross-Site scripting)是指在通过注册的网站用户的浏览器内运行非法的HTML标签或javascript,从而达到攻击的目的,如盗取用户的 cookie,改变网页的DOM结构,重定向到其他网页等。XSS攻击分类包含反射型,存储型,DOM型,FLASH。
防御:坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。主要有两种方式:过滤特殊字符和使用HTTP头指定类型。
5.文件上传漏洞
介绍:倘若web网站没有对文件类型进行严格的校验,导致可执行文件上传到了服务器,恶意程序就会执行。
防御:客户端检测 :程序员一般使用 JavaScript 来拒绝非法文件上传。
服务器端检测:
1)白名单与黑名单验证:定义不允许或允许上传的文件扩展名;
2)MIME验证:php 中通过 $_FILE‘file’ 来检验;
3)目录验证:在文件上传时,程序通常允许用户将文件放到指定的目录中,如果指定的目录存在,就将文件写入目录中。
6. DNS查询攻击
介绍:DNS查询攻击(DNS Query Flood)是向被攻击的服务器发送海量的随机生成的域名解析请求,大部分根本就不存在,并且通过伪造端口和客户端IP,防止查询请求被ACL过滤。
被攻击的DNS服务器在接收到域名解析请求后,首先会在服务器上查找是否有对应的缓存,当没有缓存并且该域名无法直接由该DNS服务器进行解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息,直到全球互联网的13台根DNS服务器。
大量不存在的域名解析请求,给服务器带来了很大的负载,当解析请求超过一定量的时候,就会造成DNS服务器解析域名超时,这样攻击者便达成了攻击目的。
防 御:根据域名 IP 自学习结果主动回应,减轻服务器负载(使用 DNS Cache);对突然发起大量频度较低的域名解析请求的源 IP 地址进行带宽限制;在攻击发生时降低很少发起域名解析请求的源 IP 地址的优先级;限制每个源 IP 地址每秒的域名解析请求次数。
7.暴力破解
介绍:这个一般针对密码而言,弱密码(Weak Password)很容易被别人猜到或被破解工具暴力破解。
防御:防御方法主要有两种,其一密码复杂度要足够大也要足够隐蔽,其二限制尝试次数。
8.信息泄露
介绍:由于 Web 服务器或应用程序没有正确处理一些特殊请求,泄露 Web 服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
防御:敏感信息加密传输;应用程序报错时,不对外产生调试信息;过滤用户提交的数据与特殊字符;保证源代码、服务器配置的安全。
9.业务漏洞
介绍:业务漏洞是跟具体的应用程序相关,比如参数篡改(连续编号 ID / 订单、1 元支付)、重放攻击(伪装支付)、权限控制(越权操作)等。
防御:系统设计阶段就需要考虑业务漏洞的问题,尽量避免连续编号、越权操作等。
10.后门程序
介 绍:后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计 中的缺陷。但是如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
防御:使用非对称后门接口进行软件更新,避免对称后门接口, 给后端程序加壳,更新去除后门的补丁程序。
三、中国人民共和国网络安全法
中华人民共和国网络安全法中国政府网 (www.gov.cn)
四、常见网络安全术语
1、黑帽
为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别,因为他们穿着黑色的斯泰森,而“好人”则戴着白帽子。
2、后门
隐藏在计算机系统中的“管道”,绕过登录和密码的正统保护,从而使它们在保护数据方面基本上无效。
3、蛮力攻击
黑客对系统中的每一个可能的密码进行高度密集的自动搜索,从而破坏安全并获得对计算机的访问权限。
4、Doxing
通过在线查看其详细信息,发现并发布互联网用户的身份。黑客专业术语大全
5、灰色的帽子
执行黑客攻击的人,但不是为了个人或经济利益。一个例子是黑客行为,作为更广泛的政治抗议活动的一部分进行,活动家们使一个组织的政策或官方观点被视为诅咒而令人尴尬或羞辱。
6、IP
Internet协议地址-计算机的标识符或“指纹”。这用于识别使用设备的人,跟踪其活动或显示其位置。
7、按键记录
跟踪计算机用户按下哪些键,以便黑客可以将登录代码和密码记录到系统中。
8、恶意软件
旨在控制或窃取计算机数据的程序。
9、网络钓鱼
通过向他们发送看似来自真正的人或组织的电子邮件,重复某人向您提供他们的个人信息,例如密码,银行帐户详细信息(例如PIN号码)和信用卡详细信息。
10、欺骗
更改真实的电子邮件,使其现在看起来来自其他地方,例如来自您的银行,并提供虚假指令,如果遵循这些指令,将危及您的数据的安全性。
11、间谍软件
这是一种“恶意软件”,它被编程为在计算机上不被注意到,并将数据悄悄地发送给黑客。
12、捕鲸
网络钓鱼针对组织管理层的高层,由黑客追求经济利益或更多地参与政治事业。捕鲸可用于收集有关个人的敏感或极度尴尬的信息,例如工资,奖金,私人地址,电子邮件和电话号码。
13、白帽
黑客将自己的技能用于社会福利,或通过揭露其IT系统中的漏洞帮助组织。这是一顶黑帽子的反面。
14、漏洞
漏洞是指信息系统中的软件、硬件或通信协议中存在的缺陷或不适当的配置,从而可使攻击者在未授权的情况下访问或破坏系统,导致信息系统面临安全风险。
常见漏洞有SQL注入漏洞、弱口令漏洞、远程命令执行漏洞、权限绕过漏洞等。
15、恶意程序
代码语言:javascript复制恶意程序是指在未经授权的情况下,在信息系统中安装、执行以达到不正当目的的程序
1.特洛伊木马
特洛伊木马(简称木马)是以盗取用户个人信息、远程控制用户计算机为主要目的的恶意程序,通常由控制端和被控端组成。由于它像间谍一样潜入用户的计算机,与战争中的“木马”战术十分相似,因而得名木马。按照功能,木马程序可进一步分为盗号木马、网银木马、窃密木马、远程控制木马、流量劫持木马、下载者木马和其他木马7类。
盗号木马是用于窃取用户电子邮箱、网络游戏等账号的木马。
网银木马是用于窃取用户网银、证券等账号的木马。
窃密木马是用于窃取用户主机中敏感文件或数据的木马。
远程控制木马是以不正当手段获得主机管理员权限,并能够通过网络操控用户主机的木马。
流量劫持木马是用于劫持用户网络浏览的流量到攻击者指定站点的木马。
下载者木马是用于下载更多恶意代码到用户主机并运行,以进一步操控用户主机的木马。
2.僵尸程序
僵尸程序是用于构建大规模攻击平台的恶意程序。按照使用的通信协议,僵尸程序可进一步分为IRC僵尸程序、HTTP僵尸程序、P2P僵尸程序和其他僵尸程序4类。
3.蠕虫
蠕虫是指能自我复制和广泛传播,以占用系统和网络资源为主要目的的恶意程序。按照传播途径,蠕虫可进一步分为邮件蠕虫、即时消息蠕虫、U盘蠕虫、漏洞利用蠕虫和其他蠕虫5类。
4.病毒
病毒是通过感染计算机文件进行传播,以破坏或篡改用户数据,影响信息系统正常运行为主要目的的恶意程序。
5.勒索软件
勒索软件是黑客用来劫持用户资产或资源并以此为条件向用户勒索钱财的一种恶意软件。勒索软件通常会将用户数据或用户设备进行加密操作或更改配置,使之不可用,然后向用户发出勒索通知,要求用户支付费用以获得解密密码或者获得恢复系统正常运行的方法。
6.移动互联网恶意程序
移动互联网恶意程序是指在用户不知情或未授权的情况下,在移动终端系统中安装、运行以达到不正当的目的,或具有违反国家相关法律法规行为的可执行文件、程序模块或程序片段。按照行为属性分类,移动互联网恶意程序包括恶意扣费、信息窃取、远程控制、恶意传播、资费消耗、系统破坏、诱骗欺诈和流氓行为8种类型。
7.其他
上述分类未包含的其他恶意程序。
按恶意程序的主要用途分类
随着黑客地下产业链的发展,互联网上出现的一些恶意程序还具有上述分类中的多重功能属性和技术特点,并不断发展。对此,我们将按照恶意程序的主要用途参照上述定义进行归类。
代码语言:javascript复制1.僵尸网络
僵尸网络是被黑客集中控制的计算机群,其核心特点是黑客能够通过一对多的命令与控制信道操纵感染木马或僵尸程序的主机执行相同的恶意行为,如可同时对某目标网站进行分布式拒绝服务攻击,或发送大量的垃圾邮件等。
2.拒绝服务攻击
拒绝服务攻击是向某一目标信息系统发送密集的攻击包,或执行特定攻击操作,以期致使目标系统停止提供服务。
3.网页篡改
网页篡改是恶意破坏或更改网页内容,使网站无法正常工作或出现黑客插入的非正常网页内容。
4.网页仿冒
网页仿冒是通过构造与某一目标网站高度相似的页面诱骗用户的攻击方式。钓鱼网站是网页仿冒的一种常见形式,常以垃圾邮件、即时聊天、手机短信或网页虚假广告等方式传播,用户访问钓鱼网站后可能泄露账号、密码等个人隐私。
5.网站后门
网站后门事件是指黑客在网站的特定目录中上传远程控制页面,从而能够通过该页面秘密远程控制网站服务器的攻击形式。
6.垃圾邮件
垃圾邮件是指未经用户许可(与用户无关)就强行发送到用户邮箱中的电子邮件。
7.域名劫持
域名劫持是通过拦截域名解析请求或篡改域名服务器上的数据,使得用户在访问相关域名时返回虚假IP地址或使用户的请求失败。
8.路由劫持
路由劫持是通过欺骗方式更改路由信息,导致用户无法访问正确的目标,或导致用户的访问流量绕行黑客设定的路径,达到不正当的目的。
16、病毒和木马的区别
代码语言:javascript复制病毒:
平时一般我们所说的病毒,指的是感染型病毒,是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。其具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。
一般病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。与生物病毒有很多的相似的地方,比如说自我繁殖、互相传染以及激活再生等生物病毒特征等等。
木马:
木马病毒源自古希腊特洛伊战争中著名的“木马计”而得名,这里可自行百度,一个很有趣的故事。木马病毒一般通过电子邮件附件发出,捆绑在其他的程序中,通过特定的程序(木马程序)来控制另一台计算机,通常有两个可执行程序:一个是控制端,另一个是被控制端。“木马”程序与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它会修改注册表、驻留内存、在系统中安装后门程序、开机加载附带的木马。
木马病毒的发作要在用户的机器里运行客户端程序,一旦发作,就可设置后门,定时地发送该用户的隐私到木马程序指定的地址,一般同时内置可进入该用户电脑的端口,并可任意控制此计算机,进行文件删除、拷贝、改密码等非法操作。
画个重点,说说二者的区别:
1、 病毒会传染,而木马不会传染;
2、 病毒入侵电脑后会有感觉,而木马不会,主要原因是便其开展后续“工作”;
3、 病毒主要是以“破坏”著称,而木马主要是用来盗取用户信息。
说到这里,再补充一下蠕虫病毒方面的知识。与木马病毒有本质区别的是,蠕虫病毒是一种能够利用系统漏洞通过网络进行自我传播的恶意程序,它不需要附着在其他程序上,而是独立存在的。当形成规模、传播速度过快时会极大地消耗网络资源导致大面积网络拥塞甚至瘫痪,这可要比木马病毒恐怖多的多。
17、蜜罐
代码语言:txt复制蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机,网络服务或信息,诱导攻击方对他们进行实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来挣钱实际系统的安全防护能力.
代码语言:txt复制蜜罐好比是情报收集系统,蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击,所以攻击者如前后,就可以知道攻击方如何得逞的,随时了解对服务器发动的最新攻击和漏洞,还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络
18、暗网
代码语言:javascript复制互联网由三层网络组成
表示层网
深网
暗网
如何访问到暗网
代码语言:javascript复制LAN ==> (表层网)表示层网 ==> 深网 ==> 暗网
表层网就是可以访问到的常用网站例如:百度,腾讯视频等…想访问到暗网还是比较困难的!
暗网是深网的一个子集
代码语言:javascript复制1)暗网和深网不能混为一起,互联网百分之90都来自于深网
2)深网:不能被搜索引擎搜索到,只能通过特殊软件可以访问到!
例如:qq/微信等聊天工具的网络后台就可以称作为深网,不能被搜索引擎所搜到
3) 暗网是深网的一个子集(分支),不能直接访问,需要特定的浏览器才可以,它的域名形式都是以.onion作为后缀
深网与暗网的区别
代码语言:javascript复制1)美国发明的暗网,作用就是用于间谍之间以匿名的方式在暗网交换信息等任务…
2) 暗网里面有很多买卖盗窃来的数据信息,以及各种舆论信息.
19、免杀
免杀就是躲过杀毒软件的扫描查杀,使杀毒软件成为摆设,除此之外免杀技术带给我们更多的,将是思想的飞跃与技术的成长.
20、APT攻击
APT(advanced Persistent Threat)是指高级持续性威胁,利用先进的攻击手段对特定目标进行长期持续性网络攻击的供给形式.
代码语言:javascript复制(1)中国是APT攻击的主要受害国
(2)APT攻击一般是一个国家/一个集团来支撑团队攻击窃取科研成果和资料
(3)一旦被APT攻击盯上以后会很难以逃脱.
21、Exploit/POC
Exploit (漏洞利用程序)
代码语言:javascript复制Exploit/Exp的英文意思就是利用,它在黑客眼里就是漏洞利用.有漏洞不一定就有Exploit(利用),有Exploit就肯定有漏洞
POC (漏洞证明)
代码语言:javascript复制概念验证(英语:proof of concept:简称POC)是对某些想法的一个较短而不完整的实现,以证明其可行性,拾饭其原理,其目的是为了验证一些概念或理论,概念验证通常被认为是一个有里程碑意义的实现的原型.
简述:证明程序有漏洞,但是没法利用这个漏洞
22、内网渗透
什么是内网渗透? 为什么要内网渗透?
代码语言:javascript复制内网渗透就是换了一个环境做渗透,有些重要数据/资料/代码会放到内网服务器或者公司内部开发人员电脑里,所以需要内网扫描/渗透,内网渗透需要更多的随机性和突破口,情况较为复杂.涉及到的知识很广,攻击手法也很多
23、社会心理学
在计算机科学中,社会工程学指的是通过与其他人的合法地交流,来使其心理受到影响,做出某些动作或者透露一些机密信息的方式,这通常被认为是一种欺诈他人以收集信息/行骗和入侵计算机系统的行为,在英美普通法系中,这一行为一般是被认为侵权隐私权的!
代码语言:javascript复制社工库
社会工程学里面的的一个工具,把泄露或渗透拿到的数据整合到社工库中,搜索查询使用,
复杂的社工库可以做到利用渗透或者泄露出来的数据整合在一起,从而查询出某人使用的手机号/开房记录/各种密码等…
24、谷歌黑客
谷歌黑客(Google hacking)是使用搜索引擎,比如谷歌来定位因特网上的安全隐患和易攻击点
代码语言:javascript复制Web上一般有两种容易发现的易攻击类型:
(1)软件漏洞
(2)错误配置
虽然有一些有经验的入侵者目标是瞄准了一些特殊的系统,同时尝试发现会让他们进入漏洞,但是大部分的入侵者是从具体的软件漏洞开始或者从哪些普通用户错误配置开始,在这些配置中,他们已经知道怎样入侵,并且初步的尝试发现或扫描有该种漏洞的系统,谷歌对于第一种攻击者来说用处很少,但是对于第二种攻击者则发挥了重要的作用!
谷歌黑客学习链接 ,在渗透方面起到了信息收集的作用!
25、脱裤
脱裤的谐音对应脱库
脱库的意思是:指通过非法手段获取网站的数据库,会员信息或自己需要的信息,简单理解就是把对方数据库的信息下载下来!
26、提权
拿到webshell之后从普通用户提升为管理员权限!
27、0(零)day攻击
0day攻击,一种对计算机软件的攻击方式
1)在计算机领域中,零日漏洞和零时差漏洞(英文:zero-day exploit/zero-day/0-day)通常是指还没有补丁的安全漏洞,
代码语言:javascript复制 通过自己挖掘出来的漏洞且还没有公布的称为0day
2)而零日攻击或零时差攻击(英文:zero-day attack)则是指利用这种漏洞进行的攻击,提供该漏洞细节或者利用程序的人通常是该漏洞的发现者,
零日漏洞的利用程序对网络安全具有巨大威胁,因此零日漏洞不单是黑客的最爱,掌握多少零日漏洞也称为评价黑客技术水平的一个重要参数!
28、旁站/C段
代码语言:txt复制目标站点所在服务器上其他网站,再想办法跨到真正目标站点目录中