- 0
- 0
- 约2.38千字
- 约 24页
- 2026-02-11 发布于北京
- 举报
安全编码
课程内容软件安全开发知识体知识域安全编码知识子域软件安全编码原则软件漏洞含义及分类安全编程基础Web应用安全编程数据安全编程
知识域:安全编码知识子域:软件安全编码理解通用安全编码准则:验证输入、避免缓冲区溢出、程序内部安全、安全调用组件、禁止使用不安全函数等理解使用安全编译技术对提高编码安全水平的作用,了解常用安全编译技术理解源代码审核的目的及方式,了解常见源代码静态审核工具
通用安全编码准则验证输入避免缓冲区溢出程序内部安全安全调用组件禁止使用不安全函数
验证输入安全程序第一道防线是检查每一个不可信的输入DirectXMIDI库,难以检查所有的输入,可能导致IE被恶意利用检查、验证或者过滤输入不让恶意数据进入程序后续处理类似网络中部署防火墙何处检查最初接收数据时(第一次)使用数据时
验证输入——常见输入源命令行参数数量、数据格式、内容环境变量环境变量可能超出期望有的环境变量存储格式存在危险文件不信任可以被不可信用户控制的文件内容不信任临时文件网络来自网络的数据是“高度不可信的”其他来源
验证输入——常见数据类型字符串确定合法范围,拒绝非法字符(串)0(NIL)行结束编码0x0a(unix)0x0d0x0a(dos,windows)0x0d(APPLEMacOS)0x85(IBMOS/390)特定字符系统字符分割字符
验证输入——常见数据类型数字数字检查(正则表达式/ASCII值)负数检查(大数溢出为负数)Sendamil攻击合法范围检查文件名最好不让用户设置文件名避免特殊字符./--rf../com1
验证输入——常见数据类型电子邮件地址限制合法的电子邮件地址UTF-8变长编码URI/URL非法地址在合法地址后面增加恶意内容
避免缓冲区溢出缓冲区溢出缓冲区:包含相同数据类型的实例的一个连续计算机内存块溢出:数据被添加到分配给该缓冲区的内存块之外外部数据比目标空间大是一个非常普遍而且严重的问题
避免缓冲区溢出溢出后果攻击者可以使远程服务程序或者本地程序崩溃攻击者可以设计溢出后执行的代码C/C++语言语言特性决定大量的库函数存在溢出strcpy、strcat、gets等其他语言调用C语言库C#允许设置“不安全”例程
避免缓冲区溢出——解决办法解决办法编码避免缓冲区溢出填充数据时计算边界、动态分配内存、控制输入使用替代的安全函数或函数库使用没有缓冲区溢出问题的函数:strncpy、strncat、C++中std:string使用替代库:Libmib、libsafe使用更新更安全的编译环境,打开具有安全防御机制的安全编译选项StackGuard、ProPolice、/GS非执行的堆栈防御不可在堆栈上执行代码
程序内部安全程序内部接口安全程序内部接口数据的检查assert异常安全处理检测异常,安全处理各种可能运行路径检测到某些错误行为/数据,必须以合适的方式处理,保证程序运行安全必要时立即拒绝服务,甚至不回送详细的错误代码
程序内部安全最小化反馈避免给予不可靠用户过多的信息成功或失败作为跟踪检查的日志可以记录较为详细的信息认证程序在认证前尽量少给信息(版本)如果程序接受了密码,不要返回它避免拒绝服务攻击输入错误尽快返回设置超时延时服务
程序内部安全避免竞争条件访问共享资源时(文件/变量)没有被适当地控制使用原子操作使用锁操作——避免死锁安全使用临时文件很多安全漏洞发生在访问已知文件名或可猜测的临时文件时
安全调用其他组件应用程序实际上几乎都不会是自包含的,它们通常都会调用其他组件底层的操作系统数据库可重用的库网络服务(WEB、DNS)
安全调用其他组件组件安全检查组件文档,搜索相关说明gets随机数使用经过认可的组件尽可能不调用外部命令,如果不得已要调用,必须严格检查参数system、open、exec、
安全调用其他组件返回值安全一定要检查返回值,调用是否成功成功时检查返回值,是否按照期望值处理数据中可能含有NUL字符、无效字符或其他可能产生问题的东西错误时检查错误码传递数据安全视安全需求和安全环境考虑传输加密,包括密码算法和安全协议
禁止使用不安全函数编码中禁止使用的危险函数举例禁止使用strcpy,wcscpy,trcpy,strcpy,_tcscpy,_ftcscpy,_mbscpystrcat,wcscat,trcat,strcat,_tcscat,_ftcscat,_mbscatvsprintf,vswprintf,wvsprintf,wvnsprintf,_vstprintfsprintf,swprintf,wsprintf,wnsprintf,_stprintfgets,_getws,_getts
安全编译使用最新版本编译器与支持工具
您可能关注的文档
- 三角函数诱导公式教学设计与应用实例.pdf
- 青春相册:正视性别差异与偏见,促进健康交往.pdf
- 三角函数诱导公式教学设计:公开课优质课信息融合.pptx
- 职称评审工作流程与国机复审流程.pdf
- 教学相长共促成长——青浦佳佳幼儿园教师带例分析.pdf
- 软件安全开发与安全编码实践指南.pdf
- 英语听力测试:短对话与长对话部分详解.pdf
- 苏教版三年级语文下册词语专项练习.pdf
- 2026广东佛山市顺德区龙潭小学招聘语文、心理临聘教师3人备考题库及一套完整答案详解.docx
- 2026年云南公务员考试备考题库(8925人)及答案详解参考.docx
- 2026年上海市针灸经络研究所招聘工作人员2人备考题库及答案详解(基础+提升).docx
- 2026广东东莞市应急管理局第一次招聘编外聘用人员1人备考题库及答案详解(考点梳理).docx
- 2026年青海省省直事业单位面向社会公开招聘工作人员备考题库附参考答案详解(黄金题型).docx
- 2026年甘肃炳灵寺文物保护研究所合同制工作人员招聘备考题库及答案详解(名校卷).docx
- 2026年安徽省合肥市肥西县上派镇乐平路小学临聘教师招聘备考题库带答案详解(预热题).docx
- 2025北京大学深圳研究生院培训中心培训专员招聘5人(广东)备考题库及答案1套.docx
- 2026四川攀枝花市西区民政局招聘临聘人员1人备考题库及答案1套.docx
- 2026中国农业科学院第一批招聘18人(油料作物研究所)备考题库完美版.docx
- 2026中国人民银行清算总中心直属企业深圳金融电子结算中心有限公司招聘14人备考题库附答案.docx
- 2025年宁波余姚市妇幼保健院医共体第二次招聘编外人员4人笔试备考试题附答案解析.docx
最近下载
- 园林工程计量与计价全套教学课件.pptx
- 比较思想政治教育(第二版) 005 比较思想政治教育(第二版) 第五章.pptx VIP
- TSZEVA009-2024 电动自行车公共充电设施 第1部分:公共充电桩及编制说明.pdf VIP
- 干细胞复合物及其制备方法和PGA在治疗骨骼或器官损伤的产品中的应用.pdf VIP
- 2026元旦主题班会:马年猜猜乐,马年成语(30词)课件(共34张PPT).pptx VIP
- 吸塑设计及制造教程文件.ppt VIP
- 2025年兵检的心理测试试题及答案.docx VIP
- 市政公用设施建设项目经济评价办法与参数.pdf VIP
- 中职《金属加工与实训-基础常识与技能训练》--第5章-金属冷加工基础(中)-云天课件.ppt VIP
- TSZEVA009-2024 电动自行车共享换电设施 第1部分:共享换电柜及编制说明.pdf VIP
原创力文档

文档评论(0)