网络攻防007奇虎360软件安全竞赛

  比赛规则及评分标准


比赛规则:
1. 所有题目一次性公布,选做一题即为参赛,参赛选手可以一次性提交选作各题答案,也可以逐次提交选作各题答案;
2. 答案提交至“奇虎360软件安全大赛答案提交区”,以其它方式提交的答案为无效答案;
3. 每题仅能提交一次,请认真阅题,慎重提交。如多次提交,以第一次提交的答案为准;
4. 提交的答案须包括所有源代码;
5. 为避免重复参赛,提交答案时请将“选作题号+论坛ID+真实姓名+联系电话”写在帖子里。
 
评分标准:
1. 此次比赛设五道试题,每题100分,满分500分,两道附加题,每题50分,满分100分,以总分排序选出优胜者;
2. 每题都存在多种不同解法,答出多种解法者,根据答案优劣,酌情加分;
3. 如题目挑战失败,但提供了解题思路及分析过程,也可酌情得分。
 
注意事项:
1. 严禁同一人用两个或两个以上会员ID参赛,严禁同一人在两个论坛重复参赛;
2. 比赛答题期间,不得在论坛或群等公开场所讨论;
3. 比赛答题期间,不得泄露答题的技术细节,影响比赛的公平性;
4. 违反以上任何一条,取消相关人员比赛资格,并ban掉相关ID。
 
 
比赛时间:2008年11月18日 到 2008年12月18日
 
============================================================================
 
 
网络攻防007360game 挑战题
 
 
1.磁盘保护挑战题
驱动mbrprot.sys会保护磁盘的1号扇区(即MBR(Master Boot Record)的后一个扇区)不被写入,请尝试在该驱动保护下,写入一段字符串到该扇区
 
环境要求:
 
要求测试环境干净,没有任何安全软件或还原类软件,最好是Windows XP SP2 系统有且仅有一个IDE硬盘,必须是ATA接口;
 
由于磁盘保护驱动挑战涉及磁盘底层操作,为了保护参赛选手的安全,建议在虚拟机或没有重要数据、可以随时恢复的测试机上进行挑战;
 
虚拟机配置:WINDOWS XP虚拟机安装后分配1块IDE硬盘即可。
 
挑战条件:
1).使用附带的Monitor工具(或者其他驱动加载工具)加载mbrprot.sys;
2).确保mbprot.sys正常工作,使用Winhex等工具向1号扇区写入一些数据,关闭WINHEX重新打开看写入是否成功;
3).编写驱动程序,绕过mbrprot.sys的保护,即可达成挑战。
 
细节要求:
1).不得破坏mbrpto.sys自有流程(包括不得改写mbrprot.sys的代码,不得HOOK mbrprot.sys可能调用的系统函数等);
2).要求绕过保护写入成功率要在90%以上;
3).选手程序只有一次运行机会。
 
2.网络过滤挑战题
Windows NT系统上,连接网络后,右下角的通知区域会出现两个小电脑的图标,当有网络连接时,小图标就会闪烁,如图:
 

请编写驱动程序,从WINDOWS网络层进行数据拦截和处理,使系统进行任何网络操作时,小电脑图标都不再闪烁
 
环境要求:任意干净的操作系统
 
挑战条件:
加载选手驱动或程序后,进行任意网络访问时小图标不再闪烁,且网络访问正常稳定,则达成挑战
 
细节要求:
1).驱动或程序不得对小图标的所有者(Explorer.exe等)做任何更改(包括HOOK),不得从GUI层面或消息层面干涉小图标的闪烁,必须是通过对WINDOWS网络驱动的干涉来使小图标停止闪烁;
2).网络访问必须正常稳定,网络速率不得有较大的下降。
 
3.注册表保护挑战题
Regprot.sys是一个注册表保护驱动,他会不断重写:
HKEY_LOCAL_MACHINE\System\360game这个键值(约2秒一次)
尝试编写程序,将其注册表删除。
 
环境要求:任意干净的操作系统
 
挑战条件:
加载驱动成功保护后,360game的注册表键值被删除,不再被重建(做到重启后不再存在360game键值亦可)
 
细节要求:
1).选手的程序只能运行于用户态,不能以任何形式直接执行RING0代码或修改RING0的内存;
2).如果选手希望使用直接HIVE操作的方法,必须兼容VISTA操作系统;
3).选手的程序只有一次执行机会(即不能使用重启删除等方法)。
 
4.PE文件挑战题
尝试构造或编写一个PE文件,要求:
1).可以双击运行
2).可以用正常流程作为驱动程序加载执行
3).可以使用附件的LoadDll.exe加载执行
 
3种运行方式完成不同的工作(例如驱动打印一条调试信息,程序弹出一个MessageBox等)
 
环境要求:Windows XP以上,干净操作系统
 
挑战条件:选手生成的PE文件可正常通过三种方式加载并完成不同的工作
 
细节要求:
1).文件内容允许且只允许修改PE Header的SubSystem标志;
2).Dll要求能多份加载(即重命名为a.Dll,b.Dll...等),,以附件中的LoadDll.exe加载为准,附上LoadDll.cpp源代码。
 
5.文件保护挑战题
fileprot.Sys是一个文件保护驱动,它会保护c:\360game\360game.Txt不被打开
尝试编写程序,改写该TXT的内容
 
环境要求:Windows XP SP2,干净操作系统
 
挑战条件:
首先创建c:\360game\360game.Txt 文件,然后加载fileprot.Sys成功保护后,运行选手程序,成功改写360game.Txt的文本内容(例如改写内容为"360game")
 
细节要求:
1).选手的程序只能运行于用户态,不能以任何形式直接执行RING0代码或修改RING0的内存;
2).不得使用直接磁盘操作的方式;
3).选手的程序只有一次运行机会(即不得使用重启改写等方法)。
 
附加题
 
6.病毒自动清除脚本生成器
编写一个工具,可以扫描系统中可能是木马的可疑项目(注册表、进程、文件等),并呈现给用户,用户可以查看、编辑这些项目,并自动生成一个清除特定病毒的脚本,其他用户获得并加载这个脚本后,可以自动清除这个病毒。
 
7.设计主动防御产品
设计一个主动防御产品,要求做到实时监视、保护用户的系统安全,并尽可能易用、稳定。请写出相关的设计构架、技术实现方案等,不用编写代码。

 
 
有关比赛的规则及奖品请查看这帖:http://bbs.pediy.com/showthread.php?t=76416

上传的附件 网络攻防007.rar