一网打尽!每个程序猿都该了解的黑客技术大汇总

幸运草
幸运草
幸运草
896
文章
3
评论
2020年3月31日21:42:38 评论 365
一网打尽!每个程序猿都该了解的黑客技术大汇总

上面这个段子估计很多朋友都看过,程序员被黑过无数次,在其他人眼中,仿佛我们需要写得了木马,翻得了围墙,修得了电脑,找得到资源,但凡是跟计算机沾点边的,咱都得会才行。

一网打尽!每个程序猿都该了解的黑客技术大汇总

段子归段子,言归正传,对于咱们程序员来说,多多少少了解一些信息安全的技术知识还是大有裨益的,不仅能了解一些计算机和网络的底层原理,也能反哺我们的开发工作,带着安全思维编程,减少漏洞的产生。

本文内容:

- 网络安全
  - SQL注入
  - XSS攻击
  - CSRF攻击
  - DDoS攻击
  - DNS劫持
  - TCP劫持
  - 端口扫描技术
- 系统安全
  - 栈溢出攻击
  - 整数溢出攻击
  - 空指针攻击
  - 释放后使用攻击
  - HOOK
  - 权限提升
  - 可信计算
- 密码学
  - 对称加密 & 非对称加密
  - 秘钥交换技术
  - 信息摘要算法
  - 数据编码技术
  - 多因子认证技术

信息安全大体可分为三个大的分支:

  • 网络安全
  • 系统安全
  • 密码学

下面轩辕君就这三个领域分别罗列一些常用的黑客技术,部分技术是存在领域交叉的,就将其划入主要那个类别里去了。

网络安全

SQL注入

Web安全三板斧之首,大名鼎鼎的SQL注入。

一网打尽!每个程序猿都该了解的黑客技术大汇总

SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作,达到其邪恶的目的。

而如何让Web服务器执行攻击者的SQL语句呢?SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器,后端服务器如果未做输入安全校验,直接将变量取出进行数据库查询,则极易中招。

一网打尽!每个程序猿都该了解的黑客技术大汇总

举例如下:

对于一个根据用户ID获取用户信息的接口,后端的SQL语句一般是这样:

select name,[...] from t_user where id=$id

其中,$id就是前端提交的用户id,而如果前端的请求是这样:

GET xx/userinfo?id=1%20or%201=1

其中请求参数id转义后就是1 or 1=1,如果后端不做安全过滤直接提交数据库查询,SQL语句就变成了:

select name,[...] from t_user where id=1 or 1=1

其结果是把用户表中的所有数据全部查出,达到了黑客泄露数据的目的。

以上只是一个极简单的示例,在真实的SQL注入攻击中参数构造和SQL语句远比这复杂得多,不过原理是一致的。一网打尽!每个程序猿都该了解的黑客技术大汇总

防御手段:对输入进行检测,阻断带有SQL语句特征对输入

重点关注:前端工程师、Web后端工程师

XSS攻击

Web安全三板斧之二,全称跨站脚本攻击(Cross Site Scripting),为了与重叠样式表CSS区分,换了另一个缩写XSS。

一网打尽!每个程序猿都该了解的黑客技术大汇总

XSS攻击的核心是将可执行的前端脚本代码(一般为JavaScript)植入到网页中,听起来比较拗口,用大白话说就是攻击者想让你的浏览器执行他写的JS代码。那如何办到呢?一般XSS分为两种:

反射型

一网打尽!每个程序猿都该了解的黑客技术大汇总

1、攻击者将JS代码作为请求参数放置URL中,诱导用户点击
示例:

http://localhost:8080/test?name=<script>alert("you are under attack!")</script>

2、用户点击后,该JS作为请求参数传给Web服务器后端

3、后端服务器没有检查过滤,简单处理后放入网页正文中返回给浏览器

4、浏览器解析返回的网页,中招!

存储型

一网打尽!每个程序猿都该了解的黑客技术大汇总

上述方式攻击脚本直接经服务器转手后返回浏览器触发执行,存储型与之的区别在于能够将攻击脚本入库存储,在后面进行查询时,再将攻击脚本渲染进网页,返回给浏览器触发执行。常见的套路举例如下:

1、攻击者网页回帖,帖子中包含JS脚本

2、回帖提交服务器后,存储至数据库

3、其他网友查看帖子,后台查询该帖子的回帖内容,构建完整网页,返回浏览器

4、该网友浏览器渲染返回的网页,中招!

防御手段:前后端均需要做好内容检测,过滤掉可执行脚本的侵入

重点关注:前端工程师、Web后端工程师

CSRF攻击

Web安全三板斧之三,攻击示意图如下:

一网打尽!每个程序猿都该了解的黑客技术大汇总

核心思想在于,在打开A网站的情况下,另开Tab页面打开恶意网站B,此时在B页面的“唆使”下,浏览器发起一个对网站A的HTTP请求。这个过程的危害在于2点:

1、这个HTTP请求不是用户主动意图,而是B“唆使的”,如果是一个危害较大的请求操作(发邮件?删数据?等等)那就麻烦了

2、因为之前A网站已经打开了,浏览器存有A下发的Cookie或其他用于身份认证的信息,这一次被“唆使”的请求,将会自动带上这些信息,A网站后端分不清楚这是否是用户真实的意愿

重点关注:前端工程师、Web后端工程师

DDoS攻击

DDoS全称Distributed Denial of Service:分布式拒绝服务攻击。是拒绝服务攻击的升级版。拒绝攻击服务顾名思义,让服务不可用。常用于攻击对外提供服务的服务器,像常见的:

  • Web服务
  • 邮件服务
  • DNS服务
  • 即时通讯服务
  • ......
