Máy Tính

Khám Phá Red Star OS 3: Hệ Điều Hành Bí Ẩn Của Triều Tiên và Những Phát Hiện Giám Sát Độc Đáo

Red Star OS 3 được kích hoạt ngôn ngữ tiếng Anh

Triều Tiên luôn là một quốc gia thu hút sự chú ý đặc biệt từ góc độ công nghệ. Dưới chế độ kiểm soát chặt chẽ, công dân nước này gần như bị cô lập hoàn toàn với thế giới bên ngoài, và việc nhập cảnh bị hạn chế nghiêm ngặt. Những thông tin chúng ta biết được chủ yếu thông qua hình ảnh vệ tinh, lời kể của những người đào tẩu, và các báo cáo thường xuyên mâu thuẫn. Chính vì vậy, Red Star OS 3 – một bản phân phối Linux dựa trên Fedora được Triều Tiên phát triển – trở nên cực kỳ hấp dẫn. Nó mang đến một cái nhìn hiếm hoi vào một thế giới phần lớn chưa được biết đến. Với vai trò là chuyên gia tại congnghemoi.net, tôi đã cài đặt và chạy thử hệ điều hành này trong một máy ảo để khám phá những bí ẩn ẩn giấu bên trong.

Phiên bản Red Star OS 3 mà chúng tôi đang phân tích đã bị rò rỉ cách đây gần một thập kỷ. Trên thực tế, phiên bản kế nhiệm của nó, Red Star OS 4, được cho là dựa trên Ubuntu, mặc dù phiên bản này ít khi lọt vào tay giới báo chí và chưa thể tải về công khai. Dù đã một thập kỷ trôi qua và có nhiều thông tin về Red Star OS 3 rải rác trên internet, tôi vẫn tin rằng việc khám phá lại nó là cần thiết để làm nổi bật những khía cạnh đặc biệt nhất của hệ điều hành này, cũng như những gì nó tiết lộ về một đất nước bí ẩn mà chúng ta ít biết đến. Và hóa ra, vẫn còn nhiều điều để tìm hiểu, khi tôi đã phát hiện ra một số chức năng chưa từng được báo cáo ở bất kỳ đâu trước đây.

Đối với những ai muốn bắt đầu hành trình khám phá Red Star OS, có một vài điều quan trọng cần biết. Thứ nhất, như bạn có thể dự đoán, hệ điều hành này bị khóa chặt ngay từ đầu, theo dõi các tệp người dùng truy cập và chặn quyền truy cập vào internet toàn cầu. Thứ hai, nếu bạn định tự chạy nó, mặc dù hiện tại có vẻ an toàn để chạy hệ điều hành này trên mạng gia đình với quyền truy cập internet hạn chế, nhưng vẫn nên tuyệt đối không cung cấp cho hệ điều hành này quyền truy cập vào mạng internet của bạn.

Để phục vụ mục đích thử nghiệm, tôi đã không cấp cho Red Star OS một bộ chuyển đổi mạng trong VirtualBox. Thành thật mà nói, không có quá nhiều điều phải lo lắng khi chạy nó. Mặc dù về lý thuyết, việc thoát khỏi máy ảo (VM escape) có thể xảy ra thông qua một trình điều khiển ảo do VM tạo ra, nhưng khả năng một hệ điều hành đã mười năm tuổi và được nghiên cứu kỹ lưỡng vẫn có thể khai thác một môi trường hiện đại là cực kỳ thấp. Hơn nữa, tất cả các kết nối chính của nó đều hướng đến mạng intranet của Triều Tiên, vì vậy nó dường như không thể “gọi về nhà” (phone home) ra bên ngoài.

Red Star OS là gì?

Lịch sử phát triển thú vị

Red Star OS, như đã đề cập, là một bản phân phối Linux được phát triển ở Triều Tiên. Nó bắt đầu được phát triển vào năm 1998, và phiên bản đầu tiên xuất hiện vào năm 2008 với giao diện rất giống Windows XP. Red Star OS 2 được phát hành vào năm 2009 và cũng có ngoại hình tương tự Windows XP. Tuy nhiên, Red Star OS 3, phiên bản chúng ta đang xem xét ở đây, đã thay đổi hoàn toàn giao diện người dùng để giống macOS.

