the heart of lucifer

一份安全分析师面试题

昨天做的一份关于安全分析的面试题,记录一下,有些地方回答得可能不是很全面,若有纰漏欢迎指出。

  • 如何对邮件或web服务器的网络行为进行分析,写出你的方法、步骤和关键要点。

一、针对邮件服务器的web端进行网络行为的分析:

下面假设针对邮件服务器常出现的三种情况进行分析

1、暴力破解用户登录名和密码

分析方法:

(1) 查看web端页面的访问流量情况是否异常,重点查看某一时间段内连接该web页面的IP情况,是否有同一IP请求大量重复连接的情况(有一些暴力破解攻击攻击者为了避免被防火墙、IDS等一些安全设备屏蔽,也会采用IP池、代理等多种方式频繁更换IP),如存在这种情况则进行深入分析。

(2) 通常web端的暴力破解攻击会产生大量的POST提交请求,查看HTTP请求的数据包,如果发现提交的HTTP请求的内容中含有大的量的相同账号,不同密码的登录尝试请求(也可能是大量的不同账号的登陆请求),则可断定为暴力破解攻击。 如下图:

图1-web暴力破解攻击

防御措施:

使用验证码进行验证登陆、限制用户尝试密码次数、邮箱用户密码设置强密码等。

2、 邮件系统内某一用户对外发送大量垃圾邮件

通常这种情况出现在用户邮箱被盗,或计算机中病毒(蠕虫病毒的情况较常见)之后。

分析方法:

(1) 若用户邮件系统本身数据量较大可采用采样分析的方法,选择邮件系统较繁忙的时间段(如上班期间)抓包分析。
(2) 抓取网络流量中的SMTP、POP3协议的流量包,利用wireshark等分析工具的统计功能查看向外发送请求较多的IP地址。
(3) 针对对外请求较多的IP地址可以查看其发送的数据包里面所发送的邮件头信息,具体查看发送的频率(一般很快),其次查看收件人邮箱地址(通常对外发送垃圾邮件邮件的收件人地址多为一些怪异的邮箱地址,具体根据个人经验判断)、邮件内容(若未加密)是否为广告邮件或其他垃圾邮件,再可以查看发送出去的邮件的状态,大多数垃圾邮件发送出去之后一般会被对方服务器拒收,数据包里可以看到 “Sender denied”的标志。
(4) 通过上述几点可以综合判断用户是否存在用户邮箱的对外发送垃圾邮件影响邮件服务器性能的问题。
(5) 针对计算机中蠕虫病毒之后对外发送垃圾邮件的情况,通常计算机在发送垃圾邮件之前会向外连接远程服务器下载邮箱地址列表,然后再对列表中的邮件地址发送垃圾邮件。同时蠕虫病毒本身具有传播性,还会伴随着内网扫描、尝试邮箱用户密码(该操作通常也会下载尝试的用户名和密码文件)等操作。可以通过这些特征来发现邮件服务器中的异常行为,蠕虫病毒分析具体技术细节就不再赘述。

防御措施:

加强服务器自身的安全性及时打补丁、安装杀毒软件、邮箱用户密码设置强密码等。

3、 针对其他类型web服务器主机的流量分析

首先要知道WEB服务器如果出现问题,常见的大致可以分为三个方面的问题:被植入后门、遭受DDOS攻击、网站存在漏洞被利用。下面从这三个方面大致讲述。

分析方法:

