web系统安全设计原则

一、前言

        近日,针对西工大网络被攻击,国家计算机病毒应急处理中心和360公司对一款名为“二次约会”的间谍软件进行了技术分析。分析报告显示,该软件是美国国家安全局(NSA)开发的网络间谍武器。当下,我们发现对于我们发布到互联网的软件和系统的安全审查越来越严格。因为web系统天生的伴随着很多漏洞的产生,这是就给很多不法分子留下很多可乘之机。所以系统安全对于现在的业务系统来说越来越重要。

二、扫描安全系统借助的工具

拓扑分析工具:DNS Sweep、Nslookup 等  
自动化扫描工具:Nessus、AIScanner 等  
端口扫描、服务检测:Nmap、SuperScan 等  
嗅探分析工具:Ethereal、Entercap、Dsniff 等  
Exploiting 利用工具:Metasploit Framework 等  
应用缺陷分析工具:Gatling自动化渗透测试系统、SQLMAP 等  
静态分析工具:MobSF等  
动态分析工具:天问供应链分析平台等  

三、web系统安全设计原则

1、最小权限原则

应用软件的每个模块如进程、用户只能访问当下所必需的信息或者资源。赋予每一个合法动作最小的权限,以保护数据以及功能避免受到错误或者恶意行为的破坏。

2、权限分离原则

对业务的操作、管理和审计权限应该由软件中的不同角色的用户分别承担;普通用户和管理员用户信息应该存放在不同的数据表中。

3、深度防御原则

在应用程序对业务数据进行处理的每个阶段都要考虑安全性问题,不能仅在某个阶段做安全防御,这样单点防御一旦被突破将造成安全风险。

4、容错保护原则

当程序出现故障时或系统异常当系统失败时,可以进入到一个失败保护的状态。如果用户请求失败,系统仍可保障安全。

5、单点异常终止原则

当用户提交数据超出预期时,应立即终止程序的执行,不要试图加以修正并继续执行下去。

6、代码安全管理原则

严格控制第三方函数与插件的使用,对外来代码必须进行详细的安全测试。

7、代码复用原则

尽可能的重用软件已有的模块,这样可以降低引入新的漏洞和攻击界面的可能性。

8、敏感数据保护原则

对用户数据的保护功能应涵盖用户数据存储的完整性、用户数据传输保密性、数据传输的访问控制、剩余信息的保护、数据反转操作等内容;应对系统中关键数据(如用户密码等)的存储和网络传输时应采用加密保护,实用加密加密算法应该符合国际标准、国家标准和业界标准。

9、可审计原则

在应用系统中设计审计日志记录的功能,并对应用系统产生的日志增加完备的审计功能。

10、开发设计原则

开放设计与“不开放即安全”的原则相对而言,认为设计本身不应具有神秘感。这一原则的具体表现可以参见应用于加密设计的Kerchoff定律,“系统不应单纯依赖私密性,若落入敌人手中则毫无优势可言”;开放设计以提高系统兼容性和可扩展性。

11、抗抵赖原则

对于涉及支付交易等重要的业务场景,系统设计应有效地防止通信双方抵赖,如采用电子证书签名等方式。

12、符合行业规范原则

安全功能的设计尽可能的要符合国家规范、行业规范以及业界的通用标准,如等级保护等规范。

四、常见web系统漏洞

1、任意密码修改(没有旧密码验证)、密码找回漏洞、业务数据篡改等。逻辑漏洞的出现易造成账号被盗、免费购物,游戏应用易造成刷钱、刷游戏币等严重问题。条件竞争 服务端在做并发编程时,需要考虑到条件竞争的情况。

2、非法输入、失效的访问控制、失效的账户和线程管理、跨站脚本攻击、缓存溢出问题、注入式攻击、异常错误处理、不安全的存储、程序拒绝服务攻击、不安全的配置管理等。

3、SQL注入攻击是黑客对数据库进行攻击的常用手段之一。XSS跨站点脚本 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/132686.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot通过lombok提供的Slf4j省略日志的创建操作