Về cơ bản, nó là một bản phân phối Linux dựa trên Red Hat/Fedora điển hình, mặc dù nó chứa phần mềm cài sẵn và một gói ngôn ngữ tiếng Hàn được bản địa hóa với thuật ngữ và cách viết của Triều Tiên. Có thể chuyển ngôn ngữ của hệ điều hành sang tiếng Anh với quyền truy cập root, và cũng có các trình cài đặt đã được sửa đổi để chuyển trình cài đặt sang tiếng Anh.

Red Star OS 3 được kích hoạt ngôn ngữ tiếng AnhRed Star OS 3 được kích hoạt ngôn ngữ tiếng Anh

Các phần mềm cài sẵn mà người dùng có thể thấy bao gồm trình duyệt dựa trên Firefox có tên Naenara (nghĩa là “Quốc gia của tôi”), một trình soạn thảo văn bản, một bản sao của OpenOffice có tên Sogwang Office, một trình phát media (được gọi là QuickTime khi sử dụng hệ điều hành bằng tiếng Anh), một ứng dụng chia sẻ tệp và một số trò chơi cơ bản. Ngoài ra còn có một ứng dụng âm nhạc, tên là UnBangUl, trùng với một thương hiệu phong cầm lớn của Triều Tiên. Wine cũng được cài đặt sẵn để cho phép các ứng dụng Windows chạy được.

Tuy nhiên, nếu nhìn sâu hơn, có nhiều phần mềm hoạt động ẩn dưới bề mặt. Các tệp được tự động đóng dấu thủy ấn (watermark), các tệp hệ thống được bảo vệ và hệ thống sẽ khởi động lại nếu phát hiện thay đổi trái phép, và một phần mềm “chống virus” ẩn có thể xóa các tệp được chỉ định. Snort cũng được cài đặt sẵn, mặc dù không được kích hoạt mặc định, và các quy tắc iptables thực hiện những điều sau:

  • Cho phép một số dịch vụ đến như HTTP, HTTPS, SMB và loại bỏ phần còn lại.
  • Xác định quyền truy cập cho lưu lượng trả lời đến các dịch vụ đó.
  • Yêu cầu DNS có thể được thực hiện, nhưng các phản hồi sẽ không được chấp nhận vì iptables không đề cập đến cổng sport 53 hoặc dport 53.
  • mDNS/Bonjour được chấp nhận rõ ràng qua cổng 5353.

Red Star OS có quyền truy cập rootRed Star OS có quyền truy cập root

Phần lớn, Red Star OS là một hệ điều hành không có gì đáng chú ý trên bề mặt. Một khi bạn đã có quyền truy cập root vào hệ thống và có thể cài đặt ứng dụng của riêng mình mà không bị hạn chế, cùng với việc gỡ bỏ phần mềm gián điệp cài sẵn được thiết kế để giám sát người dùng, nó chỉ là một bản Fedora được làm lại giao diện, và chỉ vậy thôi. Để chạy các phiên bản trình quản lý gói hiện đại trên đó có thể là một yêu cầu khó khăn, và đặc biệt là bây giờ, nó đã quá lỗi thời để thực sự có thể sử dụng được.

Tuy nhiên, có một số khía cạnh của hệ thống đặt ra nhiều câu hỏi. Một trong những điều lớn nhất là với Naenara, trình duyệt dựa trên Firefox được cài đặt sẵn.

Naenara và bức tranh về Intranet của Triều Tiên

Hay đúng hơn là Intranet

Red Star OS Naenara hiển thị các tiện ích mở rộngRed Star OS Naenara hiển thị các tiện ích mở rộng

Khi lần đầu khởi chạy Naenara, trang chủ mặc định là địa chỉ IP “10.76.1.11”. Đây là một địa chỉ IP nội bộ được IETF và IANA dành riêng theo RFC1918, và bạn sẽ thường thấy các địa chỉ “10.x.x.x” được sử dụng trong các tập đoàn hoặc mạng gia đình. Mặc dù việc Triều Tiên có một mạng intranet được gọi là Kwangmyong đã được biết đến rộng rãi, điều này cung cấp cho chúng ta một chút thông tin chi tiết về cách các thiết bị có thể giao tiếp. Để có thêm ngữ cảnh, Will Scott, một cựu giảng viên tại Đại học Khoa học và Công nghệ Bình Nhưỡng, đã tuyên bố rằng quốc gia này dường như có hệ thống DNS riêng với các tên miền cấp cao nhất (TLD) riêng. Chúng bao gồm các TLD không tồn tại trên mạng internet toàn cầu, như .web và .rec.

