本科学习
文章平均质量分 52
不会vector
系统安全方向PhD在读
展开
-
Linux自主访问控制——有效ID与真实ID
在做毕设的时候,碰到了一个场景:需要在普通用户的情况下调用“特权程序”,来访问受保护的文件。相应知识网络安全课学过,这里再回忆并总结一下。有效ID与真实ID的关系在Unix的设计中,进程与多个用户ID和用户组ID相关联,包括如下:1、实际用户ID和实际用户组ID:标识我是谁,身份的识别,谁运行的程序。也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid(可以用id命令查看)。2、有效原创 2022-03-18 16:09:25 · 1510 阅读 · 0 评论 -
网络安全期末复习
考试题型:七道大题分值:100分(占总评50%)官方划出的考试重点:缓冲区溢出、DDOS、web安全、中间人攻击防御1.缓冲区溢出攻击缓冲区溢出的含义是为缓冲区提供了多于其存储容量的数据,就像往杯子里倒入了过量的水一样。通常情况下,缓冲区溢出的数据只会破坏程序数据,造成意外终止。但是如果有人精心构造溢出数据的内容,那么就有可能获得系统的控制权!如果说用户(也可能是黑客)提供了水——缓冲区溢出攻击的数据,那么系统提供了溢出的容器——缓冲区。更正式的定义:程序企图在预分配的缓冲区之外写数据。2.DD原创 2022-01-06 20:54:30 · 3762 阅读 · 0 评论 -
网络安全——技术与实践(第3版)课后题答案
第八章:密码协议1.计算机网络中使用的好的通信协议,不仅应该具有有效性,公平性和完整性,而且应该具有足够高的安全性。 通常把具有安全性功能的协议称为安全协议,安全协议的设计必须采用密码激素,也称作密码协议。2.为有效地防止中间人攻击,在密钥交换协议中应采用数字签名技术。3.密钥建立协议主要分为采用单钥体制的密钥交换协议和采用双钥体制的密钥交换协议。4.Diffie-Hellman算法的安全性是基于在有限域上计算离散对数的难度,可以用作密钥交换。5.密钥认证分为隐式密钥认证,密钥确证和显式密钥认证三原创 2021-09-08 17:16:14 · 12020 阅读 · 1 评论 -
数据库系统——考前回顾
教材:《数据库系统概论》(作者:王珊等)1-5章应该不是主要内容,先从第六章开始回顾。在读本文的朋友,我想如果你能跟着我的思路顺下来,那么您对本书应该有了一定的了解了。第6章 关系数据理论首先是函数依赖(完全函数依赖,部分函数依赖)和多值依赖。然后学了范式的概念,以及判断范式级别的方法(2NF,3NF,BCNF)。然后学了数据依赖的公理系统,并使用这些定理求闭包和属性集关于函数依赖集的闭包。第7章 数据库设计概述数据库设计是指对一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据原创 2021-06-22 21:37:28 · 163 阅读 · 0 评论 -
网络系统实验:ping不通的问题解决
今天在做网络系统实验时突然出现了ping不通的问题,这里记录一下解决问题的思路,希望能帮到别的出现此问题的人常规思路:1.检查防火墙是否关闭2.ipconfig查看ip地址是否改为同一网段3.可以尝试网线直连,看是否为程序或交换机的问题4.换几根网线,看是否为网线的问题我们在尝试网线直连后发现连网线直连都ping不通!最后发现是此处的配置网络发现没有打开打开之后重新打开cmd,发现这次ping通了!但是过了一会又ping不通了,再次打开此处,发现网络发现又自动关闭了!最后是在此处开启DDS原创 2021-04-06 16:09:37 · 2461 阅读 · 0 评论 -
面试好文推荐
https://www.cnblogs.com/JavaArchitect/p/7586949.html原创 2021-03-07 11:18:24 · 197 阅读 · 0 评论 -
信息安全数学基础(七):运算和群
映射:设A和B是两个集合,R是A和B的元素之间的对应关系,如果R满足:对于A中的每一个元素,通过R在B中都存在唯一一个元素与之对应,则称对应关系R为从A到B的映射。其中A称为原像集,B称为像集。集合A有a个元素,集合B有b个元素 。则集合A到集合B的不同映射有ba个(a轮,每轮b种选择)注:这里可能会出道填空题设S是一个非空集合,S×S到S的映射f叫做S的运算(二元运算);称S是具有运算的集合。运算的性质:设S是一个具有运算 “·”的非空集合。1.结合律如果对S中的任意元素a, b, c都原创 2020-12-20 17:05:48 · 1025 阅读 · 1 评论 -
信息安全数学基础(三):同余式
同余式对应着之前学的等式设m是一个正整数,f(x)为多项式f(x)=an * xn+…+a1 * x+a0则f(x)=0 (mod m)叫做模m同余式若an!=0(mod m),则n叫做f(x)的次数,记为degf,此时上述同余式又称作模m的n次同余式。在模m的完全剩余系中,使得同余式成立的剩余个数叫做同余式的解数同余式求解的基本思路(1) 求解归约( f(x) (mod m)<= f(x) (mod pα)<= f(x) (mod p))说实话没明白什么意思,应该是难度从右往左原创 2020-12-19 19:42:52 · 2195 阅读 · 2 评论 -
信息安全数学基础(四):二次同余式与平方剩余
一.平方剩余设 m 是正整数。若同余式x2≡a (mod m ) 且(a, m)=1有解,则 a 叫做模 m 的平方剩余(或二次剩余);否则,a 叫做模 m 的平方非剩余(或二次非剩余)。是否有解,就看b2-4ac+m*k是否为平方和,但是通常很难用这种方法判断,尤其数很大的时候,所以就有了欧拉判别条件:设p是奇素数,(a,p)=1,则a是模p的平方剩余的充分必要条件是a(p-1)/2=1(mod p)a是模p的平方非剩余的充分必要条件是a(p-1)/2=-1(mod p)并且当a是奇素数原创 2020-12-19 17:25:15 · 1811 阅读 · 2 评论 -
操作系统:文件-系统接口
一.基本概念文件是具有符号名(文件名)的一组相关元素的有序序列,是一段程序或数据的集合。文件系统包含文件管理程序(文件与目录的集合)和所管理的全部文件,是用户与外存的接口,系统软件为用户提供统一方法(以数据记录的逻辑单位),访问存储在物理介质上的信息。文件为外部信息存储提供了统一逻辑接口,文件是逻辑外存的最小分配单元,即数据除非在文件中,否则不能写到外存即,内外部信息的交换存储是以文件为单位的。打开文件open(Fi)对应着:在磁盘上的目录结构中查找Fi,并将其内容复制到内存关闭文件close(原创 2020-12-18 15:15:32 · 331 阅读 · 0 评论 -
inter处理器芯片的史诗级漏洞
上课的时候又有老师提到x86架构下有一些漏洞,搜索之后发现正是这两个老熟人,重新了解之后,这两个实际上都是缓存侧信道攻击。基于缓存的侧信道攻击原理:缓存通过数据共享来加快数据访问,所以缓存命中与失效对应的响应时间是有差别的,攻击者可以利用这种时间的差异性来推测缓存中的信息,从而获得隐私数据。一.Meltdown(恶意数据缓存加载)软件世界的一个基本安全原则就是用户空间的代码(平民阶层,低特权)不可以访问内核空间(管理阶层,高特权),而meltdown和spectre漏洞之所以称为史诗级漏洞,就是因为他原创 2020-12-18 11:24:50 · 338 阅读 · 0 评论 -
信息安全数学基础(五):原根与指标
一.指数及其基本性质1.指数和原根设m是大于1的正整数,a是与m互素的正整数,则使得ae=1( mod m)成立的最小正整数e叫做a对模m的指数,记作ordm(a)。如果a对模m的指数是m的欧拉函数值,则a叫做模m的原根。2.指数的基本性质类似于周期序列u的最小周期p(u)设m>1是整数,a是与m互素的整数,则整数d使得ad=1( mod m)的充分必要条件是ordm(a) | d推论1:设m>1是整数,a是与m互素的整数,则有 ordm(a) | oula(m)即m的欧拉函原创 2020-12-17 20:07:18 · 4178 阅读 · 3 评论 -
信息安全数学基础(二):欧拉函数
这篇博客将复习欧拉函数的定义及性质,然后给出三个关于欧拉函数的重要定理,最后介绍一种加速平方运算的方法(模重复平方计算法)一.欧拉函数的性质定理:设m1,m2是互素的两个正整数,如果k1,k2分别遍历模m1和模m2的简化剩余系,则m2k1+m1k2遍历模m1,m2的简化剩余系所以对于欧拉函数:设m,n是互素的两个正整数,则f(m * n)=f(m)*f(n)欧拉函数值的计算:f(m)=m * Π (1-1/pk)对于素数的幂次,其实就是f(pn)=pn-pn-1二.欧拉定理设m是大于1的原创 2020-12-17 19:33:44 · 1503 阅读 · 0 评论 -
信息安全数学基础(一):同余
一.同余的概念给定一个正整数m,如果a-b被m整除(即m|(a-b)),则称两个整数a,b模m同余,否则叫做a,b模m不同余。同余的判断设m是一个正整数,a,b是两个整数,则a=b(mod m)的充要条件是存在一个整数q使得a=b+q*m其实也就是m|(a-b)二.同余的性质设m是一个正整数,则模m同余是等价关系,即满足:自反性:对任一整数a,有a=a(mod m)对称性:若a=b(mod m),则b=a(mod m)传递性:若a=b(mod m),b=c(mod m),那么a=c(原创 2020-12-17 17:12:32 · 2339 阅读 · 0 评论 -
信息安全数学基础(零):扩展欧几里得算法
由于之前请了两次假,这个算法一直没整明白,实验上网抄的,期中没做出来,特此整理消化一下1.欧几里得除法(带余数除法)(欧几里得除法). 设a, b 是两个整数,其中b>0。则存在唯一一对整数q, r 使得a = b*q + r,0 <= r < b可用反证法证明。2.最大公因数的求法:广义欧几里得除法(辗转相除法)设a, b 是任意两个正整数,则(a, b )=rn,其中rn是广义欧几里得除法中最后一个非零余数,即有(a, b)=(r1, r2)=(r2, r3)=…原创 2020-12-17 16:31:35 · 1355 阅读 · 0 评论 -
密码学:身份认证详解
一.身份认证与数字签名的区别数字签名是防止他人对传输的文件进行破坏,以及确定发信人的身份的手段。而身份认证是确认用户是否为这个用户的手段。(仔细品,不一样)举个例子,A向B发送一条消息,说我下午五点去你家。数字签名可以保证消息是A发送的,且消息内容没有被改变过。下午五点钟,A到B家门口敲门,通过身份认证证实确实是A在敲门,那B就给A开门。如果没有身份认证的话,B能在五点钟直接开门吗?学术点讲,身份认证的目的是鉴别通信中另一端的真实身份,防止伪造和假冒等情况发生。进行身份认证的技术方法主要是密码学方法,原创 2020-12-17 15:04:24 · 5494 阅读 · 0 评论 -
信息安全数学基础(六):素性检验
如何确定一个给定的正整数n是否是素数,称为素性检验问题 (素性测试、素性检测)有两种方法:1.爱拉托斯散 (Eratosthenes)筛法(确定检验),但不适用于检验大素数。2. 利用素数的性质和概率方法,可以检验大的(拟/伪)素数。(概率检验)由于2的时间花费远小于1,所以在实际运用中,我们将具有素数部分性质的一些数称为伪素数。设n 是一个奇合数, 如果对整数b, (b, n)=1,使得 b^(n-1)≡1 (mod n) 成立,则称n为以b为基的拟素数(伪素数)。Fermat素性检验素性检验原创 2020-12-16 19:41:45 · 1762 阅读 · 0 评论 -
软件安全:fuzzing
一.fuzzing的定义Fuzz本意是“羽毛、细小的毛发、使模糊、变得模糊”,后来用在软件测试领域,中文一般指“模糊测试”,英文叫“Fuzzing”。Fuzzing技术是一种基于黑盒(或灰盒)的测试技术,通过自动化生成并执行大量的随机测试用例来发现产品或协议的未知漏洞。二.fuzzing的特点在软件领域有一个著名的bug:苹果手机在锁屏后,用户需要等待128年后才能解锁。而这一bug是一个小孩在玩她妈妈手机时遇到的,因为孩子的思维并不按套路出牌。所以为了尽可能地模拟真实世界中可能会出现的输入(穷举所原创 2020-12-16 14:55:12 · 435 阅读 · 1 评论 -
软件安全(二)通过环境变量实现攻击
环境变量是存储在进程内存中的键值对(name-value pair),用户可以在运行程序前设置环境变量,程序运行时,环境变量会被程序隐式或显示地使用,这为用户通过改变环境变量来影响程序行为提供了可能性2.1环境变量访问环境变量:void main(int argc,char * argv[ ],char * envp[])main函数的第三个参数就指向了环境变量数组,在main函数中,可以使用的envp[ ]数组来获取环境变量值。此外,还可以通过environ(char * *)这个全局变量来原创 2020-12-15 21:31:03 · 842 阅读 · 0 评论 -
软件安全(一)Set-UID特权程序
一.特权程序存在的必要性1.1密码困境shadow文件存放用户密码,如果给普通用户修改密码的权限,那么某用户就可以修改其他用户的密码了,但是不给权限的话,普通用户连自己的密码都没法修改为了解决这种困境,大多数计算机中采取特权程序的方式,例如,unix通过实现一个扩展程序(passwd),使用特权程序帮助用户修改影子文件。特权程序实际上是操作系统保护壳上的窗口,避免因为一刀切造成的功能的局限。这些程序具有普通用户所不具有的额外特权,被叫做特权程序,有两种常见的存在方式:守护进程和set-uid程原创 2020-12-15 16:14:09 · 1190 阅读 · 0 评论 -
密码学:基本的安全协议
1.秘密分割2.秘密共享3.阙下信道4.比特承诺协议内容:Alice把消息m放在一个箱子里并锁住(只有Alice有钥匙可以打开箱子)送给Bob;当Alice决定向Bob证实消息时,Alice会把消息m及钥匙给Bob;Bob 能够打开箱子并验证 箱子里的消息与Alice出示的消息相同,并且Bob确信箱子里的消息在他的保管期间没有被篡改。两个重要性质:隐蔽性,即接收者不能通过接收的箱子来确定承诺值m约束性,发送者不能改变箱子中的承诺值m3.5 1-out-2不经意传输...原创 2020-12-15 11:27:16 · 810 阅读 · 1 评论 -
数字签名的原理和应用
1.数字签名的原理在日常生活中,签名的意义就是签完你的名后,别人可以知道这件事是你做的,而由于每个人笔迹不同,你也无法否认这个名字是你签的。同真实的签名一样,数字签名也是用来证明某条信息是本人发的,而且本人无法否认,他人无法伪造。通常是用非对称加密(RSA)实现数字签名,分为以下几个步骤:1.计算消息的摘要M2.发送方用自己的私钥d对M进行加密,得到S(这里叫作签名,因为M不是一个需要加密的信息,加密的目的是签名),随消息一起发出3.消息发送之后,接收方对消息计算摘要M,再用发送方的公钥对S解密d原创 2020-12-15 09:15:05 · 5571 阅读 · 3 评论 -
加解密算法综合服务系统
n 流密码加密u 密钥流生成方式至少包括 RC4、“LFSR+J-K 触发器”两种方式u 种子密钥可配置n 对称加密u DES 加密/AES 加密u 加密密钥可配置n 非对称加密u RSA 加密算法(自己构造,模数规模<16bit,支持大于 16bit 的消息加密)n D-H 认证协议及增强u 必须有两个参与实体(C/S 模式),必须有网络通信部分u 实现消息完整性验证及来源验证的增强设计散列函数 SHA-1 或 MD5,数字签名 RSA1.仿射加密加密函数:Y=(AX+B原创 2020-12-14 17:21:39 · 2929 阅读 · 0 评论 -
操作系统概念 银行家算法
1.死锁产生的四个条件互斥:一次只能有一个进程使用资源。占有并等待:拥有至少一个资源的进程正在等待获取其他进程拥有的其他资源。非抢占:资源只能在拥有资源的进程完成其任务后才自动释放。循环等待:等待资源的进程之间存在环(存在一组{P0,P1,…,P0}等待过程,这样P0正在等待P1保留的资源,P1正在等待P2,…,Pn-1保留的资源 正在等待Pn保留的资源,而Pn正在等待P0保留的资源。)用图表示如下2.银行家算法思想银行家算法(Banker’s Algorithm)是一个避免死锁(Deadl原创 2020-12-02 20:32:16 · 2018 阅读 · 1 评论 -
计算机系统第六章作业
‘2020 春 第六章 家庭作业6.32和6.33类似,而且都用到6.31的图,可以放在一起说首先,这个高速缓存b=2,有八个组,所以S=8,s=3,而地址有13位,所以t=13-2-3=8位6.32A将0x718转换成2进制0 0 1 1 1 0 0 0 1 1 0 0 0B块偏移量CO由最后位决定 CO=0x0索引CI由4-2位决定CI=(110)2=0X6高速缓存标记CT由高八位决定CT=0X38判断是否命中,遵循,组选择,行匹配,字抽取的顺序原创 2020-12-02 15:09:00 · 421 阅读 · 0 评论 -
计算机系统第五章作业
2020春第 5章家庭作业第 2版 教材 P376~377 5.15 以及 5.17 (只有两题 ( •̀ ω •́ )y)5.15A. 关键路径是%xmm1更新路径上的加法。因为只有加法是依赖于上一次的结果的(sum = sum + 乘法结果),所以该循环的“关键路径”是加法这条链。B. CPE下界是浮点加法的延迟,也就是3C. 整数加法的吞吐量界限是1D. 虽然浮点数乘法需要4到5个周期,但是它没有“数据依赖”,也就是说,每次循环时的乘法不需要依赖上一次乘法的结果,可以各自独立进行。因此原创 2020-12-02 15:07:34 · 408 阅读 · 0 评论 -
计算机系统第三章作业
3.54int decode2(int x, int y, int z){z=z-y;int k=z;k<<=15;k>>=15;return k*(z^x);}3.56A.哪个寄存器保存着程序值x、n、result和mask?result—edi,mask—eax,x—esi,n–ebxB.result和mask的初始值是什么?result=1431655765=0x55555555mask=2147483648=0x80000000C.mask的测原创 2020-12-02 15:06:39 · 405 阅读 · 0 评论 -
计算机系统第二章作业
union {short s;char c;//根据union存储规律,char c存储在内存空间的低八位} un;un.s=0x0001;//将s的值设为0x0001,看看内存中低八位是0x00还是0x01return un.c;2.A 答:没有考虑无符号数与有符号数的区别,如果该字节为负数,按照这样读取是错误的。Bint xbyte_bug(packed_t word, int bytenum){return (int)word<<((3-bytenum)&...原创 2020-12-02 15:05:42 · 355 阅读 · 0 评论 -
湖南大学17年算法设计与分析期末试题
/* * 对当前格子的4种覆盖方法构成板块的3个格子的相对位置(dy,dx) * 因为假定从最左上的格子开始覆盖。 */const int coverType[4][3][2] ={ {{0,0},{1,0},{0,1}}, {{0,0},{0,1},{1,1}}, {{0,0},{1,0},{1,1}}, {{0,0},{1,0},{1,-1}}};vector< vector<int> > board(4);/* * 把b..原创 2020-11-30 21:30:41 · 2710 阅读 · 0 评论 -
湖南大学16年算法设计与分析期末试题
有人看再发17年的,没人点赞评论就不发了A[n]为齐王的n匹马,B[n]为田忌的n匹马对于齐王的每匹马,判断田忌是否能赢,若不能赢,就选择当前速度最慢的马,若能赢,就选差值最小的能赢的马。平局时,根据双方最后一匹马的快慢决定。Int begin=0,end=n-1;For(i=0;i<n;i++){If(B[begin]>A[i]){For(j=begin;j<n;j++){If(B[j]<A[i]) break;}X[i]=j-1;B[j-1]=0;原创 2020-11-25 16:47:48 · 4669 阅读 · 3 评论