패턴 분석
트래픽 데이터의 시각적 패턴 을 분석하여 봇 트래픽의 특징적인 규칙성을 식별합니다. 자연스러운 트래픽은 무작위적인 변동을 보이지만, 봇 트래픽은 기계적인 규칙성을 나타냅니다.
- 가중치
- 35%compositeScore 의 1/3 강
- 알고리즘
- 4모두 ref impl
- 탐지 타입
- 4종정상 / 선형 / 계단 / 반복
패턴 분석의 핵심
실제 사용자는 각자 다른 생활 패턴을 가지고 있어 방문 시간과 행동이 다양합니다. 반면, 봇은 프로그래밍된 규칙에 따라 움직이기 때문에 다음 과 같은 특징을 보입니다:
사람 트래픽
봇 트래픽
정상 패턴 분석 실 구현pattern.cv
방문자 수 변화가 얼마나 자연스러운지를 측정합니다. 정상적인 블로그 는 방문자 수가 자연스럽게 오르내리지만, 조작된 트래픽은 너무 규칙적이 거나 일정한 양상을 보입니다. 마치 심장 박동처럼 자연스러운 변화가 있어야 건강한 것처럼, 트래픽도 적당한 변동이 있어야 자연스럽습니다.
동작 원리 (시각화)
수식
변수
- — 변동계수. 0.2 이상이면 정상, 미만이면 비정상적으로 일정한 패턴
- — 표준편차. 데이터가 평균에서 얼마나 흩어져 있는지
- — 평균. 데이터의 중심값
판정 기준
| 조건 | 의미 |
|---|---|
CV ≥ 0.2 | 정상적인 변동성 |
CV < 0.2 | 비정상적으로 일정함 |
전문가용 기술 설명
변동계수 (Coefficient of Variation) 는 표준편차를 평균으로 나눈 값으로, 서로 다른 스케일의 데이터를 동일한 척도로 비교할 수 있게 해줍니다. 방문자 트래픽처럼 시간에 따라 절대값이 크게 변하는 데이터에 적합한 지표입니다.
도메인 코드: pattern.cv (domain-nocheat-analyzer)
선형 패턴 분석 실 구현pattern.r2
방문자 증가가 직선처럼 너무 규칙적인지 확인합니다. 자연스러운 블로그 성장은 들쭉날쭉하게 증가하지만, 봇 트래픽은 마치 시계처럼 정확하게 일정한 속도로 증가하는 경향이 있습니다.
동작 원리 (시각화)
수식
변수
- — 결정계수 (0~1). 1에 가까울수록 완벽한 직선
- — 실제값 (i번째 시점의 방문자 수)
- — 회귀선에서의 예측값
- — 방문자 수 평균
- — 잔차제곱합
- — 총제곱합
판정 기준
| 조건 | 의미 |
|---|---|
R² ≥ 0.99 | 비정상적 선형 패턴 |
R² < 0.99 | 자연스러운 변동 포함 |
전문가용 기술 설명
결정계수는 단순 선형 회귀의 적합도 지표로, 데이터가 직선 모형에 얼마나 잘 맞는지를 01 사이 값으로 표현합니다. 사람이 만든 블로그 성장은 보통 가 0.60.9 정도이고, 봇이 일정한 양을 추가하는 매크로는 0.99 이상 의 R² 를 보이는 경향이 있습니다.
계단식 패턴 분석 실 구현pattern.step
방문자 수가 계단처럼 갑자기 올라가고 멈추는 패턴을 찾습니다. 마치 정해진 시간에 정해진 양만큼 방문자가 추가되는 것처럼 보이면 의심스 럽습니다.
동작 원리 (시각화)
수식
변수
- — 계단 일관성 (0~1, 1에 가까울수록 규칙적)
- — 계단 높이의 표준편차
- — 평균 계단 크기
파라미터
minStepSize = 5— 최소 계단 크기 (이하 무시)flatThreshold = 3— 평탄 구간 판정 기준
판정 기준
| 조건 | 의미 |
|---|---|
consistency ≥ 0.8 | 의심 패턴 |
consistency < 0.8 | 자연스러운 변동 |
전문가용 기술 설명
급격한 증가 후 평탄 구간이 반복되는 패턴을 탐지합니다. 도메인 구현은 delta 시퀀스 위에 robust z-score (median + MAD) 를 돌려 step 후보를 추출한 뒤, 추출된 step 의 높이/간격 일관성을 측정합니다.
반복 패턴 분석 실 구현pattern.repeat
같은 패턴이 시간별로 반복되는지 확인합니다. 매일 같은 시간대에 같은 방식으로 방문자가 증가한다면 봇일 가능성이 높습니다.
동작 원리 (시각화)
수식
변수
- — 상관계수 (-1~1, 1에 가까울수록 동일 패턴 반복)
- — 비교할 두 시간 구간의 데이터
- — 각 구간의 평균값
파라미터
chunkSize = 12— 비교 단위 크기 (5분 간격 데이터의 1시간 구간)
판정 기준
| 조건 | 의미 |
|---|---|
ρ ≥ 0.8 | 반복 패턴 — 봇 의심 |
ρ < 0.8 | 자연스러운 차이 |
전문가용 기술 설명
도메인 구현은 ACF (Autocorrelation Function) 의 lag 1~3 자기상관을 직접 계산해 반복 신호를 찾습니다. 사용자에게 노출되는 본 페이지는 "청크 간 상관계수" 라는 더 직관적 표현으로 같은 개념을 설명.
패턴 분석 점수 계산
패턴 분석 점수는 정상성 점수를 기본으로 하고, 의심 패턴이 발견될 때마다 페널티를 적용합니다:
| 항목 | 가중치/페널티 |
|---|---|
| 정상성 기본 점수 | × 0.4 |
| 선형 패턴 페널티 | 최대 -50점 |
| 계단 패턴 페널티 | 최대 -30점 |
| 반복 패턴 페널티 | 최대 -40점 |