Scott cũng tuyên bố rằng hầu hết các máy tính đầu cuối mà ông thấy đều chạy Windows XP và một số ít sử dụng Windows 7, và Red Star không phải là thứ ông thấy ở nhiều nơi. Lý thuyết của ông là Red Star được sử dụng nhiều hơn như một hệ điều hành công nghiệp hơn là một hệ điều hành được thiết kế cho người dùng cuối, và hầu hết các máy tính ông từng thấy ở Triều Tiên dường như được nhập khẩu từ Trung Quốc.

Việc địa chỉ IP nội bộ của Naenara là một địa chỉ IP mặc định là rất hợp lý. Triều Tiên đã chính thức được APNIC phân bổ chỉ 1.024 địa chỉ IP, và dải của nó là 175.45.176.0/22. Có thêm hai khối được gán cho nước này dưới sự kiểm soát của China Unicom (210.52.109.0/24) và công ty vệ tinh Nga SatGate (77.94.35.0/24), mặc dù tổng cộng đây vẫn là một số lượng địa chỉ rất nhỏ cho một quốc gia có 26,42 triệu dân (tính đến năm 2023). Tuy nhiên, điều này không phải là vấn đề lớn đối với Triều Tiên, vì quyền truy cập internet toàn cầu bị hạn chế nghiêm ngặt trong khu vực đối với các quan chức cấp cao của chính phủ, một số nhân viên Trung tâm Máy tính Triều Tiên và một số học giả cho mục đích nghiên cứu. Quyền truy cập internet này cũng được giám sát chặt chẽ.

Đối với các chứng chỉ được trình duyệt sử dụng, các chứng chỉ gốc có mã nhà phát hành quốc gia là KP, mã ISO 3166-1 Alpha-2 của Triều Tiên. Điều này hợp lý; Scott đã tuyên bố rằng các yêu cầu mạng yêu cầu sử dụng proxy HTTP Squid ở cấp độ trường, và mọi yêu cầu đều được liên kết với tên người dùng của ông. Với các chứng chỉ của Triều Tiên, nhà phát hành nắm giữ khóa riêng có thể thực hiện tấn công xen giữa (man-in-the-middle) tất cả các yêu cầu “được mã hóa”. Điều thú vị là Scott lưu ý rằng trong khi việc sử dụng internet của ông không bị lọc, các sinh viên cao học và giáo sư tại trường đại học có quyền truy cập internet toàn cầu giống như ông, mặc dù của họ bị lọc, và một người quản lý phòng thí nghiệm sẽ theo dõi người dùng trong một phòng đặc biệt của khuôn viên trường được chỉ định cho việc duyệt web bên ngoài đó.

Xem xét phần about:config trong Naenara, có vẻ như nhiều URL của Google và Mozilla đơn giản được thay thế bằng một địa chỉ IP nội bộ, vì vẫn còn các cờ liên quan đến Mozilla và Chrome theo đúng đường dẫn URL của một yêu cầu điển hình, mặc dù với IP nội bộ được đặt vào thay thế. Điều thú vị là dường như có các tiện ích mở rộng chính thức có thể được cài đặt, và công cụ tìm kiếm mặc định thay thế miền của Google bằng miền nội bộ đã được ghi chú trước đó. Trừ khi chức năng tích hợp cơ bản có thể truy cập bị hỏng trên mạng intranet của Triều Tiên, kết luận hợp lý là các dịch vụ nội bộ có thể được mô phỏng theo các dịch vụ hiện có từ bên ngoài đất nước.

Cuối cùng, việc kiểm tra cập nhật tự động không thể tắt. Tuy nhiên, bạn có thể đặt nó thành “luôn hỏi” trước khi một bản cập nhật được cài đặt. Ngay từ đầu, nó sẽ tự động cài đặt các bản cập nhật.

Ứng dụng trên Red Star OS 3: Đơn giản nhưng chứa đựng nhiều điều lạ lùng

