CN112528273B - 医疗数据的探测方法、装置、介质及电子设备 - Google Patents

医疗数据的探测方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN112528273B
CN112528273B CN202011594913.2A CN202011594913A CN112528273B CN 112528273 B CN112528273 B CN 112528273B CN 202011594913 A CN202011594913 A CN 202011594913A CN 112528273 B CN112528273 B CN 112528273B
Authority
CN
China
Prior art keywords
data
medical
sandbox
program
monitoring
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.)
Active
Application number
CN202011594913.2A
Other languages
English (en)
Other versions
CN112528273A (zh
Inventor
李海威
朴红吉
张博天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Happy Life Technology Co ltd
Original Assignee
Tianjin Happy Life Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Happy Life Technology Co ltd filed Critical Tianjin Happy Life Technology Co ltd
Priority to CN202011594913.2A priority Critical patent/CN112528273B/zh
Publication of CN112528273A publication Critical patent/CN112528273A/zh
Application granted granted Critical
Publication of CN112528273B publication Critical patent/CN112528273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/40ICT specially adapted for the handling or processing of patient-related medical or healthcare data for data related to laboratory analysis, e.g. patient specimen analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本公开实施例提供了一种医疗数据的探测方法、装置、计算机可读存储介质和电子设备,涉及计算机技术领域,所述探测方法包括:获取医疗程序在数据沙箱中运行生成的第一运行数据;根据所述第一运行数据和设定的配置逻辑生成配置规则;根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,得到第二运行数据。本发明实施例的技术方案实现了对医疗数据的精准快速采集。

Description

医疗数据的探测方法、装置、介质及电子设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种医疗数据的探测方法、装置、计算机可读存储介质及电子设备。
背景技术
在相关技术中,探测发送到控件上的数据时,可以编写动态库,设置全局钩子,将钩子封装到动态库,然后将封装好的钩子通过API(Application Programming Interface,应用程序接口)函数SetWindowsHookEx()注入到需要监控的医疗软件中,然后在动态库中钩挂相应的系统消息和API函数,当windows窗体控件所在的进程给控件发送系统消息时都会调用动态库中的函数,从而就可以将发送到控件上的数据截取,并保存到数据库中。
通过封装全局钩子的方式探测数据时只能针对window程序,只能抓取到用户能看到的数据;需要进行程序注入,从而有被杀毒软件识别为病毒的风险;并且,采集速度受限,只能靠用户点击进行翻页或者使用自动点击脚本进行翻页,效率低下。此外,由于句柄的不稳定性,每次重启程序后句柄可能变化,使用封装全局钩子这种方式每次重启程序后都需要重新配置,并且,不同语言开发的window程序的句柄方式可能不同,无句柄的程序也无法应用全局钩子。
此外,传统的数据采集方法或者软件,只能采集到界面展示的内容,无法对界面隐藏以及数据库其他字段进行采集,导致采集数据不全,数据有遗漏。
如何精准快速对医疗数据进行探测采集是当前亟需解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种医疗数据的探测方法、装置、计算机可读存储介质及电子设备,进而至少在一定程度上更为精准快速对医疗数据进行探测采集。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种医疗数据的探测方法,所述探测方法包括:获取医疗程序在数据沙箱中运行生成的第一运行数据;根据所述第一运行数据和设定的配置逻辑生成配置规则;根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,得到第二运行数据。
在一些实施例中,所述配置规则包括访问控制规则和监控输出规则;所述访问控制规则包括是否允许医疗程序的系统资源数据输出;所述监控输出规则包括监控和输出符合所述配置逻辑的数据。
在一些实施例中,所述得到所述第二运行数据后,所述探测方法还包括:将所述第二运行数据分类输出到目标对象;其中,进行数据分类得到的数据类型包括至少以下一种数据:字符串数据、应用医疗程序接口API访问地址数据、API参数数据、临时变量数据、文件访问数据。
在一些实施例中,所述得到所述第二运行数据之后,所述探测方法包括,根据监控输出规则从数据缓存中读取输出数据,所述监控输出规则包括:判断当前字符串在历史字符串中是否曾出现,若曾出现,则计算重复的字符串的长度和指回距离,并使用所述长度和指回距离代替所述当前字符串;若未曾出现,则输出所述当前字符串中字符的个数和所述当前字符串中的字符。
在一些实施例中,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:获取所述医疗程序的结构化查询语言SQL数据;根据所述SQL数据获取第一输入参数;使用所述第一输入参数在所述数据沙箱中运行所述医疗程序,根据所述访问控制规则获取所述第二运行数据。
在一些实施例中,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:获取所述医疗程序的API数据;根据所述API数据中参数与配置逻辑的对应关系获取第二输入参数;使用所述第二输入参数在所述数据沙箱中运行所述医疗程序,根据所述监控输出规则获取所述第二运行数据。
在一些实施例中,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:监控所述医疗程序在数据沙箱内对所述数据沙箱外的资源的访问过程,得到所述第二运行数据;其中,所述访问过程包括:所述医疗程序访问数据沙箱内的资源,并通过所述数据沙箱转发访问所述数据沙箱外的资源;或者,所述医疗程序直接访问所述数据沙箱外的资源。
根据本公开实施例的第二方面,提供了一种医疗数据的探测装置,获取单元,用于获取医疗程序在数据沙箱中运行产生的第一运行数据;配置单元,用于根据所述第一运行数据对所述数据沙箱进行规则配置;监控单元,用于通过规则配置后的所述数据沙箱对所述医疗程序在所述数据沙箱的运行过程进行监控,得到第二运行数据。
在一些实施例中,所述探测装置还包括分类单元,用于将所述第二运行数据分类输出到目标对象;其中,进行数据分类得到的数据类型包括至少以下一种数据:字符串数据、应用医疗程序接口API访问地址数据、API参数数据、临时变量数据、文件访问数据。
在一些实施例中,所述探测装置还包括读取单元,用于根据监控输出规则从数据缓存中读取输出数据,所述监控输出规则包括:判断当前字符串在历史字符串中是否曾出现,若曾出现,则计算重复的字符串的长度和指回距离,并使用所述长度和指回距离代替所述当前字符串;若未曾出现,则输出所述当前字符串中字符的个数和所述当前字符串中的字符。
在一些实施例中,所述监控单元还用于:获取所述医疗程序的结构化查询语言SQL数据;根据所述SQL数据获取第一输入参数;使用所述第一输入参数在所述数据沙箱中运行所述医疗程序,根据所述访问控制规则获取所述第二运行数据。
在一些实施例中,所述监控单元还用于:获取所述医疗程序的API数据;根据所述API数据中参数与配置逻辑的对应关系获取第二输入参数;使用所述第二输入参数在所述数据沙箱中运行所述医疗程序,根据所述监控输出规则获取所述第二运行数据。
在一些实施例中,所述监控单元还用于:监控所述医疗程序在数据沙箱内对所述数据沙箱外的资源的访问过程,得到所述第二运行数据;其中,所述访问过程包括:所述医疗程序访问数据沙箱内的资源,并通过所述数据沙箱转发访问所述数据沙箱外的资源;或者,所述医疗程序直接访问所述数据沙箱外的资源。
根据本公开实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机医疗程序,所述医疗程序被处理器执行时实现如上述实施例中第一方面所述的医疗数据的探测方法。
根据本公开实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个医疗程序,当所述一个或多个医疗程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的医疗数据的探测方法。
本公开实施例提供的技术方案可以包括以下有益效果:
在本公开的一些实施例所提供的技术方案中,根据医疗程序在数据沙箱中的运行数据进行规则配置,并根据配置的规则对医疗程序在数据沙箱的运行过程进行监控,得到第二运行数据,实现了对医疗数据的精确快速采集。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开一种实施例的医疗数据的探测方法的流程图;
图2示意性示出了根据本公开一种实施例的访问数据沙箱外资源的示意图;
图3示意性示出了根据本公开一种实施例的访问数据沙箱内资源的示意图;
图4示意性示出了根据本公开一种实施例的医疗数据的探测装置的方框图;
图5示意性示出了适于用来实现本公开实施例的电子设备的计算机系统的结构图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
相关技术中,通过传统的数据采集方法或者软件仅限于window程序,并且具有采集数据不全的缺点。
数据沙箱技术是一种虚拟化技术,常用于网络安全、程序分析、程序安全等领域。将一个程序放入数据沙箱运行时,程序所创建修改删除的所有文件和注册表都会被虚拟化重定向,即所有操作都是虚拟的,真实的文件和注册表不会被改动,这样可以确保病毒无法对系统关键部位进行改动破坏系统。但是当用户想真正的改变系统设置或者保存文件时,沙箱系统可以对程序所有的操作进行记录,程序并不实现真正的操作,因而这种技术得到广泛应用。
简单来说,沙箱(Sandbox)是一种安全机制,可以为运行中的程序提供安全的隔离环境。
基于数据沙箱技术,为解决上述数据采集遇到的问题,本发明实施例提供一种医疗数据的探测方法,以对提高医疗数据采集的精准性和速度。
图1示意性示出了本公开示例性实施方式的一种医疗数据的探测方法。本公开实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如终端设备和/或服务器。参考图1,该医疗数据的探测方法可以包括以下步骤:
步骤S102,获取医疗程序在数据沙箱中运行生成的第一运行数据。
步骤S104,根据第一运行数据和设定的配置逻辑生成配置规则;
步骤S106,根据配置规则对医疗程序在数据沙箱的运行过程进行监控,得到第二运行数据。
在本发明实施例的技术方案中,在开源数据沙箱的基础上经过二次开发形成一种NSandbox,NSandbox可以理解为一种增强的数据沙箱。NSandbox是为进行数据采集在Sandbox基础上定制开发的一个程序运行虚拟环境,该NSandbox是基于虚拟化的数据沙箱和基于规则的数据沙箱双重结合。
将被采集的医疗应用程序在NSandbox中运行,医疗应用程序对NSandbox虚拟出的运行环境无感知,在NSandbox内只能访问NSandbox的资源,从而正常执行。在医疗应用程序执行过程中,对医疗应用程序中生成的变量、文件操作和网络访问通过规则配置进行监控,并得到根据配置好的规则输出的第二运行数据。
该NSandbox可以记录软件的执行全过程,配置不同的规则时,可以针对不同需求对程序运行进行监控,从而实现了在虚拟环境中对医疗数据的精准快速采集,方便高效。
本发明实施例中的NSandbox可以有效解决现有特殊程序无法使用全局钩子的限制,进一步提升数据采集的质量,NSandbox还具有对反采集应用程序的数据采集处理能力,从而助力数据采集。
具体地,NSandbox是在现有流行的虚拟化技术基础上,增加一个硬盘过滤文件驱动,具体来说,就是把要写的东西写到了硬盘上,但实际上并没有写到硬盘,而是写到了一个转存处。读取内容需要判断该内容是NSandbox开启之前就存在的内容还是NSandbox开启之后写入的内容,并根据判断结果分别从不同的地方读取内容,重启之后把转存的地方清零,在此过程中,对文件存储的内容全程记录。
NSandbox通过I/O虚拟化来复用有限的外设资源,其通过截获应用程序对I/O设备的访问请求,然后通过软件模拟真实的硬件。工作原理为通过重定向技术,把程序生成和修改的文件,定向到本身的文件夹中。这些文件也包括注册表和一些系统的核心数据的变更文件。通过加载自身的规则监视器可以记录程序的活动产生的数据以及接口和网络的访问,并进行记录。这里的规则监视器中的规则即是步骤S104中生成的配置规则。
创建NSandbox的虚拟化内存的方法是创建一个虚拟page table(页表)。正常的情况下,一个page table可以用来实现从虚拟内存到物理内存的翻译。在虚拟化的情况下,由于所谓的物理内存仍然是虚拟的,因此page table就要实现虚拟内存->虚拟的物理内存->真正的物理内存的映射。
实现上述映射时,NSandbox会维护一个从虚拟内存到物理内存的映射,将应用程序使用的系统page table更换为自己的page table,也就是改变CR3寄存器的值,NSandbox会因为用户的权限不足而接到一个权限异常的提示框,NSandbox会记录用户想要更换的新的页表,并放上一个空的page table,然后返回。这个空的page table会在接下来的执行中造成CPU无法进行地址翻译,而产生page fault(缺页异常)。在fault发生后,NSandbox会得到一个虚拟地址,然后根据之前记录的用户的页表结构,翻译出一个虚拟机器地址,然后再把这个虚拟的机器地址,由NSandbox维护的映射翻译为实际的机器地址,然后装入自己page table,并返回执行。如此,就实现了虚拟内存->虚拟的物理内存->真正的物理内存。
大多数的PCI设备都是直接将自己的某些控制寄存器映射到物理内存空间上,CPU访问这些控制寄存器的方法和访问内存相同。CPU通过修改和读取这些寄存器来操作I/O设备。NSandbox接到page fault,并发现实际上虚拟的物理内存地址对应的是一个I/O设备,NSandbox就用软件模拟这个设备的工作情况,并返回。比如当CPU想要写磁盘时,NSandbox就把相应的东西写到一个临时的文件上,这个文件实际上就模拟了虚拟的磁盘。
在本发明实施例中,通过采用虚拟化技术创建虚拟硬件创建数据沙箱。在数据沙箱中启动程序,程序运行于数据沙箱中。在程序运行过程中,使用的内存为数据沙箱中的虚拟硬件内存,应用程序访问的所有资源皆为宿主即NSandbox虚拟出来的资源。再由NSandbox转发到真正的机器资源访问,中间全程被NSandbox监控。
基于NSandbox使用访问控制规则监控程序的行为,主要由访问控制规则引擎、程序监控器等部分组成。在被监控的程序上进行操作时,会将监视到的内存数据输出到文件访问记录和网络请求记录中。服务器中的程序监控器将监控到的程序活动行为经过转换提交给访问控制规则引擎,并由访问控制规则引擎根据访问控制规则来判断是否允许输出程序的系统资源使用请求内容。
在本发明实施例中,可以通过服务器中的规则监控器使用输出监控规则对输出的内容进行筛选,并将筛选后的内容输出。
具体地,可以通过规则监视器获取程序中所有执行用到的SQL(Structured QueryLanguage,结构化查询语言),并分析SQL组成,直接调用SQL访问数据库。
规则监视器访问API接口,通过对传入的参数的人工分析判断,寻找参数规律后模拟请求,传入正确参数,进行数据采集。这里,参数规律指的是参数与参数代表的含义的关系。例如,参数1是患者id,参数2是住院次数。
这里,API接口可以是预先定义的函数,也可以是指软件系统不同组成部分衔接的约定;可以是本地接口,也可以是网络远程接口。
规则监视器生成的界面字段可以包含隐藏字段,如果字段已经符合要求,则将数据进行整理后输出,以供其他程序复用或者输出到文件、数据库或者网络等指定地方。
在步骤S102中,将程序在NSandbox中启动,正常操作程序,可以看到监控到的内容输出。
配置规则包括访问控制规则和监控输出规则。在步骤S104之前,筛选监控输出的有用字段或者内容,以进行访问控制规则和监控输出规则的配置。
这里,访问控制规则包括是否允许医疗程序的系统资源数据输出。监控输出规则包括监控和输出符合配置逻辑的数据。
在步骤S106中,监控医疗程序在数据沙箱内对数据沙箱外的资源的访问过程,得到第二运行数据。其中,访问过程包括:医疗程序访问数据沙箱内的资源,并通过数据沙箱转发访问数据沙箱外的资源;或者,医疗程序直接访问数据沙箱外的资源。
如图2的程序A 320和程序B 330分别在NSandbox数据沙箱310中和在NSandbox数据沙箱中对资源访问的区别的示意图。其中,程序A和程序B为同一程序。如图2所示,程序A可访问数据沙箱外资源340,数据沙箱310内的程序B可以根据规则对资源访问进行监视。
如图3所示的NSandbox数据沙箱内程序B 330是对NSandbox数据沙箱310外资源访问的两种方式,一种是程序B 330直接访问NSandbox外部资源即数据沙箱外资源340,一种是先访问NSandbox数据沙箱内资源350,NSandbox数据沙箱再访问外部资源,然后返还给程序B。
具体地,在步骤S106中,可以获取医疗程序的结构化查询语言SQL数据,根据SQL数据获取第一输入参数,并使用第一输入参数在数据沙箱中运行医疗程序,根据访问控制规则获取第二运行数据。
在步骤S106中,还可以获取医疗程序的API数据,根据API数据中参数与配置逻辑的对应关系获取第二输入参数,并使用第二输入参数在数据沙箱中运行医疗程序,根据监控输出规则获取第二运行数据。
在步骤S106之后,根据监控输出规则从数据缓存中读取输出数据,监控输出规则包括:判断当前字符串在历史字符串中是否曾出现,若曾出现,则计算重复的字符串的长度和指回距离,并使用长度和指回距离代替当前字符串;若未曾出现,则输出当前字符串中字符的个数和当前字符串中的字符。
监控输出规则的作用在于,对程序发起的访问请求以及文件操作进行记录时,对生成在内存上分配的字符串,进行输出,可能会输出很多无用的字符串,通过监控输出规则可以过滤这些无用字符串。
读取数据后,将读取得到的第二运行数据分类输出到目标对象。
其中,进行数据分类得到的数据类型包括至少以下一种数据:字符串数据、应用医疗程序接口API访问地址数据、API参数数据、临时变量数据、文件访问数据。
本发明实施例的技术方案中,可以找到网络访问API地址,可以发现在内存上组装的SQL,通过获取API或者SQL,再次进行独立模拟请求,挖掘数据库更多内容,进而获取页面隐藏字段。
此外,可以通过重构监视器模块,增加内存字符串的监控以及特定函数传入参数的监控,加入独有的敏感关键字监测,以监测到运行过程中内存上生成的临时字符串,以及对远端调用传递的参数内容,智能匹配解码算法,并以明文的方式展示给监视器。
本发明实施例提供的医疗数据的探测方法,根据医疗程序在数据沙箱中的运行数据进行规则配置,并根据配置的规则对医疗程序在数据沙箱的运行过程进行监控,得到第二运行数据,实现了对医疗数据的精确快速采集。
以下介绍本发明的装置实施例,可以用于执行本发明上述的医疗数据的探测方法。如图4所示,根据本发明实施例提供的一种医疗数据的探测装置400包括:
获取单元402,用于获取医疗程序在数据沙箱中运行产生的第一运行数据;
配置单元404,用于根据第一运行数据对数据沙箱进行规则配置;
监控单元406,用于通过规则配置后的数据沙箱对医疗程序在数据沙箱的运行过程进行监控,得到第二运行数据。
探测装置还包括分类单元,用于将第二运行数据分类输出到目标对象;其中,进行数据分类得到的数据类型包括至少以下一种数据:字符串数据、应用医疗程序接口API访问地址数据、API参数数据、临时变量数据、文件访问数据。
探测装置还包括读取单元,用于根据监控输出规则从数据缓存中读取输出数据,监控输出规则包括:判断当前字符串在历史字符串中是否曾出现,若曾出现,则计算重复的字符串的长度和指回距离,并使用长度和指回距离代替当前字符串;若未曾出现,则输出当前字符串中字符的个数和当前字符串中的字符。
监控单元还用于:获取医疗程序的结构化查询语言SQL数据;根据SQL数据获取第一输入参数;使用第一输入参数在数据沙箱中运行医疗程序,根据访问控制规则获取第二运行数据。
监控单元还用于:获取医疗程序的API数据;根据API数据中参数与配置逻辑的对应关系获取第二输入参数;使用第二输入参数在数据沙箱中运行医疗程序,根据监控输出规则获取第二运行数据。
监控单元还用于:监控医疗程序在数据沙箱内对数据沙箱外的资源的访问过程,得到第二运行数据;其中,访问过程包括:医疗程序访问数据沙箱内的资源,并通过数据沙箱转发访问数据沙箱外的资源;或者,医疗程序直接访问数据沙箱外的资源。
由于本发明的示例实施例的医疗数据的探测装置的各个功能模块与上述医疗数据的探测方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的医疗数据的探测方法的实施例。
本发明实施例的医疗数据的探测装置,根据医疗程序在数据沙箱中的运行数据进行规则配置,并根据配置的规则对医疗程序在数据沙箱的运行过程进行监控,得到第二运行数据,实现了对医疗数据的精确快速采集。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备的计算机系统500仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的医疗数据的探测方法。
例如,所述的电子设备可以实现如图1中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (8)

1.一种医疗数据的探测方法,其特征在于,所述探测方法包括:
获取医疗程序在数据沙箱中运行生成的第一运行数据;
根据所述第一运行数据和设定的配置逻辑生成配置规则;
根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,筛选得到第二运行数据,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,基于所述医疗程序的API数据进行;其中,所述配置规则包括访问控制规则和监控输出规则;所述访问控制规则包括是否允许医疗程序的系统资源数据输出;所述监控输出规则包括监控和输出符合所述配置逻辑的数据;
所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:获取所述医疗程序的API数据;根据所述API数据中参数与配置逻辑的对应关系获取第二输入参数;使用所述第二输入参数在所述数据沙箱中运行所述医疗程序,根据所述监控输出规则获取所述第二运行数据。
2.根据权利要求1所述的探测方法,其特征在于,所述得到所述第二运行数据后,所述探测方法还包括:
将所述第二运行数据分类输出到目标对象;
其中,进行数据分类得到的数据类型包括至少以下一种数据:
字符串数据、应用医疗程序接口API访问地址数据、API参数数据、临时变量数据、文件访问数据。
3.根据权利要求1所述的探测方法,其特征在于,所述得到所述第二运行数据之后,所述探测方法包括,根据监控输出规则从数据缓存中读取输出数据,所述监控输出规则包括:
判断当前字符串在历史字符串中是否曾出现,若曾出现,则计算重复的字符串的长度和指回距离,并使用所述长度和指回距离代替所述当前字符串;若未曾出现,则输出所述当前字符串中字符的个数和所述当前字符串中的字符。
4.根据权利要求1所述的探测方法,其特征在于,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:
获取所述医疗程序的结构化查询语言SQL数据;
根据所述SQL数据获取第一输入参数;
使用所述第一输入参数在所述数据沙箱中运行所述医疗程序,根据所述访问控制规则获取所述第二运行数据。
5.根据权利要求1所述的探测方法,其特征在于,所述根据所述配置规则对所述医疗程序在所述数据沙箱的运行过程进行监控,包括:
监控所述医疗程序在数据沙箱内对所述数据沙箱外的资源的访问过程,得到所述第二运行数据;
其中,所述访问过程包括:
所述医疗程序访问数据沙箱内的资源,并通过所述数据沙箱转发访问所述数据沙箱外的资源;
或者,所述医疗程序直接访问所述数据沙箱外的资源。
6.一种医疗数据的探测装置,其特征在于,所述探测装置包括:
获取单元,用于获取医疗程序在数据沙箱中运行产生的第一运行数据;
配置单元,用于根据所述第一运行数据对所述数据沙箱进行规则配置;
监控单元,用于通过规则配置后的所述数据沙箱对所述医疗程序在所述数据沙箱的运行过程进行监控,筛选得到第二运行数据,所述通过规则配置后的所述数据沙箱对所述医疗程序在所述数据沙箱的运行过程进行监控,基于所述医疗程序的API数据进行;其中,所述配置规则包括访问控制规则和监控输出规则;所述访问控制规则包括是否允许医疗程序的系统资源数据输出;所述监控输出规则包括监控和输出符合所述配置逻辑的数据;
所述监控单元还用于:获取所述医疗程序的API数据;根据所述API数据中参数与配置逻辑的对应关系获取第二输入参数;使用所述第二输入参数在所述数据沙箱中运行所述医疗程序,根据所述监控输出规则获取所述第二运行数据。
7.一种计算机可读存储介质,其上存储有计算机医疗程序,其特征在于,所述医疗程序被处理器执行时实现如权利要求1至5中任一项所述的医疗数据的探测方法。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个医疗程序,当所述一个或多个医疗程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的医疗数据的探测方法。
CN202011594913.2A 2020-12-29 2020-12-29 医疗数据的探测方法、装置、介质及电子设备 Active CN112528273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011594913.2A CN112528273B (zh) 2020-12-29 2020-12-29 医疗数据的探测方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011594913.2A CN112528273B (zh) 2020-12-29 2020-12-29 医疗数据的探测方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN112528273A CN112528273A (zh) 2021-03-19
CN112528273B true CN112528273B (zh) 2023-06-06

Family

ID=74977034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011594913.2A Active CN112528273B (zh) 2020-12-29 2020-12-29 医疗数据的探测方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN112528273B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021400A (zh) * 2017-11-29 2018-05-11 腾讯科技(深圳)有限公司 数据处理方法及装置、计算机存储介质及设备
CN110188538A (zh) * 2019-04-26 2019-08-30 北京奇安信科技有限公司 采用沙箱集群检测数据的方法及装置
CN110826053A (zh) * 2019-10-11 2020-02-21 北京市天元网络技术股份有限公司 基于容器的数据沙箱运算结果安全输出方法以及装置
CN110851867A (zh) * 2019-11-12 2020-02-28 北京芯际科技有限公司 一种基于区块链的医疗数据共享方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653938A (zh) * 2015-12-31 2016-06-08 中国电子科技网络信息安全有限公司 一种用于虚拟机的沙箱保护系统及方法
CN107480524A (zh) * 2017-08-18 2017-12-15 郑州云海信息技术有限公司 一种安全沙箱及其构建方法
CN108040110B (zh) * 2017-12-11 2020-10-27 国网宁夏电力有限公司信息通信公司 一种基于安全沙箱的移动数据安全防护方法
CN109784053B (zh) * 2018-12-29 2021-04-27 360企业安全技术(珠海)有限公司 过滤规则的生成方法、装置、及存储介质、电子装置
CN110851823B (zh) * 2019-11-12 2023-03-10 腾讯科技(深圳)有限公司 数据访问方法、装置、终端及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021400A (zh) * 2017-11-29 2018-05-11 腾讯科技(深圳)有限公司 数据处理方法及装置、计算机存储介质及设备
CN110188538A (zh) * 2019-04-26 2019-08-30 北京奇安信科技有限公司 采用沙箱集群检测数据的方法及装置
CN110826053A (zh) * 2019-10-11 2020-02-21 北京市天元网络技术股份有限公司 基于容器的数据沙箱运算结果安全输出方法以及装置
CN110851867A (zh) * 2019-11-12 2020-02-28 北京芯际科技有限公司 一种基于区块链的医疗数据共享方法

Also Published As

Publication number Publication date
CN112528273A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN110096338B (zh) 智能合约执行方法、装置、设备及介质
AU2019262864B2 (en) Execution control with cross-level trace mapping
US9063766B2 (en) System and method of manipulating virtual machine recordings for high-level execution and replay
EP3005121B1 (en) Debugging native code by transitioning from execution in native mode to execution in interpreted mode
US9684786B2 (en) Monitoring an application in a process virtual machine
US8850581B2 (en) Identification of malware detection signature candidate code
JP6195849B2 (ja) ソフトウェア・コードの生成およびキャッシング
US8434070B2 (en) Generating specifications of client-server applications for static analysis
CN109564540B (zh) 用于jit编译器的调试的系统、方法和设备
US20120102474A1 (en) Static analysis of client-server applications using framework independent specifications
US9582418B2 (en) Confirming the sensitivity of a data object in a managed object heap
US20230168902A1 (en) Bootstrapping Profile-Guided Compilation and Verification
US8903702B2 (en) Generating specifications for expression language expressions and tag libraries
US20150082307A1 (en) Determining optimal methods for creating virtual machines
CN110727476B (zh) 一种授权配置文件的生成方法、装置、设备及存储介质
US20120054724A1 (en) Incremental static analysis
US11580228B2 (en) Coverage of web application analysis
CN105765531A (zh) 对程序二进制文件的通用拆包
US9116713B1 (en) System and method for expression evaluation in a distributed networking environment
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
CN114253537A (zh) 表单生成方法及装置、电子设备和存储介质
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
Stamatogiannakis et al. Prov 2r: practical provenance analysis of unstructured processes
US9841960B2 (en) Dynamic provision of debuggable program code
CN112528273B (zh) 医疗数据的探测方法、装置、介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant