고급 헌팅 스키마의 테이블에는 CloudStorageAggregatedEvents
스토리지 활동 및 관련 이벤트에 대한 정보가 포함되어 있습니다. 이 참조를 사용하여 이 표의 정보를 반환하는 쿼리를 생성합니다.
중요
일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에서 제공하는 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 제공하지 않습니다.
이 고급 헌팅 테이블은 클라우드용 Microsoft Defender 레코드로 채워집니다. organization 클라우드에 대한 Microsoft Defender 없는 경우 테이블을 사용하는 쿼리는 작동하지 않거나 결과를 반환하지 않습니다. 클라우드용 Defender를 Defender XDR 통합하기 위한 필수 구성 요소에 대한 자세한 내용은 Microsoft Defender XDR 통합을 참조하세요.
고급 헌팅 스키마의 다른 테이블에 대한 자세한 내용은 고급 헌팅 참조를 참조하세요.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
DataAggregationStartTime |
datetime |
데이터가 집계된 시작 시간입니다. |
DataAggregationEndTime |
datetime |
데이터가 집계된 종료 시간입니다. |
DataSource |
string |
집계된 로그의 원본 |
SubscriptionId |
string |
Azure 구독에 할당된 고유 식별자 |
ResourceGroup |
string |
스토리지 계정이 있는 리소스 그룹의 이름 |
StorageAccount |
string |
스토리지 계정의 식별자 |
StorageContainer |
string |
스토리지 컨테이너의 식별자 |
StorageFileShare |
string |
스토리지 파일 공유의 식별자 |
ServiceType |
string |
스토리지 서비스 유형(예: Blob, ADLS Gen2, Files.REST, Files.SMB)을 지정합니다. |
IpAddress |
string |
스토리지에 액세스한 IP 주소 |
UserAgentHeader |
string |
스토리지에 액세스하는 사용자 에이전트의 세부 정보(예: 브라우저 또는 애플리케이션) |
OperationNamesList |
object |
수행된 스토리지 작업 목록(예: CreateContainer, DeleteContainer) |
AuthenticationType |
string |
스토리지에 액세스하는 데 사용되는 인증 방법(예: AccountKey, SAS, Oauth) |
AccountObjectId |
string |
개체의 고유 식별자가 스토리지 액세스 권한을 부여하고 있습니다. |
AccountTenantId |
long |
Azure 테넌트 고유 식별자 |
AccountApplicationId |
string |
스토리지 액세스와 연결된 애플리케이션 ID |
AccountUpn |
string |
액세스하는 사용자의 사용자 계정 이름 |
AccountType |
long |
사용된 계정 유형 |
OperationsCount |
int |
수행된 총 스토리지 작업 수 |
SuccessfulOperationsCount |
int |
성공한 스토리지 작업 수 |
FailedOperationsCount |
int |
실패한 스토리지 작업 수 |
FirstEventTimestamp |
datetime |
집계 기간에 관찰된 첫 번째 작업의 타임스탬프 |
LastEventTimestamp |
datetime |
집계 기간에 마지막으로 관찰된 작업의 타임스탬프 |
TotalResponseLength |
int |
집계 기간 동안 모든 GET 작업의 총 응답 길이 |
SuccessfulReadOperations |
int |
성공적인 읽기 작업 수 |
DistinctGetOperations |
int |
수행된 고유한 GET 작업 수 |
AnonymousSuccessfulOperations |
int |
성공한 익명 작업의 수 |
HasAnonymousResourceNotFoundFailures |
bool |
익명 리소스를 찾을 수 없는 오류가 발생했는지 여부를 나타냅니다. |
CountryName |
string |
스토리지에 액세스한 국가의 이름입니다. |
CityName |
string |
스토리지에 액세스한 도시의 이름입니다. |
ProvinceName |
string |
스토리지에 액세스한 지역의 이름 또는 주 |
ClientSystemServiceName |
string |
시스템 서비스의 이름이 데이터 센터에 있습니다. |
ClientCloudPlatformName |
string |
데이터 센터가 있는 클라우드 플랫폼의 이름 |
IsTorExitNode |
bool |
IP 주소가 Tor 종료 노드인지 여부를 나타냅니다. |
IsKnownSuspiciousIp |
bool |
IP 주소가 의심스러운 것으로 알려져 있는지 여부를 나타냅니다. |
IsPrivateIp |
bool |
IP 주소가 프라이빗인지 여부를 나타냅니다. |
SuspiciousUserAgentName |
string |
스토리지에 액세스하는 의심스러운 사용자 에이전트의 이름 |
HashReputationMd5List |
object |
액세스된 리소스에 대한 MD5 해시 평판 목록 |
AzureResourceId |
string |
스토리지 계정의 Azure 리소스 ID |
Location |
string |
스토리지 계정의 위치(지역) |
Timestamp |
datetime |
레코드가 생성된 시간을 나타냅니다. |
ReportId |
string |
특정 테이블의 레코드를 식별하는 GUID |
ActionType |
string |
작업 유형(집계된 로그) |
AdditionalFields |
dynamic |
JSON 배열 형식의 이벤트에 대한 추가 정보 |
샘플 쿼리
실패한 익명 인증 시도를 검색하려면 다음을 수행합니다.
CloudStorageAggregatedEvents
| where FailedOperationsCount > 0
| where AuthenticationType == "Anonymous"
| project StorageAccount, FailedOperationsCount, OperationNamesList, AdditionalFields
사용되는 비정상적인 인증 방법을 나열하려면 다음을 수행합니다.
// Define a list of expected authentication types
let ExpectedAuthTypes = dynamic(["AccountKey", "SAS", "Oauth"]);
CloudStorageAggregatedEvents
| where DataAggregationEndTime >= ago(7d)
| where not(AuthenticationType in (ExpectedAuthTypes))
| summarize TotalOperations = sum(OperationsCount) by StorageAccount, AuthenticationType
실패한 작업의 수가 많은 스토리지 계정을 찾으려면 다음을 수행합니다.
CloudStorageAggregatedEvents
| where DataAggregationEndTime >= ago(7d)
| summarize TotalFailedOperations = sum(FailedOperationsCount) by StorageAccount
| where TotalFailedOperations > 100
| order by TotalFailedOperations desc
익명의 성공적인 작업을 모니터링하려면 다음을 수행합니다.
CloudStorageAggregatedEvents
| where DataAggregationEndTime >= ago(7d)
| where AuthenticationType == "Anonymous" and SuccessfulOperationsCount > 0
| project StorageAccount, SuccessfulOperationsCount, OperationNamesList, AdditionalFields
중요한 컨테이너 또는 파일 공유에 대한 액세스를 검색하려면 다음을 수행합니다.
CloudStorageAggregatedEvents
| where DataAggregationEndTime >= ago(7d)
| where AuthenticationType == "Anonymous" and SuccessfulOperationsCount > 0
| project StorageAccount, SuccessfulOperationsCount, OperationNamesList, AdditionalFields
알려진 악성 해시를 사용하여 의심스러운 파일 업로드를 검색하려면 다음을 수행합니다.
CloudStorageAggregatedEvents
| where DataAggregationEndTime >= ago(7d)
| where isnotempty(Md5Hashes)
| mv-expand HashReputation = Md5Hashes
| extend HashDetails = parse_json(HashReputation)
| project StorageAccount, AccountUpn, OperationNamesList, HashMd5 = HashDetails.md5Hash, ResourcePath = HashDetails.resourcePath, OperationType = HashDetails.operationType, ETag = HashDetails.etag