信息安全课堂练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、如果S盒输入为:123456ABCDEF
000100,100011,010001,010110,101010,111100,110111,101111
(0,2), (3,1), (1,8), (0,11), (2,5), (2,14),(3,11) ,(3,7)
13,8,2,5, 13,11,15,13
D825DBFD
2、假设DES算法的8个S盒都为S5,R0=FFFFFFFF,k1=555555555555(均为16进制),求F(R0,K1)的值。

答:扩展后的R0和K1异或的结果AAAAAAAAAAAA
即1010 1010.......
10 0101 2行5列
第一圈S盒输出结果DDDDDDDD
P盒置换结果BF9DF97B
乘法逆元
定义:如果gcd( a, b )=1,那么
存在a-1,使得a * a-1≡1 mod b,即(a*a-1)mod b =1;
存在b-1,使得b * b-1≡1 mod a,即(b*b-1)mod a =1;
这里,把a-1称为a模b的乘法逆元,b-1称为b模a的乘法逆元。

欧几里得算法
欧几里得算法基于以下定理:
gcd( a, b ) = gcd( b, a mod b )
算法描述:
1、A ←a, B ← b;
2、若B = 0, 则返回A = gcd( a, b );
3、R = A mod B;
4、A ← B;
5、B ←R;
6、转到2。

3、例求gcd(1180(A), 482(B))
解:1180 = 2 * 482 +216
482 = 2 * 216 +50
50 = 3 * 16 + 2
16 = 8 * 2 + 0
A = 2,
B = 0
所以,gcd(482,1180) = 2
4、求7模96的乘法逆元。

答:96 = 13 * 7 + 5
7 = 1 * 5 + 2
5 = 2 * 2 + 1
2 = 1 * 2 + 0
1 = 5 -
2 * ( 7 - 1 * 5) =
3 * 5 - 2 * 7
= 3 * ( 96 - 13 * 7 ) - 2 * 7
= 3 * 96 - 41 * 7
= 3 * 96 - 41 * 7 + 96 *7 - 96 *7
= (96 - 41)*7 - 4* 96
7模96的乘法逆元为96 - 41 = 55
5、求字符串“123456”(ASCII码值31 32 33 34 35 36)的MD5填充消息
答:填充消息:消息长48,先填充1位1,然后填充423位0,再用消息长48,即0x00000000 00000030填充,则:
M[0] = 31323334 M[1] = 35368000
M[2] = 00000000 M[3] = 00000000
……
M[12]=00000000 M[13]=00000000
M[14]=00000000 M[15]=00000030
密钥的产生
RSA公开密钥密码体制中每个参数的计算:
①计算n:用户秘密地选择两个大素数p和q,计算出n pq
②计算φ(n):φ(n) (p 1)(q 1)
③选择e:从[1, φ(n) 1]中选择一个与φ(n)互素的数e作为公开的加密指数
④计算d作为解密指数:用户计算出满足下式的d
ed 1 mod φ(n) 即:(ed –1) mod φ(n) = 0
⑤得出所需要的公开密钥和秘密密钥:
秘密密钥(即解密密钥)SK { d, n }
p、q、φ(n)和d是秘密的陷门(相互不是独立的),不可泄露
RSA加密消息m时(这里假设m是以十进制表示的),首先将消息分成大小合适的数据分组,然后对分组分别进行加密
每个分组的大小应该比n小
设ci为明文分组mi加密后的密文,则加密公式为
ci=mie (mod n)
解密时,对每一个密文分组进行如下运算:
mi=cid (mod n)
(encryption discryption )
6、举例RSA的加/解密过程
选p=5,q=11,则
n= pq = 55,φ(n) = (p−1)(q−1) = 40
随机选择e (与φ(n)互素)设e=7
d要满足ed 1 mod φ(n)
40 = 5 * 7 + 5
7 = 1 * 5 + 2
5 = 2 * 2 + 1
2 = 2 * 1 + 0
公开密钥:{7,55}
秘密密钥:{23,55}
5 = 40 - 5 * 7
2 = 7 - 1 * 5
1 = 5 -
2 * 2
1 = 5 -
2 * (7 - 1 * 5)
= 3 * 5 –2 * 7
= 3 *(40 –5 * 7) –2 * 7
= 3 * 40 –17 * 7
= (40 - 17) * 7 –4 *40
所以,d = 23
ed = 7 * 23 = 161
7、假设需要加密的密文信息c=16,选择e=3,p=5,q=11,试使用RSA算法求明文。