Thậm chí còn có tiện ích mã hóa, nhưng chỉ có thể truy cập bởi người dùng root

Tiện ích mã hóa đĩa Red Star OS 3Tiện ích mã hóa đĩa Red Star OS 3

Khi khám phá hệ điều hành và tìm kiếm những gì có thể, tôi đã phát hiện một ứng dụng có tên “Bokem”. Đây là một tiện ích mã hóa triển khai thuật toán mã hóa khối 128 bit dựa trên AES có tên Pilsung. Hóa ra, bản thân thuật toán mã hóa này dường như khá an toàn, mặc dù việc triển khai của nó trong Bokem có thể không. Mặc dù vậy, bạn cần quyền truy cập root để sử dụng nó, vì vậy có thể không ai được kỳ vọng sẽ sử dụng nó cả. Khởi chạy tiện ích này trong máy ảo yêu cầu tiền tố lệnh khởi chạy bằng “DISPLAY=:0”.

Điều thú vị hơn là cách bố trí thực tế của các ứng dụng. Không chỉ hệ điều hành có giao diện giống macOS; các ứng dụng tự chúng được lưu trữ theo cách tương tự như các ứng dụng được lưu trữ trên macOS. Trong Red Star, chúng nằm dưới /Applications, và mỗi ứng dụng nằm trong thư mục “.app” riêng của nó. Ví dụ, “QuickTime” nằm trong thư mục QuickTime.app, chứa một thư mục Contents, một thư mục Resources và một thư mục “RedStar”, chứa tệp thực thi thực tế.

Không có nhiều điều để thấy từ phía ứng dụng mà chúng ta chưa xem xét. Tuy nhiên, tôi đã dành một chút thời gian để tìm hiểu một trong những tiện ích được thiết kế để theo dõi người dùng, và vẫn còn một số điều thú vị để tìm thấy mà tôi chưa từng thấy được báo cáo ở nơi khác.

Phân tích sâu scnprc

“Phần mềm chống virus” chạy trên Red Star OS

Có hai thành phần cốt lõi trong hệ thống khóa chặt của Red Star. Đầu tiên là scnprc, quét các tệp, và thứ hai là opprc, thực hiện việc đóng dấu thủy ấn (watermarking) các tệp đó. Tuy nhiên, scnprc cũng thực hiện một số điều khá thú vị, và tôi đã đưa nó vào Ghidra để phân tích một số chức năng của nó. Tôi đã xem xét các hàm sau trong tệp nhị phân:

  • WriteHiddenEncodeFile
  • WritePatternToUSB
  • WriteImageInformation
  • ImageProcessing
  • get_disk_serial
  • ScanCD
  • checkfile

Không rõ hàm nào trong số này thực sự được sử dụng, nhưng các hàm này tồn tại trong tệp nhị phân và về lý thuyết có thể được thực thi bất cứ lúc nào.

Những phát hiện thú vị nhất mà tôi đã thực hiện nằm trong WritePatternToUSB và ScanCD. Tôi chưa từng thấy cả hai chức năng này được thảo luận liên quan đến Red Star OS trước đây, mặc dù hoạt động của chúng đã được giả định rộng rãi. Chúng ta sẽ xem xét WritePatternToUSB trước.

WritePatternToUSB

WritePatternToUSB là một hàm lớn và phải mất một thời gian để giải mã, nhưng về cơ bản, nó thực hiện các điều sau:

  1. Kiểm tra tính toàn vẹn của hệ thống tệp bằng cách kiểm tra xem ổ đĩa có thể mở được không, đọc 64 byte đầu tiên và xác nhận với một hàm trợ giúp xem nó có giống hệ thống tệp FAT32 không.
  2. Đọc các trường FAT32 từ hệ thống tệp. Điều này bao gồm:
    • FATSz32/DrvNum: offset 0x24 (36) cho loại FAT. Đây sẽ là DrvNum cho FAT16 hoặc FATSz32 cho FAT32.
    • BPB_RsvdSecCnt: Offset 0x0E (14) cho số sector dự trữ.
    • BPB_BytsPerSec: Offset 0x0B (11) cho số byte mỗi sector.
    • BPB_FSInfo: Offset 0x30 (48) cho sector bắt đầu của FSINFO.
  3. Đọc sector FSINFO.
  4. Tính toán một offset byte để phân định vùng FAT.
  5. Kiểm tra một mẫu (pattern) với thông tin thu được từ hệ thống tệp.
  6. Mẫu này được cập nhật hoặc một mẫu mới được tạo.

