你的网站安全吗?WEB应用安全总结

news/2024/5/12 7:05:01/文章来源:https://blog.csdn.net/weixin_33841503/article/details/91914617

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

应用安全越来越重要 —— 互联网上看到的大多数安全事件基本都和应用安全,尤其是 WEB 应用安全有关(随便翻翻 wooyun 之类的就知道了)。最近几年的工作基本都和应用安全有关系,借着这个机会也总结一下自己的一些观点。

WEB 应用安全的常见思路

这篇文章不包含 DDoS 和业务相关的问题 —— DDoS 主要是网络层解决的问题,我没有把放到 WEB 应用安全这个领域讨论;业务相关的安全,特别是业务特性或者业务规则带来的安全问题也不在这个讨论范围之内。

下面只是大概的分类,并不严谨。

通过工具来增强 WEB 应用的安全

工具往往对应用开发过程影响非常小,只需要在部署的时候做些配置通常即可起到防护作用。工具主要以防火墙、WAF 和各类扫描产品为主。这些产品通常基于特征,很难做到深入理解被防护的 WEB 应用,这类产品通常会遇到很多挑战。

由于被保护的 WEB 应用对这些传统工具而言属于“黑盒”,要做到有效防护的代价很高。个人认为目前传统的产品更适合做大范围、简单、一致的控制,作为基础设施提供无差别的防护;也比较适合做应急措施,用来缩短 Heartbleed、Struts2 远程代码执行 这类漏洞的响应时间,为彻底修复赢得足够的时间窗口。

误报率和漏报率:这个大家都懂的,从防病毒软件到 IDS、IPS 到扫描器到 WAF,只要是基于特征库,基本都走在这个“平衡木”上,很难做到既误报低又漏报少。

0day:WEB 应用的 0day 太容易发现,WEB 应用数量又是海量,真正充分考虑到安全的 WEB 应用更是凤毛麟角。因此,无法做到发现 0day 甚至是快速响应 0day,会非常难受,而简单基于规则很难做到发现“未知”。

普适和定制:应用的数量远多于操作系统、数据库这些通用组件,应用层的安全检查或者防护工具无法做到覆盖所有的应用(例如:wordpress 和企业 ERP 就是完全不同的应用)。

难以根除的漏洞:只要不修改代码、不打补丁,这个应用就始终存在安全漏洞。一旦出现盲点,导致攻击者能够直接访问到被保护的 WEB 应用,安全防护措施都失去意义(现在的业务系统都是分布式系统,非常容易出现盲点;尤其是各种 CloudWAF,被绕过的可能性更大)。

通过开发流程控制增强 WEB 应用的安全

SDLC 是 Secure Software Development Life Cycle 的简写,有时候也被称作 SDL 或 SSDLC 。SDLC 的特点是在软件开发的生命周期中都“嵌入”了安全的“基因”,对软件产品的安全性有本质上的提高。业界最成功的案例就是 Microsoft 通过 10 多年持续的实施 SDL 让其 Windows 产品的安全性有了极大地提高。

你的网站安全吗?WEB应用安全总结

SDLC 需要安全完全嵌入到软件开发的全部活动中,非常依赖于人员和工具(漏洞扫描、代码审计、……),也遇到了一些挑战。

从某种意义上来说,SDLC 仅仅适用于部分公司,这类公司往往有稳定的开发组织、流程;业务变化没有那么快,相对比较稳定;业务非常依赖于 IT 或者软件开发。扩展阅读:如何在你的组织内采用 SDL。

时间:业务特性本身的发展非常快,业务特性的开发往往是整个开发团队产出的核心度量指标(特别是互联网公司)。新增的安全特性会延缓产品开发进度,因此开发团队会倾向于事后修复;而持续的业务压力又会让历史遗留问题修复很难获得高优先级。本质上是个“技术债”的问题。

专业知识:开发团队的核心能力并不是安全。即使是 SDLC 中的培训,也是仅以解决常见、通用攻击方式为目标,在面临新型攻击或复杂攻击时,需要对安全领域有全面和深入的了解。很难有开发人员在跟上开发领域技术发展的同时,还能补上安全领域知识,并且跟上安全领域的发展。

资源:大型组织所开发使用的应用往往非常庞大,在开发流程中构建完整的 SDLC 无论是在组织还是技术层面会让大多数的组织难以承受。

误报:SDLC 中使用了非常多的工具,这些工具通常都会产生误报,这些误报非常容易形成开发人员抵制 SDLC 的原因。

