信息安全X

我请分析下,信息安全X
最新回答
海枯鱼亡

2024-07-29 05:21:45

实验12 防火墙
一、实验任务(金融城域网防火墙方案)
通过相关检索,结合亲身经历,给出一个防火墙设计案例,包括:
1、应用背景
银行金融行业属于国家重点建设和保护的行业,随着市场经济的全面推进,各金融企业之问的竞争也日益激烈,主要是通过提高金融机构的运作效率,为客户提供方便快捷和丰富多彩的服务,增强金融企业的发展能力和影响力来增强自身的竞争优势。由于服务的多样化,应用增多的同时网络安伞风险也会不断暴露出来,而且由于银行系统有大量的商业机密,如果这些涉密信息在网上传输过程中泄密,并且这些信息如果丢失或泄漏;其造成的损失将是不可估量的。近期,针对某银行系统特殊的业务需求和潜在网络风险,天融信公司提出了一套系统的安全解决方案,有力地保证了该银行网络系统的安全。
2、安全需求分析
目前该银行主要应用业务中,网上银行、电子商务、网上交易系统都是通过Internet公网进行相关操作,由于互联网自身的广泛性、自由性等特点,其系统很可能成为恶意入侵者的攻击目标。银行网络安全的风险来自多个方面:其一 ,来自互联网的风险:银行的系统网络如果与Intemet公网发生联系,如涉及到电子商务、网上交易等系统,都有可能给恶意的入侵者带来攻击的条件和机会。其二 .来自外单位的风险:而且该银行不断增加中间业务、服务功能,如代收电话费等,这样就与其它单位网络互联,由十与这些单位之间不一定是完全信任关系,因此,该银行网络系统存在着来自外单位的安全隐患。其三.来自不信任域的风险:涵盖范围广泛,全国联网的银行,各级银行之问存在着安全威胁。其四,来自内部网的风险。据调查,大多数网络安全事件,攻击米自于内部;有可能发生内部攻击、泄露;导致遭受攻击的事件发生。鉴于存在以上潜在风险,该银行网络需要防范来自不安全网络或不信任域的非法访问或非授权访问,防范信息在网络传输过程中被非法窃取,而造成信息的泄露;并动态防范各种来自内外网络的恶意攻击;对进入网络或主机的数据实时监测,防范病毒对网络或主机的侵害;针对银行特殊的应用进行特定的应用开发;必须制定完善安全管理制度,并通过培训等手段来增强员工的安全防范技术及防范意识等等,将风险防患于未然。
3、方案设计(图、文字)
鉴于以上银行系统可能发生的安全隐患及客户需求,天融信制订出安全,可靠的安全解决方案。首先,保证计算机信息系统各种设备的物理安全是保障整个网络系统安全的前提,这点涉及到网络环境的安全、设计的安全、媒介的安全.保护计算机网络设备、设施以及其它媒体免遭地震、水灾、火灾等环境事故以及人为操作失误或错误及各种计算机犯罪行为导致的破坏过程.另外,对系统、网络、应用和信息的安全要重视,系统安全包括操作系统安全和应用系统安全;网络安全包括网络结构安全、访问控制、安全检测和评估;应用安全包括安全认证和病毒防护;信息安全包括加密传输、信息鉴别和信息仔储.
其次,对于该银行系统可能会存住的特殊应用,要保护其应用的安拿性,必须通过详细 解和分析,进行有针对性地开发,量体裁衣,才能切实保证应用时安全。而建立动态的、整体的网络安全的另外一关键是建立长期的、与项目相关的信息安全服务。安全服务包括:伞方位的安全咨匈、培训;静态的网络安伞风险评估;特别事件应急响应。
另外,除了上述的安全风险外,安全设备本身的稳定性非常重要,为此,天融信安全解决方案中防火墙将采用双机热备的方式。即,两台防火墙互为备份,一台是主防火墙;另一台是从防火墙。当主防火墙发生故障时,从防火墙接替主防火墙的工作。从而最大限度的保证用户网络的连通性。根据该银行的网络结构,天融信把整个网络用防火墙分割成三个物理控制区域,即金融网广域网、独立服务器网络、银行内部网络。
4、经验与教训(尽量加入自己的感悟)
我们此次做出的安全解决方案紧密结合该银行的实际应用,结合了用户需求,因此方案具有很强的针对性,并达到了很好的效果.防范系统漏洞:目前大多数操作系统都存在一些安全漏洞、后门,这些因素往往又是被入侵者攻击所利用。因此,对操作系统必须进行安全配置、打上最新的补丁,还要利用相应的扫描软件对其进行安全性扫描评估、检测其存在的安伞漏洞,分析系统的安全性,提出补救措施。加强身份认证:对应用系统的安全性,也应该进行安全配置,尽量做到只开放必须使用的服务,而关闭不经常用的协议及协议端口号。对应用系统的使用加强用户登录身份认证以确保用户使用的合法性,严格限制登录者的操作权限,将其完成的操作限制在最小的范围内。全面网络安全控制:首先从网络结构布局上,对该银行系统业务网、办公网、与外单位互联的接口网络之间必须按各自的应用范围、安全保密程度进行合理区域划分,以免局部产牛的威胁,传播到整个网络系统。同时,加强访问控制:任内部局域网内通过交换机划分VLAN功能来实现不同部门、不同级别用户之间简单的访问控制;与外单位网络、不信任域网络之间通过配备防火墙来实现内、外网或不同信任域之间的隔离与访问控制;配备应用层的访问控制软件系统,针对局域网具体的应用进行更细致的访问控制;对于远程拔号访问用户的安全性访问,利用防火墙的一次性口令认证机制,对远程拔号用户进行身份认证,实远程用户的安全访问。进而进行安全检测和评估:配备入侵检测系统,对网络违规事件跟踪、实时报警、阻断连接并做臼志;从操作系统的角度,以管理员的身份对独立的系统主机的安全性进行评估分析,找出用户系统配置、用户配置的安全弱点,建议补救措施。
密钥认证:我们引入了通过第三方来发放证书,即构建一个权威认证机构(Ca认证中心)。该银行系统可以联合各专业银行•同构建一个银行系统的CA系统,实现本系统内证书的发交与业务的安全交易。不同的加密传输:对银行普通业务系统,我们建议采用网络层加密设备,来保护数据在网络上传输的安全性。而对网k银行、网上交易等业务系统可以采用应用层加密机制来加密,以保护数据在网上传输的机密性。备份、恢复停储数据:保护数据库最安全、最有效的方法就是采用备份与恢复系统。备份系统可以保存相当完整的数据库信息,在运行数据库主机发生意外事故时,通过恢复系统把备份的数据库系统在最短时间内恢复正常工作状态,保证银行业务系统提供服务的及时性、连续性。
二、相关检索
1、防火墙的定义
防火墙是保障网络安全的一个系统或一组系统,用于加强网络间的访问控制,防止外部用户非法使用内部网资源,保护内部网的设备不被破坏,防止内部网络的敏感数据被窃取。
2、使用防火墙的目的
防止各类黑客的破坏,阻断来自外部网络的威胁与入侵,起着防备潜在恶意活动的作用。
3、防火墙的特征(或典型的防火墙的基本特性)
(1)、广泛性:通过将动态的、应用层的过滤能力和认证相结合,可实现WWW浏览器、HTTP服务器、 FTP等服务器支持;
(2)、对私有数据的加密支持:保证通过Internet进行虚拟私人网络和商务活动不受损坏;
(3)、客户端认证只允许指定的用户访问内部网络或选择服务:企业本地网与分支机构、商业伙伴和移动用户间安全通信的附加部分;
(4)、反欺骗:欺骗是从外部获取网络访问权的常用手段,它使数据包好似来自网络内部。防火墙能监视这样的数据包并能扔掉它们;
(5)、C/S模式和跨平台支持:能使运行在一平台的管理模块控制运行在另一平台的监视模块。
4、目前防火墙的局限性
(1)不能防范内部攻击。
(2)不能防范不通过防火墙的连接入侵。
(3)不能自动防御新的所有威胁。
5、防火墙的基本功能、增值功能
(1) 阻止易受攻击的服务进入内部网;
(2) 控制访问网点;
(3) 集中安全性管理;
(4) 对网络存取和访问进行监控审计;
(5) 检测扫描计算机的企图;
(6) 防范特洛伊木马;
(7) 防病毒功能;
(8) 支持VPN技术;
(9) 提供网络地址翻译NAT功能。
6、防火墙的类型
(1)概念分类:网络层防火墙、应用层防火墙。
(2)技术分类:传统防火墙、分布式防火墙、嵌入式防火墙、智能防火墙。
7、防火墙的主要技术
包过滤技术、代理服务技术、电路层网关、状态检测技术。
8、防火墙的常见体系结构
筛选路由器结构、双宿主机结构、屏蔽主机网关结构、屏蔽子网结构。
9、防火墙设计的原则与策略
设计原则:
安全性、可靠性、扩展性、可升级性、兼容性
防火墙一般采用2个基本设计策略:
(1) 拒绝访问除明确许可以外的任何一种服务,即没有被列为允许的服务都是禁止的。
(2) 允许访问除明确拒绝以外的任何一种服务,即没有被列为禁止的服务都是允许的。
沉鱼落雁