8、如果p=5, q=7, e=5, m=2, 求密文
n = pq = 35, c =me mod n
所以,c = 32
9、在RSA算法中两个质数p=17,q=11,加密密钥e=7,计算密钥d。

10、(e, n) = (13, 77),接收到的密文是c = 10,求明文m
答:ci=mie (mod n) mi=cid (mod n)
n = pq = 77,p和q是素数,所以p = 7,q =11
φ(n) = (p−1)(q−1) = 60
ed 1 mod φ(n) , e = 13, 所以d = 6
m= cd mod n = 10 6 mod 35 = 15
算法分析
如果明文mi同n不是互为素数(m 取p或q ),就有可能出现消息暴露情况。

一个明文同n有公约数的概率不大于1/p+1/q,因此,对于大的p和q来说,这种概率是非常小的。

11、(e, n) = (5, 35),接收到的密文是c = 10,求明文m
答:ci=mie (mod n) mi=cid (mod n)
n = pq = 35,p和q是素数,所以p = 5,q = 7
φ(n) = (p−1)(q−1) = 24
ed 1 mod φ(n) , e = 5, 所以d = 5
ed mod φ(n)= 10 5 mod 35 = 5
m= cd mod n
12、设素数p = 13,本原根a =2,Alice取随机数x = 7,Bob取随机数y = 4,求秘密密钥k。

答:X = 27 mod 13 = 11
Y = 24 mod 13 = 3
k = Yx mod 13 = 37 mod13= 3
k’= Xy mod13 = 114 mod 13 = 3
所以秘密密钥k为3
13、在Diffie-Hellmn中,公共素数p=11,本原根a=2
①如果用户A的公钥X=9,则A的私钥x?
②如果用户B的公钥是Y=3,则共享密钥k为多少?
14、用户A需要通过计算机网络安全地将一份机密文件传送给用户B,这份机密文件数据量非常大,B希望A 今后对该份机密文件无法抵赖论,已知:
①A与B共享一对对称密钥K1;
②A有公、私钥(PKB,PKA, SKA)B拥有公、私钥(PKA,PAB,SKB);
③A与B事先已经商定一个共有哈希函数
要求:选取上述已知条件,设计用户A与用户B完整传递机密信息的过程
①利用哈希函数生成消息摘要H(m)保证文件传输的完整性
②利用A的公钥对哈希后的消息进行签名sigPKA(H(m)),以实现A对文件的无法抵赖
③利用对称密钥对明文信息加密,以实现大文件信息的加密E K1(m+H(m))
④A利用A的公钥对K1加密,B用A的私钥解密,保证密钥传递的安全性
15、下列公钥密码分配体制可能受到的攻击,如何改进使该密钥分配具有保密和认证功能
①A向B发送自己产生的公钥和A的身份;
②B收到消息后,产生对称密钥Ks,用公钥加密后传送给A;
③A用私钥解密后得到Ks。

①中间人攻击,攻击者可以截获用户A的数据冒充A生成公私钥对,将生成的该公钥发送给用户B,用户B 使用攻击者的公钥签名,发送给A,攻击者截获后用私钥解密,查看信息
②密钥交换双方通过数字签名和数字证书相互认证可以挫败中间人攻击
③需要一个可信任的第三方CA,它负责验证所有人的身份,CA首先认真检查所有人的身份然后给他们颁发数字证书,证书包括持有人的信息和他的公钥,还可以有其他更复杂的信息,数字证书不可被篡改
用户A用户B

