CPC G06F 16/148 (2019.01) [G06F 16/156 (2019.01); G06F 16/9024 (2019.01)] | 20 Claims |
1. A method, comprising:
performing, by one or more computing devices that implement a file system search proxying (FSSP) system:
receiving a plurality of search requests of a file system, wherein the search requests indicate respective search criteria and are part of a vulnerability search of the one or more computing devices;
identifying a common set of search roots for the search requests;
executing a plurality of processes or threads on the one or more computing devices to performing a plurality of searches for the search requests concurrently on the file system, including for each search:
generating a first window function to search a directory tree in the file system beginning at a first search root of the common set of search roots, wherein the first window function specifies portions of the directory tree that are included or excluded to or from the search;
performing the search on the directory tree to determine candidates in the directory tree that satisfy the first window function and a respective search criterion, wherein the candidates are added to an inverse mapping that maps individual candidates to respective search requests; and
evaluating, using the inverse mapping, the candidates against the search criterion to determine a result of the search including candidates that satisfy the search criterion,
wherein the searches are performed as multiple parallel processes or multiple parallel threads in a single process and reduces a number of redundant traversals of the file system by the searches; and
reporting results of the plurality of search requests.
|