webgoat-Security Logging Failures

2023-11-07 01:44

本文主要是介绍webgoat-Security Logging Failures,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概念

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

应用程序监视和调试。

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

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

目标

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

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

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

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

有关日志记录的更多信息

正如您现在所知道的,当用户尝试欺骗日志时,日志欺骗可能会成为一个问题。除了表单发布之外,还有多种方法可以做到这一点。例如,考虑 URL 参数或精心制作的 JSON 有效负载。因此,做很重要

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

但是,记录安全性不仅仅是针对欺骗攻击的清理。让我们看一下记录敏感信息。

记录敏感信息

在上一个练习中,我们只看到用户名经过,但没有密码。为什么?因为我们希望确保应用程序日志不包含任何敏感信息。让我们确保当我们的日志被泄露时,我们不必担心身份验证信息被重用。

同样,我们不应记录任何其他敏感信息,例如对称密钥或私钥、访问令牌等。

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

你基本上要防止的是,人们使用日志来分析人们或监视他们。您希望保护使用系统的受试者的隐私。

特殊情况:访问日志
一种特殊情况是入口和/或应用程序服务器提供的访问日志。这些日志应至少包含以下内容:请求来自何处、何时发出请求,以及响应代码可能是什么。可以在访问日志中共享其他信息,具体取决于日志的安全性。例如:您不希望在访问日志中共享原始请求以保护用户的隐私。

这里经常出现问题:访问日志有时会捕获用于请求的完整 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)

现在应该很清楚,使用简单的编码/解码不是保护日志中敏感信息的方法。相反,最好使用不同的技术:完全不记录数据、将其清空或使用另一个共享密钥对其进行加密。

日志级别
解释日志级别

异常处理
exception handling (maybe an example of logging exception towards the client with cryptography and why this is a bad idea)
审核日志记录、安全事件监控和应用程序日志
请注意,日志记录通常不仅仅用于应用程序调试。应用程序日志通常用作其他目的的源,请考虑:

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

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

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

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

请注意,这些日志记录目的中有很多彼此之间有很大不同!因此,最好将应用程序(调试)日志记录与 SEM 和审核日志分开,以处理应用程序的输出、组织内日志的存储和处理。

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

这篇关于webgoat-Security Logging Failures的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360407

相关文章

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Spring Security常见问题及解决方案

《SpringSecurity常见问题及解决方案》SpringSecurity是Spring生态的安全框架,提供认证、授权及攻击防护,支持JWT、OAuth2集成,适用于保护Spring应用,需配置... 目录Spring Security 简介Spring Security 核心概念1. ​Securit

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

spring security 超详细使用教程及如何接入springboot、前后端分离

《springsecurity超详细使用教程及如何接入springboot、前后端分离》SpringSecurity是一个强大且可扩展的框架,用于保护Java应用程序,尤其是基于Spring的应用... 目录1、准备工作1.1 引入依赖1.2 用户认证的配置1.3 基本的配置1.4 常用配置2、加密1. 密

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo