软件开发毕业论文(最新10篇)
软件开发毕业论文(最新 10 篇)
软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程,一般是用某种程序
设计语言来实现的,本篇文章就向大家介绍几篇软件开发毕业论文的范文,让大家了解一下软
件开发毕业论文的写作技巧,大家可以阅读以下范文作为一个参考。
软件开发毕业论文最新 10 篇之第一篇:应用软件开发安全编码研究
摘要:绝大多数的软件漏洞来源于软件开发阶段,系统开发时期避免漏洞要比运维时期整
改漏洞成本低很多。输入输出检验、身份认证、密码管理、错误处理、系统配置、文件管理等
各个方面都涉及安全编码,对于每一个具体信息系统的开发,都会面临各种安全隐患和威胁,
涉及的理论和技术范围较广,超出一般开发人员的知识储备。面对这种问题,通过对开发中的
各个方面的安全隐患进行分析,归纳总结出每一类问题安全预防的有效方法,以方便开发人员
采取具体措施,从而减少常见的软件漏洞,提升软件安全水平。
关键词: 信息系统; 密码; 漏洞; 安全;
在软件开发过程中,由于部分开发者网络安全意识淡薄,缺乏安全编码技术,同时软件正在向
大型化和复杂性发展[1],软件安全编码的检查工作日益困难,造成了代码安全性较差的结果,
从而导致大量的系统漏洞[2],给企业带来巨大安全隐患,在系统开发阶段引入安全开发措施是
减少系统漏洞,降低安全损失的重要手段。
1 输入验证
1.1 注入攻击
"存储程序"原理是计算机最核心的理论,这个理论要求在于指令和数据的分离,各种注入攻击
最基本的原理正是通过将指令以数据的形式录入到系统中,再根据系统的验证不严格的漏洞在
某种条件下执行,例如 sql 注入、xss 攻击等攻击。所以在编写程序时要验证所有来自客户端的
数据,对所有的数据源进行识别,数据的输入不仅仅来源于客户端的录入,也包括数据库、文
件流等数据来源,例如,用户将注入到数据库中,如果这段代码只在数据库中存储着,并不会
对程序造成破坏,但是一旦被读入到内存中就可能引起不可预知的后果,所以在读入数据库数
据的时候也须对数据源进行验证。
1.2 验证规则
程序中会出现多处输入场景,应当为应用程序应提供一个集中的输入验证规则。验证规则包括
数据类型、范围、长度、所有参数、URL、HTTP 头信息(比如:cookie 名字和数据值),尽
可能采用"白名单"形式,验证所有的输入,如果潜在的危险字符(例如<>"'%()&+\\'\"等)必
须被作为输入,确保对其有特殊控制。对于特殊字节,例如验证空字节(%00)、验证换行符
(%0d,%0a,\r,\n)、验证路径替代字符"点-点-斜杠"(/或\)等,需要被单独验证。
2 输出验证
2.1 输出威胁
"输入过滤,输出转义"是一个基本的安全规则。xss 攻击很大程度需要借助于输出时攻击代码
的有效执行,虽然输出攻击针对的往往是用户,威胁相对输入攻击会低一些,但一方面系统管
理员也是用户之一,同时随着网络安全法等法律的严格实施,系统对其用户负有网络安全责
任。
2.2 规则验证
为每一种输出编码方法采用一个标准的、已通过测试的规则,通过语义输出编码方式,对所有
返回到客户端的来自应用程序信任边界之外的数据进行编码。针对SQL、XML 和LDAP 查
询,语义净化所有不可信数据的输出,对于操作系统命令,净化所有不可信数据输出。
3 身份验证和密码管理
3.1 验证范围
首先,需要确定软件的身份验证的范围,除了公开网页内容,对所有的网页和资源要求身份验
证,任何没有经过身份验证的访问都会被重定向到身份认证页面,同时对于未成功的验证需要
安全的处理。
3.2 验证方式
开发软件时应使用单独的身份验证模块,建立并使用标准的、已通过测试的身份验证服务,其
中包括利用库文件请求外部身份验证服务,从被请求的资源中隔离开,并使用重定向或集中的
身份验证控制。所有的管理和账户管理功能至少具有主要身份验证机制一样的安全性,所有的
身份验证控制应当安全的处理未成功的身份验证。如果应用程序管理着凭证的存储,那么应当
保证只保存通过使用强加密单向salted 哈希算法得到的密码,并且只有应用程序具有对保存密
码和密钥的表/文件的写权限,只有当所有的数据输入以后,才进行身份验证数据的验证。
3.3 验证错误处理
身份验证的失败提示信息应当避免过于明确,比如:可以使用"用户名和/或密码错误",而不要
使用"用户名错误"或者"密码错误".错误提示信息在显示和源代码中应保持一致,为涉及敏感信
息或功能的外部系统连接使用身份验证,当连续多次登录失败后(比如:通常情况下是 5
次),应强制锁定账户,账户锁定的时间必须足够长,以阻止暴力攻击猜测登录信息。
3.4 密码规则
对于最常见的用户名密码登录方式,应当通过政策或规则加强密码复杂度的要求(比如:要求
使用字母、数字和/或特殊符号,必须 8位以上,定期修改密码等),防止暴力破解。密码传输
过程中确保其安全性,输入的密码应当在用户的屏幕上模糊显示(比如:在Web 表单中使
用"password"输入类型),密码重设问题应当尽可能随机提问,如果使用基于邮件的重置,只
将发送临时链接或密码,临时密码和链接有一个短暂的有效期,再次使用临时密码时,强制修
改临时密码。关键系统可能会要求更频繁的更改,为密码填写框禁用"记住密码"功能。
4 会话管理
4.1 主要注意事项
软件和外部交互的基本方式是建立会话,会话逻辑的漏洞是攻击者经常利用的途径,开发者在
开发会话管理模块时,为避免产生逻辑漏洞需要使用服务器或者框架的会话管理控制。注销功
能应当完全终止相关的会话或连接,注销功能应当可用于所有受身份验证保护的网页,禁止连
续的登录并强制执行周期性的会话终止。如果在登录以前一个会话就建立,在成功登录以后,
关闭该会话并创建一个新的会话,在重新身份验证过程中建立新的会话标识符,不允许同一用
户ID 并发登录,会话标识符应当只出现在 HTTP cookie 头信息中,例如,不要将会话标识符以
GET 参数进行传递。
4.2 HTTPS 问题
在身份验证的时候,如果连接从HTTP 变为HTTPS,则生成一个新的会话标识符,在应用程序
中,推荐持续使用HTTPS,为服务器端的操作执行标准的会话管理,比如,通过在每个会话中
使用强随机令牌或参数来管理账户,该方法可以用来防止跨站点请求伪造攻击,通过在每个请
求或会话中使用强随机令牌或参数,为关键的操作提供标准的会话管理。为在 TLS 连接上传输
的cookie 设置"安全"属性,将 cookie 设置为 HttpOnly 属性,除非在应用程序中明确要求了客户
端脚本程序读取或者设置 cookie 的值。
摘要:
展开>>
收起<<
软件开发毕业论文(最新10篇)软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程,一般是用某种程序设计语言来实现的,本篇文章就向大家介绍几篇软件开发毕业论文的范文,让大家了解一下软件开发毕业论文的写作技巧,大家可以阅读以下范文作为一个参考。软件开发毕业论文最新10篇之第一篇:应用软件开发安全编码研究 摘要:绝大多数的软件漏洞来源于软件开发阶段,系统开发时期避免漏洞要比运维时期整改漏洞成本低很多。输入输出检验、身份认证、密码管理、错误处理、系统配置、文件管理等各个方面都涉及安全编码,对于每一个具体信息系统的开发,都会面临各种安全隐患和威胁,涉及的理论和技术范围较广,超出一般开发人...
相关推荐
-
2024年党建工作要点工作计划5篇供参考
2023-12-16 999+ -
2025年专题生活会对照带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”个人对照检查发言材料4110字文稿
2024-12-21 999+ -
2025年医保局局长、科技局领导干部专题“四个带头”方面对照检查材料2篇例文(附:反面典型案例剖析情况)
2025-02-09 457 -
2025年国有企业党委书记、市总工会党组书记民主生活会“四个带头”方面对照个人检查发言材料2篇文(附:典型案例、上年度整改+个人情况)
2025-02-09 506 -
2025年市委组织部部长、教育局党委书记生活会“四个带头”个人对照检查发言材料2篇文(典型案例+个人事项)
2025-02-09 626 -
2025年市财政局党组书记、局长、市检察院党组领导班子对照“四个带头”方面生活会个人对照检视发言材料2篇文(含以案为鉴反思、以案促改促治方面)
2025-02-09 508 -
市检察院党组、市财政局领导班子2025年生活会对照“四个带头”方面检视发言材料2份文【含以违纪行为为典型案例剖析】
2025-02-09 461 -
2025年市财政局领导对照“四个带头”生活会检视发言材料2篇例文【含以违纪行为为典型案例剖析】
2025-02-09 582 -
单位领导班子2025年聚焦“四个带头”生活会对照检查材料2篇文(含:典型案例剖析反思、落实意识形态责任制)
2025-02-09 757 -
2025年镇党委副书记、市科学技术局领导班子生活会对照“四个带头”检视材料2篇文【含违纪行为典型案例分析】
2025-02-09 257
作者:闻远设计
分类:其它行业资料
价格:免费
属性:5 页
大小:20.57KB
格式:DOCX
时间:2024-03-13