一网打尽!每个程序猿都该了解的黑客技术大汇总

在早期互联网技术还没有那么发达的时候,发起DoS攻击是一件很容易的事情:一台性能强劲的计算机,写个程序多线程不断向服务器进行请求,服务器应接不暇,最终无法处理正常的请求,对别的正常用户来说,看上去网站貌似无法访问,拒绝服务就是这么个意思。

后来随着技术对发展,现在的服务器早已不是一台服务器那么简单,你访问一个www.baidu.com的域名,背后是数不清的CDN节点,数不清的Web服务器。

这种情况下,还想靠单台计算机去试图让一个网络服务满载,无异于鸡蛋碰石头,对方没趴下,自己先趴下了。

一网打尽!每个程序猿都该了解的黑客技术大汇总

技术从来都是一柄双刃剑,分布式技术既可以用来提供高可用的服务,也能够被攻击方用来进行大规模杀伤性攻击。攻击者不再局限于单台计算机的攻击能力,转而通过成规模的网络集群发起拒绝服务攻击。

一网打尽!每个程序猿都该了解的黑客技术大汇总

拒绝服务攻击实际上是一类技术,根据具体实施手段的不同,又可以进一步细分:

  • SYN Flood
  • ICMP Flood
  • UDP Flood
  • ......

防御手段:即便是到现在,面对DDoS也没有100%打包票的防御方法,只能靠一些缓解技术一定层面上减轻攻击的威力。这些技术包括:流量清洗、SYN Cookie等等。

重点关注:运维工程师、安全工程师

DNS劫持

当今互联网流量中,以HTTP/HTTPS为主的Web服务产生的流量占据了绝大部分。Web服务发展的如火如荼,这背后离不开一个默默无闻的大功臣就是域名解析系统:

一网打尽!每个程序猿都该了解的黑客技术大汇总

如果没有DNS,我们上网需要记忆每个网站的IP地址而不是他们的域名,这简直是灾难,好在DNS默默在背后做了这一切,我们只需要记住一个域名,剩下的交给DNS来完成吧。

也正是因为其重要性,别有用心的人自然是不会放过它,DNS劫持技术被发明了出来。

DNS提供服务用来将域名转换成IP地址,然而在早期协议的设计中并没有太多考虑其安全性,对于查询方来说:

  • 我去请求的真的是一个DNS服务器吗?是不是别人冒充的?
  • 查询的结果有没有被人篡改过?这个IP真是这个网站的吗?
一网打尽!每个程序猿都该了解的黑客技术大汇总

DNS协议中没有机制去保证能回答这些问题,因此DNS劫持现象非常泛滥,从用户在地址栏输入一个域名的那一刻起,一路上的凶险防不胜防:

  • 本地计算机中的木马修改hosts文件
  • 本地计算机中的木马修改DNS数据包中的应答
  • 网络中的节点(如路由器)修改DNS数据包中的应答
  • 网络中的节点(如运营商)修改DNS数据包中的应答
  • ......
一网打尽!每个程序猿都该了解的黑客技术大汇总

后来,为了在客户端对收到对DNS应答进行校验,出现了DNSSEC技术,一定程度上可以解决上面的部分问题。但限于一些方面的原因,这项技术并没有大规模用起来,尤其在国内,鲜有部署应用。

一网打尽!每个程序猿都该了解的黑客技术大汇总

再后来,以阿里、腾讯等头部互联网厂商开始推出了httpDNS服务,来了一招釜底抽薪,虽然这项技术的名字中还有DNS三个字母,但实现上和原来但DNS已经是天差地别,通过这项技术让DNS变成了在http协议之上的一个应用服务。

重点关注:安全工程师、后端工程师、运维工程师

TCP劫持

一网打尽!每个程序猿都该了解的黑客技术大汇总

TCP是TCP/IP协议族中非常重要的成员,位于传输层。协议本身并没有对TCP传输的数据包进行身份验证,所以我们只要知道一个TCP连接中的seq和ack后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为TCP会话劫持(TCP Session Hijacking)

一网打尽!每个程序猿都该了解的黑客技术大汇总

TCP劫持技术是一种很老的技术,1995年被提出来后深受黑客青睐。不过近些年来,随着操作系统层面的安全机制增强和防火墙软件的检测能力提升,这种基础的攻击方式越来越容易被发现,慢慢的淡出了人们的视野。

重点关注:安全工程师、运维工程师

端口扫描技术

端口扫描是黑客经常使用的一种技术,它一般是作为网络攻击的前期阶段,用于探测目标开启了哪些服务,以便接下来发起针对该服务的攻击。

记得刚刚学习网络安全的时候,大家总会没事拿出工具来扫一扫,虽然扫了之后就没有了下文,也总是乐此不疲,在不懂的人面前秀一把自己的“黑客”能力。

一网打尽!每个程序猿都该了解的黑客技术大汇总

以TCP/IP协议族构建的互联网,网络服务总是离不开端口这个概念,不管是TCP也好,UDP也罢,应用层都需要一个端口号来进行网络通信。而我们常见的服务端口有:

  • 21: FTP文件传输服务
  • 25: SMTP邮件服务
  • 53: DNS域名解析系统服务
  • 80: HTTP超文本传输协议服务
  • 135: RPC远程过程调用服务
  • 443: HTTPS
  • 3389: MSRDP微软远程桌面连接服务
  • ......

端口扫描都原理,对于基于UDP的服务,发送对应服务都请求包,查看是否有应答;对于基于TCP的服务,尝试发起三次握手发送TCP SYN数据包,查看是否有应答。