(1) 被植入后门(这里只针对被植入webshell的情况,服务器自身被植入后门不做分析)
通常网站在被植入webshell之后,黑客会进行webshell的访问。若是在线监测分析可在监测工具中加入常见webshell特征(如一些一句话木马常用的函数“eval()”、”execute()”、wscipt.shell等)进行在线监测,查看是否有IP连接具有这些危险函数的页面,如果有再进行下一步的深入分析查看该页面是否是正常网站页面(通常情况一般web文件不会包含上述特征)。同时也可以通过查看数据包中HTTP是否有对可疑页面文件(如1.jsp等)的请求,判断是否被植入后门。以上方法缺点是在数据量较大的情况下可能存在较多的误报,人工检测分析效率不高,所以最好还是借助安全设备和一些安全工具进行检测再对检测出的可疑数据进行分析确认。
顺便提一下目前比较流行的网站被植入挖矿代码的分析和检测。如果网站被植入挖矿代码,挖矿代码一定会连接矿池地址,在数据包中可针对矿池地址和一些常用的挖矿的端口进行检查。
(2) 遭受DDOS攻击
DDOS攻击类型多种,以下只挑选两种较有代表性的攻击举例。
SYN flood攻击。短时间内通过大量的IP向web服务器发送请求连接的半开TCP数据包,而不完成三次握手。所以这种攻击一般很明显,从整体流量上看,syn数据包的数据包会明显增加。
慢速HTTP POST 攻击。这种攻击不会像一般的DDOS攻击发送大量数据包暂用网络资源来导致WEB服务器拒绝服务。通常这类攻击在与服务器建立连接后会设定一个较大的content-length值,然后以很低的速度发包。针对这类攻击可以查看数据包中HTTP的POST请求中是否有IP发送content-length较大的数据包。经过之前对这种类型的攻击工具的分析,一般发包的时间是固定的,例如10S发一次包。
(3) 网站存在漏洞被利用
常见的web攻击方式一般有sql注入、文件上传、远程命令执行等。Sql注入攻击,结合以前的工作经验来看,大多数会先采用扫描的方式,那么数据包中可以看到大量的尝试sql注入的语句,大量的数据包不便于分析,所以可以排除掉一些返回404或者302状态的数据包,只查看一些有成功返回信息的请求数据包,再查看sql注入是否成功。当发现数据包中有ip大量尝试sql注入的话,也可以缩小范围只针对该IP的流量进行分析,重点查看该IPsql注入尝试完之后有无其他动作。文件上传攻击,例如一些网站上传用户头像的地方对上传文件的过滤不严格攻击者可能会上传一句话图片木马,所以可以在数据包中查看上传的文件内容,是否包含可疑代码。远程命令执行,这种类型的攻击可以直接过滤查看出数据包中是否还有一些危险命令的数据包(例如 net user xxx xx/add、cmd等这类命令)。

  • 抓取网络中的SMTP/POP3、QQ、HTTP等流量,通过数据包的分析能获取哪些关键参数

下面列举一些较有用的可能不完全:
SMTP/POP3:
USER、PASS (用户登录名、密码)
EHLO (发送方的主机名)
MAIL FROM/RCPT TO (发送方/接收方地址)
HTTP:
GET/POST (请求的类型,后面是请求的页面)
HOST (主机名和端口号,通常为域名)
User-Agent (发送请求的客户端信息。特殊情况:如爬虫访问、扫描器扫描)
“200、404、302“等 (服务器返回的响应码)
QQ:
QQ的协议加密,从数据包中获取不到什么关键参数。

一些像源IP、目的IP、源MAC地址、目的MAC地址这类的信息就不再说了。

  • 写出TCP三次握手的过程,通过TCP三次握手可以分析哪些问题

三次握手过程:

第一次握手:客户端发送syn包给服务器

第二次握手: 服务器收到syn包,确认客户端的syn并回复一个syn包(syn+ack)

第三次握手:客户端收到服务器的syn+ack包之后向服务器发送确认包

可以分析像上面提到的基于三次握手的SYN攻击。

  • 在大流量情况下,如何发现异常流量和异常网络行为,写出你知道的方法

