CN112883951A - 一种保护敏感内容的方法、系统和存储介质 - Google Patents
一种保护敏感内容的方法、系统和存储介质 Download PDFInfo
- Publication number
- CN112883951A CN112883951A CN202110184052.9A CN202110184052A CN112883951A CN 112883951 A CN112883951 A CN 112883951A CN 202110184052 A CN202110184052 A CN 202110184052A CN 112883951 A CN112883951 A CN 112883951A
- Authority
- CN
- China
- Prior art keywords
- character
- content
- sensitive
- interference
- sensitive information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Discrimination (AREA)
Abstract
本公开涉及一种用于保护敏感内容的方案,包括:确定网页上要显示内容的位置;预加载所述内容并识别所述内容中的敏感信息;针对识别出的所述敏感信息,通过计算敏感信息与字符样本库中的字符样本之间的相似度值来确定与所述敏感信息相似的干扰内容;基于所述干扰内容构建干扰图;根据所确定的位置,将所述干扰图加载到该位置处作为背景;在所确定的位置处显示所述内容。
Description
技术领域
本申请涉及敏感内容的保护领域,尤其是防止网站上的敏感内容被非法盗取的方法、系统和存储介质。
背景技术
用户和公司的敏感内容保护一直是数据安全领域重点关注的研究方向。
在互联网技术还未普及的阶段,也即数据交流和传递还是利用物理存储介质(例如软盘、硬盘、U盘、光盘等等数据存储介质)来实现的时期,敏感数据的保护主要依赖于对数据或存储介质进行加密和解密来实现,即通过对敏感数据或存储介质应用一种加密算法/密钥并提供相应的解密算法/密钥来保证只有授权(拥有解密算法/密钥)的人才能看到敏感数据。
但随着时代的发展,互联网技术开始普及到人们生活的方方面面,越来越多的数据开始依赖于网络传输,而非物理存储介质,在人与人之间进行传递。传统的数据加密/解密机制不再适用于基于互联网的数据安全保护。例如,发布加密敏感内容的公司无法保证拥有解密密钥的用户能够不做出将解密的敏感内容非法保存并分享给其他未经授权的用户的行为。而且,由于互联网的自由性、实时性、共享性和开放性等特点,一旦所述敏感内容在网络上被泄露,就可能给拥有该敏感内容的公司带来巨大的利益损失。
因此,敏感数据提供的网络化趋势对敏感数据的保护提出了更严峻的挑战。
发明内容
本公开涉及一种用于保护敏感内容的方案。
根据本公开的第一方面,提供了一种用于保护敏感内容的方法,包括:确定网页上要显示内容的位置;预加载所述内容并识别所述内容中的敏感信息;针对识别出的所述敏感信息,确定与所述敏感信息相似的干扰内容;基于所述干扰内容构建干扰图;根据所确定的位置,将所述干扰图加载到该位置处作为背景;在所确定的位置处显示所述内容。
根据本公开的第二方面,提供了一种通过OCR识别将经干扰的内容的图片转换成文本的方法,包括:将经干扰的内容的图片作为输入提供给OCR系统,其中所述经干扰的内容的图片包含如权利要求1所述的敏感信息和干扰图;对所述图片中的像素点进行扫描;根据所述像素点来识别出字符的边缘,所识别的字符的边缘还包含了所述干扰图中的干扰内容;根据所述边缘对字符进行分类计算,所述分类计算基于识别的字符的复杂度消耗相应的内存;其中,由于所识别的字符的边缘还包含了所述干扰图中的干扰内容,导致复杂度增加,进而使得所述分类计算需要消耗几何倍数的内存。
根据本公开的第三方面,提供了一种用于保护敏感内容的系统,包括:位置确定模块,被配置用于确定网页上要显示内容的位置;预加载和识别模块,被配置用于预加载所述内容并识别所述内容中的敏感信息;干扰内容确定模块,被配置用于针对识别出的所述敏感信息,确定与所述敏感信息相似的干扰内容;构建干扰图模块,被配置用于基于所述干扰内容构建干扰图;加载背景模块,被配置用于根据所确定的位置,将所述干扰图加载到该位置处作为背景;显示模块,被配置用于在所确定的位置处显示所述内容。
根据本公开的第四方面,提供了一种存储有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如第一方面所述的方法。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
为了描述可获得本发明的上述和其它优点和特征的方式,将通过参考附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:
图1示出了根据本公开的一个实施例的用于保护敏感内容的方法的示例流程图。
图2描述了利用常用的OCR识别技术将含有经如图1所述方法干扰的敏感信息的图像转换成文本的示例处理流程。
图3a-d以一个具体实例来进一步解说本公开的用于保护敏感内容的方法在处理敏感字符时的各个阶段。
图4中示出了根据本公开的一个实施例的用于保护敏感内容的系统的示例框图。
具体实施方式
如前所述,本申请主要涉及一种保护敏感内容的方法、系统和存储介质,特别是针对网络领域的敏感内容的爬取提供了一种有效的自动防范机制。
当前有许多攻击者使用网络爬虫从其他公司的网站上爬取数据。网络爬虫是一种按照一定的规则,自动地抓取互联网信息的软件。为了避免网站公司开发的反机器人攻击的防护机制,攻击者们也开始采用一种升级的从网站盗取内容的方法。具体而言,攻击者首先使用手机或者其他计算设备模拟对网站的人工访问,例如可以使用selenium+phantomJS框架调用浏览器内核,并利用phantomJS执行js来模拟人为操作以触发页面中的js脚本。从填写表单到点击按钮再到滚动页面都可以通过上述框架进行模拟。随后,通过对模拟访问网站后所显示的网站内容进行人工或自动地录屏、截图或拍照等方式来保存网站的内容,以取代通过对网站底层代码的爬取来获得内容的传统机制。最后,再通过OCR(光学字符识别)技术从所录制的视频、截图或拍摄的图像中自动识别出公司和/或用户的敏感数据。
该方法不仅绕过了网站公司传统系统的针对底层代码的各种防护机制,而且,还将盗取行为从获取底层代码转换为OCR图像识别,使得所述盗取行为更加难以防范。因为攻击者的录屏、截图和拍照等盗取行为已经超出了网站公司通过改进底层代码层面所能实现的管控范围,这就使得所述敏感内容的盗取更加防不胜防。
上述这种升级盗取方法的防范难点在于:网站公司难以分辨出正在浏览和访问其网站的用户是真实用户还是软件代码模拟的虚构用户,并且也无法阻止对敏感内容的录屏、截图或拍照。因为所述录屏、截图或拍照采用的是独立于网站公司的其他第三方软/硬件来实现的。
对于通过对屏幕的录屏、截图或拍照并随后进行OCR识别的这种盗取手段,已经存在一些现有技术来避免攻击者通过所述手段来很容易的获取感兴趣的信息。一种常见的方法就是在图形验证码的数据上添加背景噪声数据,例如各种颜色的不规则的线条、图案可被叠加到验证码上,或者改变验证码中的每个字母的大小、字体、颜色、粗细、位置和方向等等中的一个或多个属性……。但这些手段在实际应用中并不十分有效。一方面这是因为这些背景噪声并未针对所要保护的验证码进行专门设计,因此,还是很容易被日益强大和智能化的非法软件利用各种算法识别出来。另一方面,所述背景噪声不仅干扰了OCR软件识别,而且也对合法用户的肉眼识别带来很大的困扰,迫使合法用户也可能要通过不断尝试刷新验证码来获得相对容易辨别的验证码图形。因此,现有的这些防范手段并不能很好地阻止所述盗取手段。
为了克服现有技术的各种缺陷,本公开提供了一种保护敏感内容的方案。
如图1所示,示出了根据本公开的一个实施例的用于保护敏感内容的方法的示例流程图。
首先,在步骤102,确定网页上要显示内容的位置。一般而言,敏感信息一般都是通过文本框、表格、窗口等控件被显示在网页中的固定位置处。在网站开发人员在开发网页程序时,可以在前端就开发确认所述内容要显示在网页中的位置以及属性,诸如在所述位置处的文本框、表格、窗口的坐标、大小以及在所述位置处显示文本的大小、字体、颜色等属性。另一方面,如果在开发完成之后,也可以通过读取网页源代码中的相应控件的标签和其属性来确定上述信息。
随后,在步骤104,在将要显示的内容通过所述文本框、表格、窗口等控件显示到所确定的位置之前,对所述要显示的内容进行预加载,例如将它们读取到系统的缓存中。随后,调用敏感信息识别模块来识别所述要显示的内容中是否存在敏感信息和其位置。所谓敏感信息是指不当使用或未经授权被人接触或修改会不利于国家利益或计划的实行或不利于个人依法享有的个人隐私权的所有信息。而常见的敏感信息可以包括个人隐私信息(例如姓名、年龄、出生年月、身份证号码、职业、电话、家庭住址……等等、密码、账号、财产信息、征信信息、行踪轨迹等等)、公司敏感信息(例如经营业绩、员工个人信息、内部文献资料等等)以及其他敏感信息。所述敏感信息可以是(连续地或离散地)分布在要显示内容的各个位置处的各种字符(下面称其为“敏感字符”)。所述敏感信息识别模块可以是开发好的SDK形式的功能模块,或者也可以使用一些常用的敏感信息识别工具,例如XGBOOST、TF-IDF算法等。所述敏感信息一般是文本形式(例如字母、数字和中文字符),但也可能是图形(例如图形验证码)以及视频等等。为了便于理解,在本公开的各实施例中主要以包含字符的文本形式的敏感信息为例进行说明,但也应该理解,其他形式的敏感信息只要经过转换被转换成文本之后,也同样适用于本公开的方案。
在步骤106,对于识别出来的敏感信息,确定与所述敏感信息相似的干扰内容。所述确定可以包括:在所述敏感信息中是否存在可以被干扰的敏感内容(例如敏感字符)、要被干扰的敏感内容在敏感信息中的位置和与要被干扰的敏感内容相似的干扰内容。所述确定步骤可以利用几种计算字符之间的相似度值的相似性算法来实现。具体而言,通过计算敏感信息中的目标(当前)敏感字符与样本字符库中的字符样本之间的相似度值是否超过阈值来确定:1)该目标敏感字符是否能够被干扰,2)要被干扰的敏感字符在所述敏感信息中的位置(为了方便处理,该位置无需是具体位置,而是可以以敏感信息开头为起点的偏移位置,例如第二个字符位置),3)与要干扰的目标敏感字符相似的干扰字符,例如当目标敏感字符与样本字符库中的某个字符样本之间的相似度值超过阈值时,该字符样本就可以被选作该目标敏感字符的干扰字符。为了实现上述目的,可以针对敏感信息的文本中的每个敏感字符,通过将各敏感字符分别与样本字符库中相关的字符样本执行相似性算法以计算它们之间的相似度值。
作为示例,一种计算字符之间的相似度值的示例过程可以如下所述:
1.首先,对敏感内容进行标准化处理,所述标准化包括以统一的样式(例如统一的字体、字号、颜色)对所述敏感内容中的所有字符进行枚举,并统一转换成一种格式的灰度图片(例如20*20像素大小的灰度图)。
2.针对每个敏感字符的灰度图,按行统计组成该字符的黑色像素点的个数,并基于此为每个字符计算出其直方图,标记为p(x),x为灰度图片的大小。
3.对于每个敏感字符,从样本字符库中选择一个相关的字符样本并获取预先存储的该字符样本的直方图。为了识别出敏感信息中可以被干扰的内容,首先,需要建立一个包含各种字符(例如字母、数字和中文字符)的样本字符库,在该样本字符库中存储了用于进行比较的各种字符的样本。例如,如上所述,以直方图作为示例,字符样本库中存储了各种字符的直方图样本。
4.根据所选敏感字符和字符样本之间的相似度值确定用于干扰的字符样本。
一种常用的计算两个字符之间的相似度值的方法是:巴氏系数,巴氏系数是一种常用于两个统计样本或总体之间重叠量的度量,该度量可以用于进行相似图像匹配。
其原理为:先分别求出两张图像在直方图上的概率分布,对相同位置的概率相乘(如果某一图像在该处分布概率为0,则乘积结果也为0,表示在该处完全不相同),然后进行开方,再对开方后结果进行累加。如果两张图像在某一处分布概率完全一样,那么该处计算结果与任意一张图像在该处分布概率相同。具体而言,巴氏系数的计算公式如下:
BC(p,p’)=∑√p(x)p’(x)
其中,p,p’分别代表敏感字符与要进行匹配的字符样本的直方图数据,对所述直方图数据每个相同数据点x处的敏感字符与字符样本的灰度值乘积开平方以后进行累加。最终得出的结果BC即为这两个字符的图像的相似度值。其结果的取值范围在(0,1)之间,其中0为完全不相同,1为完全相同。因此,如果计算出的相似度值越接近1则表示这两个字符越相似,也即该字符样本对敏感字符的OCR识别的干扰也就越大。
可以理解,为了减少计算的工作量,可以在执行所述相似性计算之前,基于当前所选的敏感字符对所述字符样本库进行提前筛选,直接排除明显不相关的字符样本,进而缩小需要进行比较匹配的字符样本的范围。例如,可以通过预处理来选择出若干组相关的(敏感字符,字符样本)对来执行所述相似性计算。
还有,上述巴氏系数计算仅仅是可用于确定敏感字符和字符样本之间的相似性的一个示例算法,实际上还存在其他算法也能实现同样的目的。例如,感知哈希算法、余弦相似度算法等都可以计算出两个图像之间的相似度。因此,本公开的相似度值的计算并不局限于巴氏系数计算。
在计算出敏感字符与字符样本之间的相似度值之后,可以有下述两种处理方式来判断是否敏感字符存在可以匹配的干扰字符:
方式一:将计算出的所述相似度值与相似度阈值进行比较以判断当前敏感字符是否能够被干扰。只要相似度值大于等于相似度阈值,则可以判定当前敏感字符能够被干扰,并且与之一起被计算的字符样本就是可用于干扰该敏感字符的干扰字符。因此,当前用于计算的(敏感字符,字符样本)对就可以作为所述相似性计算的最终匹配结果,其中的字符样本被选择为用于干扰该敏感字符的干扰字符,而当前敏感字符在敏感信息文本中的位置则可以以偏移位置形式被同时记录。
方式二:先将敏感字符与所有相关的字符样本的相似度值通过上述巴氏系数计算出来,然后,从所有超出相似度阈值的(敏感字符,字符样本)对中选取具有最高相似度值的配对作为最终的选择结果。与方式一相比,这种方式需要花费较多的计算量,但优点在于由于所选的(敏感字符,字符样本)对具有最高的相似性,因此,该对中的字符样本对该敏感字符的干扰力度也是极强的,可以获得比方式一更好的干扰效果。
随后,流程选择下一位置处的敏感字符重新进行上述计算流程步骤。
当然,无论上述哪种方式都存在可能无法找到相似性能够满足相似度阈值要求的干扰字符的情况,这时也可以认为当前敏感字符无法被干扰,于是,流程可以继续选择下一位置处的敏感字符重新进行上述计算流程步骤。
当对敏感内容的所有敏感字符执行完上述后,所述方法可以行进至步骤108以执行对该敏感字符的干扰操作。
应该理解,利用巴氏系数来计算相似度值仅仅是本公开可用的相似性算法中的一个示例。实际上,还存在其他很多可以计算图片之间相似性的算法,它们也能用来确定与敏感信息最相似的干扰内容。因此,所述巴氏系数计算仅仅是出于说明的目的呈现于此,而非是要将本公开局限于此。
而且,阈值的设定可以根据实际需要来进行,例如对于机密信息可以将该阈值设置得低一点,以便大部分敏感字符都能被干扰(例如0.5),而对于一般敏感信息则可以将阈值设置得高一些(例如0.7),也即仅少部分敏感字符被干扰即可满足需求。
综上所述,在为敏感信息中的所有的敏感字符确定了最终相似的(敏感字符,字符样本)对之后,流程行进至步骤108以执行对该敏感字符的干扰操作。
在步骤108,基于所确定的干扰内容构建干扰图。具体而言,对于每个相似的(敏感字符,字符样本)对:
首先,可以将字符样本的灰度值设置在敏感字符的灰度值的30%~40%的区间内。该区间的取值范围旨在能够让作为背景噪声的字符样本连同敏感字符很容易被例如OCR一起识别出来,但却可通过灰度上的明显区别让肉眼很容易地将字符样本与敏感字符区分开来。
接着,对于每个字符样本,在字符样本库中都预先存储有其相应的预设的样本图。例如可以通过将操作系统中的字体库中对应的各种字体标准模板(例如宋体、Times NewRoman等等字体)转换成图片以构成预设的样本直方图。基于字符样本的所设置的灰度值和其样本图生成对应的数组ip[x,y],其中ip是表示干扰图的像素值,而x和y则表示该图片的坐标,所述x和y是由对应的敏感字符的字号决定的,可以将一个字符的像素显示大小定义为x*y。
随后,在为每个用于干扰的字符样本构建了其相应的数组ip[x,y]之后,基于敏感信息的整体大小开始构建干扰图。所述构建包括:
首先,构建与敏感信息的整体大小一致的空白图片(例如填充白色);
随后,根据先前记录的每个敏感字符在敏感内容中的各偏移位置,在干扰图的相应位置处添加与之相对应的字符样本的数组ip[x,y]以形成字符水印,而在所述干扰图的与被判定为无法被干扰的敏感字符的位置相对应的位置处还是保留空白。这样构成的干扰图从总体上来看就是一张在与可干扰的敏感字符的对应位置处具有较浅灰度的字符样本而别处则是空白的干扰图((也可称为水印)。
在步骤110,根据先前确定的在网页上的要显示内容的位置,将所述干扰图加载到该位置处作为背景图片。
最后,在步骤112,在所确定的所述网页上要显示内容的位置处显示所述内容。由于在前一步骤中已经将干扰图作为背景水印,因此,作为背景的较浅的字符样本与在其前面的对应的敏感字符会被一起叠加显示,从而使得敏感字符看上去可能多出几笔淡色的笔画。这些多余的笔划很容易被肉眼从敏感字符中区分出来,但在被OCR识别时所述多余的笔划却会对OCR识别造成严重影响。
应该理解上述干扰图的构建过程仅仅是举例说明,实际上还有其他方式来构建所述干扰图。例如可以将干扰图中不存在干扰字符的像素的地方设置为透明,这样,所述干扰图也可以被加载并叠加到所显示的敏感信息之上作为前景以实现类似的干扰效果。
为了更容易地理解本公开的有益效果,下面结合后续的OCR识别过程对所述方法的防盗成果进行评述。
在图2中描述了当常用的OCR识别技术在将含有所述经干扰的敏感信息的图像转换成文本的处理流程。
如前所述,为了规避网站自身的防盗机制,攻击者可以将显示了包含敏感信息的内容的页面进行截图并随后对所述截图进行OCR识别以将敏感信息恢复成文本。
但是,如果网站在提供内容之前,采用了如图1所述的保护敏感内容的方法来对要显示的内容进行了上述保护处理,则在攻击者对所显示的内容进行截图时,所述截图不仅包含了敏感信息,同时也将作为背景水印的干扰图同时截取了下来。这就为后续的OCR识别的失败埋下了伏笔。
具体而言,在步骤202,将包含敏感信息和干扰图的截图作为输入提供给OCR系统。
在步骤204,OCR系统对所述图片中的像素点进行扫描。
在步骤206,根据所述像素点来识别出字符的边缘。由于所述敏感字符边缘附近多了近似的干扰点(来自作为背景的用于干扰的字符样本,也可称为“背景噪声”),因此,所述边缘识别会将所述噪声也纳入到字符识别的范围。
在步骤208,根据所述边缘对字符进行分类计算,例如可根据监督算法,对字符进行预测。所述分类可以利用经训练的分类器来实现,具体而言,由于分类算法会将识别的图片中内容与现有的模型进行比较识别,因此,在分类处理中会有较大内存消耗。根据识别的字符(文字、字母或者数字)的复杂度不同,所述内存消耗也不同。根据推算,假设正常流程中的复杂度为N^100,其中N代表识别出的字符的像素点数目。则在本流程中,由于噪声像素(假设其像素数目为M)也被纳入到字符识别的范围,因此,由于干扰的像素造成加载到内存像素内容可能会增加为(N+M)^100。不仅如此,当内容被干扰图模糊之后,会与其他内容产生干扰,还可能需要增加比对分类次数,因此,需要计算的内存大小大致可增加至(N+M)^(100×c),其中,N代表加载的图片中的识别出的字符的像素点数目,M代表干扰所导致的增加的像素点数目(也即纳入考虑的噪声),而c代表干扰可能导致的分类增加。当然,由于OCR识别的不确定性,并非所有的干扰像素在每次OCR识别时都会被纳入字符识别范围,因此,实际的复杂度可能略小于上述推算算式,但从总体上来说,所述干扰图的引入还是给分类计算带来了几何倍数的内存消耗。
由于噪声干扰所导致的识别结果可能有如下几种:
1)对于单张图片的识别,这种分类时的内存消耗在单张图片识别时可能仅仅体现为计算耗时增加若干秒,最终还是能够识别出正确的敏感字符(步骤210)。但一般情况下敏感信息通常包括几十、几百甚至更多的字符,每个字符识别的耗时叠加会导致不可接受的等待时间。
2)即使完成了OCR识别,由于干扰图的存在,使得识别出的结果也有很大可能是用于干扰的字符样本,而非真正的敏感字符(步骤212)。
3)当同时对大量截取的图片进行OCR识别时,内存的叠加消耗很有可能导致内存溢出,进而使得系统崩溃(步骤214)。
无论是上述哪种结果,因为干扰图的存在确实使得识别准确率大大下降,因此,即使系统没有崩溃,OCR自动识别出的结果实际上也是不可信任的。换句话说,在不经过人工审核的情况下,所述识别结果几乎毫无用处。这就导致想要利用OCR识别技术自动从截图或拍摄的图像中爬取出公司和/或用户的敏感数据几乎是不可能完成的任务,不具有现实可操作性。这样,就基本杜绝了利用截取屏幕来盗用网站敏感内容的现象。
下面,结合附图3以一个具体实例来进一步解说本公开的用于保护敏感内容的方法在处理敏感字符时的各个阶段。
如前所述,在将内容显示在文本框之前,根据本公开的方案需要先对所述内容中的敏感信息进行防盗处理,所述处理包括:
利用诸如已经开发好的敏感信息识别模块SDK来从要显示的内容中识别出敏感信息。如图3a所示,在本示例中以敏感信息151200中的字符“5”作为敏感字符的示例进行说明。图中的框仅仅表示5是后续流程的处理对象。其它字符的处理方式也和5类似,不再详述。
随后,将该敏感字符5识别成相应的字符文本,并进行统一的格式化,包括先将“5”格式化为例如20*20像素的灰度图片。然后,按行统计黑色像素点个数,计算其直方图,记为数组p(20)。
随后,根据巴氏系数计算5与字符样本库中的相关的各个字符样本之间的相似度。由于字符5是数字,因此,一般也是以字符样本库中的数字样本作为相关候选字符样本。通过所述计算,得到字符5与字符样本6之间的图像相似度值最大,为BC=0.72。该图像相似度值超过了阈值(例如0.7),因此,字符样本6被选作敏感字符5的干扰字符,参见图3b。
接着,将图片6的灰度值设定为5的灰度值的30%~40%的区间内,并生成数组ip[x,y],其中x,y表示图片6的像素坐标。其中所述灰度值的取值区间可以根据实际需求而变化,在此只是示例说明。
在使用时,根据字符5在内容中的位置,构建干扰图。例如图3a所示,需要为第二个5添加干扰。根据字符5的字号大小,确定像素显示大小为x*y。因为,敏感信息151200在水平方向为6个字符宽度,也即6x,而在竖直方向则是一个字符长度y,因此,生成的干扰图片的数组为pic[6x,y],将颜色设置为白色。随后,将pic[2x,y]部分处的数组内容修改为ip[x,y],如此构成的干扰图在第二个字符的位置上显示有一个淡化的字符6,而其他位置处则还是白色。所述干扰图的示例如图3c所示,其中虚线表示了干扰图的整体范围,其与敏感信息的大小基本保持一致。
然后,将所述干扰图作为背景显示在网页上要显示所述内容的位置处,例如作为文本框的背景图片。
这样,当在文本框中显示内容,例如图3a中的文本时,由于作为背景的干扰图的存在,使得最终显示的效果如图3d所示。由于6的一竖比5的其他段淡得多,因此,对于合法观看的用户而言,他可以很容易分辨出第二个字符是5,而不是6。
但对于攻击者使用截图截取的图片而言,所述淡淡的笔划所构成的干扰像素在用OCR技术进行识别时也会被纳入到识别范围,因此,导致后续的分类计算会产生较大的内存消耗,尤其是当同时对大量字符图片进行OCR识别时,大量的内存消耗可能导致系统崩溃。另一方面,即使OCR系统识别出了字符,但由于存在干扰像素,所述识别结果更加可能是6,而非5,这就导致即使完成了OCR识别,其最终的识别结果的准确率也低得惊人,毫无价值。
在一些实施例中,可以理解每个敏感字符一般都需要与样本字符库中的多个样本字符进行相似性计算后,才能找到满足阈值要求的干扰字符。因此,对每个敏感字符的干扰判断可能都涉及很多次的相似性计算。为了提高效率,首先,可以对样本字符库中的样本字符进行分类,例如可以先将文本字符样本分成字母、数字和中文三大类。随后再针对每个大类进行进一步细分。举例而言,例如针对中文字符的情况可以将具有相同部首的中文字符归并到一个子分类,或者还可以按照字形的结构对字符样本进行预分类。这样,可以使得所述敏感字符能够很容易找到一组相关的字符样本作为候选集,而不需要将其与字符样本库中的每个字符样本进行比较。
在另一些实施例中,尽管在上面的方法流程和实例中都是以单个敏感字符的干扰和识别作为示例进行说明,但应该理解,在现实中,内容一般都包括有多个敏感字符。因此,上述防盗方法实际上可被分别应用于各敏感字符的干扰。而最终生成的干扰图也可以包括多个在与敏感字符相对应的位置处的相应字符样本的较浅灰度图。
在其他实施例中,应该理解,本公开的方案不仅能对文本形式的敏感信息进行干扰以防止盗取,还可以对图片、视频形式的敏感信息进行干扰。对于图片或视频形式的敏感信息,在执行本公开的方法之前,可以先对要显示的图片或视频的视频帧进行OCR识别,以将图形字符识别成相应的文本字符。之后,再根据上述方法流程寻找与之配对的干扰字符样本,生成干扰图作为背景显示在所述图片或视频之后,如此,在攻击者截图时,获取的图片还是包含有干扰像素,可以实现类似的防盗效果。
在还有一些实施例中,所述字符除了中文字符、英文字符和数字之外,也可以包括其他字符(例如各种标点、罗马字符、阿拉伯数字、日语字符、韩语字符、德语字符等等)。无论上述哪种字符,其与字符样本的干扰配对方式都可以基于相似性计算。不同之处仅在于需要构建与之相应的字符样本库,例如可以借助于操作系统自带的日语、韩语等字库来构建,也可以通过安装外部字库来构建。另外,即使敏感信息是手写体字符,也可以通过将其识别成文本再执行相似性计算来获得配对的干扰字符。
在描述了上述方法流程之后,在图4中示出了根据本公开的一个实施例的用于保护敏感内容的系统的示例框图。所述系统具有与图1所述的各流程步骤相对应的模块以便执行所述流程步骤。
如图所示,所述系统具有位置确定模块402、预加载和识别模块404、干扰内容确定模块406、构建干扰图模块408、加载背景模块410以及显示模块412。根据技术人员的常识经验,所述各种模块可以利用软件、硬件、固件或者软硬件结合的方式来实现。它们之间可以通过数据线彼此进行通信。
首先,位置确定模块402,被配置用于确定网页上要显示内容的位置,所述位置可以是例如文本框、表格、窗口等控件被显示的位置。
预加载和识别模块404,被配置用于在将要显示的内容显示到所确定的位置之前,对所述要显示的内容进行预加载,并调用敏感信息识别模块来识别所述要显示的内容中是否存在敏感信息和其位置。所述敏感信息识别模块可以是开发好的SDK形式的功能模块,或者也可以使用一些常用的敏感信息识别工具。
干扰内容确定模块406,被配置为针对识别出来的敏感信息,确定与所述敏感信息相似的干扰内容。所述确定是通过计算每个敏感字符与相关的字符样本之间的相似度值是否超过阈值来实现的。在两个字符之间的相似性计算可以利用巴氏系数计算来执行。所述巴氏系数计算的具体过程可以参见图1的相应步骤106中所述的内容,在此不再详述。
构建干扰图模块408,被配置用于基于所述干扰内容构建干扰图。所述构建包括将字符样本的灰度值设置为更低的灰度值,生成与其对应的数组ip[x,y],并将该数组填充到空白干扰图的相应位置处。
加载背景模块410,被配置用于根据所确定的位置,将所述干扰图加载到该位置处作为背景图片,具体而言,根据先前确定的要显示内容在网页上的位置,将所述干扰图加载到网页上的该位置处作为背景图片。
显示模块412,被配置用于在所确定的位置处显示所述内容。由于前一模块已经将干扰图作为背景水印,因此,作为背景的较浅的字符样本与在其前面的对应的敏感字符会被一起叠加显示,从而使得敏感字符看上去多出几笔淡色的笔画。这些多余的笔划很容易被肉眼分辨出来,但在被OCR识别时所述多余的笔划却会对OCR识别造成严重影响影响。
从总体上来说,本公开的方案并不触及网站公司底层代码,因此,无需对网站设计本身进行任何修改。通过在网站的敏感内容附近插入一些编辑过的图片和icon作为背景,这些图片的色彩值经过设计,使得人眼看上去只是普通的图片,但是当攻击者录屏完进行OCR识别的时候,则会触发OCR算法的漏洞,导致识别的算法和模型失效,从而保护公司的网站内容被录屏后盗取。
上述内容对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。而且,相关领域的技术人员将领会,在不偏离如所附权利要求书所定义的本公开的精神和范围的情况下,所述实施例可以在形式和细节方面进行各种修改。因此,此处所公开的本公开的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
Claims (11)
1.一种用于保护敏感内容的方法,包括:
确定网页上要显示内容的位置;
预加载所述内容并识别所述内容中的敏感信息;
针对识别出的所述敏感信息,确定与所述敏感信息相似的干扰内容;
基于所述干扰内容构建干扰图;
根据所确定的位置,将所述干扰图加载到该位置处作为背景;
在所确定的位置处显示所述内容。
2.如权利要求1所述的方法,其特征在于,其中所述确定与所述敏感信息相似的干扰内容是通过计算所述敏感信息中的每个敏感字符与样本字符库中的各字符样本之间的相似度值是否超过阈值来实现的。
3.如权利要求2所述的方法,其特征在于,其中所述计算所述敏感信息中的每个敏感字符与所述字符样本之间的相似度值是利用如下的巴氏系数来计算:
BC(p,p’)=∑√p(x)p’(x)
其中,p,p’分别代表敏感字符与要进行匹配的字符样本的直方图数据,对所述直方图数据中每个相同数据点x处的敏感字符与字符样本的灰度值乘积开平方以后进行累加,最终得出这两个字符的图像的相似度值结果BC,所述BC的取值范围在(0,1)之间。
4.如权利要求3所述的方法,其特征在于,基于所述干扰内容构建干扰图包括:
将匹配的字符样本的灰度值设置为比所述敏感字符的灰度值低的灰度值,并生成对应的数组,随后将该数组填充到空白干扰图的相应位置处。
5.一种通过OCR识别将经干扰的内容的图片转换成文本的方法,包括:
将经干扰的内容的图片作为输入提供给OCR系统,其中所述经干扰的内容的图片包含如权利要求1所述的敏感信息和干扰图;
对所述图片中的像素点进行扫描;
根据所述像素点来识别出字符的边缘,所识别的字符的边缘还包含了所述干扰图中的干扰内容;
根据所述边缘对字符进行分类计算,所述分类计算基于识别的字符的复杂度消耗相应的内存;
其中,由于所识别的字符的边缘还包含了所述干扰图中的干扰内容,导致复杂度增加,进而使得所述分类计算需要消耗几何倍数的内存。
6.如权利要求5所述的方法,其特征在于,所述分类计算的结果包括以下几种:
1)字符识别的耗时增加;
2)错误字符识别;
3)所述OCR系统崩溃。
7.一种用于保护敏感内容的系统,包括:
位置确定模块,被配置用于确定网页上要显示内容的位置;
预加载和识别模块,被配置用于预加载所述内容并识别所述内容中的敏感信息;
干扰内容确定模块,被配置用于针对识别出的所述敏感信息,确定与所述敏感信息相似的干扰内容;
构建干扰图模块,被配置用于基于所述干扰内容构建干扰图;
加载背景模块,被配置用于根据所确定的位置,将所述干扰图加载到该位置处作为背景;
显示模块,被配置用于在所确定的位置处显示所述内容。
8.如权利要求5所述的系统,其特征在于,所述干扰内容确定模块进一步被配置用于:
通过计算所述敏感信息中的每个敏感字符与字符样本库中的各字符样本之间的相似度值是否超过阈值来确定所述干扰内容。
9.如权利要求6所述的系统,其特征在于,其中所述计算所述敏感信息中的每个敏感字符与所述字符样本之间的相似度值是利用如下的巴氏系数来计算:
BC(p,p’)=∑√p(x)p’(x)
其中,p,p’分别代表敏感字符与要进行匹配的字符样本的直方图数据,对所述直方图数据中每个相同数据点x处的敏感字符与字符样本的灰度值乘积开平方以后进行累加,最终得出这两个字符的图像的相似度值结果BC,所述BC的取值范围在(0,1)之间。
10.如权利要求9所述的系统,其特征在于,所述构建干扰图模块被进一步配置用于:
将匹配的字符样本的灰度值设置为比所述敏感字符的灰度值低的灰度值,并生成对应的数组,随后将该数组填充到空白干扰图的相应位置处。
11.一种存储有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184052.9A CN112883951B (zh) | 2021-02-10 | 2021-02-10 | 一种保护敏感内容的方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184052.9A CN112883951B (zh) | 2021-02-10 | 2021-02-10 | 一种保护敏感内容的方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883951A true CN112883951A (zh) | 2021-06-01 |
CN112883951B CN112883951B (zh) | 2022-04-29 |
Family
ID=76057489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110184052.9A Active CN112883951B (zh) | 2021-02-10 | 2021-02-10 | 一种保护敏感内容的方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883951B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473540A (zh) * | 2023-12-28 | 2024-01-30 | 北京天健源达科技股份有限公司 | 文件字符加密方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160210473A1 (en) * | 2015-01-19 | 2016-07-21 | International Business Machines Corporation | Protecting content displayed on a mobile device |
CN107239713A (zh) * | 2017-05-17 | 2017-10-10 | 李晓妮 | 一种敏感内容数据信息防护方法和系统 |
CN108198123A (zh) * | 2017-12-28 | 2018-06-22 | 上海传英信息技术有限公司 | 水印嵌入方法及终端 |
CN109872284A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 图像信息脱敏方法、装置、计算机设备及存储介质 |
CN112257100A (zh) * | 2020-07-30 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 敏感数据保护效果的检测方法、装置及存储介质 |
-
2021
- 2021-02-10 CN CN202110184052.9A patent/CN112883951B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160210473A1 (en) * | 2015-01-19 | 2016-07-21 | International Business Machines Corporation | Protecting content displayed on a mobile device |
CN107239713A (zh) * | 2017-05-17 | 2017-10-10 | 李晓妮 | 一种敏感内容数据信息防护方法和系统 |
CN108198123A (zh) * | 2017-12-28 | 2018-06-22 | 上海传英信息技术有限公司 | 水印嵌入方法及终端 |
CN109872284A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 图像信息脱敏方法、装置、计算机设备及存储介质 |
CN112257100A (zh) * | 2020-07-30 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 敏感数据保护效果的检测方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473540A (zh) * | 2023-12-28 | 2024-01-30 | 北京天健源达科技股份有限公司 | 文件字符加密方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112883951B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032491B2 (en) | Preserving privacy in surveillance | |
EP3574449A1 (en) | Structured text and pattern matching for data loss prevention in object-specific image domain | |
Khan et al. | Cyber security using arabic captcha scheme. | |
CN113486377A (zh) | 图像加密方法、装置、电子设备和可读存储介质 | |
CN112883951B (zh) | 一种保护敏感内容的方法、系统和存储介质 | |
JP7224240B2 (ja) | 画像アクセス管理装置、画像アクセス管理方法及び画像アクセス管理システム | |
Sedik et al. | An efficient cybersecurity framework for facial video forensics detection based on multimodal deep learning | |
Hu et al. | On digital image trustworthiness | |
US20210374275A1 (en) | Intelligent Dynamic Data Masking on Display Screens Based on Viewer Proximity | |
Siahaan et al. | Spoofing keystroke dynamics authentication through synthetic typing pattern extracted from screen-recorded video | |
Meena et al. | Image splicing forgery detection techniques: A review | |
Bhattarai et al. | Puzzling face verification algorithms for privacy protection | |
CN114638984B (zh) | 一种基于胶囊网络的恶意网站url检测方法 | |
Sbai et al. | A survey of keylogger and screenlogger attacks in the banking sector and countermeasures to them | |
McQuillan | Is lip-reading the secret to security? | |
US20230409747A1 (en) | Obfuscating information in content presented on a display | |
US10438061B2 (en) | Adaptive quantization method for iris image encoding | |
Darling | Automated privacy protection for mobile device users and bystanders in public spaces | |
Sbai et al. | A survey on screenlogger attacks as well as countermeasures | |
Abouollo | Canvas Fingerprinting: A State of the Art | |
Kalne et al. | A new avatar dynamic image based CAPTCHA service on cloud for Mobile devices | |
Zurita et al. | Social Engineering Shoulder Surfing Attacks (SSAs): A Literature Review. Lessons, Challenges, and Future Directions | |
CN117876137A (zh) | 财务状况确定方法、装置及计算设备 | |
Georgiev | Continuous touchscreen biometrics: authentication and privacy concerns | |
Taneja et al. | A Safer Web Experience: Deep Learning-Enhanced Obscene Content Filtering Plugin |
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 |