如果远端服务器进行了响应,则表明对端服务器上运行了对应的服务,接下来则是进一步探知对端服务器使用的操作系统、运行的服务器程序类型、版本等等,随即针对对应的漏洞程序发起网络攻击。

一网打尽!每个程序猿都该了解的黑客技术大汇总

由此可见,为安全着想,在互联网上应当尽可能少暴露信息,关闭不需要的服务端口。

防御手段:使用防火墙等安全产品,即时发现和阻断非法的扫描探测行为。

重点关注:运维工程师、安全工程师

[为防抄袭,手动插入文字水印,敬请谅解。本文来自微信公众号:编程技术宇宙]

系统安全

系统安全版块中的技术,一般是指攻击发生在终端之上,与操作系统息息相关。

栈溢出攻击

栈溢出攻击历史悠久,也是发生在系统侧最基础的攻击。

现代计算机基本上都是建立在冯-诺伊曼体系之上,而这一体系有一个最大的问题就是数据和指令都保存在存储器中。

一网打尽!每个程序猿都该了解的黑客技术大汇总

在计算机的内存中,既包含了程序运行的所有代码指令,又包含了程序运行的输入输出等各种数据,并没有一种强制的机制将指令和数据区分。因为对于计算机来说它们都是一样的二进制0和1,大部分时候都是靠程序按照既定的“规则”去解释理解内存中的这些0和1。而一旦这些“规则”理解错误,事情就变得糟糕起来。

具体到我们现代CPU和OS,不管是x86/x64处理器,还是ARM处理器,均采用了寄存器+堆栈式的设计,而这个堆栈中,既包含了程序运行各个函数栈帧中的变量数据等信息,还保存了函数调用产生的返回地址。

一网打尽!每个程序猿都该了解的黑客技术大汇总

所谓栈溢出攻击,则是通过一些手段输入到栈中的缓冲区中,冲破缓冲区原有的界限,将存储返回地址的位置覆盖为一个数值,使其指向攻击者提前布置的恶意代码位置,劫持了程序的执行流程。

防御手段:现代操作系统针对栈溢出攻击已经有非常成熟的应对方案,像Linux平台的Stack Canary,Windows平台的GS机制等等,程序员需要做的就是充分利用这些机制。

重点关注:C/C++工程师

整数溢出攻击

和栈溢出攻击一样,整数溢出攻击也是属于溢出类攻击,不一样的是溢出的目标不是栈中的缓冲区,而是一个整数。

一网打尽!每个程序猿都该了解的黑客技术大汇总

我们知道,计算机数值以补码的方式表示和存储。在表示一个有符号数时,最高位是用来表示这是一个正数(0)还是一个负数(1),比如对于一个16位的short变量而言,+1和-1的表示方法如下:

+1: 0000 0000 0000 0001
-1: 1111 1111 1111 1111

一个16位的short变量表示的范围是-32768~32767,现在思考一个问题,假如一个short变量的值现在是32767:

32767: 0111 1111 1111 1111

如果现在对其执行+1操作,将变成:

1000 0000 0000 0000

而这正是-32768的补码形式!

试想一下,如果这个变量名字叫length作为strcpy参数,或是叫index作为数组的下标,整数的溢出将导致可怕的后果,轻则进程崩溃,服务宕机,重则远程代码执行,拿下控制权。

重点关注:所有程序员

空指针攻击

空指针一般出现在指针没有初始化,或者使用new进行对象创建/内存分配时失败了,而粗心的程序员并没有检查指针是否为空而进行访问导致的攻击。

一网打尽!每个程序猿都该了解的黑客技术大汇总

大多数情况下,这将导致内存地址访问异常,程序会崩溃退出,造成拒绝服务的现象

一网打尽!每个程序猿都该了解的黑客技术大汇总

而在一些特殊的情况下,部分操作系统允许分配内存起始地址为0的内存页面,而攻击者如果提前在该页面准备好攻击代码,则可能出现执行恶意代码的风险。

释放后使用攻击

释放后使用Use After Free意为访问一个已经释放后的内存块。较多的出现在针对浏览器的JavaScript引擎的攻击中。

正常情况下,一个释放后的对象我们是没法再访问的,但如果程序员粗心大意,在delete对象后,没有即时对指针设置为NULL,在后续又继续使用该指针访问对象(比如通过对象的虚函数表指针调用虚函数),将出现内存访问异常。

一网打尽!每个程序猿都该了解的黑客技术大汇总

在上面的场景中,如果攻击者在delete对象后,马上又new一个同样内存大小的对象,在现代操作系统的堆内存管理算法中,会有很大概率将这个新的对象放置于刚刚被delete的对象的位置处。这个时候还通过原来对象的指针去访问,将出现鸠占鹊巢,出现可怕的后果。

养成好的编程习惯,对象delete后,指针及时置空。

重点关注:C/C++工程师

HOOK

HOOK原意钩子的意思,在计算机编程中时常用到,用来改变原有程序执行流程。

一网打尽!每个程序猿都该了解的黑客技术大汇总

在那个互联网充斥着流氓软件的年代,流行着一种键盘记录器的木马,用于记录用户键盘的输入,从而盗取密码,这其中QQ曾经是重灾区。

一网打尽!每个程序猿都该了解的黑客技术大汇总

而实现这一功能的技术就是用到了HOOK技术,钩到了键盘敲击的事件消息。

除了消息HOOK,用得更多的是程序执行流程层面的HOOK。恶意代码被注入目标程序后,在函数入口处添加跳转指令,导致执行到此处的线程转而执行攻击者的代码,实现修改参数、过滤参数的目的。

一网打尽!每个程序猿都该了解的黑客技术大汇总

