Skip to content

Commit d003691

Browse files
authored
Merge branch 'main' into chrisda
2 parents 7c4ca25 + aa71291 commit d003691

20 files changed

+198
-45
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"build_output_subfolder": "ATA-Docs",
77
"locale": "en-us",
88
"monikers": [],
9-
"open_to_public_contributors": true,
9+
"open_to_public_contributors": false,
1010
"type_mapping": {
1111
"Conceptual": "Content"
1212
},

CloudAppSecurityDocs/behaviors.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Investigate behaviors with advanced hunting | Microsoft Defender for Cloud Apps
33
description: Learn how to investigate Microsoft Defender for Cloud App behaviors with Microsoft Defender XDR advanced hunting.
4-
ms.date: 09/07/2023
4+
ms.date: 08/05/2025
55
ms.topic: how-to
66
#CustomerIntent: As a Defender for Cloud Apps customer, I want to understand how behaviors work so that I can investigate more effectively.
77
---
@@ -10,9 +10,9 @@ ms.topic: how-to
1010

1111

1212

13-
While some anomaly detections focus primarily on detecting problematic security scenarios, others can help identifying and investigating anomalous user behavior that doesn't necessarily indicate a compromise. In such cases, Microsoft Defender for Cloud Apps uses a separate data type, called *behaviors*.
13+
While some anomaly detections focus primarily on detecting problematic security scenarios, others can help identifying and investigating anomalous user behavior that doesn't necessarily indicate a compromise. In such cases, Microsoft Defender for Cloud Apps and Microsoft Defender for Cloud use a separate data type, called *behaviors*.
1414

15-
This article describes how to investigate Defender for Cloud Apps behaviors with Microsoft Defender XDR advanced hunting.
15+
This article describes how to investigate Defender for Cloud Apps and Defender for Cloud behaviors with Microsoft Defender XDR advanced hunting.
1616

1717
Have feedback to share? Fill out our [feedback form](https://forms.office.com/r/x0mX5hBkGu)!
1818

@@ -27,7 +27,7 @@ While behaviors might be related to security scenarios, they're not necessarily
2727
2828
## Supported detections
2929

30-
Behaviors currently support low-fidelity, Defender for Cloud Apps detections, that may not meet the standard for alerts but are still useful in providing context during an investigation. Currently supported detections include:
30+
Behaviors currently support low-fidelity, Defender for Cloud Apps and Defender for Cloud detections, that may not meet the standard for alerts but are still useful in providing context during an investigation. Currently supported detections include:
3131

3232
|Alert name |Policy name |ActionType (Hunting)|
3333
|---------|---------|---------|

defender-endpoint/gov.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ These are the known gaps:
160160
|Microsoft Defender for Endpoint Security Configuration Management|:::image type="icon" source="media/svg/check-yes.svg" border="false":::|:::image type="icon" source="media/svg/check-yes.svg" border="false":::|:::image type="icon" source="media/svg/check-yes.svg" border="false":::|
161161
|Microsoft Defender for IoT enterprise IoT security|:::image type="icon" source="media/svg/check-no.svg" border="false":::|:::image type="icon" source="media/svg/check-no.svg" border="false":::|:::image type="icon" source="media/svg/check-no.svg" border="false":::|
162162

163+
163164
> [!NOTE]
164165
> While Microsoft Secure Score is available for GCC, GCC High and DoD customers, there are some security recommendations that aren't available.
165166

defender-endpoint/mac-install-with-intune.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,7 @@ To download the onboarding package from the Microsoft Defender portal:
488488

489489
1. Select **Download onboarding package**. Save it as _GatewayWindowsDefenderATPOnboardingPackage.zip_ to the same directory.
490490

491+
491492
1. Extract the contents of the .zip file:
492493

493494
```bash

defender-endpoint/whats-new-in-microsoft-defender-endpoint.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ For more information on what's new with other Microsoft Defender security produc
4646
- [What's new in Microsoft Defender for Cloud Apps](/cloud-app-security/release-notes)
4747
- [What's new in Microsoft Defender Vulnerability Management](/defender-vulnerability-management/whats-new-in-microsoft-defender-vulnerability-management)
4848

49+
## July 2025
50+
51+
- (GA) [Microsoft Defender Core service](/defender-endpoint/microsoft-defender-core-service-overview) is now generally available on Windows Server 2019 or later. Helps with the stability and performance of Microsoft Defender Antivirus.
52+
4953
## April 2025
5054

5155
- (Preview) **Contain IP addresses of undiscovered devices**: Containing IP addresses associated with devices that are undiscovered or are not onboarded to Defender for Endpoint is now in preview. Containing an IP address prevents attackers from spreading attacks to other non-compromised devices. See [Contain IP addresses of undiscovered devices](respond-machine-alerts.md#contain-ip-addresses-of-undiscovered-devices) for more information.

defender-for-cloud/TOC.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
- name: Index
2-
href: index.md

defender-for-cloud/index.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

defender-office-365/anti-malware-protection-for-spo-odfb-teams-about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ By default, users can download infected files from SharePoint or OneDrive. Here'
5353
1. In a web browser, a user tries to download a file from SharePoint or OneDrive that happens to be infected.
5454
2. The user is shown a warning that a virus was detected in the file. The user is given the option to proceed with the download and attempt to clean it using anti-virus software on their device.
5555

56-
To change this behavior so users can't download infected files from SharePoint or OneDrive, even from the anti-virus warning window, admins can use the *DisallowInfectedFileDownload* parameter on the **[Set-SPOTenant](/powershell/module/sharepoint-online/Set-SPOTenant)** cmdlet in SharePoint Online PowerShell. The value $true for the *DisallowInfectedFileDownload* parameter completely blocks access to detected/blocked files for users.
56+
To change this behavior so users can't download infected files from SharePoint or OneDrive, even from the anti-virus warning window, admins can use the *DisallowInfectedFileDownload* parameter on the **[Set-SPOTenant](/powershell/module/microsoft.online.sharepoint.powershell/set-spotenant)** cmdlet in SharePoint Online PowerShell. The value $true for the *DisallowInfectedFileDownload* parameter completely blocks access to detected/blocked files for users.
5757

5858
For instructions, see [Use SharePoint Online PowerShell to prevent users from downloading malicious files](safe-attachments-for-spo-odfb-teams-configure.md#step-2-recommended-use-sharepoint-online-powershell-to-prevent-users-from-downloading-malicious-files).
5959

defender-office-365/safe-attachments-for-spo-odfb-teams-configure.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Set-SPOTenant -DisallowInfectedFileDownload $true
9595
- This setting affects both users and admins.
9696
- People can still delete malicious files.
9797

98-
For detailed syntax and parameter information, see [Set-SPOTenant](/powershell/module/sharepoint-online/Set-SPOTenant).
98+
For detailed syntax and parameter information, see [Set-SPOTenant](/powershell/module/microsoft.online.sharepoint.powershell/set-spotenant).
9999

100100
## Step 3 (Recommended) Use the Microsoft Defender portal to create an alert policy for detected files
101101

@@ -169,7 +169,7 @@ For detailed syntax and parameter information, see [New-ActivityAlert](/powershe
169169
Get-SPOTenant | Format-List DisallowInfectedFileDownload
170170
```
171171

172-
For detailed syntax and parameter information, see [Get-SPOTenant](/powershell/module/sharepoint-online/Set-SPOTenant).
172+
For detailed syntax and parameter information, see [Get-SPOTenant](/powershell/module/microsoft.online.sharepoint.powershell/get-spotenant).
173173

174174
- To verify you successfully configured an alert policy for detected files, use either of the following methods:
175175
- In the Microsoft Defender portal at <https://security.microsoft.com/alertpolicies>, select the alert policy, and verify the settings.
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
---
2+
title: CloudStorageAggregatedEvents table in the advanced hunting schema
3+
description: Learn about the CloudStorageAggregatedEvents table in the advanced hunting schema, which contains information about storage activity and related events.
4+
search.appverid: met150
5+
ms.service: defender-xdr
6+
ms.subservice: adv-hunting
7+
f1.keywords:
8+
- NOCSH
9+
ms.author: pauloliveria
10+
author: poliveria
11+
ms.localizationpriority: medium
12+
manager: orspodek
13+
audience: ITPro
14+
ms.collection:
15+
- m365-security
16+
- tier3
17+
ms.custom:
18+
- cx-ti
19+
- cx-ah
20+
appliesto:
21+
- Microsoft Defender XDR
22+
- Microsoft Sentinel in the Microsoft Defender portal
23+
ms.topic: reference
24+
ms.date: 08/05/2025
25+
---
26+
27+
# CloudStorageAggregatedEvents (Preview)
28+
29+
[!INCLUDE [Microsoft Defender XDR rebranding](../includes/microsoft-defender.md)]
30+
31+
The `CloudStorageAggregatedEvents` table in the [advanced hunting](advanced-hunting-overview.md) contains information about storage activity and related events. Use this reference to construct queries that return information from this table.
32+
33+
> [!IMPORTANT]
34+
> Some information relates to prereleased product, which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
35+
36+
This advanced hunting table is populated by records from [Microsoft Defender for Cloud](/azure/defender-for-cloud/concept-integration-365#advanced-hunting-in-xdr). If your organization doesn't have Microsoft Defender for Cloud, queries that use the table aren’t going to work or return any results. For more information about prerequisites in integrating Defender for Cloud with Defender XDR, read [Microsoft Defender XDR integration](/azure/defender-for-cloud/concept-integration-365).
37+
38+
39+
For information on other tables in the advanced hunting schema, see the [advanced hunting reference](advanced-hunting-schema-tables.md).
40+
41+
| Column name | Data type | Description |
42+
|-------------|-----------|-------------|
43+
| `DataAggregationStartTime` | `datetime` | The start time during which the data was aggregated |
44+
| `DataAggregationEndTime` | `datetime` | The end time during which the data was aggregated |
45+
| `DataSource` | `string` | The source of the aggregated logs |
46+
| `SubscriptionId` | `string` | Unique identifier assigned to the Azure subscription |
47+
| `ResourceGroup` | `string` | Name of the resource group where the storage account resides |
48+
| `StorageAccount` | `string` | The identifier for the storage account |
49+
| `StorageContainer` | `string` | The identifier for the storage container |
50+
| `StorageFileShare` | `string` | The identifier for the storage file share |
51+
| `ServiceType` | `string` | Specifies the type of storage service (for example, Blob, ADLS Gen2, Files.REST, Files.SMB) |
52+
| `IpAddress` | `string` | The IP addresses from which the storage was accessed |
53+
| `UserAgentHeader` | `string` | Details of the user agent accessing the storage (for example, browser or application) |
54+
| `OperationNamesList` | `object` | A list of storage operations performed (for example, CreateContainer, DeleteContainer) |
55+
| `AuthenticationType` | `string` | The authentication method used to access the storage (for example, AccountKey, SAS, Oauth) |
56+
| `AccountObjectId` | `string` | The unique identifier of the object is making the storage access |
57+
| `AccountTenantId` | `long` | The unique identifier of the Azure tenant |
58+
| `AccountApplicationId` | `string` | The application ID associated with the storage access |
59+
| `AccountUpn` | `string` | The user principal name of the accessing user |
60+
| `AccountType` | `long` | The account type used |
61+
| `OperationsCount` | `int` | The total number of storage operations performed |
62+
| `SuccessfulOperationsCount` | `int` | The count of successful storage operations |
63+
| `FailedOperationsCount` | `int` | The count of failed storage operations |
64+
| `FirstEventTimestamp` | `datetime` | The timestamp of the first observed operation in the aggregation period |
65+
| `LastEventTimestamp` | `datetime` | The timestamp of the last observed operation in the aggregation period |
66+
| `TotalResponseLength` | `int` | The total response length of all GET operations during the aggregation period |
67+
| `SuccessfulReadOperations` | `int` | The count of successful read operations |
68+
| `DistinctGetOperations` | `int` | The count of distinct GET operations performed |
69+
| `AnonymousSuccessfulOperations` | `int` | The count of successful anonymous operations |
70+
| `HasAnonymousResourceNotFoundFailures` | `bool` | Indicates whether anonymous resource not found failures occurred |
71+
| `CountryName` | `string` | The name of the country from where the storage was accessed |
72+
| `CityName` | `string` | The name of the city from where the storage was accessed |
73+
| `ProvinceName` | `string` | The name of the province or state from where the storage was accessed |
74+
| `ClientSystemServiceName` | `string` | The name of the system service is in the data center |
75+
| `ClientCloudPlatformName` | `string` | The name of the cloud platform where the data center is located |
76+
| `IsTorExitNode` | `bool` | Indicates whether the IP address is a Tor exit node |
77+
| `IsKnownSuspiciousIp` | `bool` | Indicates whether the IP address is known to be suspicious |
78+
| `IsPrivateIp` | `bool` | Indicates whether the IP address is private |
79+
| `SuspiciousUserAgentName` | `string` | The name of the suspicious user agent accessing the storage |
80+
| `HashReputationMd5List` | `object` | A list of MD5 hash reputations for the accessed resources |
81+
| `AzureResourceId` | `string` | The Azure Resource ID of the storage account |
82+
| `Location` | `string` | The location of the storage account (region) |
83+
| `Timestamp` | `datetime` | Indicate the time when the record was generated |
84+
| `ReportId` | `string` | GUID to identify the record in the specific table |
85+
| `ActionType` | `string` | Type of action (aggregated logs) |
86+
| `AdditionalFields` | `dynamic` | Additional information about the event in JSON array format |
87+
88+
89+
## Sample queries
90+
91+
To detect failed anonymous authentication attempts:
92+
93+
```kusto
94+
CloudStorageAggregatedEvents
95+
| where FailedOperationsCount > 0
96+
| where AuthenticationType == "Anonymous"
97+
| project StorageAccount, FailedOperationsCount, OperationNamesList, AdditionalFields
98+
```
99+
100+
To list unusual authentication methods used:
101+
102+
```kusto
103+
// Define a list of expected authentication types
104+
let ExpectedAuthTypes = dynamic(["AccountKey", "SAS", "Oauth"]);
105+
CloudStorageAggregatedEvents
106+
| where DataAggregationEndTime >= ago(7d)
107+
| where not(AuthenticationType in (ExpectedAuthTypes))
108+
| summarize TotalOperations = sum(OperationsCount) by StorageAccount, AuthenticationType
109+
```
110+
To find storage accounts with a high number of failed operations:
111+
112+
```kusto
113+
CloudStorageAggregatedEvents
114+
| where DataAggregationEndTime >= ago(7d)
115+
| summarize TotalFailedOperations = sum(FailedOperationsCount) by StorageAccount
116+
| where TotalFailedOperations > 100
117+
| order by TotalFailedOperations desc
118+
```
119+
120+
To monitor anonymous successful operations:
121+
122+
```kusto
123+
CloudStorageAggregatedEvents
124+
| where DataAggregationEndTime >= ago(7d)
125+
| where AuthenticationType == "Anonymous" and SuccessfulOperationsCount > 0
126+
| project StorageAccount, SuccessfulOperationsCount, OperationNamesList, AdditionalFields
127+
```
128+
129+
To detect access to sensitive containers or file shares:
130+
131+
```kusto
132+
CloudStorageAggregatedEvents
133+
| where DataAggregationEndTime >= ago(7d)
134+
| where AuthenticationType == "Anonymous" and SuccessfulOperationsCount > 0
135+
| project StorageAccount, SuccessfulOperationsCount, OperationNamesList, AdditionalFields
136+
```
137+
138+
To detect suspicious file uploads with known malicious hashes:
139+
140+
```kusto
141+
CloudStorageAggregatedEvents
142+
| where DataAggregationEndTime >= ago(7d)
143+
| where isnotempty(Md5Hashes)
144+
| mv-expand HashReputation = Md5Hashes
145+
| extend HashDetails = parse_json(HashReputation)
146+
| project StorageAccount, AccountUpn, OperationNamesList, HashMd5 = HashDetails.md5Hash, ResourcePath = HashDetails.resourcePath, OperationType = HashDetails.operationType, ETag = HashDetails.etag
147+
```
148+
149+
## Related topics
150+
151+
- [Advanced hunting overview](advanced-hunting-overview.md)
152+
- [Learn the query language](advanced-hunting-query-language.md)
153+
- [Use shared queries](advanced-hunting-shared-queries.md)
154+
- [Hunt across devices, emails, apps, and identities](advanced-hunting-query-emails-devices.md)
155+
- [Understand the schema](advanced-hunting-schema-tables.md)
156+
- [Apply query best practices](advanced-hunting-best-practices.md)
157+

0 commit comments

Comments
 (0)