


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机相关专业实习报告 专业实习报告871279 朱育民一、工作内容这学期跟李锡捷老师实习,参加的工作项目是信息安全组,因为平时较其它三位组员多接触unix-like的环境,因此成为本组组长并协助联络事情。我们期初一开始便有正式的case接手,是一个韩国的骇客教育机构hackerslab委托翻译他们的一份骇客教材。对于这方面,我们四人虽然很有爱好,但是相关的技术背景都还嫌不够,因此做起来并不是很轻松,最常碰到的问题就是专业名词的查询与翻译,常常会有不知如何是好的窘境发生,幸好系上的学长大多能提供我们一些查询的方向,大部分的问题到最后还是能顺利完成,这样初期的翻译工作大约持续了一个多月后暂时结束
2、。对外的case完成后,我们继续朝着信息安全相关的方向研究,主要是针对两个程序进行改进工作,一个为测试系统漏洞的nessus,一个为侦测入侵系统snort,至此小组里再以两人一组细分为nessus组跟snort组,各自进行测试工作。我所分配的是nessus组,这是一种可以用来测试服务器有哪些网络漏洞的程序,由于采用plug-ins的方式安装,因此可以随时安插新漏洞的测试plug-ins,加上nessus总部的cvs机制,只要你的nessus系统有定期cvs更新,就能保持最新的完整漏洞测试。在业界杂志的评选里nessus的评价甚至超越许多商用软件(nessus是免费的),但是他有个小缺点,就是有
3、关漏洞测试报告的部分作的并不是十分完整,每支漏洞的测试回报完整与否,取决于plug-ins作者是否有在写作plug-ins加上完整的叙述与解决方案,问题是大部分的plug-ins都只有程序代码,并没有对叙述及解决方式作批注说明,因此即使在使用nessus测出系统的安全漏洞后,使用者必须在到网络上搜寻解决方法,这样作实在不是很便利,因此老师希望我们能对于nessus的测试回报部分作改良,写出一个报告阅读程序,结合庞大的信息安全信息,让使用者能在检测出漏洞的同时,直接取得相关的信息和解决方案,便利系统治理者在改善本身系统安全的时效性。二、学习1.free hackers zone这学期最早接触的学
4、习环境,应该要算hackerslab提供的一个骇客练习用工作站free hacker zone。这是一台用linux架起来的工作站,里面分将使用者分作level0到level14,每取得下依个等级的使用者权限,都有一个相对应的系统漏洞需要去破解,练习使用者在实作中了解骇客破解系统的方法,我一面翻该组织的faq,一面尝试错误,让我一路攻到level10,其中学习到的手法包括了使用者权限设定,寻找特定权限的档案,利用系统分隔符来欺骗系统,溢位攻击等等,然而在前进level11时,因为该漏洞必须自韩国本地进行破解,因此只好作罢,没能进一步继续。不过这个经验对于后来翻译hackerslab的文件有的不
5、少的助益!2.hackerslab教材翻译经过这段暖身后,我们正式接下hackerslab文件翻译的工作,我负责的是sniff(监听)与网页安全两份教材。在以太网络上,只要是同一个lan上的机器,都能收到在lan上传送的封包,系统核心会进行比对,假如该封包是属于自己的就继续处理,假如不是就忽略掉,而sniffing原理就是改变最后的步骤,将所有经过的封包,不管是否属于自己,全部抓进来记录。sniffing的正面意义应该是用于处理观察网络流量状况,一旦网络出现异常时,可以藉由sniffing来观察有哪些异常封包,帮忙排除异常状况。至于窃取传送中的使用者账号跟密码,则是cracker的行为,这并非
6、sniffing的本意。对于区网内要如何避开被sniff,最简单是在该区网内使用switch hub。跟hub不同的是,hub会将接收到的封包向所有连接的host传送出去,但switch本身具有mac路由表的功能,可以记得哪一个mac地址要从哪一个连接埠送出去,因此不会让不相关的host收到该封包,大大减少了被sniff撷取封包的机会。另外一种作法是对于传送的封包均作加密处理,这样就算被他人撷取到封包,对方也很难将封包解密而还原成原本的样字加以解读。常见的加密方式例如: ssl(secure socket layer)、pgp (pretty good privacy)、ssh (secure
7、 shell)、vpn (virtual private network)等等。sniff完最重要的工作是分析抓到的封包,因此这里对于各种通讯协议的封包意义大致讲解过一遍,例如该封包的来源与目的地,长度,数据内容,crc检查码等等。另外一个章节是有关网页安全,包含了浏览器跟服务器两部分,这里大多是讲解并描述理论性质的部分。首先是有关网页服务器,对于crack的问题,最重要的还是治理者(administrator)的认知问题,只要对系统的安全性随时保持警觉,绝对能防止crack事件的发生。目前有关网络上的服务应用虽然对于ftp或e-mail,都有许多独立的应用程序可以利用(如cute-ftp或o
8、utlook),但现在一般上网的使用者,仍有许多的机会直接使用网页来对ftp做存取跟收发e-mail,此外还有许许多多功能,也都被整合在网页浏览中,当网页服务器要兼任的服务越多,也就提供了更多让cracker入侵的机会,这是进展网页功能的同时必须付出的代价,因此,身为一个网页服务器的治理员,有责任负起保护自己服务器使用者的权益,对于安全性一定要随时保持高度的警觉性。尤其随着电子商务的进展,网页扮演的角色越来越吃重,在往夜间传递使用者信息的机会越来越多,更增加了安全性的顾虑,然而使用者多半对于这方面安全性问题不够警觉(甚至不了解严重性),只要有cracker使用一些恶意或欺骗的applet或sc
9、ripts,就有可能将使用者的信息窃取到手,也可以自远程将使用者的计算机加以控制甚至令其当机,使用者对于浏览网页时的安全比必须要比过去更加留意。常见的网页攻击模式包括:溢位攻击(buffer overflow) :顾名思义, 就是利用 buffer overflow 的原理达成目的的.比如, 一个数组只有 100 bytes, 但我喂给它 200 bytes 的数据,于是这个数组装不下这些数据, 造成了 overflow.为什么 overflow 会有 security hole 呢?首先, overflow 发生时, 多出来的数据会盖到其它变量上,相信这一点大家早就知道了。问题是, 为什么数
10、据盖到其它变量上时, 顶多使程序执行错误,会严重到出现 security 的问题吗? 这时, 好玩的事情就发生了.当我们呼叫一个 function 时, 以汇编语言的观点,会将 return address 堆入 stack 中。假如这个 function 宣告了一些 local 变量,那进入这个 function 之后, 会在 stack 中再空出一块区域给这些 local 变量,当要从这个 function return 回去时, 就把这些在 stack 中的 local 变数清掉。现在好了, buffer overflow security hole 就是在这里发生了.假如有某个 fun
11、ction 宣告了一个 local array, 如:int func() int i, j, k; char buf16; struct abc *x, *y, *z; . . .这样就很明显了, 假如在这个 function 内有了 bug, 忘记去控制数据喂给 buf 的长度,当数据喂长一点, 就可以盖到这个function 的 return address指到自己所喂进去的 code 上 这时, function 执行完毕, 要 return 时, 它就不会 return 到原来呼叫它的地方, 而会 “return” 到我所喂进去的那些 code,这么一来入侵者就可以为所欲为了!den
12、ial of service ( dos ,阻断服务攻击) :所谓阻断服务攻击,是攻击者利用受害者的操作系统、网络应用程序(服务)或网络通讯协议的漏洞来攻击受害者,促使目标主机的系统或服务发生瘫痪的情况,可能造成系统资源耗尽、引响正常联机品质、网络频宽被占满、网络应用程序(服务)停止运作、系统当机等情形,使正当的使用者无法正常使用该主机所提供的服务。另一种情况是系统治理者为了测试目的尝试对自己主机展开攻击,测试操作系统或是网络应用程序(服务)中是否含有可能被攻击的漏洞存在。像立骇科技(hackerslab)的入侵测试(penetration test)、卫道科技的网络安全漏空扫瞄仪(nai c
13、ybercop scanner)都可针对企业内的操作系统、网络甚至数据库做健康检查,其它dos的攻击都是不合法的,而且动机通常出自恶意。distributed denial of service(ddos,分布式阻断服务攻击):所谓分布式阻断服务攻击,是运用在于受害者的系统资源、网络频宽条件都比攻击者来的好,假如攻击者想一对一的攻击被害者,可能会失败甚至导致自己的系统或网络瘫痪,所以采取一对多的攻击方式,攻击者先在一些防备较弱的主机中种植攻击程序。随后攻击者对各主机中的的攻击程序发出攻击命令,要求对目标主机发出庞大数量且多种的封包,庞大的数据量会瘫痪目标主机而使得无法正常提供服务。ddos不但
14、可以提高成功率,还可以缩短攻击的时间及减少被发现的机会。以目前骇客的行径而言,大多比较倾向于使用威力强大的ddos攻击,尤其是针对规模大的网站时。 cgi :一种让网页执行外部程序的一种接口,正因为如此,只要权限或设定有问题,或程序编写有问题,很轻易成为cracker入侵系统的快捷方式。自动目录列表 : 取得网页跟目录下的档案列表将使得cracker清楚知道该网站结构,很轻易便能发觉后门所在甚至下载有问题的程序代码回去破解分析,对于入侵更为轻易使用者认证的攻击 : 利用一账号文件跟密码字典文件的配合,强制通过网页认证的一种手法。3. nessusnessus官方网站 : ,目前最新释出的版本为
15、1.0.8,是一种用来侦测网络服务器或工作站的网络漏洞的工具。这套侦测系统是client-server的方式运作,服务器端包括了使用者账号的治理以及各种漏洞测试的plug-ins,而client则利用服务器端所提供的各种plug-ins来测试工作站或服务器并产生报告,报告的格式包括了html、xml、nsr(nessus本身的存档格式) 、txt、tex(latex格式)。其plug-ins自有一套语法叫做nasl(nessus attack scripts language),可以自订对特定的连接埠进行封包测试,藉以判定是否为漏洞(早期使用c语言来作为plug-ins的语法,但以被淘汰)一、
16、安装安装的方式分为server跟client两部分。首先server必须安装在unix环境下,(已试过freebsd : ports安装 跟linux : rpm安装)这部分没有什么问题,装下去就对了,接下来必须安装plug-ins(若是不装plug-ins,nessus什么也不会测),plug-ins可以选择一个一个下载后拷到指定目录即可,不过正确的作法应该是使用cvs的方式来维护更新plug-ins的版本。cvs系统又分作current跟stable两种,stable版本但讲究稳定,许多新释出的plug-ins并没有包括在里面,而current虽然有最新的plug-ins,但测试不见得稳定
17、正确,有可能将你的受测工作站或服务器损害,因此要使用那个版本请自行斟酌。安装方式如下:1. 设定环境变量 登入cvs系统 密码为 “ anon” ,只有第一次登入会需要密码,以后会自动记载你系统的某一个地方$ cvs login3-1. 假如要抓取nessus程序stable版本$ cvs -z3 checkout -rnessus_1_0 nessus-libraries$ cvs -z3 checkout -rnessus_1_0 libnasl$ cvs -z3 checkout -rnessus_1_0 nessus-core$ cvs -z3 checkout -rnessus_1_
18、0 nessus-plugins3-2. 假如要抓取nessus程序current版本$ cvs -z3 checkout nessus-libraries$ cvs -z3 checkout libnasl$ cvs -z3 checkout nessus-core$ cvs -z3 checkout nessus-plugins4. 以后要检查更新部分时只要打$ cvs -z3 update -p nessus-libraries$ cvs -z3 update -p libnasl$ cvs -z3 update -p nessus-core$ cvs -z3 update -p nes
19、sus-plugins完成!nessus是一套强大的漏洞测试工具,但是对于他产生的报告不够完整是它的一大致命伤,目前他所采行的方法是把漏洞报告及修补漏洞的方法写死在plug-ins里,但并不是每一个plug-ins撰写者都有写上修补方式这部分的说明,因此我们的目的是写一个report reader来读取nessus所产生的报告并自动补上漏洞相关的网址(报告格式为html或xml),补强的方式是连结cert的搜寻器来产生,目前碰到的问题在于我们要选择哪一种语法来写这支report reader的程序(vb除外),也使我们的研究主题由nessus暂时转到了程序语言的部分,因此nessus暂时在此打
20、住4.scripts language 截至目前为止,我们尝试过的语言tcl、perl、python都是属于scripting languages,他们跟c或java这种system programming languages有很大的差异。sl 会有一组派得上用场的组件 (component) ,用别的语言写成。sl 不会从头开始,而是结合已经写好的组件。比方说,tcl 跟 visual basic 可以用来治理使用者接口组件,而 unix shell script 可以把组件当作 filter ,来组成一条 生产线 ,制造所要的信息。 sl 可以用来扩展已经存在组件的功能,而很少用来进展复杂的数据结构、算法。这些东西应该由组件提供。因此,sl 常被称为 黏接语言 或者 系统整合语言。为了简化组合组件的工作,sl通常没有型态。所有东西看起来,用起来都一样,也可以交换着用。比方说,在tcl 或 vb 中,同一个变量既能存字符串,又能存整数。而程序代码跟数据可以互通,因此能够在线产生新程序。由此可以看到sl 对于文字数据的处理蛮擅长的。v像这样无型态的语言更轻易结合组件。因为它并不对 东西该如何使用 做任何限制。组件会怎么用,搞不好连原先的设计者都不清楚。换句话说,组件的使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林资源经营风险管理考核试卷
- 膨化食品生产考核试卷
- 管道工程质量管理信息系统考核试卷
- 肥料制造中的生态农业与有机农业考核试卷
- 木材质量检验与判定考核试卷
- 建材家居经销商会员制合作及积分奖励合同
- 工业废气处理工程验收质量标准及售后服务合同
- 主题展览地接服务补充协议
- 抖音火花澳新市场电商分销渠道合作协议
- 《婚前财产分割及债权债务明确处理协议》
- 汽修厂三人合伙协议
- 《废品创意与制作》(教学设计)-2024-2025学年四年级上册综合实践活动教科版
- 2024年食品检验员(三级)技能理论考试复习题库(含答案)
- 尾矿库污染隐患排查治理制度
- 空气动力学领域大模型研究思考与展望
- 某危废处置公司事故风险辨识、评估报告
- 《神经外科显微手术机器人平台关键技术研究》
- 隧道应急救援培训
- 一年级家长会课件2024-2025学年
- 省级啤酒代理权合同
- DB11∕T 1513-2018 城市绿地鸟类栖息地营造及恢复技术规范
评论
0/150
提交评论