아임노드

Splunk_검색 #3 본문

 

통계 계산

 

stats 명령어와 함수 사용)

  • 각종 통계 함수를 이용해서 데이터를 계산한다.
  • 각 함수는 필드명을 인자로 받아서 해당 함수가 제공하는 기능에 따라 값을 반환한다.
  • 대표 함수
    • count(X) : X 필드의 개수 반환
    • dc(X) : X 필드의 중복을 제거한 개수 반환
    • sum(X) : X 필드의 총합 반환
    • avg(X) : X 필드의 평균 반환
    • list(X) : X 필드를 목록으로 만들어 반환
    • values(X) : X 필드의 중복을 제거한 목록을 반환
    • max(X) : X 필드의 최댓값 반환
    • median(X) : X 필드의 중앙값 반환
    • min(X) : X 필드의 최솟값 반환
    • var(X) : X 필드의 분산 값 반환
    • stdev(X) : X 필드의 표준편차 반환
  • 평균과 중앙값 차이
    • 평균은 개별 항목 값을 모두 더한 다음, 해당 총합을 개별 항목 개수로 나누는 것
    • 중앙값은 나열한 전체 데이터에서 중앙에 위치하는 값을 취하는 것
  • 사용
    • ...| stats [count|dc|sum|avg|...] by 필드명 
    • 통계 함수는 사용자 이상징후를 판별할 때 자주 사용
    • ex) 사용자마다 외부로 전송하는 바이트의 총합을 구하고 다른 사람보다 월등히 많이 전송하는 사용자를 찾을 수 있다.

top)

  • 지정한 필드에서 가장 많이 나오는 값을 보여주는 명령어
  • 검색어 처음에 top 명령어가 나올 순 없다.
    • 검색 결과를 파이프로 입력받아서 계산한 후에 -> 결과를 반환하기 때문
  • <검색어> | top limit=<숫자> [showperc=T/F] [showcount=T/F] [useother=T/F] 필드1, 필드2 by 필드
    • limit는 반환되는 결과 개수 지정 (지정하지 않으면 기본적으로 10개, limit=10/ 전체 값은 limit=0)
    • showperc는 해당 값이 차지하는 비율
    • showcount는 해당 값의 개수
    • 위 두 옵션 다 기본 값은 T (즉, 지정하지 않더라도 비율과 개수 보여줌)
    • [useother=T]는 상위 10개 외에 다른 숫자의 크기
      • 결과 전체의 수와 비율을 알 수 있다.
  • top 명령어는 빈도가 높은 통계 결과를 추출하는 명령어로 향후 대시보드 보고서를 작성할 때 가장 많이 사용함
  • 사용 사례
    • DNS 질의를 가장 많이 요청한 출발지 IP, 접속 실패를 가장 많이 한 사용자 목록 추출 등
  • 보안 분야에서 top은 현황 파악에 가장 첫 번째 수단임을 기억하자.

 

rare)

  • (top과 정반대의 결과인) 빈도가 적은 값의 순서 추출
  • 사용하는 옵션값은 top과 동일
  • 사용 사례
    • 비정상 행위를 찾을 때
    • 사내에서 사용자가 사용하는 프로그램을 조사할 때, 소수의 컴퓨터에서 동작 중인 프로그램이 있다면
      그것이 허가받지 않은 프로그램이거나 몰래 설치된 프로그램일 수 있다.

len(X)

  • 문자열의 길이를 양의 정수 값으로 돌려준다.
  • 사용 사례
    • 문자열 길이를 활용해서 비정상적인 값 추출
    • 도메인 길이가 비정상적으로 길다면 정상 도메인이 아닐 확률이 높다.