安全编码十大原则.docx_第1页
安全编码十大原则.docx_第2页
安全编码十大原则.docx_第3页
安全编码十大原则.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、保持简单简单易读而且可以有效地解决问题的代码。控制代码圈复杂度JavaNCSS/SourceMonitor/2、验证输入验证所有的从不信任的数据源来的输入,包括命令行、网络接口、环境变量、用户控制的文件,不仅要验证类型,也要验证参数长度和合法值范围。使用白名单而不是黑名单。所有客户端验证过的参数,在服务器端要再验证一遍。3、注意编译器告警编译时,用最高的告警级别,并且清除所有的告警。使用好的编程习惯避免这些错误的发生。用工具辅助贯彻落实编码规范(CheckStyle、PMD、Findbugs)4、框架和设计要符合安全策略安全策略、安全基线例如对密码的强度要求:长度必须大于或等于8个字符;必须包含大小写字母、数字和特殊字符;不能使用包含用户名的密码,等等。MVC框架如果有一个良好的安全策略在设计产品的框架和具体细节时可以得到执行,就可以在源头上避免很多容易出现的错误。5、默认拒绝默认是好人,是无罪的,如果需要认定有罪,就必须拿出证据来。Boolean hasPermission(int userID,int userType) Boolean bPermission = TRUE; Swith( iUserType )Case NORMAL_USER: If(!checkNormalPermission(userID) bPermitted = FALSE;Break; Case ADMIN_USER:If(!checkAdminPermission(userID) bPermitted = FALSE;Break;Return bPermitted;6、坚持最小权限原则每一个进程应该使用可以完成某个任务的最小权限运行。任何需要提权的操作,应尽可能地保持最短的时间,一旦任务完成,应该立即回收权限,这样可减少攻击者在高权限的条件下执行恶意代码。以root运行Tomcat服务,一旦Web服务器出现问题,攻击者可以root用户的名义运行一切程序或者命令。在运行数据库时,使用管理权限(例如:创建表、删除表、修改表等),在存在SQL注入问题时,问题影响面会更广、程度更高。在初始安装时就避免给出过多权限,例如安装Tomcat时:1、必须修改默认密码2、必须删除Tomcat自带的例子相关的文件3、必须用不能登录的专用用户启动Tomcat4、必须修改默认的SHUTDOWN的端口和命令5、必须修改配置文件隐藏Tomcat的版本6、必须确认Tomcat已经打上最新的安全补丁7、净化发送到其他系统的数据在CWE排名前25的漏洞中,CWE-89、78、79、434、352、601,是和组件之间的不安全通信相关的,包括组件之间、模块之间、进程之间、线程之间以及系统之间的通信。像SQL注入、OS命令注入就是应用程序在没有将输入的数据无害化处理就发送给数据库和其他组件处理所导致的。8、深度预防一层防御是不够的,多一层防御可以使一个安全缺陷不可利用或者减轻被利用的危害。客户端验证、服务端验证。客户端隐藏接口或将菜单灰掉,可能被逆向工程或工具绕过限制。组件之间通信,发送者需要净化处理,接收者需要再次验证。9、使用有效的质量保证技术单元测试、测试覆盖率异常数据测试、Fuzz测试自动化代码扫描工具、自动化漏洞扫描工具人工代码审查10、采用一个安全编码规范专门针对安全的编码规范:不使用过时的和不安全的函数,如strcpy、strcat等。不使用不安全的随机数产生函数,如random等。不使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论