• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

synowedjat 패키지에 대하여

앨런임더 753 1

4

13

위 글을 보고 조금 흥미가 생겨서 나름대로 약간의 분석?을 해 보았습니다.

 

일단 synowedjat은 시스템 정보를 수집하여 JSON 파일을 생성하고 해당 파일을 시놀로지 서버로 전송하여 특정 행동을 취하도록 하는 패키지입니다. 위 글에 있는 헤놀로지 포럼 글에서 말하는 바에 따르면,

 

1. 패키지 업데이트를 확인할 때 synowedjat-exec 바이너리가 실행됨

2. 하드웨어 정보를 account.synology.com/wedjat 주소로 전송하고, synowedjat 패키지를 다운로드

3. "synowedjat protection" 명령어를 실행

3-1. /run/ai_tool.cpython-38.pyc 파일을 실행하여 주기적으로 Active Insight 관련 설정

3-2. 시스템 정보를 수집하여 시놀로지 서버로 전송

3-3. 서버의 응답에 따라 "synowedjat punish" 명령어 실행

 

3-2의 시스템 정보는 내부적으로 "synowedjat collect" 명령어를 실행하여 수집하는 것으로 보이는데, 해당 명령어를 실행하면 아래 파일과 같은 내용을 출력합니다.

(펜티엄 G5400(8세대), Proxmox, DS918+ 환경에서 수집한 정보입니다.)

collect.json

 

위 JSON 파일은 아래와 같은 내용을 담고 있습니다.

1. active_insight: Active Insight 관련 내용을 담고 있는 것 같은데, 정품 시리얼 사용 및 시놀로지 계정에 로그인하지 않아서 자세한 내용은 모르겠습니다.

2. cpu_info: CPU 모델명입니다.

3. datacollect: 설치할 때 익명 정보를 시놀로지에 보내겠냐고 묻는데, 아마 그것과 연관된 것 같습니다.

4. device_info: PC에 있는 PCI 장치들의 주소, Vendor ID, Device ID가 10진수 형태로 저장되어 있습니다. 위 파일에서 예를 들자면 첫번째 항목의 내용이 [0, 0, 32902, 10688]인데, 제 헤놀로지에서 lspci를 통해 확인해 보면 0000:00:00 주소에 Vendor ID가 0x8086(10진수로 32902), Device ID가 0x29c0(10진수로 10688)인 PCI 장치가 존재합니다.

5. disks: PC에 장착된 디스크들이 기록되어 있습니다. 저는 Proxmox를 사용 중이기 때문에 QEMU HARDDISK로 나오네요.

6. host_serialnumber: 무엇을 의미하는지 잘 모르겠습니다. 시놀로지의 시리얼 넘버는 아래쪽에 따로 있거든요.

7. hwid: 기기별 고유 HWID인 것 같습니다.

8. mac_addr: 랜카드의 MAC 주소입니다. array 형태로 된 걸 보아 랜카드가 여러 개인 경우 전부 표시될 것 같네요.

9. microP: 검색해 봐도 아무 것도 안 뜨는 걸로 봐선 시놀로지 내부적으로 사용하는 무언가가 아닐까 싶네요.

10. modelname: 모델명입니다. 저는 DS918+라 synology_apollolake_918+로 표시되네요.

11. module: 현재 로딩된 커널 모듈들의 목록인 듯합니다.

12. modules: 빈 배열로 되어 있는데 위의 항목과의 차이는 잘 모르겠습니다.

13. packages: 설치된 시놀로지 패키지들과 버전의 목록입니다.

14. selfcheck_result: 잘 모르겠습니다. 무엇을 셀프체크한 걸까요?

15. serialnumber: 시놀로지 시리얼 번호입니다.

16. synoboot: checksum과 filelist로 나뉘어 있는데, checksum에는 synoboot 볼륨에 있는 모든 파일의 경로와 체크섬이, filelist에는 위의 파일들이 있는 볼륨의 디바이스 파일 경로(/dev/synobootX)들이 담겨 있습니다.