2024-07-29 02:38:04

If(strlen(pstr)%N!=0)
m=(strlen(pstr)/N+1)*N;
else
m=(strlen(pstr)/N)*N;
//////////////////////
"UPDATE students SET 数学成绩 = "+newMath+" WHERE 姓名="+"'"+name+"'"
"INSERT INTO students VALUES"+"("+"'"+number+"','"+name+"',"+m+","+e+","+p+")";
/////////////////////
cout<<100*rand()/RAND_MAX<<endl;
a[(k -100)/10]++;
out_rand();
///////////////////////////
#include "iostream.h"
#include "string.h"
#include "conio.h"
void main()
{
char item[10][21];
int i,j,k;
char t[21];
cout<<"从键盘输入10个学生的英文名:"<<endl;
for(i=0;i<10;i++)
cin>>item[i];
//排序
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;++j)
if(strcmp(item[k],item[j])>0) k=j;
strcpy(t,item[k]);strcpy(item[k],item[i]);strcpy(item[i],t);
}
//输出
for(i=0;i<10;i++)
cout<<item[i]<<endl;
getche();
}
夏了夏天

2024-07-29 01:27:57

第一部分 信息管理技术综合实验
实验7 算法与数据结构分析与设计——10学时,第10-12周
问题1:随机事件的C/C++语言实现。
第1题:产生随机数
(1)函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。
0<= rand()<=RAND_MAX
试问:产生0到100之间的随机数的C表达式是什么?
(2)参考“原型”
#include "iostream.h"
#include "stdlib.h"
#include "time.h" /*需引用的头文件*/
void out_rand()
{
srand(time(0)); //随机种子
for(int i=0;i<10;i++)
{
cout<<100*rand()/RAND_MAX<<endl;
}
}
void main()
{
int n;
while(1)
{
cout<<"1----产生随机数; 2----退出系统"<<endl;
cin>>n;
if(n==1) out_rand();
if(n==2) break;
}
}
(3)设计任务(“好”的算法:时间代价——语句、空间代价——占用“内存”)
利用产生随机数的编程技术,产生一个随机系统48个0到99之间的“需求量”随机数,并按间距为10统计各“需求量”区间的数据个数。
#include "iostream.h"
#include "stdlib.h"
#include "time.h"
void out_rand()
{
int a[48],i,k;for(i=0;i<48;i++) a[i]=0;
srand(time(0));
for(i=0;i<48;i++)
{
k=(99-0+1)* rand()/RAND_MAX+0;
a[(k-0)/10]++;
}
for(i=0;i<100;i+=10)
{
cout<<i<<"----"<<i+9<<"的数据个数: "<<a[(i-0)/10]<<endl;
}
}
void main()
{
int n;
while(1)
{
cout<<"1----产生随机数; 2----退出系统"<<endl;
cin>>n;
if(n==1) out_rand();
if(n==2) break;
}
}
第3题【《信息管理技术》机试题-条件查询问题】:下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件OUT13.DAT中。
部分源程序已经给出。
请勿改动主函数main()和输出数据函数writeDat()的内容。
#include <stdio.h>
int cnt,sum;
void writeDat(); //写盘函数的声明
void countValue()
{ }
void main()
{
cnt=sum=0;
countValue();
printf("满足条件的自然数的个数=%d\n",cnt);
printf("满足条件的自然数的和=%d\n",sum);
writeDat(); //调用写盘函数
}
void writeDat() //写盘函数的实现
{
FILE *fp;
fp=fopen("OUT13.DAT","w");
fprintf(fp,"%d\%d\n",cnt,sum);
fclose(fp);
}
////参考答案/////////
void countValue()
{
int i,thou,hun,ten,data;
for(i=5000;i>=1000;i--)
{
thou=i/1000;
hun=i%1000/100;
ten=i%100/10;
data=i%10;
if(thou+hun==ten+data && thou+hun==(data-thou)*10)
{ sum+=i; cnt++; }
}
}
要求:
(1)调试该程序。
(2)用文字说明countValue()“算法”的控制流程。

第4题【《信息管理技术》机试题-出圈问题】:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能,并调用函数writeDat()把结果p输出到文件JOSE.DAT中。
设n=100,s=1,m=10。
(1)将1到n个人的序号存入一维数组p中;
(2)若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;
(3)重复第(2)步直至圈中只剩下p[1]为止。
注意:部分源程序已经给出。
请勿改动主函数main()和输出数据函数writeDat()的内容。
#include <stdio.h>
#define N 100
#define S 1
#define M 10
int p[100],n,s,m;
void writeDat(void);
void Josegh(void)
{ }
void main()
{
m=M; n=N; s=S;
Josegh();
writeDat();
}
void writeDat(void)
{
int i;
FILE *fp;
fp=fopen("JOSE.DAT","w");
for(i=N-1;i>=0;i--)
{
printf("%4d",p[i]);
fprintf(fp,"%4d",p[i]);
if(i%10==0)
{
printf("\n");
fprintf(fp,"\n");
}
}
fclose(fp);
}
////参考答案/////////
void Josegh(void)
{
int i,j,k,s1,w;
s1=s;
for(i=1;i<=n;i++)
p[i-1]=i;
for(i=n;i>=2;i--)
{
s1=(s1+m-1)%i;
if(s1==0) s1=i;
w=p[s1-1];
for(j=s1;j<=i-1;j++)
p[j-1]=p[j];
p[i-1]=w;
}
}
要求:
(1)调试该程序。
(2)用文字说明Josegh()“算法”的控制流程。
1、“成绩表”——计算“总评成绩”与“名次”关键代码:
F7=D7*0.3+E7*0.7
G7=RANK(F7,$F$7:$F$27)
2、“销售管理”——计算水果的“单价”
关键代码
F4==INDEX(单价!$B$3:$F$10,MATCH(D4,单价!$B$3:$B$10,0),MATCH(C4,单价!$B$3:$F$3,0))
按照“产地”对数据进行排序,分类汇总,用图表——饼图描述
3、运费计算
计算“运费”的关键代码:数学界的分段函数
Function d(s)
If s >= 1000 Then
d = 0.1
ElseIf s >= 750 Then
d = 0.07
ElseIf s >= 500 Then
d = 0.05
ElseIf s >= 250 Then
d = 0.02
Else
d = 0
End If
End Function
用图表——饼图描述
4、商场销售数据处理
Sub huizong()模糊分类汇总
s1 = 0: s2 = 0: s3 = 0: s4 = 0: s5 = 0
For i = 3 To 13
If Left(Cells(i, 3), 2) = "彩电" Then s1 = s1 + Cells(i, 6)
If Left(Cells(i, 3), 2) = "空调" Then s2 = s2 + Cells(i, 6)
If Left(Cells(i, 3), 3) = "微波炉" Then s3 = s3 + Cells(i, 6)
If Left(Cells(i, 3), 3) = "热水器" Then s4 = s4 + Cells(i, 6)
If Left(Cells(i, 3), 3) = "洗衣机" Then s5 = s5 + Cells(i, 6)
Next i
Range("f15") = s1
Range("f16") = s2
Range("f17") = s3
Range("f18") = s4
Range("f19") = s5
End Sub
Function danjia(x) 用VBA计算单价
If x = "彩电V1" Then danjia = 3200
If x = "彩电V2" Then danjia = 4500
If x = "彩电V3" Then danjia = 5800
If x = "空调V1" Then danjia = 1200
If x = "空调V2" Then danjia = 880
If x = "空调V3" Then danjia = 780
If x = "微波炉V1" Then danjia = 120
If x = "微波炉V2" Then danjia = 160
If x = "热水器V1" Then danjia = 860
If x = "热水器V2" Then danjia = 780
If x = "洗衣机V1" Then danjia = 1200
If x = "洗衣机V2" Then danjia = 1800
If x = "洗衣机V3" Then danjia = 2500
End Function
///////////
计算机病毒——主要观点写在答题纸上,主要观点的展开与举例提交电子版到“考试服务器”。

1,举例说明用电子邮件传播病毒的常见方法。
基本观点:
(1)将病毒放在电子邮件的附件中寄给受害者,引诱受害者打开电子邮件附件而传染病毒。
(2)将病毒直接放在电子邮件内寄给受害者,诱使受害者阅读电子邮件而传染病毒。
示例:网上检索,要体现可操作性与防范性。

2,举例说明病毒软件的结构。
基本观点:
(1)传染子程序——用于寻找还没有被传染的可执行文件,将病毒软件执行代码嵌入其中。
(2)引发子程序——定义病毒发作的条件。
(3)破坏子程序——定义具体的破坏操作,例如删除或修改文件。
示例:网上检索,要体现可操作性与防范性。

////////////////////////////////////////////////////////////////////////////////////////////

防火墙——主要观点写在答题纸上,主要观点的展开与举例提交电子版到“考试服务器”。

1,举例说明包过滤路由器的优点。
基本观点:
(1)简单实用。
(2)速度快、效率高。
(3)对用户和应用来讲是透明的。
示例:网上检索,要体现可操作性与防范性。

2,举例说明网关防火墙的类型。
基本观点:
(1)线路网关——为墙外主机和墙内主机建立TCP连接。
(2)应用网关——也称为代理服务器,它是安装在特定计算机内的软件,用于处理外部客户的服务请求。
(3)MAC层网关——通过检查网帧的MAC地址决定是否放行。
示例:网上检索,要体现可操作性与防范性。
第三部分 信息安全技术专题实验(第16、17、18周)——补充讲义
实验10 信息加密与解密——4学时,第16周
1、列换位密码
将明文分割成N列的分组形式。例如:明文是guangzhou is a beautiful city,按照密钥N=4,最后不全的组用任意符号填充。
加密过程如下:
第一步,排列
1234
guangzhouisabeautifulcity
第二步,打断
1234
guan
gzho
uisa
beau
tifu
lcit
y###
第三步,产生密文
ggubtlyuzieic#ahsafi#noauut#
/////////////////////////
#include <iostream.h>
#include <string.h>
#define N 4
void main()
{ int m,i,j;
char p1[80],p2[20][N],p3[N][20];
char pstr[]="guangzhouisabeautifulcity";
//用符号'#'填充明文
m=(strlen(pstr)/N+1)*N;
for(i=0;i<strlen(pstr);i++)
p1[i]=pstr[i];
for(i=strlen(pstr);i<m;i++)
p1[i]='#';
//打断
m=m/N;
for(i=0;i<m;i++)
for(j=0;j<N;j++)
p2[i][j]=p1[i*N+j];
//列换位,产生密文
for(i=0;i<N;i++)
for(j=0;j<m;j++)
p3[i][j]=p2[j][i];
//输出
cout<<"\n明文:";
for(i=0;i<m*N;i++)
cout<<p1[i];
cout<<"\n密文:";
for(i=0;i<N;i++)
for(j=0;j<m;j++)
cout<<p3[i][j];
cout<<endl;
}
////////////////////////////////////////
2、周期换位密码
把明文中的字母按给定的顺序排在一个矩阵中,然后用另一种顺序选出矩阵中的字母来产生密文。例如,给定一个置换F=2、4、1、3,即按第2列、第4列、第1列、第3列的次序排列。
加密过程如下:
第一步,排列
1234
guangzhouisabeautifulcity
第二步,打断
1234
guan
gzho
uisa
beau
tifu
lcit
y###
第三步,周期换位
2413
unga
zogh
iaus
euba
iutf
ctli
##y#
第四步,产生密文
ungazoghiauseubaiutfctli##y#
////////////////////////////////////
#include <iostream.h>
#include <string.h>
#define N 4
void main()
{ int m,i,j;
char p1[80],p2[20][N],p3[20][N];
char pstr[]="guangzhouisabeautifulcity";
//用符号'#'填充明文
m=(strlen(pstr)/N+1)*N;
for(i=0;i<strlen(pstr);i++)
p1[i]=pstr[i];
for(i=strlen(pstr);i<m;i++)
p1[i]='#';
//打断
m=m/N;
for(i=0;i<m;i++)
for(j=0;j<N;j++)
p2[i][j]=p1[i*N+j];
//2413周期换位,产生密文
for(i=0;i<m;i++)
{
p3[i][0]=p2[i][1];
p3[i][1]=p2[i][3];
p3[i][2]=p2[i][0];
p3[i][3]=p2[i][2];
}
//输出
cout<<"\n明文:";
for(i=0;i<m*N;i++)
cout<<p1[i];
cout<<"\n密文:";
for(i=0;i<m;i++)
for(j=0;j<N;j++)
cout<<p3[i][j];
cout<<endl;
}