Tôi không thể xác định chính xác mẫu nào đang được ghi, mặc dù tôi có thể thấy rằng nó lấy một tệp “tmp.tmp” với dữ liệu cần thiết. Tôi nghi ngờ điều này hoặc được cung cấp bởi opprc, hoặc chưa được triển khai hoàn chỉnh. Hàm sẽ tìm đến fatStart+clusterIndex*4, ghi một giá trị 4 byte vào vị trí mảng đó và làm việc thông qua một bản đồ cluster trong bộ nhớ.

ScanCD

ScanCD là một hàm thú vị khác, nhưng may mắn thay, dễ hiểu hơn nhiều. Có vẻ như nó được gọi khi một đĩa CD được lắp vào hệ thống và thực hiện các điều sau:

  1. Nó quét mọi thư mục trên đĩa CD được lắp vào.
  2. Mọi tệp được tìm thấy đều được chuyển đến một hàm checkfile.
    • checkfile gọi một tiến trình trợ giúp khác để phân tích tệp.
    • Phản hồi từ tiến trình điền vào một biến cục bộ.
    • Kiểm tra các loại tệp khác nhau dựa trên mô tả nhận được.
  3. Trong các điều kiện rất cụ thể, một giá trị -1000 có thể được trả về.
    • Trong trường hợp này, đĩa CD sẽ bị đẩy ra.
    • Đường dẫn tệp vi phạm sẽ được ghi lại.
    • Một cảnh báo GUI sẽ được hiển thị.
    • Hệ thống sẽ khởi động lại sau 1000 giây.

checkfile nhận diện các tệp sau:

  • Hình ảnh: dữ liệu hình ảnh JPEG, dữ liệu hình ảnh TIFF, dữ liệu hình ảnh PNG, dữ liệu hình ảnh GIF, dữ liệu bitmap.
  • Âm thanh (lossy): MPEG ADTS, âm thanh Wave, Microsoft ASF, MP3, “rất ngắn”.
  • Video/container: dữ liệu RIFF (little-endian), chuỗi MPEG, RealMedia, phim QuickTime, Macromedia Flash (Video).
  • Văn bản thuần/mã nguồn: UTF, Unicode, ASCII, văn bản chung.
  • Tài liệu PDF.
  • Tệp trợ giúp CHM.
  • Hình ảnh DjVu.
  • Sách điện tử CNKI CAJ (đây là một nhà xuất bản ở Trung Quốc xuất bản các bài báo học thuật).
  • Office 2007 và OOXML.
  • Bộ xử lý văn bản Hangul.
  • Sách điện tử Superstar/Founder PDG.

Những điều này không tự động kích hoạt cảnh báo và tắt máy. Tôi không thể xác nhận chính xác điều gì kích hoạt nó, và tôi nghi ngờ điều này cũng được quy định bởi một dịch vụ bên ngoài, vì có nhiều cuộc gọi tiến trình.

get_disk_serial red star os trong Ghidraget_disk_serial red star os trong Ghidra

Tệp dường như quản lý việc đóng dấu thủy ấn (watermarking) cho tất cả các tệp khác liên quan đến get_disk_serial, và tệp này khá đơn giản. Nó thực hiện các điều sau:

  1. Lấy số chính (major) và số phụ (minor) st_dev của hệ thống tệp gốc.
  2. Tạo một thiết bị khối tạm thời trên ổ đĩa đó.
  3. Cố gắng lấy số serial của ổ đĩa bằng ioctl thông qua một trong ba cách:
    • Hỏi HDIO_GET_IDENTITY.
    • Hỏi SG_ATA_IDENTIFY với một gói IDENTIFY_DEVICE.
    • Thử lại nhưng với một gói IDENTIFY.
    • Nếu điều này thất bại, lấy từ gszConstSerial.
  4. Cắt phản hồi thành 20 byte, chuyển đổi sang chữ hoa, xóa “WD-W” nếu tồn tại (ID của Western Digital).
  5. Mọi ký tự ‘0’ ở đầu đều được thay thế bằng ‘Z’.

Số serial ổ đĩa này dường như đóng một vai trò trong việc đóng dấu thủy ấn tệp. Khi hình ảnh, tài liệu hoặc video được phát hiện, một dấu thủy ấn xác định máy tính đã tương tác với chúng sẽ được nhúng vào tệp. Với hình ảnh, dữ liệu này được thêm vào cuối tệp, trong khi tài liệu Word sẽ thấy nó được chèn vào khoảng trống trống gần đầu tệp. Đối với hình ảnh, các thiết bị độc đáo sẽ có dữ liệu của chúng được thêm vào cuối chúng.

Hành vi đóng dấu thủy ấn ở trên, chèn trực tiếp vào một tệp hiện có, đã được mô tả trước đây với Red Star OS, nhưng tôi đã phát hiện ra một phương pháp đóng dấu thủy ấn rất thú vị khác mà tôi chưa từng thấy được ghi lại ở bất kỳ đâu khác. Chức năng mà tôi tìm thấy, có tên là WriteImageInformation, có một cách tiếp cận khác. Nó ẩn một chuỗi dấu thủy ấn bên trong một bitmap RGB, thêm tiền tố “WM” vào đầu một mảng ký tự. Sau đó, nó điều chỉnh các hệ số DCT tần số cao của các khối byte 8×8 liên tiếp của hình ảnh, lặp lại điều đó nhiều lần theo yêu cầu để bao phủ toàn bộ kích thước của hình ảnh, và sau đó ghi các pixel đã sửa đổi trở lại.

Cách tiếp cận này yêu cầu hình ảnh phải có kích thước tối thiểu, và giống như các chức năng khác được xác định ở đây, không rõ liệu nó có thực sự được sử dụng trong phiên bản phần mềm này hay không. Tuy nhiên, nó tồn tại, có nghĩa là nếu nó không được sử dụng trước đây, thì có lẽ bây giờ nó đang được sử dụng hoặc đã được cải tiến.

Không có lý do chính đáng để sử dụng Red Star OS

Những rủi ro tiềm ẩn và tính lỗi thời

Red Star OSRed Star OS

Mặc dù nghe có vẻ hấp dẫn, bạn không nên cài đặt Red Star OS trừ khi bạn biết mình đang làm gì. Nó về cơ bản là phần mềm gián điệp trá hình dưới dạng hệ điều hành, nhưng tất nhiên, điều đó đã được dự đoán trước. Không chỉ vậy, nó thậm chí còn không thực sự hữu dụng trong thế giới ngày nay. Firefox 3.5 đã quá lỗi thời, và các trang web sử dụng HTTPS thậm chí sẽ không cho phép bạn truy cập chúng ngay từ đầu. Không có lý do gì để triển khai nó, và bạn chỉ tự đặt mình vào nguy hiểm một cách vô cớ khi làm như vậy.

Tất nhiên, người ta có thể lập luận rằng hệ điều hành chỉ “gọi về nhà” trong mạng intranet của Triều Tiên, và bạn có thể đúng, nhưng nó cũng không đáng để mạo hiểm. Thật thú vị khi chạy nó trong một máy ảo để khám phá, nhưng tôi đã thấy nhiều người cài đặt nó dưới dạng hệ điều hành chạy song song (dual-boot), mà không nhận ra rằng, ít nhất, bạn đang thêm dữ liệu nhận dạng vào tất cả các tệp mà Red Star có thể truy cập mà không có lý do chính đáng.

Đã có rất nhiều cuộc thảo luận và điều tra hấp dẫn về Red Star OS 3, và tôi chỉ mới khám phá một phần nhỏ trong phân tích của mình tại đây. Tôi thực sự khuyên bạn nên tìm hiểu thêm nếu muốn biết sâu hơn về hệ điều hành bí ẩn này.

Related posts

Power Automate vs RoboTask: Công cụ tự động hóa nào tối ưu cho Windows 11?

Administrator

Màn Hình Gaming Samsung Odyssey G65B: Ưu Đãi Giảm 50% – Lựa Chọn Đáng Giá Cho Game Thủ Việt

Administrator

Khám Phá Obsidian: 5 Lý Do Ứng Dụng Ghi Chú Này Vượt Trội Mọi Đối Thủ

Administrator