三、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.hqwc.cn/news/58908.html

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

相关文章

Semantic Kernel 入门系列:Memory内存

了解的运作原理之后,就可以开始使用Semantic Kernel来制作应用了。 Semantic Kernel将embedding的功能封装到了Memory中,用来存储上下文信息,就好像电脑的内存一样,而LLM就像是CPU一样,我们所需要做的就是从内存中取出…

部署模型并与 TVM 集成

本篇文章译自英文文档 Deploy Models and Integrate TVM tvm 0.14.dev0 documentation 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本节介绍如何将 TVM 部署到各种平台&…

现代C++中的从头开始深度学习:【5/8】卷积

一、说明 在上一个故事中,我们介绍了机器学习的一些最相关的编码方面,例如 functional 规划、矢量化和线性代数规划。 现在,让我们通过使用 2D 卷积实现实际编码深度学习模型来开始我们的道路。让我们开始吧。 二、关于本系列 我们将学习如何…

【阻止IE强制跳转到Edge浏览器】

由于微软开始限制用户使用Internet Explorer浏览网站,IE浏览器打开一些网页时会自动跳转到新版Edge浏览器,那应该怎么禁止跳转呢? 1、点击电脑左下角的“搜索框”或者按一下windows键。 2、输入“internet”,点击【Internet选项…

springboot工程使用阿里云OSS传输文件

在application.yml文件中引入对应的配置,一个是对应的节点,两个是密钥和账号,还有一个是对应文件的名称; 采用这样方式进行解耦,便于后期修改。 然后需要设置一个properties类,去读对应的配置信息 用到了…

【前端】Vue生命周期函数(详细讲解+中文图解)

目录 一、何为生命周期1、含义2、理解 二、生命周期定义(官网)1、vue22、vue3 三、生命周期图解1、vue2生命周期图解2、vue3生命周期图解 四、Vue的生命周期五、Vue2生命周期和Vue3生命周期的区别六、Vue生命周期的主要阶段以及8个周期函数1、options AP…

使用MyEclipse如何部署Descriptor (XML)编辑器?

Descriptor (XML) Editor编辑器包含了高级的XML编辑功能,在本文中您将了解到这些编辑功能、Web XML编辑等,此功能包含在MyEclipse中可用。 MyEclipse v2023.1.2离线版下载 1. Web XML 编辑器 MyEclipse Web XML编辑器包括高级XML编辑功能,…

OpenLayers入门,OpenLayers涂鸦手绘线条、圆形和多边形,涂鸦线条自动收尾连接成多边形

专栏目录: OpenLayers入门教程汇总目录 前言 本章再次讲解OpenLayers绘制图形功能,上一章中《OpenLayers图形绘制,OpenLayers实现在地图上绘制线段、圆形和多边形》我们已经讲过多种图形的绘制,本章主要讲解自由涂鸦手绘绘制线条,圆形和任意形状。 二、依赖和使用 &q…

C#在自动化领域的应用前景与潜力

人机界面(HMI)开发:使用C#开发人机界面软件,实现与自动化设备的交互和监控。C#的图形界面设计能力和丰富的控件库使得开发人员能够创建直观、易用的界面。 数据采集与处理:C#可以与各种传感器、设备进行数据通信和采集…

xml布局不显示的编写代码方法

新建项目在新项目用dp编写布局复制粘贴去掉所有dp在复制dimen/dp_

【数据结构与算法——TypeScript】哈希表

【数据结构与算法——TypeScript】 哈希表(HashTable) 哈希表介绍和特性 哈希表是一种非常重要的数据结构,但是很多学习编程的人一直搞不懂哈希表到底是如何实现的。 在这一章节中,我门就一点点来实现一个自己的哈希表。通过实现来理解哈希表背后的原理…

抖音的竞争对手?Meta计划人工智能聊天机器人增加社交媒体数量

在来自抖音的竞争中,Meta着眼于用户参与的下一个前沿。 报道,Meta正在开发一系列具有不同个性的人工智能聊天机器人,此举旨在增加用户在脸书和Instagram等社交平台上的参与度金融时报和边缘。这些聊天机器人被Meta staff称为“personas ”,将…