• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

시놀로지 백도어의 존재 및 무력화 방법

riverflow 975

6

19

일전 6.x DSM 때 xpenology 포럼에 들어가 virtio 드라이버 만들어서 컴파일하던게 생각나서.. 간만에 xpenology 포럼에 들어가봤더니 많이 바뀌었더라구요.. 당시에 특정모델 virtio_scsi 드라이버가 아무리 제대로 컴파일해도 DSM에서 인식이 되질않아 결국 포기했던 기억이 나더군요.. ㅎ

 

어쨌든 살펴보다보니 synology backdoor 토론방이 있더군요.. 내용은..

 

  1. 백그라운드 서비스가 업데이트를 확인할 때 "synopkg chkupgradepkg"가 호출됩니다.
  2.  "synopkg chkupgradepkg"가 synowedjat-exec를 시작합니다.
  3.  synowedjat-exec
       - 하드웨어 정보를 account.synology.com/wedjat에 업로드
       - synowedjat 다운로드 및 추출 .sa, 백도어가 포함된 Synology 아카이브
       - 기본 바이너리 "synowedjat protection"을 실행합니다.
  4. synowedjat에는 여러 모드가 있습니다.

     - 디버깅 모드(argv[1]에 의해 제어됨)

     - "collect" 및 "collect-enc"는 포괄적인 세트를 업로드합니다. 일반 텍스트 또는 암호화된 호스트 정보를 Synology 서버에 전송
     - "punish"는 로그인 페이지의 배경을 재설정하고 불법 복제 알림을 보냅니다.
     - "protection"이 기본 모드입니다
     - /run/ai_tool.cpython-38.pyc를 실행하여 전환합니다. "Active Insight" 패키지 설정을 사용하여 주기적으로
     - 포괄적인 호스트 정보 세트를 Synology 서버에 업로드합니다
     - 서버의 응답에 따라 "punish" 모드로 들어갑니다.

 

이게 DSM 7.2 밑의 버전에서는 synowedjat라는 프로세스가 담당했다고 하고, 7.2부터는 dlid라는 프로세스로 이름이 바뀌었답니다.

 

다행히도.. 찾아보니 선구자 분이 방지하는 스크립트를 올려놓으셨네요. 

 

 

DSM 7.2 사용자분들은 제일 밑에 있는 Orphée 님이 쓰신 7.2RC용 등록방법을 쓰시면 됩니다. 해놀 사용자분들한테는 필수일거 같습니다.

 

cf) SA6400 너무 좋은거 같은데 왜 virtio_scsi가 지원이 안되는지 ㅜㅜ, 직접 어떻게 해볼까하고 들어갔다가 발견한 정보입니다. ㅎ SATA, IDE는 너무 느리네요..

 

신고공유스크랩
19
profile image 3등
화정큐삼 2024.02.16. 15:00

제 repo 에 컴파일해서 풀 리퀘스트 하면 반영드리겠습니다. ^^

모듈이 존재는 하는데, 동작을 안하고 있나 보네요?

https://github.com/PeterSuh-Q3/arpl-modules/blob/main/epyc7002-7.2-5.10.55/virtio_scsi.ko

https://github.com/PeterSuh-Q3/arpl-modules/blob/main/src/5.x/drivers/scsi/Makefile#L140

https://github.com/PeterSuh-Q3/arpl-modules/blob/main/src/5.x/defines.epyc7002#L44

https://github.com/PeterSuh-Q3/arpl-modules/blob/main/src/5.x/drivers/scsi/virtio_scsi.c

riverflow 글쓴이 2024.02.16. 16:08
화정큐삼
말씀만으로도 고맙습니다.. 근데 드라이버가 동작을 안하는거 같아요..
profile image
화정큐삼 2024.02.16. 22:35
riverflow
드라이버 로딩을 아예안하고 있는것 같긴합니다.
SA6400 에서 DDSML 모드가 발동이 되야 최소한 이 스크립트가 도는데,
SA6400 은 EUDEV 전용으로만 돌리는 바람에 이 스크립트가 사용되고 있지 않았네요.
그리고 다시 그안에서 SA6400 에 해당하는 커널 5.10.55 버전은 virtio_scsi.ko 를 로딩조차 안하고 있습니다.
금일 SA6400 에 SAS3008 HBA 안정화 시험중인데, 이것 마치는대로 위 DDSML 모드시험도 다시 진행해 보겠습니다.

function virtio_modprobe() {
echo "Checking for VirtIO"
if (grep -r -q -E "(QEMU|VirtualBox)" /sys/devices/virtual/dmi/id/); then
echo "VirtIO hypervisor detected"
/usr/sbin/insmod /lib/modules/virtio.ko
/usr/sbin/insmod /lib/modules/virtio_ring.ko
/usr/sbin/insmod /lib/modules/virtio_mmio.ko
/usr/sbin/insmod /lib/modules/virtio_pci.ko
if [ "${LINUX_VER}" != "5.10.55" ]; then
/usr/sbin/insmod /lib/modules/virtio_blk.ko
/usr/sbin/insmod /lib/modules/virtio_net.ko
/usr/sbin/insmod /lib/modules/virtio_scsi.ko
fi
else
echo "*No* VirtIO hypervisor detected"
fi
}

if [ "${1}" = "modules" ]; then
getvars
listpci
virtio_modprobe
fi
riverflow 글쓴이 2024.02.16. 23:48
화정큐삼

커널 레벨 단에서 드라이버 로딩을 막는거 같아 포기하고 있었는데.. 너무 감사합니다~

