CN104933332B - 一种防止软件被非法卸载的方法及装置 - Google Patents

一种防止软件被非法卸载的方法及装置 Download PDF

Info

Publication number
CN104933332B
CN104933332B CN201510316720.3A CN201510316720A CN104933332B CN 104933332 B CN104933332 B CN 104933332B CN 201510316720 A CN201510316720 A CN 201510316720A CN 104933332 B CN104933332 B CN 104933332B
Authority
CN
China
Prior art keywords
unloaded
software
unloading
code
uninstall
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
CN201510316720.3A
Other languages
English (en)
Other versions
CN104933332A (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.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp 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 Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN201510316720.3A priority Critical patent/CN104933332B/zh
Publication of CN104933332A publication Critical patent/CN104933332A/zh
Application granted granted Critical
Publication of CN104933332B publication Critical patent/CN104933332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种防止软件被非法卸载的方法,该方法包括:在获取到待卸载软件被卸载的外部信号时,检测待卸载软件进程是否存活;若所述卸载软件进程存活,则终止所述待卸载软件的卸载过程;若所述待卸载软件进程不存活,则检测所述待卸载软件的安装目录是否存在;若所述待卸载软件的安装目录存在,则终止所述待卸载软件的卸载过程。本发明还提供了一种防止软件被非法卸载的装置,包括第一检测单元、第二检测单元及终止卸载单元。本发明能够防止对Linux操作中系统中软件的非法或恶意卸载,尤其是具有root权限的非法或恶意卸载。

Description

一种防止软件被非法卸载的方法及装置
技术领域
本发明涉及计算机处理技术领域,尤其涉及一种防止软件被非法卸载的方法及装置。
背景技术
在Linux操作系统中,通常采用RedHat软件包管理工具(RedHat PackageManager,简称rpm)或者debian的方式来管理操作系统中的软件,为防止操作系统中的软件被非法卸载,通常需要超级用户(root)权限才能完成卸载。
然而,若通过病毒或木马获取到root权限,或当管理员使用root权限操作不当时,将会导致系统中的软件被轻易卸载,尤其是对于操作系统中的关键软件。如此,给操作系统带来了重大的安全隐患。
发明内容
针对现有技术的缺陷,本发明提供一种防止软件被非法卸载的方法及装置,以防止对Linux操作中系统中软件的非法或恶意卸载,尤其是具有root权限的非法或恶意卸载。
第一方面,本发明提供了一种防止软件被非法卸载的方法,所述方法包括:
在获取到待卸载软件被卸载的外部信号时,检测所述待卸载软件进程是否存活;
若所述卸载软件进程存活,则确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;
若所述待卸载软件进程不存活,则检测所述待卸载软件的安装目录是否存在;
若所述待卸载软件的安装目录存在,则确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程。
优选地,所述检测待卸载软件进程是否存活的步骤之前,该方法还包括:
采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
优选地,所述检测待卸载软件进程是否存活的步骤之前,该方法还包括:
采用安全删除技术保护所述安装目录。
优选地,在获取待卸载软件自身的卸载信号时,所述方法还包括:
展示使用户输入第一卸载码的数据输入框;
接收用户通过所述数据输入框输入的第一卸载码;
将所述第一卸载码与第二卸载码进行匹配,其中,所述第二卸载码为根据序列号加密生成的卸载码;
若所述第一卸载码与所述第二卸载码一致,则向软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护;
执行卸载命令,删除所述安装目录。
优选地,所述展示使用户输入第一卸载码的数据输入框的步骤前,所述方法还包括:
根据操作系统信息生成序列号;
通过加密算法对所述序列号进行加密,得到第二卸载码。
优选地,所述将所述第一卸载码与第二卸载码进行匹配的步骤之后,所述方法还包括:
若所述第二卸载码与所述第一卸载码不一致,则更新所述序列号,重新执行所述通过加密算法对所述序列号进行加密,得到第二卸载码的步骤。
第二方面,本发明提供了一种防止软件被非法卸载的装置,所述装置包括:
第一检测单元,用于在获取到待卸载软件被卸载的外部信号时,检测待卸载软件进程是否存活;
第二检测单元,用于当所述待卸载软件进程不存活时,检测所述待卸载软件的安装目录是否存在;
终止卸载单元,用于当所述卸载软件进程存活时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;当所述待卸载软件进程不存活,且所述待卸载软件的安装目录存在时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程。
优选地,所述装置还包括:
屏蔽单元,用于采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
优选地,所述装置还包括:
保护单元,用于采用安全删除技术保护所述安装目录。
优选地,所述装置还包括卸载单元,具体用于:
展示使用户输入第一卸载码的数据输入框;
接收用户通过所述数据输入框输入的第一卸载码;
将所述第一卸载码与第二卸载码进行匹配,其中,所述第二卸载码为根据序列号加密生成的卸载码;
若所述第一卸载码与所述第二卸载码一致,则向软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护;
执行卸载命令,删除所述安装目录。
优选地,所述卸载单元,还用于:
根据操作系统信息生成序列号;
通过加密算法对所述序列号进行加密,得到第二卸载码。
优选地,所述卸载单元,还用于:
若所述第二卸载码与所述第一卸载码不一致,则更新所述序列号,此时,卸载单元还用于执行所述通过加密算法对所述序列号进行加密,得到第一卸载码的步骤。
由上述技术方案可知,本发明提供一种防止软件被非法卸载的方法及装置,通过检测待卸载软件进程及软件安装目录,来判断是否终止待卸载软件的卸载过程,能够有效地防止对Linux操作中系统中软件的非法或恶意卸载,尤其是具有root权限的非法或恶意卸载。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1是本发明一实施例提供的一种防止软件被非法卸载的方法的流程示意图;
图2是本发明另一实施例提供的一种软件正常卸载的流程示意图;
图3是本发明一实施例提供的一种防止软件被非法卸载的装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
如图1所示,为本公开一实施例提供的一种防止软件被非法卸载的方法,该方法包括如下步骤:
S101:在获取到待卸载软件被卸载的外部信号时,检测待卸载软件进程是否存活,若所述卸载软件进程存活,则转至步骤S103,若所述待卸载软件进程不存活,则转至步骤S102。
具体来说,检测待卸载软件进程是否存活,即为检测待卸载软件是否正在运行。
S102:若所述待卸载软件进程不存活,则检测所述待卸载软件的安装目录是否存在。
具体来说,软件进程不存活表明软件没有运行,则进一步检测软件的安装目录是否存在。
S103:确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程。
具体来说,若软件进程存活表明软件正在运行,由此可见,此时的卸载过程为恶意或非法卸载,因此终止待卸载软件当前的卸载过程。
若待卸载软件进程不存活,且待卸载软件的安装目录存在,则此时的卸载过程为恶意或非法卸载,因此需终止待卸载软件的卸载过程。若待卸载软件的安装目录不存在,则不需终止待卸载软件的卸载过程,继续对该软件进行卸载。
由此可见,若卸载软件进程是否存活,或者卸载软件的安装目录存在时,终止待卸载软件当前的卸载过程。
需要说明的是,将上述步骤S101至S103作为防卸载脚本添加在安装包的卸载前脚本中。
由此可见,本实施例提供了一种防止软件被非法卸载的方法,通过检测待卸载软件进程及软件安装目录,来判断是否终止待卸载软件的卸载过程,能够有效地防止对Linux操作中系统中软件的非法或恶意卸载,尤其是针对具有root权限的非法或恶意卸载。当用户试图使用非软件自身携带的卸载工具进行卸载操作时将被拒绝。
由于本实施例是根据软件进程及软件安装目录两个方面的检测,来防止软件被恶意或非法卸载,而为了上述两个方面检测结果的准确性,则需要预先对软件进程和安装目录进行保护。
因此,本实施例中,步骤S101之前,该方法还包括如下步骤:
采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
本实施例中,步骤S101之前,该方法还包括如下步骤:
采用安全删除技术保护所述安装目录。
由此可见,通过上述步骤对软件进程和安装目录进行保护,防止外部信号使软件进程终止,防止安装目录被非法删除。
本实施例中,如图2所示,当获取待卸载软件自身的卸载信号时,则对待卸载软件进行正常卸载的过程包括如下步骤:
S201:根据操作系统信息生成序列号;
其中,可根据操作系统硬件信息生成序列号,也可随机生成序列号。
S202:通过加密算法对所述序列号进行加密,得到第二卸载码;
S203:展示使用户输入第一卸载码的数据输入框;
S204:接收用户通过所述数据输入框输入的第一卸载码;
S205:将第一卸载码与第二卸载码进行匹配,即判断第一卸载码与第二卸载码是否一致,若第一卸载码与第二卸载码一致,则转至步骤S206,否则更新序列号,并转至步骤S202;
本步骤中,用户在卸载界面输入第一卸载码。则当第一卸载码与第二卸载码不一致时,随机更新序列号,并转至步骤S202更新第二卸载码,而且提示用户卸载码输入错误,使用户重新输入卸载码。
S206:向待卸载软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护。
本步骤中,结束待卸载软件进程,并取消对安装目录的保护,以使安装目录能够被删除。
S207:执行卸载命令,删除所述安装目录。
需要说明的是,本实施例提供的防止软件被卸载的方法可使用图形界面的方式为用户提供卸载支持。
如图3所示,为本发明一实施例提供了一种防止软件被非法卸载的装置的结构示意图,所述装置包括第一检测单元301、第二检测单元302及终止卸载单元303。其中:
第一检测单元301,用于在获取到待卸载软件被卸载的外部信号时,检测待卸载软件进程是否存活。
第二检测单元302,用于当所述待卸载软件进程不存活时,检测所述待卸载软件的安装目录是否存在;
终止卸载单元303,用于当所述卸载软件进程存活时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;当所述待卸载软件进程不存活,且所述待卸载软件的安装目录存在时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程。
本实施例中,所述装置还包括:
屏蔽单元,用于采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
本实施例中,所述装置还包括:
保护单元,用于采用安全删除技术保护所述安装目录。
本实施例中,所述装置还包括卸载单元,具体用于:
展示使用户输入第一卸载码的数据输入框;
接收用户通过所述数据输入框输入的第一卸载码;
将所述第一卸载码与第二卸载码进行匹配,其中,所述第二卸载码为根据序列号加密生成的卸载码;
若所述第一卸载码与所述第二卸载码一致,则向软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护;
执行卸载命令,以删除所述安装目录。
本实施例中,所述卸载单元,还用于:
根据操作系统信息生成序列号;
通过加密算法对所述序列号进行加密,得到第二卸载码。
本实施例中,所述卸载单元,还用于:
若所述第一卸载码与所述第二卸载码不一致,则更新所述序列号,此时,卸载单元还用于执行所述通过加密算法对所述序列号进行加密,得到第二卸载码的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
应当注意的是,在本公开的系统的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本公开不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。
本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的系统中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上实施方式仅适于说明本公开,而并非对本公开的限制,有关技术领域的普通技术人员,在不脱离本公开的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本公开的范畴,本公开的专利保护范围应由权利要求限定。

Claims (8)

1.一种防止软件被非法卸载的方法,其特征在于,所述方法包括:
在获取到待卸载软件被卸载的外部信号时,检测所述待卸载软件进程是否存活;
若所述卸载软件进程存活,则确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;
若所述待卸载软件进程不存活,则检测所述待卸载软件的安装目录是否存在;
若所述待卸载软件的安装目录存在,则确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;其中,
在所述检测待卸载软件进程是否存活的步骤之前,采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
2.根据权利要求1所述的方法,其特征在于,在获取待卸载软件自身的卸载信号时,所述方法还包括:
展示使用户输入第一卸载码的数据输入框;
接收用户通过所述数据输入框输入的第一卸载码;
将所述第一卸载码与第二卸载码进行匹配,其中,所述第二卸载码为根据序列号加密生成的卸载码;
若所述第一卸载码与所述第二卸载码一致,则向软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护;
执行卸载命令,删除所述安装目录。
3.根据权利要求2所述的方法,其特征在于,所述展示使用户输入第一卸载码的数据输入框的步骤前,所述方法还包括:
根据操作系统信息生成序列号;
通过加密算法对所述序列号进行加密,得到第二卸载码。
4.根据权利要求2所述的方法,其特征在于,所述将所述第一卸载码与第二卸载码进行匹配的步骤之后,所述方法还包括:
若所述第一卸载码与所述第二卸载码不一致,则更新所述序列号,重新执行所述通过加密算法对所述序列号进行加密,得到第二卸载码的步骤。
5.一种防止软件被非法卸载的装置,其特征在于,所述装置包括:
第一检测单元,用于在获取到待卸载软件被卸载的外部信号时,检测待卸载软件进程是否存活;
第二检测单元,用于当所述待卸载软件进程不存活时,检测所述待卸载软件的安装目录是否存在;
终止卸载单元,用于当所述卸载软件进程存活时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;当所述待卸载软件进程不存活,且所述待卸载软件的安装目录存在时,确定所述待卸载软件的卸载过程为非法卸载过程,以及终止所述待卸载软件的卸载过程;
屏蔽单元,用于采用钩子技术屏蔽进程终止信号,防止所述软件进程被外部信号终止。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括卸载单元,具体用于:
展示使用户输入第一卸载码的数据输入框;
接收用户通过所述数据输入框输入的第一卸载码;
将所述第一卸载码与第二卸载码进行匹配,其中,所述第二卸载码为根据序列号加密生成的卸载码;
若所述第一卸载码与所述第二卸载码一致,则向软件进程发送结束信号以使进程结束,并取消对所述安装目录的保护;
执行卸载命令,删除所述安装目录。
7.根据权利要求6所述的装置,其特征在于,所述卸载单元,还用于:
根据操作系统信息生成序列号;
通过加密算法对所述序列号进行加密,得到第二卸载码。
8.根据权利要求6所述的装置,其特征在于,所述卸载单元,还用于:
若所述第一卸载码与所述第二卸载码不一致,则更新所述序列号,此时,卸载单元还用于执行所述通过加密算法对所述序列号进行加密,得到第二卸载码的步骤。
CN201510316720.3A 2015-06-10 2015-06-10 一种防止软件被非法卸载的方法及装置 Active CN104933332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510316720.3A CN104933332B (zh) 2015-06-10 2015-06-10 一种防止软件被非法卸载的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510316720.3A CN104933332B (zh) 2015-06-10 2015-06-10 一种防止软件被非法卸载的方法及装置

Publications (2)

Publication Number Publication Date
CN104933332A CN104933332A (zh) 2015-09-23
CN104933332B true CN104933332B (zh) 2018-07-13

Family

ID=54120497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510316720.3A Active CN104933332B (zh) 2015-06-10 2015-06-10 一种防止软件被非法卸载的方法及装置

Country Status (1)

Country Link
CN (1) CN104933332B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203084B (zh) * 2016-06-29 2019-05-10 珠海豹趣科技有限公司 一种卸载软件的处理方法、装置及电子设备
CN106529290B (zh) * 2016-10-11 2020-02-18 北京金山安全软件有限公司 一种恶意软件防护方法、装置以及电子设备
CN115469940A (zh) * 2022-07-29 2022-12-13 天翼云科技有限公司 软件服务的处理方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662667A (zh) * 2012-03-31 2012-09-12 奇智软件(北京)有限公司 一种软件卸载方法及装置
CN103383719A (zh) * 2012-05-02 2013-11-06 腾讯科技(深圳)有限公司 卸载程序的方法和设备
CN104133752A (zh) * 2013-06-25 2014-11-05 腾讯科技(深圳)有限公司 操作平台的监控方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7559091B2 (en) * 2004-06-12 2009-07-07 Microsoft Corporation Software obfuscation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662667A (zh) * 2012-03-31 2012-09-12 奇智软件(北京)有限公司 一种软件卸载方法及装置
CN103383719A (zh) * 2012-05-02 2013-11-06 腾讯科技(深圳)有限公司 卸载程序的方法和设备
CN104133752A (zh) * 2013-06-25 2014-11-05 腾讯科技(深圳)有限公司 操作平台的监控方法和装置

Also Published As

Publication number Publication date
CN104933332A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
US9824217B2 (en) Runtime detection of self-replicating malware
US9798879B2 (en) Apparatus, system, and method for protecting against keylogging malware
KR101692817B1 (ko) 손상된 소프트웨어의 치료
KR101657191B1 (ko) 소프트웨어 보호 메커니즘
CN102855274B (zh) 一种可疑进程检测的方法和装置
CN102651060B (zh) 一种漏洞检测的方法和系统
Zhang et al. Efficient, context-aware privacy leakage confinement for android applications without firmware modding
US9015829B2 (en) Preventing and responding to disabling of malware protection software
CN104205045B (zh) 用于提供操作系统有效载荷的方法、装置、以及系统
TWI791418B (zh) 用以檢測運作時期所產生碼中之惡意碼的系統及方法、與相關電腦程式產品
EP2317454A2 (en) Providing authenticated anti-virus agents a direct access to scan memory
WO2010123565A1 (en) System and method for protecting against malware utilizing key loggers
CN104933332B (zh) 一种防止软件被非法卸载的方法及装置
CN106845223B (zh) 用于检测恶意代码的方法和装置
WO2016019893A1 (zh) 应用安装的方法和装置
WO2017107896A1 (zh) 一种文档防护方法及装置
JP2019521400A (ja) 推測的なエクスプロイトの試みの検出
CN106844097A (zh) 一种针对恶意加密软件的防护方法及装置
CN107466031A (zh) 一种保护数据的方法及终端
CN107145781A (zh) 一种对应用程序进行安全检测的方法及装置
US11200317B2 (en) Systems and methods for protecting a computing device against malicious code
CN106687979A (zh) 交叉视图恶意软件检测
CN104915594B (zh) 应用程序运行方法及装置
CN107980133A (zh) 暂时进程特权解除
US10853492B2 (en) Systems and methods for protecting a computing device against malicious code

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