IT_잡담2026. 11. 5. 22:57

 

 

 

 

 

원문 기사는 여기에

IT 전문 웹진 "더 레지스터(the Register)"의 11월 3일자 기사다. 바이낸스 거래소 해킹 과정에서 북한이 유령회사의 가짜 채용면접을 동원하는 사회공학(social engineering) 기법을 사용한 모양이다. 주요 내용을 요약해 둔다.

가상화폐 해킹 역사상 가장 큰 액수(63억 달러)가 바이낸스(Binance) 거래소에서 탈취당했는데, FBI는 해킹의 배후를 북한의 해커 조직 라자루스 그룹(Lazarus Group)과 연계된 트레이더트레이터(TraderTraitor)로 지목했다. 상당한 기간 동안 작업이 진행되었다고 하는데, 북한이 사용한 수법은 회사의 채용담당자와 CEO로 위장하여 취업 인터뷰를 지원한 바이낸스 직원에게 악성 코드를 설치하도록 유도하는 방식이었다고 한다.

공격은 6월에 한 바이낸스 직원(엔지니어A)이 악성 코드가 포함된 "홈브루(Homebrew)" 프로그램을 본인의 맥북에 설치하면서 시작되었다. 내부 보안 시스템에서 악성코드를 감지하여 해당 기기는 교체되고 인증정보도 변경되었지만, 엔지니어A가 지갑 개발 관련 엔지니어라는 점과 바이낸스 거래소 지갑 관련 IT 인프라 정보가 해커에게 노출되었다.

이후 9월에 다른 엔지니어가 구직 관련 플랫폼을 통해서 소위 프로젝트 매니저라는 어떤 사람으로부터 이직 제안을 받았다. 해당 엔지니어는 해당 회사가 유령회사인줄 모르고 이 제안을 받아들여 몇번의 채용면접을 진행했다. 첫번째 면접은 라이브 동영상 인터뷰로 진행되었고 가짜 인사담당자는 이 엔지니어에게 자신의 SNS 계정을 알려주어 개인 사진과 동영상 등을 볼 수 있게 하여 신뢰를 쌓았다.

두번째 면접은 유령회사의 CEO라는 자와 유명한 챗 어플을 통해서 이루어졌다. 면접 후반부에 CEO는 엔지니어에게 "숙제(assignment)" 명목으로 프로그램을 다운로드하게 했는데, 이 프로그램을 셋업하면서 악성코드들이 다운로드되었다. 바이낸스에 따르면, 악성코드는 정상적인 개발도구를 변조된 버전으로 대체하고 외부의 서버와 통신을 했다. 해커는 악성 스크립트가 탐지되는 것을 막기 위한 작업을 해 놓은 상태라 바이낸스의 보안 프로그램에서 문제를 즉시 찾아내지 못했다고 한다. 이렇게 해서 해커는 바이낸스의 업무용 컴퓨터에 대한 접근을 확보했다.

10월 20일, 해커는 이미 점유한 컴퓨터와 내부용 AI 도구를 이용해서 지갑 개발을 맡고 있는 엔지니어A와 또다른 지갑 개발자 엔지니어C의 컴퓨터에 접근했다. 해커는 엔지니어A가 컨테이너를 실행할 수 있는 권한이 있다는 것을 파악하고 인증 토큰을 획득했다. 10월 29일에 해커는 엔지니어C의 컴퓨터에 접근하여 엔지니어A로부터 훔친 인증 토큰을 가지고 컨테이너를 새로 실행하고 여기서 가상자산 탈취용 스크립트를 실행했다.

바이낸스는 공격의 영향을 받은 모든 기기들을 교체했고 문제가 된 지갑 시스템과 AI 도구를 재구축했다고 밝혔으며, 사법기관 및 블럭체인 정보회사들과 함께 탈취된 자산을 동결하기 위해 노력중이라고 한다.

바이낸스에서 공표한 사고조사 내용은 아래의 링크에서 확인할 수 있다.

 

https://www.binance.com/en/blog/community/3229153443759566763

728x90
Posted by 반달가면
리눅스2026. 11. 4. 21:00