붕업 2024.02.16. 18:50
화정큐삼
전에 저도 요청드린 사항인데, 동작이 제대로 된적이 없었습니다. ㅠ 다시 한번 봐주세요 감사합니다.
붕업 2024.02.16. 23:08
화정큐삼
promox에서 vm으로 설정할때 virtio_scsci_single로 SCSI를 설정하고 디스크를 SCSI로 설정해서 mshell설정하고 부팅했을 때 disk 인식하면 모듈이 동작하는거고 인식안되면, 모듈이 동작하지 않은 것으로 판단했습니다.
riverflow 글쓴이 2024.02.17. 10:24
붕업

저도 이렇게 동작여부를 확인했습니다. 예전에 그렇게 많이 zImage에 기기에 맞는 드라이버를 쑤셔박아도 안되더군요

profile image
화정큐삼 2024.02.19. 23:35
riverflow

오늘 SA6400 HBA 와 r8125 안정화 끝내고 virtio_scsi 처리하고 있습니다.
rr 도 마찬가지고 드라이버 자체는 문제가 없는것 같습니다.
모듈로딩결과로 디스크 인식 자체는 잘 들어오고 있습니다.

scsi 3장을 붙였는데, 아래처럼 syno_block_info 정보가 잘 보이고 있습니다.

cat /sys/block/sata*/device/syno_block_info
pciepath=0000:00:1e.0,04.0,01.0
driver=virtio
pciepath=0000:00:1e.0,04.0,02.0
driver=virtio
pciepath=0000:00:1e.0,04.0,03.0
driver=virtio

여기서 2차적인 문제가 SA6400 은 Device-Tree 기반이기 떄문에
다시 disks addon 에서 dtb 파일 매핑처리를 해줘야 합니다.
disks 애드온이 전혀동작하지 못해서 model.dts 와 model.dtb 를 못만들어 내고 있습니다.

그래서 DSM 설치시 디스크가 하나도 없다고 나오는 상태입니다.

rr 도 아직 개선을 못해서 그런거구요.
제가 지금 이부분 수정중입니다.

성공하면 rr 쪽에도 전파드려야 겠네요.

profile image
화정큐삼 2024.02.20. 00:19
riverflow
scsi device-tree 매핑룰은 또 다른것 같아 보이는데요.

이런식으로 정의를 해봤는데, SA6400 이 못알아 먹는것 같습니다.

흠...

internal_slot@7 {
protocol_type = "sata";
ahci {
pcie_root = "0000:00:1e.0,04.0,01.0";
ata_port = <0x01>;
};
};
internal_slot@8 {
protocol_type = "sata";
ahci {
pcie_root = "0000:00:1e.0,04.0,02.0";
ata_port = <0x02>;
};
};
internal_slot@9 {
protocol_type = "sata";
ahci {
pcie_root = "0000:00:1e.0,04.0,03.0";
ata_port = <0x03>;
};
};
너른호수 2024.02.16. 16:13
해당 패키지에 대해서는 작년 5월쯤에 여기에서도 잠시 얘기가 오간 적이 있었습니다. 참고해보시면 좋을 것 같아요.

https://svrforum.com/nas/783066
https://svrforum.com/nas/783276
riverflow 글쓴이 2024.02.16. 17:13
너른호수
아 역시 여기서 논의가 있었네요.. 백도어로 검색해도 안나오길래 글을 올렸는데.. 쩝. 근데 결론적으로는 시놀에서 xpenology를 막을 방법을 구비해놨다는거고, 어느분이 말씀하신 바와 같이 버전업을 하면서 자꾸 이름이 바뀌는건 그걸 놓지 않겠다는 뜻인거 같네요..
김윤일 2024.02.17. 21:23
이런 내용이 있는 줄도 모르고 있었습니다.
바로 적용시켜놓았습니다 감사합니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
쓰기
태그 : Synology
번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 62 달소 23.05.29.01:57 24958 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26548 +23
정보 토렌트 알림 디스코드로 받기 2 블랙앤해적 1일 전20:02 270 +1
질문 비추 취소 기능은 없나요..? 19 나와너 2일 전15:25 262 +7
후기 ghost 블로그를 만들어 봤습니다 12 빨간물약 4일 전15:26 420 +3
30 질문
image
서브어린이 24.04.12.21:58 86 0
29 질문
image
서브어린이 24.04.12.20:32 99 0
28 잡담
normal
니즛 24.03.24.12:38 166 0
27 질문
image
하루오빠 24.03.23.20:27 759 0
26 질문
image
ohyes 24.03.19.12:33 352 0
25 질문
image
SMILE 24.03.08.07:35 367 0
24 질문
normal
mam2apoyo 24.02.27.15:17 239 0
23 질문
image
칠성사이다 24.02.23.03:02 200 0
22 질문
normal
무명인 24.02.21.15:12 420 0
21 질문
image
90000 24.02.21.03:15 247 0
20 질문
image
짹짹이 24.02.20.06:43 389 0
가이드
normal
riverflow 24.02.16.13:34 975 +6
18 후기
image
빨간물약 24.02.16.11:16 1663 +2
17 정보
image
빨간물약 23.12.05.03:01 96 0
16 정보
normal
빨간물약 23.12.03.16:56 560 +3
15 후기
image
빨간물약 23.11.25.18:37 1037 +1
14 정보
image
빨간물약 23.11.21.20:33 374 +1
13 가이드
image
빨간물약 23.06.29.01:50 517 +1
12 정보
image
빨간물약 23.06.23.16:05 698 +1
11 가이드
image
빨간물약 23.05.29.21:28 981 +3