webgoat-Security Logging Failures安全日志记录失败

概念

日志记录对于现代系统非常重要。我们出于各种原因使用它:

应用程序监视和调试。

审计日志记录:例如,记录用户和系统的特定操作。

安全事件监控:例如,向 SIEM 或 SOAR 系统提供信息,该系统将根据这些日志中提供的信息触发。

本课程目标

用户应该对日志记录和日志记录的位置有基本的了解。

用户了解日志欺骗和日志信息泄露的风险。

用户将能够进行简单的日志欺骗攻击。

用户将能够分辨日志记录所涉及的基本风险。

预防日志欺骗

当用户尝试日志欺骗时,日志欺骗可能会成为一个问题。做到日志欺骗可以有很多种方式,如向服务器提交表单,攻击者设计的 URL 或者请求body。建议如下做法来预防日志欺骗。

1、应用适当的输入过滤
2、确保您可以建立源真实性并实施完整性控制以检测日志篡改。
3、确保用户无法从任何通道注入日志
4、确保日志存储受到保护

不要在日志记录敏感信息

在上一个练习中,我们只看到用户名经过,但没有密码。为什么?因为我们希望确保应用程序日志不包含任何敏感信息。让我们确保当我们的日志被泄露时,我们不必担心身份验证信息被重用。
同样,我们不应记录任何其他敏感信息,例如对称密钥或私钥、访问令牌等。

记录个人信息

记录个人信息时要小心。例如:不要记录银行帐户详细信息,不要记录用户的个人身份信息如身份证号。不要记录可以确定被记录对象身份的信息。

What you basically want to prevent, is that people use the logs to profile people or spy on them. You want to protect the privacy of the subjects using your system.

特殊情况:访问日志 access log

一种特殊情况是入口和/或应用程序服务器提供的访问日志。这些日志应至少包含以下内容:请求来自何处、请求发出的时间,以及响应code是什么。其他的信息是否可以显示在access log中,取决于日志的安全性。例如:you don’t want to share the raw request in the access logs to safeguard the privacy of your users.

这里经常出现问题:访问日志有时会捕获用于请求的完整 URL。这可能包括敏感的 URL 参数。因此:小心那些被作为URL参数的字段,并确保你没有将这些内容记录在可公开访问的日志中。

关于日志记录信息

OWASP 日志记录备忘单https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
维基百科上的GDPR文章https://en.wikipedia.org/wiki/General_Data_Protection_Regulation#Principles

更多关于日志记录 (2)

使用简单的编码/解码不是保护日志中敏感信息的方法。建议做法
1、最好使用不同的技术
2、完全不记录数据
3、使用另一个共享密钥对其进行加密。

日志级别

解释日志级别

异常处理

exception handling (maybe an example of logging exception towards the client with cryptography and why this is a bad idea)

审计日志记录、安全事件监控和应用程序日志

请注意,日志记录通常不仅仅用于应用程序调试。应用程序日志通常用作其他目的,请考虑:

审计日志记录:应用程序日志需要记录特定事件,以创建可用于重建代表用户/由用户执行的操作的跟踪。例如,这以后可以在法庭上用于证明在发生争议时发生了什么。

安全事件监视 (SEM):安全部门通常可以使用应用程序生成的事件来了解组织的应用程序环境中发生的情况。有各种类型的事件以及各种属性可以发挥作用,以检测组织是否陷入困境。例如:仅用作破玻璃过程的特权管理登录对他们来说已经是一个非常有价值的事件。另一个示例:虽然经常使用的管理登录可以很好地记录,但它们本身可能不会触发安全部门的事件,除非为该管理角色使用完全不同的位置。与安全部门一起进行威胁模型练习通常有助于了解他们需要哪些类型的日志,以及它们应立即触发安全警报的内容。

欺诈检测:您的应用程序日志可以帮助进行欺诈检测。例如:日志显示有人试图转移比他们拥有的更多的钱,这可能表明出了问题。

