Red Star OS

Първата севернокорейска операционна система.

Вчера можах да я разгледам за кратко. (За мое съжаление не ми позволиха да си откопирам инсталационното СД.) Ето и набързо придобитите впечатления.

Наглед прилича малко на MacOS, но „под капака“ очевидно е Fedora. Специално модифициран Firefox. Някакъв безумно прекръстен плейър (нямах време да разчопля кой точно е всъщност). Пак така безумно кръстен офис пакет – старичка версия на OpenOffice или LibreOffice, пак не можах да проверя кое точно. (Не че има голямо значение.) Също така прекръстен WinE. Някаква странна, безумна криптираща програмка – имам чувството, че работи с алгоритъм от класата сложност на последователен XOR с ключа. И почти нищо друго.

По-интересно е как Линукс се съчетава със Северна Корея. Отговорът е какъвто и следва да се очаква – по севернокорейски. Ето някои от ситните и дребни подробности (някои успях да проверя, за други просто ми споменаха):

– root паролата не се предвижда да е достъпна за потребителя, нито пък възможност да сетва X бит в пермишъните (тоест, не може да инсталира или пише други програми освен стандартните)

– криптиране и декриптиране се прави само чрез споменатата по-горе програмка. Не забелязах да има възможност за генериране на ключове (може да съм я пропуснал – менюта на корейски са ми объркващи, дори с помощта на преводач). Ключовете, доколкото разбрах, не се генерират при инсталиране, а пристигат с инсталационния пакет вече готови. (Изводите са си за вас.)

– браузерът не може да отвори нищо (вероятно тъй като компютърът се намира извън Северна Корея – ако си е „у дома“ мисля, че ще може да отваря правителствените сайтове).

– има нещо, което се води антивирус (ако са ми го превели правилно), и което наистина проверява много старателно всеки откопиран на машината файл. GPG моментално го флагва като вирус и го трие без право на намеса, също и немодифициран Firefox, с други програми не съм пробвал. Изводите пак са си за вас.

– доста командни утилки са орязани (като потребител не можах да изпълня wget, ftp, даже netcat – нямах време да търся дали са достъпни само за root, или изобщо ги няма). Подозирам, че и доста други също.

– на някои формати видео и музика при копиране „антивирусът“ записва определени кодове във файла. Твърди се, че са различни за всеки компютър и не се променят при последващи копирания. Тоест, начин да се проследи с пълна точност от кой компютър е влязъл „в системата“ всеки филм или музикално парче. (Попитах праща ли кодовете през Нета на определени адреси – не знаеха, но обещаха да пробват.)

– един-два порта (за убиване съм, че забравих кои) сканиране отвън с nmap ги откривало, че са винаги отворени. По думите на човека, който ми ги показа, на тях чака утилка за отдалечен контрол върху компютъра. Към нея можело да се логнеш единствено с root паролата. От компютъра не се виждало, че са отворени, и не можело да бъде проследено какво ги ползва. Утилката не се виждала в списъка на процесите и прочее (но имало как да се види). Позволявала пълен контрол върху компютъра – екран, мишка, клавиатура (на различен X сървър от потребителския, така че потребителят да не разбира, че му пипат из машината). Триене или поставяне на файлове, инсталация и подмяна… пълни администраторски права.

Като цяло това, което успях да огледам как е направено, е бая дървено. Ако почопля системата една седмица, сигурно бих намерил как да заобиколя всичко или почти всичко. Познавам хора, които биха го направили за минути. Севернокорейските компютърни войски са или доста некадърни, или доста немотивирани. (Или и двете.) Голямата част от хакерството, което им се приписва, най-вероятно не е тяхно дело – или поне не на хората, сглобили Red Star OS.

Накратко – севернокорейците са произвели идеалната корпоративна ОС, или поне са се опитали. Очаквам следващия Windows Corporate да почерпи от опита им… 🙁

