置顶

黑客攻击软件测试面试题,面对黑客的种种恶意攻击,应该采取哪些措施来应对呢?

作者:hacker | 分类:破解 | 浏览:98 | 日期:2022年09月20日

目录:

黑客攻击的三个阶段是什么?黑客在这三个阶段分别完成什么工作?

1. 锁定目标

攻击的之一步就是要确定目标的位置,在互联网上,就是要知道这台主机的域名或者IP地址, 知道了要攻击目标的位置还不够,还需要了解系统类型、操作系统、所提供的服务等全面的资料,如何获取相关信息,下面我们将详细介绍。

2. 信息收集

如何才能了解到目标的系统类型、操作系统、提供的服务等全面的资料呢?黑客一般会利用下列的公开协议或工具来收集目标的相关信息。

(1)SNMP 协议:用来查阅 *** 系统路由器的路由表,从而了解目标主机所在 *** 的拓扑结构及其内部细节;

(2)TraceRoute程序:用该程序获得到达目标主机所要经过的 *** 数和路由器数;

(3)Whois协议:该协议的服务信息能提供所有有关的DNS域和相关的管理参数;

(4)DNS服务器:该服务器提供了系统中可以访问的主机的IP地址表和它们所对应的主机名;

(5)Finger协议:用来获取一个指定主机上的所有用户的详细信息(如注册名、 *** 号码、最后注册时间以及他们有没有读邮件等等);

(6)ping:可以用来确定一个指定的主机的位置;

(7)自动Wardialing软件:可以向目标站点一次连续拨出大批 *** 号码,直到遇到某一正确的号码使其MODEM响应为止。

3. 系统分析

当一个黑客锁定目标之后,黑客就开始扫描分析系统的安全弱点了。黑客一般可能使用下列方式来自动扫描驻留在 *** 上的主机。

(1)自编入侵程序

对于某些产品或者系统,已经发现了一些安全漏洞,该产品或系统的厂商或组织会提供一些“补丁”程序来进行弥补。但是有些系统常常没有及时打补丁,当黑客发现这些“补丁”程序的接口后就会自己编写能够从接口入侵的程序,通过这个接口进入目标系统,这时系统对于黑客来讲就变得一览无余了。

(2)利用公开的工具

像 Internet 的电子安全扫描程序 ISS(Intemet Security Scanner)、审计 *** 用的安全分析工具 SATAN ( Securi Ana1ysis Tool for Auditing Network)等。这些工具可以对整个 *** 或子网进行扫描,寻找安全漏洞。这些工具都有两面性,就看是什么人在使用它们了。系统管理员可以使用它们来帮助发现其管理的 *** 系统内部隐藏的安全漏洞,从而确定系统中哪些主机需要用“补丁”程序去堵塞漏洞,从而提高 *** 的安全性能。而如果被黑客所利用,则可能通过它们来收集目标系统的信息,发现漏洞后进行入侵并可能获取目标系统的非法访问权。

4. 发动攻击

完成了对目标的扫描和分析,找到系统的安全弱点或漏洞后,那就是万事具备,只欠攻击了,接下来是黑客们要做的关键步骤——发动攻击。

黑客一旦获得了对你的系统的访问权后,可能有下述多种选择:

(1)试图毁掉攻击入侵的痕迹,并在受到损害的系统上建立另外的新的安全漏洞或后门,以便在先前的攻击点被发现之后,继续访问这个系统;

(2)在你的系统中安装探测软件,包括木马等,用以掌握你的一切活动,以收集他比较感兴趣的东西(不要以为人人都想偷窥你的信件,人家更感兴趣的是你的电子银行帐号和密码之类);

(3)如果你是在一个局域网中,黑客就可能会利用你的电脑作为对整个 *** 展开攻击的大本营,这时你不仅是受害者,而且还会成为帮凶和替罪羊。

黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影《骇客(Hacker) 》也已经开始使用骇客一词,显示出中文使用习惯的趋同。实际上,黑客(或骇客)与英文原文Hacker、Cracker等含义不能够达到完全对译,这是中英文语言词汇各自发展中形成的差异。Hacker一词,最初曾指热心于计算机技术、水平高超的电脑专家,尤其是程序设计人员,逐渐区分为白帽、灰帽、黑帽等,其中黑帽(black hat)实际就是cracker。在媒体报道中,黑客一词常指那些软件骇客(software cracker),而与黑客(黑帽子)相对的则是白帽子。

求答案!!急急急!什么是黑客?黑客攻击一般采用的过程是什么?试论述如何预防和保护免受黑客的攻击与破坏

黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。美国大片《黑(骇)客帝国》的热映,使得黑客文化得到了广泛的传播,也许很多人会觉得黑客一词是用来形容那些专门利用电脑搞破坏或恶作剧的家伙,而对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。不管是叫黑客还是骇客,他们根本的区别是:黑客们建设、维护,而骇客们入侵、破坏。

目前造成 *** 不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机 *** 操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。

*** 互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。

由此可见,针对系统、 *** 协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证 *** 安全、可靠,则必须熟知黑客 *** 攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保 *** 运行的安全和可靠。

一、黑客攻击 *** 的一般过程

1、信息的收集

信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在 *** 系统中的各个主机系统的相关信息黑客攻击软件测试面试题