上文 Spring Boot将声明日志步骤抽离出来做一个复用类中 我们写了个创建日志的公开类 但这么简单的东西 自然有人会将它写好 lombok已经 提供出了这个工具 首先 我们需要在 pom.xml 中加上这样一段代码 <dependency><groupId>org.projectlombok</groupId>…

Discourse 如何下载备份并恢复本地数据库

进入网站的备份界面&#xff0c;会看到当前所有的备份情况。 单击下载按钮。 需要注意的是&#xff0c;当你下载后&#xff0c;系统将会发送一个链接到你的邮箱地址中。 你可以使用邮箱地址中收到的链接进行数据下载。 下载链接 单击邮件中收到的下载链接地址进行下载。 下载…

线性代数的本质(九)——二次型与合同

文章目录 二次型与合同二次型与标准型二次型的分类度量矩阵与合同 二次型与合同 二次型与标准型 Grant&#xff1a;二次型研究的是二次曲面在不同基下的坐标变换 由解析几何的知识&#xff0c;我们了解到二次函数的一次项和常数项只是对函数图像进行平移&#xff0c;并不会改变…

下载CentOS ISO镜像 (一)

总目录 https://preparedata.blog.csdn.net/article/details/132877836 文章目录 总目录一、下载CentOS 镜像 一、下载CentOS 镜像 官网下载&#xff1a;https://www.centos.org/download/ Centos Linux 和 CentOS Stream 的区别&#xff1a;https://www.centos.org/cl-vs-cs…

AtCoder Beginner Contest 313 C 一个序列同时加一个数和减一个数,直到最大和最小之间相差最大为1(结论可记住)

AtCoder Beginner Contest 313 C 做题链接&#xff1a;AtCoder Beginner Contest 313 问题陈述 给你一个整数序列 A(A1​,A2​,…,AN​)。你可以执行以下操作任意次数&#xff08;可能为零&#xff09;。 选择带有 1≤i,j≤N的整数 i和 j。将Ai​减少 1&#xff0c;将Aj​增…

图扑可视化图表组件之股票数据分析应用

股市是市场经济的必然产物&#xff0c;在一个国家的金融领域之中有着举足轻重的地位。在过去&#xff0c;人们对于市场走势的把握主要依赖于经验和直觉&#xff0c;往往容易受到主观因素的影响&#xff0c;导致决策上出现偏差。如今&#xff0c;通过数据可视化呈现&#xff0c;…

【C++】多态

目录 1. 多态的概念1.1 概念 2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.3.1 重写的一些特殊情况 2.4 final和override2.5 重载、覆盖(重写)、隐藏(重定义)的对比 3. 抽象类3.1 概念3.2 实现继承与接口继承 4. 多态的原理4.1 虚函数表4.2 多态的原理4.…

入门人工智能 ——自然语言处理介绍,并使用 Python 进行文本情感分析(5)

入门人工智能 ——自然语言处理介绍&#xff0c;并使用 Python 进行文本情感分析&#xff08;5&#xff09;&#xff09; 入门人工智能 ——自然语言处理介绍&#xff0c;并使用 Python 进行文本情感分析介绍自然语言处理的挑战NLP的基本任务NLP的基本技术NLP的应用领域 使用 P…

《银河麒麟高级服务器操作系统V10》使用

一言而论&#xff1a;讲了麒麟服务器V10的基本使用&#xff0c;包括终端、VNC 文章目录 前言基本架构环境硬件环境软件环境 麒麟安装步骤1.在宿主机上安装好VM&#xff0c;并且激活2.使用VM创建虚拟机3.启动虚拟机 终端常用点VNC的使用麒麟上安装VNC服务器Windows上安装VNC客户…

自动化测试(五):自动化测试框架的搭建和基于yaml热加载的测试用例的设计

