CN104662552A - 安全的盘访问控制 - Google Patents
安全的盘访问控制 Download PDFInfo
- Publication number
- CN104662552A CN104662552A CN201380048900.7A CN201380048900A CN104662552A CN 104662552 A CN104662552 A CN 104662552A CN 201380048900 A CN201380048900 A CN 201380048900A CN 104662552 A CN104662552 A CN 104662552A
- Authority
- CN
- China
- Prior art keywords
- write
- data
- storage
- memory device
- safe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
接收来自安全工具的请求,该请求与涉及存储设备中的数据记录的事件有关。使用应用编程接口(API)与该存储设备的安全存储功能对接,该安全存储功能启用一组安全存储操作。至少部分地基于该请求,在该存储设备处执行涉及该数据记录的安全操作。在一个方面,这组安全存储操作可包括:直接读取操作、直接写入操作、写入时复制操作和尝试保存的写入操作。
Description
技术领域
本公开总体涉及计算机安全领域,更具体而言,本公开涉及恶意软件的检测和修复。
背景技术
存储是计算***上的宝贵资源。计算***的存储设备可以不仅是应用文件和数据的储存库,而且是关键的操作***文件和关键的高价值数据(包括敏感的个人数据等此类示例)的储存库。根套件(root kit)、病毒和其他恶意软件攻击已为目标存储设备所知,这些目标存储设备例如是存储设备的引导加载器(如,主引导记录(MBR))、文件***、盘区等。此类恶意程序的示例包括TDL4、Trojan.Mebroot、Popureb.E、Max++,等等。此类恶意程序可操纵***存储,从而为其的持续存在创建空间、创建私有文件***或存储分区、偷窃数据、泄露数据、造成数据丢失,等等此类示例。
附图说明
图1是包括示例盘访问安全代理的示例***的简化的示意图;
图2是包括示例存储设备的示例***的简化框图;
图3是表示包括示例盘访问安全代理和公共API的示例***的多个方面的简化框图;
图4是表示示例盘访问安全代理和示例启用安全存储的存储设备之间的交互的简化框图;
图5A-5B是表示示例安全存储操作的简化框图;
图6A-6C是表示示例安全存储操作的简化框图;
图7A-7C是表示示例安全存储操作的简化框图;
图8A-8B是示例启用安全存储的存储设备中的数据记录的简化表示;
图9A-9E是表示涉及示例盘访问安全代理的示例技术的流程图;
图10是根据一个实施例的示例性处理器的框图;
图11是根据一个实施例的示例性移动设备***的框图;以及
图12是根据一个实施例的示例性计算***的框图。
各附图中同样的附图标记指示同样的元素。
具体实施方式
图1示出示例***100,其包括例如示例计算设备105,该示例计算设备105具有能够对接并控制由该计算设备105利用的一个或多个存储设备(如,110)的盘访问安全代理115。在一些实现方案中,盘访问安全代理115可控制在存储设备层级(如,l1)上可用的操作和逻辑,以提供延伸至***软件堆栈的最低层的专用的安全存储功能。该盘访问安全代理115可通过一个或多个API(如,120)与启用安全存储的存储设备(如,110)上所提供的功能对接。在一个示例中,可将盘访问安全代理115配置成用于通过单个的、公共API 120等等此类潜在的示例,潜在地与多个启用安全存储的存储设备对接。
在一些实现方案中,盘访问安全代理115可进一步与安全管理工具(如,125)对接,并连接到安全管理工具(如,125),这些安全管理工具(包括安全工具套件)提供高级的安全评估和策略管理服务。此类安全工具(如,125)可包括例如主机入侵防护***、反恶意软件检测和修复工具、数据访问控制和防护,等等此类示例。此外,可通过外部的(例如,远程的和/或第三方的)安全管理工具(以及存在于计算设备105上的安全工具)定义并管理各种安全策略(如,130)以引导盘访问安全代理115的多种交互以及引导对在启用安全存储的存储设备(如,110)处的各种存储层级或盘层级操作的控制。
在一个示例实现方案中,盘访问安全代理115可包括一个或多个处理器132和一个或多个存储器元件134,以及例如结合该盘访问安全代理与存储设备(如,110)的交互来提供各种功能的一个或多个组件。在一些示例中,此类组件可包括属性引擎136、访问决定引擎138、策略管理器140、情报引擎142、自保护引擎144、早期或离线检测引擎146,等等潜在的许多此类示例。在一个示例实现方案中,属性引擎136可具有从在存储设备110处通过受监测的读取/写入尝试检测到的信息中标识特定的读取/写入尝试的源等此类示例的功能和逻辑。在一些实例中,盘访问安全代理115可进一步包括访问决定引擎138,该访问决定引擎138具有确定响应于在存储设备处的各种读取/写入尝试而要在存储设备110处采取的动作(例如,基于使用属性引擎136对特定的读取/写入尝试的源进行的标识)的逻辑和功能。此外,可在存储设备110处或在描述经监测的读取/写入尝试的更高的软件堆栈处收集信息,可向盘访问安全代理115提供此信息,并且可例如由示例访问决定引擎138利用此信息以确定读取/写入尝试是正当的、期望的或可信的,或者确定在某些实例中,应当阻止、经进一步分析或以其他方式修复未知的或不可信的读取/写入尝试。
在一些示例中,盘访问安全代理115可进一步包括诸如策略管理器140之类的附加组件。示例策略管理器140可包括用于接收、更新多个策略,并将这些策略应用于与盘访问安全代理115对接(如,通过公共API 120)的盘(如,存储设备110)的读取/写入尝试的功能,这些策略例如是经由一个或多个安全管理工具125服务于盘访问安全代理115的策略130。相关地,在盘访问安全代理115的一些实现方案中,可提供情报引擎142以从一个或多个安全工具125中收集情报,这些安全工具125发现关于计算设备105的属性、所安装的应用、硬件配置、网络配置、已知的威胁和易损性等此类示例的信息。通过示例情报引擎和/或通过示例策略管理器收集到的情报(例如,基于从对其他类似的计算设备、操作***、应用等的监测中收集到的情报)可用于通知盘访问安全代理115的(例如,使用访问决定引擎138)、关于存储设备110(或“盘”)的多个活动的决定、指令和控制。附加的组件可包括例如自保护模块144,该自保护模块144用于利用存储设备110的多个功能以保护由盘访问安全代理和/或其他安全相关的工具所利用的文件和数据以及计算设备所使用的应用,等等此类示例。
在一些实现方案中,可用执行基本存储管理和数据读取/写入操作的逻辑来配置存储设备110。此外,可用在一些情况下结合盘访问安全代理115执行多个功能的功能来进一步配置启用安全存储的存储设备(如,110)以实现各种安全存储任务。存储设备110可包括一个或多个处理器设备148、一个或多个存储器元件150以及提供用于执行各种安全存储功能的功能的一个或多个组件(或者可与上述各项一起来利用存储设备110)。存储设备110可以是各种数据170和备份数据175的储存库。在一些示例中,存储设备110可存储敏感的数据,包括操作***文件、本地安全工具文件、主引导记录(MBR)、卷引导记录(VBR),等等此类示例。
启用安全存储的存储器设备(如,110)可包括能够启用稳健的存储设备操作和校验的逻辑,诸如例如逻辑152,该逻辑152启用直接的或可信的读取能力,该读取能力允许存储设备绕过盘堆栈文件***,并且直接从存储设备上的数据记录中读取。类似地,示例存储设备可具有用于对该示例存储设备的数据执行直接、可信的写入的逻辑156。在一些实现方案中,存储设备可具有用于执行基本的数据访问控制操作的逻辑154,这些操作包括阻止或不允许以及修改对存储设备数据(例如,该存储设备的特定区域)的读取、写入和其他访问尝试。实际上,存储设备可具有定义并初始化用于安全存储的盘的多个部分的功能(如,安全存储逻辑158),并且可进一步具有管理该盘的功能(如,盘管理逻辑164)。相关地,示例存储设备可具有将存储器的多个部分定义并预留为经加密的保险箱(security vault)180部分的逻辑。
此外,在一些示例中,可用逻辑160配置存储设备,该逻辑160用于响应于覆盖一个或多个数据记录的尝试,执行对写入操作的复制,从而自动地生成该一个或多个数据记录的备份副本。可进一步用逻辑162配置示例存储设备以生成其他的备份副本,例如,复制特定的写入尝试并且将该写入尝试保存到备份存储器中(例如,尝试保存的写入(SAW)操作),而不是允许该写入尝试覆盖实际所针对的数据记录。此外,可向存储设备提供逻辑166,以例如通过LBA锁等锁定特定的记录。启用安全存储的存储设备(如,110)的附加特征和功能可包括用于执行假数据读取的逻辑、用于阻止某些写入或读取尝试的逻辑、用于返回假写入成功的逻辑,等等此类示例。
通常,包括示例计算环境100中的***设备的“服务器”、“客户机”、“客户机设备”、“计算设备”、“网络元件”、“主机”、“***型***实体”、“存储设备”和“***”可包括可用于接收、发送、处理、存储或管理与计算环境100相关联的数据和信息的电子计算设备。如在本文档中所使用的,术语“计算机”、“处理器”、“处理器设备”或“处理设备”旨在涵盖任何合适的处理设备。例如,可使用诸如包括多个服务器计算机的服务器池之类的多个计算设备和处理器来实现在计算环境100之内被示出为单个设备的多个元件。此外,可将计算设备中的任何、全部或一些改动成用于执行任何操作***,包括Linux、UNIX、微软Windows、苹果OS、苹果iOS、谷歌安卓、Windows Server等,并且可将虚拟机改动成用于虚拟化对包括自定义和专属操作***的特定操作***的执行。
此外,服务器、客户机设备、网络元件、***和计算设备可各自包括一个或多个处理器、计算机可读存储器以及一个或多个接口,等等此类特征和硬件。服务器可包括任何合适的软件组件或模块,或包括能够主管和/或服务包括分布式、企业或基于云的软件、应用、数据和服务的软件应用和服务的计算设备。例如,在一些实现方案中,可在云实现的计算***上实现安全管理工具,将云实现的计算***配置成用于远程地主管、服务或以其他方式管理数据、软件、服务和应用,这些数据、软件、服务和应用与***中的其他服务和设备对接、相协调,取决于***中的的其他服务和设备,或者由***中的其他服务和设备使用。在一些实例中,可将服务器、***、子***、或计算设备实现为可在公共计算***、服务器、服务器池或云计算环境上受主管的、并且共享包括共享存储器、处理器和接口的计算资源的多个设备的一些组合。
计算设备可包括传统计算设备和移动计算设备,包括,设计成用于与人类用户交互、并且能够在一个或多个网络上与其他设备通信的个人计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、功能电话、手持式视频游戏控制台、台式计算机、启用互联网的电视机和其他设备。计算机辅助的或“智能的”装置可包括家用或工业设备和机器,这些家用或工业设备和机器包括计算机处理器,并且由该计算机处理器、其他硬件和/或该计算机处理器所执行的一个或多个软件程序控制、监测、辅助、补充,或者通过该计算机处理器、其他硬件和/或该计算机处理器所执行的一个或多个软件程序以其他方式增强这些设备的功能。计算机辅助的装置可包括各种计算机辅助的机器和产品,其包括冰箱、洗衣机、汽车、HVAC***、工业机械、炉、安全***等。
一些计算设备可进一步包括这些***设备的计算机处理器所支持的至少一个图形显示设备和多个用户接口,该至少一个图形显示设备和多个用户接口允许用户看到***100中所提供的应用和其他程序的图形用户界面并与之交互,该至少一个图形显示设备和多个用户界面包括程序和图形用户界面的用户界面和图形表示,其中,上述程序与在***设备之内受主管的应用交互,上述图形用户界面与应用管理服务器的服务和其他应用等相关联。此外,虽然可按照由一个用户使用来描述***设备,但是本公开构想了许多用户可使用一个计算机或一个用户可使用多个计算机。
虽然将图1描述为包含多个元件或与多个元件相关联,但是并非图1的计算环境100之内所示出的所有元件可用于本公开的每一个替代实现方案中。此外,结合图1中的多个示例所描述的一个或多个元件可位于计算环境100的外部,而在其他实例中,可将某些元件包括在一个或多个其他所描述的元件以及未在所示出的实现方案中描述的其他元件之中,或者可将某些元件作为一个或多个其他所描述的元件以及未在所示出的实现方案中描述的其他元件的部分。另外,图1中所示出的某些元件可以与其他组件相组合,并且可用于除本文所描述的那些目的之外的替代目的或附加目的。
现在转到图2中的简化框图,示出了计算设备的示例子***,其包括负责管理设备的各种存储能力的多个元件。在该设备的用户模式205中,可提供传统应用210、盘工具、安全软件等(215、220)。该设备的内核模式225可包括文件***230、卷管理器235、分区管理器240、盘类驱动程序245和存储总线驱动程序250。已经知道,现代的恶意软件利用该内核模式225的每一个层级(例如,230、235、240、245和250),包括位于堆栈的最底层的存储总线驱动程序250和其他元件。不幸的是,传统的盘访问控制和安全工具并不在该存储总线驱动程序层级上进行防护。采用上述的示例***100的原理的实现方案可解决传统的盘访问控制***的若干缺点和问题。
现在转到图3中的示例,示出盘访问安全代理115的简化框图,该盘访问安全代理115使用公共API 120与软件堆栈上各个层级上的各种存储设备(如,325、330和335)对接,各种存储设备包括基于芯片组的存储设备(如,325)、基于主机的存储设备(如,330)以及固态驱动器(SSD)设备(如,335)。可结合在启用安全存储的存储设备(如325、330和335)处可用的安全存储功能(包括在存储端口(或存储总线)驱动程序层级上的安全存储功能)来利用盘访问安全代理115。例如,可在软件堆栈的最低层级(例如,在RST驱动程序或控制器驱动程序中)上提供基于主机的安全存储。基于主机的安全存储可潜在地横跨多个硬盘和存储设备运作。可在芯片组层级(例如,在设备通信总线层级)上附加地或替代地实现安全存储。在又一示例中,可在盘层级上(例如,在计算设备的固态驱动器(SSD)的固件中,等等此类示例)附加地或替代地实现此类安全存储功能。在图3中的示例中,可定义公共API 120,该公共API 120允许盘访问安全代理115在基于主机的层级、基于芯片组的层级和/或基于固件的层级中的任意一个层级上控制存储安全。此类API 120可抽象出对于这三种技术中的每一种技术的接口,并且提供公共功能集,可例如在通过该公共API与这些存储安全技术通信的该盘访问安全代理115的指示下利用该公共功能集。
统一的安全存储API或公共API 120可涵盖安全存储解决方案的基于主机的、基于固件的和基于芯片组的实现方案的功能。此类API 120可附加地用于获取对哪些启用安全存储的存储设备在***上可用的列举,并用于查询每个设备的安全存储能力(例如,该设备是否包括安全存储解决方案中的基于主机的、基于固件的和/或基于芯片组的实现方案)。该API可进一步允许盘访问安全代理115例如创建、应用和管理针对每个单个的设备的单独的策略,例如,由较高层级以及用户模式安全工具使用的策略。
在一个示例中,本机API 305a、305b和305c提供对特定的启用安全存储的存储设备的特定的安全存储功能的接口。例如,在图3中的示例中,基于芯片组的安全存储设备325、基于主机的安全存储设备330和安全SSD335中的每一个可具有对应的本机API(分别为305a、305b和305c)。公共API 120可担当转换器,将通过盘访问安全代理115接收或由盘访问安全代理115接收的命令和指令转换成与目标安全存储设备(如,325、330和335)各自对应的本机API(如,305a-c)兼容的指令。在一些实现方案中,盘访问安全代理115可包括用于通过本机API 305a-c直接地进行访问和通信的逻辑。在一些示例中,盘访问安全代理115的替代性实现方案可摒弃使用公共API 120,等等潜在的此类示例。硬件和/或软件实现的逻辑可管理对特定的安全存储设备的访问,并且本机API 305a-c可提供对此类逻辑的接口。例如,芯片组逻辑310可提供针对一个或多个存储设备(如,325)的、芯片组层级上实现的安全存储功能;存储端口驱动程序325可用于提供针对一个或多个存储设备(如,330)的、主机层级上实现的安全存储功能;并且SSD固件348(或者替代地,中间件320)可管理SSD 335。此外,可提供各个安全存储逻辑340、345和350以促进特定的安全存储功能,将利用这些特定的安全存储功能启用各自的安全存储设备,这些安全存储设备例如是用于实现读取和写入阻止、假数据读取、假写入成功、COW、SAW、直接读取、直接写入等的逻辑。
在一些示例实现方案中,可在例如由一个或多个硬件和/或安全提供商维持的、静态地连接的库中提供本机API或内核模式API。可在一些实例中省略用户模式API。在一些实例中,可将该库静态地连接到***的较低层级的过滤器驱动程序,等等此类示例。此外,随着新的安全存储能力得到发展,API功能的定义可随时间而演变,并且可将本机API和公共API扩展至支持此类附加的能力。
公共API的示例实现方案可提供多个同时的设备支持,因为该公共的、统一的API支持对***上可用的、包括与该API兼容的功能的每一个存储设备的管理。盘访问安全代理可通过相同的公共API,单独地与每一个存储设备通信。此外,在一些实现方案中,可同时在单个存储设备上应用多个安全存储技术(例如,在基于固件的安全存储驱动程序上,通过基于主机的安全存储支持等)。在此类实例中,该盘访问安全代理可访问存在于给定的存储设备上的能力的组合超集。在一些实现方案中,可配置该盘访问安全代理的一些实现方案以查询并配置组合特征集,而不是像在一些替代的实现方案中那样,在公共API中定义该组合特征集。此类管理可包括例如,防止存在于同一个设备上的潜在的多个保险箱之间的冲突(例如,一个保险箱用于基于主机的解决方案,一个保险箱用于基于固件的解决方案,一个保险箱用于基于芯片组的解决方案,等等)。
在一些实现方案中,公共API可使用句柄(或其他标识符)来标识目标存储设备和该API调用所适用的各自的安全存储技术。这允许对具体的设备进行配置,并且在回调的情况下,允许对源设备进行标识。可通过一个或多个API(在一些示例中包括用户模式库)附加地提供安装任务和供应任务。举例而言,例如在控制***的存储设备的盘访问安全代理上的安装程序模块可实施如本文中所描述的安装任务和供应任务。例如,可查询启用安全存储的存储设备的列表以发现此类设备。此外,在一些实现方案中,可执行能力查询以标识针对***上的每一个设备的安全存储能力(以及强化等级)的列表,从而安装合适的要点产品特征。此外,除了例如从本机或内核API查询返回的能力之外,还可标识存储设备附加的属性,例如,是否已对该存储设备进行了供应。此外,如果安装包包含比当前所安装的更新的版本,则示例安装程序模块可能能够更新例如该盘访问安全代理的实现方案中所使用的盘访问安全代理和/或类过滤器驱动程序,等等此类示例。相应地,用要点产品对盘访问安全代理打包,并且提供盘访问安全代理的更新能力可提供便利,并且将用户从手动更新该盘访问安全代理的附加步骤中解救出来,等等此类示例。在一些实现方案中,该安装程序模块可能能够使用命令行和硬编码的默认值所指定的输入值静默地运行,而没有用户交互,等等此类示例。
供应操作可与安装紧密地整合,并且与在存储设备盘上分配用于保险箱的预留空间的过程等此类示例有关。此外,供应操作可包括获取用于例如存储设备以及代理或其他程序之间的通信中的加密/认证密钥。示例安装程序可在利用安全存储能力的每一个设备上,以及在设备上所利用的每一个安全存储实现方案(或强化等级)中发起保险箱的创建。这可以有助于创建用于日志、备份数据(如,针对写入时复制和尝试保存的写入的备份数据)、加密密钥、敏感的用户/应用数据、白名单、黑名单、数据丢失防护(DLP)数据、DAT文件存储等的存储,以及有助于创建用于由该存储设备生成并使用的元数据的安全存储。可选地,该安装程序可指定用于应用定义的存储的空间。
保险箱的创建可包括通过对所报告的盘容量进行分区或收缩来准备该盘(即,启用安全存储的存储设备)。可对该保险箱执行初始化任务,例如,针对多种使用(日志记录、备份、应用数据)对其分割,并潜在地安装文件***。供应操作可进一步包括供应认证证书。在一些实现方案中,在没有互联网连接的环境中,供应操作也是可能的,例如,供应服务器在本地内联网上是可用的情况,等等此类示例。
可供应认证证书。可针对各种安全存储技术,以不同的方式供应证书。例如,在一个实现方案中,基于固件的安全存储可依赖SIGMA协议或其他加密技术,而基于主机的安全存储利用基于主机的加密方案服务。也可例如由安装程序模块执行取消供应操作,包括在将盘空间返回给***之前,完全擦除所指定的保险箱存储。在一些实现方案中,如果在初始的安装和供应操作之后添加了兼容新的安全存储的存储设备,则可提供一种机制以例如通过与盘访问安全代理通信的用户模式服务过程来供应新的存储设备,等等此类示例实现方案。然后,在盘安全访问安全代理正常的初始化过程期间,该盘访问安全代理可发现新供应的存储设备。
可以认为保险箱是多用途存储区,可以用各部分来细分该多用途存储区,例如,用于日志存储、备份存储(针对“写入时复制”和“尝试保存的写入”动作)、应用定义的存储(如,由代理来管理的那样的存储)、存储设备元数据的部分,等等此类示例。在一些示例中,可将存储设备元数据隐藏在该盘访问安全代理的可见度之外。可在供应操作时指定该保险箱的尺寸。如果特定的安全存储实现方案利用用于存储设备元数据的附加的预留空间,则可由供应API的保险箱隐式地处理该附加的预留空间。此外,可对往返保险箱的通信进行加密,从而阻断这些数据对外部行为人的可见性。类似地,可相对于经认证的安全通道之外的外部行为人加密或以其他方式隐藏该保险箱中的静态数据。在一些实现方案中,可周期性地,或可响应于确定了该保险箱和/或其加密已通过某种方式遭破解而管理并改变用于对该保险箱进行加密的加密密钥。在一些实现方案中,这会导致对该保险箱的数据进行解密和重新加密。该盘访问安全代理可具有用于在创建时指定保险箱细分部分(日志、备份和应用定义的存储)的尺寸限制和其他配置的功能。在一些实例中,针对保险箱的尺寸限制可以是静态的,而在其他实现方案中,可促进动态地重新调整该保险箱的尺寸以例如允许扩展该保险箱,而同时不需要取消供应/重新供应操作,并且不存在保险箱数据(包括备份和日志条目)和策略的潜在损失。此外,在一些实现方案中,可例如通过如下方式向用户表示该保险箱的预留空间:减少该驱动器的所报告的容量,从而使得该保险箱完全不可见;将该保险箱显示为单独的分区;或者将该保险箱显示为文件***中的文件,等等此类示例。
可由盘访问安全代理结合采用安全存储能力的存储设备的初始化操作来执行附加的步骤。例如,作为盘堆栈的部分的盘访问代理能够不使用公共API而监测存储设备的初始化操作。能力查询可附加地返回信息,诸如对应于检测到的存储设备的安全存储实现方案的版本号。可查询当前的安全存储设备配置以例如在启动时检测持续的设置。此外,该盘访问安全代理可查询存储设备的功率循环计数器,以例如确定例如在该盘访问安全代理不可用或断开连接的时候是否使用了该驱动程序。在一些实例中,该盘访问安全代理可执行完整性校验以确保***是干净的,并且确保任何持续的策略设置仍然有效。此外,在一些示例中,该盘访问安全代理可用于检测自该盘访问安全代理最后一次运行起是否存在与特定的存储设备之间的任何预料不到的通信,其包括影响公共API的策略改变、直接读取操作、直接写入操作、保险箱访问,等等此类示例。此外,可支持该盘访问安全代理和所支持的安全存储设备之间的双向的相互认证。
现在转到图4中的示例,示出了简化的框图,其示出包括安全存储能力的***的一个特定的示例实现方案。如图4中的示例中所示,盘访问安全代理115可与启用安全存储的存储设备的各种实现方案中的任意一种对接。在一个示例中,可通过对应于该盘访问安全代理115的类过滤器驱动程序405支持或至少部分地实现该盘访问安全代理115的安全存储特征410。可将类过滤器驱动程序405静态地与公共API 120连接,从而将命令从盘访问安全代理115传递到基于主机的安全存储逻辑345、基于SSD的安全存储逻辑350等。可支持同步的操作,例如,可在API返回之前完成操作,并且返回状态可指示该操作的成功或失败。可提供对异步事件通知的回调,并且在一些实现方案中,可按逻辑块寻址(LBA)来表示盘的位置,例如利用Windows(或其他的)API调用来完成文件向LBA(file to LBA)的映射,等等此类实现方案。
可结合启用安全存储的存储设备和盘访问安全代理来提供各种服务。例如,可实施深度的、可信的盘监测以及数据访问防护。在一些实现方案中,可支持自保护功能和早期检测功能,并且可支持盘级修复、安全存储空间供应,等等此类特征。例如,可启用用于稳固的***防护、检测和修复的一组特征。可例如通过使对经锁定的盘块(如,MB、恢复OS防护等)的写入尝试失败来实现存储块和文件禁闭。在另一示例中,可利用对(同步地)报告给协作的盘访问安全代理的“所看到的”盘块和文件的写入尝试来促进存储块和文件级监测。
也可基于安全存储设备和盘访问安全代理实现方案启用高级的盘监测功能。例如,可根据一个或多个对应的策略,将多个盘区定义为是“受保护的”以及受制于监测和访问控制的。监测可包括监测各种类型的数据访问尝试,包括读取尝试、写入尝试、修剪(TRIM)(SSD)尝试等。此外,通过启用安全存储的存储设备,在软件堆栈的最低层进行监测可允许收集情报,并将该情报调回到盘访问安全代理中,该盘访问安全代理允许附加的功能和特征,例如,属性、黑名单和白名单操作(基于各种行为人的属性结果和历史趋势)、运行时决策(例如,关于对存储设备上数据的访问)等。另外,盘访问安全代理可例如在公共API上向该存储设备发出命令,该公共API触发各种操作的执行(例如,根据该代理所标识的一个或多个相关的策略的实施),各种操作例如,写入时复制操作、尝试保存的写入操作、假数据读取操作、日志记录(例如,用于补充能够至少部分地使用该代理被分析的情报),等等此类示例。
利用上述原理的***和存储设备可以仍然呈现附加的功能。例如,安全存储设备和盘访问安全代理实现方案可提供“永远开启”的防护。例如,当该盘访问安全代理活动时或与其他安全管理服务对接时,可基于信息,通过该盘访问安全代理来促进动态和在线的安全策略、实时决策和实时通知服务,该信息由监测存储端口驱动程序层级或在软件堆栈的最低层的读取/写入操作的安全存储设备标识并传递。当该盘访问安全代理(或存储设备)离线时,仍然可以例如通过离线策略提供防护,这些离线策略允许在该设备的引导周期的早期,通过能够由该存储设备直接在引导加载器层级上执行的防护、检测和修复操作而提供的防护(例如,防护引导工具攻击等)。在一些示例中,当将存储设备移动到另一机器时(例如,在基于固件的安全存储实现方案中),离线保护甚至能够扩展,等等此类示例。
存储设备可享有其盘内容的真实视图。如上文所述,可由该存储设备例如在经由所定义的API与该存储设备对接的盘访问安全代理的指示下,完成直接读取和直接写入操作。直接读取和直接写入操作可能是有用的,例如因为它们不会被盘堆栈中的其他程序(包括恶意软件)阻止或更改或以其他方式干扰。例如结合诸如修复、完整性校验(如,散列计算)、文件数据的高/低比较等此类示例之类的任务的此类操作可能是有用的。
转到图5A-5B中的示例,示出了示例操作的简化表示,可例如结合示例盘访问安全代理或在示例盘访问安全代理的指示下,使用启用安全存储的存储设备来执行这些示例操作。例如,在图5A中的示例中,可标识对应于感兴趣的数据或文件的特定数据记录或数据记录的范围(如,505)。可结合一个或多个安全工具的操作或服务确定或指定此类受保护或受监测的记录,这些安全工具保护此类数据,并且例如与示例盘访问安全代理对接。例如,在一个示例中,可结合检测到的数据记录范围,检测可疑的行为(例如,通过属性分析)。可发起获悉关于数据记录505更多信息的尝试,以例如确定范围505之内的文件是否是恶意软件,等等此类示例。
在图5A中所示出的示例中,可用数据记录505的内容的伪装表示或虚假表示来呈现***读取,该***读取例如是由传感器或在软件的较高层级上操作的应用对数据记录505的读取(例如,通过该文件***)。可例如利用提供给该存储器设备的直接读取功能来校验该响应的完整性。该直接读取可绕过盘堆栈以及提供数据记录505的虚假表示的文件的影响来读取该数据记录505,从而获取数据记录505的范围中的真实和实际的内容。在此特定示例中,标识出基于响应与直接读取的结果的比较,对***级读取的响应进行了伪装。可通过该盘访问安全代理和其他安全管理工具(与该盘访问安全代理对接的安全管理工具)以及通过分析文件的性质(例如,反病毒或反恶意软件工具等)触发该直接读取。通过该直接读取,可与其他因素一起检测并考虑此异常,以确定数据记录505的范围是否容纳了恶意软件或其他恶意的内容,等等此类示例。
转到图5B中的示例,可由盘访问安全代理触发该存储设备的直接写入可操作性,并且可采用该存储设备的直接写入可操作性以修复在盘上的数据记录(如,505)所标识的范围之内检测到的问题。例如,一个或多个安全管理工具(例如,检测到数据记录505与该设备上的恶意软件相符的工具)可(通过盘访问安全代理)请求修复数据记录505。在一些实现方案中,可利用传统的修复技术进行初始的修复尝试。在一些实例中,如果此类修复尝试是不成功的(或者被认为是较不理想的),则可以采用直接写入功能以利用该存储设备直接访问该数据记录(例如,通过经由公共API与该存储设备对接的盘访问安全代理的指示),并直接覆盖(例如,使用写入时复制备份数据)或删除该目标数据记录505并修复该问题。此外,在一些实现方案中,可请求锁定并将其应用于该盘的所标识的区505,从而防止该区再次受感染,等等此类示例。
如上文所述,在盘访问安全代理的指示下,安全设备可执行对数据记录的多个范围的禁闭,包括LBA范围的禁闭。为高效起见,在一些实现方案中,可将这些范围的子集指定为受监测的、重要的或受保护的。可进一步针对这些范围的各种子集来指定不同的策略、监测技术和保护技术。例如,对于每种类型的访问(例如,写入、读取和修剪),单独的策略是可定义的。可由该盘访问安全代理来执行文件至LBA映射。此外,每个LBA范围可以为了将事件和日志数据映射回被访问的文件***实体而允许对元数据进行指定。可由该盘访问安全代理定义并提供该元数据,并且该元数据可伴随与对各个LBA范围的访问相关联的日志记录、事件操作(回调)和备份数据。该盘访问安全代理可以将该元数据与LBA向文件名映射和可能的一些附加情境数据等此类示例相关联。
在一些实现方案中,可能无法允许多个保护范围重叠。在其他实现方案中,多个保护范围并不如此受限。例如,当在同一个设备上使用多个安全存储技术实现方案时,可允许该盘访问安全代理配置针对每个实现方案的相同的或重叠的LBA范围的不同的策略。例如,一个实现方案可具有更有利或更有效的修复功能,从而允许更有效的实现方案在多个保护范围理论上重叠和/或干扰的情况下具有先例。
对于针对监测所配置的每一个LBA范围,可(例如由盘访问安全代理)向安全存储设备呈现在尝试对该范围的访问时要采取的对应动作。在一些实现方案中,可响应于与特定的检测到事件(例如,对受保护范围的所标识的访问尝试)定义多个动作,包括一个层次的动作或多个系列的动作。例如,如果所禁止的动作中的一个动作(例如,写入时复制)失败,则这不会改变其他所定义的动作(例如,阻止/允许)。在一些实现方案中,可用日志记录这些失败,但是随后应当像正常情况下一样,继续进行其他动作。此外,当该盘访问安全代理具有经注册的回调时,策略可将适用于同一个LPA范围的动作定义为“在线模式”;或者,当该盘访问代理不可用时,策略可将适用于同一个LPA范围的动作定义为“离线模式”。实际上,如果经历了与动作有关的超时(例如,在等待异步回调完成的时候),则在一些实现方案中,该安全存储设备可故障转移(failover)至离线动作。可使用该存储设备和该盘访问安全代理之间的、诸如同步回调之类的回调以协调在该存储设备处动作的执行。例如,可调用该盘访问安全代理中的回调例程以处理事件,并且作为响应,该回调可返回应当由该安全存储设备执行的动作。
可结合来自盘访问安全代理的同步回调,返回各种动作。实际上,可返回多个动作的组合。此类动作可包括例如,对于“读取”事件:允许或阻止该读取;执行假数据读取并返回经修改的数据视图;记录该读取事件的细节的日志,等等此类示例。对于“写入”事件,可返回下列各项的任意组合:可允许或阻止该写入,或可用所返回的“假的”成功来阻止该写入;写入时复制操作;尝试保存的写入操作;记录该写入事件的日志,等等此类示例。对于“修剪”事件,可返回下列各项的任意组合:允许或阻止该修剪;写入时复制;记录修剪事件的日志,等等此类示例。在处理同步回调的时候,可将原始的读取/写入事件保持在“挂起”(PENDING)状态。
此外,当该盘访问安全代理不可用的时候,策略可提供针对“离线”模式所配置的多个动作。对于“读取”事件,可执行下列各项的任意组合:允许或阻止该读取;记录该读取事件的细节的日志,等等此类示例。对于“写入”事件,可提供下列各项的任意组合:可允许或阻止该写入,或可用所返回的“假的”成功来阻止该写入;写入时复制操作;尝试保存的写入操作;记录该写入事件的日志,等等此类示例。对于“修剪”事件,可返回下列各项的任意组合:允许或阻止该修剪;写入时复制;记录该修剪事件的日志,等等此类示例。
盘访问安全代理可注册状态回调以从启用安全存储的存储设备处接收通知(出错或其他状态)。此类通知可标识重要的状况,例如,备份存储或保险箱是满的,等等此类示例。此外,在一些示例中,可向回调例程提供下列信息:所访问的LBA范围、在配置期间所指定的LBA范围元数据、所请求的访问类型(读取/写入/修剪)、所写入的内容(如果适用)、SRB、IRP或用于盘访问的类似指针(用于辅助该代理将低层级I/O匹配到较高层级的请求,并且最终匹配到发起该I/O的进程中)。此外,在一些实例中,该回调可修改所写入/读取的数据。
日志记录可包括对信息进行的日志记录以及维护和访问,该信息例如,所访问的LBA范围的指示、在配置期间所指定的LBA范围元数据、所请求的访问类型(读取/写入/修剪)、关于是否允许或阻止该访问的指示、所读取/写入的数据的偏移和长度、时间戳(或者允许该代理从该存储驱动器的定时计数器中推断出时间戳的机制),等等此类潜在的示例。可将日志数据存储在该保险箱的所指定的部分中。日志记录可包括例如来自该存储设备的违例报告(当访问特定的受监测/保护的LBA范围的时候)和状态/出错通知。此类出错通知可包括例如:指示该保险箱的备份空间耗尽的通知;或者当该安全存储设备等待该盘访问安全代理的回调以处理事件时,该安全存储设备超时的通知,等等。此外,在一些实现方案中,可将该日志看作循环缓冲器。当达到尺寸极限时,可用连续附加到日志的新数据来清理日志最老的条目。
转到图6A-6C中的示例,示出了简化的框图,其示出示例写入时复制(COW)操作。如上文所述,将盘的多个部分指定为是受保护的。相应地,在图6A中的示例中,将示例盘的部分605表示为是受保护的。例如,可执行初始化步骤以标识该盘存储之内重要的或敏感的文件和范围,例如,对应于重要的操作***文件的记录范围、诸如主引导记录(MBR)之类的引导扇区、主文件表和安全应用文件(例如,针对该代理的自保护和其他安全服务等的安全应用文件),等等此类示例。可将对应的策略应用于各种类型的受保护的盘数据记录范围。在一些实现方案中,对受保护的盘范围(如,605)之内的记录(如,610)的写入尝试受制于根据一个或多个所应用的策略,所述策略响应于读取尝试而触发自动的写入时复制操作。例如,现代的恶意软件可能尝试获取对重要的操作***和引导扇区文件进行重写的控制权。通常,此类恶意软件可以锁定盘的经重写或受感染的区域,并且以其他方式抵抗通过传统的技术和工具进行的消除和修复。
如当前的示例中所示,对受保护的数据记录610的写入尝试可触发例如在备份存储器中生成并存储该数据记录610的备份副本。在一些实例中,该备份副本可驻留在该盘的保险箱区中。可允许该写入尝试继续操作并重写该数据记录610,如图6B中所示。转到图6C,稍后可例如基于例如由与盘访问安全代理对接的一个或多个安全管理应用或安全工具所作出的对数据记录610的写入操作对应于该设备上的一些可疑的、不稳定的或恶意的代码的确定,来确定该写入操作本不该发生。相应地,可通过对该数据范围610的直接写入来利用通过写入时复制操作所创建的该备份副本,从而恢复被写入到数据范围610中的内容。
在修复恶意软件和其他不期望的代码期间恢复原始数据的时候,写入时复制操作可能是有用的。可将写入时复制数据保持在该盘的备份区中,例如在保险箱中。如果在该备份区中没有足够的空间来容纳新的写入时复制数据,则可覆盖其他的备份数据,或者在一些实例中,可跳过该写入时复制步骤,等等此类示例。此外,在盘写入尝试超出了所监测的LBA范围之外的实例中,该写入时复制操作可仅备份该数据的、对应于所监测的LBA范围的部分。例如,如果监测LBA范围100-110,但是对范围95-115进行了写入尝试,则该COW备份应当只反映来自LBA范围100-110的数据。此外,在一些实现方案中,能以有意义的方式对备份条目进行命名,从而使该盘访问安全代理能够传递其想作用于哪些条目的信息。实际上,可将盘访问安全代理配置成用于:通过多个备份的列表进行迭代;检索元数据以获取每一个备份;以及读取完整的数据以获取条目,等等此类示例。
图7A-7C示出涉及示例启用安全存储的存储设备的示例尝试保存的写入(SAW)操作和假数据读取。例如,在图7A中,标识了对被包括在数据记录的受保护的范围710中的数据记录705的写入尝试。在一些实现方案中,该写入尝试可根据一个或多个策略触发尝试保存的写入操作。例如当将可疑的恶意软件的有效载荷写入到该盘中的时候,可采取尝试保存的写入操作。例如,可备份被尝试写入的数据,从而可例如通过该存储设备处进一步的监测对这些数据执行更广泛的(异步的)评价。可将尝试保存的写入数据保存在保险箱的所指定的部分中,在一些示例中,该保险箱包括例如来自写入时复制操作的备份数据。
在图7A中所示的示例中,可例如由该盘访问安全代理基于该盘访问安全代理处接收到的情报(例如,来自与该盘访问安全代理对接的另一安全工具的情报)来命令该尝试保存的写入操作,该情报关于检测到的写入尝试来源于可疑而恶意的、不稳定的或可疑的程序等此类示例,或者检测到的写入尝试与可疑而恶意的、不稳定的或可疑的程序等此类示例有关。转到图7B,在一些实例中,负责原始的写入尝试的程序可尝试例如通过发送回读请求来检测其动作是否受监测或被阻止,从而验证其写入尝试是经允许的和成功的。凭借盘访问安全代理和潜在的其他安全管理应用的辅助,可以确定,检测到的回读请求来源于该程序。此外,基于此确定,可触发假数据读取动作(例如,根据一个或多个策略),该假数据读取动作使用包括原始写入尝试的内容的、尝试保存的写入的备份数据来响应该回读请求。在一些实例中,可查阅白名单或黑名单以确定是提供回读请求还是数据的完整视图,或是触发假数据读取动作。假数据读取动作可为***争取附加时间以评估进行写入尝试的发起程序的性质。在一些实例中,尽管阻止了原始的尝试,但是可以确定,该写入尝试的源是可信的,并且该尝试是正当的。相应地,如图7C中的示例中所示,该代理可请求该存储设备通过复制来自尝试保存的写入备份的对应数据,并且将这些数据写入目标数据记录705中(例如,利用直接写入动作)来实现(图7A中的)原始的写入尝试。
与COW动作相同,如果在保险箱的备份区中没有用于新条目的足够的空间,则可跳过该SAW操作,并且现有的保险箱数据可保持不变。在其他实现方案中,该SAW动作可继续进行,以覆盖较旧的备份数据。可向日志报告未能执行尝试保存的写入动作。此外,在一些实现方案中,当所尝试的盘写入超出所监测的LBA的范围之外时,该尝试保存的写入可仅备份该数据的、对应于所监测的LBA范围的部分。
在一些实现方案中,操作***可向像盘类驱动程序上的存储总线驱动程序、盘类过滤器驱动程序和任何过滤器驱动程序那样的低层级驱动程序提供该存储设备的数字可寻址的抽象表示。根据盘的多个扇区,地址范围可从零一直变化到盘的尺寸。每一个扇区的尺寸可以取决于该存储设备的格式化方案。可通过每个扇区的LBA或逻辑块地址对每一个扇区寻址。配置应用(例如,利用盘访问安全代理的配置应用)可发送用于防护该存储设备的多个扇区的策略数据。以其最简单的形式,该策略数据可包括I/O操作的类型(读取/写入/两者)、扇区的起始地址(LBA)以及要保护的扇区的数量。保护操作可暗示,如果该I/O位于该策略中的扇区/LBA所定义的盘的区域中,则可由盘过滤器驱动程序拒绝该策略中所选择的该I/O操作。
在一个示例中,可由I/O类型(例如,读取/写入)、I/O操作针对的盘区(就盘上的扇区而言)和尺寸中的一个或多个定义由任何应用进行的该I/O操作。因此,盘过滤器可将该策略数据保持在其***存储器中,并且针对发生在该盘上的每一个I/O操作校验该策略数据。由于该盘过滤器的校验(或查找)操作位于在该***和存储设备上运行的每个应用的两个路径上,并且策略的数量可能很多并横跨该盘上所有的LBA散布,因此该盘过滤器的校验操作可能使应用、盘访问安全代理和整体上的***的性能显著地降级。
为了更高效地辅助查找适用于特定的盘区(或盘上数据记录的范围)的策略,可提供改进的查找机制以允许对相关策略进行更有针对性的搜索。例如,如图8A-8B中的简化示例中所示,可将存储介质认为是固定数量的扇区的单一的、线性增长以及数字可寻址的对象。例如,图8A示出N个扇区的盘的表示。阴影区域可表示例如由起始扇区及区域长度定义的盘上的范围。盘过滤器驱动程序可存储许多此类范围以及与每个范围相关联的、支配针对该范围的I/O(或读取/写入)尝试的多个动作的一个或多个策略。
在一些实例中,所存储的范围(以及与每个范围相关联的策略)的数量可能非常高,将这些范围存储在利用高阶搜索或线性搜索的数据结构中将是次优的。在一个示例实现方案中,可使用诸如二进制搜索树(如,AVL树)之类的树结构。此外,在一些实现方案中,可将适用于范围内的一个或多个数据记录的每个策略存储为整个盘的单一全局搜索树的节点记录。在其他更优化的实现方案中,可为单个盘提供多个二进制搜索树。可向每一个所定义的范围分配相关联的树,使得每一个树具有小得多的深度(进而改善总查找时间)。实际上,并非与针对每个盘利用一个全局树以及必须针对每个I/O遍历该树,而是可将该盘理解为多个部分的集合,例如,许多相同尺寸的、被称为扩展区(extent)的更小的盘(也包括可能的尺寸不同的最后一个盘)的集合。
在一个示例实现方案中,可向针对盘所定义的每一个扩展区提供并分配单一的AVL(或其他二进制的)树。相应地,每个树仅存储针对对应于各自的扩展区的多个盘的范围的策略信息。在一些实例中,特定的范围可横跨多个扩展区的边界,在此情况下,可在一些示例中将单个范围打断为多个范围并且横跨多个扩展区进行细分,使得将该单个范围的每个部分容纳在单个扩展区的边界之内。此外,每个扩展区专用的树可包括标识适用于对应的扩展区之内的多个数据记录范围的多个策略的多个节点。这可提供对各个树进行高效得多的搜索。例如,响应于涉及特定数据记录或数据记录范围的检测到的读取/写入动作,可标识包含该特定的数据记录或记录范围的一个或多个对应的扩展区。此外,可标识并搜索针对特定的数据记录的多个扩展区的对应的搜索树,从而迅速地确定是否已定义了适用于该特定的数据记录的策略或保护指定。
此外,在一些实现方案中,可保持位掩码,该位掩码提供用于确定是否为给定的扩展区之内的多个记录定义了任何策略的简约机制。例如,该位掩码可包括存储给定的扩展区中的“保护范围”的状态的多个位。例如,如果对应的扩展区具有任何数量(大于零)的受保护范围,则可将该位标记为“真”。然而,如果给定的扩展区不具有受保护的范围或所应用的策略,则可将该给定的扩展区对应的位标记为“假”。例如,在图8B中的示例中,扩展区805可包括受保护的范围815,并且可将该扩展区805在位掩码中的对应位设置为“1”。类似地,扩展区815和825也可包括受保护的范围(如,820、830和835),并且也可将扩展区815和825的对应的位设置为“1”。(还)不包括受保护的范围的其他扩展区(如,840)可使其位掩码值被设置为“0”,如图8B中的示例中所示。
通过使用该示例位掩码或标记之类的其他标识符,对针对记录的所标识的范围的特定扩展区的指示可首先产生对位掩码或其他标识符的查找,从而确定在该扩展区内是否存在任何受保护的范围或策略。如果借助该位掩码或其他标识符确定了不存在此类范围或策略,则可跳过对相应的扩展区搜索树的搜索(并且,在一些示例中,I/O尝试可不需要存储设备和/或盘访问安全代理进行额外的干预,无缝地继续进行)。在该位掩码指示一个或多个受保护的范围或策略与给定的扩展区之内的多个范围有关的情况下,可标识并搜索对应的扩展区搜索树,从而确定是否将策略或保护应用于该特定的记录范围,以便在一些情况下触发存储设备和/或盘访问安全代理的安全存储功能,等等此类示例。
图9A-9E包括流程图900a-e,其示出至少部分地基于上述原理来利用安全存储平台的示例技术。例如,在图9A中的示例中,盘访问安全代理可与一个或多个安全工具以及一个或多个启用安全存储的存储设备两者对接。如902处所示,可从安全工具中接收关于存储设备中的一个的数据记录的请求。该请求可例如请求验证或检查该存储设备上的数据(例如,使用直接读取);标识安全事件,例如,写入、读取或以其他方式访问该存储设备的尝试;以及请求要根据一个或多个安全策略,利用该存储设备的安全存储功能以对该存储设备执行的特定的安全操作或安全操作集,等等此类示例。如904处所示,该盘访问安全代理可使用API与该存储设备对接。在一些实现方案中,该API可以是用于与启用安全存储的存储设备的多个不同的实现方案对接的公共API。可结合对如902处所示的、从安全工具处接收到的请求的响应使用该API以触发通过该存储设备的安全存储功能所提供的多个操作。例如,如906处所示,该盘访问安全代理可例如通过对该API的调用,使得使用该安全存储功能,在该存储设备处执行一个或多个安全操作。此类安全操作可利用多个安全存储操作,例如,直接读取、直接写入、假数据读取、假写入成功、COW、SAW、日志记录、记录锁定、允许和阻止读取以及写入尝试,等等此类示例。
在图9B所示的示例中,如908处所示,可在启用安全存储的存储设备中标识经锁定或以其他方式受保护的数据记录。如910处所示,可执行直接读取以在该存储设备处标识直接来自于该存储设备的实际值。如912处所示,可将所标识的值传递到安全工具,并且如914处所示,作为响应,可从该安全工具中接收用于修改该记录的这些值的多条指令。如916处所示,可执行对这些数据记录的直接读取,以便用不同于直接读取的结果中所返回的值重写该数据记录的实际值。
在图9C的示例中,如918处所示,标识对启用安全存储的存储设备的一个或多个数据记录的、所尝试的写入(例如,通过来自监测该存储设备的这些记录中的至少部分的安全工具的通信)。如920处所示,可标识特定的数据记录受保护,或者一个或多个安全策略适用于该特定的数据记录。如922处所述,可执行诸如写入时复制操作之类的安全操作,从而在允许该写入尝试向该特定的数据记录写入新数据之前,创建该数据记录的内容的副本。可将所复制的数据备份在COW数据记录中,并且可将所复制的数据用于例如通过将这些数据直接写回到该特定的数据记录中来恢复该特定的数据记录的值。
在图9D中的示例中,如924处所示,可例如基于来自标识写入尝试可能是恶意的或不可信的安全工具的请求或通信,标识对启用安全存储的存储设备的特定的数据记录的所尝试的写入,并且触发SAW操作。例如,如926处所示,可通过将数据写入到诸如SAW数据记录之类的备份存储中来保存在所尝试的写入中被尝试写入的数据。然后,如928处所示,可使用该SAW数据记录以例如分析该写入尝试的性质和源,并且确定该写入尝试是否与恶意软件、错误或其他不期望的条件相关联。
在图9E中的示例中,如930处所示,可标识涉及存储设备的特定数据记录的、所尝试的I/O操作。如932处所示,可标识该存储设备的、对应于该特定的数据记录的特定部分(如,扩展区),例如,存储设备中该特定的数据记录所位于的部分。如934处所示,可标识查找树结构集中的、对应于该存储设备的所标识部分的查找树结构。然后,如936处所示,可使用该查找树确定策略、规则或功能是否适用于该特定的数据记录。在一些实例中,确定一个或多个策略或规则适用于该特定的数据记录可触发在盘访问安全代理的指示下执行的一个或多个安全存储操作,例如,COW操作、SAW操作、假数据读取操作、假写入成功操作、阻止I/O操作,等等。
图10-12是可根据本文所公开的各实施例使用的示例性计算机架构的框图。也可以使用处理器、移动设备和计算***技术中已知的其他计算机架构设计。一般而言,适用于本文所公开的各实施例的合适的计算机架构可包括但不限于图10-12中所示的配置。
图10是根据一个实施例的处理器的示例图示。处理器1000是可结合上述各实现方案使用的硬件设备的类型的示例。
处理器1000可以是任何类型的处理器,例如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器、单核处理器或用于执行代码的其他设备。虽然在图10中示出仅一个处理器1000,但是,处理元件可替代地包括多于一个的图10中所示的处理器1000。处理器1000可以是单线程的核,或者对于至少一个实施例,处理器1000可以是多线程的,体现在其每个核包括多于一个硬件线程情境(或“逻辑处理器”)。
图10也示出根据实施例的、被耦合到处理器1000的存储器1002。存储器1002可以是为本领域技术人员所知或以其他方式可为本领域技术人员所用的广泛类型的存储器(包括存储器分层结构的各个层)。此类存储器元件可包括,但不限于,随机存取存储器(RAM)、只读存储器(ROM)、可编程门阵列(FPGA)的逻辑块、可擦可编程只读存储器(EPROM)以及电可擦可编程只读存储器(EEPROM)。
处理器1000可执行与本文详细描述的多个算法、过程或操作相关联的任何类型的指令。通常,处理器1000可将元件或制品(例如,数据)从一种状态或事物变换成另一种状态或事物。
可将代码1004(其可以是由处理器1000执行的一条或多条指令)存储在存储器1002中;或者可将代码1004存储在软件、硬件、固件或者软件、硬件和固件的任意合适的组合中;或者可基于特定的需求,在适当的情况下,将代码存储在任何其他内部或外部的组件、设备、元件或对象中。在一个示例中,处理器1000可遵循由代码1004指示的指令的程序序列。每条指令进入前端逻辑1006,并且由一个或多个解码器1008处理。该解码器可生成作为其输出的微操作(例如,按预定义格式的固定宽度的微操作),或者可生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑1006也可包括寄存器重命名逻辑1010和调度逻辑1012,该寄存器重命名逻辑1010和调度逻辑1012通常分配资源,并且对相应于要执行的指令的操作进行排队列操作。
处理器1000可也包括执行逻辑1014,其具有一组执行单元1016a、1016b、1016n等。一些实施例可包括专用于特定功能或功能集的数个执行逻辑。其他实施例可包括能够执行特定功能的仅一个执行单元或一个执行单元。执行逻辑1014执行代码指令所指定的多个操作。
在完成了对代码指令所指定的操作的执行之后,后端逻辑1018可引退代码1004的这些指令。在一些实施例中,处理器1000允许指令的无序的执行,但是要求指令的有序的引退。引退逻辑1020可采取各种已知的形式(例如,重排序缓冲器等)。如此,在代码1004的执行期间,至少根据由解码器生成的输出、由寄存器重命名逻辑1010利用的硬件寄存器和表以及由执行逻辑1014修改的任何寄存器(未示出),对处理器1000进行了变换。
尽管未在图10中示出,但是处理元件可包括和处理器1000一起位于芯片上的其他元件。例如,处理元件可包括与处理器1000在一起的存储器控制逻辑。该处理元件可包括I/O控制逻辑,并且/或者可包括与存储器控制逻辑相集成的I/O控制逻辑。处理器也可包括一个或多个高速缓存。在一些实施例中,也可将非易失性存储器(如,闪存或熔丝(fuse))包括在具有处理器1000的芯片上。
现在参考图11,示出示例移动设备1100的框图。移动设备1100是本文所描述的示例和实现方案的可能的计算***(如,主机或端点设备)的示例。在实施例中,移动设备1100起无线通信信号的发射机和接收机的作用。具体来说,在一个示例中,移动设备1100可能能够既发射又接收蜂窝网络语音和数据移动服务。移动服务包括诸如完整的互联网访问、可下载的流式的视频内容以及语音电话通信之类的功能。
移动设备1100可对应常规的无线或蜂窝便携式电话,例如,能够接收“3G”或“第三代”蜂窝服务的手持设备。在另一示例中,移动设备1100可能也能够发射并接收“4G”移动服务或任何其他移动服务。
可对应于移动设备1100的设备的示例包括:蜂窝电话手持设备和智能电话,例如,能够进行互联网访问、email和实时消息收发通信的那些设备;以及具有支持电话服务能力的便携式视频接收和显示设备。构想出参考本说明书的本领域技术人员将容易理解适用于实现文中所描述的、本公开的不同方面的现代智能电话、电话手持设备和***的性质。由此,在图11中,在相对高的层级上呈现移动设备1100的架构。但是,构想出可对该架构进行修改和替换,并且对读者来说显而易见的是,所构想的此类修改和替换落在本说明书的范围之内。
在本公开的一个方面,移动设备1100包括收发机1102,该收发机1102被连接到天线,并且与该天线通信。收发机1102可以是射频收发机。此外,可经由收发机1102发射并接收无线信号。可将收发机1102构建成例如包括:模拟和数字射频(RF)“前端”功能;用于将RF信号转换为基带频率的电路(如果需要,经由中间频率(IF));模拟和数字过滤;以及在现代蜂窝频率(例如,适用于3G或4G通信的那些频率)上实施无线通信时有用的其他常规电路。将收发机1102连接到处理器1104,该处理器1104可执行对要传递的信号以及在基带频率上接收到的信号的大量的数字信号处理。处理器1104可向显示元件1108和输入元件1110提供图形接口,其中,该显示元件1108用于向用户显示文本、图形和视频,该输入元素1110(例如,触板、小键盘、辊轮鼠标,等等此类示例)用于从用户处接受输入。处理器1104可包括如参考图10中的处理器1000所示和所述的实施例。
在本公开的一个方面,处理器1104可以是能够执行任何类型的指令以实现本文详细描述的功能和操作的处理器。可将处理器1104耦合到存储器元件1106以存储在使用处理器1104执行的操作中所使用的信息和数据。稍后在本文中描述示例处理器1104和存储器元件1106的附加细节。在示例实施例中,可在至少一些实施例中用芯片上***(SoC)架构设计移动设备1100,该SoC架构将该移动设备的许多或全部组件集成到单个芯片中。
图12示出根据实施例的、以点对点(PtP)配置安排的计算***1200。具体而言,图12示出处理器、存储器和输入/输出设备通过多个点对点接口互连的***。一般而言,能以与计算***1200相同或类似的方式配置本文所描述的一个或多个计算***。
处理器1270和1280也可各自包括用于与存储器1232和1234通信的集成的存储器控制器逻辑(MC)1272和1282。在替代实施例中,存储器控制器逻辑1272和1282可以是与处理器1270和1280分开的分立逻辑。存储器元件1232和/或1234可存储由处理器1270和1280用于实现本文所概括的操作和功能的各种数据。
处理器1270和1280可以是任何类型的处理器,例如,结合其他附图所讨论的那些处理器。处理器1270和1280可分别使用点对点(PtP)接口电路1278和1288,经由点对点接口1250来交换数据。处理器1270、1280可各自使用点对点接口电路1276、1294、1286和1298,经由各个点对点接口1252和1254与芯片组1290交换数据。芯片组1290也可使用接口电路1292(其可以是PtP接口电路),经由高性能图形接口1239,与高性能图形电路1238交换数据。在替代实施例中,可将图12中所示的PtP链路中的任何一个或全部实现为多点总线而不是PtP链路。
芯片组1290可经由接口电路1296与总线1220通信。总线1220可具有在其上进行通信的一个或多个设备,例如,总线桥1218和I/O设备1216。经由总线1210,总线桥1218可与其他设备进行通信,这些设备例如,键盘/鼠标1212(或诸如触屏、轨迹球等之类的其他输入设备)、通信设备1226(例如,调制解调器、网络接口设备或可通过计算机网络1260进行通信的其他类型的通信设备)、音频I/O设备1214和/或数据存储设备1228。数据存储设备1228可存储可由处理器1270和/或1280执行的代码1230。在替代实施例中,可利用一个或多个PtP链路实现这些总线架构的任何部分。
图12中描绘的计算机***是可用于实现本文所讨论的各实施例的计算***的实施例的示意图。应当理解,可将图12中描绘的***的各个组件结合在芯片上***(SoC)架构中,或者结合在能够实现本文所提供的示例和实现方案的功能和特征的任何合适的配置中。
以下示例涉及根据本说明书所述的各实施例。一个或多个实施例可提供装置、***、机器可读存储、机器可读介质和方法,其用于:接收来自安全工具的、与涉及存储设备中的数据记录的事件有关的请求;使用应用编程接口(API)与该存储设备的安全存储功能对接,其中,该安全存储功能启用一组安全存储操作;以及至少部分地基于该请求,在该存储设备处执行涉及该数据记录的安全操作。
在至少一个示例中,该API可促进基于主机的安全存储能力、基于芯片组的安全存储能力和基于固件的安全存储能力中的每一个所共有的一组安全存储功能。
在至少一个示例中,这组安全存储操作可包括直接读取操作。
在至少一个示例中,该安全操作可包括对该数据记录中的特定数据记录的直接读取。可将通过该直接读取所获取的特定的数据的内容传递到该安全工具,并且执行该安全操作可包括:通过直接写入操作重新写入该特定数据记录。
在至少一个示例中,这组安全存储操作可包括直接写入操作。
在至少一个示例中,这组安全存储操作可包括写入时复制操作。
在至少一个示例中,该安全操作可包括写入时复制操作,并且执行该安全操作可包括:标识对该数据记录中的特定数据记录的所尝试的写入操作;以及在允许所尝试的写入操作之前,将一个或多个数据记录中的数据复制到写入时复制备份中。
在至少一个示例中,执行该安全操作包括:在所尝试的写入操作之后,通过用写入时备份的数据来替换被写入到特定数据记录中的数据,来修复特定的数据记录。
在至少一个示例中,通过直接写入操作,用写入时复制备份的数据来替换被写入到特定数据记录中的数据。
在至少一个示例中,这组安全存储操作可包括尝试保存的写入操作。
在至少一个示例中,该安全操作可包括:尝试保存的写入操作,使用请求来标识对该数据记录中的特定数据记录的所尝试的写入操作;并且执行该安全操作可包括:通过不允许对特定的记录的所尝试的写入操作并且转而对尝试保存的写入(SAW)记录执行该写入操作,来保存所尝试的写入操作。
在至少一个示例中,执行该安全操作可包括:用包含被写入到SAW记录中的内容的假数据读取来生成对特定的数据记录的回读请求的响应。
在至少一个示例中,执行该安全操作包括:在保存了所尝试的写入操作之后,允许所尝试的写入操作,并且使用SAW记录的内容以允许所尝试的写入操作。
在至少一个示例中,这组安全存储操作可包括假数据读取操作。
在至少一个示例中,这组安全存储操作可包括数据范围禁闭操作。
在至少一个示例中,这组安全存储操作可包括直接读取操作、直接写入操作、允许写入操作和阻止写入操作中的每一个。这组安全存储操作可进一步包括假数据读取操作和假写入成功操作。
在至少一个示例中,可经由API从该安全存储设备处接收反馈数据,该反馈数据描述该安全操作的结果。可将该反馈数据包括在回调中,包括在由安全存储平台所生成的日志中,或另一形式中。
虽然本说明书包含许多具体实现细节,但是不应当将这些具体实现细节解释为对任何发明或可主张权利的范围的限制,而是将其解释为针对特定发明的特定实施例的特征的描述。也可将在本说明书中单独的各实施例的情境中所描述的某些特征以组合的形式,在单个实施例中实现。反之,也可单独地在多个实施例中,或在任何合适的子组合中实现在单个实施例的情境中所描述的各种特征。此外,虽然在上文中可能将多个特征描述为以某些组合的方式起作用且甚至最初是如此要求保护的,但是,在一些情况下,可将来自所要求保护的组合的一个或多个特征从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了多个操作,但不应当将此理解为要求按所示的特定顺序或顺序地执行此类操作,或者要求要执行所有示出的操作才能达成期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,不应当将上文所描述的各实施例中的各种***组件分开理解为在所有实施例中都要求进行此类分开,并且应当理解,一般可将所描述的程序组件和***一起集成在单个的软件产品中,或将其封装近多个软件产品中。
因而,已描述了本主题的特定实施例。其他实施例落在所附权利要求的范围之内。在一些情况下,可按不同顺序来执行权利要求中所述的动作,并且仍实现期望的结果。另外,在所附附图中描绘的多个过程不一定要求要以所示出的特定顺序或要顺序地才能实现期望的结果。
Claims (24)
1.至少一种机器可访问存储介质,具有存储于其上的多条指令,当在机器上执行所述多条指令时,所述多条指令使所述机器用于:
接收来自安全工具的请求,所述请求与涉及存储设备中的数据记录的事件有关;
使用应用编程接口(API)与所述存储设备的安全存储功能对接,其中,所述安全存储功能启用一组安全存储操作;以及
至少部分地基于所述请求,在所述存储设备处执行涉及所述数据记录的安全操作。
2.如权利要求1所述的存储介质,其特征在于,所述API促进基于主机的安全存储能力、基于芯片组的安全存储能力和基于固件的安全存储能力中的每一个所共有的一组安全存储功能。
3.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括直接读取操作。
4.如权利要求3所述的存储介质,其特征在于,所述安全操作包括对所述数据记录中的特定数据记录的直接读取,所述多条指令进一步使所述机器将通过所述直接读取所获取的特定数据的内容传递到所述安全工具中,执行所述安全操作包括:通过直接写入操作重新写入所述特定数据记录。
5.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括直接写入操作。
6.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括写入时复制操作。
7.如权利要求6所述的存储介质,其特征在于,所述安全操作包括写入时复制操作,并且执行所述安全操作包括:
标识对所述数据记录中的特定数据记录的、所尝试的写入操作;以及
在允许所述所尝试的写入操作之前,将一个或多个数据记录中的数据复制到写入时复制备份中。
8.如权利要求7所述的存储介质,其特征在于,执行所述安全操作包括:在所述所尝试的写入操作之后,通过用所述写入时备份的数据来替换被写入到特定数据记录中的数据,来修复所述特定数据记录。
9.如权利要求8所述的存储介质,其特征在于,通过直接写入操作,用所述写入时复制备份的数据来替换被写入到特定数据记录中的数据。
10.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括尝试保存的写入操作。
11.如权利要求10所述的存储介质,其特征在于,所述安全操作包括尝试保存的写入操作,使用所述请求来标识对所述数据记录中的特定数据记录的所尝试的写入操作;并且执行所述安全操作包括:通过不允许对特定记录的所尝试的写入操作并且转而对尝试保存的写入(SAW)记录执行所述写入操作,来保存所述所尝试的写入操作。
12.如权利要求11所述的存储介质,其特征在于,执行所述安全操作包括:用包含被写入到SAW记录中的内容的假数据读取来生成对特定的数据记录的回读请求的响应。
13.如权利要求11所述的存储介质,其特征在于,执行所述安全操作包括:在保存了所述所尝试的写入操作之后,允许所述所尝试的写入操作,并且使用所述SAW记录的内容以允许所述所尝试的写入操作。
14.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括假数据读取操作。
15.如权利要求1所述的存储介质,其特征在于,所述一组安全存储操作包括数据范围禁闭操作。
16.如权利要求1所述的存储介质,其特征在于,当在所述机器上执行所述多条指令时,所述多条指令进一步使所述机器用于经由所述API接收来自所述安全存储设备的反馈数据,其中,所述反馈数据描述所述安全操作的结果。
17.如权利要求16所述的存储介质,其特征在于,将所述反馈数据包括在回调中。
18.如权利要求16所述的存储介质,其特征在于,将反馈包括在由安全存储平台所生成的日志中。
19.一种方法,包括:
接收来自安全工具的请求,所述请求与涉及存储设备中的数据记录的事件有关;
使用API与所述存储设备的安全存储功能对接,其中,所述安全存储功能启用一组安全存储操作;以及
至少部分地基于所述请求,在所述存储设备处执行涉及所述数据记录的安全操作。
20.一种***,包括:
处理器设备;
启用安全存储的存储设备,包括用于在所述存储设备的多个记录处执行一组安全存储操作的逻辑;
盘访问安全代理,当由所述处理器设备执行所述盘访问安全代理时,所述盘访问安全代理用于:
接收来自安全工具的请求,所述请求与涉及启用安全存储的存储设备中的数据记录的事件有关;以及
至少部分地基于所述请求,在所述存储设备处执行涉及所述数据记录的所述一组安全存储操作中的安全操作。
21.如权利要求20所述的***,其特征在于,所述一组安全存储操作包括:直接读取操作、直接写入操作、允许写入操作和阻止写入操作。
22.如权利要求21所述的***,其特征在于,所述一组安全存储操作进一步包括假数据读取操作和假写入成功操作。
23.如权利要求21所述的***,其特征在于,所述一组安全存储操作进一步包括写入时复制操作,所述写入时复制操作包括:
标识对所述存储设备的所述数据记录中的特定数据记录的所尝试的写入操作;以及
在允许所述所尝试的写入操作之前,将一个或多个数据记录中的数据复制到写入时复制备份记录中。
24.如权利要求21所述的***,其特征在于,所述一组安全存储操作进一步包括尝试保存的写入操作,所述尝试保存的写入操作包括:
标识对所述存储设备的特定数据记录的所尝试的写入;以及
通过不允许对特定记录的所尝试的写入并且转而对尝试保存的写入(SAW)记录执行所述写入操作,来保存所述所尝试的写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711085138.6A CN107977573B (zh) | 2012-10-19 | 2013-06-28 | 用于安全的盘访问控制的方法和*** |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1213/KOL/2012 | 2012-10-19 | ||
IN1213KO2012 | 2012-10-19 | ||
PCT/US2013/048754 WO2014062252A1 (en) | 2012-10-19 | 2013-06-28 | Secure disk access control |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711085138.6A Division CN107977573B (zh) | 2012-10-19 | 2013-06-28 | 用于安全的盘访问控制的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104662552A true CN104662552A (zh) | 2015-05-27 |
CN104662552B CN104662552B (zh) | 2017-12-12 |
Family
ID=50488628
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711085138.6A Active CN107977573B (zh) | 2012-10-19 | 2013-06-28 | 用于安全的盘访问控制的方法和*** |
CN201380048900.7A Active CN104662552B (zh) | 2012-10-19 | 2013-06-28 | 安全的盘访问控制 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711085138.6A Active CN107977573B (zh) | 2012-10-19 | 2013-06-28 | 用于安全的盘访问控制的方法和*** |
Country Status (5)
Country | Link |
---|---|
US (3) | US9672374B2 (zh) |
EP (1) | EP2909783B1 (zh) |
JP (1) | JP6073482B2 (zh) |
CN (2) | CN107977573B (zh) |
WO (1) | WO2014062252A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292260A (zh) * | 2016-08-25 | 2018-07-17 | 华为技术有限公司 | 用于软件自测试的装置和方法 |
CN112805708A (zh) * | 2018-10-08 | 2021-05-14 | 微软技术许可有限责任公司 | 保护计算机***上的选定磁盘 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752142B2 (en) | 2009-07-17 | 2014-06-10 | American Express Travel Related Services Company, Inc. | Systems, methods, and computer program products for adapting the security measures of a communication network based on feedback |
US9756076B2 (en) | 2009-12-17 | 2017-09-05 | American Express Travel Related Services Company, Inc. | Dynamically reacting policies and protections for securing mobile financial transactions |
US8650129B2 (en) | 2010-01-20 | 2014-02-11 | American Express Travel Related Services Company, Inc. | Dynamically reacting policies and protections for securing mobile financial transaction data in transit |
US8850539B2 (en) | 2010-06-22 | 2014-09-30 | American Express Travel Related Services Company, Inc. | Adaptive policies and protections for securing financial transaction data at rest |
WO2014062252A1 (en) | 2012-10-19 | 2014-04-24 | Mcafee, Inc. | Secure disk access control |
FR3007168B1 (fr) * | 2013-06-18 | 2016-10-07 | Stmicroelectronics Rousset | Mecanisme de verification de l'authenticite d'un produit |
US9317686B1 (en) * | 2013-07-16 | 2016-04-19 | Trend Micro Inc. | File backup to combat ransomware |
US9760443B2 (en) | 2014-06-28 | 2017-09-12 | Vmware, Inc. | Using a recovery snapshot during live migration |
US9766930B2 (en) | 2014-06-28 | 2017-09-19 | Vmware, Inc. | Using active/passive asynchronous replicated storage for live migration |
US9672120B2 (en) | 2014-06-28 | 2017-06-06 | Vmware, Inc. | Maintaining consistency using reverse replication during live migration |
US9898320B2 (en) * | 2014-06-28 | 2018-02-20 | Vmware, Inc. | Using a delta query to seed live migration |
US10671545B2 (en) | 2014-06-28 | 2020-06-02 | Vmware, Inc. | Asynchronous encryption and decryption of virtual machine memory for live migration |
US9588796B2 (en) | 2014-06-28 | 2017-03-07 | Vmware, Inc. | Live migration with pre-opened shared disks |
US9356969B2 (en) * | 2014-09-23 | 2016-05-31 | Intel Corporation | Technologies for multi-factor security analysis and runtime control |
US10726142B2 (en) * | 2015-06-02 | 2020-07-28 | Viirii, Llc | Operating system independent, secure data storage system |
US9785354B2 (en) * | 2015-06-29 | 2017-10-10 | International Business Machines Corporation | Selective write control |
US10229281B2 (en) * | 2015-10-13 | 2019-03-12 | Mcafee, Llc | Remote provisioning and authenticated writes to secure storage devices |
WO2017065070A1 (ja) * | 2015-10-13 | 2017-04-20 | 日本電気株式会社 | 不審行動検知システム、情報処理装置、方法およびプログラム |
WO2017125935A1 (en) * | 2016-01-24 | 2017-07-27 | Minerva Labs Ltd. | Ransomware attack remediation |
JP6372508B2 (ja) * | 2016-03-15 | 2018-08-15 | オムロン株式会社 | データフロー制御装置およびデータフロー制御方法 |
WO2017168016A1 (es) * | 2016-04-01 | 2017-10-05 | Telefonica Digital España, S.L.U. | Método y sistema para proteger un archivo informático ante un eventual cifrado realizado por código malicioso |
US10402577B2 (en) * | 2016-06-03 | 2019-09-03 | Honeywell International Inc. | Apparatus and method for device whitelisting and blacklisting to override protections for allowed media at nodes of a protected system |
US10798111B2 (en) * | 2016-09-14 | 2020-10-06 | International Business Machines Corporation | Detecting intrusion attempts in data transmission sessions |
CN106991340B (zh) * | 2017-03-17 | 2018-05-15 | 广州小微电子技术有限公司 | 芯片加密方法 |
US10248577B2 (en) | 2017-04-07 | 2019-04-02 | International Business Machines Corporation | Using a characteristic of a process input/output (I/O) activity and data subject to the I/O activity to determine whether the process is a suspicious process |
US10282543B2 (en) * | 2017-05-03 | 2019-05-07 | International Business Machines Corporation | Determining whether to destage write data in cache to storage based on whether the write data has malicious data |
US10445497B2 (en) | 2017-05-03 | 2019-10-15 | International Business Machines Corporation | Offloading processing of writes to determine malicious data from a first storage system to a second storage system |
US10776197B1 (en) | 2017-06-27 | 2020-09-15 | EMC IP Holding Company LLC | Detect and triage data integrity issue for virtual machine |
KR102043538B1 (ko) * | 2018-01-18 | 2019-11-11 | 주식회사 알티스트 | 파티셔닝을 적용하여 프로세스를 모니터링하는 컴퓨팅 시스템 |
EP3588340B1 (de) * | 2018-06-26 | 2024-05-01 | GRAU Invest GmbH | Computerimplementiertes verfahren zum betreiben einer datenspeichereinrichtung |
US11151273B2 (en) | 2018-10-08 | 2021-10-19 | Microsoft Technology Licensing, Llc | Controlling installation of unauthorized drivers on a computer system |
US11425170B2 (en) | 2018-10-11 | 2022-08-23 | Honeywell International Inc. | System and method for deploying and configuring cyber-security protection solution using portable storage device |
US11237749B2 (en) * | 2019-06-06 | 2022-02-01 | EMC IP Holding Company LLC | System and method for backup data discrimination |
US11593497B2 (en) | 2019-10-30 | 2023-02-28 | EMC IP Holding Company LLC | System and method for managing sensitive data |
US11586506B2 (en) | 2019-10-30 | 2023-02-21 | EMC IP Holding Company LLC | System and method for indexing image backups |
US11475159B2 (en) | 2019-10-30 | 2022-10-18 | EMC IP Holding Company LLC | System and method for efficient user-level based deletions of backup data |
US11507473B2 (en) | 2019-10-30 | 2022-11-22 | EMC IP Holding Company LLC | System and method for efficient backup generation |
US11687595B2 (en) | 2019-10-30 | 2023-06-27 | EMC IP Holding Company LLC | System and method for searching backups |
CN111382783A (zh) * | 2020-02-28 | 2020-07-07 | 广州大学 | 恶意软件识别方法、装置及存储介质 |
JP2023516517A (ja) * | 2021-02-05 | 2023-04-20 | ナムソフト カンパニー,リミテッド | データ保護システム |
US11953996B1 (en) | 2023-01-20 | 2024-04-09 | Dell Products L.P. | Method and system for selectively preserving data generated during application access |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060117136A1 (en) * | 2004-11-30 | 2006-06-01 | Tran Peter H | System for secure erasing of files |
US20070061581A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
US20100061552A1 (en) * | 2004-01-21 | 2010-03-11 | Sap Ag | Secure storage in file system |
US20100146267A1 (en) * | 2008-12-10 | 2010-06-10 | David Konetski | Systems and methods for providing secure platform services |
KR20100078081A (ko) * | 2008-12-30 | 2010-07-08 | (주) 세인트 시큐리티 | 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법 |
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
US20110219425A1 (en) * | 2010-03-08 | 2011-09-08 | Ying Xiong | Access control using roles and multi-dimensional constraints |
US20120072989A1 (en) * | 2009-06-02 | 2012-03-22 | Fujitsu Limited | Information processing system, management apparatus, and information processing method |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073142A (en) | 1997-06-23 | 2000-06-06 | Park City Group | Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments |
US5987610A (en) | 1998-02-12 | 1999-11-16 | Ameritech Corporation | Computer virus screening methods and systems |
US6304946B1 (en) * | 1999-07-01 | 2001-10-16 | Emc Corporation | System and method for optimizing cache write backs to disks |
US6460050B1 (en) | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
US6971018B1 (en) * | 2000-04-28 | 2005-11-29 | Microsoft Corporation | File protection service for a computer system |
US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
US6610605B2 (en) * | 2001-06-28 | 2003-08-26 | Intel Corporation | Method and apparatus for fabricating encapsulated micro-channels in a substrate |
US7434068B2 (en) * | 2001-10-19 | 2008-10-07 | Intel Corporation | Content protection in non-volatile storage devices |
EP1387238B1 (en) * | 2002-07-30 | 2011-06-15 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
US7409587B2 (en) * | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
JP2005352535A (ja) * | 2004-06-08 | 2005-12-22 | Ark Joho Systems:Kk | データを保護する方法 |
US7962917B2 (en) * | 2005-03-10 | 2011-06-14 | Microsoft Corporation | System data interfaces, related architectures, print system data interfaces and related print system architectures |
JP2007026081A (ja) * | 2005-07-15 | 2007-02-01 | Canon Inc | プログラム |
US7565685B2 (en) * | 2005-11-12 | 2009-07-21 | Intel Corporation | Operating system independent data management |
US20080063206A1 (en) * | 2006-09-07 | 2008-03-13 | Karp James M | Method for altering the access characteristics of encrypted data |
JP2009104250A (ja) * | 2007-10-19 | 2009-05-14 | Mitsubishi Electric Corp | 実行装置及びプログラム及び実行方法 |
US8220053B1 (en) * | 2008-06-26 | 2012-07-10 | Trend Micro, Inc. | Shadow copy-based malware scanning |
US8176085B2 (en) * | 2008-09-30 | 2012-05-08 | Microsoft Corporation | Modular forest automata |
EP2518725A4 (en) * | 2009-12-22 | 2014-10-08 | Panasonic Corp | OPTICAL DISK DEVICE, OPTICAL DISC CONTROL METHOD, AND INTEGRATED CIRCUIT |
US8925101B2 (en) * | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
WO2012135192A2 (en) * | 2011-03-28 | 2012-10-04 | Mcafee, Inc. | System and method for virtual machine monitor based anti-malware security |
US8863283B2 (en) * | 2011-03-31 | 2014-10-14 | Mcafee, Inc. | System and method for securing access to system calls |
EP2556881A1 (en) | 2011-08-11 | 2013-02-13 | Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO | Combining algae cultivation and CO2 capture |
CN102339256B (zh) * | 2011-09-15 | 2013-10-16 | 东北大学 | 基于imf内外存置换策略的复杂事件检测方法 |
US20130304705A1 (en) * | 2012-05-11 | 2013-11-14 | Twin Peaks Software, Inc. | Mirror file system |
WO2014062252A1 (en) | 2012-10-19 | 2014-04-24 | Mcafee, Inc. | Secure disk access control |
-
2013
- 2013-06-28 WO PCT/US2013/048754 patent/WO2014062252A1/en active Application Filing
- 2013-06-28 CN CN201711085138.6A patent/CN107977573B/zh active Active
- 2013-06-28 CN CN201380048900.7A patent/CN104662552B/zh active Active
- 2013-06-28 US US14/126,880 patent/US9672374B2/en active Active
- 2013-06-28 EP EP13847351.7A patent/EP2909783B1/en active Active
- 2013-06-28 JP JP2015531918A patent/JP6073482B2/ja active Active
-
2017
- 2017-06-06 US US15/614,836 patent/US10360398B2/en active Active
-
2019
- 2019-07-10 US US16/507,635 patent/US11270015B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
US20100061552A1 (en) * | 2004-01-21 | 2010-03-11 | Sap Ag | Secure storage in file system |
US20060117136A1 (en) * | 2004-11-30 | 2006-06-01 | Tran Peter H | System for secure erasing of files |
US20070061581A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
US20100146267A1 (en) * | 2008-12-10 | 2010-06-10 | David Konetski | Systems and methods for providing secure platform services |
KR20100078081A (ko) * | 2008-12-30 | 2010-07-08 | (주) 세인트 시큐리티 | 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법 |
US20120072989A1 (en) * | 2009-06-02 | 2012-03-22 | Fujitsu Limited | Information processing system, management apparatus, and information processing method |
US20110219425A1 (en) * | 2010-03-08 | 2011-09-08 | Ying Xiong | Access control using roles and multi-dimensional constraints |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292260A (zh) * | 2016-08-25 | 2018-07-17 | 华为技术有限公司 | 用于软件自测试的装置和方法 |
US10691586B2 (en) | 2016-08-25 | 2020-06-23 | Huawei Technologies Co., Ltd. | Apparatus and method for software self-test |
CN108292260B (zh) * | 2016-08-25 | 2021-01-05 | 华为技术有限公司 | 用于软件自测试的装置和方法 |
CN112805708A (zh) * | 2018-10-08 | 2021-05-14 | 微软技术许可有限责任公司 | 保护计算机***上的选定磁盘 |
CN112805708B (zh) * | 2018-10-08 | 2024-03-29 | 微软技术许可有限责任公司 | 保护计算机***上的选定磁盘 |
Also Published As
Publication number | Publication date |
---|---|
US9672374B2 (en) | 2017-06-06 |
EP2909783A4 (en) | 2016-09-28 |
US20140310800A1 (en) | 2014-10-16 |
WO2014062252A1 (en) | 2014-04-24 |
CN104662552B (zh) | 2017-12-12 |
CN107977573A (zh) | 2018-05-01 |
CN107977573B (zh) | 2021-10-01 |
JP6073482B2 (ja) | 2017-02-01 |
US20180089457A1 (en) | 2018-03-29 |
EP2909783A1 (en) | 2015-08-26 |
US20190332794A1 (en) | 2019-10-31 |
US11270015B2 (en) | 2022-03-08 |
JP2015531948A (ja) | 2015-11-05 |
EP2909783B1 (en) | 2020-02-12 |
US10360398B2 (en) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104662552A (zh) | 安全的盘访问控制 | |
US8578374B2 (en) | System and method for managing virtual machines | |
US10768941B2 (en) | Operating system management | |
CN103827809B (zh) | 用于虚拟分区监测的***和方法 | |
US11200121B2 (en) | Performance efficient time locks on data in a storage controller | |
US20140373180A1 (en) | System and method for virtual image security in a cloud environment | |
CN104598823A (zh) | 一种安卓***中内核级rootkit检测方法及其*** | |
US11750652B2 (en) | Generating false data for suspicious users | |
US9275238B2 (en) | Method and apparatus for data security reading | |
US20210109663A1 (en) | Point-in-time backups via a storage controller to an object storage cloud | |
US20180034791A1 (en) | Secret keys management in a virtualized data-center | |
US11520515B2 (en) | Reduction of processing overhead for point in time copy to allow access to time locked data | |
CN114222990A (zh) | 具有按需文件***锁定和自动修复功能的自动勒索软件检测 | |
US20240056481A1 (en) | Data storage management system integrating cyber threat deception | |
KR101108078B1 (ko) | 멀티 유저 컴퓨터의 망 전환 시스템 | |
CN108052415A (zh) | 一种恶意软件检测平台快速恢复方法及*** | |
CN113867628A (zh) | 数据删除方法、装置、存储介质和计算设备 | |
FanJiao et al. | A high efficiency encryption scheme of dual data partitions for android devices | |
US20230128474A1 (en) | Gathering universal serial bus threat intelligence | |
Zou et al. | Memshepherd: comprehensive memory bug fault‐tolerance system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: McAfee limited liability company Address before: American California Patentee before: Mcafee, Inc. |
|
CP01 | Change in the name or title of a patent holder |