软件安全2.docx
- 文档编号:12156789
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:26
- 大小:904.93KB
软件安全2.docx
《软件安全2.docx》由会员分享,可在线阅读,更多相关《软件安全2.docx(26页珍藏版)》请在冰豆网上搜索。
软件安全2
软件工程专业类课程
实验报告
课程名称:
软件安全技术
学 院:
信息与软件工程学院
专 业:
软件技术
学生姓名及学号:
卢泓宇2011222020025
朱汉卿2011222020006
张恒2011222020015
黄家琪2011222020011
李洋2011222020026
指导教师:
郭建东
评 分:
日 期:
2014年 12月 6日
电子科技大学
实验报告
1、实验名称:
信息系统安全实验
2、实验时间和地点
2014年12月6日;4学时;实验楼303
3、实验目的
掌握信息系统的安全需求,充分了解MIS的登录控制机制,掌握登录控制在信息系统中应完成的主要内容是需要的数据,了解信息系统登录控制开发的主要方式。
4、实验设备与环境
1)基本环境要求
计算机实验室,40台以上计算机。
2)最低设备要求
硬盘:
10G以上;
内存:
512M以上;
CPU:
INTEL,讯驰或酷睿平台
3)系统平台要求
WINDOWSXP以上。
5、实验内容及要求
1)实验基础(必要的基础知识)
系统是按照一定的结构组织起来的、完成某种功能目标的多种相互作用、相互依存的元素组成的一个有机整体。
系统的主要特性可以概括为:
整体性—系统的各个部分一定以整体目标为目标,追求全局最优;
目的性—一个系统一定是具有明确目标的,并完成一定的功能;
层次性—一个系统可以分为若干层次和子系统;
边界性—每一个系统都能够明显地区别于其他系统,系统之间有明确的界限;
关联性—系统包括若干元素,元素之间存在一定的关联性;
环境性—系统处于一定的环境之中并受环境影响。
而IS的主要特征包括:
一定是依赖于计算机的;
涉及了计算机的软件和硬件;
实现数据的采集、传递、加工、处理功能。
在一个信息系统的实施过程中,有一些非常典型的问题[3,4,5],通过对文献[3,4,5]的研究并结合工程经验,可以看到对一个信息系统的安全威胁来自于系统的内部和外部:
外部的恶意攻击者;
外部的意外闯入者;
内部的合法授权用户;
内部不当获得授权的用户。
在系统实施中,IS的安全问题常常体现为:
如何使经理或管理者消除对敏感信息失密的顾虑?
系统管理员是否可信?
系统第一次如何启动?
即如何使用户获得第一次权限?
如何建立一个可信的口令机制?
如何确认某个操作人员的行为?
在登录控制界面,完成的主要功能包括:
口令验证;
口令修改;
口令数据的加密;
登录时间记录。
关于登录控制的设计主要考虑:
(1)用户ID
输入用户ID,从权限数据中提取出相应的用户名。
采用用户编号的原因是回避重名,简化输入,同时用户号本身也可以增加一定的安全性。
(2)用户修改口令,而不是系统管理员
系统管理员对用户授权,但是口令由用户在用户界面输入,并加密存储至后台数据库中,以避免系统管理员获取用户口令造成泄密。
(3)初始口令的安全
系统的第一次运行关键是初始口令的赋予,由信息主管(或其他高层)完成用户身份的确认,同时要求用户第一次登录时必须更改初始口令。
(4)口令安全
系统口令安全机制要求:
口令长度限制;
口令字符集限制;
口令有效期限制。
(5)用户封锁
当出现用户多次登录系统失败的情况时,系统将锁定用户的操作并提示,解锁过程必须由系统管理员完成。
2)实验步骤
第1步:
设计和登录控制相关的数据库,写出数据库设计文档;
第2步:
利用ACCESS构建数据库;
第3步:
配置ODBC数据源,作为访问数据库之用;
第4步:
利用VisualBasic或者VisualC++开发系统登录窗口;
第5步:
同上,开发完成后台数据库管理窗口,实现权限管理;
第6步:
验证登录过程,检查数据库中的登录数据。
第7步:
完成实验报告,写出自己的设计思路和对信息系统权限及登录控制内容的考虑,写明自己设计的理由。
3)实验注意事项
(1)数据库的设计应该在课下完成;
(2)文档的写作在课下完成,注意提交;
(3)建议采用VisualBasic实现,开发效率较高。
三、实验开设方式
1)小组实验,建议每组人数3人;
2)无实验授课;
3)无实验占有时间。
用户和管理员登录界面以及后台代码
前台界面:
Class="MainWindow" xmlns=" xmlns: x=" Title="MainWindow"Height="320"Width="303"> 户§登? 录? "Height="39"HorizontalAlignment="Left"Margin="91,12,0,0"Name="Label1"VerticalAlignment="Top"Width="100"FontSize="20"/> 户§名? : 阰"Height="28"HorizontalAlignment="Left"Margin="12,75,0,0"Name="Label2"VerticalAlignment="Top"/> : "Height="28"HorizontalAlignment="Left"Margin="12,144,0,0"Name="Label3"VerticalAlignment="Top"/> 员±登? 录? "Height="26"HorizontalAlignment="Left"Margin="12,190,0,0"Name="CheckBox1"VerticalAlignment="Top"FontSize="12"/> 密ü码? "Height="23"HorizontalAlignment="Left"Margin="12,242,0,0"Name="Button1"VerticalAlignment="Top"Width="98"Click="changePass"/> 录? "Height="23"HorizontalAlignment="Left"Margin="171,242,0,0"Name="Button2"VerticalAlignment="Top"Width="98"Click="login"/> 后台代码: ImportsSystem ImportsSystem.Data.OleDb ImportsSystem.Windows.Data ImportsSystem.Data ImportsSystem.Data.SqlClient ClassMainWindow PrivateSubchangePass(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.RoutedEventArgs) DimchangePassAsWindow1=NewWindow1() changePass.Show() Close() EndSub PrivateSublogin(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.RoutedEventArgs) DimuserAsString=TextBox1.Text DimpassAsString=PasswordBox1.Password DimsqlAsString="selectpassworldfromDatabase3.userwhereUname="+"'"+user+"';" Ifuser="root"Andpass=""AndCheckBox1.IsCheckedThen DimadminAsadmin=Newadmin() admin.Show() Close() Else DimrealPassAsString=fillDataGridView(sql) IfrealPass<>FalseAndrealPass=passThen MessageBox.Show("密ü码? 正y确ā? ) Else MessageBox.Show("密ü码? 错洙? 误ó或ò用? 户§名? 错洙? 误ó") EndIf EndIf EndSub PrivateFunctiongetAccessConnection()AsOleDbConnection DimdbConnectionStringAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\Database3.mdb;PersistSecurityInfo=true" DimdbConnectionAsOleDbConnection=NewOleDbConnection(dbConnectionString) Try dbConnection.Open() CatchExAsException MessageBox.Show(Err.Description) EndTry ReturndbConnection EndFunction PrivateFunctionfillDataGridView(ByValsqlStrAsString) DimDataAdapterAsNewOleDbDataAdapter DimdataSetAsNewDataSet DimDataGridAsNewDataGrid DimdbConnectionAsOleDbConnection=getAccessConnection() IfdbConnection.State.ToString="Closed"Then MsgBox(Chr(13)&"access数簓据Y库a连? 接ó失骸? 败悒? "&Chr(13),,"警ˉ告? ") ReturnFalse EndIf DataAdapter.SelectCommand=NewOleDbCommand(sqlStr,dbConnection) Try DataAdapter.Fill(dataSet,"Table") REMDataGrid.DataSource=dataSet.Tables("Table").DefaultView DimdataTableAsDataTable=dataSet.Tables("Table") DimrowAsDataRow ForEachrowIndataTable.Rows DimcolumnAsDataColumn ForEachcolumnIndataTable.Columns Returnrow(column) Nextcolumn Nextrow ReturnFalse CatchExAsException MsgBox(Err.Description) ReturnFalse Finally dataSet.Dispose() EndTry EndFunction EndClass 管理员界面 前台代码: Class="admin" xmlns=" xmlns: x=" Title="admin"Height="300"Width="420"Loaded="Window_Loaded"> 员±登? 录? "Height="28"HorizontalAlignment="Left"Margin="151,12,0,0"Name="Label1"VerticalAlignment="Top"Width="106"/> 选? "Height="16"HorizontalAlignment="Left"Margin="24,50,0,0"Name="CheckBox1"VerticalAlignment="Top"/> 除y"Height="23"HorizontalAlignment="Left"Margin="71,46,0,0"Name="Button1"VerticalAlignment="Top"Width="50"Click="Button1_Click"/> 密ü码? "Height="23"HorizontalAlignment="Left"Margin="127,46,0,0"Name="Button2"VerticalAlignment="Top"Width="57"Click="Button2_Click"> SelectionUnit="FullRow"SelectionMode="Single"CanUserAddRows="False"> 择? "Width="40"IsReadOnly="False"/> 户§名? "Width="100"Binding="{BindingName}"IsReadOnly="True"/> "Width="100"Binding="{BindingPass}"IsReadOnly="True"/> 否? 锁? 定¨"Width="85"Binding="{BindingLock}"IsReadOnly="True"/> 加ó用? 户§"Height="23"HorizontalAlignment="Left"Margin="190,46,0,0"Name="Button3"VerticalAlignment="Top"Width="62"Click="Button3_Click"/> 定¨用? 户§"Height="23"HorizontalAlignment="Left"Margin="258,46,0,0"Name="Button4"VerticalAlignment="Top"Width="63"Click="Button4_Click"/> "Height="23"HorizontalAlignment="Left"Margin="327,46,0,0"Name="Button5"VerticalAlignment="Top"Width="51"Click="Button5_Click"/> Name="popup"PopupAnimation="Fade"PlacementTarget="{BindingElementName=Button2}"Placement="Center"AllowsTransparency="True"StaysOpen="False"IsOpen="False"Width="250"Height="150"> 修T改? "Height="38"HorizontalAlignment="Center"Name="Label2"VerticalAlignment="Top"FontSize="16"/> 密ü码? : "Height="38"HorizontalAlignment="Left"Name="Label3"VerticalAlignment="Top"FontSize="11"Width="60"Margin="10000"> 认? 密ü码? : "Height="38"HorizontalAlignment="Left"Name="Label4"VerticalAlignment="Top"FontSize="11"Width="60"Margin="10000"> 认? "Height="23"HorizontalAlignment="Left"Name="Button6"VerticalAlignment="Top"Width="57"Click="Button6_Click"Margin="400200"> 消? "Height="23"HorizontalAlignment="Right"Name="Button7"VerticalAlignment="Top"Width="57"Click="Button7_Click"Margin="20000"> 后台代码: ImportsSystem ImportsSystem.Data.OleDb ImportsSystem.Windows.Data ImportsSystem.Data ImportsSystem.Data.SqlClient ImportsSystem.Collections ImportsSystem.Collections.ObjectModel PublicClassadmin PubliclistAsObservableCollection(Ofmember)=NewObservableCollection(Ofmember)() PrivateSubWindow_Loaded(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.RoutedEventArgs) DimsqlAsString="select*fromDatabase3.user" DimresultAsBoolean=False result=fillDataGrid(sql,list) DataGrid1.DataContext=list Ifresult=FalseThen MessageBox.Show("没? 有瓺用? 户§") EndIf EndSub PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.RoutedEventArgs) EndSub PrivateSubButton2_Click(ByVals
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 安全