三、web核心防御机制(下)

文章目录

  • 核心防御机制
    • 2.3处理攻击者
      • 2.3.1 处理错误
      • 2.3.2 维护审计日志
      • 2.3.3 向管理员发出警报
      • 2.3.4 应对攻击
    • 2.4 管理应用程序

核心防御机制

2.3处理攻击者

  任何设计安全应用程序的开发人员必须基于这样一个假设:应用程序将成为蓄意破坏且经验丰富的攻击者的直接攻击目标。能够以受控的方式处理并应对这些攻击,是应用程序安全机制的一项主要功能。为处理攻击者而采取的措施一般由以下任务组成:

  • 处理错误
  • 维护审计日志
  • 向管理员发出警报
  • 应对攻击

2.3.1 处理错误

  应用程序的一个关键防御机制是合理地处理无法预料的错误,要么纠正这些错误,要么向用户发送适当的错误信息。在生产环境下,应用程序不应在其响应中返回任何系统生成的消息或其他调试信息。过于详细的错误消息有利于恶意用户向应用程序发动进一步攻击。
  大多数web开发语言通过try-catch块和受查异常提供良好的错误处理支持。应用程序代码应广泛使用这些方法查明特殊错误和常规错误,并作出相应处理。下图显示了一个由无法处理的错误生成的过于详细的错误信息。
在这里插入图片描述

2.3.2 维护审计日志

  审计日志(audit log)能够帮助应用程序持有者了解实际发生的情况,如哪些漏洞被加以利用等信息。在任何注重安全的应用程序中,日志应记录所有重要事件。一般这些事件应至少包括以下事件:

  • 所有与身份验证功能有关的事件,如成功或失败的登录、密码修改;
  • 关键交易,如信用支付与转账;
  • 被访问控制机制阻止的访问企图
  • 任何包含已知攻击字符串,公然表明恶意意图的请求

  有效的审计日志功能一般会记录每个事件的发生时间、发出请求的IP地址和用户的账号。一种有效保护审计日志的方法是将审计日志保存在仅接受主应用程序发出的更新消息的自治系统中。下图显示审计日志会显示很多敏感信息:

在这里插入图片描述

2.3.3 向管理员发出警报

  警报监控的反常事件一般包括以下几种:

  • 应用反常,如收到由一个单独IP地址或用户发出的大量请求,表明应用程序正在受到自定义攻击;
  • 交易反常,如单独一个银行账户所转入或转出的资金数量异常;
  • 包含已知攻击字符串的请求
  • 请求中普通用户无法查看的数据被修改

2.3.4 应对攻击

  除向管理员发出警报外,许多安全性至关重要的应用程序会含有内置机制,以防御潜在恶意用户。由于应用程序各不相同,现实世界中的许多攻击要求攻击者系统性探查应用程序中存在的漏洞,提交无数专门设计的输入请求,以确定其中是否包含常见的漏洞。
  鉴于此,一些应用程序采取自动反应措施阻止攻击者进行这种形式的探查,如对攻击者提交的请求的响应速度变得越来越慢,或终止攻击者的会话等。

2.4 管理应用程序

  许多应用程序一般通过相同的web界面在内部执行管理功能,这也是它的核心非安全功能,如下图所示。
在这里插入图片描述
  它吸引攻击者的地方在于它能够提升权限,以下举例说明:

  • 身份验证机制中存在的薄弱环节使攻击者能够获取管理员权限,迅速攻破整个系统;
  • 许多应用程序并不对它的一些管理功能执行有效的访问控制。利用这个漏洞,攻击者可以建立一个拥有强大特权的新用户账户;
  • 管理功能通常能够显示普通用户提交的数据,管理界面中存在的任何跨站点脚本缺陷都可能危及用户会话的安全;
  • 因为管理用户被视为可信用户,或者由于渗透测试人员只能访问低权限的账户,所以管理功能往往没有经过严格的安全测试。

  处理用户访问和用户输入的机制是最重要的机制。

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

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

相关文章

双端口存储器原理实验

1.实验目的及要求 1.1实验目的 1)了解双端口静态随机存储器IDT7132的工作特性及使用方法。 2)了解半导体存储器怎样存储和读出数据。 3)了解双端口存储器怎样并行读写,并分析冲突产生的情况。 1.2实验要求 1)做好…

Oracle连接数据库提示 ORA-12638:身份证明检索失败

ORA-12638 是一个 Oracle 数据库的错误代码,它表示身份验证(认证)检索失败。这通常与数据库连接相关,可能由于以下几个原因之一引起: 错误的用户名或密码: 提供的数据库用户名或密码不正确,导致…

[HDLBits] Exams/2012 q1g

Consider the function f shown in the Karnaugh map below. Implement this function. (The original exam question asked for simplified SOP and POS forms of the function.) //

Three.js 设置模型材质纹理贴图和修改材质颜色,材质透明度,材质网格

