diff --git a/rfcs/text/0048-fileorigin-fields.md b/rfcs/text/0048-fileorigin-fields.md new file mode 100644 index 0000000000..85622991b7 --- /dev/null +++ b/rfcs/text/0048-fileorigin-fields.md @@ -0,0 +1,143 @@ +# 0048: File Origin Fields + + +- Stage: **0 (strawperson)** +- Date: **2024-10-15** + + + + + +It is known that when downloading files from the internet using a web browser (eg. Chrome, Edge, etc), information about the file's source is added to the file. +In Windows, it is known as the Mark of the Web and stored in file's Alternate Data Stream (ADS). In MacOS, it is stored in file's extended file attributes (metadata). + +For example, in Windows, when you download an image file (`image17.webp`) from [this webpage](https://www.elastic.co/security-labs/pikabot-i-choose-you) using a web browser, the download source URL is automatically added to the file's Alternate Data Stream (ADS) as following. + +image + +* Inside `image17.webp:Zone.Identifier:$DATA` +image + +In ensuring endpoint security, the origin information of a file is crucial for determining whether a downloaded file or executable from the internet comes from a safe source and if it is safe to execute. + +Thus, this PR adds new fields to store the URL of the file's origin information for `file`, `process`, and `dll`. +The ReferrerUrl is intended to be stored in the `origin_referrer_url` field, and the `HostUrl` is inteded to be stored in the `origin_url` field. The ZoneId is intended to be stored in the `zone_identifier` field. + + + + + +## Fields + + + +The new fields proposed are: + +Field | Type | Description /Usage +-- | -- | -- +file.origin_referrer_url | keyword | The URL of the webpage that linked to the file. +file.origin_url | keyword | The URL where the file is hosted. +file.zone_identifier | short | Numerical identifier that indicates the security zone of a file's origin. +process.origin_referrer_url | keyword | The URL of the webpage that linked to the file. +process.origin_url | keyword | The URL where the file is hosted. +process.zone_identifier | short | Numerical identifier that indicates the security zone of a file's origin. +dll.origin_referrer_url | keyword | The URL of the webpage that linked to the file. +dll.origin_url | keyword | The URL where the file is hosted. +dll.zone_identifier | short | Numerical identifier that indicates the security zone of a file's origin. + + + +## Usage + + + +## Source data + + + + + + + +## Scope of impact + + + +## Concerns + + + + + + + +## People + +The following are the people that consulted on the contents of this RFC. + +* @AsuNa-jp | author +* @joe-desimone +* @trisch-me +* @mjwolf + + + + +## References + + + + +### RFC Pull Requests + + + +* Stage 0: https://github.com/elastic/ecs/pull/2387 + +