(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的 *** 数和路由器数。

(2)SNMP协议 用来查阅 *** 系统路由器的路由表,从而了解目标主机所在 *** 的拓扑结构及其内部细节。

(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。

(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。

(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。

2、系统安全弱点的探测

在收集到一些准备要攻击目标的信息后,黑客们会探测目标 *** 上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:

(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。

(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。

(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。

二、协议欺骗攻击及其防范措施

1、源IP地址欺骗攻击

许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提。

假设同一网段内有两台主机A和B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。

然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。

要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:

(1)抛弃基于地址的信任策略 阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用黑客攻击软件测试面试题;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。

(2)使用加密 *** 在包发送到 *** 上之前,黑客攻击软件测试面试题我们可以对它进行加密。虽然加密过程要求适当改变目前的 *** 环境,但它将保证数据的完整性、真实性和保密性。

(3)进行包过滤 可以配置路由器使其能够拒绝 *** 外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部 *** 的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部 *** 的外来包进行过滤,若你的 *** 存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。

2、源路由欺骗攻击

在通常情况下,信息包从起点到终点所走的路是由位于此两点间的路由器决定的,数据包本身只知道去往何处,而不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:

主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的 *** 为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。

为了防范源路由欺骗攻击,一般采用下面两种措施:

· 对付这种攻击更好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。

· 在路由器上关闭源路由。用命令no ip source-route。

三、拒绝服务攻击及预防措施

在拒绝服务攻击中,攻击者加载过多的服务将对方资源全部使用,使得没有多余资源供其他用户无法使用。SYN Flood攻击是典型的拒绝服务攻击。

SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、 *** 可用带宽急剧下降,将无法向其它用户提供正常的 *** 服务。

为了防止拒绝服务攻击,我们可以采取以下的预防措施:

(1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。

(2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。

(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。

(4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。

总之,要彻底杜绝拒绝服务攻击,更好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的 *** 是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的 *** 来查找其攻击源头。这时需要各级部门的协同配合方可有效果。

四、其他 *** 攻击行为的防范措施

协议攻击和拒绝服务攻击是黑客惯于使用的攻击 *** ,但随着 *** 技术的飞速发展,攻击行为千变万化,新技术层出不穷。下面将阐述一下 *** 嗅探及缓冲区溢出的攻击原理及防范措施。

1、针对 *** 嗅探的防范措施

*** 嗅探就是使 *** 接口接收不属于本主机的数据。计算机 *** 通常建立在共享信道上,以太网就是这样一个共享信道的 *** ,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包。一个能接收所有数据包的机器被称为杂错节点。通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到,用户就可能会遭到损害。

对于 *** 嗅探攻击,我们可以采取以下措施进行防范:

(1) *** 分段 一个 *** 段包括一组共享低层设备和线路的机器,如交换机,动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的。

(2)加密 一方面可以对数据流中的部分重要信息进行加密,另一方面也可只对应用层加密,然而后者将使大部分与 *** 和操作系统有关的敏感信息失去保护。选择何种加密方式这就取决于信息的安全级别及 *** 的安全程度。

(3)一次性口令技术 口令并不在 *** 上传输而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串并将之返回给服务器。在服务器上利用比较算法进行匹配,如果匹配,连接就允许建立,所有的Challenge和字符串都只使用一次。

(4)禁用杂错节点 安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探。

2、缓冲区溢出攻击及其防范措施

缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。

缓冲区溢出对 *** 系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点:

(1)程序指针完整性检查 在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。

(2)堆栈的保护 这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。

(3)数组边界检查 所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的 *** 是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查 *** :Compaq C编译器、Jones Kelly C数组边界检查、Purify存储器存取检查等。

未来的竞争是信息竞争,而 *** 信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及 *** 协议的实现,真正做到洞察对方 *** 系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽更大可能保证 *** 的安全。

(4)利用公开的工具软件 像审计 *** 用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个 *** 或子网进行扫描,寻找安全方面的漏洞。

3、建立模拟环境,进行模拟攻击

根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。

4、具体实施 *** 攻击

入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击 *** ,在进行模拟攻击的实践后,将等待时机,以备实施真正的 *** 攻击。

·关于黑客

黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个瞬鸥傻娜恕?/P

他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的 *** 剖析系统。“黑客”能使更多的 *** 趋于完善和安全,他们以保护 *** 为目的,而以不正当侵入为手段找出 *** 漏洞。

另一种入侵者是那些利用 *** 漏洞破坏 *** 的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。

一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的更大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。

在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。

但是, *** 和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和 *** 机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。

软件测试面试一般都问什么问题

给大家提供一些软件测试相关的面试题及答案,仅供大家参考!

1、你的测试职业发展是什么?

测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。

2、你认为测试人员需要具备哪些素质

做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。

3、你为什么能够做测试这一行

虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。

4、测试的目的是什么?

测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。

5、测试分为哪几个阶段?

一般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试

6、单元测试的测试对象、目的、测试依据、测试 *** ?

测试对象是模块内部的程序错误,目的是消除局部模块逻辑和功能上的错误和缺陷。测试依据是模块的详细设计,测试 *** 是采用白盒测试。

7、怎样看待加班问题

加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。

8、结合你以前的学习和工作经验,你认为如何做好测试。

根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。

发表评论

访客 游客 2022-09-20 · 回复该评论
类型、操作系统、提供的服务等全面的资料呢?黑客一般会利用下列的公开协议或工具来收集目标的相关信息。(1)SNMP 协议:用来查阅网络系统路由器的路由表,从而了解目标主机所在网络

访客 游客 2022-09-20 · 回复该评论
P协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。 (3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。 (4)

取消
微信二维码
支付宝二维码