IP Library › Granted Patent US 12,461,894
Granted Patent B2
US 12,461,894 · App. 18/175,770 · Granted Nov 4, 2025

Namespace mapping to support file hash generation

Inventors: Marco Vedovati (Albino, IT); Martin Kelly (Bothell, WA)
Assignee: CrowdStrike, Inc.
G06F16/164G06F16/137G06F16/1734
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,461,894
App. No.
18/175,770
Granted
Nov 4, 2025
Kind
B2
Abstract

A method of generating a file hash using mount namespace data includes identifying, by a user space monitoring application executing in a user space of an operating system, a target application file associated with a target application process executing in the user space of the operating system, wherein the target application process is associated with a first mount namespace, accessing, by the user space monitoring application, a mapping between the first mount namespace and one or more processes executing in the user space of the operating system, switching, by a processing device, the user space monitoring application to the first mount namespace based on the mapping, and accessing, by the user space monitoring application, the target application file in the first mount namespace.

Claims (46)

1 . A method comprising:

identifying, by a user space monitoring application executing in a user space of an operating system, a target application file associated with a target application process executing in the user space of the operating system, wherein the target application process is associated with a first mount namespace in a kernel space of the operating system that is currently inaccessible by the user space monitoring application;

determining that a first process of the operating system switched from a second mount namespace to the first mount namespace;

updating a mapping to add an entry that associates the first process with the first mount namespace and remove an entry associating the first process with the second mount namespace; and

in response to the first mount namespace being inaccessible by the user space monitoring application:

accessing, by the user space monitoring application, the updated mapping between the first mount namespace and the first process executing in the user space of the operating system, wherein the accessing further comprises retrieving the updated mapping from a shared memory that is shared between the user space of the operating system and the kernel space of the operating system;

switching, by a processing device, the user space monitoring application to the first mount namespace based on a process identifier (PID) in the updated mapping that corresponds to the first process; and

accessing, by the user space monitoring application, the target application file in the first mount namespace; and

generating a file hash of contents of the target application file.

2 . The method of claim 1 , further comprising:

monitoring the first mount namespace using one or more programs executing in the kernel space of the operating system.

3 . The method of claim 1 , wherein the updated mapping between the first mount namespace and the one or more processes executing in the user space of the operating system comprises a mapping between an identifier of the first mount namespace and the PID.

4 . The method of claim 1 , wherein the target application process is associated with the second mount namespace that is different from the first mount namespace.

5 . The method of claim 1 , wherein accessing, by the user space monitoring application, the updated mapping between the first mount namespace and one or more processes executing in the user space of the operating system comprises accessing the mapping to retrieve the PID, and

wherein switching, by the processing device, the user space monitoring application to the first mount namespace based on the mapping comprises providing the PID as input to an application programming interface (API) of the operating system.

6 . The method of claim 5 , wherein the PID provided as input to the API is different from a PID of the target application process.

7 . A system comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

identify, by a user space monitoring application executing in a user space of an operating system, a target application file associated with a target application process executing in the user space of the operating system, wherein the target application process is associated with a first mount namespace in a kernel space of the operating system that is currently inaccessible by the user space monitoring application;

determine that a first process of the operating system switched from a second mount namespace to the first mount namespace;

update a mapping to add an entry that associates the first process with the first mount namespace and remove an entry associating the first process with the second mount namespace; and

in response to the first mount namespace being inaccessible by the user space monitoring application:

access, by the user space monitoring application, the updated mapping between the first mount namespace and the first process executing in the user space of the operating system, wherein the access is further to retrieve the updated mapping from a shared memory that is shared between the user space of the operating system and the kernel space of the operating system;

switch, the user space monitoring application to the first mount namespace based on a process identifier (PID) in the updated mapping that corresponds to the first process; and

access, by the user space monitoring application, the target application file in the first mount namespace; and

generate a file hash of contents of the target application file.

8 . The system of claim 7 , wherein the processing device is further to:

monitor the first mount namespace using one or more programs executing in the kernel space of the operating system.

9 . The system of claim 7 , wherein the updated mapping between the first mount namespace and the one or more processes executing in the user space of the operating system comprises a mapping between an identifier of the first mount namespace and the PID.

10 . The system of claim 7 , wherein, to access, by the user space monitoring application, the updated mapping between the first mount namespace and one or more processes executing in the user space of the operating system, the processing device is to access the mapping to retrieve the PID, and

wherein, to switch the user space monitoring application to the first mount namespace based on the mapping, the processing device is to provide the PID as input to an application programming interface (API) of the operating system.

11 . A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

identify, by a user space monitoring application executing in a user space of an operating system, a target application file associated with a target application process executing in the user space of the operating system, wherein the target application process is associated with a first mount namespace in a kernel space of the operating system that is currently inaccessible by the user space monitoring application;

determine that a first process of the operating system switched from a second mount namespace to the first mount namespace;

update a mapping to add an entry that associates the first process with the first mount namespace and remove an entry associating the first process with the second mount namespace; and

in response to the first mount namespace being inaccessible by the user space monitoring application:

access, by the user space monitoring application, the updated mapping between the first mount namespace and the first process executing in the user space of the operating system, wherein the access is further to retrieve the updated mapping from a shared memory that is shared between the user space of the operating system and the kernel space of the operating system;

switch, by the processing device, the user space monitoring application to the first mount namespace based on a process identifier (PID) in the mapping that corresponds to the process; and

access, by the user space monitoring application, the target application file in the first mount namespace; and

generate a file hash of contents of the target application file.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein the processing device is further to:

monitor the first mount namespace using one or more programs executing in the kernel space of the operating system.

13 . The non-transitory computer-readable storage medium of claim 11 , wherein the updated mapping between the first mount namespace and the one or more processes executing in the user space of the operating system comprises a mapping between an identifier of the first mount namespace and the PID.

14 . The non-transitory computer-readable storage medium of claim 11 , wherein, to access, by the user space monitoring application, the updated mapping between the first mount namespace and one or more processes executing in the user space of the operating system, the processing device is to access the mapping to retrieve the PID, and

wherein, to switch the user space monitoring application to the first mount namespace based on the mapping, the processing device is to provide the PID as input to an application programming interface (API) of the operating system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2023
From: VEDOVATI, MARCO; KELLY, MARTIN
To: CROWDSTRIKE, INC.
Reel/Frame 062829/0908 →
Continuity (1)
Related Publication 20240289303A1 · Aug 29, 2024
References Cited (17)
US 8612404B2 · Bone · 2013 [cited by examiner]
US 9805054B2 · Davis · 2017 [cited by examiner]
US 9811662B2 · Sharpe · 2017 [cited by examiner]
US 10296494B2 · Davis · 2019 [cited by examiner]
US 10735369B2 · Chalakov · 2020 [cited by examiner]
US 11297031B2 · Chalakov · 2022 [cited by examiner]
US 20070055703A1 · Zimran · 2007 [cited by examiner]
US 20100088317A1 · Bone · 2010 [cited by examiner]
US 20140006465A1 · Davis · 2014 [cited by examiner]
US 20140007239A1 · Sharpe · 2014 [cited by examiner]
US 20180025025A1 · Davis · 2018 [cited by examiner]
US 20190370360A1 · Mainali · 2019 [cited by examiner]
US 20200336455A1 · Chalakov · 2020 [cited by examiner]
US 20200364375A1 · Bottomley · 2020 [cited by examiner]
US 20200366571A1 · Vittal · 2020 [cited by examiner]
US 20210133143A1 · Bono · 2021 [cited by examiner]
US 20230185766A1 · Jones · 2023 [cited by examiner]