23 thoughts on “Red Star OS

  1. Васил Колев

    Мисля, че мога да ти издиря iso-то, май вече трябва да е плъзнало достатъчно (на конгреса го показваха), интересува ли те?

    Reply
  2. CTEHATA

    Григоре, страшно интересно ми стана. Надявам се в най-скоро време на запис с връзка към ISO-то.

    Reply
  3. Петър Петров

    Доколкото знам в Северна Корея има доста стабилен режим на тока, отделно че го ползват почти само за осветление. Това компютърът там е някаква екзотика космическа, пък върви че търси достъп до Интернет. Най-вероятно тази ОС е за малкото компютри в администрацията и нищо чудно че не са се престарали с кастрацията на системата. Целевият потребител според мен е някой наплашен счетоводител или комсомолски ръководител, и като за такъв — напълно подходяща ОС.

    По-интересно ми е на какъв хардуер ще го търкалят това. Щото ако е Интел, то значи САЩ вече си имат достъп до компютъра, дори да е изключен — https://en.wikipedia.org/wiki/Intel_Active_Management_Technology#Hardware

    Reply
  4. Григор Post author

    @Васил Колев: Разбира се! Не зная кога ще имам времето да го чопля подробно, но определено ме интересува.

    @Божо: Те китайците май имаха ОС с подобно име (и май също базирана на RedHat / Fedora). Не знам какво стана с нея и дали не бъркам нещо.

    @Дончо: Проблемът е дори не толкова в Майкрософт, колкото в корпоратизма. Чиста проба тоталитаризъм, просто на ниво фирма, а не държава. Майкрософт просто го обслужват, на принципа „щом се търси, трябва да се предлага“.

    @СТЕНАТА: Докопам ли го – с удоволствие.

    @Петър Петров: Това за достъпа до компютъра когато е изключен ще го повярвам когато се появат компютри, които работят без ток. Не че MEI-то не е вграден корпоратизъм, но все пак…

    Reply
  5. Божо

    Да де – Red Flag беше китайски линукс, ама май не толкова орязан, като въпросната корейска изцепка.
    Но защо го зарязаха не знам. За съжаление и ККП предпочита да получава комисионни от MS, отколкото да ползват своя ОС.

    Reply
  6. Григор Post author

    @Божо: Може би проблемът не опира (само) до пари.

    @Васил Колев: Голямо благодаря!

    @Петър Петров: Може би не си е сетнал wake-up on LAN-а, и компютърът му наистина се изключва, вместо само да спи и да следи мрежовата карта за активност.

    Reply
  7. Hristo

    Можеби Петър Петров има предвид Intel Management Engine(и Active Management Technology)
    http://www.libreboot.org/faq/#intel

    Григоре, от професионалист се очакват малко повече подробности от “един-два порта са винаги отворени“ и какъв сървис слуша на тях.
    Нямам време да опитам ОСа, но ми стана интересно наистина ли нивото е толкова ниско и защо!

    Reply
  8. Hristo

    Извинявам се. Не съм видял линка!
    Моля коментара ми да бъде изтрит.

    Reply
  9. Григор Post author

    @Hristo: Имах по-малко от половин час за запознаване с нещото от нулата. За портовете и сървиса даже не съм проверил лично – просто цитирам каквото ми каза човекът, който ми показа ОС-а.

    Reply
  10. Георги

    @Григор дори и когато е изключен компютъра работи малка част от него. Във всяко захранване има стендбай напрежение, което служи за пускане на компютъра и освен това захранва някои от чиповете на дъното. Изтегли схемата на някое дъно и се увери сам. МЕ е част от firmware, заделена за т.н. хъб в интелските платки (на старите дъна чипсета беше север и юг) .Та съвременните чипсети са доста бързи и имат имплементирани допълнителни функции независещи от процесора – една, от които е споменатата.

    Reply
  11. Григор Post author

    @Георги: Благодаря, че ме просвети – никога не бях чувал за това. 😉

    Ако чипсетът не поддържа Wake-on LAN, или той е изключен, е невъзможно да се свържеш към изключен компютър отвън. Дори чипсетът да е под напрежение, просто мрежовата платка не бива следена, за да може нещо да разбере че го търсят и да поддържа комуникация.

    Отделно от това, още не съм видял захранване, което да генерира ток от нищото. Щракваш ключа на разклонителя и нека се пробват да се свържат с компютъра ти отвън колкото щат.

    Reply
  12. Валентин

    It is extremely unlikely that any post-2008 Intel hardware will ever be supported in libreboot, due to severe security and freedom issues; so severe, that the libreboot project recommends avoiding all modern Intel hardware. If you have an Intel based system affected by the problems described below, then you should get rid of it as soon as possible.

    Какъв компютър да си купя за да няма проблеми със сигурността (щом някакъв бюрократ има достъп значи и организираната престъпност има достъп)? Наистина ли трябва да се връщам към компютрите от преди 2008-ма? И защо 2008-ма, а не 9/11 например?

    Сегашния ми компютър:

    valentin@computer:~$ cat /proc/cpuinfo | grep Intel
    vendor_id : GenuineIntel
    model name : Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
    vendor_id : GenuineIntel
    model name : Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
    vendor_id : GenuineIntel
    model name : Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
    vendor_id : GenuineIntel
    model name : Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
    valentin@computer:~$

    Reply
  13. Григор Post author

    @Валентин: Да кажем:

    grigor@home:~$ cat /proc/cpuinfo | grep AMD
    vendor_id : AuthenticAMD
    model name : AMD A6-3500 APU with Radeon(tm) HD Graphics
    vendor_id : AuthenticAMD
    model name : AMD A6-3500 APU with Radeon(tm) HD Graphics
    vendor_id : AuthenticAMD
    model name : AMD A6-3500 APU with Radeon(tm) HD Graphics

    За съжаление засега libreboot поддържа твърде малко хардуери. А е необходим – все по-често срещам лаптопи, а напоследък и десктопски дъна, чийто BIOS проверява каква ОС стартира, и ако е Linux, отказва да му предаде управлението. (Не става дума за разните сортове „security mode“, ключове и прочее – те са напълно различно нещо, което трябва да имаш право да изключиш през BIOS-а. Не че винаги имаш и за тях, но все пак са друго нещо.)

    Reply
  14. Валентин

    Кои са тези лаптопи? Има ли списък някъде?

    Може би имаш предвид „UEFI Secure Boot“?

    This BIOS replacement, UEFI, caused some serious problems with “alternative” platforms. For some time, it was thought UEFI would render Linux uninstallable on any system certified for Windows 8 and up. Eventually Microsoft saw fit to require vendors to include a switch that allowed users to disable UEFI, so that their favorite Linux distribution could be installed. And then some Linux distributions set out to fully support Secure Boot (Red Hat, Ubuntu, SUSE, to name a few). This was accomplished by these particular companies purchasing digital key that would then allow their bootloaders to pass the UEFI firmware check. With that, those distributions have no problems dealing with Secure Boot.

    How to Install Linux on a Windows Machine With UEFI Secure Boot

    Каква е гаранцията, че в процесорите AMD и дънните платки за тях няма вредности?

    Reply
  15. Григор Post author

    @Валентин: Не – това, което обяснявам, е че не става дума нито за UEFI Security Boot, нито за аналозите му. Проверката и отказът да пусне Linux е набита съвсем отделно от тях. На едно дъно, май беше някакво на ASUS за Intel процесор, бях дисасемблирал BIOS-а и бях намерил точно къде и как прави проверката.

    Гаранцията, че в процесорите AMD и дънните платки за тях няма вредности, е където е гаранцията, че няма вредности в каквото и да било, за което не е известно да има.

    Да, идеята на UEFI Secure Boot е именно и точно тази – да блокира операционните системи, неподписани от Майкрософт. Още когато те отстъпиха от схемата и разрешиха и други да могат да са подписани, беше ясно, че е въпрос само на време да го отменят. RedHat вече имат подписан shim loader, така че вероятно проблемът е заобиколим, но все пак…

    Reply
  16. Валентин

    Може би е това?

    Intel Boot Guard is an ME application introduced in Q2 2013 with ME firmware version 9.0 on 4th Generation Intel Core i3/i5/i7 (Haswell) CPUs. It allows a PC OEM to generate an asymmetric cryptographic keypair, install the public key in the CPU, and prevent the CPU from executing boot firmware that isn’t signed with their private key. This means that coreboot and libreboot are impossible to port to such PCs, without the OEM’s private signing key. Note that systems assembled from separately purchased mainboard and CPU parts are unaffected, since the vendor of the mainboard (on which the boot firmware is stored) can’t possibly affect the public key stored on the CPU.

    Но по-горе казваш, че си намерил къде това се прави в BIOS-а (а горепосоченото нещо работи извън BIOS-а, доколкото разбрах), така че май не е това.

    Reply
  17. Григор Post author

    @Валентин: Това, което намерих, е част от кода в BIOS-а. Може да бъде заобиколено, като просто смениш 2 байта (насочиш вектора при откриване на Linux накъдето сочи и за всички други ОС).

    Между другото, системи от отделно купени дъно и процесор спокойно могат също да бъдат засегнати от проблема. Двете ограничения – на BIOS-а и на процесора – са напълно независими едно от друго. Просто при този вариант ще се стартира само каквото удовлетворява и двете.

    И подозирам, че BIOS-а трябва да има някаква роля и при IBG – освен ако процесорът няма начин да различи boot код от друг код и да проверява за подпис само първия. (Не съм напълно наясно с архитектурата на Haswell и чипсетите за тях – не знам възможно ли е това или не.)

    Reply
  18. Валентин

    От трън, та на глог…

    But is the situation much different on AMD-based x86 platforms? It doesn’t
    seem so! The problems related to boot security seem to be similar to those we
    discussed in this paper. And it seems AMD has an equivalent of Intel ME also,
    just disguised as Platform Security Processor (PSP) [1].

    The author, however, does not have enough 1st-hand experience with modern
    AMD desktop platforms to facilitate a more detailed analysis, and hopes others
    will analyze this platform in more detail, perhaps writing a similar paper dedicated
    entirely to AMD x86. . .

    http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf

    Интересно е, че не намерих подобни критики за AMD, освен това.

    Дискусия по темата: http://www.linux-bg.org/forum/index.php?topic=47188

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *