CN106934256B - 一种企业数据服务器的保护方法及装置 - Google Patents
一种企业数据服务器的保护方法及装置 Download PDFInfo
- Publication number
- CN106934256B CN106934256B CN201511016936.4A CN201511016936A CN106934256B CN 106934256 B CN106934256 B CN 106934256B CN 201511016936 A CN201511016936 A CN 201511016936A CN 106934256 B CN106934256 B CN 106934256B
- Authority
- CN
- China
- Prior art keywords
- executable program
- shell
- shelled
- java code
- class loader
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
Abstract
本发明提供一种企业数据服务器的保护方法及装置,该方法包括:针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对可执行程序进行加壳处理;针对加壳后的可执行程序生成第一类加载器,第一类加载器用于将加壳后的述可执行程序还原为加壳前的可执行程序;确定运行所述加壳后的可执行程序时,将第一类加载器作为所述加壳后的可执行程序的入口。本发明在一定程度上提高可执行程序的安全性,防止可执行程序被恶意修改和破解,保证了企业数据服务器中的重要信息不被泄露。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种企业数据服务器的保护方法及装置。
背景技术
目前,企业的数据服务器中基本都有其需要保护的自有的可执行程序,这些可执行程序会涉及到企业某些业务的核心代码、算法等重要信息。如果非法用户进入企业数据服务器,并盗取或者损毁这些可执行程序,会给企业带来巨大损失。目前,企业为了防止非法用户进入企业数据服务器,所采用的保护企业数据服务器的方法为:
通过身份认证机制,当确定访问企业数据服务器的用户身份非法时,不允许该用户访问企业数据服务器;否则,允许该用户访问企业数据服务器。
这种保护企业数据服务器的方法存在以下缺陷:只通过身份认证这种方式保护企业数据服务器安全性较低,并且,该方法未对企业数据服务器中的可执行程序实施任何保护措施,用户进入企业数据服务器后,可随意调用可执行程序或者查看可执行程序对应的代码,容易导致企业重要信息(企业某些业务的核心代码、算法等信息)的泄露,给企业带来损失。
发明内容
本发明提供一种企业数据服务器的保护方法及装置,用以解决现有技术中企业数据服务器的方法容易导致企业重要信息泄露,给企业带来损失的问题。
一种企业数据服务器的保护方法,包括:
针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对所述可执行程序进行加壳处理;
针对加壳后的所述可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的所述可执行程序还原为加壳前的可执行程序;
确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口。
所述方法中,根据预设的加壳规则,对所述可执行程序进行加壳处理,具体包括:
按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥;
对加密后的所述可执行程序进行先进的可执行程序文件压缩器UPX加壳处理。
本发明实施例,针对可执行程序先加密后加壳,可提高可执行程序的安全性。
所述方法中,所述可执行程序对应的代码为java代码时,该方法进一步包括:
对所述可执行程序进行加壳处理前,对所述java代码进行加壳处理;
针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码;
确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码。
本发明实施例,对可执行程序加壳前,先对可执行程序对应的代码进行加壳处理,可进一步提高可执行程序的安全性。
所述方法中,对所述java代码进行加壳处理,具体包括:
按照第二加密算法,对所述java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件;
修改加密后的所述jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
本发明实施例,修改jar包的后缀名并将后缀名修改后的jar包的保存路径进行修改,由原来的类库文件路径修改到资源文件路径,从而可大大降低jar包被盗取和反编译的概率。
所述方法中,针对加壳后的java代码生成第二类加载器,具体包括:
针对加壳后的所述jar包生成第二类加载器,并将第二类加载器保存到加密前的jar包所在的路径;
则通过所述第二类加载器调用所述加壳后的java代码,具体包括:
通过所述第二类加载器从所述资源文件中查找所述加密后的jar包;
确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密;
确定解密成功后,通过所述第二类加载器调用所述解密后的jar包。
本发明实施例中,当非法用户入侵时,只能获取第二类加载器,该第二类加载器不能直接运行,并且,非法用户并不知道对java代码所使用的加密算法,也不能知晓加密后的java的保存路径和文件名,这样可以在很大程度上增加非法用户反编译java代码的难度。
所述方法,还包括:
实时监控所述企业数据服务器的中央处理器CPU、硬盘、内存及输入输出端口I/O的运行状态;
确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
本发明实施例,由于非法人员在非法操作存储或运行可执行程序的设备(企业数据服务器)时,很有可能会导致该设备运行异常,因此,实时监控该设备的运行状态,当该设备的运行状态出现异常时,该设备可能被非法入侵,发出告警,以提醒维护人员对该设备以该设备中的可执行程序维护。
所述方法,确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的密钥。
本发明实施例,通过删除密钥的方式,使非法人员无法解密加密后的可执行程序,从而保证了可执行程序的安全。
本发明还提供一种企业数据服务器的保护装置,包括:
加壳单元,用于针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对所述可执行程序进行加壳处理;
生成单元,用于针对加壳后的所述可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的所述可执行程序还原为加壳前的可执行程序;
确定单元,用于确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口。
所述装置中,所述加壳单元具体用于:
按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥;
对加密后的所述可执行程序进行先进的可执行程序文件压缩器UPX加壳处理。
所述装置,所述可执行程序对应的代码为java代码时,对所述可执行程序进行加壳处理前,
所述加壳单元还用于:对所述java代码进行加壳处理;
所述生成单元还用于:针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码;
所述确定单元,还用于确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码。
所述装置中,所述加壳单元在对所述java代码进行加壳处理时,具体用于:
按照第二加密算法,对所述java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件;
修改加密后的所述jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
所述装置中,所述生成单元在针对加壳后的java代码生成第二类加载器时,具体用于:
针对加壳后的所述jar包生成第二类加载器,并将第二类加载器保存到加密前的jar包所在的路径;
则所述确定单元在通过所述第二类加载器调用所述加壳后的java代码时,具体用于:
通过所述第二类加载器从所述资源文件中查找所述加密后的jar包;
确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密;
确定解密成功后,通过所述第二类加载器调用所述解密后的jar包。
所述装置,还包括:
监控单元,实时监控所述企业数据服务器的中央处理器CPU、硬盘、内存及输入输出端口I/O的运行状态;确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
所述装置中,所述加壳单元还用于:确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的密钥。
利用本发明实施例提供的企业数据服务器的保护方法及装置,具有以下有益效果:通过对企业数据服务器中的可执行程序加壳,可执行程序对应的核心代码或者算法是不可见的,此时,即使非法用户进去企业数据服务器,也无法修改或窃取可执行程序的代码和算法,从而在一定程度上保证了企业数据服务器中的数据、核心代码算法的安全,使得用户无法随意调用可执行程序或者查看可执行程序对应的代码,在一定程度上提高可执行程序的安全性,防止可执行程序被恶意修改和破解,保证了企业数据服务器中的重要信息(企业某些业务的核心代码、算法等信息)不被泄露。
附图说明
图1为本发明实施例提供的企业数据服务器的保护方法流程图之一;
图2为本发明实施例提供的对可执行程序进行加壳处理的方法流程图之一;
图3为本发明实施例提供的企业数据服务器保护方法流程图之二;
图4为本发明实施例提供的对可执行程序进行加壳处理的方法流程图之二;
图5为本发明实施例提供的通过第二类加载器调用加壳后的java代码的方法流程图;
图6为本发明实施例提供的企业数据服务器的保护方法流程图之三;
图7为本发明实施例提供的企业数据服务器的保护装置示意图。
具体实施方式
下面结合附图和实施例对本发明提供的企业数据服务器的保护方法进行更详细地说明。
本发明实施例提供一种企业数据服务器的保护方法,如图1所示,包括:
步骤101,针对企业数据服务器中的各可执行程序,根据预设加壳规则,对所述可执行程序进行加壳处理。
具体的,预设的加壳规则可以为UPX(the Ultimate Packer for eXecutables,先进的可执行程序文件压缩器)加壳,即,对所述可执行程序进行UPX加壳处理。加壳后的可执行程序被保护起来,从而使可执行程序不容易被修改和破解。
步骤102,针对加壳后的所述可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的所述可执行程序还原为加壳前的可执行程序。
具体的,加壳后的可执行程序外添加了一层保护壳,之后访问加壳后的可执行程序时,需要通过与加壳后的可执行程序对应的类加载器访问该加壳后的可执行程序,本发明实施例根据,根据步骤101中预设的加壳规则,生成第一类加载器,该第一类加载器用于将加壳后的可执行程序还原为加壳前的可执行程序。
步骤103,确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口。
具体的,在运行加壳后的可执行程序时,需要将第一类加载器作为所述加壳后的可执行程序的入口,即先通过第一类加载器将加壳后的可执行程序还原为加壳前的可执行程序(源可执行程序),从而运行该可执行程序。
本发明实施例,通过对企业数据服务器中的可执行程序加壳,可执行程序对应的核心代码或者算法是不可见的,此时,即使非法用户进去企业数据服务器,也无法修改或窃取可执行程序的代码和算法,从而在一定程度上保证了企业数据服务器中的数据、核心代码算法的安全,使得用户无法随意调用可执行程序或者查看可执行程序对应的代码,在一定程度上提高可执行程序的安全性,防止可执行程序被恶意修改和破解,保证了企业数据服务器中的重要信息(企业某些业务的核心代码、算法等信息)不被泄露。
优选地,步骤101根据预设的加壳规则,对所述可执行程序进行加壳处理,如图2所示,具体包括:
步骤201,按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥。
具体的,第一加密算法可采用现有的加密算法,这里不针对加密算法进行详述。保存第一加密算法对应的第一密钥,用于对可执行程序进行解密。确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的第一密钥,加壳后的可执行程序被异常调用,有很大可能是非法人员在非法操作该可执行程序,因此,通过删除第一密钥的方式,使非法人员无法解密加密后的可执行程序,从而保证了可执行程序的安全。
步骤202,对加密后的所述可执行程序进行UPX加壳处理。
本发明实施例,针对可执行程序先加密后加壳,可提高可执行程序的安全性。
优选地,如图3所示,当所述可执行程序对应的代码为java代码时,进一步包括:
步骤301,对所述可执行程序进行加壳处理前,对可执行程序对应的java代码进行加壳处理。
具体的,在对可执行程序对应的文件加壳处理前,先对可执行程序对应的代码进行加壳处理,特别的,当可执行程序对应的代码为java代码时,对该java代码进行加壳处理。
步骤302,针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码。
步骤303,确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码。
具体的,第二类加载器用于在执行所述加壳后的java代码时,作为java代码的入口,将加壳后的java代码还原为加壳前的java代码,从而实现调用加壳后的java代码。
本发明实施例,对可执行程序加壳前,先对可执行程序对应的代码进行加壳处理,可进一步提高可执行程序的安全性。
优选地,步骤301对所述java代码进行加壳处理,如图4所示,具体包括:
步骤401,按照第二加密算法,对所述java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件。
第二加密算法可以与第一加密算法相同也可以不同,这里不做限定,第二加密算法可采用现有的加密算法,这里不做具体的加密算法进行阐述。
步骤402,修改加密后的所述jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
具体的,修改jar包的后缀名并将后缀名修改后的jar包的保存路径进行修改,由原来的类库文件路径修改到资源文件路径,从而可大大降低jar包被盗取和反编译的概率,其中,资源文件用户保存图片、视频等资源。
优选地,确定所述加壳后的java代码被异常调用时,删除所保存的加密过程中产生的第二密钥,加壳后的java代码被异常调用,有很大可能是非法人员在非法调用java代码,因此,通过删除第二密钥的方式,使非法人员无法解密加密后的java代码,从而保证了java代码的安全。
优选地,步骤302针对加壳后的java代码生成第二类加载器,具体包括:
针对加壳后的所述jar包生成第二类加载器,并将该第二类加载器保存到加密前的jar包所在的路径,即,保存到加密前的jar包所在的类库文件中;则步骤303通过所述第二类加载器调用所述加壳后的java代码,如图5所示,具体包括:
步骤501,通过所述第二类加载器从所述资源文件中查找所述加密后的jar包。
步骤502,确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密。
步骤503,确定解密成功后,通过所述第二类加载器调用所述解密后的jar包。
由本发明实施例可看出,第二类加载器用于根据第二密钥、以及加密后的jar包的文件名和保存路径查找到并解密加密后的java代码。本发明实施例中,当非法用户入侵时,只能获取第二类加载器,该第二类加载器不能直接运行,并且,非法用户并不知道对java代码所使用的加密算法,也不能知晓加密后的java的保存路径和文件名,这样可以在很大程度上增加非法用户反编译java代码的难度。优选地,对重要的java代码或用java代码编写的重要算法进行加壳处理。
进一步地,在对java代码进行加密前,对该java代码进行混淆,比如:将java代码中的各种变量、函数、类的名字改写成无意义的名字,提高阅读难度,重写代码中的部分逻辑,将其变成功能上等价但更难理解的形式。这样即使非法用户破译了加壳后的java代码,也无法理解java代码的具体内容。
优选地,如图6所示,本发明实施例提供的企业数据服务器的保护方法,还包括:
步骤601,实时监控所述企业数据服务器的CPU(Central Processing Unit,中央处理器)、硬盘、内存及I(INPUT,输入)/O(OUTPUT,输出)的运行状态。
步骤602,确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
具体的,实时监控运行或存储可执行程序的设备中的CPU、硬盘、内存及I/O的运行状态,确定该设备出现CPU的负载过重、内存满载、硬盘被替换以及I/O异常中的一种或几种情况时,发出告警。
由于非法人员在非法操作存储或运行可执行程序的设备(企业数据服务器)时,很有可能会导致该设备运行异常,因此,实时监控该设备的运行状态,当该设备的运行状态出现异常时,该设备可能被非法入侵,发出告警,以提醒维护人员对该设备以该设备中的可执行程序维护。
此外,还可通过以下方式保护企业数据服务器:
方式一:提供ACL(Access Control List,访问控制列表),关闭对外冗余接口,拒绝ACL控制表之外的非法网络协议IP地址访问可执行程序,具体包括:接收到用户的访问请求时,根据该请求中携带的源IP地址,进行ACL表匹配;确定在ACL表中匹配到用户的源IP地址时,允许该用户访问企业数据服务器;确定在ACL表中未匹配到用户的源IP地址时,不允许该用户访问企业数据服务器。
方式二:启用tcp_wrappers防火墙,外部访问企业数据服务器时,只能通过防火墙端口映射到企业数据服务器。
方式三:对I/O端口进行限制,输出端口仅供输出,输入端口仅供输入。
方式四:在企业数据服务器机箱上设置机箱锁,优选设置防拆锁,从而防止非法人员暴力拆解企业数据服务器。
方式五:企业数据服务器上不外接显示器、键盘、鼠标等,具体可在企业数据服务器上显示器、鼠标以及键盘对应的接口进行加锁,以实现企业数据服务器上不外接显示器、键盘、鼠标等目的,优选地,该企业数据服务器采用双电源,从而防止正在使用的电源故障时,自动切换到正常电源,并且,可在该企业数据服务器上设置多网口,以实现自动切换IP。进一步地,该企业数据服务器上可设置内置键盘和液晶显示器。
方式六,企业数据服务器使用安全外壳协议(SSH),拒绝telnet访问,并修改SSH的默认端口。
此外,还可通过以下方式保护企业数据服务器:
方式七,对输入企业数据服务器的消息的下行消息进行加密,保护输入企业服务器内的消息不会被截取。对企业数据服务器输出的上行消息,使用明文加密完整性校验机制,保障企业数据服务器输出的消息不会被篡改。
方式八,对企业数据服务器中存储的数据、文件等使用AES-256-CBC方式加密,一行一密,并且进行mac校验,对密文进行处理,增强容错能力。保护静态存储和处理过程的数据私密性要求,避免被恶意攻击者直接复制企业数据服务器中的数据或者文件,导致企业数据服务器中存储的数据泄露。
基于与本发明实施例提供的企业数据服务器的保护方法同样的发明构思,本发明实施例还提供一种企业数据服务器的保护装置,如图7所示,包括:
加壳单元701,用于针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对所述可执行程序进行加壳处理;
生成单元702,用于针对加壳后的所述可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的所述可执行程序还原为加壳前的可执行程序;
确定单元703,用于确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口。
所述装置中,所述加壳单元具体用于:
按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥;
对加密后的所述可执行程序进行先进的可执行程序文件压缩器UPX加壳处理。
所述装置,所述可执行程序对应的代码为java代码时,对所述可执行程序进行加壳处理前,
所述加壳单元还用于:对所述java代码进行加壳处理;
所述生成单元还用于:针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码;
所述确定单元,还用于确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码。
所述装置中,所述加壳单元在对所述java代码进行加壳处理时,具体用于:
按照第二加密算法,对所述java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件;
修改加密后的所述jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
所述装置中,所述生成单元在针对加壳后的java代码生成第二类加载器时,具体用于:
针对加壳后的所述jar包生成第二类加载器,并将第二类加载器保存到加密前的jar包所在的路径;
则所述确定单元在通过所述第二类加载器调用所述加壳后的java代码时,具体用于:
通过所述第二类加载器从所述资源文件中查找所述加密后的jar包;
确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密;
确定解密成功后,通过所述第二类加载器调用所述解密后的jar包。
所述装置,还包括:
监控单元704,实时监控所述企业数据服务器的中央处理器CPU、硬盘、内存及输入输出端口I/O的运行状态;确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
所述装置中,所述加壳单元还用于:确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的密钥。
利用本发明实施例提供的企业数据服务器的保护方法及装置,具有以下有益效果:通过对企业数据服务器中的可执行程序加壳,可执行程序对应的核心代码或者算法是不可见的,此时,即使非法用户进去企业数据服务器,也无法修改或窃取可执行程序的代码和算法,从而在一定程度上保证了企业数据服务器中的数据、核心代码算法的安全,使得用户无法随意调用可执行程序或者查看可执行程序对应的代码,在一定程度上提高可执行程序的安全性,防止可执行程序被恶意修改和破解,保证了企业数据服务器中的重要信息(企业某些业务的核心代码、算法等信息)不被泄露。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种企业数据服务器的保护方法,其特征在于,包括:
针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对所述可执行程序进行加壳处理;
针对加壳后的可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的可执行程序还原为加壳前的可执行程序;
确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口;
所述可执行程序对应的代码为java代码时,该方法进一步包括:
对所述可执行程序进行加壳处理前,对所述java代码进行加壳处理;
针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码;
确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码;
对所述java代码进行加壳处理,具体包括:
对所述java代码进行代码混淆;
按照第二加密算法,对代码混淆后的java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件;
修改加密后的jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
2.如权利要求1所述的方法,其特征在于,根据预设的加壳规则,对所述可执行程序进行加壳处理,具体包括:
按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥;
对加密后的所述可执行程序进行先进的可执行程序文件压缩器UPX加壳处理。
3.如权利要求1所述的方法,其特征在于,针对加壳后的java代码生成第二类加载器,具体包括:
针对加壳后的jar包生成第二类加载器,并将第二类加载器保存到加密前的jar包所在的路径;
则通过所述第二类加载器调用所述加壳后的java代码,具体包括:
通过所述第二类加载器从所述资源文件中查找所述加密后的jar包;
确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密;
确定解密成功后,通过所述第二类加载器调用解密后的jar包。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
实时监控所述企业数据服务器的中央处理器CPU、硬盘、内存及输入输出端口I/O的运行状态;
确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
5.如权利要求2-3任一所述的方法,其特征在于,确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的密钥。
6.一种企业数据服务器的保护装置,其特征在于,包括:
加壳单元,用于针对企业数据服务器中的各可执行程序,根据预设的加壳规则,对所述可执行程序进行加壳处理;
生成单元,用于针对加壳后的可执行程序生成第一类加载器,所述第一类加载器用于将加壳后的可执行程序还原为加壳前的可执行程序;
确定单元,用于确定运行所述加壳后的可执行程序时,将所述第一类加载器作为所述加壳后的可执行程序的入口;
所述可执行程序对应的代码为java代码时,对所述可执行程序进行加壳处理前,所述加壳单元还用于:
对所述java代码进行代码混淆;
对代码混淆后的java代码进行加壳处理;
所述生成单元还用于:针对加壳后的java代码生成第二类加载器,所述第二类加载器用于将加壳后的java代码还原为加壳前的java代码;
所述确定单元,还用于确定调用所述加壳后的java代码时,通过所述第二类加载器调用所述加壳后的java代码;
所述加壳单元在对所述java代码进行加壳处理时,具体用于:
按照第二加密算法,对所述java代码对应的jar包进行加密,并保存第二加密算法对应的第二密钥,所述jar包位于类库文件中且所述jar包为非公开类库文件;
修改加密后的jar包的后缀名,并将后缀名修改后的jar包保存到资源文件中。
7.如权利要求6所述的装置,其特征在于,所述加壳单元具体用于:
按照第一加密算法对所述可执行程序进行加密,并保存所述第一加密算法对应的第一密钥;
对加密后的所述可执行程序进行先进的可执行程序文件压缩器UPX加壳处理。
8.如权利要求6所述的装置,其特征在于,所述生成单元在针对加壳后的java代码生成第二类加载器时,具体用于:
针对加壳后的jar包生成第二类加载器,并将第二类加载器保存到加密前的jar包所在的路径;
则所述确定单元在通过所述第二类加载器调用所述加壳后的java代码时,具体用于:
通过所述第二类加载器从所述资源文件中查找所述加密后的jar包;
确定查找到所述加密后的jar包时,通过所述第二类加载器根据所述第二密钥对所述加密后的jar包进行解密;
确定解密成功后,通过所述第二类加载器调用解密后的jar包。
9.如权利要求6-8任一所述的装置,其特征在于,还包括:
监控单元,实时监控所述企业数据服务器的中央处理器CPU、硬盘、内存及输入输出端口I/O的运行状态;确定CPU、硬盘、内存及I/O的运行状态中至少一个运行状态出现异常时,发出告警。
10.如权利要求7-8任一所述的装置,其特征在于,所述加壳单元还用于:确定所述加壳后的可执行程序被异常调用时,删除所保存的加密过程中产生的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016936.4A CN106934256B (zh) | 2015-12-29 | 2015-12-29 | 一种企业数据服务器的保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511016936.4A CN106934256B (zh) | 2015-12-29 | 2015-12-29 | 一种企业数据服务器的保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106934256A CN106934256A (zh) | 2017-07-07 |
CN106934256B true CN106934256B (zh) | 2020-03-06 |
Family
ID=59441540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511016936.4A Active CN106934256B (zh) | 2015-12-29 | 2015-12-29 | 一种企业数据服务器的保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106934256B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360412A (zh) * | 2011-09-26 | 2012-02-22 | 飞天诚信科技股份有限公司 | Java源代码的保护方法和系统 |
CN102609666A (zh) * | 2012-01-20 | 2012-07-25 | 飞天诚信科技股份有限公司 | 一种可执行程序加壳保护方法 |
CN103530535A (zh) * | 2013-10-25 | 2014-01-22 | 苏州通付盾信息技术有限公司 | 一种Android平台应用程序保护的加脱壳方法 |
CN103745141A (zh) * | 2013-12-02 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 智能终端android系统中防止应用程序反编译的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218549B (zh) * | 2012-01-19 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种Java源代码加解密的方法及装置 |
CN103647636B (zh) * | 2013-12-31 | 2016-08-24 | 厦门市美亚柏科信息股份有限公司 | 安全访问数据的方法及装置 |
-
2015
- 2015-12-29 CN CN201511016936.4A patent/CN106934256B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360412A (zh) * | 2011-09-26 | 2012-02-22 | 飞天诚信科技股份有限公司 | Java源代码的保护方法和系统 |
CN102609666A (zh) * | 2012-01-20 | 2012-07-25 | 飞天诚信科技股份有限公司 | 一种可执行程序加壳保护方法 |
CN103530535A (zh) * | 2013-10-25 | 2014-01-22 | 苏州通付盾信息技术有限公司 | 一种Android平台应用程序保护的加脱壳方法 |
CN103745141A (zh) * | 2013-12-02 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 智能终端android系统中防止应用程序反编译的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106934256A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3387813B1 (en) | Mobile device having trusted execution environment | |
Mofrad et al. | A comparison study of Intel SGX and AMD memory encryption technology | |
CN103843303B (zh) | 虚拟机的管理控制方法及装置、系统 | |
Dwoskin et al. | Hardware-rooted trust for secure key management and transient trust | |
US9054865B2 (en) | Cryptographic system and methodology for securing software cryptography | |
CN105260663A (zh) | 一种基于TrustZone技术的安全存储服务系统及方法 | |
CN105827574B (zh) | 一种文件访问系统、方法及装置 | |
JP2004038939A (ja) | 対称鍵暗号化に基づくデータの保存および検索 | |
US20240031129A1 (en) | Data encryption method, data decryption method, terminal, and storage medium | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
CN104573549A (zh) | 一种可信的数据库机密性保护方法及系统 | |
CN107368737A (zh) | 一种防止拷贝攻击的处理方法、服务器及客户端 | |
CN110401538A (zh) | 数据加密方法、系统以及终端 | |
JP2019057167A (ja) | コンピュータプログラム、デバイス及び判定方法 | |
CN110765470A (zh) | 安全键盘实现方法、装置、计算机设备及存储介质 | |
CN108959943B (zh) | 用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆 | |
Brekalo et al. | Mitigating password database breaches with Intel SGX | |
CN109784072B (zh) | 一种安全文件管理方法和系统 | |
Mavrogiannopoulos et al. | A linux kernel cryptographic framework: decoupling cryptographic keys from applications | |
CN106934256B (zh) | 一种企业数据服务器的保护方法及装置 | |
Wang et al. | MobileGuardian: A security policy enforcement framework for mobile devices | |
CN114070548A (zh) | 一种基于软加密狗装置的软件版权加密保护方法 | |
CN111523129A (zh) | 一种基于tpm的数据泄漏防护方法 | |
EP3009952A1 (en) | System and method for protecting a device against attacks on procedure calls by encrypting arguments | |
WO2020087381A1 (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 |