리눅스 systemd에 등록된 서비스 설정을 변경할 때 주로 /etc/systemd/system 디렉토리 하위에 있는 .service 파일을 루트(root) 권한으로 편집했었는데, 별로 좋은 방법이 아니었다. 사실 시스템 서비스 설정을 건드릴 일이 거의 없었는데, ollama 설정을 바꾸면서 몇번 해당 파일을 편집했었다. 이 방법의 문제는 ollama를 최신 버전으로 업데이트하려고 설치 스크립트를 실행하여 재설치하면 ollama.service 파일이 초기화된다는 점.

알고 보니 좀 더 우아한 방법이 있었구나. 예를 들어 ollama 서비스의 설정을 변경하려면 아래와 같이 하면 된다.

# ollama 서비스에 사용자 설정 적용
sudo systemctl edit ollama

위와 같이 systemctl edit 명령을 이용하면 /etc/systemd/system/ollama.service 파일은 그대로 놔두고 사용자 설정 파일 /etc/systemd/system/ollama.service.d/override.conf 파일을 편집한다. 여기에 필요한 내용을 작성하고 저장하면 된다. 예를 들어 ollama에서 내장 그래픽(iGPU)을 사용하지 못하게 하려면 override.conf 파일에 아래와 같은 내용을 작성할 수 있겠다. 

[Service] 
Environment="OLLAMA_IGPU_ENABLE=0"

또는 systemctl edit 명령 대신 아래와 같이 직접 수동으로 해당 파일을 만들어도 된다.

cd /etc/systemd/system
sudo mkdir ollama.service.d
cd ollama.service.d
sudo vi override.conf

필요한 설정을 저장했으면 systemd에 변경된 내용을 적용한다.

 

# 변경 내용 적용
sudo systemctl daemon-reload

이제 서비스를 재시작하면 되겠다.

 

# ollama 서비스 재시작
sudo systemctl restart ollama

728x90
Posted by 반달가면
리눅스2026. 11. 3. 22:13

꽤 오래전에 사서 지금까지 나름 그럭저럭 사용중인 아수스 R564DA-BQ774 노트북에 설치된 리눅스 민트(Linux Mint) 21 XFCE를 업그레이드했다. 처음 구입했을 때 설치했던 것은 리눅스 민트 20XFCE였는데 버전 21로 업데이트해서 쓰다가 이번에 최신 버전인 22.3으로 업그레이드했다. 

리눅스 민트 21에서 22로 업그레이드하려면 일단 버전 21의 마지막 버전인 21.3까지 먼저 업그레이드를 해야 한다. 리눅스 민트에서 제공되는 시스템 리포트 프로그램을 실행하면 "System Reports" 항목에서 새로운 버전이 있다는 메시지가 나오는데("a new version of linux mint is available"), 여기서 업데이트를 선택해서 21.3까지 업데이트한다. 시스템 리포트 프로그램은 어플리케이션 메뉴에서 검색해서 실행하거나 터미널창에서 아래와 같이 입력해서 실행하면 된다. 

# system report 실행 
mintreport

버전 21.3까지 업데이트한 후 패키지 업데이트를 한번 더 해 주었다. 

# S/W 저장소 정보 갱신
sudo apt update

# 패키지 업데이트
sudo apt upgrade

문제 없나 확인차 재부팅하고 좀 사용해 보니 괜찮은 듯하여 민트 22로 업그레이드를 시도. 업그레이드 프로그램을 먼저 설치해야 한다.

# 민트 업그레이드 프로그램 설치
sudo apt install mintupgrade

이제 루트(root) 권한으로 업그레이드 프로그램 실행.

 

# 업그레이드 실행 
sudo mintupgrade

업그레이드 프로그램에서 시스템 체크를 한 후 시스템 스냅샷(system snapshot)을 만들라는 안내가 나온다. 업그레이드 과정에서 문제가 생길 경우에 대비해서 스냅샷을 만들어야만 진행이 되는 것 같다. 스냅샷 만드는 창이 나와서 하나 만들고 다음으로 진행. 

"고아가 된 패키지(orphan package)" 경고가 나왔다. 패키지 목록을 보니 커널 관련 패키지(linux-modules-5.15-41-generic, linux-modules-extra-5.15-41-generic)와 버추얼박스(virtualbox-6.1)다. 업그레이드하면서 통상 설치된 어플리케이션들이 유지되는데 이 패키지들은 불가능하다는 경고다. 커널은 당연히 6.x로 바뀔 것이고 버추얼박스는 다시 받아서 설치하면 되므로 "OK" 클릭하고 그대로 진행. 

한참 패키지를 다운로드하고 설치하고 하더니, 이번에는 "외부 패키지(foreign packages)" 경고라는 것이 나왔다. caribou와 base-files 패키지가 표시되는데 "Fix" 클릭하고 진행했더니 업그레이드가 완료되었다. 

재부팅해서 좀 사용해 보니 일단 별 문제 없이 잘 된 것 같다. 여기가지가 리눅스 민트 22로 업그레이드한 것이다. 

버전 22.3까지 업데이트하기 다시 시스템 리포트 프로그램을 실행.

# system report 실행
mintreport

앞에서 버전 21.3으로 업데이트했을 때와 마찬가지로 여기서 버전 22.3으로 업데이트하면 된다. 

시간이 좀 걸리긴 했는데 크게 문제 없이 잘 업그레이드된 것 같다. 커널 버전을 확인해 보니 6.8.0이다. 

# 커널 버전 확인
uname -a

 

문제가 없는 것 같아서 이전 버전에서 만들었던 스냅샷을 삭제했다. 우선 스탭샷 목록을 확인한다. 

 

# 스냅샷 목록 

timeshift --list

 

스냅샷 2개가 보인다. 0번은 버전 21에서 만든 것이 분명하고 1번은 업그레이드한 후에 만들어진 것 같은데 자동으로 만들어진 것 같다. 어쨌든 0번을 삭제하기로. 아래와 같이 삭제 모드로 들어간다. 

 

# 스냅샷 삭제

sudo timeshift --delete

 

삭제할 스냅샷 번호를 입력하라는 메시지나 나오면 0번 입력하고 삭제. 1번 스냅샷은 현재 상태로 좀 더 사용해 본 후에 어떻게 할 지 생각해 보기로. 

 

 

728x90
Posted by 반달가면
리눅스2026. 11. 1. 09:09

ollama에서 구동한 AI 언어모델(LLM)의 파라메터를 조회하고 변경하는 방법이다. 우선 모델을 구동한다. 

# qwen3.5:9b 모델 구동 
ollama run qwen3.5:9b

실행중인 모델의 파라메터를 조회하려면 아래와 같이 입력.

/show parameters

출력 예시는 아래와 같다. 

Model defined parameters:
  temperature                    1
  top_k                          20
  top_p                          0.95
  presence_penalty               1.5

예를 들어 temperature 값을 0.7로 변경하고 싶다면 아래와 같이 입력. 

/set parameter temperature 0.7

파라메터(parameter)의 단수/복수에 유의하자. /show 명령에서는 복수(parameters)이고 /set 명령에서는 단수(parameter)임에 유의.

굳이 파라메터 기본값을 바꿀 필요가 없는 경우가 대부분이긴 할 것 같으나, qwen3.5의 경우 사고/생각(think) 기능이 있는 모델이기 때문에 프롬프트를 입력하면 사고 과정을 거친 후에 답변을 출력한다. 파라메터 기본값은 이것을 기준으로 설정되어 있다. 만약 사고 과정 없이 즉시 답변하도록 사고/생각 과정이 없는 "nothink" 모드를 설정할 경우, temperature 값을 낮추는 것이 좀 더 낫다고 한다. temperature가 높으면 답변의 무작위성/창의성이 증가하는데, think 모드에서는 사고 과정이 있기 때문에 무작위성 증가에 따른 오류 가능성이 어느 정도 감소하는 것 같고, nothink 모드에서는 정확성/일관성 측면에서 무작위성을 좀 줄이는 것이 더 나은 모양이다. 이런 이유 때문에 프롬프트의 성격에 따라 파라메터 값을 조정하면 좀 더 나은 결과를 얻을 수 있는 것으로 보인다. 나머지 top_k, top_p, presence_penalty 등도 영향이 있긴 하겠으나 temperature의 영향이 주요한 것 같다. 

qwen3.5:9b의 경우 권장되는 temperature 값은 아래와 같다. 나머지 파라메터들은 기본값을 유지하면 될 듯. 

think 모드에서 일반작업: temperature 1

think 모드에서 코딩: temperature 0.6

nothink 모드에서 일반작업: temperature 0.7

qwen3.5:9b에서 nothink 모드를 사용한다면 temperature 값도 낮춰주면 좀 더 답변 품질이 나아질 가능성이 있다. 모델 실행후 아래와 같이 입력.

/set nothink
/set paramter temperature 0.7

728x90
Posted by 반달가면