猫宁!!!mysql
参考连接:https://mp.weixin.qq.com/s/cl4TfOodBGSjUuEU8e0rGA程序员
对方公众号:caoz的梦呓web
前天在新加坡IC咖啡作了一场关于信息安全的常识普及分享,主要是一些基本概念的澄清,以及对信息安全入门级别的了解。sql
我不是信息安全技术高手,不少很实际的技术细节可能不够了解,因此若是有一些概念错误或其余误导,也请技术高手指正数据库
先说一些错误的概念windows
一、对于企业而言,信息安全是技术人员的工做。浏览器
错误,普通员工若是不注重安全很容易被突破。安全
内网安全每每是由非技术人员的疏忽形成的。服务器
范例1: 某巨头互联网公司内网曾因某员工不安全的电脑致使ARP欺骗,致使内网dns解析遭受感染,在内网正常电脑的正经常使用户的访问本公司网址竟然被转移到木马网址。微信
范例2:某信息安全上市公司因销售人员安全意识淡泊我的电脑被入侵,致使内网穿透,信息泄露好久后被发现。
全员信息安全意识培训很是重要。
二、良好的上网习惯,不乱下文件,不点开奇怪的文件,不上奇怪的网站,我的电脑就不会中病毒。因此,裸奔有理 的论调特别流行。
错误,15年前,从尼姆达病毒起,病毒和木马就已经具备了主动攻击性,他们根本不须要你点击和打开,会主动在网段内扫描和入侵有缺陷的主机。
三、装好杀毒软件,打好补丁,就不会被入侵被黑掉。
错误,0day攻击能够轻松穿透杀毒软件和打好最新补丁的系统。
名词解释 0day
咱们知道每隔一段时间,微软,苹果或其余系统厂商都会公布安全漏洞,发布安全补丁,而后用户就会及时打补丁防止被入侵,那么咱们想一个简单的问题,一、这个漏洞是系统厂商公布的时候才出现的么?二、在漏洞被系统厂商发现以前请问谁能防止基于这个漏洞的攻击?
很遗憾,事实,就是,没有,因此,在安全漏洞没有被系统厂商发现,或者被发现但安全补丁没有发布以前,这段时间,基于这个安全漏洞的攻击,就统称为0day,因此0day实际上不是一种技术形式,而是一种时间的概念,未公开的漏洞是普遍的,长期存在的,有一种说法叫作长老漏洞,什么是长老漏洞呢?好比说有款微软的操做系统漏洞,当微软发现这个漏洞的时候,其存在时间已经超过了10年。那么,这十年是否一直没有被人发现呢?很遗憾,只是没有被微软发现而已,在某些技术高手手里,这是一个通杀的入侵工具,想一想可怕不。
那么,谁手里有0day呢,第一,各国军方,美国有,中国也有,俄罗斯有,以色列有,韩国有,日本也会有。第二,各大安全公司,有人会说,安全公司不是要讲操守,发现漏洞不是应该公告么? 有些会公告,有些不会,为何不会呢? 由于有时候须要,好比说,两个安全公司去抢一个军方的订单,军方说了,你来检测一下个人系统,给我一个报告吧,若是你手里没有0day,你可能就竞争不过手里有0day的同行。你对手拿到了人家服务器的权限你没拿到,你不就丢单了么,你说其实你漏洞挖掘比对手强,不过你都公告了(你公告了系统厂商就有补丁了,有补丁了人家军方的运维也不是吃闲饭的,早就补了,明白这个逻辑不。),你看微软,google给你一沓感谢信呢,你想一想军方领导人怎么想,尼玛另外一家随时能够入侵我,而你不能,你让我跟你合做,我傻啊。第三,很不幸,一些我的高手和黑产手里也有,存在0day交易的地下黑市,简单说个数字概念,好比微软给TK教主发现的漏洞和利用方法发奖金,10万美圆,你们以为了不得,这是TK教主比较有操守,若是这个漏洞放到黑产的地下黑市里,100万美金均可以卖掉你信不信。 一个高危漏洞,在黑产手里的话,其价值是极为巨大的,不少人让我写写黑产,但我不敢,实话说,我惹不起他们。你看你看,我敢写黑社会,我不敢写黑产。写了黑社会我大不了不去香港了,写黑产我互联网的业务不要碰了。
那么问题来了,为何系统厂商不给很高的奖金去奖励安全专家呢?而让漏洞流向黑产?这里还真不是钱的问题,而是存在一个悖论,若是系统厂商,对漏洞的奖励太高,会存在一个管理风险,若是奖金激励太大,那么系统厂商的开发工程师真有可能会故意留一些看上去很不当心的问题点,而后将这个问题点泄露给第三方的安全专家,分享奖金。因此,不少时候,利弊权衡,并不能只看一面。
名词解释,漏洞挖掘
什么叫漏洞挖掘,就是针对某个系统,某个应用,去分析其弱点并挖掘其可被利用的漏洞,其结果又分为高危漏洞和低危漏洞,高危通常是能够取得系统控制权,或者利用系统执行一些危险的操做。低危每每是可能致使系统不稳定,或者存在一些非机密信息泄露的可能。
发现漏洞和找到漏洞利用方法是两个步骤。
有的时候安全专家发现一个可能严重的漏洞,好比一个权限很高系统服务在一个偏僻的系统调用处存在一个溢出点。但这时只能说这多是一个高危漏洞,有时候系统厂商会认为这个漏洞没法利用,看成低危漏洞来处理,这种状况之前很常见,但一旦找到漏洞利用方法,这才是实现一个完美的漏洞挖掘。因此微软不少对安全专家的重奖不是由于发现了一个漏洞,而是提供了一个很是巧妙的漏洞利用方法。
因此公众可能理解黑客是黑掉一个网站,或者黑掉一个帐户,而漏洞挖掘不是这样的概念,一旦发现一个高危漏洞,好比说,发现微软操做系统的高危漏洞,可能全部这个版本的用户的电脑均可以被入侵,好比说发现mysql数据库的一个高危漏洞,可能全部使用mysql数据库服务而且存在外网访问接口的均可能被入侵。 因此漏洞挖掘的高手,他们并非针对特定网站,特别目标去分析,他们的目标是主流的系统和应用。而后一旦有所成就,几乎就等于手里掌握了能够横扫互联网的核武器。 在这种状况下,你去说黑掉几个网站了不得,人家就只能呵呵了。
0day攻击应对策略:暂无
不过也不用过于紧张,若是你不是特别特别有价值的目标,通常人不会用0day对付你。互联网上有一次经典的0day攻击事件,被一个商业安全公司捅出来的,目标直指伊朗核设施,实施者是谁你猜猜看?
四、我输入可信的网站地址,访问的网站必定是安全的
错,DNS劫持可能让你即使输入了正确的网址,也会进入错误的网站。
DNS劫持是一种常见网络安全风险,但其实这里并不仅有一种攻击途径,有不少途径能够劫持dns。
从你的主机开始,病毒木马可能会改写你的电脑的host文件,或者改写浏览器的钩子,致使你访问的目标网址被导向其控制者的手里。
若是你的主机是安全的,不能保证你邻居会不会用arp欺骗来干扰你。
这里说句公道话,arp欺骗曾经猖獗一时,对网民上网带来的伤害特别大,改写host和浏览器挂钩子也曾是中国互联网常见的毒瘤,360崛起后这些东西从某种角度基本上没有了(其实还有,一会说),我知道不少人讨厌360,但这个事实仍是必须认可的,固然,3721是浏览器钩子的鼻祖。
你的邻居也安全,你访问的就安全了?你上网是否是默认配置dns的,电信接入商耍流氓在中国太广泛了。 那么你强设了可信任的dns,你访问网址就安全了? GFW的能力相信大部分人并不真正了解,为了本账号的合法运营,此处忽略多个案例。
刚才说道,某种程度上,浏览器钩子和劫持不常见了,但不是真的没有了,只是特别恶意的基本被遏制了,可是依然有一种常见的,并且极具中国特点的,你们见怪不怪早就习惯的劫持行为,大家若是使用ie浏览器,输入错误网址或文字的时候,按照正常逻辑,应该是跳转到bing的搜索页,早前应该是msn的搜索页,可是很遗憾,在中国你几乎不可能看到这一幕,各类安全工具设置的浏览器钩子早将这个访问劫持了,侥幸没有劫持,也会被电信运营商劫持。这就是咱们最多见而又最麻木的dns劫持,这个缘由是由于利益链,由于对用户体验来讲不是危害,因此没人以为不对,不展开了。
移动互联网还存在假基站的问题,假基站在国内目前也很猖獗,能不能劫持DNS我不是很明确,可是伪造来电号码是稳稳的,今天我还看到朋友圈有人说亲戚收到移动官方发来短信,点过去连接操做结果被诈骗了几千元,投诉移动没有效果云云,我一看就是中了假基站的骗子短信。因此误觉得信息是官方发送的。移动上网其实也是存在风险的。
此外,蹭免费wifi也存在dns劫持风险。
五、百度,新浪这种公司是安全的,因此我在这里的账号也是安全的。
错误:彩虹库和撞库攻击屡屡突破巨头防线。
名词解释,彩虹库,社工库
还记得csdn爆库事件么,不少不少不少论坛社区的用户库都被黑客入侵并拿到过,有些是明文密码的被黑客100%拿到账号密码,有些仅仅作了md5的被80%拿到,有些作了md5+md5的也差很少被80%拿到,除了作随机salt的几乎都被破的七七八八。(随机salt不解释了,下一篇会讲)
黑客们将彼此拿到的数据库里的用户名和密码,合并在一块儿,就是社工库,也叫彩虹库。 这个库的规模特别大,并且一直还在激增,实际上,社工库的历史特别的悠久,当你从媒体上看到的时候,已经流行了不少年了。
名词解释,撞库攻击
因为不少用户习惯在多个网站用一样的账号和密码,因此一旦A网站的用户密码透露,有经验的黑客会去尝试用一样的账号密码去b网站尝试,这就是所谓撞库攻击,新浪也好,百度也好,不少巨头都饱受撞库攻击的侵扰,并且不少账号密码所以被泄露。
我在大约七八年前的时候一个安全圈的朋友曾把我百度的账号密码发给我,让我赶忙去改密码,我大吃一惊,觉得百度的账号系统被入侵,后来询问才知道是由于对方经过社工库拿了个人账号密码,随便一试就发现其实我在不少网站用的一样的密码,包括百度。
应对策略:不一样网站密码保持不一样;或者对高安全需求的网站强化密码。
六、个人密码很复杂,别人必定不会破解
错误,获取你的权限,其实未必须要你的密码
经过找回密码来暴力破解的之前很是常见
范例1:之前不少邮局都是有经过生日和回答问题来重设密码,经过程序暴力破解生日(最多5分钟)+猜想问题,是攻破不少小姑娘邮箱的绝招。
范例2:腾讯出过一个案例,以手机短信验证码来重设密码,但短信密码只有4位数字,暴力破解只须要9999次,程序员轻松搞定。
应对策略:验证码,并且是变态的验证码是防止程序暴力测试的重要方案。
SQL注入和跨站脚本是获取用户权限很是常见的攻击方式,流行超过15年,至今仍然普遍可用。
其原理是程序员在编写程序中对用户输入或浏览器传递参数校验不够严谨,黑客能够将可执行代码植入到正常的输入或参数中,致使程序员的代码被改写,其中SQL注入是改写数据库查询脚本,跨站脚本是改写浏览器的可执行脚本,但都可未受权得到用户身份并执行危险操做。不少巨头在此跌过跟头,至今不绝。
范例:某知名安全论坛管理员曾由于论坛程序不够严谨,被人用跨站脚本发帖拿走权限。
2000年左右的时候,SQL注入几乎能够入侵一切用户登陆系统。如今状况好多了,但并未绝迹。
其余概念
嗅探侦听,sniffer
互联网数据传输会通过不少设备,经过特定软件截获传输的数据,可能会包括不少的敏感信息,包括不限于网站登陆的账号密码,邮件账号密码等等。
应对策略:http是明文传输,https是加密传输, telnet是明文传输,ssh是加密传输,不少明文传输的协议还有对应加密传输的协议,敏感的浏览和登陆行为尽量使用加密传输方式。
固然,加密传输也存在证书风险,中间人攻击,这是另一个话题,因此仍是要装好的浏览器和安全工具,若是提示证书可能有问题,仍是要当心一点。(提示证书有问题不表明必定有问题,评估一下本身操做的敏感程度)
世界上最大的嗅探侦听都在政府手里,美国有棱镜,中国有敏感词。
权限绕过
系统对权限的受权判断不严谨,被人绕过验证得到权限。
说个范例,好像是windows98吧,具体版本不记得了,出了一个中文输入法权限绕过漏洞,理论上你必须输入账号和密码才能进入系统,可是输入账号的时候能够调用输入法,输入法有个帮助选项,打开帮助找词条能够点击进入浏览器,进入浏览器后就能够直接输入c:\ 了,后面就一马平川,你能够经过浏览器点开cmd命令,而后命令行执行任何操做,系统就彻底在你掌控了。
从整个操做流程而言,几乎没什么技术含量,就是一个设计漏洞,系统验证就被绕过了。
分布式拒绝服务攻击
用超过系统承受能力的请求,流量致使目标系统没法正常响应,实现攻击效果。
这里也包括很是多类型
针对协议弱点的攻击,好比syn flood。实施成本特别低,追溯难度极高,曾经特别流行。
针对流量带宽的攻击
针对应用程序的计算资源的攻击
针对域名解析的攻击
六省断网事件就不用解释了。
前段时间网易也被人打挂了半天,至今也没个啥说法出来。你去看梦幻西游苹果市场的畅销榜,从冲榜到第一名开始,梦幻西游连续几个多月一直是第一名,其中只有一天是第二名,就是那天,被人打挂了几个小时。
目前黑产这个领域规模特别大,以攻击威胁收保护费是常见手段,听说不少p2p金融公司都交过保护费了。这个我也只能说这么多,理由很简单,我真惹不起。
缓冲区溢出
漏洞挖掘的一个重要几乎领域,原理是由于程序中对数据段的长度判断不够严谨,致使数据段超出内存数据区间,从而覆盖代码执行区间,若是数据中在溢出点处编写了精心设计的代码,黑客的这部分代码就会以相关服务程序的权限执行,从而实现黑客目的。
大部分系统级别的高危漏洞来自于缓冲区溢出,苹果越狱的某些版本技术彷佛也来自于缓冲区溢出技术的实现。
但由于这个太技术化,可能普通用户理解起来会比较困难。
综述
黑客入侵更可能是一种思惟方式,正常的程序员写程序是认为用户会正常请求和访问他的系统,对异常的处理都是很是简单的,而黑客的想法是伪造各类不正常的请求,欺骗系统,致使系统脱离其正常的执行流程,从而得到黑客所指望的结果,好比获取权限,或获取资料。
今天讲这些以科普为主,面向感兴趣的非技术人员,技术名词不展开,有兴趣的能够去自行搜索。
其余一些名词如APT,我本身也不是能解释哦很清楚,也建议自行搜索。
电影里那些啪啦啪啦敲键盘试密码的,都不是黑客,黑客没那么SB。大部分入侵不须要去试密码。须要试的人家用程序去撞库。
其余安全理念
基于社交网络和公开信息,进行诈骗的行为愈来愈常见,我的建议以下
一、不要太频繁暴露我的行踪,特别是有钱阶级。
二、不要过于频繁暴露我的隐私。
三、对一些可疑的信息要作屡次验证,特别是借钱信息,不是说不信任朋友,而是你要当心你朋友可能被盗号了。
不少人不在意这个,以为本身安全意识很高,不怕人骗,你的亲戚朋友呢?你的父母呢?
举个例子:若是一个骗子,经过微博或微信朋友圈,知道你的行程,上飞机了,又知道航班晚点了,又知道你所在的公司和出行的目的,给你父母打电话,说是你同事,和你一块儿出差去哪里作什么,如今你出了车祸急需用钱进手术室,你父母第一时间反应,给你打电话,你在飞机上收不到,你父母又不知道航班晚点了,他们什么感受?是否是会火烧眉毛的去给骗子付款!
不要觉得这样的事情不会发生。
我以前没少在朋友圈得瑟商务舱的旅程,可是我绝对不会在飞机出发前发这些照片,而必定是落地后甚至一两天后。若是你想炫耀一些行程,我建议,留一些时间差。