HOOK技术不仅为黑客使用,安全软件用的更多,安全软件需要守护整个系统的安全防线,通过HOOK技术在各处敏感API处设立检查,从而抵御非法调用攻击行为。

一网打尽!每个程序猿都该了解的黑客技术大汇总

另外,软件补丁技术中也时常用到HOOK技术,软件厂商发现原来程序漏洞后,通过HOOK,修改既有程序的执行逻辑,从而达到修复漏洞的目的。

重点关注:C/C++工程师

权限提升

现代操作系统都对运行于其中的进程、线程提供了权限管理,因为安全攻击无可避免,而权限的限制作为一道颇为有效的屏障将程序被攻击后的影响减少到最小。

换句话说,即便我们的程序因为漏洞原因被攻击执行了恶意代码,但因为操作系统的权限控制,恶意代码能干的事情也有限。

一网打尽!每个程序猿都该了解的黑客技术大汇总

就像一枚硬币总有两个面,有权限限制,自然而然就有权限提升。攻击者想要做更多事情,就得突破操作系统的限制,获取更高的权限。

在Windows上,经常叫获得管理员权限。

在Linux上,经常叫获得Root权限,手机Root也是这个意思。

在iOS上,经常叫“越狱”。

一网打尽!每个程序猿都该了解的黑客技术大汇总

权限提升的方式五花八门,总体来说,程序执行的时候,所属进程/线程拥有一个安全令牌,用以标识其安全等级,在访问资源和执行动作的时候由操作系统内核审核。

权限提升的目标就是将这个安全令牌更改为高等级的令牌,使其在后续访问敏感资源和执行敏感动作时,凭借该令牌可以通过系统的安全审核。

一网打尽!每个程序猿都该了解的黑客技术大汇总

而更改这个安全令牌的惯用伎俩便是利用操作系统内核漏洞(如前面所述的栈溢出、整数溢出、释放后使用等)执行攻击者的代码,实现安全令牌的篡改。

重点关注:安全工程师

可信计算

安全攻击无处不在,不仅应用程序的环境不可靠,甚至连操作系统内核的环境也充满了风险。

如果一段程序(比如支付)必须在一个极度绝密的环境下执行,该怎么办?

一网打尽!每个程序猿都该了解的黑客技术大汇总

可信计算的概念被安全研究者提了出来,根据百科的解释:

可信计算/可信用计算(Trusted Computing,TC)是一项由可信计算组(可信计算集群,前称为TCPA)推动和开发的技术。可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性 [1]  。签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据。

可信计算中一个非常重要的概念是可信执行环境TEE(Trusted Execution Environment),简单来说就是在现有的计算机内部的世界里,再构建一个秘密基地,专门用于运行极度机密的程序。该秘密基地甚至连操作系统都轻易无法访问,更别说操作系统之上的应用程序了。

在移动端,ARM芯片占据了主流市场,ARM芯片提供了名为TrustZone技术的技术,在硬件层面新增一个可信计算环境,包含一个可信OS,和一些可信APP,和普通环境在硬件层面隔离,处理器内部进行通信完成两个世界的交互。

一网打尽!每个程序猿都该了解的黑客技术大汇总

重点关注:终端系统工程师

密码学

由于数据传输的过程中会遇到信息泄漏、篡改、伪造的风险,加密技术应运而生。

对称加密 & 非对称加密

有加密就有解密,根据加密过程使用的密钥和解密过程使用的密钥是否相同,将加密算法分为了两个大类:对称加密和非对称加密。

最早出现的加密技术是对称加密

  • 对称加密:加密密钥和解密密钥一致,特点是加密速度快、加密效率高。常用的对称加密算法有:
    • DES
    • AES
    • RC4

这种加密方式中有一个非常关键的问题是,解密方需要拿到密钥才能进行解密,而密钥钥匙通过网络传输又会面临不安全的风险,这成了一个鸡生蛋,蛋生鸡的问题。

于是通信技术上一个划时代的技术被发明了出来,这就是非对称加密!

一网打尽!每个程序猿都该了解的黑客技术大汇总
  • 非对称加密:加密密钥与解密密钥不一致,特点是算法较复杂,但安全性高。非对称加密的密钥一般分为公钥和私钥,公钥公开,私钥需保密。常用于数字认证,如HTTPS中握手阶段的服务器认证。常用的非对称加密算法有:
    • RSA
    • DH
    • ECC(椭圆曲线加密)

可以毫不夸张的说,没有了非对称加密,互联网绝不会发展到今天这样的高度。

秘钥交换技术

在互联网通信中,有加密就有解密,解密自然就需要密钥,那如何把这个密钥告诉对方呢?密钥交换算法就是要解决这个问题:如何安全的将密钥传输给对方?

一网打尽!每个程序猿都该了解的黑客技术大汇总

回头看看上面提到的非对称加密,它就可以解决这个问题:

  1. 服务器负责生成一对公私钥,公钥告诉客户端,私钥自己保存
  2. 客户端拿到公钥后,使用它来对后续通信将要使用的对称加密算法密钥进行加密传输
  3. 服务端收到后使用私钥解密,拿到这个密钥
  4. 以后双方可以通过对称加密进行传输通信

上面这个例子并不只是举例,在早期版本的HTTPS中,就是通过这种方式来进行密钥交换。而后来的版本中,另外一种叫DH及其变种的密钥交换算法用的越来越多。

一网打尽!每个程序猿都该了解的黑客技术大汇总

DH全称Diffie-Hellman,是两位数学家的名称构成,这种算法的核心是完全依靠数学运算实现密钥的交换。

信息摘要算法

信息摘要算法其实不算是一种加密算法,加密的前提是可以通过解密还原,而信息摘要算法的目的并不是对数据进行保护,也无法解密还原。

在一些语境下,信息摘要我们听得少,听的更多的名词是哈希

信息摘要算法的目的之一是校验数据的正确性,算法公开,数据通过该算法得出一个摘要值,收到数据后通过该算法计算出这个摘要,前后对比就知道是否有被篡改。

常用的信息摘要算法有:

  • MD5
  • SHA1
  • SHA256

数据编码技术

严格来说,数据编码技术也不算是加密算法,因为其目的同样不是为了加密,而只是为了将数据编码以便传输。

一网打尽!每个程序猿都该了解的黑客技术大汇总

最常见的编码算法就是base64了,多用于编码二进制的数据,将不可见的字符编码后转换成64个常见字符组成的文本,便于打印、展示、传输、存储。如邮件eml格式中,将附件文件通过base64编码。

一网打尽!每个程序猿都该了解的黑客技术大汇总

除了base64,还有常用于比特币钱包地址编码的base58。base家族还有base85、base92、base128等众多算法。它们的区别不仅仅在于参与编码的字符集不同,算法执行也是各有千秋。

多因子认证技术

说到认证,最常出现的莫过于登录、支付等场景。传统的认证技术就是密码技术,但随着网络攻击的日益猖獗以及互联网渗透到人们生活的方方面面,传统密码技术的安全性不足以满足互联网的发展。

一网打尽!每个程序猿都该了解的黑客技术大汇总

多因子认证技术意为在传统密码认证之外,引入其他认证技术进行补充,使用2种及以上的方式共同完成认证。随着人工智能技术的发展,基于生物特征的认证技术突飞猛进:

  • 指纹认证
  • 虹膜认证
  • 人脸识别
  • ......
一网打尽!每个程序猿都该了解的黑客技术大汇总

这个世界从来不缺先行者,多因子认证看上去很复杂,好在已经有不少头部企业搭建了认证平台,对于绝大多数企业,需要做的只是下载SDK,调用API而已。

目前国内外主流的多因子认证平台有三大派系:

  • FIDO,国际标准,在国内,翼支付、百度钱包、京东钱包、微众银行等都已经应用

  • IFAA,阿里系,凭借阿里在电商领域的优势,也吸引了众多追随者。

  • TUSI,腾讯系

总结

本文罗列了一些常见的信息安全技术,主要分网络安全、系统安全和密码学三个领域展开。

信息安全技术不仅仅是安全工程师的事情,作为一位程序员,了解这些技术将帮助我们更好的Build The World!

本文来源于:一网打尽!每个程序猿都该了解的黑客技术大汇总-变化吧
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

转载请注明:{{title}}-变化吧
  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 赞助本站
  • 支付宝扫一扫
  • weinxin
幸运草
网络威胁无处不在,其实你上网形同裸奔 安全防范

网络威胁无处不在,其实你上网形同裸奔