该部分是对自动化测试专栏前四篇的一个补充&#xff0c;本次参考以下文章实现一个完整的谷歌翻译接口自动化测试:   [1]【python小脚本】Yaml配置文件动态加载   [2]【python做接口测试的学习记录day8——pytest自动化测试框架之热加载和断言封装】 目标&#xff1a;框架封…

在visual studio里安装Python并创建python工程

在2009年&#xff0c;云计算开始发力&#xff0c;Python、R、Go这些天然处理批量计算的语言也迅猛发展。微软在2010年&#xff0c;把Python当成一个语言包插件&#xff0c;集成到了visual studio 2010里。在"云优先&#xff0c;移动优先"的战略下&#xff0c;于2015年…

什么是Jmeter?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于 Web 应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Java 小服务程序、CGI 脚…

记录一个iOS使用陀螺仪3d效果的抖动问题

使用陀螺仪的时候&#xff0c;遇到一个问题&#xff0c;就是在拖动scrollView滚动的时候&#xff0c;3d效果的图片会抖动 实现3d效果的代码 - (void)updateWithGravityX:(double)gravityXgravityY:(double)gravityYgravityZ:(double)gravityZ {//因为在斜向上45度角的时候&am…

【win10】怎么删除休眠文件

电脑c盘天天爆红&#xff0c;每天可用空间都变少&#xff0c;或者电脑晚上不关机&#xff0c;只锁屏后息屏&#xff0c;第二天发现电脑关机了&#xff0c;可能就是休眠功能惹得鬼。 以下是关闭休眠功能步骤&#xff1a;   1、这个隐藏的系统文件hiberfil.sys&#xff0c;体积…

浅谈C++|STL之算法函数篇

一.遍历常用算法 1.1for_each 在 C 中&#xff0c;for_each 是一个算法函数&#xff0c;位于 <algorithm> 头文件中。它接受一个范围&#xff08;容器或迭代器对&#xff09;以及一个函数对象&#xff08;函数指针、函数、lambda 表达式等&#xff09;&#xff0c;用于…

LiveNVR监控流媒体Onvif/RTSP功能-支持海康摄像头海康NVR通过EHOME协议ISUP协议接入分发视频流或是转GB28181

LiveNVR支持海康NVR摄像头通EHOME接入ISUP接入LiveNVR分发视频流或是转GB28181 1、海康 ISUP 接入配置2、海康设备接入2.1、海康EHOME接入配置示例2.2、海康ISUP接入配置示例 3、通道配置3.1、直播流接入类型 海康ISUP3.2、海康 ISUP 设备ID3.3、启用保存3.4、接入成功 4、相关…

ARMv8架构简介

ARMv8-A架构和处理器 ARMv8-A架构 ARMv8‑A 架构是针对应用程序配置文件的最新一代 ARM 架构。 ARMv8 这个名称用于描述整体架构,现在包括 32 位执行状态和 64 位执行状态。它引入了使用 64 位宽寄存器执行的能力,同时保持与现有 ARMv7 软件的向后兼容性。 ARMv8‑A 架构引…

如何获取美团的热门商品和服务

导语 美团是中国最大的生活服务平台之一&#xff0c;提供了各种各样的商品和服务&#xff0c;如美食、酒店、旅游、电影、娱乐等。如果你想了解美团的热门商品和服务&#xff0c;你可以使用爬虫技术来获取它们。本文将介绍如何使用Python和BeautifulSoup库来编写一个简单的爬虫…

SpringBoot运行原理

目录 SpringBootApplication ComponentScan SpringBootConfiguration EnableAutoConfiguration 结论 SpringbootApplication&#xff08;主入口&#xff09; SpringBootApplication public class SpringbootConfigApplication {public static void main(String[] args) {…

机器学习 day33(误差分析、添加数据)

误差分析 我们可以手动查看分类错误的子集样本&#xff08;通常为100个&#xff09;&#xff0c;并统计他们的错误类型在所有错误类型中&#xff0c;选择一种或几种最常见的错误&#xff0c;进行改进。这可以最高效的改进你的模型误差分析的一个限制是&#xff1a;它只能很好…