软件安全2.docx

上传人:b****5 文档编号:12156789 上传时间:2023-04-17 格式:DOCX 页数:26 大小:904.93KB
下载 相关 举报
软件安全2.docx_第1页
第1页 / 共26页
软件安全2.docx_第2页
第2页 / 共26页
软件安全2.docx_第3页
第3页 / 共26页
软件安全2.docx_第4页
第4页 / 共26页
软件安全2.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

软件安全2.docx

《软件安全2.docx》由会员分享,可在线阅读,更多相关《软件安全2.docx(26页珍藏版)》请在冰豆网上搜索。

软件安全2.docx

软件安全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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1