业务流程监控:您的应用程序日志可用于查看业务流程是否仍在按预期进行。例如:在流程的下游缺少新事件可能表明业务流程已停止。在指导公司时,这对企业来说可能是有价值的信息。

请注意,这些日志记录目的中有很多彼此之间有很大不同! it is best to separate your application (debug) logging, from your SEM, and audit logs in terms of output by your application, storage and processing of the logs within your organization.

更多阅读
OWASP 日志记录备忘单 https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html

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

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

相关文章

uview组件u-tabs添加badge数字消息提醒

效果图 在slot插槽中&#xff0c;使用v-if指令来判断当前选项卡是否是当前激活的选项卡&#xff08;即index是否等于currentTab&#xff09;&#xff0c;以及徽标数是否大于0。 <view><u-tabs:list"listTab" //标题数据:is-scroll"false":curre…

【C++初阶】一、入门知识讲解(C++关键字、命名空间、C++输入输出、缺省参数、函数重载)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【数据结构初阶】十一、归并排序(比较排序)的讲解和实现 &#xff08;递归版本 非递归版本 -- C语言实现&#xff09;-CSDN博客 引言&#xff1a;什么是C C语言是结构化和模块化的…

pytest全局变量的使用

这里重新阐述下PageObject设计模式&#xff1a; PageObject设计模式是selenium自动化最成熟&#xff0c;最受欢迎的一种模式&#xff0c;这里用pytest同样适用 这里直接提供代码&#xff1a; 全局变量 conftest.py """ conftest.py 全局变量&#xff0c;主要实…

Clion 搭建Qt projects

Qt projects Qt is a cross-platform C framework for creating GUI applications. Qt uses its own build system, qmake, and also supports building with CMake starting from the version Qt4. Qt是一款创建桌面程序的跨平台的C框架。qmake是Qt自有的构建系统&#xff0…

探索ChatGPT在学术写作中的应用与心得

随着人工智能的迅猛发展&#xff0c;ChatGPT作为一种强大的自然语言处理模型&#xff0c;逐渐在学术界引起了广泛的关注。本文将探讨ChatGPT在学术写作中的应用&#xff0c;并分享使用ChatGPT进行学术写作时的一些经验和心得。 01 — ChatGPT在学术写作中的应用 1.文献综述和…

高速串行总线——SATA