流程:SDLC 本质上是让开发人员重视安全,越多开发人员有安全意识公司开发出来的产品就越安全。但坏处是,大多数情况下很难有人能评估安全是否已经足够了(甚至做过头了)。特别是在时间压力很大且缺乏专业知识的情况下,SDLC 非常容易流于形式。

通过增强对应用感知和持续监控增强 WEB 应用安全

核心思路就是在开发过程中引入安全相关的 SDK 或 Plugin。通过这些 Plugin 或 SDK 让应用具备缺省的安全功能,且让安全人员持续的对应用进行监视、响应(可以更深入到应用的运行时)。

这个思路中关键的一项技术目前被 Gartner 定义为 RASP。RASP 是 Runtime Application Self-Protection 的缩写,通过嵌入 Application 的代码让应用程序自身具备一定的威胁感知和防护能力。通常 RASP 天生就可以与其他安全产品集成。Gartner 总结了这个定义,并且在 Hype Cycle for Application Security, 2014 中给把他列入到了 On the Rise 阶段(属于被关注的新技术,但并没有大范围地被验证和接受)。而 Gartner 早在 2012 年就在 Runtime Application Self-Protection: A Must-Have, Emerging Security Technology 介绍过,并预计 2017 年 25% 的应用会具备这个这个能力。目前已经有多家厂商推出了产品,开源社区也有相应的实现。

HP: HP Application Defender

Prevoty: Prevoty Runtime Application Security

waratek: Application Security for Java

OWASP: AppSensor 是一个开源方案。

Shandowd: Shadowd 是一个开源方案。

RASP 相关技术

目前 RASP 还处于一个发展的阶段,尚未像防火墙等常见的安全产品一样有非常明确的功能边界(scope),我个人认为这样的技术甚至非常有可能会和 WAF 形成一定的融合。因此这里介绍主要是记录自己的理解为主,考虑到 AppSensor 和 Shadowd 的思路并不一样,分开记录。

AppSensor

目前 AppSensor 发展到了第二版,OWASP 这个项目目标一方面是给出完整的指南,另一方面也希望能提供一个完整的实现。目前 AppSensor 的 2.0 版以 Application-Specific Real Time Attack Detection & Response 核心。下面是 AppSensor 的一些核心文档可以看看。

OWASP AppSensor Getting Started

OWASP AppSensor Guide v2.0.1 EN

OWASP AppSensor Reference Implementation

AppSensor DetectionPoints 梳理了 AppSensor 集成到应用后提供实现的监测点,安全人员可以利用这些监测点达到实时监测攻击行为。

AppSensor ResponseActions 梳理了 AppSensor 集成到应用后提供实现的监测点,安全人员可以利用这些监测点达到实时响应攻击行为。

构成部分

AppSensor 一开始遵从的设计理念就包括:语言无关、插件式、为“As A Service” 设计。因此,包括 Analysis Engine 在内的各个部分都可以被替换。

AppSensor Core:必选组件。这个是 AppSensor 的核心,对外提供了 AppSensor 的各种接口。

Analysis Engine:必选组件。这是用来判断是否为攻击行为,如何对此行为进行响应的核心组件,目前还仅仅是个示例的实现。

Storage:用来存储数据的组件。

Configuration:用来对客户端和服务端配置的组件。

Access Controller:仅使用 SOAP、REST 的时候为必须。主要用于对接口进行访问控制。

Reporting:可选组件。这是用于对 AppSensor 进行管理很重要的组件,如果需要利用其他的系统获取 AppSensor 的数据,就需要使用 Reporting 组件。目前支持 Simple Logging、WebSockets、REST API 的方式对外提供数据输出。

部署方式

目前支持四种部署方式:

REST Web Service

SOAP Web Service

Thrift

Local (Embedded Java)

Shadow Daemon

Shadow Daemon 还是个非常早期的项目,目前给自己的定位还是 WAF ,通过嵌入到 WEB 应用中的代码来收集信息,通过这些信息来判断某次访问是否为恶意行为并作出判断。

构成部分

 

你的网站安全吗?WEB应用安全总结

Shadow Daemon 目前由三部分构成。

Shadow Daemon Connector:和语言有关,主要是利用语言特性嵌入到 WEB 应用中收集数据,放到 Shadowd 中进行处理。

shadowd:收集 Shadow Daemon Connector 的数据,根据配置和规则进行响应。

shadow_ui: Shadow Daemon 的用户界面。


转载于:https://my.oschina.net/safedog/blog/425239

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

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

相关文章

Amazon AWS S3 部署静态网站 + 绑定顶级域名 + DNSPod

2019独角兽企业重金招聘Python工程师标准>>> Amazon AWS S3 部署静态网站 绑定顶级域名 DNSPod 什么是 Amazon AWS S3? Amazon AWS Amazon Web Services官方是这么解释的 (http://aws.amazon.com/cn/products/?nc2h_ql): Amazon Web Services 提供一…

一个影响力大、实战、干货的SEO案例

事情的起因是这样的:额,旧的案例写着没意思,正在操作的案例又无法透漏更多的信息,思前想后,也许只有这个最合适了(绝对不能告诉你,这是领导教的只有一个案例的含蓄说法)。一、项目背景先来介绍下项目接手时…

干货满满:小团队(网站APP)没有数据方面的预算,推广运营人员如何用数据提升业务?...

先说结论:没有钱,没有预算照样可以做好数字运营,数字营销。想解决这个棘手的问题,要么花钱,要么花时间咯。下文中会具体讲花时间(精力)的方法。1.先从付费类的软件说起:截止2018年&a…

阿里云系列——5.网站云解析快速配置(简单+免费+详细+最新)

(又称:域名,主机,备案都配置好了,就是不能访问网站的解决方案--1.解析问题) 网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 直接访问网站发现> 进入管理页面:h…

提升网站用户体验—WebP 图片的高效使用

一.WebP 的由来 现代图像压缩技术对我们的生活方式影响很大。数码相机能将上千张高质量图片存储到一张内存卡里、智能手机可以与邻近设备快速分享高分辨率的图片、网站与手机等移动设备能快速展示各种富媒体。 然而,如果图片只能以最原始的格式进行存储的话&#xf…

八种不同类型的响应式网站建设赏析

随着网站建设发展的趋势,响应式的网站逐渐成为各行业建站形式的首选,毕竟响应式在当前的网站运用中更加方便,尤其在移动设备多样化对移动网站需求的形势下,省去了网站因不同设备而产生的琐屑烦恼。下面奇亿网络将和大家分享八种不…

ThinkPHP 框架开发 零基础开发 网站商城 步骤 (2)

1. 先写后台 Admin部分 项目目录结构如下: 文件 admin.php 内容如下: 配置ThinkPHP与mysql的链接信息: 转载于:https://www.cnblogs.com/zhongbin/p/5362996.html

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。五、Sp…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模…

网站页面SEO的三个标签怎么写有利【转载】

转载自:代明博客 在SEO界,自从夫唯老师提出“四处一词”的概念以来,不管是搜索引擎还是SEOer,都格外重视页面的三个标签。三个标签书写是否成功,在很大程度上决定了网页是否能有好的排名。今天代明博客就与大家探讨一下…

将WordPress安装在网站子目录的相关问题

不论我们打算将WordPress博客作为网站的子域名(wordpress.example.com)、子目录(example.com/wordpress),还是作为网站的主域名(yourdomain.com)使用,都建议将WordPress安装在子目录…

如何把域名解析到网站空间IP上?

建立网站首要就是要有一个域名和网站空间,怎么把这两者联系在一起呢?这就要通过域名解析,把域名指向空间的IP,让我们能够通过域名访问网站空间。通过域名解析把我们容易记住的域名转化成IP地址,由DNS服务器把域名解析到…

大型网站架构

1.初始的网站访问量低, 所以一个应用服务器就够了。随着用户访问越来越多,数据越来越大,那么就需要更好的性能。所以就将一个服务器分为三个服务器:应用服务器,文件服务器,数据库服务器。 1.1应用服务器需…

【redux】详解react/redux的服务端渲染:页面性能与SEO

亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染) react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载好,这较大程度地拖慢…

访问网站提示无法安全地连接到此页面

按winR键打开运行,输入“inetcpl.cpl”,点击确定,如下图所示: 一、高级选项页将TLS开头的选项勾选。 二安全页,将显示混合内容勾选为启用。 重启浏览器访问网站。

怎么换网站模板?

速成网站创业版和国际版可以换模板,方法如下:1、登录速成网站管理后台,点击左上角的:设计,再点管理,如下图: 2、再点左侧的:控制面板,然后点:更换模板&#x…

分布式网站数据库同步方案——sqlserver数据库同步复制

分布式架站技术中重要一部分就是数据库的同步,手工编程数据库同步程序复杂而且很难保证效率,ms的sqlserver为我们提供了解决方案——数据库同步复制!   SQL复制的基本元素包括   出版服务器、订阅服务器、分发服务器、出版物、文章   S…

python 网站 模板转义

在python的字符串中,有的符号要想表达其本意,需要在前面加上\符号,例如单引号,如果要在字符串中表现它,必须写成\单引号里面\样式,才能实现一对单引号以及里面的内容,否则,它就表示字…