Microsoft Sentinel Analytic Rules
cloudbrothers.infoAzure Sentinel RepoToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

BitSight - drop in company ratings

Back
Idd8844f11-3a36-4b97-9062-1e6d57c00e37
RulenameBitSight - drop in company ratings
DescriptionRule helps to detect when there is a drop of 10% or more in BitSight company ratings.
SeverityHigh
TacticsReconnaissance
CommandAndControl
Required data connectorsBitSight
KindScheduled
Query frequency1d
Query period24h
Trigger threshold0
Trigger operatorGreaterThan
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/BitSight/Analytic Rules/BitSightDropInCompanyRatings.yaml
Version1.0.1
Arm templated8844f11-3a36-4b97-9062-1e6d57c00e37.json
Deploy To Azure
let timeframe = 24h;
BitSightGraphData
| where ingestion_time() > ago(timeframe)and toint(RatingDifferance) < 0
| extend percentage = -(toreal(RatingDifferance)/toreal(Rating))*100
| where percentage >= 10
| project RatingDate, Rating, CompanyName, percentage
status: Available
incidentConfiguration:
  createIncident: false
name: BitSight - drop in company ratings
requiredDataConnectors:
- dataTypes:
  - BitSightGraphData
  connectorId: BitSight
triggerThreshold: 0
id: d8844f11-3a36-4b97-9062-1e6d57c00e37
tactics:
- Reconnaissance
- CommandAndControl
version: 1.0.1
customDetails:
  CompanyRating: Rating
  CompanyName: CompanyName
alertDetailsOverride:
  alertDisplayNameFormat: 'BitSight : Alert for >10% drop in ratings of {{CompanyName}}.'
  alertDescriptionFormat: 'Alert is generated for {{CompanyName}}.\n\nRating Date: {{RatingDate}}\nPercentage Drop: {{percentage}}%'
queryPeriod: 24h
kind: Scheduled
eventGroupingSettings:
  aggregationKind: AlertPerResult
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/BitSight/Analytic Rules/BitSightDropInCompanyRatings.yaml
queryFrequency: 1d
severity: High
requiredTechniques:
- T1591
- T1090
description: |
    'Rule helps to detect when there is a drop of 10% or more in BitSight company ratings.'
query: |
  let timeframe = 24h;
  BitSightGraphData
  | where ingestion_time() > ago(timeframe)and toint(RatingDifferance) < 0
  | extend percentage = -(toreal(RatingDifferance)/toreal(Rating))*100
  | where percentage >= 10
  | project RatingDate, Rating, CompanyName, percentage  
triggerOperator: GreaterThan
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspace": {
      "type": "String"
    }
  },
  "resources": [
    {
      "apiVersion": "2024-01-01-preview",
      "id": "[concat(resourceId('Microsoft.OperationalInsights/workspaces/providers', parameters('workspace'), 'Microsoft.SecurityInsights'),'/alertRules/d8844f11-3a36-4b97-9062-1e6d57c00e37')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/d8844f11-3a36-4b97-9062-1e6d57c00e37')]",
      "properties": {
        "alertDetailsOverride": {
          "alertDescriptionFormat": "Alert is generated for {{CompanyName}}.\\n\\nRating Date: {{RatingDate}}\\nPercentage Drop: {{percentage}}%",
          "alertDisplayNameFormat": "BitSight : Alert for >10% drop in ratings of {{CompanyName}}."
        },
        "alertRuleTemplateName": "d8844f11-3a36-4b97-9062-1e6d57c00e37",
        "customDetails": {
          "CompanyName": "CompanyName",
          "CompanyRating": "Rating"
        },
        "description": "'Rule helps to detect when there is a drop of 10% or more in BitSight company ratings.'\n",
        "displayName": "BitSight - drop in company ratings",
        "enabled": true,
        "entityMappings": null,
        "eventGroupingSettings": {
          "aggregationKind": "AlertPerResult"
        },
        "incidentConfiguration": {
          "createIncident": false
        },
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/BitSight/Analytic Rules/BitSightDropInCompanyRatings.yaml",
        "query": "let timeframe = 24h;\nBitSightGraphData\n| where ingestion_time() > ago(timeframe)and toint(RatingDifferance) < 0\n| extend percentage = -(toreal(RatingDifferance)/toreal(Rating))*100\n| where percentage >= 10\n| project RatingDate, Rating, CompanyName, percentage\n",
        "queryFrequency": "P1D",
        "queryPeriod": "PT24H",
        "requiredTechniques": [
          "T1591",
          "T1090"
        ],
        "severity": "High",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [
          "CommandAndControl",
          "Reconnaissance"
        ],
        "templateVersion": "1.0.1",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}