17. synology_account: 시놀로지 계정 정보 같은데, 로그인되어 있지 않아서 false로 되어 있습니다. 로그인되어 있을 경우 true로 돼 있거나, 계정의 이메일 또는 ID 정보가 담긴 객체가 담겨 있을 수도 있겠네요.

18. version: 설치된 DSM 버전입니다.

 

위 내용이 담긴 JSON 파일을 시놀로지 서버로 전송하고, 응답 결과에 따라 "synowedjat punish" 명령어를 실행한다는데, 직접 실행해 보면 아래 사진과 같은 메시지를 받아볼 수 있습니다.

punished.png.jpg

 

시놀로지 계정은 로그인을 해 보지 않아서 모르겠지만, 혹시 업데이트가 진짜로 막혔나 싶어 7.2 RC로 수동 업데이트를 진행해 봤는데, 정상적으로 진행되었습니다. 아직은 표시만 되고 제대로 된 제재는 안 하는 것 같습니다.

 

결론적으로 위에서 수집해 가는 정보들을 보면 헤놀로지인지 아닌지 PCI 장치 및 CPU 정보나 부트로더 볼륨의 파일들, 그리고 시리얼 번호를 통해 충분히 감지할 수 있고, 아직 제대로 된 제재는 가하지 않는 것 같지만 7.2 RC에서 패키지명이 dlid로 바뀌었다는 걸 보면 만들어 놓고 마냥 방치만 하고 있는 것 같지도 않습니다.

 

신고공유스크랩
13
profile image 1등
ExpBox 2023.05.09. 19:24

개인정보는 따로 없는 것 같고.. 딱 그 수집한다는 문서에서 고지하는 그 정도만 있는 것 같네요.

참고로 말씀드리면 저는 DS1821+ 그러니까 AMD 칩셋(라이젠) 탑재한 녀석을 사용하는데 얘는 synowedjat에 대한 정보가 없습니다. 아마 이 때문에 dlid로 바뀌면서 새롭게 x86_64 시스템에 맞게 새로 만들었는걸지도 모르겠네요.

find /run -name "synowedjat*"랑 ls -al /run | grep synowedjat 의 결과가 아무것도 없습니다.

 

정정합니다. /usr/syno/bin/ 디렉토리에 있었네요.

profile image
ExpBox 2023.05.09. 19:35
ExpBox
https://xpenology.com/forum/topic/68080-synology-backdoor/?do=findComment&comment=441295
이 방법을 사용해봣는데 인텔 CPU가 아니라서 그런지 제대로 Synology_Archive_Extractor 가 실행이 안되네요.
앨런임더 글쓴이 2023.05.09. 19:58
ExpBox
저도 안 돼서 그냥 포럼에 있던 geminilake 바이너리 실행하니까 되더군요.. AMD에서도 잘 될지는 모르겠네요.
profile image
ExpBox 2023.05.09. 21:46
앨런임더

어떻게 실행하셨나요? 저는 Synology_Archive_Extractor는 에러 21(Failed to open SynoArchive(errno: 21))이 떠서 안되는 것 같고 그냥 패키지 수동 설치하신건가요?

