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

news2024/9/29 19:20:56

文章目录

  • 核心防御机制
    • 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.coloradmin.cn/o/852856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RISC-V公测平台发布 · UnixBench完整测试

简介 UnixBench是一个开源的GPLv2许可的工具,它提供了对类Unix系统性能的基本指标。 通过运行UnixBench,可以获得有关系统性能的基本指标,用于与其他系统进行比较,也可以作为改进系统性能的参考。但UnixBench并不是一个综合性能…

Python数据分析实战-格式化字符串的两种方法(附源码和实现效果)

实现功能 格式化字符串的两种方法 实现代码 # 方法一&#xff1a;format方法 query SELECT customer_id, COUNT(*) as num_ordersFROM ordersWHERE date > {start_date} AND date < {end_date} GROUP BY customer_idHAVING num_orders > {min_orders} start_da…

springboot:统一参数校验(JSR303校验)

业务需求&#xff1a;在controller中对必填参数和参数类型做合法性校验 1、在项目父工程添加spring-boot-starter-validation的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifa…

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

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

element-plus的日期选择器限定选择范围

目录 前言一、最近30天总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; element-plus的日期选择器限定选择范围&#xff0c;由于数据的获取范围限定&#xff0c;需要前端处理一下日期的选择范围 提示&#xff1a;以下是本篇文章正文内容&#xff0c…

golang学习随记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 go学习快捷键及快速生成代码片段go基础循环流程控制关键字切片&#xff0c;拷贝函数闭包 defer语句格式化输出go语言随机数rand.seed() 包管理并发编程goroutinecha…

LangChain源码逐行解密之LLMs(一)

LangChain源码逐行解密之LLMs(一) 18.1 LangChain应用程序演示 本节会以一个简单的应用程序为切入点,进入到LangChain的源码部分,带领大家贯通整个LangChain最核心的框架源码,我们的应用程序不会太复杂,只是分析LangChain源码的切入点或者入口点。 如图18-1所示,是应用程…

【洋码头关键词获取商品列表技术解析】

洋码头关键词获取商品列表功能简介 洋码头的关键词获取商品列表功能是为了满足用户的个性化需求&#xff0c;提供更精准、更有针对性的商品推荐。用户可以输入关键词搜索&#xff0c;系统会根据关键词从海量的商品库中筛选出相关的商品列表&#xff0c;从而使用户更容易找到所需…

【目标检测系列】YOLOV1解读

前言 从R-CNN到Fast-RCNN&#xff0c;之前的目标检测工作都是分成两阶段&#xff0c;先提供位置信息在进行目标分类&#xff0c;精度很高但无法满足实时检测的要求。 而YoLo将目标检测看作回归问题&#xff0c;输入为一张图片&#xff0c;输出为S*S*(5*BC)的三维向量。该向量…

PyTorch 微调终极指南:第 2 部分 — 提高模型准确性

一、说明 如今&#xff0c;在训练深度学习模型时&#xff0c;通过在自己的数据上微调预训练模型来迁移学习已成为首选方法。通过微调这些模型&#xff0c;我们可以利用他们的专业知识并使其适应我们的特定任务&#xff0c;从而节省宝贵的时间和计算资源。本文分为四个部分&…

AI文档识别技术之表格识别 (一)

AI文档识别技术之表格识别(一) 文章目录 文章目录 AI文档识别技术之表格识别(一)1. 表格识别原理介绍1.1 表格类型分类1.2 识别原理 2. 整体识别流程2.1 流程图2.2 图像处理部分大致流程 3. 将表格转换为html与json格式输出3.1 html格式3.2 json格式3.3 表格识别实例 前言 此文…

可靠传输概述——停止-等待协议

基本概念&#xff1a; 使用差错检测技术&#xff08;例如循环冗余校验CRC&#xff09;&#xff0c;接收方的数据链路层就可检测出帧在传输过程中是否出现了误码。 此时有&#xff1a; 不可靠传输服务&#xff1a;仅仅丢弃有误码的帧&#xff0c;其他什么也不做 可靠传输服务&a…

Weblogic未授权远程代码执行漏洞 (CVE-2023-21839)

前言&#xff1a; Weblogic 允许远程用户在未经授权的情况下通过IIOP/T3进行JNDI lookup 操作&#xff0c;当JDK版本过低或本地存在javaSerializedData时&#xff0c;这可能会导致RCE漏洞。 0x00 环境设置 此次实验&#xff0c;我们使用P神的vulhub。启动环境&#xff1a; cd…

Android Studio实现图形验证码

源代码 源代码MainActivity 效果图32行需要修改,不修改会报错:需要常量表达式,我的代码已修改 点击后 MainActivity import static com.example.graphicverificationcode.RxCaptcha.TYPE.NUMBER;import android.annotation.SuppressLint; import android.os.Bundle; impo…

【Terraform学习】保护敏感变量(Terraform配置语言学习)

实验步骤 创建 EC2 IAM 角色 导航到IAM 在左侧菜单中&#xff0c;单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分&#xff0c;为角色选择可信实体类型&#xff1a; AWS 服务 使用案例:EC2 单击下一步 添加权限&#xff1a;现在&#xff0c;您可以看到…

Sentieon | 每周文献-Multi-omics(多组学)-第九期

多组学系列文章-1 标题&#xff08;英文&#xff09;&#xff1a; Prediction of axillary lymph node metastasis in triple-negative breast cancer by multi-omics analysis and an integrated model标题&#xff08;中文&#xff09;&#xff1a; 基于多组学分析和综合模型…

Java使用String来开发验证码

Java使用String来开发验证码 需求分析代码实现小结Time 需求分析 使用String来开发验证码。 实现随机产生验证码&#xff0c;验证码的每位可能是数字、大写字母、小写字母 根据需求分析&#xff0c;步骤如下&#xff1a; 1.首先&#xff0c;设计一个方法&#xff0c;该方法接收…

细胞——求细胞数量 C++详解

细胞——求细胞数量 C详解 求细胞数量题目描述输入格式输出格式样例样例输入样例输出 提示数据规模与约定 解法代码 求细胞数量 题目描述 一矩形阵列由数字 0 0 0 到 9 9 9 组成&#xff0c;数字 1 1 1 到 9 9 9 代表细胞&#xff0c;细胞的定义为沿细胞数字上下左右若还…

产品经理回到三线城市能去干什么?

首先要强调一个重要原则&#xff1a;尽量待在一线城市。我们付出了很多努力&#xff0c;在大城市生活了好几年&#xff0c;如果不能在这里获得成功&#xff0c;真的愿意回到原来的地方吗&#xff1f;我出生在山东农村&#xff0c;家庭条件很普通。自从上大学时&#xff0c;我就…

企业权限管理(二)-环境搭建

环境搭建 项目的基本架构 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mav…