手机APP如何在电脑上使用?手游/手机APP在电脑上运行的方法我们电脑绝大多数都是Windows操作系统,而手机APP一般都是运行在安卓或者IOS系统中的,所以正常情况下,我们在电脑根本无法安装并运行手机APP,不过我们可以通过第三方软件实现,那就是安卓模拟器,通过安卓模拟器可以实现安装所有的安卓手机APP,其中就包括各…“随着互联网+持续火热,各类新型互联网创业公司不断诞生,越来越多传统企业触网,由于安全意识和安全能力的相对薄弱,在信息安全问题上面临较大的风险。与此同时,各类病毒更加隐蔽,扩散速度更快,给信息安全防范提出了更大的挑战。”中国互联网安全领袖峰会组委会表示,“因此,我们针对当前的信息安全情况对全国主要城市的近千位企业CTO进行了深入调查,以提升企业的信息安全意识、信息安全威胁防范能力。” 据悉,中国互联网安全领袖峰会是由中央网信办网络安全协调局指导,腾讯公司、中国电子技术标准化研究院、中国信息安全认证中心、中国金融认证中心共同主办的。 参与调查的企业认为,要构筑信息安全防护网,除了“提升全员的安全意识”和“发展专业人才技术”外,行业交流与合作的机制也是更有效保障“生态”安全的重要手段,在生态中共生,在协作中强大,这与本届互联网安全领袖峰会所倡导的“安全新生态”理念也不谋而合。腾讯公司副总裁丁珂在主题演讲《开放融合,构建“安全+新生态圈”》中指出,“加速互联网产业与安全的深度融合,构建互联网安全新生态,也正是首届中国互联网安全领袖峰会举办的初衷。” 90%企业无网不活 近半遭遇信息安全事故 国内首份《CTO企业信息安全调查报告》数据显示,超过90%的企业完全或高度依靠互联网开展业务,科技/互联网、金融、电信是对互联网依存度最高的行业,而其中创业型小微企业(50人以内)更甚,互联网成为这些类型企业发展的重要根基。 现代经济对互联网的依存度到达前所未有的高度,各个行业不论规模大小,都离不开互联网,由此也引发了一系列信息安全问题。今年以来,苹果、网易等众多企业相继“中枪”,哪怕一个很小的安全事故或者漏洞,都会导致整个服务链条的崩溃,牵连无数企业和用户。 调查数据显示,超过45%的企业在过去三年曾发生过不同量级的信息安全事故,甚至不乏我们所熟悉的知名企业;大型企业(规模超500人)与电信行业尤其是重灾区,分别有超过57%和64%的企业发生信息安全事故;这些安全事故直指商业机密、用户信息等核心信息资产。而目前仅有15%的企业认为自己的安全措施完全可以防范风险,仍然只有25%的企业拥有“客户端/服务器/网关/邮件/网络层防毒系统”多层面的防护系统。 1/4企业没有信息安全团队 1/3企业没有预算 《CTO企业信息安全调查报告》显示,企业在发生事故后安全团队组建的比例和资金投入都远高于尚未发生过安全事故的企业,分别比未发生事故的企业高出近13%和15%。 然而亡羊补牢不仅无法挽回事故所带来的损失,团队也承担着巨大压力。对于企业安全事故,尽管有接近75%的威胁都被认为来自企业外部,但有80%的公司管理层认为事故责任应由安全团队承担,其中有20%管理层甚至直接归咎于企业CTO。 不过,从诸多过往的信息安全事故来看,企业信息安全远非CTO一己之力就可以应对,在很大程度上还取决于公司在团队和预算方面的投入。 调查数据显示,23.9%的企业没有信息安全团队,30.3%的企业每年基本上没有信息安全预算,小微企业尤其是小微金融企业在这方面更加抠门,接近40%的小微企业(100人以下)没有信息安全团队和资金预算,超过50%的金融企业没有任何安全方面的投入。与之相对的,互联网与电信行业在信息安全建设方面则已经有较好的基础,这些企业超过76%有信息安全方面的专项投入。 事实上,面对广泛认知的病毒、木马、网络入侵、系统攻击等安全威胁,虽然70%企业在信息安全方面已有所投入,但参差不齐,目前有57%以上的安全从业者并未参加过相关的培训或者沙龙。 信息安全隐患升级 36%企业渴望安全新生态 “互联网+”推动了产业链和生态级互联互通,给企业带来了更大的能量,与此同时更大的脆弱也随之产生。 48%的企业认为信息安全不再是一两个人或系统就能解决的,安全隐患是变化的、动态的、不可控的。64%的企业认为信息安全频频发生是由于“网络技术的进一步发展”,52%的企业认为是信息化加剧了信息安全隐患。 让信息安全服务于“互联网+”已成为许多企业的共识,近7成企业认为“应该引起高度重视,让信息安全服务于互联网+”。而创造“智慧互联,PC、手机、Pad、车联网、智能家居、智能穿戴设备的全场景安全”和“求同存异,打破不同企业、行业的边界,形成跨界融合”则成为最受认可的安全理念。 参与调查的企业认为,要构筑信息安全防护网,除了“提升全员的安全意识”和“发展专业人才技术”外,行业交流与合作的机制也是更有效保障“生态”安全的重要手段,在生态中共生,在协作中强大,这与本届互联网安全领袖峰会所倡导的“安全新生态”理念也不谋而合。iphone照片导入电脑的方法iphone是美国苹果公司研发的一款智能手机,在国内受到了很大的欢迎,但是很多朋友不知道怎么将iphone照片导入电脑,其实操作方法很简单,下面小编就来告诉你iphone照片导入电脑的方法。 前几天小编收到一个用户的求助信息,询问小编苹果手机怎么将照片导入电脑…
学会与网络威胁共存 安全防范

学会与网络威胁共存

