给需要关心安全的技术人员的一些建议
随着网络的发展,特别是移动互联网的发展,网络服务与我们个人生活联系得越来越紧密;办理金融业务,生活缴费,获取资讯等等,都从线下搬到了线上。一个新的时代必将到来或者已经到来,那就是万物互联的时代。与此同时,网络安全事件频发,安全事故的危害越来越大,互联网从业者需要越来越注重安全问题。这里分享一些心得给刚刚接触网络安全的开发者们。
一、“安全”是什么
对于没有接触过安全的开发人员来讲,一个常见的问题是:如何写出安全的代码或做出安全的系统。为了找到答案,我们就必须对安全的定义有所了解。“安全”是一个很宽泛的概念,那这里给出一个很宽泛的定义:被保护的对象不被破坏、篡改、泄漏,系统功能可以正常运行。是不是一头雾水?“安全”定义的关键问题是,什么是需要保护的对象,保护的需求是什么;没有明确的安全的需求,我们就无法谈论安全。比如常见的安全问题有,通信协议是否安全,数据存储是否安全等等;此外还有运行环境是否安全,代码是否安全。所以当我们想要写安全的代码或者实现一个安全的系统之前,我们可以先问问自己,我想要保护的对象是什么。不同的安全的需求,需要做出的安全的防护方式也是不同的。如果不知道你想要的是什么,那么你就不会得到它。
明白了安全的定义,下一个问题是:如何知道实施的安全措施是否足够安全。安全防御和安全攻击是一个动态博弈的过程,就像抗生素和细菌一样,防御和攻击的技术都在进行不断升级。所以我们说没有绝对的安全,安全问题是成本问题。通常我们需要寻找的是如何以最低成本来满足我们安全需求的最佳实践。
二、如何入门“安全”
孙子云“知彼知己,百战不殆”,所以读几本黑客如何攻击和防御的书是一个不错的选择。这些书的内容可能会涉及到一些计算机的基础知识,所以这些知识也是不可少的,否则只能做到知其然而不知其所以然。由黑客攻击和防御的引子,又会引出计算机系统、网络、计算机体系结构、编译原理、虚拟机等等一些基础的知识。
黑客如何攻击和防御是理论基础,有了理论基础我们可以看看这个真实的世界存在哪些比较流行的安全问题;CWE是通用缺陷,里面列举了很多通用的安全缺陷,我们可以先从最流行的25个问题看起,可以帮助我们在编码的时候避免许多安全问题。如果开发的系统是Web系统,那么OWASP是不容错过的一个资料库;OWASP包含Web常见的问题和最佳实践,可以了解一下OWASP最流行的10个问题。比如SQL注入,这种常见的高发的已经有了几十年历史的问题,在这两个榜单中都有提及。
接下来我们可以看看业界比较好的安全实践。SEI CERTCodingStandards是一个安全编码标准,分门别类得列出了C、Java等语言常见的安全问题,并且对安全问题做出解释,给我们提供了不安全的代码样例和安全的代码样例。这个规范是一个很好的切入点,帮助我们快速了解安全问题,实践安全编码。
三、对“安全”问题的宏观分类
安全问题五花八门,令人眼花缭乱,那么这些安全问题是否有共性呢?答案是有的。我们尝试将安全问题分入以下几个宏观类别之中。
1. 不受信的输入、输出
壁立千仞,无欲则刚;如果一个系统没有与不受信的环境进行的交互,那么这个系统的安全问题是比较小的。大多数系统,特别是Web系统,需要和不受信的环境进行交互;在交互过程中,我们需要特别注意的问题有两点:输入是否合法,输出数据是否包含敏感信息。
输入数据包括并不限于用户输入的参数,传入的文件,读取的环境变量,依赖的运行库等等。如果用户输入的数据超出程序处理的范畴,那么可能造成意想不到的结果。对于这些不受信的数据,我们通常可以限制输入范围,只接受我们可以处理的输入,比如网站注册时对密码的符号有一些限制,就是这种解决方案;我们还可以将输入的数据进行清洗,去除不支持的内容。
对于输出数据我们需要关心输出的内容是否包含敏感信息,比如程序路径、用户名、密码、IP地址等等。如果我们泄漏了服务器的用户名和密码,那么服务器上的所有信息都有泄漏的风险。这需要我们在程序发布之前,仔细检查输出内容。
2. 程序本身有错误
如果程序本身有错误,那么就会给攻击者可乘之机;一旦程序触发到错误逻辑,程序有可能偏离正常的运行流程,比如运行了攻击者提供的程序。
对于C语言来讲,常见的程序错误有空指针引用、内存没有释放、多次释放内存、数组引用越界、返回栈上地址、整数溢出等等。这需要代码编写者提高代码编写质量,尽量减少程序错误。
对于Java语言来讲,不存在C语言中的内存管理类似的问题,但一样存在整数溢出、数组引用越界、引用空对象等问题,此外,Java语言还存在错误调用运行时库函数、类型定义错误、序列化和反序列化错误等等Java语言特有的问题。
3. 其它错误问题
我们将其它安全问题归入单独分类,这些安全问题包括并不限于以下几点:
- 业务设计错误:如没有经过认证就读取用户信息
- 通信协议不安全:如使用了不安全的加密、散列算法
- 调用的库不安全:如Web Server存在安全漏洞
- ……
四、一些安全实践的建议
安全问题不是纸上谈兵,而是真刀**实践出来的,只有在实践中才能出真知,安全性才能得到提升,这里给大家一些小的建议。
第一个建议是重视安全问题,针对安全问题进行设计和实现,并且针对安全问题进行测试。西方哲人讲“解决问题的第一步是承认问题”,老子讲“知不知”,都是此意。
第二个建议是发现和利用工具帮助解决安问题。业界已经存在许多工具可以在各个阶段帮助我们检测安全问题。
- 语法检测工具,避免一些低级错误;
- 静态检测工具,在开发过程中,对程序进行静态检测,可以检测程序安全问题,可以分析库文件是否存在漏洞,这是解决安全问题十分有效的手段;老牌的静态检测工具有OCLint,Fortify,Coverity,Checkmarx等,一些新秀也在冉冉升起,例如鉴释的XcalScan;
- 动态检测工具,将程序运行起来检测安全问题;比如可以用Valgrind,Panda等工具;
- 自动化渗透工具,可以模拟渗透行为,对系统进行渗透以发现安全问题;比如有Zed Attack Proxy,W3AF,Wapiti 等等工具。
安全问题不是某一个单点问题,它是系统问题,这里没有银弹,没有包治百病的特效药。我们能做的是,在安全问题发生以前,充分了解、模拟、预警问题,并作出有效的防范。我们做的防护越多,攻击者的攻击面就越窄,攻击成本就越高,我们的系统发生安全问题的概率就越低。千里之行,始于足下;现在就开始了解、重视安全问题,正当其时。
关于作者
Sage Lee是鉴释软件研发工程师,鉴释成立于2018年,致力于通过使用高级静态分析技术帮助客户降低成本,提高生产力,并确保其软件开发人员具备相应的能力以开发更好、更可靠的软件。Sage专注于软件安全领域超过五年时间;2014年毕业于北京航空航天大学,获得学士学位;在2014-2018年间就职于梆梆安全,负责研发了源代码混淆、加密算法混淆等多个创新型安全软件,取得多项发明型专利。他在技术研发、团队管理、产品化方面,均有一定的经验。
推荐系统
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
相关文章
- 网络管理小技巧
- 5G时代,个人信息安全如何守护?
- ANTVR是否是虚拟现实的好故事?
- win8虚拟WiFi适配器不见了怎么办?win8系统虚拟wifi网络适配器消失不见了的解决方法
- phpinfo跨站脚本漏洞
- PHP脚本木马的高级防范经验
- XP系统网络不能互访七大解决之道
- 在KDE环境下安装GnuPG加密软件
- Win8网络连接正常但无法上网怎么解决?
- Win8通过任务管理器查看网络状态了解网络是如何工作的
- 云渗透测试的好处和挑战
- 黑客攻击导致意大利拉齐奥地区的COVID-19接种预约系统被关闭
- 恶意软件利用Xcode在Mac上安装后门
- 云火墙与云防火墙的区别是什么
- webshell中上传asp文件调用服务器ActiveX控件溢出获取shell
- 任务栏输入法图标不见了怎么办? 显示输入法图标的方法
- seoClarity调查:逾80%美国人相信Google搜索
- 无线网络优化——选择无线AP还是路由器?
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
- 1迅雷云播“手机看片神器”使用教程(随时随地秒速离线云播放)
- 2微信公众号怎么年审? 微信公众号年审流程及所需材料介绍
- 3Win10怎么设置网络按流量计费 Win10网络设置流量收费教程
- 4Steam提示“需要在线进行更新,请确认您的网络连接正常”怎么办?
- 5i7 6700主频是多少 i7-6700参数详解
- 6安卓手机安装运行win7系统教程 安卓手机装win7系统教程
- 7win7蓝屏代码7f指什 怎么解决 很严重
- 8华硕b460主板装win7系统及bios设置教程 10代CPU安装Win7教程 BIOS设置 U盘启动 完美支持USB驱动
- 9腾讯全民wifi内测资格申请教程 腾讯全民WIFI申请活动及地址详情
- 10二手笔记本电脑价格是多少 二手笔记本电脑价格盘点
常用系统
- 1电脑公司 装机专用系统Windows10 x64 企业装机版 版本1507 2021年12月(64位) ISO镜像高速下载
- 2笔记本系统Ghost Win8.1 (32位) 中秋特别 极速纯净版2021年9月(免激活) ISO镜像高速下载
- 3番茄花园 Windows 10 元旦特别 极速企业版 版本1903 2022年1月(32位) ISO镜像快速下载
- 4新萝卜家园电脑城专用系统 Windows10 x86 企业版2020年12月(32位) ISO镜像高速下载
- 5电脑公司 GhostXpSp3 电脑城装机版 2020年7月 ISO镜像高速下载
- 6新萝卜家园Ghost Win8.1 X64位 纯净版2021年12月(自动激活) ISO镜像高费下载
- 7新萝卜家园Ghost Win8.1 X64位 纯净版2022年4月(自动激活) ISO镜像高费下载
- 8雨林木风 Ghost Win7 SP1 元旦特别 装机版 2021年1月(32位) 提供下载
- 9电脑公司 GhostXpSp3 电脑城装机版 2021年12月 ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X64位 纯净版2021年6月(自动激活) ISO镜像高费下载