너른호수 2023.05.09. 21:59
ExpBox
저도 그 스레드 2번째에 제미니레이크용 바이너리가 있어서 그걸 그대로 받아서 실행했더니 실행은 됩니다. 아마 다른 CPU 제품군에서는 실행이 안되지 싶네요.
앨런임더 글쓴이 2023.05.09. 22:34
ExpBox
포럼 스레드 중에 패키지 내에서 synowedjat 파일을 추출해서 올리신 분이 있어서 그걸 그냥 받아서 실행했습니다. 일단 같은 amd64 아키텍처니까 실행은 되지 않을까요?
profile image
ExpBox 2023.05.09. 23:11
앨런임더
그럴거라고 생각은 했는데 저 포럼에 가입이 안되어있어서요.
2등
SuperThicc 2023.05.09. 20:22
마지막 줄이 핵심이네요...
막을 방법까지 만들어 놨는데, 언제 막을지는 이제 시간문제인 것 같습니다ㅠ
3등
migm 2023.05.09. 20:57
오 상세한 분석 감사드립니다
punish 라는 어감이 별로 좋진 않네요 아직은 특별히 뭘 제한한다거나 하진 않을지 몰라도
향후 시놀로지의 방침에 따라서 불법사용 nas에 제재를 가하는 기능이 추가된다거나
혹은 외부 해커가 제로데이 취약점 등을 이용해 해당 패키지에 접근해서 nas권한을 탈취하는 등의 가능성이 전혀 없다고도 보기 힘들겠네요
너른호수 2023.05.09. 22:15
정품 및 로그인 상태에서 나오는 메시지 부분 추가드립니다. :)
1. active_insight: {"auth_issue_state":"not_affected"} 로 나옵니다. 인증 문제 없음 정도로 이해할 수 있을 것 같고요.
17. synology_account: true 로 표시됩니다. t/f로만 처리하는 것 같네요.

나머지는 올려주신 내용과 거의 대부분 같습니다. device info가 뭔가 하다가 vendor id와 product id 같다라는 생각을 어렴풋이 했는데 그게 맞군요. ㅎㅎ device info에서 SATA 컨트롤러만 Marvell(0x1b4b)이고 나머지는 전부 vendor가 Intel(0x8086)이네요.
주크 2023.05.10. 11:31
시놀로지에서도 손놓고있는건 아니었네요. 불법(?) 사용자가 많아지면 어떻게든 점점 제제가 이루어질수 있겠네요.
nadomola 2023.05.10. 15:38
여기에 있는 IG-88 가이드대로 네트워크 차단 기능을 systemctl에 등록해두었는데요 이걸로 충분할진 모르겠네요 binary를 그냥 교체해버리면 안되려나요

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 63 달소 23.05.29.01:57 25227 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26865 +23
잡담 시놀로지 포토스, 서베일런스, 그리고 PLEX 1 헬로 19시간 전16:52 195 +1
질문 지금 시점에서 7세대 나스는 아이들 전력소비가 큰가요? 6 나와너 2일 전17:35 392 +1
정보 해놀 DSM 7.2.1-69057 Update 5로 업데이트 한 이후의 AME 3.1 활성화 관련 14 FantomD 2일 전12:47 433 +4
5137 질문
image
yholics 46분 전11:35 17 0
5136 질문
image
묵월야(墨月夜) 8시간 전03:54 55 0
5135 질문
image
Noksu 9시간 전02:43 37 0
5134 잡담
normal
TheSTREET 11시간 전00:38 175 0
5133 잡담
normal
헬로 19시간 전16:52 195 +1
5132 질문
normal
게으른침대생활 23시간 전12:49 81 0
5131 질문
normal
준이건축 2일 전19:43 218 0
5130 질문
normal
나와너 2일 전17:35 392 +1
5129 질문
normal
서브어린이 2일 전15:01 134 0
5128 정보
image
FantomD 2일 전12:47 433 +4
5127 질문
normal
서브어린이 3일 전10:46 129 0
5126 질문
image
kira10 3일 전09:30 94 0
5125 질문
image
Noil 3일 전17:49 118 0
5124 질문
normal
단두대 3일 전14:41 211 0
5123 질문
normal
모프리 3일 전14:03 103 0
5122 질문
normal
모프리 4일 전11:36 166 0
5121 질문
normal
지나가는_문과생 4일 전15:13 175 0
5120 질문
image
유니파트 5일 전21:01 209 0
5119 질문
image
나스버섯 5일 전18:56 111 0
5118 질문
normal
서버왕자 6일 전09:17 104 0