网络威胁就像感冒或者其他什么感染性病毒,谁也无法避免。但这是生活的一部分,它们就在那里,伺机给你来上一下,让你的生活变得有那么点点艰难。 同时,你又不能以牺牲业务发展的方式全情投入到防范潜在风险上。你必须在不干扰现有业务,不妨碍未来发展的前提下保护好自己。这意味着,你得采取成熟的风险管理方法,明智地分配预算,让自己的IT团队有余力支持新工作方式的同时还能为公司提供最大限度的防护。 了解攻击链 在打算与风险共存之前,你得先了解面对的风险到底是什么样子的,描绘出风险演变成攻击的可能路线图。老牌安防公司洛克希德向军方寻求答案,借鉴了军方“杀伤链”的概念,也就是最初用于描述运动攻击结构的概念。 由Websense、石软(Stonesoft)与雷神(Raytheon)新组成的安全公司Forcepoint描述的“杀伤链”(Kill Chain)则与洛克希德略有不同: Forcepoint 七步杀伤链 1. 侦察:攻击前期,恶意行为人将收集尽可能多的情报,摸清目标网络和组织架构情况 --> 2. 诱骗:洛克希德描述为“武器化”,但Forcepoint认为这一阶段的特征在于诱饵的创建,比如电子邮件、社交媒体帖子,或者其他貌似合法链接的发布内容 --> 3. 重定向:洛克希德的杀伤链中称这一步为“投放”。Forcepoint则强调,放出的诱饵会将用户重定向到包含了漏洞利用链接的页面上去 --> 4. 漏洞利用:这一阶段,漏洞利用工具包将被用于扫描目标系统的弱点,谋取进入目标系统的权限。网络钓鱼攻击者可能会获取到用户凭证。恶意攻击载荷也许会勾取到未打补丁软件产品中的某个漏洞 --> 5. 安装/释放文件:漏洞利用工具包找到系统弱点,释放恶意软件,感染系统,然后搜寻可提取的数据 --> 6. 命令与控制:恶意载荷回连攻击者,创建控制信道,让攻击者得以借由控制信道操纵恶意软件,执行最终命令 --> 7. 在目标上的动作:索钱环节。攻击者可利用恶意软件在目标系统里为所欲为,包括盗取数据、偷取知识产权,或者窃取内部资源等等。 区分不同种类的攻击 将第二阶段描述为诱骗,并采取灵活的应对措施,可以解决洛克希德模型中一个广受诟病的问题点——只注意到恶意软件而排除了网络钓鱼攻击。不是所有的威胁都会走完所有步骤,而且攻击阶段有可能会循环往复,大大延伸了杀伤链7步过程的内容。这些步骤为网络罪犯提供了成百上千种在相当长的时期内创建执行APT的方法。 安全从业人员想保护自家公司不受威胁侵害,就得从漫天方法中找出针对性的那几个,跟大海捞针,还是捞一把针,也差不多了。他们必须识别不同类型的攻击,在必要的地方区分开来,或者找出单个来看不显眼,但结合上下文就昭示着大事件的那些小事件之间的联系。 想弄清当前状态,工具是必需的。事件关联引擎这种好工具是必备品,但它还得用在寻找正确的事件上。 高级安全团队能走得更为深入,将工具层当做其他统计分析工具的数据源,对网络正常行为进行建模。这将有助于安全团队更容易地检测异常行为。但这不是一蹴而就的事,模型成熟度是需要训练的。 通观全局,事无巨细全盘了解,有时候是难以完成的任务。总有些地方是观察不到的,总有些小事件无法关联到一起。 安全团队的预算优先权 如果同时关注所有事件是不可能完成任务,那么搞个分诊台可能是最经济有效的长远之计。有头脑的公司会给自己跨越攻击和技术的网络安全运营设定优先级,好钢用在刀刃上。也就是弄个镜头来帮自己聚焦到真正重要的事务上。 先从将你的安全活动框进一个实际的安全模型中开始,让它们符合一个真正专注于IT安全的框架。美国国家标准技术研究所(NIST)安全框架是首选。还有一些政府工具和私人实践操作可以帮助公司企业将其他专业领域的框架映射到NIST中。这里说的其他框架包括:从风险管理角度出发的COSO,国际信息系统审计协会ISACA用来进行IT管控的COBIT,存储信用卡数据的PCI-DSS,美国医疗业务的HIPPAA,美国联邦政府安全评估和检测标准方法FedRAMP。 所有这些都需要外部控制器接口(PCI)映射到NIST框架中。PCI能耦合所有第三方要求和内部业务需求,让你可以明确地选择放置安全控制的地方。这一做法的重点在于理解该怎样审慎而明智地将你的安全工具预算发挥最大效益。一个好的风险评估,结合对安全工具特点的理解,能帮助首席信息安全官(CISO)理顺安全支出的优先级。 但长期来看,只做到这些或许还不足够。攻击者数量永远比防御者多,资金支持也更雄厚。这是一场越来越难以赢得的猫鼠游戏。依靠各款单项最佳产品的组合会引发警报和网络噪声的大爆发,只会增加复杂性而不是让你的安全态势更明朗。在非常现实的意义上,安全行业目前处于一种只见树木不见森林的境地,不能及时提供可靠、可行的数据供IT人士更快地抓住威胁。一些网络防御提供商已经意识到了这一点,正在转向用更全面的方法来更快更准确地从噪音中分离出真正的威胁来。 在一些低风险的领域,可用为期1年的员工培训对付过去,然后再推出技术解决方案进行强化,提供更多的防护。 利用自动化分析打磨直觉判断 人的因素是很重要的。工具可以提供合适的数据,但如何解释它们仍然需要敏锐的眼光。团队中有那么一两个很棒的分析师简直价值千金。随着安全实践不断进化发展,分析师将会更多地利用自动化和分析补完他们的直觉。 但要达到这么复杂的水平,外部威胁数据和内部工具的结合不能少。我们将见证更多的信息共享。美国的ISACS已经让信息安全威胁共享变得更容易了。自动化、结构化的信息共享也正在兴起——采用Facebook家威胁交换(ThreatExchange)这样的API(应用编程接口)驱动的服务,以及描述新兴 安全事件的分类法和协议(STIX/IODEF/RID)。还有VERIS事件记录语言——能让我们在事发后吸取经验教训的语言。
2020年7种最大的网络安全威胁 安全防范

2020年7种最大的网络安全威胁