相关API的使用: 1 traverse (模型循环遍历方法) 2. THREE.TextureLoader(用于加载和处理图片纹理) 3. THREE.MeshLambertMaterial(用于创建材质) 4. getObjectByProperty(通过材…

交换排序——选择排序和冒泡排序的区别是什么?

今天重温一下算法,其实刚开始我觉得冒泡排序和选择排序是一样的,因为他们排序过程中都是通过相邻的数据比较找到最小/最大的数据,通过不断思考和学习才明白,两者还是有区别的。 冒泡排序 概念 冒泡排序(Bubble Sort)&#xff0…

Django实现音乐网站 ⑽

使用Python Django框架制作一个音乐网站, 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录 歌曲类型功能优化 新增编辑 优化输入项标题显示 父类型显示改为下拉菜单 列表显示 父类型显示名称 过滤器增加父类型 歌单表功能优化…

OpenStack监控工具

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权。 OpenStack为私有云和公有云提供可扩展的弹性的云计算…

V3s uboot 通过env 修改LCD 参数信息

实际项目中我们可能使用各种参数的LCD 显示器,有7吋,4.3 寸等等,我这里使用的uboot 版本是U-Boot 2017.01-rc2 ,在make menuconfig 时候会填入lcd 配置信息,如下: 所以这里使用起来很不方便,查看…

无涯教程-Perl - readline函数

描述 此函数从EXPR引用的文件句柄中读取一行,并返回输出。如果要直接使用FILEHANDLE,则必须将其作为typeglob传递。 Simply readline function is equvivalent to <>. 语法 以下是此函数的简单语法- readline EXPR返回值 此函数在标量context中仅返回一行,而在列表…

章节7:Burp Intruder模块

章节7&#xff1a;Burp Intruder模块 参考资料 https://portswigger.net/burp/documentation/desktop/tools/intruder 01 Intruder模块作用与原理 原理 http://xxx.xx.com/bbs/index.php?namewuyanzu&mottogo 对请求参数进行修改&#xff0c;分析响应内容&#xff0…

Markdown编辑器的使用

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

MySQL多表关联查询

目录 1. inner join&#xff1a; 2. left join&#xff1a; 3. right join&#xff1a; 4.自连接 5.交叉连接&#xff1a; 6、联合查询 7、子查询 1. inner join&#xff1a; 代表选择的是两个表的交差部分。 内连接就是表间的主键与外键相连&#xff0c;只取得键值一致…

mysql的高级查询语句

目录 一、本文前言 二、高效查询方式 1&#xff09;指定指字段进行查看 2&#xff09;对字段进行去重查看 3&#xff09;where条件查询 4&#xff09;and 和 or 进行逻辑关系的增加 5&#xff09;查询取值列表中的数据 6&#xff09;between的引用 7&#xff09;like…

ACL2023:成分对比学习生成句子嵌入表示

title:Composition-contrastive Learning for Sentence Embeddings 很多基于对比学习的方法用在无监督语料中&#xff0c;通过最大化对齐同一句子的最小扰动&#xff0c;并且鼓励向量在广泛文本语料中的均匀分布。本文方法提出最大化文本与其短语成分的组合之间的对齐。 …

linux 学习————LNMP之分布式部署

目录 一、概述 二、LNMP环境部署 三、配置nginx 四、 配置php使nginx能够解析.php 五、配置mysql 六、配置discuz进行登录论坛访问测试 一、概述 LNMP代表 Linux、Nginx、MySQL、PHP&#xff0c;是一种常用的服务器架构。它由以下组件组成&#xff1a; Linux&#xff1a;作…

Linux命令200例:dd命令详解及实际应用场景

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

JZ39 数组中出现次数超过一半的数字

目录 一、题目 二、代码 一、题目 数组中出现次数超过一半的数字_牛客题霸_牛客网 二、代码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param numbers int整型vector * return int…

Dynamic CRM开发 - 实体介绍

实体简介 在CRM中,实体(Entity)是数据的基本载体,也是构建业务逻辑网络的基础节点。 实体可以理解为数据库中的一张表(实体中的字段对应数据库表的字段),比如创建一个实体存储客户信息,创建一个实体存储产品信息,产品实体里可以创建一个查找类型的字段(类似表的外键)…

如何理解MySQL隔离性---3个记录隐藏字段、undo日志、Read View

目录 一、3个记录隐藏字段 二、undo 日志 三、read view 一、3个记录隐藏字段 本片文章是帮助理解上篇文章Mysql隔离性的辅助知识。 mysql在建表时&#xff0c;不仅仅创建了表的结构&#xff0c;还创建了3个隐藏字段。 DB_TRX_ID &#xff1a;6 byte&#xff0c;最近修改( 修…

考研408 | 【计算机网络】 数据链路层

导图&#xff1a; 数据链路层概念&#xff1a; 结点&#xff1a;主机、路由器 链路&#xff1a;网络中两个结点之间的物理通道&#xff0c;链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。 数据链路&#xff1a;网络中两个结点之间的逻辑通道&#xff0…