Techniques for detecting publication of private links
By performing web searches and analysis on the generated list of links on a computing device, the problem of unauthorized publication of private file links on the Internet was solved, thus achieving secure protection and management of private files.
Patent Information
- Application Number
- CN202080061836.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-06
- Filing Date
- 2020-06-17
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2040-06-17
AI Technical Summary
Existing technologies are insufficient to effectively detect and prevent the unauthorized publication of private file links on the Internet, leading to potential security threats.
By enabling web searches of the generated list of links on computing devices, the search results are analyzed to determine whether a link has been published, and corresponding reports are generated or remedial measures are taken, such as disabling the link or generating a new link.
It improves the data security of private files, prevents unauthorized access, and promptly notifies administrators to take remedial measures.
Smart Images

Figure CN114341842B_ABST
Abstract
Description
BACKGROUND
[0001] The use of computing devices is becoming increasingly ubiquitous. Individuals use computers to communicate with one another through applications including productivity applications that can include email features. Some communications can be content sensitive and can include links (e.g., in the form of uniform resource locators (URLs)) to private files intended to be viewed only by the recipient of the communication. Through the use of enterprise applications, in one example, these links can be created within an organization for accessing files stored within or otherwise associated with the organization's network. As computing devices continue to evolve toward cloud storage that enables content to be stored to various nodes spread throughout the Internet, there can be a related risk that links to private files are compromised by unauthorized individuals. SUMMARY
[0002] The following presents a simplified summary of one or more examples in order to provide a basic understanding of such examples. This summary is not an extensive overview of all contemplated examples, and is intended to neither identify key or critical elements of all examples nor delineate the scope of any or all examples. Its sole purpose is to present some concepts of one or more examples in a simplified form as a prelude to the more detailed description that is presented later.
[0003] In one example, a computer-implemented method for detecting published links is provided. The method includes obtaining a list of one or more links created for providing access to one or more files in cloud storage, wherein the one or more links have a uniform resource locator (URL) format; performing a web search on at least a portion of the URL format of the one or more links; analyzing results of the web search to determine whether at least the portion of the URL format of the one or more links is located; and generating a report indicating that at least the portion of the URL format of the one or more links is located in the web search if at least the portion of the URL format of the one or more links is located in the web search.
[0004] In another example, a computing device for detecting published links is provided. The computing device includes a memory that stores a list of one or more links created for providing access to one or more files in cloud storage, wherein the one or more links have a URL format, and at least one processor coupled to the memory. The at least one processor is configured to obtain the list of one or more links, perform a web search on at least a portion of the URL format of the one or more links, analyze results of the web search to determine whether at least the portion of the URL format of the one or more links is located, and generate a report indicating that at least the portion of the URL format of the one or more links is located in the web search if at least the portion of the URL format of the one or more links is located in the web search.
[0005] In another example, a computer-readable medium including code, the code executable by one or more processors for detecting published links is provided. The code includes code for obtaining a list of one or more links created for providing access to one or more files in cloud storage, wherein the one or more links have a URL format, performing a web search on at least a portion of the URL format of the one or more links, analyzing results of the web search to determine whether at least the portion of the URL format of the one or more links is located, and generating a report indicating that at least the portion of the URL format of the one or more links is located in the web search if at least the portion of the URL format of the one or more links is located in the web search.
[0006] To the accomplishment of the foregoing and related ends, the one or more examples include the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more examples. These features are indicative, however, of but a few of the various ways in which the principles of various examples can be employed, and this description is intended to include all such examples and equivalents thereof. BRIEF DESCRIPTION OF DRAWINGS
[0007] Figure 1 is a schematic diagram of an example of a computing device for detecting publication of private links according to examples described herein.
[0008] Figure 2 is a flow diagram of an example of detecting publication of private links according to examples described herein.
[0009] Figure 3 is a schematic diagram of an example of a computing device for performing functions described herein. DETAILED DESCRIPTION
[0010] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein can be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known components are shown in block diagram form in order to avoid obscuring such concepts.
[0011] Various examples are described herein that relate to detecting publication of private file links in content on the Internet, or more specifically, on the World Wide Web (WWW). For example, the file links can correspond to files (e.g., documents or other types of files) that are stored on a computer or on one or more distributed computers in the cloud. For example, a web search of the WWW can be run on a search engine and use a query string that includes at least a portion of a link to one or more private files. The link can be in uniform resource locator (URL) format and can include a hypertext transfer protocol (HTTP) link. If a web search result is returned that includes the link (e.g., WWW content that includes the link), this can indicate that the private link is published on the WWW. In this example, a report can be generated to a manager of the organization to which the link relates to indicate that the link is located on the WWW, and if desired, the manager can take remedial action.
[0012] In one example, a cloud storage application can be used to store files and generate links to files for sharing with other users (e.g., via email or other productivity applications). In this regard, the cloud storage application can store lists of created links and can distinguish the lists of links by user account that created the links, by organization of the user account that created the links, etc. The cloud storage application or another application that receives the lists of links can run the web searches to determine whether any of the links in one or more lists are located in WWW content and can generate a report of detected published links accordingly. This can be performed periodically, e.g., based on detected events or on demand, etc. The report can be sent to a user (e.g., for lists of links created by a particular user) or an administrator associated with an organization (e.g., for lists of links created by users of the organization), etc. Additionally, in one example, located links can be at least temporarily disabled and / or the report can include remediation action options, such as deactivating the links, reactivating deactivated links, sending newly generated links for the files, etc.
[0013] In this regard, published links to private files can be identified and reported, thereby enabling prevention of unauthorized access to the private files or otherwise making administrators aware of potential security threats posed by the private files.
[0014] Turning now to Figures 1-3 which depicts an example with reference to one or more components and one or more methods that can perform the actions or operations described herein, wherein components and / or actions / operations in broken line can be optional. Although the operations described below in Figure 2 are presented in a particular order and / or are performed by example components, variations can be made in the order and / or components performing the operations depending on implementation, in some examples. Moreover, in some examples, one or more of the following actions, functions and / or described components can be performed by a particular programmed processor, a processor running specific programmed software, or a computer-readable medium containing software instructions for performing the described actions or functions, or any other combination of hardware and / or software components capable of performing the described actions or functions.
[0015] Figure 1is a schematic diagram of an example of a computing device 100 and / or related components for searching a publication of a private link to the Internet 102 (e.g., a network of computers, such as or including the WWW), in accordance with various aspects described herein. A search of the Internet 102 can be referred to herein as a web search, and can include running a search engine of the WWW with a query string to obtain a set of results. In one example, the computing device 100 can include or otherwise be coupled with a processor 104 and / or a memory 106, where the processor 104 and / or the memory 106 can be configured to run or store instructions or other parameters related to searching a private link, as described herein. The computing device 100 can run an operating system 108 (e.g., via the processor 104 and / or the memory 106), providing an environment for running one or more applications. In one example, the operating system 108 can run a link search application 110 configured to run a web search for at least a portion of link text (e.g., a portion of text of a URL) to determine whether the link is found on the Internet 102 (e.g., on the WWW) via the web search.
[0016] In one example, the link search application 110 can include a link obtaining component 112 to obtain a list of one or more links to search, a web search component 114 to run the web search to search the one or more links, and / or a reporting component 116 to report results of the web search or other information related to one or more links located in the web search. The computing device 100 (or another computing device) can provide storage of documents (e.g., cloud storage on one or more distributed computing devices) and / or storage of links to the documents. In one example, the operating system 108 (or another operating system on another computing device that can communicate with the computing device 100) can include a link generation component 118 to generate one or more links to one or more documents (e.g., documents in cloud storage). In one example, the link search application 110 can search the Internet 102 for one or more links generated by the link generation component.
[0017] In one example, the organization 120 can include a number of computing devices 122, 126 that can be coupled via one or more networks and / or the Internet 102. The computing device(s) 122 can include productivity application(s) 124 for creating and / or modifying files (e.g., documents or other files) for storage in cloud storage (e.g., via the computing device 100 or other computing devices). Additionally, the productivity application 124 can allow a request for a private link to a file to be implemented based at least in part on a request for a link to the file being made to the computing device 100 (e.g., via one or more other devices in the organization 120 that can be in communication with the computing device 100). In this example, the link generation component 118 can generate a link to the file and can provide the link to the productivity application 124 to allow the link to be embedded in a communication (e.g., an email). In this example, the link generation component 118 can add the link to a list of links to be searched for by the organization 120 on the Internet 102. For example, the link can be a URL, such as an HTTP URL (e.g., "https: / / my.sharepoint.com / :w: / g / personal / b5fEpAzB3g?e=i3XF").
[0018] For example, a user can send the link (e.g., the URL) in a communication to another user using the productivity application 124 (e.g., via email). The other user can receive the communication via another instance of the productivity application 124 (e.g., within the organization 120 or otherwise). The other user can use the link to access the file. However, the link can become known outside of the organization. For example, the recipient can forward the email with the link to another recipient outside of the organization 120, either knowingly or unknowingly, or can display the link in a presentation, either knowingly or unknowingly, etc.
[0019] Accordingly, for example, the link search application 110 can search the Internet 102 for the link text (e.g., at least a portion of the URL) of one or more generated links to identify potential publication thereof, where results are returned having content including at least the portion of the URL. In one example, the link search application 110 can automatically take one or more remedial actions based on identifying one or more links in the web search, such as temporarily disabling the link, generating a report of the identified link, etc. In one example, the reporting component 116 can send the report to another computing device 126 in the organization 120, such as a manager's computing device or associated account. The computing device 126 can include or cause instantiation of a reporting interface component 128 (e.g., via a web page, application, etc. that is returned to the link search application) to view the report, disable the link, reactivate a disabled link, delete the link, modify the link, etc.
[0020] In examples where the link search application 110 automatically performs the remedial action of at least temporarily disabling the link, the security of the data is improved. While the link is disabled, no one who has sent the link can access the private file to which the link relates. In various examples, the disabling of the link can be permanent.
[0021] Figure 2 is a flowchart of an example of a method 200 for searching for publication of a private link to a file. For example, the method 200 can be performed by the computing device 100, and accordingly the method 200 will be described with reference to Figure 1 as a non-limiting example of an environment for performing the method 200.
[0022] In the method 200, optionally, at act 202, a request to generate one or more links for one or more files can be received. In one example, the link generation component 118 (e.g., in cooperation with the processor 104, the memory 106, etc.) can receive the request to generate one or more links for the one or more files. For example, the link generation component 118 can receive a request from the productivity application 124 to create a link for the file as described. In one example, the productivity application 124 can request the link for sending to another user via email or other communication. For example, the productivity application 124 can include a plug-in that allows creation of the link by communicating with the link generation component 118 to create a link (e.g., a URL) for the file. As described, the file can be stored in a distributed or remote storage (e.g., cloud storage), and the link can be a link to the distributed or remote storage to access the file. Additionally, in one example, the request for the link can include a sensitivity level for the file, the request, the recipient of the request, or the communication, etc.
[0023] In the method 200, optionally, at act 204, one or more links for one or more files can be generated and stored. In one example, the link generation component 118 (e.g., in cooperation with the processor 104, the memory 106, etc.) can generate and store the one or more links for the one or more files. For example, the link generation component 118 can generate a link for a file as a URL as described, which can include one or more parameters to allow a computing device to manage the file to determine which file is requested. The link can also include other identifying information, and can be encoded or encrypted to provide a degree of reliability and / or security to the link. The link generation component 118 can also store the link, and can store other information related to the link, such as a sensitivity level if specified, the organization the file and link relate to, etc. In one example, the link generation component 118 can create separate lists of links for a given organization (e.g., the organization 120).
[0024] In the method 200, optionally, at act 206, an occurrence of an event can be detected or an on-demand request can be received. In one example, the link search application 110 (e.g., in cooperation with the processor 104, the memory 106, etc.) can detect the occurrence of the event or receive the on-demand request. For example, for the purpose of searching the Internet 102 for one or more links, the link search application 110 can detect the occurrence of the event or receive the on-demand request. In one example, the event can be related to a periodic timer, such that the link search application 110 can manage the timer and can perform a search for links at each expiration of the timer. In another example, the event can be related to a detected creation of a new link or an access to the link. In yet another example, the link search application 110 can receive an on-demand request (e.g., from the reporting interface component 128) to search for one or more links and / or to report whether the one or more links are found.
[0025] In the method 200, at act 208, a list of one or more links created to provide access to one or more files can be obtained. In one example, the link obtaining component 112 (e.g., in cooperation with the processor 104, the memory 106, the link search application 110, etc.) can obtain a list of one or more links created to provide access to one or more files. For example, the link obtaining component 112 can begin obtaining the list based on a detected event or a received on-demand request. Additionally, for example, the link obtaining component 112 can obtain the list of one or more links from the link generation component 118. As described, for example, a separate list can be created for each organization, and the link obtaining component 112 can obtain the list of links for a given organization using aspects described herein. Further, in one example, the link obtaining component 112 can obtain the list of one or more links based on a specified sensitivity level. For example, some links can be insensitive (or can have a sensitivity level below a threshold, etc.), and thus, whether the links are published can be immaterial.
[0026] In one example, the list of one or more links can include all links created by users within the organization that have at least a threshold level of sensitivity. In another example, the list of one or more links can be determined to be links that are no older than a particular age (e.g., the creation date / time for the links is less than a threshold period of time from a current date / time). Further, for example, the list of one or more links can be determined to be links that are still valid, links that are associated with files that still exist in cloud storage, etc. Thus, for example, the link obtaining component 112 can receive the one or more links in the list and / or according to one or more of the additional parameters (and / or similar parameters) described above. In one example, the link generating component 118 can generate the list(s) of links based on the one or more parameters, and the link obtaining component 112 can receive the generated list(s) from the link generating component 118. In one example, the link obtaining component 112 can query the link generating component 118 for a list of links based on the specified parameters (e.g., organization, user account, level of sensitivity, age, etc.) and receive the list of one or more links therefrom. In one example, the link search application 110 can receive the parameters in an on-demand request.
[0027] In the method 200, at act 210, a web search can be performed for at least one of the one or more links, the web search being made for a string that is at least part of the at least one link. In one example, the web search component 114 (e.g., in cooperation with the processor 104, the memory 106, the link search application 110, etc.) can perform a web search for at least one of the one or more links for a string that is at least part of the at least one link. For example, the string can be at least part of a URL (e.g., the entire URL, the URL without “https: / / ”, and / or the encrypted portion of the URL, etc.). For example, the web search component 114 can search the Internet 102 for the string of the link (e.g., for each of the one or more links in the list) using a search engine (e.g., via an application programming interface (API) or other interface provided by the search engine).
[0028] In the method 200, at act 212, the results of the web search can be analyzed to determine whether at least the portion of the at least one link was located in the web search. In one example, the web search component 114 (e.g., in cooperation with the processor 104, the memory 106, the link search application 110, etc.) can analyze the results of the web search to determine whether at least the portion of the at least one link was located in the web search. For example, in performing the web search, the web search component 114 can receive a response that can indicate a list of zero or more results, where the results can include web pages or other published content on the WWW. For example, the results can indicate another link or URL for content identified in the results that can include at least the portion of a string corresponding to the one or more links (e.g., URLs) obtained by the link obtaining component 112. In one example, the web search component 114 can treat the web search results as an explicit publication of the corresponding link. In another example, the web search component 114 can examine the content of one or more of the results to determine whether the string appears verbatim, whether the string is part of a link, other characters surrounding the searched string to determine whether the string is for the link, etc. For example, the web search component 114 can search encoded / encrypted text portions of the link and can determine whether the characters near the encoded / encrypted portions are consistent with the link. In the event the web search component 114 determines that results with content including the one or more links were returned, the reporting component 116 can report the existence of content including the one or more links and / or can take other remedial action. In one example, the remedial action selected or continued for the at least one link can be based on the sensitivity level for the at least one link.
[0029] For example, in the method 200, optionally, in the event that at least the portion of the at least one link is located in the web search, at act 214, a report can be generated indicating that the at least one link was located in the web search. In one example, in the event that at least the portion of the at least one link is located in the web search, the reporting component 116 (e.g., in cooperation with the processor 104, the memory 106, the link search application 110, etc.) can generate the report indicating that the at least one link was located in the web search. For example, the reporting component 116 can generate the report as a list of one or more links (e.g., including the at least one link) that were located in the web search. In one example, the reporting component 116 can include information about the one or more links, such as a corresponding file to which the link relates, organization information, an author or recipient of the link, etc. Further, in one example, the reporting component 116 can include in the report an option to disable the link, generate (and / or send) a new link for the associated file, etc.
[0030] The reporting component 116 in one example can provide the report to another computing device, such as the computing device 126 and / or via the reporting interface component 128. In this regard, a manager can review the report and / or determine remedial action to be taken in view of the one or more links being published. In another example, the reporting component 116 can notify an author of the at least one link that the link was published, and the author can attempt to modify or remove the link, etc.
[0031] For example, in the method 200, optionally, in the event that at least the portion of the at least one link is located in the web search, at act 216, the one or more links can be automatically disabled for at least a time period. In one example, in the event that at least the portion of the at least one link is located in the web search, the reporting component 116 (e.g., in cooperation with the processor 104, the memory 106, the link search application 110, etc.) can automatically disable the one or more links for at least the time period. For example, the reporting component 116 can request the link generation component 118 to at least temporarily disable the link for the file, which can provide improved security and protection for the file by at least temporarily disabling the link for the file (and thus disabling external access to the file). If there are other links for the same file, then in one example, the reporting component 116 can also request disabling of the additional links. Additionally, the reporting component 116 can indicate the disabling of the link(s) in the generated report, and / or can provide an option to reactivate the link(s) such that a user / administrator viewing the report via the reporting interface component 128 can reactivate the disabled link(s) if desired.
[0032] In another example, the reporting component 116 (e.g., in addition to or as part of disabling the link) can generate a new link for the file and / or can automatically redistribute the link to the recipients (e.g., where the recipients can be indicated in the initial generation of the link via the link generation component 118, as described in acts 202 and 204). By generating and redistributing a new link for the file, not only is access to the file via the published private link prevented, thereby improving data security, but the redistribution of the new link improves the ability of the system to distribute data by enabling authorized users to access the private file. Thus, unauthorized users are automatically prevented from accessing the private file, while authorized users can continue to access the private file, and this replacement of the link for the private file can be performed in a manner that is not visible to the authorized users.
[0033] Figure 3 FIGURE 1 illustrates an example of a computing device 100 (and / or computing devices 122, 126), which, in addition to the components described above in connection with FIGURE 1, can include a link generation component 118, a link search application 110, a reporting component 116, and / or a reporting interface component 128. Figure 1The computing device 100 can also include a storage 108, such as a disk drive, a Flash memory, or any other suitable data storage, which can provide mass storage for the computing device 100. The storage 108 can also be a removable media device, such as a floppy disk drive, a magnetic tape drive, an optical disk drive, a Flash memory, or the like. Alternatively, the storage 108 can be a remote storage device, such as a storage array of servers, cloud storage, or the like, which can be accessed by the computing device 100 through a computer network, such as the Internet 102. The storage 108 can also include a local storage of the applications and / or related parameters that are not currently running on the processor 104. In addition, the storage 108 can be a data store for the operating system, applications, and / or components thereof, such as the link search application 110, running on the processor 104 and / or one or more other components of the computing device 100.
[0034] The computing device 100 can also include a storage 108, such as a disk drive, a Flash memory, or any other suitable data storage, which can provide mass storage for the computing device 100. The storage 108 can also be a removable media device, such as a floppy disk drive, a magnetic tape drive, an optical disk drive, a Flash memory, or the like. Alternatively, the storage 108 can be a remote storage device, such as a storage array of servers, cloud storage, or the like, which can be accessed by the computing device 100 through a computer network, such as the Internet 102. The storage 108 can also include a local storage of the applications and / or related parameters that are not currently running on the processor 104. In addition, the storage 108 can be a data store for the operating system, applications, and / or components thereof, such as the link search application 110, running on the processor 104 and / or one or more other components of the computing device 100.
[0035] In addition, the computing device 100 can include a communication component 302 for establishing and maintaining communication with one or more other devices, other parties, other entities, etc. utilizing hardware, software, and services as described herein. The communication component 302 can handle communication between components on the computing device 100 as well as communication with external devices, such as devices located across a communication network and / or devices serially or locally connected to the computing device 100. For example, the communication component 302 can include one or more buses, and can further include transmit chain components and receive chain components associated with wireless or wired transmitters and receivers, respectively, operable for interfacing to external devices. The communication component 302 can be used to couple the computing device 100 to the Internet 102. Moreover, the communication component 302 can implement communication between the link search application 110, can provide access to remote storage, etc.
[0036] In addition, the computing device 100 can include a data store 304, which can be any suitable combination of hardware and / or software, that provides mass storage for information, databases, and programs employed in connection with examples described herein. For example, the data store 304 can be or include a data repository of applications and / or related parameters that are not currently running on the processor 104. In addition, the data store 304 can be a data repository for the operating system, applications, and / or components thereof, such as the link search application 110, running on the processor 104 and / or one or more other components of the computing device 100.
[0037] The computing device 100 can also include a user interface component 306 that can be used to receive inputs from a user of the computing device 100 and can also be used to generate outputs for presentation to the user (e.g., an interface of the productivity application 124, the reporting interface component 128, etc.). The user interface component 306 can include one or more input devices, including but not limited to: a keyboard, a number keypad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, a gesture recognition component, a depth sensor, a gaze tracking sensor, any other mechanism capable of receiving an input from a user, or any combination thereof. Additionally, the user interface component 306 can include one or more output devices: a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
[0038] The computing device 100 can also include a link search application 110 that is used to search for one or more links using a web search and report any results returned from web content that includes text of the one or more links.
[0039] As examples, the elements or any portion of them or any combination of elements can be implemented with a "processing system" that includes one or more processors. Examples of processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system can execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0040] Accordingly, in one or more examples, one or more of the described functions can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media can be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact discs (CD), laser discs, optical discs, digital versatile discs (DVD), and floppy disks where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0041] The description is provided to enable any person skilled in the art to practice the various examples described herein. Various modifications to these examples will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other examples. Thus, the claims are not intended to be limited to the various examples shown herein, but are to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more." Unless specifically stated otherwise, the term "some" refers to one or more. All structural and functional equivalents to elements described herein are expressly incorporated in their entirety by reference for all purposes. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the application unless otherwise indicated herein or otherwise clearly contradicted by context. Furthermore, no limitation arising either from the description of a combination with, without, or in combination with additional claims to be filed with the same application or in one or more non-provisional applications having a common owner with the present application, will be implied or inferred unless such limitation is expressly recited herein.
Claims
1. A computer-implemented method for detecting published links, comprising: obtaining a list of one or more links sent in communications within a network of an organization comprising a plurality of computer devices and created to provide access to one or more files in cloud storage within the network of the organization, wherein the one or more links have a uniform resource locator (URL) format; performing a web search for published web pages outside the network of the organization that include at least a portion of the URL format of the one or more links; analyzing results of the web search to determine whether at least the portion of the URL format of the one or more links is located in the web search; in the event that at least the portion of the URL format of the one or more links is located in the web search, generating a report indicating that the one or more links are located in the web search and deactivating the one or more links; generating a new link to the files; and automatically redistributing the new link to authorized users.
2. The computer-implemented method of claim 1, further comprising: receiving a request to generate the one or more links to the one or more files; generating the one or more links to the one or more files based on the request; and storing the one or more links in the list. The one or more links are created for email communications within the network of the organization.
3. The computer-implemented method of claim 1 or 2, wherein, Analyzing the results of the web search includes determining whether text of at least the portion of the URL format of the one or more links is in content returned in the web search having one or more other links.
4. The computer-implemented method of any one of the preceding claims, wherein, At least one of obtaining the list of one or more links, performing the web search, analyzing the results, or generating the report is performed based on the occurrence of the event.
5. The computer-implemented method of any of the preceding claims, further comprising detecting an occurrence of an event, wherein, The event involves detecting expiration of a timer.
6. The computer-implemented method of claim 5, wherein, The report includes an option to reactivate the one or more links.
7. The computer-implemented method of claim 6, wherein, The report includes an option to replace the one or more links to the one or more files.
8. The computer-implemented method of claim 6 or 7, wherein, 9. A computing device for detecting published links, comprising: a memory storing a list of one or more links sent in communications within a network of an organization comprising a plurality of computer devices and created to provide access to one or more files in cloud storage within the network of the organization, wherein the one or more links have a uniform resource locator (URL) format; and at least one processor coupled to the memory, wherein the at least one processor is configured to: obtain the list of one or more links; perform a web search for published web pages outside the network of the organization that include at least a portion of the URL format of the one or more links; analyzing results of the web search to determine whether at least the portion of the URL format of the one or more links was located in the web search; in the event that at least the portion of the URL format of the one or more links was located in the web search, generating a report indicating that the one or more links were located in the web search and deactivating the one or more links; generating a new link to the file; and automatically redistributing the new link to authorized users.
10. The computing device of claim 9, wherein, the at least one processor is further configured to: receive a request to generate the one or more links for the one or more files; generate the one or more links for the one or more files based on the request; and store the one or more links in the list.
11. The computing device of claim 9 or 10, wherein, the one or more links are created for email communications within the network of the organization.
12. The computing device of any of claims 9-11, wherein, the at least one processor is configured to analyze the results of the web search at least in part by determining whether text of at least the portion of the URL format of the one or more links is in content returned in the web search having one or more other links.
13. The computing device of any of claims 9-12, wherein, the at least one processor is further configured to detect an occurrence of an event, wherein the at least one processor is configured to perform at least one of obtaining the list of one or more links, performing the web search, analyzing the results, or generating the report based on the occurrence of the event.
14. A computer-readable medium comprising code runtable by one or more processors to perform one or more of the methods of any of claims 1-8.
Citation Information
Patent Citations
Systems and Methods for Controlling Email Access
US20140165153A1
Method for selecting storage cloud for storage of entity files from plurality of storage clouds, and computer and computer program therefor
US20150006596A1
File sharing via link generation
WO2012177253A1