AQL 검색 문자열 예
AQL ( Ariel Query Language) 을 사용하여 Ariel 데이터베이스의 이벤트, 플로우 및 simarc 테이블에서 특정 필드를 검색합니다.
계정 사용 보고
다양한 사용자 커뮤니티에서 다양한 위협 및 사용 표시기를 사용할 수 있습니다.
몇 가지 사용자 특성(예: 부서, 위치 또는 관리자)에 대해 보고하려면 참조 데이터를 사용하십시오. 외부 참조 데이터를 사용할 수 있습니다.
다음 조회는 로그인 이벤트에서 해당 사용자에 대한 메타데이터 정보를 리턴합니다.
SELECT
REFERENCETABLE('user_data','FullName',username) as 'Full Name',
REFERENCETABLE('user_data','Location',username) as 'Location',
REFERENCETABLE('user_data','Manager',username) as 'Manager',
DISTINCTCOUNT(username) as 'Userid Count',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
COUNT(*) as 'Event Count'
FROM events
WHERE qidname(qid) ILIKE '%logon%'
GROUP BY 'Full Name', 'Location', 'Manager'
LAST 1 days
다중 계정 ID에 대한 통찰
이 예제에서 개별 사용자는 네트워크에서 다중 계정을 가집니다. 조직에는 하나의 사용자 활동 보기가 필요합니다.
참조 데이터를 사용하여 로컬 사용자 ID를 글로벌 ID로 맵핑하십시오.
다음 조회는 의심(suspicious)으로 플래그된 이벤트에서 임의의 글로벌 ID로 사용되는 사용자 계정을 리턴합니다.
SELECT
REFERENCEMAP('GlobalID Mapping',username) as 'Global ID',
REFERENCETABLE('user_data','FullName', 'Global ID') as 'Full Name',
DISTINCTCOUNT(username),
COUNT(*) as 'Event count'
FROM events
WHERE RULENAME(creEventlist) ILIKE '%suspicious%'
GROUP BY 'Global ID'
LAST 1 days
다음 조회는 글로벌 ID로 완료되는 활동을 표시합니다.
SELECT
QIDNAME(qid) as 'Event name',
starttime as 'Time',
sourceip as 'Source IP', destinationip as 'Destination IP',
username as 'Event Username',
REFERENCEMAP('GlobalID_Mapping', username)as 'Global User'
FROM events
WHERE 'Global User' = 'John Doe'
LAST 1 days의심스러운 장기 비코닝 식별
다수의 위협은 명령 및 제어를 사용하여 몇 일, 몇 주 및 몇 개월에 걸쳐 주기적으로 통신합니다.
고급 검색은 시간이 경과함에 따라 연결 패턴을 식별할 수 있습니다. 예를 들어, IP 주소 간 또는 IP 주소와 지리적 위치 간의 일/주/월당 일관적, 단기, 낮은 볼륨 연결 및 연결 수를 조회할 수 있습니다.
다음 조회는 시간별 비코닝의 잠재적 인스턴스를 발견합니다.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'HH')) as 'different hours',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection = 'L2R'
GROUP BY sourceip, destinationip
HAVING "different hours" > 20
AND "total flows" < 25
LAST 24 hours
다음 조회는 매일 비코닝의 잠재적 인스턴스를 발견합니다.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'dd'))as 'different days',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection='L2R'
GROUP BY sourceip, destinationip
HAVING "different days" > 4
AND "total flows" < 14
LAST 7 days
다음 조회는 소스 IP와 대상 IP 간의 매일 비코닝을 발견합니다. 비코닝 시간은 매일 동일하지 않습니다. 비콘 사이의 시차가 짧습니다.
SELECT
sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG( hourofday*hourofday) - (AVG(hourofday)^2))as variance,
COUNT(*) as 'total flows'
FROM flows
GROUP BY sourceip, destinationip
HAVING variance < 01 and "total flows" < 10
LAST 7 days다음 조회는 프록시 로그 이벤트를 사용하여 도메인에 대한 매일 비코닝을 발견합니다. 비코닝 시간은 매일 동일하지 않습니다. 비콘 사이의 시차가 짧습니다.
SELECT sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG(hourofday*hourofday) - (AVG(hourofday)^2)) as variance,
COUNT(*) as 'total events'
FROM events
WHERE LOGSOURCEGROUPNAME(devicegrouplist) ILIKE '%proxy%'
GROUP BY url_domain
HAVING variance < 0.1 and "total events" < 10
LAST 7 daysurl_domain 특성은 프록시 로그의 사용자 정의 특성입니다.
외부 위협 정보
외부 위협 정보 데이터와 상관되는 사용 및 보안 데이터는 중요한 위협 표시기를 제공합니다.
고급 검색은 기타 보안 이벤트 및 사용 데이터와 외부 위협 정보 표시기를 상호 참조할 수 있습니다.
다음 조회는 여러 날, 주 또는 개월 동안의 외부 위협 데이터에 대한 프로파일을 작성하여 자산 및 계정의 위험 레벨을 식별하고 우선순위를 지정하는 방법을 보여줍니다.
Select
REFERENCETABLE('ip_threat_data','Category',destinationip) as 'Category',
REFERENCETABLE('ip_threat_data','Rating', destinationip) as 'Threat Rating',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
DISTINCTCOUNT(destinationip) as 'Destination IP Count'
FROM events
GROUP BY 'Category', 'Threat Rating'
LAST 1 days
자산 정보 및 구성
위협 및 사용 표시기는 자산 유형, 운영 체제, 취약성 형태, 서버 유형, 분류 및 기타 매개변수에 따라 다릅니다.
이 조회에서 고급 검색 및 자산 모델은 위치에 대한 운영상의 통찰을 제공합니다.
Assetproperty 함수는 자산에서 특성 값을 검색하며, 이 함수를 사용하여 결과에 자산 데이터를 포함할 수 있습니다.
SELECT
ASSETPROPERTY('Location',sourceip) as location,
COUNT(*) as 'event count'
FROM events
GROUP BY location
LAST 1 days 다음 조회는 고급 검색과 자산 모델의 사용자 ID 추적을 사용하는 방법을 보여줍니다.
AssetUser 함수는 자산 데이터베이스에서 사용자 이름을 검색합니다.
SELECT
APPLICATIONNAME(applicationid) as App,
ASSETUSER(sourceip, now()) as srcAssetUser,
COUNT(*) as 'Total Flows'
FROM flows
WHERE srcAssetUser IS NOT NULL
GROUP BY App, srcAssetUser
ORDER BY "Total Flows" DESC
LAST 3 HOURSNetwork LOOKUP 함수
Network LOOKUP 함수를 사용하여 IP 주소와 연관된 네트워크 이름을 검색할 수 있습니다.
SELECT NETWORKNAME(sourceip) as srcnet,
NETWORKNAME(destinationip) as dstnet
FROM events Rule LOOKUP 함수
Rule LOOKUP 함수를 사용하여 ID로 룰의 이름을 검색할 수 있습니다.
SELECT RULENAME(123) FROM events다음 조회는 특정 룰 이름을 트리거한 이벤트를 리턴합니다.
SELECT * FROM events
WHERE RULENAME(creEventList) ILIKE '%my rule name%'전체 텍스트 검색
TEXT SEARCH 연산자를 사용하면 고급 검색 옵션을 사용하여 전체 텍스트 검색을 실행할 수 있습니다.
이 예제에서는 페이로드 내에 "firewall"이라는 단어가 포함된 다수의 이벤트가 존재합니다. 사용자는 로그 보기 탭에서 빠른 필터 옵션 및 고급 검색 옵션을 사용하여 이러한 이벤트를 검색할 수 있습니다.
- 빠른 필터 옵션을 사용하려면 빠른 필터 상자에 'firewall'을 입력하십시오.
- 고급 검색 옵션을 사용하려면
고급 검색 상자에 다음의 조회를 입력하십시오.
SELECT QIDNAME(qid) AS EventName, * from events where TEXT SEARCH 'firewall'
사용자 정의 특성
고급 검색 옵션을 사용하면 이벤트 및 플로우에 대한 사용자 정의 특성을 액세스할 수 있습니다.
SELECT "MyWebsiteUrl", * FROM events ORDER BY "MyWebsiteUrl"