Disclosure of Invention
The embodiment of the application provides a software detection method, a device and a storage medium, and aims to solve the technical problems that due to the fact that software is installed on terminal equipment at will, the software of the terminal equipment has use risks and economic losses are easily caused to enterprises.
The embodiment of the application provides a software detection method, which comprises the following steps:
acquiring installation information of installed software, wherein the installation information comprises the installed software information and equipment information of a terminal where the installed software is located;
comparing the installed software information with software information stored in a preset blacklist;
marking violation markers on the installed software when the installed software information is the same as the software information;
and/or marking violation marks on the installed software when the installed software information is different from the software information and the installed software information does not match with the software information associated with the equipment information.
In one embodiment, different device information is associated with different software information.
In an embodiment, before the step of obtaining the installation information of the installed software, the method further includes:
when a software installation approval request is received, acquiring equipment information for sending the software installation approval request and software information to be approved in the software installation approval request;
and when the information of the software to be examined and approved passes the examination and approval, associating the equipment information with the information of the software to be examined and approved.
In an embodiment, after the step of marking a violation marker on the installed software when the installed software information is not the same as the software information and the installed software information does not match with the software information associated with the device information, the method further includes:
outputting an installation application prompt to a terminal for installing the installed software, wherein the installation application prompt is used for prompting a user whether to subsidize an installation application for installing the installed software;
when an installation application triggered based on the application installation prompt is received, a post-supplement installation approval request is generated according to the installed software information and the equipment information;
and when an approval failure response triggered based on the post-complementation installation approval request is received, keeping an illegal mark for marking an illegal mark on the installed software.
In an embodiment, after the step of generating an approval request according to the installed software information and the device information when receiving the installation application triggered based on the application installation prompt, the method further includes:
and when an approval passing response triggered based on the post-complementation installation approval request is received, associating the equipment information in the approval request with the installed software information, and canceling the violation marks marked on the installed software.
In one embodiment, after the step of marking violation markers on the installed software, the method further comprises:
acquiring the installation quantity of the installed software which has the same installed software information and marks the violation marks;
and when the installation number is larger than a set value, associating the installed software information of the installed software marking the violation mark with the equipment information of the terminal where the installed software marking the violation mark is located.
In one embodiment, after the step of marking violation markers on the installed software, the method further comprises:
acquiring user information according to the equipment information of the terminal where the installed software marked with the violation marker is located;
acquiring a communication account of the user according to the user information;
and sending violation notification information to the communication account of the user.
In one embodiment, after the step of marking violation markers on the installed software, the method further comprises:
acquiring the total quantity of the installed software marked with the violation marks in each terminal;
generating a user notification list according to the user information, the equipment information, the installed software information and the total number;
and generating a violation software notification list according to the installed software marked with the violation mark and the total number.
In addition, to achieve the above object, the present invention further provides a software detection apparatus including: the software detection method comprises a memory, a processor and a software detection program which is stored on the memory and can run on the processor, wherein the software detection program realizes the steps of the software detection method when being executed by the processor.
In addition, to achieve the above object, the present invention also provides a storage medium having a software detection program stored thereon, which when executed by a processor, implements the steps of the software detection method described above.
The technical scheme of the software detection method, the software detection device and the storage medium provided by the embodiment of the application at least has the following technical effects or advantages:
the method comprises the steps of acquiring the installed software information of the installed software and the equipment information of the terminal; the method comprises the steps of comparing installed software information with software information stored in a preset blacklist, marking violation marks on the installed software when the installed software information is the same as the software information, and/or marking the violation marks on the installed software when the installed software information is different from the software information and the software information related to the installed software information is not matched with the software information related to the equipment information.
Detailed Description
For a better understanding of the above technical solutions, exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As shown in fig. 1, fig. 1 is a schematic structural diagram of a hardware operating environment according to an embodiment of the present invention.
It should be noted that fig. 1 is a schematic structural diagram of a hardware operating environment of the software detection device.
As shown in fig. 1, the software detecting apparatus may include: a processor 1001, such as a CPU, a memory 1005, a user interface 1003, a network interface 1004, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Those skilled in the art will appreciate that the software detection apparatus configuration shown in FIG. 1 is not intended to be limiting of software detection apparatus and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, a memory 1005, which is a storage medium, may include therein an operating system, a network communication module, a user interface module, and a software detection program. Among them, the operating system is a program that manages and controls the software detection device hardware and software resources, the software detection program, and the execution of other software or programs.
In the software detection apparatus shown in fig. 1, the user interface 1003 is mainly used for connecting a terminal and performing data communication with the terminal; the network interface 1004 is mainly used for the background server and performs data communication with the background server; the processor 1001 may be used to invoke a software detection program stored in the memory 1005.
In this embodiment, the software detection apparatus includes: a memory 1005, a processor 1001, and a software detection program stored on the memory 1005 and executable on the processor, wherein:
when the processor 1001 calls the software detection program stored in the memory 1005, the following operations are performed:
acquiring installation information of installed software, wherein the installation information comprises the installed software information and equipment information of a terminal where the installed software is located;
comparing the installed software information with software information stored in a preset blacklist;
marking violation markers on the installed software when the installed software information is the same as the software information;
and/or marking violation marks on the installed software when the installed software information is different from the software information and the installed software information does not match with the software information associated with the equipment information.
Different device information is associated with different software information.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
when a software installation approval request is received, acquiring equipment information for sending the software installation approval request and software information to be approved in the software installation approval request;
and when the information of the software to be examined and approved passes the examination and approval, associating the equipment information with the information of the software to be examined and approved.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
outputting an installation application prompt to a terminal for installing the installed software, wherein the installation application prompt is used for prompting a user whether to subsidize an installation application for installing the installed software;
when an installation application triggered based on the application installation prompt is received, a post-supplement installation approval request is generated according to the installed software information and the equipment information;
and when an approval failure response triggered based on the post-complementation installation approval request is received, keeping an illegal mark for marking an illegal mark on the installed software.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
and when an approval passing response triggered based on the post-complementation installation approval request is received, associating the equipment information in the approval request with the installed software information, and canceling the violation marks marked on the installed software.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
acquiring the installation quantity of the installed software which has the same installed software information and marks the violation marks;
and when the installation number is larger than a set value, associating the installed software information of the installed software marking the violation mark with the equipment information of the terminal where the installed software marking the violation mark is located.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
acquiring user information according to the equipment information of the terminal where the installed software marked with the violation marker is located;
acquiring a communication account of the user according to the user information;
and sending violation notification information to the communication account of the user.
When the processor 1001 calls the software detection program stored in the memory 1005, the following operations are also performed:
acquiring the total quantity of the installed software marked with the violation marks in each terminal;
generating a user notification list according to the user information, the equipment information, the installed software information and the total number;
and generating a violation software notification list according to the installed software marked with the violation mark and the total number.
While a logical order is shown in the flow chart, in some cases, the steps shown or described may be performed in an order different than presented herein.
As shown in fig. 2, in a first embodiment of the present application, a software detection method of the present application includes the following steps:
step S210: acquiring installation information of the installed software.
In this embodiment, the installed software refers to software already installed on a terminal, and the terminal is a device capable of loading software, such as a computer. The installation information includes installed software information and device information of a terminal where the installed software is located, for example, the terminal is a computer, a 360 browser, a dog music, a CAD and the like are installed in the computer, the 360 browser, the dog music, the CAD and the like are all installed software in the desktop computer, the installed software information can be understood as software information of each software in the 360 browser, the dog music, the CAD and the like, and for example, the software information of the 360 browser includes a software name, a version number, a software score and the like. The device information includes a MAC address, a device number, and the like of the terminal. For example, an enterprise has a computer for each employee, and each computer has a unique computer number.
Specifically, the installation information of all installed software on each device is obtained at regular time according to the set time, for example, if there are 20 computers currently, the computer numbers of the 20 computers are obtained, and the installed software information is obtained from the control panel of each computer at the same time, or the installed software information can be obtained from the shortcut of software on the desktop of the computer, that is, the installation path of the software is obtained according to the shortcut of the software, and then the installed software information is obtained through the installation path.
Step S220: and comparing the installed software information with software information stored in a preset blacklist.
Step S230: marking violation markers on the installed software when the installed software information is the same as the software information. And/or the presence of a gas in the gas,
step S240: and marking violation marks on the installed software when the installed software information is different from the software information and the installed software information does not match with the software information associated with the equipment information.
In the embodiment, a preset white list, a preset black list and a preset controlled list are preset, and the preset white list, the preset black list and the preset controlled list are all used for storing corresponding software and software information. The software stored in the preset white list is software which is allowed to be installed after being verified by an enterprise in advance, and if the installed software information of the acquired installed software is the same as the software information stored in the preset white list, the acquired installed software can be normally reserved in a terminal where the installed software is located, and an employee can normally use the installed software and cannot be marked as illegal software.
The preset blacklist stores software which is not allowed to be installed by the enterprise and software information, and the software is identified as software with installation risk through prior verification. For ease of understanding, the software information stored in the preset blacklist is referred to as comparison software information. If the software belonging to the preset blacklist is installed, the computer of the enterprise may be remotely monitored by a lawbreaker through the installed software, invaded by virus, and the like. Therefore, after the installed software information of all installed software on each device is acquired at regular time according to the set time, the installed software information of each installed software is compared with the comparison software information stored in the preset blacklist, if the installed software information of any installed software is the same as the comparison software information stored in the preset blacklist, the installed software corresponding to the installed software information which is the same as the comparison software information is determined to be software which is not allowed to be installed by an enterprise, and further a violation mark is marked on the installed software, namely the installed software corresponding to the installed software information which is the same as the comparison software information is marked as violation software. For example, the acquired installed software information of the 1 st installed software includes: software name is a2, version number is 2.0, software score is 4.5; the comparison software information of the 2 nd software stored in the preset blacklist comprises the following steps: the software name is a2, the version number is 2.0, and the software score is 4.5. The installed software information of the 1 st installed software is compared with the comparison software information stored in the preset blacklist, the installed software information of the 1 st installed software is determined to be the same as the comparison software information of the 2 nd software stored in the preset blacklist, and then the obtained 1 st installed software is marked as illegal software.
The preset controlled list stores equipment information and software information, and each piece of equipment information is associated with at least one piece of software information. The software information associated with different pieces of device information is different, or different pieces of device information may be associated with the same piece of software information. And when the acquired installed software information of the installed software is different from the comparison software information stored in the preset blacklist, matching the software information stored in the preset controlled list with the installed software information, and if the software information stored in the preset controlled list is different from the installed software information, determining that the software information stored in the preset controlled list is not matched with the installed software information, and marking the acquired installed software as illegal software. Or if the software information stored in the preset controlled list contains the software information which is the same as the installed software information, judging whether the equipment information related to the software information which is the same as the installed software information is the same as the equipment information of the installed software, and if the equipment information is different from the equipment information of the installed software, marking the acquired installed software as illegal software. Or, if one piece of device information stored in the preset controlled list is the same as the device information of the installed software, judging whether the software information associated with the device information stored in the preset controlled list is the same as the installed software information of the installed software, if so, determining that the installed software information of the installed software is not matched with the software information associated with the device information stored in the preset controlled list, and further marking a violation mark on the installed software, namely marking the installed software as the violation software. It should be understood that after the violation markers are marked on the installed software, the installed software with the violation markers is the offending software. If the software information stored in the preset controlled list is the same as the installed software information, and the device information associated with the software information is the same as the device information of the terminal where the installed software is located, it indicates that the installed software can be normally reserved in the terminal where the installed software is located, and the employee can normally use the software and cannot be marked as illegal software.
According to the technical scheme, the software installed in the terminal is subjected to illegal installation check, the software installed in a illegal way can be checked, and risks brought to enterprises due to the fact that the software is installed randomly are reduced.
Further, before the step of acquiring the installation information of the installed software in step S210, the method further includes:
when a software installation approval request is received, acquiring equipment information for sending the software installation approval request and software information to be approved in the software installation approval request; and when the information of the software to be examined and approved passes the examination and approval, associating the equipment information with the information of the software to be examined and approved.
It should be noted that, if an employee needs to install a certain software to be approved in his or her own computer, a software installation approval request needs to be provided in advance, where the software installation approval request includes software information of the software to be installed and device information of his or her own computer, the software information of the software to be installed is to-be-approved software information, and after the software installation approval request passes the approval, the device information of the employee computer that provided the software installation approval request is associated with the to-be-approved software information and is stored in a preset controlled list. For example, after the employee a submits a software installation approval request for installing the software B through a computer with the serial number No.12, the software B is approved, the software information of the software B is the information M, and the No.12 is stored in a preset controlled list after being associated with the information M. When the installed software on each terminal is subjected to violation detection, the information M is obtained from the computer with the obtained number of NO.12, and because the information M related to NO.12 exists in the preset controlled list, the software B cannot be marked as violation software, namely, the employee A can normally use the software B.
As shown in fig. 3, in the second embodiment of the present application, the following steps are further included after step S240:
step S241: and outputting an installation application prompt to a terminal for installing the installed software.
Step S242: and when an installation application triggered based on the application installation prompt is received, generating a post-supplement installation approval request according to the installed software information and the equipment information.
Step S243: and when an approval failure response triggered based on the post-complementation installation approval request is received, keeping marking violation marks on the installed software.
Step S244: and when an approval passing response triggered based on the post-complementation installation approval request is received, associating the equipment information in the approval request with the installed software information, and canceling the violation marks marked on the installed software.
In this embodiment, after all installed software is obtained and violation software is marked, an installation application prompt is output to a terminal where the installed software that is installed as the violation software is located, where the installation application prompt is used to prompt a user whether to subsidize an installation application for installing the installed software. For example, if the installed software C in the computer with the serial number No.15 is illegal software and the installed software information is information N, an installation application prompt is output to the computer with the serial number No.15, and if the employee corresponding to the computer with the serial number No.15 triggers an installation application, a post-supplement installation approval request is generated according to the information N and No. 15.
And the post-supplement installation approval request is sent to the background end, a manager approves the installed software C based on the information N in the post-supplement installation approval request, if the installed software C is not approved, the approval failure response is triggered, and the violation mark marked on the installed software C is kept, namely the installed software C is still the violation software. And if the installed software C passes the approval, triggering an approval response, associating the information N in the approval request with the NO.15, storing the information N in the approval request to a preset controlled list, and simultaneously canceling the violation marks marked on the installed software C, namely the installed software C is not the violation software any more, and acquiring the installed software C from the computer with the serial number of NO.15 next time, wherein the installed software C cannot be marked as the violation software.
As shown in fig. 4, in the third embodiment of the present application, the following steps are further included after step S240:
step S251: acquiring the installation quantity of the installed software which has the same installed software information and marks the violation marks;
step S252: and when the installation number is larger than a set value, associating the installed software information of the installed software marking the violation mark with the equipment information of the terminal where the installed software marking the violation mark is located.
And if the installation number is greater than the set value, which indicates that the use requirement of the installed software which has the same installed software information and is marked with the violation marks by the staff is larger, the violation software can be stored to a preset controlled list as approved software. For example, the set value is 15, the installed software D is installed in 20 computers in all the installed software, the current installation number of the installed software D is 20, and the current installation number is greater than the set value, the computer numbers of the computers of the installed software D are all associated with the installed software information of the installed software D, and are stored in the preset controlled list. When the installed software D is acquired from the 20 computers next time, the installed software D in each computer is not marked as illegal software.
As shown in fig. 5, in the fourth embodiment of the present application, the following steps are further included after step S240:
step S261: and acquiring user information according to the equipment information of the terminal where the installed software marked with the violation mark is located.
Step S262: and acquiring the communication account of the user according to the user information.
Step S263: and sending violation notification information to the communication account of the user.
In this embodiment, after the enterprise allocates a computer to each employee, the device information of the computer is bound with the user information of the employee, for example, the computer label of the computer is bound with the user information of the employee. The user information comprises user name, gender, contact information and the like, and the user information of the staff can be obtained through the equipment information of the computer.
And after carrying out violation check on all the acquired installed software, acquiring all the installed software marked as violation software, acquiring user information of the employee according to the equipment information of the terminal where the violation software is located, and then acquiring a communication account of the employee according to the user information. For example, the contact information in the user information includes a phone number, a mailbox, and the like, and the communication account may be a mailbox account, a phone number, a micro signal obtained through the phone number, or a QQ number, and the like. After the communication account of the employee is obtained, a violation notification message is sent to the communication account of the employee, the violation notification message is used for notifying the employee that certain software installed in the computer of the employee belongs to violation software, and if the installed software marked as the violation software belongs to a preset blacklist, the employee is notified that the software enterprise does not allow installation; if the installed software marked as the illegal software does not belong to the preset controlled list, the employee is informed that the software needs to be approved to be installed.
As shown in fig. 6, in the fifth embodiment of the present application, the following steps are further included after step S240:
step S271: acquiring the total quantity of the installed software marked with the violation marks in each terminal.
Step S272: and generating a user notification list according to the user information, the equipment information, the installed software information and the total number.
Step S273: and generating a violation software notification list according to the installed software marked with the violation mark and the total number.
In this embodiment, after violation detection is performed on all the acquired installed software, the total number of the illegal software installed on each terminal is acquired, and then a user notification list is generated according to the user information, the device information, the installed software information, and the total number of the illegal software of each terminal. The user notification list includes the set time of each day, each week and the like, how many illegal software are installed in the terminal of the employee, what each illegal software is, and the number of illegal software installed in the terminal of the employee can be sorted according to the number, for example, the first ten illegal software are taken for display.
Further, a rule violation software notification list is generated according to the rule violation software and the total number of the rule violation software, wherein the rule violation software notification list can comprise the installation number of each rule violation software every day and the installation number of all rule violation software every day, such as the first ten rule violation software are respectively taken for display; the illegal software notification list can also comprise the installation trend of the illegal software in a set time period of each week, each month and the like, and the installation trend is displayed by a discount graph; the illegal software notification list can also comprise all classifications of illegal software, the illegal software with the same type is divided, and then the classified illegal software is displayed. Therefore, the illegal software can be conveniently checked by enterprises and disposed of staffs installing the illegal software.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It should be noted that in the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.