SATA简介 SATA的全称是Serial Advanced Technology Attachment(串行高级技术附件&#xff0c;一种基于行业标准的串行硬件驱动器接口)&#xff0c;它是一种电脑总线&#xff0c;主要功能是用作主板和大量存储设备&#xff08;如硬盘及光盘驱动器&#xff09;之间的数据传输 SA…

挑战100天 AI In LeetCode Day04(热题+面试经典150题)

挑战100天 AI In LeetCode Day04&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-62.1 题目2.2 题解 三、面试经典 150 题-63.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&am…

基于飞浆NLP的BERT-finetuning新闻文本分类

目录 1.数据预处理 2.加载模型 3.批训练 4.准确率 1.数据预处理 导入所需库 import numpy as np from paddle.io import DataLoader,TensorDataset from paddlenlp.transformers import BertForSequenceClassification, BertTokenizer from sklearn.model_selection import tra…

Flink SQL Window TopN 详解

Window TopN 定义&#xff08;⽀持 Streaming&#xff09;&#xff1a; Window TopN 是特殊的 TopN&#xff0c;返回结果是每⼀个窗⼝内的 N 个最⼩值或者最⼤值。 应⽤场景&#xff1a; TopN 会出现中间结果&#xff0c;出现回撤数据&#xff0c;Window TopN 不会出现回撤数据…

蓝桥杯每日一题2023.11.5

题目描述 方格分割 - 蓝桥云课 (lanqiao.cn) 题目分析 对于每个图我们可以从中间开始搜索&#xff0c;如果到达边界点就说明找到了一种对称的方法&#xff0c;我们可以直接对此进行答案记录每次进行回溯就会找到不同的图像&#xff0c;如果是一样的图像则算一种情况&#xff…

[Kettle] Excel输入

Excel文件采用表格的形式&#xff0c;数据显示直观&#xff0c;操作方便 Excel文件采用工作表存储数据&#xff0c;一个文件有多张不同名称的工作表&#xff0c;分别存放相同字段或不同字段的数据 数据源 物理成绩(Kettle数据集2).xls https://download.csdn.net/download/H…

AI智能公文写作助手“文山会海“

公文写作痛点 没思路&#xff0c;公文写作无从下手公文类型繁多&#xff0c;一时难以全面掌握公文内容组织难度大&#xff0c;不易清晰、有逻辑的进行表达时间紧任务急&#xff0c;往往需要在有限的时间内完成大量写作工作反复修改优化&#xff0c;需满足更多新要求&#xff0…

JavaScript+Flask 实现视频上传的简单demo

前言 需求说明 在网页上选择本地视频并上传到后端服务器后端接收到视频后存储到本地&#xff0c;然后进行处理 技术栈&#xff1a; 前端采用原生HTMLJavaScript 后端采用Flask框架 前端代码 操作步骤&#xff1a; 选中视频文件获取文件内容及文件名将文件内容和文件名封…

Linux学习之vim跳转到特定行数

参考的博客&#xff1a;《Vim跳到最后一行的方法》 《oeasy教您玩转vim - 14 - # 行头行尾》 《Linux&#xff1a;vim 中跳到首行和最后一行》 想要跳到特定行的话&#xff0c;可以在命令模式和正常模式进行跳转。要是对于vim的四种模式不太熟的话&#xff0c;可以到博客《Linu…

在 Python 中打印二叉树

文章目录 Python 中的二叉树树的遍历顺序中序遍历树先序遍历树后序遍历二叉树在Python中的实现使用 Python 打印整个二叉树代码分析本文将讨论二叉树以及我们如何使用它。 我们还将看到如何使用 Python 打印它。 我们将了解在处理二叉树时使用的术语。 我们还将研究使用 Pytho…

使用VSCODE链接Anaconda

打代码还是在VSCODE里得劲 所以得想个办法在VSCODE里运行py文件 一开始在插件商店寻找插件 但是没有发现什么有效果的 幸运的是VSCODE支持自己选择Python的解释器 打开VSCODE 按住CtrlShiftP 输入Select Interpreter 如果电脑已经安装上了Python的环境 VSCODE会默认选择普通…

C++auto 关键字

auto 关键字在 C 语言中就已经存在了&#xff0c;只不过在 C 语言中它的作用是声明自动变量&#xff0c;例如 auto int z 123 ; z 本来是局部变量&#xff0c;加上 auto 后变成了局部的自动变量&#xff0c;就是当前变量的生存周期是由编译器自动决定的&#xff0c…

Redis中的渐进式遍历-Scan命令

之前我们学习过遍历命令keys,而keys *是一次性的把整个redis中所有的key都获取到.在不知道当前redis中有多少key的情况下,这个操作是非常危险的,可能会一下子得到太多的key而阻塞redis服务器.从而使其他redis客户端卡顿. 通过渐进式遍历,就可以做到,既可以获取到所有的key,同时…

视频集中存储EasyCVR平台播放一段时间后出现黑屏是什么原因?该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

零代码编程:用ChatGPT批量提取flash动画swf文件中的mp3

文件夹&#xff1a;C:\迅雷下载\有声绘本_flash[淘宝-珍奥下载]\有声绘本 flash&#xff0c;里面有多个flash文件&#xff0c;怎么转换成mp3文件呢? 可以使用swfextract工具从Flash动画中提取音频&#xff0c;下载地址是http://www.swftools.org/download.html&#xff0c;也…