计算机盲打的技巧与方法【听看打练习】盲打不是几天就能练出来的。 首先你要把键盘上字母和数字的位置背下来。 再有严格遵照正规指法练习(就是哪个指头负责哪片键盘区)。 每个字都要按照上面的要求打出来,一个月是要的。 最无痛苦和最快的方法就是找人聊天,还解闷,还能练习,还快,聊上瘾后2个月左右就很快了…在整个2019年,网络安全一直是一个主要问题,随着组织开始越来越依赖IT,这仍然是一个严重的问题。尽管大多数公司现在已经意识到网络安全的重要性,但许多公司仍未采取必要的措施来充分保护它们。在本文中,我们将探讨2020年可能遇到的安全威胁。 1、缺乏网络安全教育 对任何企业而言,最大的网络威胁可能是公司内部对网络安全的知识和了解不足。如今,数字革命正在影响大小公司中员工的工作习惯。随着越来越多的员工在日常工作中使用互联技术,比以往任何时候都重要的是确保所有员工都知道他们面临的网络安全风险以及如何以增强安全性的方式开展工作。 2、数据泄露的威胁 个人数据是黑客的主要攻击目标,数据泄露的威胁将继续是企业在未来几年中将面临的最大问题之一。这意味着公司需要确保端到端的个人数据安全,从发送到个人数据到安全处理的整个过程。SSL证书,加密数据存储,逻辑访问,密码管理以及Web应用程序的快速修补和更新在此领域至关重要。 3、技能短缺 网络安全的复杂性意味着越来越多的组织正在使用高技能的安全专家提供服务。不幸的是,由于这些专业人员短缺,许多公司在需求最大时就存在相当大的技能缺口。 作为响应,许多公司现在正在实现使用智能,自动化安全工具的使用,这些工具使用先进的技术来扫描和阻止企图入侵,感染或其他形式的攻击,例如DDoS。这些服务通常可以由您的服务商提供。 4、 云的威胁 大多数企业至少将云用于其IT解决方案的一部分,并且作为存储数据和运行操作流程的场所,云正变得越来越流行。但是,它的受欢迎程度并未被网络犯罪分子保密,并且基于云的威胁的数量持续增加。 2020年,公司将需要维护关键数据的安全性,并确保已具备实时威胁情报,以最大程度地降低数据泄露或关键操作下线的风险。 5、 移动设备风险 对于许多员工而言,智能手机现在已成为必不可少的工作工具,不仅用于访问公司系统,还用于存储重要数据。这使组织面临安全保护连接不良,移动恶意软件和设备盗窃的风险。因此,至关重要的是,必须确保所有可用于访问组织系统的移动设备的安全。一种解决方案是确保通过安全的Web应用程序进行访问。 6、 物联网漏洞 移动设备并不是唯一容易受到攻击的远程设备。物联网设备可能会面临更大的风险,在过去几年中,物联网设备的使用激增,许多组织越来越依赖该设备。它们提供了组织需要保护的许多潜在漏洞,例如不安全的wi-fi连接,硬编码的凭据,未验证的固件和未加密的数据。此外,受到威胁的路由器或网络连接的存储服务器会向攻击者提供对数据的访问权限,并可作为发起更多攻击的平台。在2020年,使用IoT的组织将需要仔细研究如何确保防止这些漏洞。 7、智能恶意软件 网络犯罪分子和网络安全团队之间的战争不再仅仅由人工来进行。这两个阵营现在都使用人工智能(AI)和机器学习作为工具。不幸的是,这意味着网络犯罪分子现在能够创建极其复杂的恶意软件和攻击方法,并且其速度与网络安全公司所面临的挑战相当。这些隐秘攻击之一具有破坏性作用只是时间问题。 结论 2020年,网络安全将继续挑战各种规模的组织。我们将看到诸如数据泄露之类的持续风险仍然是每个人的首要任务,而新技术的发展带来了新的威胁,例如智能恶意软件和IoT漏洞。随着公司扩大对IT的使用,我们还需要保护云和移动设备,同时确保有高技能的IT专家来制定安全策略并教育其他人如何保持安全。推荐 | 3种手机电脑文件互传的方法现如今移动互联网的迅猛发展,速度和便捷是主要功臣。随着日常生活工作需要,手机、iPad、电脑等之间的数据传输越发频繁。你还在用着长长的USB数据线连接电脑传文件?如果是,你就Out了,下面3种手机电脑无线传文件方法,将让从此摆脱传文件,无需数据线的烦恼。快和小…
Web | 渗透神器nmap:端口扫描工具 漏洞扫描

Web | 渗透神器nmap:端口扫描工具

Watcher - 被动Web应用程序漏洞扫描程序Watcher是基于HTTP的Web应用程序的运行时被动分析工具。被动意味着它不会损害生产系统,在云计算,共享托管和专用托管环境中使用它是完全安全的。 它可以检测Web应用程序安全性问题以及操作配置问题。Watcher为漏洞,开发人员快速健全性检查以及审计员P… Nmap,即Network Mapper,最早是Linux下的网络扫描和嗅探工具包。它是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。它可以确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,也用于评估网络系统安全。 1、功能和作用      主动向扫描的网络发送指定的数据包,用来探测目标网络的信息。 找出存活主机 开放的端口和服务 目标主机的操作系统 安全过滤机制 目标主机服务的版本信息 利用脚本扫描漏洞 前期信息收集,为后续分析和利用漏洞打下基础,如果能分析出整个拓扑结构就更好了,对于内网的渗透,就会方便很多。       如果在前期通过信息收集找到了已存在的漏洞,可直接用 EXP 去试试看能不能拿下。 2、安装和下载 点击此处下载(https://nmap.org/download.html) 如果像在命令行使用 nmap 的命令,可以把目录添加到 环境变量 path 里面。 3、Nmap主要参数介绍 Nmap的功能参数主要分为: 目标说明 主机发现 端口扫描 端口说明和扫描顺序 服务与版本探测 脚本扫描 操作系统探测 时间和性能 防火墙/IDS规避和欺骗 输出选项 杂选项 4、TARGET SPECIFICATION 目标说明 -iL  从文件中导出扫描的地址 -iR  随机选择目标进行扫描,num hosts表示数目,设置为0表示一直扫描 --exclude  移除某个扫描地址 --excludefile  从文件中移除某些扫描地址 Nmap 默认发送一个arp的ping数据包来探测目标主机在1-10000范围内所开放的端口 先讲第一个参数 -iL 创建一个txt文件,里面放要扫描的网址或者IP地址 命令可以这么写 nmap -iL C:UserlenovoDesktopscan-IP.txt 第三个参数是 exclude 表示从我扫描的名单中移除 nmap www.baidu.com qhdzz.top --exclude qhdzz.top 表示:一开始准备扫描 baidu.com 和 qhdzz.top ,后面移除了qhdzz.top,就不扫描它了。可以用于一个扫描列表中的白名单。 5、 HOST DISCOVERY 主机发现 -sL  列表扫描,仅将指定的目标IP列举出来,不进行主机发现 -sn  和-sP一样,只利用Ping命令进行主机发现,不扫描目标主机的端口 -Pn  将所有指定的主机视为已开启状态,跳过主机发现的过程,可用于网段的扫描 -PS TCP SYN ping  发送一个设置了 SYN 标志位的空 TCP 报文,默认端口为80,可以指定端口 -PA TCP ACK ping  发送一个设置了 ACK 标志位的...