1. 软件是程序、数据和文档的集合体。

  2. 网络攻击中,超过 70% 的漏洞来自应用程序软件。

  3. 移动互联网App存在安全漏洞的比例超过 90%。

  4. 软件面临的安全威胁分为三类,分别为 软件漏洞、恶意代码 和 软件侵权

  5. 漏洞利用的过程:漏洞发现 、漏洞挖掘 、漏洞验证、漏洞利用、实施攻击。

  6. 0day漏洞是指已经被发现(有可能未被公开)但官方还没有相关补丁的漏洞。

  7. 1day漏洞是指厂商发布安全补丁之后但大部分用户还未打补丁时的漏洞,此类漏洞仍然具有可利用性。

  8. //存在漏洞,x*y是int型整数,会爆int(溢出)    c++和java都存在此问题
    long foo(int x, int y)
    {long result= x * y ;return result;
    }
    
  9. int i = -3;
    unsigned short ui=i;
    printf("%u",ui);  //结果为65533,对65536取模
    
  10. char c1='a';
    char c2='b';
    char c3=c1+c2;
    printf("%d,",c3); //结果为-61   ---------->应改为int c3=c1+c2;
    
  11. 软件安全错误一般包含六个方面,分别是 需求说明错误 、设计错误、编码错误、测试错误 、配置错误 和 文档错误 。

  12. 漏洞是引发信息安全事件的根源。

  13. 软件开发过程中,人为错误称为(软件错误),软件中,软件内部的错误称为(软件缺陷 ),软件运行中,不正常的状态称为(软件故障)。

  14. 网络空间包含电子设备、基础设施、应用、数据,还有(人)

  15. 网络安全框架的核心PDRR模型中,P指( 保护 )、D指( 检测 )。

  16. unsigned short int a =32768;
    short int i=a; //-32768 ~ 32767
    printf("%d",i);    //-32768
    a=65535;
    i= a;
    printf("%d",i); // -1
    
  17. int bigint=2147483647;
    printf("%d",bigint++);  //2147483647
    unsigned int z=0;
    printf("%d",--z); //-1
    
  18. unsigned int i=ULONG_MAX;
    int c= -1;
    printf("%d", c==i); //1
    
  19. 栈帧是系统为进程中的每个(函数)调用划分的一个空间。

  20. 指向当前栈帧的栈顶的指针是(ESP),指向栈底的是(EBP)。

  21. 缓冲区溢出指向缓冲区写数据时,没有做(边界)检查,缓冲区的数据超过预先分配的(边界),使得一簇数据覆盖在合法数据上引起的系统异常。

  22. 数据区存储(全局)变量和(静态)变量。

  23. 栈增长方向是从(高)地址到(低)地址;堆增长方向是从(低)地址到(高)地址。 //站高

  24. Win32系统中,进程空间按功能分为4个区域,从低地址到高地址依次为(栈区)、(堆区)、(代码区)、(数据区)。

  25. 程序中所用的缓冲区可以是堆、栈、数据区。 √

  26. 代码区只存放机器代码。 ×------>存放程序汇编后的机器代码和只读数据

  27.   //改错  1.char s1[5];        // ---->char s1[6];2.char s2[]="abcde";3.char *p;4.int i;5.strcpy(s1,s2);6.p=(char *) malloc (strlen(s1));  //----> p=(char*)malloc(strlen(s1)+1);
    
  28.   char s[10];    //----->cin.width(10)cin>>s;cout<<s<<endl;
    
  29. 在C语言的格式化输出中,表示十进制数输出的格式符号是%d,那么表示宽度为6,右对齐的十进制数输出的格式符号是(%6d);表示宽度为6,左补零右对齐的十进制数输出的格式符号是(%06d);输出16进制数的格式符号是(%x);输出字符串的格式符号是(%s);以小数形式输出浮点数的格式符号是(%f);输出十进制无符号数的格式符号是(%u);输出asc码字符的格式符号是(%c);以指数形式输出浮点数的格式符号是(%e);输出指针地址的格式符号是(%p);输出长整型数的格式符号是(%ld)。

  30. unsigned short s=4;
    while (--s >=0) // ---->死循环,应改为while (--s>0)
    {printf("%d",s);
    }
    
  31. 在32位系统中,size_t相当于类型 unsigned int最大值是 4294967295(2^32-1)

  32.   char s1[5];  //---->char s1[6]char s2[5]; //---->char s2[6]char s3[10];    //---->char s3[11]strcpy(s1,"12345");strcpy(s2,"abcde");strcpy(s3,s1);strcat(s3,s2);cout<<s1<<endl;cout<<s2<<endl;cout<<s3<<endl;
    
  33.   char s[10];puts("input a string:") ;gets(s);     // ----> fgets(s,sizeof(s),stdin)cout<<s<<endl;
    
  34. void test(char *c)
    {short s=strlen(c);    //可能会爆shortchar buf[100];cout << "strlen(c)=" << strlen(c)<<endl;if(s<100){strcpy(buf,c);}else{cout<<"overflow!" <<endl;}
    }
    
  35. // n赋初值为10
    n=(2* ++n)*(n = 'a')+ (n>0?1:-1); //----->答案是2135,但编译器不同意
    
  36. 软件生命周期由三个时期构成,分别是**(软件定义)时期、(软件开发)时期和(软件维护)时期**。

  37. 确定软件完成总目标的是(软件定义)时期,由(系统分析员)负责完成。

  38. 软件定义时期,一般分为三个阶段,分别是(问题定义)、(可行性研究)和(需求分析)。

  39. 完成设计和实现任务的是(软件开发)时期,其中系统设计分为(总体设计)和(详细设计)阶段,系统实现分为(编码和单元测试)和(综合测试)阶段。

  40. 使软件能够满足用户长久需求的是(软件维护)阶段。

  41. 软件安全中,软件安全测试和开发过程包括:软件安全(需求分析 )、软件安全(设计 )、软件安全( 编码)、软件安全( 测试)、软件安全(部署)。

  42. 威胁建模可以在软件**(设计)**之初,就帮助发现安全问题,发现风险。

  43. 解决软件产品自身安全实质性的方法是(威胁建模)。

  44. 威胁建模有3种,分别是以**(软件)、(安全)和(资产和风险)**为中心。

  45. 测试人员使用**(威胁模型)**来生成安全测试用例。

  46. 开发团队使用**(威胁模型)**来实现安全控制和编写安全的代码。

  47. 威胁建模的作用可以跨越软件生命周期,一个完整的威胁建模是软件**(设计)、(开发)、(测试)、(部署)运营团队**的代表性输入项。

  48. 设计阶段,由**(软件架构团队)**识别威胁,建立威胁模型。

  49. 威胁建模是循环反复的过程。 √

  50. 软件开发阶段,会发现所有的可能威胁。 ×

  51. FILE *file=fopen("test.txt","w");
    fprintf(file,"%s","hello");     //后面增加fflusf(stdout)
    fclose(file);
    return 0;
    
  52. void change (int * q)    //改成int* & q
    { if(q==NULL) q=new int(20);
    }
    int main(){ int *p=NULL; change(p); printf("%d\n,*p);
    }
    
  53. 威胁建模过程:确定安全目标,创建应用程序概况图,分解应用程序,确定威胁,威胁评估,确定威胁缓解计划和策略,验证威胁,威胁建档

  54.  int foo(char * s){ char *d=new char[10]; if (s==NULL){   //也要释放dreturn 0; }
    strncpy(d,s,10);
    delete[] d;
    return 1;
    }
    
  55. 信息安全三大基本属性:保密性,认证性,完整性。

    保密性:实现保密性的方法一般是对信息加密和分配访问权限

    完整性:实现完整性的方法一般为预防和检测两种机制。

    可用性:为了实现可用性,可以采取备份(实时备份、定时备份)和灾难恢复、应急响应、系统容侵等许多安全措施。

  56. char * s="c language";   //----->char s[]="c language";
    s[0]='C';
    
  57. 函数栈帧包含的信息:前一个栈帧的栈低位置,即前栈帧EBP;该函数的局部变量;函数调用的参数;函数的返回地址RET,用于保存函数调用前指令的位置。

  58. 栈溢出:越界的数组元素覆盖相邻的局部变量,甚至覆盖前栈帧EBP和函数返回地址RET。

  59. 格式化串漏洞的根源:C语言不对数组边界进行检查的缓冲区错误。

  60. 需求分析:头脑风暴,问卷调查和访谈,策略分解,数据分类,主/客体关系矩阵…

  61. 需求分析:核心安全需求,通用安全需求(安全架构,会话管理),运维安全需求,其它安全需求。

  62. STRIDE威胁分类:

    假冒 认证性 攻击者能够伪装成另一个用户或身份 验证主体、验证代码或数据

    篡改 完整性 在传输、存储或归档过程中能够修改数据 访问控制列表、数字签名

    否认 不可否认性 攻击者能够否认攻击 强身份验证、数字签名

    信息泄露 机密性 信息泄露给未授权的用户 加密、访问控制列表

    拒绝服务 可用性 对于合法用户拒绝提供服务 访问控制列表、授权

    特权提升 授权性 攻击者能够跨越最小权限限制 访问控制列表、输入验证

  63. Java类加载器:启动类加载器,标准扩展类加载器,路径类加载器,网络类加载器。

  64. int  **a =new int *[3];
    for (int i=0;i<3;i++){a[i]=new int[2];}delete []a;   //----->应该删除每个a
    
  65.   char *s1="abcd";char s2[5];strcpy(s2,s1);if(s1==s2){  //改为 if(strcmp(s1,s2)==0)printf("equal!");}else{printf("not equal!");}
    
  66. Obj * obj=new Obj[10];
    delete []obj    //释放OObj * obj=new Obj(10);
    delete obj  //释放
    
  67. 代码静态检测:不在计算机上实际执行所检测的程序,而是采用人工审查或类似动态分析的方法。
    代码动态检测:实际运行代码时进行检测的方法。

上述知识是考前整理的,考完之后发现只复习上述知识是远远不够的

【山东科技大学 软件安全 期末复习】相关推荐

  1. 电子科技大学操作系统期末复习笔记(二):进程与并发控制

    目录 前言 进程管理 进程基本知识 程序的顺序执行 前趋图 程序的并发执行 并发程序 进程的定义和特征 进程的特征和状态 操作系统内核 定义 功能 原语 原子操作的实现 操作系统控制结构 进程控制块P ...

  2. 电子科技大学人工智能期末复习笔记(四):概率与贝叶斯网络

    目录 前言 概率 概率公式 贝叶斯公式 链式条件概率 例题 1. 求联合概率分布/边缘概率分布/条件概率分布 2. 灵活运用贝叶斯公式 概率总结 贝叶斯网络 判断独立性 两个事件独立的判断 条件独立性 ...

  3. 电子科技大学人工智能期末复习笔记(三):一阶逻辑

    目录 前言 逻辑基础 命题的定义 命题的真值 原子公式 连词和量词 合式公式的真值表 等价关系 永真蕴含式 置换与合一 消解原理 鲁滨逊归结原理 总结 例题 前言 本复习笔记基于李晶晶老师的课堂PPT ...

  4. 电子科技大学 图论期末复习 公式索引

    title: 图论期末考试复习 date: 2020-08-17 09:01:09 tags: 参考资料:<图论及其应用> 高等教育出版社 张先迪 / 李正良 仅用于方便复习公式查阅,公式 ...

  5. 电子科技大学 图论期末复习 公式快速索引

    title: 图论期末考试复习 date: 2020-08-24 09:01:09 tags: 参考资料:<图论及其应用> 高等教育出版社 张先迪 / 李正良 仅用于复习参考,公式或多有误 ...

  6. 电子科技大学图论期末复习重点(杨春老师强调+往年期末卷子总结)

    附加老师最后一节课画的重点(课堂笔记) 结语:2022年图论试卷很基础,掌握基础80分没有问题的,大家冲冲冲!!!

  7. 网络安全 期末复习 (山东农业大学)

    山东农业大学(任教老师:张亮) 必修,期末复习整理 期末考试结束了,网络安全考的不是很理想,因为所以有关于考试有关的试题及题型所有都不知道,这个总结并不是很全面,希望如果是同一学校的学弟学妹们在在此基 ...

  8. 山东科技大学计算机控制系统期末考试试卷,山东科技大学_计算机操作系统试题A...

    山东科技大学 计算机操作系统 一.单项选择题(每小题2分,共30分) 1. 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量 的变化范围是(d ). A. 1至m B. ...

  9. 【postgresql数据库】数据库整体知识完整版-2023电子科技大学期末复习

    <数据库>重要知识点 作者 内容 发布时间 博客地址 Github Trae1ounG 数据库复习 2023/6/3 Trae1ounG的博客_CSDN博客-软件测试,计算机组成原理,数据 ...

最新文章

  1. python编程在哪里写程序-教你如何编写、保存与运行Python程序的方法
  2. C#WIFI搜索与连接
  3. SAP FICO年结
  4. 鸿蒙开发-使用Storage实现数据存储
  5. 什么原因会导致minor gc运行频繁?
  6. 前端学习(2640):懂代码之登录页login.vue存入用户信息
  7. 计算机网络与通信思维导图,用思维导图描述5G场景
  8. Vscode之运行更新出错
  9. JavaScript特效之显示当前时间
  10. java中如何连接SqlServer2000?
  11. 万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!
  12. c语言串口通信实验报告,单片机串口通信实验报告总结
  13. 解决ajax回调函数不执行success的问题
  14. 主数据管理(Master Data Management)基础
  15. UNIX环境高级编程(APUE)读书笔记
  16. 最新版CameraX入门(拍照、存储展示、切换前后摄像头、手电筒、闪光灯、手势伸缩、双击放大缩小)
  17. github Your account has been flagged.提示情况的解决办法
  18. CAD梦想画图中的“对象显示顺序”
  19. Oracle11g 的下载和安装
  20. 基于STM32F103c8t6的智能垃圾桶项目

热门文章

  1. 中文繁体和简体相互转换tranditional.txt文件
  2. LCD显示屏的保护膜要不要撕掉?
  3. Mybatis Plus轻松上手
  4. MIME 对照表 02
  5. js获取当前年月日时间秒毫秒与使用
  6. 【css要点总结】012 css间距
  7. CocosCreator 源码-index.js讲解
  8. Safari浏览器中input 光标lineheight失效 不居中
  9. linux移动文件夹、重命名文件夹、全局查找一个文件的位置
  10. [Go实战]mac 完全删除 go