sqlserver数据库论文
sqlserver数据库论文
SQL Server数据库安全监控系统的设计与实现
【论文关键词】SQLserver 数据库 安全监控系统
【论文摘要】数据库监控信息获取策略的研究内容包括:数据库威胁来源、威胁特征、数据库审计事件、数据库运行性能指标等。通过对数据库所受威胁的研究,建立数据库威胁知识库,可以了解数据库攻击手段、攻击特征、检测信息源,进而制定监控信息获取策略,保证数据库监控信息获取的完备性与可靠性。本文探讨了SQL?Server数据库安全监控系统的实现。
一、系统整体结构
下面本文将分别从横向、纵向以及切向对数据库安全监控系统进行了结构上的再设计,改善了原有系统结构设计上的不足之处,并对其不同的划分结果进行分析。
1、横向结构
从横向看,该系统按照信息获取系统、分析机系统、控制台系统按照功能不同进行了重新的系统模块结构的划分,并补充了实时状态查询模块,增加了数据库安全监控系统安全威胁分析的数据来源,其横向结构如图1所示:
a)信息获取子系统
b)分析机子系统
c)控制台子系统
其中信息获取子系统位于整个系统的底层,是系统运行的基础所在。它采用主机获取的方式,对数据库服务器进行实时的数据信息获取,获取主机以及网络通讯会话轨迹,并对获取的数据进行二次过滤,以减少模块之间传输的数据总量,减轻上层模块的数据分析时间,再将数据通过指定数据传送通道发送到上层分析机子系统,做进一步的处理。
分析机子系统作为整个系统的中间层,其作用在于对从底层接收到的原始数据记录进行进一步的处理。主要是通过该层所包含的分析模块对采集到的原始数据,按照既存于规则库中的规则,进行模式匹配分析,将正常授权访问与非法入侵行为区分开,并把分析的结果存储到日志数据库中。对于危害操作进行报警。
控制台子系统作为人机交互的接口,为用户管理、控制、配置系统并查询入侵记录提供操作界面。它负责控制、管理信息获取子系统和分析机子系统,生成安全规则,接收、存储报警和日志信息;对报警及日志信息进行查询统计;对报警事件做进一步分析处理,并且有开放的报警接口支持更高层次的安全管理平台。
2、纵向结构
从纵向看,与原有系统不同之处在于,新的数据库安全监控系统在采用获取一分析一响应的体系结构,构建面向对象开发和面向构件开发的技术基础上,新引入了面向服务框架思想,实现了获取与分析的分离,通信与业务的分离。其纵向结构如图2所示:
在整个系统中TCP/IP层,即物理网络层,作为底层存在于系统中,在其上构筑的通信托管层则总揽了系统的全部通信工作,是整个系统的总线,支持异步通讯和断忘映传。在这之上的业务托管层可视做所有业务的容器和管理平台,其中最重要的功能则是提供信息注册,以实现信息生产者和信息消费者之间的沟通。在业务托管层的边缘是信息网关,负责将业务数据按照标准协议转化成其他格式数据,以实现和其他系统(包括安全设备)之间的互联、级联。最上层的是具体的业务模块,它们的角色分别为信息生产者和信息消费者,其中信息获取可视做信息生产者,而分析则是信息消费者,响应是信息的二次消费者,也是最终消费者。
传统的AAR框架与面向服务思想的结合,使得这四个层次相对独立,互相之间实现了松祸合,并且因为托管平台也己成形,那么基于这一平台的响应业务插件的开发将会变得非常便捷,从而实现了面向服务和面向构件开发的核心理念随需而变。
同时也实现了系统的分布式结构设计,集中控制与多层管理。整个系统由检测系统、分析系统、控制系统组成,每个子系统都采用层次化设计,业务逻辑与通讯管理分层实现。一个控制系统可以管理多个分析系统,一个分析系统还可以同时支持多达五十个不同系统平台的检测系统。
3、切向结构
若从切面来观察该系统,新系统的关键脉络变得更加清晰明了,两条关键脉络包括:数据和命令,而且互相内部之间实现了高聚合、松祸合,提高了模块的独立化。这里的数据为狭义数据,主要包括了信息生产者向信息消费者提供的信息,而命令则是响应模块对于获取和分析模块进行配置、维护、管理所传送的信息。数据(包括报警数据和实时信息)始终是自下而上的,从被监控数据库采集出来,途经IAS,AES,最后到达MTS。而命令(控制)始终是自上而下的,其中一部分命令由MTS发起(因用户的操作发起或系统维护需要发起)途经AES,最后到达IAS;另一部分由AE发起(因系统维护需要发起)到达IAS。
二、系统工作原理
该系统是一种基于主机探测的实时自动攻击识别和响应系统,运行于有敏感数据需要保护内部网络中。通过采取主机监控的方式,获取用户的数据库操作信息。借助于自身内置的攻击特征数据库,识别违反用户定义的安全规则,进行应用级攻击检查。在寻找到攻击模式和其他违规活动时,可以进行如下反应:控制台告警、记录攻击事件、实时阻断网络连接,同时还可以根据需要对系统进行扩展,实现与防火墙等其他安全设备的联动。
信息获取、分析机以及控制台三个子系统三者之间的交互主要包括以下几个方面:
1、主机报警实现。探头启动之后,将自动实现对于探头所在主机数据库的监控,获取与数据库操作有关的信息,包括数据库操作的SQL语句、登陆的用户名、数据库主机名称、当前系统用户、操作结果(成功或者失败)等信息,并将信息格式化发送到分析机,分析机通过自身的信息规则分析系统,从这些信息当中分离出对数据库安全有危害的操作,并向控制台发送报警,控制台在接受到报警信息之后,由管理员发出对攻击源IP地址行阻断的命令。所发出的阻断命令由分析机转发给探头部分,由探头部分调用系统自身API函数,实现对于指定IP地址的拦截操作,从而有效的实现了对于数据库安全的保护,避免了被进犯的可能。
2、命令的下发。控制台对分析机以及探头进行控制,对它们进行维护更新,并通过查询的方式,获取探头以及分析机的运行状态。命令由控制台发出后,向分析机或者经分析机向信息获取部分传达,再分别由分析机以及信息获取部分的响应模块对命令加以实现。其中控制台所有下达的命令通过指定的端口进行传递,同时分析机以及信息获取系统的命令回复也是由同一端口向上传达。
3、数据的传送。探头、分析机以及控制台三者之间通过指定的端口进行数据的传送,所有发送的数据都进行了统一的格式化处理,以固定的格式进行传递。
参考文献:
1、马应章.SQL标准发展概述[J].计算机应用与软件,2003,11:28-32。
2、谷震离,杜根远.SQLserver数据库应用程序中数据库安全性研究[J].计算机工程与设计,2007,28(15):3717一3719。
3、金烨,曹珍富.一个新的用于移动代理的签名方案[J].计算机工程,2006,32(2),149一150。
求基于 JSP和javabean技术 用JDBC访问sqlserver 或mysql的 网上商城系统 急需毕业论文和源码 !!非常感谢
package dataBase;
import tion;
import Manager;
import edStatement;
import Set;
//import SetMetaData;
import eption;
import ist;
import ;
public class DBHelper {
private Connection con;
private PreparedStatement pstmt;
private ResultSet rs;
//静态语句块,加载驱动
static {
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
}
public ArrayList findBySql(String sql, ArrayList<String> params, Class<?> c) {
con = ();
try {
pstmt=eStatement(sql);
doParams(pstmt, params);
rs=eQuery();
while(()){
/**************************************************/
}
} catch (SQLException e) {
// TODO Auto-generated catch block
tackTrace();
}
return List;
}
//连接数据库
public Connection getCon() {
try {
con = nection(
"jdbc:sqlserver://192.168.2.30:1433;databaseName=数据库名",
"连接数据库名", "密码");
} catch (SQLException e) {
tackTrace();
}
return con;
}
//关闭所有连接
public void closeAll(ResultSet rs, PreparedStatement pstmt, Connection con) {
if (rs != null) {
try {
();
} catch (SQLException e) {
tackTrace();
}
}
if (pstmt != null) {
try {
();
} catch (SQLException e) {
tackTrace();
}
}
if (con != null) {
try {
();
} catch (SQLException e) {
tackTrace();
}
}
}
//对数据进行增、删、改
// insert into xx values(?,?); params={"张三","a"};
public void doUpdate(String sql, List<String> params) {
con = ();
try {
pstmt = eStatement(sql);
doParams(pstmt, params);
eUpdate();
} catch (SQLException e) {
tackTrace();
} finally {
closeAll(null, pstmt, con);
}
}
public void doParams(PreparedStatement pstmt, List<String> params)
throws SQLException {
if (pstmt != null && params != null && () > 0) {
for (int i = 0; i < (); i++) {
ing(i + 1, (i));
}
}
}
}
SQLserver数据库实训总结怎么写?
这个主要要着重写几个方面,你一定要多写,写的详细一点。
1,管理系统的数据库需求【这个算是概况】
2,数据库对象模型设计
【设计核心部分】
3,数据库的创建以及表间关系,存储过程,视图,触发器的设计和定义。【标准定义部分】
4,数据库的优化设计,【这个你要是没有经验,就多测试,多写测试结果】
【着重在测试上多写点啊,比如,20万数据和100万数据的时候,你是如何优化查询的】
少说这里能写个几千字。
5,数据访问组件的代码结构,既然是管理系统,肯定要涉及数据访问。你把这个多写一点,比如不同组件之间的数据访问的差异,优势,弊端,你是如何改进的之类的。
7,BUG调试日志,开发这么个系统,肯定是中途经历了不少的错误和修改,你把这个过程写一点。
8,记录下你对于这个系统从设计到开发的经验,总结。
这么下来,怎么着也得1万字吧,要是再把参考的资料加上,恐怕能打印一小本了。
论文数据库设计怎么写
论文数据库设计需要按照以下数据内容按顺序排列即可。
1、学院数据实体:学院名称、负责人、办公电话、学院编号。
2、学生数据实体:学号、密码、姓名、性别、民族、籍贯、出生日期、身份证号、联系电话、Email、备注、学院编号、所在班级、角色名称、论文编号。
3、教师数据实体:教师编号、密码、学院编号、所在科室、发布选题、教育程度、职称、姓名、性别、政治面貌、联系电话、Email、角色名称、备注。
4、角色数据实体:角色名称、权限名称。权限数据实体:权限名称、角色名称。以上的实体都是基本的数据实体。
由于操作模块的名称对应该权限,在程序初始化时这些数据都应该添加,教师论文管理系统的目的进行论文管理,因此还要包括如下的几个数据实体:
1、论文数据实体:论文编号、学院、作者、刊物名称、论文题目、收录情况、教师编号、学号、影响力、影响因子、引用次数、备注。
2、评审数据实体:教师编号、学号、论文编号、论文题目、评审意见、总分。
将数据概念结构设计转化为SQLSERVER2005数据库系统所支持的实际数据库模型,就是数据库的逻辑结构。在实体以及实体之间的关系基础上,形成数据库中的表格以及各个表格之间的关系。
扩展资料:
论文数据库设计注意事项:
1、标题。标题应鲜明、准确、精练地直接概括所进行的研究实践的主要内容和结果,正标题一般不超过20个字,如需有副标题,副标题一般不超过28个字。
2、内容提要。在主体内容前用200-500字扼要介绍论文的主要内容、采用的方法和得出的主要结论。
3、关键词。按照与论文内容紧密程度,另行依次列出3-5个关键词。
4、英文翻译内容。中文的标题、作者姓名、指导教师姓名、内容提要、关键词应翻译成英文。
参考资料:百度百科-文献数据库
上一篇:论文检测paperpass官网
下一篇:会计毕业论文范文大全5000字