YY可行性研究报告.docx
《YY可行性研究报告.docx》由会员分享,可在线阅读,更多相关《YY可行性研究报告.docx(10页珍藏版)》请在冰豆网上搜索。
YY可行性研究报告
YY007远程控制系统(Version1.0)
可行性研究报告
作者:
俞洋
学号:
131060050
学院:
自动化
学校:
杭州电子科技大学
课题来源:
软件工程第一次作业
Data2014/4/2By俞洋
目录
1引言4
1.1编写目的4
1.2背景4
1.3定义4
1.4参考资料5
2可行性研究的前提5
2.1要求5
2.2目标5
2.3条件、假定和限制5
2.4可行性研究采用的方法6
2.5评价尺度6
3对现有系统的分析6
3.1数据流程和处理流程6
3.2费用开支7
3.3人员7
3.4设备7
3.5局限性7
4所建议的系统的可行性分析7
4.1对所建议的系统的简要描述7
4.2数据流程和处理流程8
4.3与现有系统的比较的优越性8
4.4采用建议系统可能带来的影响8
4.5局限性9
4.6技术可行性评价9
4.7可选择的其他系统方案9
5所建议系统经济可行性分析9
5.1支出9
5.2收益9
5.3收益/投资比9
5.4投资回收周期9
5.5敏感性分析10
6社会条件方面的可行性10
6.1法律方面的可行性10
6.2用户使用方面的可行性10
7结论意见10
1引言
1.1编写目的
编写该可行性分析报告的目的是为了在技术和其他方面对YY007远程控制系统的开发进行一次概括性的讨论,并选择最合理的方案进行开发。
该报告的读者对象为相关开发单位及投资方有关人士或组织。
该报告将从技术,经济以及社会可行性等方面进行可行性分析。
1.2背景
拟开发软件的项目名称:
YY007远程控制系统。
该项目的任务提出者为****公司,预期用户为广大网络安全爱好者。
该软件运行于MicrosoftWindowsXP/7或其他NT架构的操作系统,采用近程插入借用其他软件的进程进行工作。
1.3定义
表1-1词汇表
名词
说明
DLL插入(DLLInjection)
分配内存空间将目标可执行dll插入目标进程
扩展插件(extensiveplugin)
成对发放,对应客户端和服务端,扩展系统功能
TrojanDropper
实现PE格式EXE捆绑并在目标主机释放并运行
对称加密(symmetricalencryption)
同一密钥的加密解密过程,隐藏通信信息
交错合并(interlacedcombination)
小组自创的合并技术,分离特征码绕开病毒防火墙检查
被动等待(passivesleeping)
动态外连进程等待函数到目标进程,暂时使其实效
嗅探器(sniffer)
用于检测系统通信安全性
不安全代码(unsagecode)
用于c#编写的Client插件与win32C++的Server插件的遗留代码实现重用
1.4参考资料
本项目可能会参考的资料汇总
[1]杨文龙,姚淑珍,吴芸编著.软件工程.北京:
电子工业出版社,1997
[2]郑人杰.试用软件工程.北京:
高等教育出版社,1996
[3]陈明.软件工程学教程.北京:
科学出版社,2002
[4]AndrewS.Tanenbaum.ComputerNetworks4thEdition.PrenticeHall,2004
[5]李大友.实用软件工程基础.北京:
清华大学出版社,2002
[6]张龙卿.VisualC#.Net应用精彩50例.北京:
清华大学出版社,2002
[7]张龙祥.UML与系统分析设计.北京:
人民邮电出版社,2003
[8]JeffreyD.Ullman.AFirstCourseinDatabaseSystems.Pearson,2003
[9]JosephMayo.C#Unleashed.SAMS,2004
2可行性研究的前提
2.1要求
YY007的各项基本要求:
1.功能:
对运行服务端的主机进行精确有效的远程控制,执行各种预定功能。
2.性能:
占用内存在10MB以下,不造成系统明显的拖慢,不被主流防火墙查杀或发现。
3.安全与保密:
采用自创的加密算法进行通信,保证不被轻易分析出通信内容。
4.本系统与其他系统的关系:
运行于各种基于NT结构的Windows操作系统,不影响其他应用程序的正常运行于工作
5.完成期限:
看情况而定。
2.2目标
开发目标:
1.成为较好的远程控制系统,分发插件SDK,让广大网络安全爱好者轻松地加入到木马开发的行列中来
2.半年内不被各病毒防火墙列为病毒
应该考虑到的因素:
1.网络防火墙技术更新
2.Windows内存和进程规则进一步改进
3.发放SDK后的安全性
2.3条件、假定和限制
1.系统运行寿命的最小值:
半年
2.经费:
由于是软件工程大作业,经费为0。
3.政策与法规限制:
该软件比较敏感,本组必将严守核心源代码,保证不对社会造成危害。
4.运行环境限制:
Client端采用C#编写,所以必须要安装.NetFramework才可以运行。
5.系统投入使用的最晚时间:
看本人心情
2.4可行性研究采用的方法
本可行性研究将通过咨询网络安全专家,请教老师等方式来进行,开发的系统由广大网友来评价。
通过下载大量同类软件来进行产品调查。
2.5评价尺度
本系统的开发时间大约为4个半月,所需经费为0。
各项主要特色功能的优先次序:
1.正确插入进程
2.加密通信
3.良好的Client端
4.苗条的Server端
5.完善的插件接口
3对现有系统的分析
3.1数据流程和处理流程
典型木马的粗略数据流程图:
3.2费用开支
人力:
若干网络安全爱好者
设备:
普通PC机
材料:
无
服务:
在发布后应网友要求不断改进
3.3人员
以目前的情况来讲,开发一个完善的远程控制系统需要良好的掌握网络通信编程的技巧和大量系统编程的经验,门槛较高,故相对于其他类别的软件,远程控制软件数量较少。
然而使用系统不需要任何专业知识,只需要会操作电脑即可。
我们的结论是难于开发易于使用,因此要在GUI方面下比较大的功夫让用户的使用体验得到提高。
3.4设备
现有木马比较常用的API为MFC,或者VB运行库。
这样虽然说兼容性比较好,但是还是有个别主机不具备运行条件,我们的目标是让各种NT系统的主机都能顺利运行,因此不能采用MFC来编写。
3.5局限性
现有木马一般有实体进程存在于系统中,容易被查杀。
且比较主流的木马程序都逃不过各类防火墙,一般情况下成功使用的概率很低。
每一个木马的功能一般不能扩展,只有发布新版本才能得到新功能。
4所建议的系统的可行性分析
4.1对所建议的系统的简要描述
YY007将采用动态DLL插入远程进程的方式进行工作,借用存在的系统进程进行通信,最大程度地提高成功通信的概率。
另外我们将采用类反射等技术来制作插件,这样在不频繁改动系统框架的情况下可以自由地加入各类功能。
4.2数据流程和处理流程
动态DLL远程进程插入的概念流程图:
需要注意的是,一般的做法把DLL入口放在DLL_PROCESS_ATTACH语句处,这样有每次进程访问任何DLL,都会调用目标DLL入口函数,造成多次加载的问题,在实现的时候要特别注意,这点MSDN中没有明确说明,是本人在实验是得出的结论。
几个重要的函数:
ENABLEDEBUGPRIV(),提升调试特权级别,顺利插入的前提
AfxGetApp()->m_psHelpFilePath定位help文件路径,植入时定位
GetProcAddress().得到目标进程的内存地址
LoadLibraryA().dll使用必须要用到的函数
值得注意的是,目标DLL不能做出交互界面,否则插入将引起程序崩溃,而且不能对自身进行进程级别的操作以避免宿主进程崩溃。
4.3与现有系统的比较的优越性
采用DLL动态插入的优越性十分明显,除了可以在隐藏性上做大幅度的提高,还有助于减小木马服务端的大小。
而采用插件式的结构可以把木马功能分担给不同的开发者,类似开源项目,对系统的完善和进步的好处不言而喻。
可以说这个架构将是未来木马程序发展的方向
4.4采用建议系统可能带来的影响
采用YY007远程控制系统可能有以下影响:
1.大幅减小Server端尺寸,是木马更加容易捆绑在各种媒体之中。
2.难于被查杀发现,提高可用性。
3.插件丰富,功能全面。
4.可方便移植为非隐藏的控制系统。
4.5局限性
采用DLL动态插入必须有一定的系统权限,Windows机制变化后不保证还能正确进行插入。
4.6技术可行性评价
目前为止已经有人写出比较可行的远程插入方案也经过多人测试,说明在DLL动态插入方面没有技术壁垒。
插件方面借鉴winamp和foobar2000之后发现不存在技术上的问题
唯一要担心的就是能否在计划期限之前顺利完成任务。
由于组员技术实力有限,不保证可以完成,但是必将全力以赴。
4.7可选择的其他系统方案
除了DLLInjection技术,我们还将HookAPI技术做为备选方案。
同样,HookAPI技术有良好的隐藏性,但是结构比较难以掌握。
在DLL插入受到限制的时候,小组可能考虑用这种方案来启动主DLL。
5所建议系统经济可行性分析
5.1支出
网络实验,作为学生必须通过,不计报酬,所以支出为零。
5.2收益
完善之后可能移植为类似VNC的共享软件,否则就无收益。
5.3收益/投资比
不可预算
5.4投资回收周期
不可预算
5.5敏感性分析
由于网络安全问题,在完成后视系统功能的强度来决定是否向互联网公开已经公开程度。
为了社会的安全性,小组在此方面不会有一丝马虎。
6社会条件方面的可行性
6.1法律方面的可行性
拟定为免费软件,但不向公众公开所有源代码。
一旦发现有人利用反汇编等技术对系统进行更改,我们将追究其法律责任。
另外我们只是提供一个远程控制方案,不提供如何安装等技术支持,因此不存在违反有关法规的问题。
6.2用户使用方面的可行性
小组将花大力气来提高GUI,使用户能迅速上手。
另外由于使用本系统的大多为有一定技术的网络安全爱好者,我们大胆推断用户可以顺利使用本系统。
7结论意见
经过以上可行性分析,本小组的结论是可以开发这个系统并且争取在规定时间内完成。