每个IT安全专业人员应该知道的12种根本漏洞
每个IT安全专业人员应该知道的12种根本漏洞
每年,IT安全专业人员都面临着数千个新的软件漏洞和数百万个不同的恶意软件程序,但只有12种根本漏洞会让这些软件漏洞和恶意软件程序攻击你的设备。了解这些根本原因,你就可以阻止黑客攻击和恶意软件。以下是十二种根本漏洞:
1. Zero-days
“零日漏洞”(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。这种攻击往往具有很大的突发性与破坏性。
(1) 攻击威胁
虽然还没有出现大量的“零日漏洞”攻击,但其威胁日益增长,证据如下:黑客更加善于在发现安全漏洞不久后利用它们。过去,安全漏洞被利用一般需要几个月时间。最近,发现与利用之间的时间间隔已经减少到了数天。利用漏洞的攻击被设计为迅速传播,感染数量越来越多的系统。攻击由之前被动式的、传播缓慢的文件和宏病毒演化为利用几天或几小时传播的更加主动的、自我传播的电子邮件蠕虫和混合威胁。人们掌握的安全漏洞知识越来越多,就有越来越多的漏洞被发现和利用。一般使用防火墙、入侵检测系统和防病毒软件来保护关键业务IT基础设施。这些系统提供了良好的第一级保护,但是尽管安全人员尽了最大的努力,他们仍不能免遭受零日漏洞攻击。
(2) 防御方法
预防:良好的预防安全实践是必不可少的。这些实践包括谨慎地安装和遵守适应业务与应用需要的防火墙政策,随时升级防病毒软件,阻止潜在有害的文件附件,随时修补所有系统抵御已知漏洞。漏洞扫描是评估预防规程有效性的好办法。
实时保护:部署提供全面保护的入侵防护系统(IPS)。在考虑IPS时,寻找以下功能:网络级保护、应用完整性检查、应用协议“征求意见”(RFC)确认、内容确认和取证能力。
计划的事件响应:即使在采用以上措施后,企业仍可能受到“零日漏洞”影响。周密计划的事件响应措施以及包括关键任务活动优先次序在内的定义的规则和规程,对于将企业损失减少到最小程度至关重要。
防止传播:这可以通过将连接惟一限制在满足企业需要所必须的机器上。这样做可以在发生初次感染后,减少利用漏洞的攻击所传播的范围。
“零日漏洞”攻击对于警惕性最高的系统管理人员来说也是一种挑战。但是,部署到位的安全护保措施可以大大降低关键数据和系统面临的风险。
2. 未修补的软件
研究表明,未修补的漏洞是大多数数据泄露的根源。未修补的软件或未更新的软件可能是主要的IT安全风险。如果您不更新软件,则会让您容易受到攻击者攻击。一旦(安全)更新可用于软件包,攻击者就会针对尚未更新的软件包。在现实中,许多公司并不总是立即更新他们的浏览器,即使这附带了很大的风险。
这个问题很容易解决。确保始终更新软件。执行此操作的最佳方法是允许软件在更新可用时自动更新。这样,每当有人使用该软件时,它将检查是否有可用的更新,并将安装此更新,以确保您的计算机免受攻击。
3. 恶意软件
恶意软件是指在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马的程序,通过破坏软件进程来实施控制。腾讯移动安全实验室发布的数据显示,恶意软件由多种威胁组成,会不断弹出,所以需要采取多种方法和技术来进行反病毒保护。在上篇文章中,我们已经详细讨论过恶意软件,在此不再复述。
4. 社会工程学
社会工程学,准确来说,不是一门科学,而是一门艺术。社会工程学利用人的弱点,以顺从你的意愿、满足你的欲望的方式,让你上当的一些方法、一门艺术与学问。说它不是科学,因为它不是总能重复和成功,而且在信息充分多的情况下,会自动失效。社会工程学的窍门也蕴涵了各式各样的灵活的构思与变化因素。社会工程学是一种利用人的弱点如人的本能反应、好奇心、信任、贪便宜等弱点进行诸如欺骗、伤害等危害手段,获取自身利益的手法。
现实中运用社会工程学的犯罪很多。短信诈骗如诈骗银行信用卡号码,电话诈骗如以知名人士的名义去推销诈骗等,都运用到社会工程学的方法。
近年来,更多的黑客转向利用人的弱点即社会工程学方法来实施网络攻击。利用社会工程学手段,突破信息安全防御措施的事件,已经呈现出上升甚至泛滥的趋势。
社会工程学攻击是以不同形式和通过多样的攻击向量进行传播的。这是一个保持不断完善并快速发展的艺术。但一些社会工程攻击误区仍然时有出现,如下所示。
(1) 伪造一封来自好友的电子邮件:这是一种常见的利用社会工程学策略从大堆的网络人群中攫取信息的方式。在这种情况下,攻击者只要黑进一个电子邮件帐户并发送含有间谍软件的电子邮件到联系人列表中的其他地址簿。值得强调的是,人们通常相信来自熟人的邮件附件或者是链接,这便让攻击者轻松得手。
在大多数情况下,攻击者利用受害者账户给你发送电子邮件,声称你的“朋友”因旅游时遭遇抢劫而身陷国外。他们需要一笔用来支付回程机票的钱,并承诺一旦回来便会马上归还。通常,电子邮件中含有如何汇钱给你“被困外国的朋友”的指南。
(2) 钓鱼攻击:这是个运用社会工程学策略获取受害者的机密信息的老把戏了。大多数的钓鱼攻击都是伪装成银行、学校、软件公司或政府安全机构等可信服务提供者,例如FBI。
通常网络骗子冒充成你所信任的服务提供商来发送邮件,要求你通过给定的链接尽快完成账户资料更新或者升级你的现有软件。大多数网络钓鱼要求你立刻去做一些事,否则将承担一些危险的后果。点击邮件中嵌入的链接将把你带去一个专为窃取你的登录凭证而设计的冒牌网站。
钓鱼大师们另一个常用的手段便是给你发邮件声称你中了彩票或可以获得某些促销商品,要求你提供银行信息以便接收彩金。在一些情况下,骗子冒充FBI表示已经找回你“被盗的钱”,因此需要你提供银行信息一边拿回这些钱。
(3) 诱饵计划:在此类型的社会工程学阴谋中,攻击者利用了人们对于例如最新电影或者热门MV的超高关注,从而对这些人进行信息挖掘。这在例如Bit torrent等P2P分享网络中很常见。
另一个流行方法便是以1.5折的低价贱卖热门商品。这样的策略很容易被用于假冒eBay这样的合法拍卖网站,用户也很容易上钩。邮件中提供的商品通常是不存在的,而攻击者可以利用你的eBay账户获得你的银行信息。
(4) 主动提供技术支持:在某些情况下,攻击者冒充来自于微软等公司的技术支持团队,回应你的一个解决技术问题的请求。尽管你从没寻求过这样的帮助,但你会因为自己正在微软产品并存在技术问题而尝试点击邮件中的链接享用这样的“免费服务”。
一旦你回复了这样的邮件,便与想要进一步了解你的计算机系统细节的攻击者建立了一个互动。在某些情况下攻击者会要求你登录到“他们公司系统”或者只是简单寻求访问你的系统的权限。有时他们发出一些伪造命令在你的系统中运行。而这些命令仅仅为了给攻击者访问你计算机系统的更大权限。
5. 密码攻击
尝试获取或解密用户的密码以供非法使用。黑客可以在密码攻击中使用破解程序,字典攻击和密码嗅探器。针对密码攻击的防御相当有限,但通常包括密码策略,包括最小长度,无法识别的单词和频繁的更改。
6. MITM
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到如今还具有极大的扩展空间。
在网络安全方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持、DNS欺骗等技术都是典型的MITM攻击手段。在黑客技术越来越多的运用于以获取经济利益为目标的情况下时,MITM攻击成为对网银、网游、网上交易等最有威胁并且最具破坏性的一种攻击方式。
7. 数据泄露
数据泄露是一种安全事件,其中敏感,受保护或机密数据被未经授权的个人复制,传输,查看,窃取或使用。数据泄露可能涉及财务信息,如信用卡或银行详细信息,个人健康信息(PHI),个人身份信息(PII),公司的商业秘密或知识产权。大多数数据泄露涉及过度曝光和易受攻击的非结构化数据 – 文件,文档和敏感信息。
8. 配置错误
如果组件由于不安全的配置选项而容易受到攻击,则可能会发生安全性错误配置漏洞。这些漏洞通常是由于不安全的默认配置,缺乏文档的默认配置或可选配置的文档记录不良而导致的。这可能包括未能在Web服务器上设置有用的安全标头,以及忘记禁用可授予攻击者管理访问权限的默认平台功能。
9. 拒绝服务
拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。
10. 用户错误
11. 物理访问
物理访问指的是人们物理访问计算机系统的能力。根据格雷戈里·怀特的说法,“鉴于对办公室的物理访问,知识渊博的攻击者将很快能够找到访问该组织的计算机系统和网络所需的信息。” 物理访问开辟了各种黑客攻击途径。迈克尔迈耶斯指出,“如果你不能在物理上保护你的系统,那么最好的网络软件安全措施就会变得毫无用处”,因为入侵者可以简单地走出服务器并在闲暇时破解密码。物理访问还允许安装硬件键盘记录器。入侵者可能能够从CD或其他外部媒体启动,然后读取硬盘驱动器上的未加密数据。他们也可能利用引导加载程序中缺少访问控制; 例如,在某些版本的Microsoft Windows启动时按F8,指定’init = / bin / sh’作为Linux的启动参数(通常通过编辑GRUB中的命令行来完成)等。还可以使用恶意设备访问安全性较差的无线网络; 如果信号足够强大,甚至可能不需要突破周边。
12. 内幕人士/合伙人/顾问/供应商/第三方
这是一种内部威胁,是指前员工或现员工,有权限访问组织的网络系统,数据等信息的承包商或业务合作伙伴有意或无意的利用这种机会来窃取机密,破坏组织网络系统的完整性或可用性。内部威胁可能包括欺诈,盗窃知识产权(IP)或商业秘密,进行未经授权的交易,间谍活动以及破坏IT基础设施。
每个IT安全专业人员应该知道的12种根本漏洞的更多相关文章
- Git / 程序员需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 你需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 每个Web开发人员应该知道的12个终端命令
Tips 原文作者:Danny Markov 原文地址:12 Terminal Commands Every Web Developer Should Know About 终端是开发人员的武器库中最 ...
- 你需要知道的12个Git高级命令【转】
转自:http://www.linuxidc.com/Linux/2016-01/128024.htm 众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git, ...
- 你需要知道的 N 种抓取 dump 的工具
原总结注册表debug调试dump转储文件windbgprocdump 前言 今天,向大家介绍几种可以抓取应用程序转储文件的工具及基本使用方法.更详细的用法,请参考每个工具对应的帮助文档.如果你还不清 ...
- [译]你应该知道的4种JavaScript设计模式
这里介绍下面这4种设计模式 Module Prototype Observer Singleton 每种模式有许多属性构成,在这我只强调一下几点: 1 Context: 在何种情况使用哪种模式? 2 ...
- Java_你应该知道的26种设计模式
四. 模板方法模式 Definition: Define the skeleton of an algorithm in an operation, deferring some steps to s ...
- 12个很少被人知道的CSS事实
之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...
- 每个JavaScript开发人员应该知道的33个概念
每个JavaScript开发人员应该知道的33个概念 介绍 创建此存储库的目的是帮助开发人员在JavaScript中掌握他们的概念.这不是一项要求,而是未来研究的指南.它基于Stephen Curti ...
随机推荐
- 从EntityFramework转换EntityFrameworkCore的正确姿势(DBFirst)
今天有一个小任务:要把一个数据的数据搬运到另一个数据库(两个数据库的数据结构很不一样). 决定用.net core console app来跑,并且采用entityframework 去做数据CRU ...
- OpenGL编程(八)3D数学与坐标变换
笛卡尔坐标 一维坐标系 以一个点为原点,选定一个方向为正方向(相反的方向为反方向),以一定的距离为标尺建立一维坐标系.一维坐标系一般应用于描述在一维空间中的距离. 举个例子:一维坐标系好比一条拉直的电 ...
- js正则获取html字符串指定的dom元素和内容
var str = "<div>111<p id='abc'>3333</p></div><div>222<div id=' ...
- C语言-统计数字、字母、特殊字符
Action() { //统计字符019aBcd8***,4,4,3 int i,z,t; char *str="019aBcd8***"; fun_Count(str,i,z,t ...
- C# 正则表达式大全(转载)
文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...
- 02操控奴隶——掌握它的语言“Python”
一 编程常识 1编程语言的发展史 程序员是计算机的主人,主人与奴隶沟通的介质是编程语言,编程语言从诞生到现在它经历了那几个阶段呢? 2 语言的特性: 3 初期的编程语言更多的是站在计算机的角度去设计编 ...
- sklearn学习8-----GridSearchCV(自动调参)
一.GridSearchCV介绍: 自动调参,适合小数据集.相当于写一堆循环,自己设定参数列表,一个一个试,找到最合适的参数.数据量大可以使用快速调优的方法-----坐标下降[贪心,拿当前对模型影响最 ...
- Tensorflow学习笔记----模型的保存和读取(4)
一.模型的保存:tf.train.Saver类中的save TensorFlow提供了一个一个API来保存和还原一个模型,即tf.train.Saver类.以下代码为保存TensorFlow计算图的方 ...
- 使用ajax实现搜索功能
最近要做一个搜索功能,网上搜了一圈,终于做出来了,很简单的一个,这里分享我的方法,希望对大家有用,不足之处还请指教. 这里使用ajax提交数据,配合jquery将数据显示出来. 用jq的keyup ...
- JS中检测数据类型的多种方法
面试当中经常会问到检测 js 的数据类型,我在工作当中也会用到这些方法.让我们一起走起!!! 首先给大家上一个案例 console.log(typeof "langshen"); ...