본문 바로가기

네트워크 기초 이론

[네트워크] SIP 프로토콜 / SIP 공격 유형 / Splunk SPL 쿼리 만드는 법 / SIP 패킷 분석

🔹 SIP 프로토콜이란? Session Initiation Protocol 

SIP(Session Initiation Protocol)은 인터넷을 통해 음성, 영상, 메시징 등의 실시간 통신을 설정, 수정, 종료하는 데 사용하는 프로토콜이야. 쉽게 말해서 전화 통화나 화상 회의를 인터넷에서 가능하게 해주는 기술이다.


🔹 SIP의 핵심 개념

  1. 세션(Session) 관리
    • 전화를 걸거나 받을 때 세션을 생성하고, 유지 및 종료하는 역할을 함.
  2. 신호(Signaling) 역할
    • 실제 음성이나 영상 데이터는 RTP(Real-time Transport Protocol) 같은 다른 프로토콜이 전달하고,
      SIP는 전화번호를 누르고 신호를 보내는 역할만 함.
  3. IP 기반 통신
    • 일반 전화망(PSTN)이 아니라 인터넷(VoIP, Voice over IP)을 통해 통화할 때 사용됨.

🔹 SIP의 실제 사용 사례

  1. 인터넷 전화(VoIP)
    • Skype, 카카오톡, Zoom 같은 서비스에서 사용됨.
  2. 기업용 IP 전화 시스템
    • 회사에서 사용하는 IP 전화기(PBX 시스템)도 SIP 기반.
  3. 화상 회의
    • MS Teams, Webex 같은 서비스에서 SIP로 세션을 관리함.

🔹 SIP 관련 주요 공격 유형

* 스캔성 공격이 가장 많으며 이때 대응이 신속하게 이루어져야 한다.

1️⃣ SIP Scanning (SIP 스캔 공격)

  • 설명:
    • 공격자가 SIP 서버(예: VoIP PBX, IP 전화기, SIP 게이트웨이)의 활성 계정을 찾기 위해 무차별 대입(Brute Force) 또는 대역 스캔을 수행하는 공격.
    • 주로 SIP 5060/5061 포트를 대상으로 함.(밑에 사진에서 확인)
  • 공격 방식:
    • 공격자가 SIP 서버를 스캔하여 응답하는 계정이나 장비 확인.
    • SIP INVITE, REGISTER , OPTIONS 요청을 무작위로 보내 정상 응답이 오는지 체크.
  • 탐지 예시 (SIP 패킷 분석):
    •  OPTIONS 메서드 사용 (SIP OPTIONS 메서드는 서버의 상태나 지원 기능을 확인하기 위해 사용됩니다.)
    • INVITE sip:100@target.com SIP/2.0
    • INVITE나 REGISTER 메시지를 반복적으로 보내면서 SIP 계정을 무작위로 테스트하는 행위. 
       
  • 대응 방안:
    ✅ SIP 트래픽 모니터링 및 비정상적인 대량 요청 탐지
    ✅ 불필요한 외부 IP 접근 차단 -> 이 방법이 가장 많이 사용됨!

  1. 반복적인 OPTIONS 요청은 스캔성으로 의심할만 하다.
  2. 5060 포트로 분명한 SIP 접근이 명확하다.
  3. 사용자(ID : 100)는 특정 엔드포인트로 대량 접근하고 있다.

1️⃣ via

  • 분석: 소스 IP에서 요청이 발송되었음을 나타냅니다. rport 파라미터는 NAT 트래버설을 위한 것으로, 외부에서 내부 서버와 통신하려는 시도를 암시합니다.
  • 의심점: branch 값이 고유하다는 것은 각 요청이 별도로 생성되었음을 의미하며, 자동화된 스캐닝 도구의 특징일 수 있습니다.

2️⃣ From

  • 분석: From 헤더에 "sipvicious"라는 사용자 이름이 명시되어 있습니다. "SipVicious"는 SIP 취약점을 스캔하기 위한 유명 오픈소스 도구로, 공격자가 사용했을 가능성이 높습니다.
  • 공격 확정: "sipvicious" 스캐닝 도구 사용
구글 검색시

 

깃허브 페이지 / 오픈소스
 

WINS

인공지능 보안기업, IPS, 디도스, APT방어, 차세대방화벽, AI보안관제, 클라우드보안, 보안SI, 보안컨설팅

www.wins21.co.kr

 

윈스에서 분석 보고서를 쓴게 있는데 도움이 될 것 같습니다.http://www.wins21.co.kr/kor/promotion/information.html?bmain=view&language=KOR&uid=169

 

 

3️⃣ User-Agent

  • 분석: User-Agent가 "friendly-scanner"로 설정되어 있습니다. 이는 스캐닝 도구임을 명시적으로 드러내는 값으로, 정상적인 SIP 클라이언트(예: Asterisk, Cisco 등)와 다릅니다.
  • 의심점: "friendly-scanner"는 일반적으로 악성 스캐닝 도구의 식별자(위 도구 사용시)이며, 공격의 의도가 명확합니다.

2️⃣ SIP Brute Force 공격 

- 이런게 있다 정도로만 이해하자

  • 설명:
    • 공격자가 SIP 서버에 로그인할 수 있는 계정을 찾기 위해 여러 개의 사용자명/비밀번호 조합을 시도하는 공격.
    • VoIP 계정 탈취 후, 불법 전화(프리미엄 번호) 연결 또는 스팸 통화에 악용됨.

🔹 탐지 쿼리를 어떻게 만들어야 하나?

- 순서

1️⃣ IDS 데이터를 조회한다.

  • 최근 몇분(예 : 10m) 이내의 로그를 조회한다.
  • SIP가 포함된 공격 시그니처를 필터링 한다.

2️⃣ SIP 공격 발생시 src IP 를 선정한다.

  • 공격자가 SIP 관련 공격을 수행하는 경우, 여러 개의 SIP 대상(dest)을 시도하는 경향이 있음.
  • dc(dest) >= 500 → 500개 이상의 SIP 대상에게 공격을 시도한 src(공격자 IP)만 필터링하면 된다.
  • 즉, "SIP 스캔 공격을 수행하는 IP"를 탐지하는 것!

3️⃣ 기차단된 IP 여부 확인 (ACL 차단 여부)

  • 스플렁크 데이터를 참조해서 해당 src IP가 기존에 차단된 IP인지 여부를 확인한다. (회사마다 다르겠지만 기차단 IP 데이터를 따로 관리하는 테이블이 있을것이다.)

4️⃣ 공격자 IP 위치 조회 및 필터링

  • 회사마다 스플렁크에서 쓰는 컬럼을 이용해 공격자의 국가 및 ISP 정보 확인
  • 해외 공격만 필터링한다.

5️⃣ 화이트리스트 필터링

  • 회사가 신뢰하는 IP는 제외한다.
  • SIP 스캔 공격이라고 의심되는 IP라도, 만약 신뢰할 수 있는 내부 시스템이나 특정 ISP에서 발생한 경우라면 차단하지 않도록 예외 처리할 수 있다.
  • 이걸 통해서 → 차단이 가능한 공격자 IP만 추출

6️⃣ 결과 정리 및 저장

  • 최종적으로 공격자 IP(src), 국가, ISP 정보, 대상 개수(dest_count), 이벤트 개수(event_count) 를 출력. -> 알럿, 메일 등 발송
  • 가장 많은 이벤트가 발생한 순으로 테이블에 저장(분석 시)