16、
Linux文件访问控制
例:chmod命令
数字类型改变权限
R=4 w=2 x=1 例own=rwx=4+2+1=7 ;
[root@localhost root]$ chmod 777 aa.txt
符号类型改变权限
格式:chmod [who] op permission file
who表示命令中指定的用户的类型
u——用户,即文件属主
g——属主用户的同组用户
o——除文件属主和同组用户外的所有其他用户
a——所有用户(默认)
第一位u,第二位g,第三位o
op:+,-,=
permission: r,w,x
强制访问控制
根据主体和客体的敏感等级和读写关系有4种组合:
1、下读:主体级别大于客体级别的读操作
2、上写:主体级别低于客体级别的写操作
3、下写:主体级别大于客体级别的写操作
4、上读:主体级别低于客体级别的读操作
下读、上写方式则保证了信息的安全性,上读、下写方式只能保证数据的完整性
SECRET [ALPHA]不能写文件
黑客必备DOS 命令
nbtstat
该命令使用TCP/IP 上的NetBIOS 显示协议统计和当前TCP/IP 连接,使用这个命令你可以得到远程主机的NETBIOS 信息,比如用户名、所属的工作组、网卡的MAC 地址等。

基本的参数:
-a 通过远程主机的机器名称得到它的NETBIOS 信息
-A 通过远程主机的IP 得到它的NETBIOS 信息
-n 列出本地机器的NETBIOS 信息
-o 显示与每个连接关联的进程标识符 (ID)
当得到了对方的IP 或者机器名的时候,就可以使用nbtstat 命令来进一步得到对方的信息了,这又增加了入侵的保险系数
ping
-t 表示将不间断向目标IP 发送数据包,直到我们强迫其停止。

如果你使用100M 的宽带接入,而目标IP 是56K 的小猫,那么要不了多久,目标IP 就因为承受不了这么多的数据而掉线,一次攻击就这么简单的实现了 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。

结合-t 参数一起使用,会有更好的效果
-n 定义向目标IP 发送数据包的次数,默认为4次。

如果网络速度比较慢,4次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP 是否存在,那么就定义为一次
ping 命令可以快速查找局域网故障
netstat
-a 查看本地机器所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息 可以看出本地机器开放有FTP 服务、Telnet 服务、邮件服务、WEB 服务等。

用法:netstat -a IP -r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。

用法:netstat -r IP
常用:netstat –an| findstr 5059
net
net view :使用此命令查看远程主机的所以共享资源。

命令格式为net view \\IP
把远程主机的某个共享资源影射为本地盘符,图形界面方便使用。

命令格式为net use x: \\IP\sharename. 查看本机连接:net use
与别的机器建立IPC连接,net use \\IP\IPC$ “password”/user:“name”,然后就可以:copy nc.exe \\192.168.0.7\admin
net start:使用它来启动远程主机上的服务,格式:net start servername
net stop
shutdown
shutdown:-a取消关机
shutdown:-s 关机
shutdown:-f强行关闭应用程序
shutdown:-m \\计算机名控制远程计算机
shutdown:-i显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数
shutdown:-l注销当前用户
shutdown:-r关机并重启
shutdown:-s -t 时间设置关机倒计时
shutdown:-h 休眠
at 23:00 shutdown -s -f -t 60
finger:查看所有的登陆用户
history:显示系统过去运行的命令
last: 显示系统曾经被登陆的用户
netstat: 查看现在的网络状态
who: 查看谁登陆到系统中
cp /dev/null /var/log/wtmp :清空last记录
useradd:建立账户命令
groups:查看某人的Group
ps -aux: 显示所有包含其他使用者的进程
ps -aux| grep services
killall -9 进程名或kill -9 进程pid
wall :将讯息传给每一个mesg 设定为yes 的上线使用者,例:wall I will restart this computer
id: 查看自己的UID和GID
黑客必备Linux命令
service:
service <service> start
启动指定的系统服务<service>
service <service> stop
停止指定的系统服务<service>
service <service> restart停止然后再启动
例如:service oracle start
service oracle stop
service oracle restart
17、小章是公司IT部门新来的Linux SA,负责Linux Server 的日常管理与维护,确保应用的持久高效运行。

某天小章被突然响起的短信铃声吵醒,发现是Linux Server 告警。

登录服务器,发现Linux Server 的负载很高,无论是执行命令,还是查看日志,系统的响应都很慢。