1、使用科来或其他一些其他安全检测设备监测异常流量,具体根据客户网络情况来看,例如平时网络出口的平均流量在一个什么范围内,并据此设定一个阀值(可以是一个时间段内的流量阀值或是某时间段内网络流量内的数据包数量),当监测的网络中流量超过该阀值时,设备出现报警信息,根据产生的警报信息再去查看相应时段的网络流量,从而发现网络中的异常流量。针对异常网络行为,可以采取设定特征值匹配的方式来监测一些特定的网络行为,根据产生的告警信息再去查看相应流量。

2、如果身边没有相关设备,纯工具的情况下,可以使用wirshark或其他一些数据包分析工具的统计功能,统计出可疑或流量异常的IP、协议等,再进行有针对性的分析。由于是在大流量的情况下,所以使用这种方式可能在进行流量抓取的时候就要进行数据包过滤或采用采样分析的方法,视具体情况,如果能了解到客户网络中可能存在问题的IP地址、某应用协议等信息,则可以缩小分析的范围减少无关的流量。

综上所述,在面对大流量的情况下,无论采用什么方法,核心还是使用过滤无关数据包、缩小分析范围的方式来进行分析,这样才能提高工作效率。

  • 写出你知道的关于端口的所有知识点

1、 一些常用的端口号: ftp:21、ssh:22、smtp:23、http:80、telnet:25、dns:53、远程连:3389。
2、 Windos下端口查看方式:netstat -a (显示所有连接和监听的端口)。
3、 关闭一些不用、具有漏洞容易被攻击的端口,如:445、139等被永恒之蓝利用的端口、更改一些常用的容易被扫描的端口号,如:22、3389等。
4、 端口映射、端口转发:效果差不多,将内部的主机开放到外网 。

  • 写出网卡接收数据的几种工作模式

1、 广播
2、 多播
3、 直接
4、 混杂

  • 写出你知道的关于APT攻击检测的方法、步骤、技术

首先要检测APT攻击就要了解APT攻击的几个特点:普遍采用0day攻击、攻击方式多样化,往往是社工+0day+极强隐蔽性。

检测方法:

         对于一些已知APT组织的攻击,威胁情报的搜集很重要,通过威胁情报可以提取到一些较有用的信息,如该APT组织使用的域名、IP、所利用的漏洞、使用的工具及后门特征等。通过这些威胁情报的搜集,将这些特征加入到安全检测设备,从而实现对已知的APT攻击的检测。
对于一些未知的APT攻击,可以采用安全沙箱+组合攻击监测+全流量回溯分析等多种检测技术结合方式来实现对未知APT的监测。例如:通过将流量引入安全沙箱或虚拟机通过对沙箱的进程、注册表、网络连接行为等进行监控。通过安全设备的对针对特定系统的组合型攻击进行监测。通过科来的全流量回溯分析系统在检测到可疑攻击行为的时候回溯相关流量,将数据包中包含的下载的文件、http访问等通信信息进行还原来进行深层次的分析。
综上所述,无论对于已知APT攻击还是未知APT攻击,采用多元化、多维度、多种技术手段结合的方式,才能提高APT检测的效率和准确性。

  • 写出你对网络安全分析的理解

网络安全分析即对网络中存在的已知或未知安全问题的分析,与网络性能分析相比更侧重的是网络中出现的安全事件,如网络攻击、系统漏洞、木马病毒等这些方面的问题。
作为一名合格的安全分析工程师至少应当具备基础的数据包分析能力、如熟悉TCP/IP协议、从大流量的环境中快速定位、筛选出安全问题的能力,了解黑客常见的攻击手法和方式并能从网络流量中发现这些攻击、了解行业内最新的安全事件、威胁情报、会使用常用的分析工具等。

  • 你认为一个合格的售前工程师需要哪些方面的素养

1、公司业务领域的行业现状,行业发展趋势,具有专业的行业知识背景。
2、具备一定的产品知识,悉公司本身的技术状态,包括技术团队能力、项目实施能力,行业解决方案的特点和优劣。
3、有良好的沟通能力、文档能力、能充分理解、把握客户的需求,针对客户需求制定合理的解决方案。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注