加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

给需要关心安全的技术人员的一些提议

发布时间:2022-05-30 08:59:52 所属栏目:安全 来源:互联网
导读:随着网络的发展,特别是移动互联网的发展,网络服务与我们个人生活联系得越来越紧密;办理金融业务,生活缴费,获取资讯等等,都从线下搬到了线上。一个新的时代必将到来或者已经到来,那就是万物互联的时代。与此同时,网络安全事件频发,安全事故的危害越来
         随着网络的发展,特别是移动互联网的发展,网络服务与我们个人生活联系得越来越紧密;办理金融业务,生活缴费,获取资讯等等,都从线下搬到了线上。一个新的时代必将到来或者已经到来,那就是万物互联的时代。与此同时,网络安全事件频发,安全事故的危害越来越大,互联网从业者需要越来越注重安全问题。这里分享一些心得给刚刚接触网络安全的开发者们。
 
一、“安全”是什么
 
         对于没有接触过安全的开发人员来讲,一个常见的问题是:如何写出安全的代码或做出安全的系统。为了找到答案,我们就必须对安全的定义有所了解。“安全”是一个很宽泛的概念,那这里给出一个很宽泛的定义:被保护的对象不被破坏、篡改、泄漏,系统功能可以正常运行。是不是一头雾水?“安全”定义的关键问题是,什么是需要保护的对象,保护的需求是什么;没有明确的安全的需求,我们就无法谈论安全。比如常见的安全问题有,通信协议是否安全,数据存储是否安全等等;此外还有运行环境是否安全,代码是否安全。所以当我们想要写安全的代码或者实现一个安全的系统之前,我们可以先问问自己,我想要保护的对象是什么。不同的安全的需求,需要做出的安全的防护方式也是不同的。如果不知道你想要的是什么,那么你就不会得到它。
 
二、如何入门“安全”
 
         孙子云“知彼知己,百战不殆”,所以读几本黑客如何攻击和防御的书是一个不错的选择。这些书的内容可能会涉及到一些计算机的基础知识,所以这些知识也是不可少的,否则只能做到知其然而不知其所以然。由黑客攻击和防御的引子,又会引出计算机系统、网络、计算机体系结构、编译原理、虚拟机等等一些基础的知识。
 
         接下来我们可以看看业界比较好的安全实践。SEI CERT Coding Standards是一个安全编码标准,分门别类得列出了C、Java等语言常见的安全问题,并且对安全问题做出解释,给我们提供了不安全的代码样例和安全的代码样例。这个规范是一个很好的切入点,帮助我们快速了解安全问题,实践安全编码。
 
三、对“安全”问题的宏观分类
 
安全问题五花八门,令人眼花缭乱,那么这些安全问题是否有共性呢?答案是有的。我们尝试将安全问题分入以下几个宏观类别之中。
 
1. 不受信的输入、输出
 
壁立千仞,无欲则刚;如果一个系统没有与不受信的环境进行的交互,那么这个系统的安全问题是比较小的。大多数系统,特别是Web系统,需要和不受信的环境进行交互;在交互过程中,我们需要特别注意的问题有两点:输入是否合法,输出数据是否包含敏感信息。
 
2. 程序本身有错误
 
如果程序本身有错误,那么就会给攻击者可乘之机;一旦程序触发到错误逻辑,程序有可能偏离正常的运行流程,比如运行了攻击者提供的程序。
 
对于Java语言来讲,不存在C语言中的内存管理类似的问题,但一样存在整数溢出、数组引用越界、引用空对象等问题,此外,Java语言还存在错误调用运行时库函数、类型定义错误、序列化和反序列化错误等等Java语言特有的问题。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!