查看进程,发现Apache(Web 服务)的进程对系统CPU 和内存的占用偏高,以致系统负载很高。

找到问题,接下来就是把Apache重启,释放内存和cpu 的占用。

OK,问题终于解决了。

访问Web 服务,发现并不能正常访问,提示“连接错误”。

奇怪了,Apache 已经重启,并正常运行了,怎么会无法访问的呢。

又是一番仔细排查,发现那个那人十分烦人的防火墙不知什么时候打开了,阻断了web服务请求。

关闭防火墙,再次访问web服务,OK了!
根据以上情景,回答下列问题
1)如何查看系统负载?
uptime 或者top
2)查看系统中所运行的进程的命令是什么?
ps
3)杀死Apache服务进程(Apache 服务的进程是httpd)的命令是什么?
kill -9 httpd
4)如何关闭linux 的防火墙(防火墙的服务为iptables)?
service iptables stop
5)系统日志功能由哪个服务提供?
syslog
文件和目录的安全
文件和目录权限的管理涉及重要目录的安全问题,包括以下目录:
/bin:保存引导系统所需的全部可执行程序及常用的命令。

只允许超级用户进行修改。

应把该目录设置在PATH 环境变量的最前面
/boot:存放系统初启时所需的一些数据和文件。

如该目录被破坏,系统就不能启动
/dev:包含有链接硬件设备的文件,它的存取权限应当是775,并且应属root所有。

设备文件使用权限设置不当,能给系统安全带来影响。

例如/dev/mem是系统内存,用cat命令就可以在终端上显示系统内存中的内容
/etc:该目录下的passwd、group、shadow 、inittab等文件是系统正常工作时所用的。

/etc中的文件是黑客首选的攻击目标。

$HOME:是各个用户的主目录,一般位于/home目录下。

该目录的名称一般与用户的登录名相同。

超级用户的主目录在/root下。

18、Linux系统中如果发现异常进程1.exe,如何结束这个进程?linux的用户登录日志文件是什么,在哪个目录下面?
1.ps –ef 确定要结束的进程pid
2.Kill -9 –pid
3.在/var/log/secure下
19、sql注入防护通常针对编码进行安全加固。

以下哪一个不属于加固的范畴?( D )
A.使用参数化语句
B.验证输入
C.规范化
D.使用web安全防火墙
20、已知某个链接存在SQL注入漏洞,网址是/product.asp?id=20,以下哪个URL访问之后,页面不会报错( C )。

B. /product_more.asp?id=20 and 1=2
C. /product_more.asp?id=20 and 1=1
D. /product_more.asp?id=20 and 99*9<100
21、关于SQL注入说法正确的是(D)
A. SQL注入攻击是攻击者直接对web数据库的攻击
B. SQL注入攻击除了可以让攻击者绕过认证之外,不会再有其他危害
C. SQL注入漏洞,可以通过加固服务器来实现
D. SQL注入攻击,可以造成整个数据库全部泄露
22、SQL注入通常会在哪些地方传递参数值而引起SQL注入?(D)
A.web表单
B.cookies
C.url包含的参数值
D.以上都是
23、在OSI/RM中,各层都有差错控制过程。

试指出下列每种差错发生在OSI的哪些层:
(1) 噪音使传输链路上的一个0变为一个1。

物理层
(2) 一个分组被传送到错误的目的站。

网络层
(3) 收到一个序号错误的帧。

数据链路层
(4) 通信子网交付给一个终端的分组的序号错误。

传输层
(5) 一个打印机正在打印,突然收到一个错误的指令要打印头回到本行的开始位置。

应用层
(6) 在一个半双工会话中,正在发送数据的用户突然开始接收对方发来的数据。

会话层
24、OSI的哪一层分别处理以下问题:
(1) 把传输的比特划分为帧。

数据链路层
(2) 决定使用哪条路径通过通信子网。

网络层
(3) 提供端到端的服务。

传输层
(4) 为了数据的安全将数据加密传输。

表示层
(5) 光纤收发器将光信号转为电信号。

物理层
(6) 电子邮件软件为用户收发邮件。

应用层
(7) 提供同步和令牌管理。

会话层
25、
26、。

相关文档
最新文档