本文原作者是趋势的一个朋友,在征得他同意的基础上,拿来转载
|
Web安全innovation
由于最近参加了病毒和Web Threat的基础培训,对一些常规的恶意软件或者网页的原理和行为有了粗浅的认识。经过这次培训,心里有个想法就是:恶意软件和网页的作者是进攻者,安全厂商是被动防护者,而且一暗一明,攻守之势一直没有太大的改变,结果就是无尽的病毒,无穷的pattern,“无力”的防御。张总有言:策略是致胜的关键。我觉得我们安全厂商是不是应该在策略上作出些根本的改变呢?我冥思苦想,夜不能寐,心里隐隐约约形成了一个大致的想法,可能非常的幼稚,以致贻笑大方,也可能“英雄”所见略同,引君莞尔一笑。我是个行外人士,不过东坡居士有诗云:不识庐山真面目,只缘身在此山中。这就是说:外行真的有可能解决内行不能解决的问题,因为金锤子类的反模式会干扰人的创新能力。在此声明没有参考已有的解决方案,闲话少说,下面我就开门见山,直捣黄龙了。
我总的解决思路就是孔夫子的一句话稍微变一下:忽其言而察其行。就是说我先忽视你网页的“言”:源代码,而是重点观察你的行,给网页放肆执行的机会,然后详细的观察它造成的后果。
假设有个大型企业,里面有个用户想访问一个网页,企业本地IWSVA会到本地缓存查询,如果在黑名单里,马上拒绝,否则去趋势的云端查询,如果得知是不安全的,IWSVA马上拒绝。如果到这里还没有被拒绝, IWSVA会根绝用户的操作系统的类型从虚拟机或者就是实体机阵列中(因为有些病毒会监测是否为虚拟机,若安全等级要求高,则建议采取实体机)动态选取一个空闲的而且OS类型跟用户一样的机器,而且这些机器的OS没有安装任何的patch,安全策略选择最低,所有浏览器的安全等级也选择最低,没有安装任何AV,反正就是人见人欺的那种,而且一些系统本身的routine,prefetch能关的都给关掉。但是这些操作系统的内核是被修改过的,分为虚模式和实模式2种。虚模式状态下,文件或者注册表新增,修改,删除,读取看起来是正常返回的,但是其实会被导向到一个远端的文件系统(NAS,Hadoop等)的。具体操作如下:
● 新增: 远端文件系统上会新增文件或者注册表条目,而且记录创建发起的进程信息,时间戳。在本地文件和远端文件映射表中记录一个条目,映射表也存在远端。
● 修改:远端文件系统上会远端文件系统上会新增文件记录原文件或原注册表项,修改后的文件,修改发起的进程信息,时间戳
● 删除: 远端文件系统上的文件或者注册表项不会被真正删除,会记录删除标志,删除发起进程信息,时间戳
● 读取: 先查看映射表,如果读取的文件或注册表项在映射表中存在的并且没有删除标志,则读取远端的文件,如果读取的文件或注册表项在映射表中存在的并且如果读取的文件或注册表项在映射表中存在的并且有删除标志,则报告IO错误,否则读取本地文件或者注册表。
在实模式下,则上述操作都操作本地文件。
在简要描叙了模拟运行机器OS的2种模式后,下面轮到网页真正运行了。IWSVAI会根据用户的OS类型和Agent类型,选择一台模拟机并且打开相应的浏览器在虚模式下运行,所以这时候网页运行产生的结果都会在远端的文件系统中被记录。同时这台模拟机通过网关发送或者接受数据的记录也会被拦截记录。IWSVAI会通过RPC或者固定端口向模拟机请求进程信息和service信息,模拟机处理这些请求时是以实模式运行的。网页运行触发的行为类型:比如说下载PE文件,创建新进程,创建service,新增autorun项,发送本机系统信息等,每项行为都有加权分,加权分相加的总分越高,说明网页越危险。网页执行触发的行为分析模块会分析网页的行为,会计算出一个加权总分。根据加权总分,给出安全,可疑,危险,致命等警告等级,危险和致命的网页将直接拒绝用户访问,同时更新客户本地的黑名单cache并将可疑,危险,致命的网页URL以及模拟运行中生成文件和网络活动信息报告给云端。当然行为加权分会根据云端的统计数据会作出相应的调整。云端的Crawler会马上爬取这些恶意的网页,并结合客户端传送过来的模拟执行过程中产生的资料,工程师分析恶意代码的原理,找出系统漏洞并给OS厂商或者浏览器软件厂商patch建议。
当然恶意网页可能会在页面的script中故意推迟恶意行为,对于这种情况,如果页面加载完成后,浏览器的javascript引擎中还有活动或者挂起的javascript线程存在时,这时候SA模块就要对Script进行分析给出判定。
如果判定了一个网页是恶意网页,则先切断模拟机跟远端文件系统的连接,然后reboot系统。
主要的Concern:
性能:由于模拟机执行恶意网页后需要reboot这点比较影响效率,但是由于恶意网页会首先在本地cache和云端查询被过滤,恶意网页被任意客户仅模拟执行一次,整个趋势的用户都能得到防护。
流程图如下:

分享到:
相关推荐
Innovation 智能合约题目合集(上) 自动化 安全实践 网络安全 云安全 安全建设
网站源代码安全测试规范1是针对应用程序和网站源代码安全性的评估标准,旨在发现并修复如OWASP十大Web漏洞等安全隐患,以提升系统的安全性。该规范遵循GB/T-17544信息技术软件包质量要求和测试标准,利用专业的源...
综上所述,"himinds-boosting-innovation-web-secure-cra"项目涵盖了JavaScript开发、React应用构建、Web安全实践等多个方面,旨在通过创新技术提升Web应用的效率和安全性。开发者在参与这样的项目时,需要掌握扎实...
复杂程度 Internet 技术的迅猛发展和普及-网络应用 Internet Email Web 浏览 Intranet 电子商务 电子政务 电子交易 时间 2023/6/4 4 北京网新易尚科技有限公司 " YISHANG INNOVATION TECHNOLOGY CO.,LTD 网络安全PPT...
具体来说,该创业项目的网站名称为“sigmarising-web_innovation-6f5425f”,通过这个名称可以推测,项目团队可能尝试通过这个网站平台,将一些零散的创意和想法汇聚、总结,并以创新的方式进行呈现。项目的目标受众...
5. **验证和授权**:为了确保数据安全,后端需要对请求进行验证(如JSON Web Tokens, OAuth2),确保用户只能访问其权限范围内的数据。 6. **错误处理和日志记录**:良好的错误处理机制可以提高系统的健壮性,日志...
总结来说,构建一个创新的社交网络平台,如"Innovation-Startup-SocialNetworkPlatform",涉及的技术和知识点包括JavaScript编程、前端框架的使用、Node.js后端开发、数据库设计、Web安全策略、用户体验设计以及数据...
通过引入Delphi Seattle、Tokyo、Berlin等版本,Delphi为企业级应用提供了更加安全、稳定和可扩展的开发解决方案。它通过对企业级通信协议和接口的支持,以及对ERP、CRM等企业应用集成的优化,帮助开发者构建能够...
6. **云社区驱动的创新平台**:《TSC Cloud Community-Driven Innovation Platform》可能介绍一个基于云的社区驱动平台,促进Web服务的创新和协作,强调用户参与和资源共享。 7. **事件驱动的服务导向架构**:...
JWT是一种轻量级的身份验证机制,包含用户信息,可以在客户端和服务器之间安全地传递。 8. **Mongoose or Mongodb**:如果项目涉及到数据库操作,可能会使用Mongoose(一个MongoDB对象模型工具)来操作NoSQL数据库...
开发套件的设计考虑了符合RoHS和CE标准,确保在环保和安全性方面的合规性。 手册还指导用户如何开始使用开发套件,包括安装Quartus II Web Edition软件,以及必要的驱动程序和开发板更新。板卡测试系统和配置菜单的...
dio-react-live-pwa 是一个基于ReactJS开发的渐进式Web应用程序(PWA)项目,由Digitall Innovation One创建并用于实时编码演示。这个项目旨在教开发者如何利用React框架构建高性能、离线可用且具有类似原生应用体验...
App Innovation网络研讨会-2021年1月12日 在Azure应用创新网络研讨会上我的演讲的演示代码。 该存储库中包含3个演示: 部署HTTP服务器并将其公开到上的Internet所需的基本Kubernetes资源 注意:请勿将此演示用于...
9. **平台无关性**:除了Android,Kotlin还适用于服务器端开发、Web开发、JavaScript编译以及跨平台的iOS和桌面应用开发(通过Kotlin/Native)。 在"Curso_Kotlin_Digital_Innovation_One"这个课程中,学习者将深入...
"猪银行"是一款基于.NET平台的银行转账应用,由Digital Innovation One在LocalizaLabs .NET Developer训练营中开发。这个项目旨在提供一个实践平台,让学员深入理解C#编程语言以及.NET框架的核心功能,同时熟悉银行...
【标题】"Digital-Innovation-One:合作社资料库"揭示了一个以技术驱动的创新项目,它可能是一个专注于数字化转型和合作的平台。这个平台可能汇聚了各种创新思维和资源,为参与者提供了一个展示、学习和实践的环境。...
综上所述,"beer-api"是一个结合了Java技术栈、RESTful设计原则、数据库管理和安全策略的库存控制解决方案,旨在为Digital Innovation One和Banco Inter的Java Bootcamp提供实践教学素材。通过学习和应用这个API,...
8. **并发和多线程**:学习如何在多核处理器环境下编写高性能的多线程代码,以及如何管理线程安全和同步。 9. **async/await**:C#引入的异步编程模型,简化了异步操作的处理,提高了用户体验和系统效率。 10. **...
10. **安全性**:考虑安全措施如认证、授权和加密,防止未授权访问和数据泄露。 11. **持续集成/持续部署 (CI/CD)**:自动化构建和部署流程,确保每次代码更改都能快速、可靠地部署到生产环境。 通过这个项目,...
不过,从标题和描述中可以推断,可能涉及的标签包括:API开发、Web服务、后端开发、合作开发、学习项目、编程训练等。 【文件名称解析】 "api_heroes-main" 可能是指项目的主要代码库或者源代码目录。在软件开发中...