Data In Motion (DIM) incidents from Symantec Data Loss Prevention (DLP) are delayed or do not appear in the Information Centric Analytics (ICA) console but are visible in the Enforce console.
Release : 6.x
Component : Symantec DLP Integration Pack
Symantec DLP incidents must first be reported to the Enforce server before they can be ingested by ICA. Once a DLP detection server reports an incident to Enforce, the incident will be ingested into ICA during the next intraday or nightly RiskFabric processing job run. Depending upon the frequency of these jobs' schedules and the gap between an incident's Occurred On and Reported On timestamps, there may be a significant delay between the date and time at which an incident occurred and its availability in the ICA database.
Consider the following examples:
Alternatively, you confirm an incident has been ingested into ICA within the timeframe expected but it does not appear in certain dashboards. These dashboards (or their underlying Analyzer views or searches) include a filter on incident status. When an incident is created in DLP, the IncidentPersister service creates a record for the incident in the DLP database. This is a multi-part process that may take several hours to complete, under certain circumstances. If ICA's staging queries run prior to all values being populated in the DLP database - like the incident status - the incident record will be imported into ICA without those values present. Subsequent processing jobs will import any values that are later added to the incident record but, initially, a new incident could be imported without yet being assigned the status value of 'New'. Consequently, if a dashboard in ICA is configured to only display incidents with a status of 'New', these new incidents will not be displayed until the persister service has recorded that status on a new incident.
If you suspect there is an abnormal delay before an incident is available in ICA, correlate the following pieces of information between DLP and ICA:
RiskFabric
relational databaseThe following queries may be of help in troubleshooting the incident creation and ingestion process:
Execute in SQL*plus or Oracle SQL Developer against the DLP Protect
relational database, replacing <ID>
with the ID of the incident under investigation:
SELECT
i.INCIDENTID,
i.MESSAGEDATE,
i.DETECTIONDATE,
i.CREATIONDATE,
a.ACTIONDATE
FROM
PROTECT.INCIDENT i
LEFT JOIN
PROTECT.INCIDENTACTION a ON i.INCIDENTID = a.INCIDENTID
WHERE
a.ACTIONDETAIL = 'incident.status.New' AND
i.INCIDENTID = <ID>;
Execute in SQL Server Management Studio (SSMS) against the Database Engine hosting the RiskFabric
relational database, replacing <ID>
with the ID of the incident under investigation:
DECLARE @id int,
@date datetime;
SET @id = <ID>;
SET @date = (SELECT IncidentDate FROM RiskFabric.dbo.LDW_DIMIncidents WITH (NOLOCK) WHERE SourceIncidentID = @id);
SELECT h.instance_id,
j.[name] AS "Job",
s.step_id AS "StepID",
s.step_name AS "StepName",
h.[message] AS "Message",
msdb.dbo.agent_datetime(run_date, run_time) AS "RunDateTime",
((h.run_duration/10000*3600 + (h.run_duration/100)%100*60 + h.run_duration%100 + 31 ) / 60) AS "Minutes"
FROM msdb.dbo.sysjobs AS j
INNER JOIN msdb.dbo.sysjobsteps AS s
ON j.job_id = s.job_id
INNER JOIN msdb.dbo.sysjobhistory AS h WITH (NOLOCK)
ON s.job_id = h.job_id AND
s.step_id = h.step_id AND
h.step_id <> 0
WHERE (
j.[name] = 'RiskFabric Processing' OR
j.[name] = 'RiskFabric Intraday Processing'
) AND
CAST(msdb.dbo.agent_datetime(run_date, run_time) AS date) >= CAST(@date AS date)
ORDER BY h.instance_id DESC;
Execute in SSMS against the RiskFabric
relational database, replacing <ID>
with the ID of the incident under investigation:
SELECT DIMIncidentID,
SourceIncidentID,
RFCreatedDate AS "IngestionDate"
FROM RiskFabric.dbo.LDW_DIMIncidents WITH (NOLOCK)
WHERE SourceIncidentID = <ID>;
Refer to the following KB articles for more information: