Изследване по темата: коя ОС е по-безопасна? Надеждни и сигурни операционни системи? Най-безопасната операционна зала

Кога за последен път вашият телевизор внезапно се изключи или изискваше спешно да изтеглите някаква софтуерна корекция от мрежата, която коригира критична грешка? В крайна сметка, ако имате не съвсем древен телевизор, тогава всъщност това е един и същ компютър - с централен процесор, голям монитор, някаква аналогова електроника за декодиране на радиосигнали, няколко специални входа / изхода устройства (дистанционно управление, вградено дисково устройство за касети или DVD) и с софтуер, предписано в оперативна памет. Този риторичен въпрос ни връща към един неприятен проблем, за който компютърната индустрия не обича да говори. Защо телевизорите, DVD плейърите, MP3 плейърите, мобилните телефони и други електронни устройства със софтуер са доста надеждни и добре защитени, но компютрите не са? Разбира се, има много „обяснения“ за това: компютрите са гъвкави системи, потребителите могат да променят софтуера, индустрията на информационните технологии все още е слабо развита и т.н. Но тъй като живеем в епоха, в която огромното мнозинство от компютърните потребители са малко запознати с техническите въпроси, подобни "обяснения" не изглеждат убедителни за тях.

Какво очаква потребителят от компютър? Същото като от телевизора. Купувате го, включвате го и той работи чудесно през следващите десет години. ИТ специалистите трябва да вземат предвид тези очаквания и да направят компютрите толкова надеждни и сигурни, колкото телевизорите.

Най-слабото място по отношение на надеждност и защита си остава операционната система. Макар че приложни програмисъдържат много дефекти, ако операционната система беше без грешки, тогава некоректността на приложните програми нямаше да има толкова сериозни последствия, както сега, така че ще се съсредоточим върху операционните системи в тази статия.

Но преди да навлезем в подробностите, няколко думи за връзката между надеждност и защита. Проблемите, които възникват във всяка от тези области, често имат общ корен: софтуерни грешки. Грешка при препълване на буфера може да срине системата (проблем с надеждността), но също така позволява на умело създаден вирус да влезе в компютъра (проблем със сигурността). Въпреки че в тази статия ще говорим предимно за надеждност, трябва да се има предвид, че увеличаването на надеждността може да доведе до повишена защита.

Защо системите са ненадеждни?

Съвременните операционни системи имат две характеристики, които ги карат да губят както надеждност, така и сигурност. Първо, тези операционни системи са огромни по размер и второ, имат много лоша изолация на грешки. Ядрото на Linux има над 2,5 милиона реда код, докато ядрото на Windows XP е поне два пъти повече.

Едно проучване на надеждността на софтуера установи, че програмите съдържат между 6 и 16 грешки на всеки 1000 реда изпълним код. Според друго проучване процентът на грешки в програмите варира от 2 до 75 за всеки 1000 реда изпълним код, в зависимост от размера на модула. Дори ако приемем най-консервативната оценка (6 грешки на 1000 реда код), ядрото на Linux изглежда съдържа около 15 000 грешки; Windows XP - поне два пъти повече.

Още по-лошо, обикновено около 70% от операционната система се състои от драйвери на устройства, които имат три до седем пъти по-висок процент на грешки в сравнение с нормалния код, така че горната оценка за броя на грешките в операционната система най-вероятно е силно подценена. Ясно е, че е просто невъзможно да се намерят и коригират всички тези грешки. Освен това, когато се коригират някои грешки, често се въвеждат нови.

Поради огромния размер на съвременните операционни системи, никой сам не може да ги познава напълно. Наистина е изключително трудно да се създаде добра система, ако никой не си я представя напълно.

Този факт ни води до втория проблем: изолиране на грешки. Никой в ​​света не знае всичко за функционирането на самолетоносача, но подсистемите на самолетоносача са добре изолирани една от друга и запушената му тоалетна няма да повлияе по никакъв начин на работата на подсистемата за изстрелване на ракети.

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

Да се ​​върнем към аналогията с кораба. Корпусът на модерен кораб е разделен на много отделения. Ако възникне теч в едно от отделенията, тогава се наводнява само то, а не целият трюм. Съвременните операционни системи са като кораби преди преградата: всяка пробив може да потопи кораб.

За щастие ситуацията не е толкова безнадеждна. Разработчиците се стремят да създават по-надеждни операционни системи. Има четири различни подхода, които се предприемат, за да направят операционните системи по-надеждни и сигурни в бъдеще. Ще ги представим в нашата статия във възходящ ред, от по-малко радикални към по-радикални.

Подсилени операционни системи

Най-консервативният подход, Nooks, е предназначен да увеличи надеждността на съществуващи операционни системи като Windows и Linux. Технологията Nooks поддържа монолитна структура на ядрото, в която стотици или хиляди процедури са свързани заедно в едно адресно пространство и се изпълняват в режим на ядрото. Този подход се фокусира върху това да направи драйверите на устройства (основната причина за всички проблеми) по-малко опасни.

По-специално, както е показано на фиг. 1, Nooks защитава ядрото от неправилно формирани драйвери на устройства, като опакова всеки драйвер в защитен софтуерен слой, който образува олекотен защитен домейн. Тази технология понякога се нарича "sandboxing". Обвивката около всеки драйвер внимателно следи всички взаимодействия между драйвера и ядрото. В допълнение, тази технология може да се използва за други разширения на ядрото, като стартиращи операционни системи, но за простота ще говорим за нея само във връзка с драйверите.

Целите на проекта Nooks са следните:

  • защита на ядрата от грешки в драйверите;
  • осигуряват автоматично възстановяване в случай на повреда в драйвера;
  • направете всичко това с минимални промени в съществуващите драйвери и ядрото.

Защитата на ядрото от неправилни драйвери не е основната цел. Технологията Nooks беше внедрена за първи път в Linux, но тези идеи се прилагат еднакво и към други наследени ядра.

Изолация

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

Посредничество

Всеки клас драйвер експортира набор от функции, които ядрото може да извика. Например аудио драйверите могат да осигурят повикване за записване на блок от звукови проби звукова карта, друг за контрол на звука и т.н. Когато драйверът се зареди, се попълва масив от указатели към функциите на драйвера, така че ядрото да може да намери всяка от тях. Освен това драйверът импортира набор от функции, осигурени от ядрото, например за запазване на буфер за данни.

Nooks предоставя обвивки както за експортирани, така и за импортирани функции. Сега, когато ядрото извиква функция на драйвер или драйверът извиква функция на ядрото, повикването всъщност се насочва към обвивката, която валидира параметрите и управлява повикването. Въпреки че черупките (показани като линии на Фигура 1, сочещи както вътре, така и извън драйвера) се генерират автоматично въз основа на функционални прототипи, разработчиците трябва да напишат тялото на черупката на ръка. Общо групата Nooks е написала 455 обвивки: 329 за функции, които ядрото експортира, и 126 за функции, които драйверите на устройства експортират.

Когато драйвер се опита да модифицира обект на ядрото, неговата обвивка копира обекта в домейна за защита на драйвера, тоест в неговите лични страници за четене/запис. След това драйверът променя копието. Ако заявката е успешна, мениджърът на изолацията копира модифицираните обекти обратно в ядрото. По този начин, срив на драйвер или грешка по време на повикване винаги оставя обектите на ядрото в правилното състояние. Контролните операции за импортирани обекти са специфични за всеки обект, поради което екипът на Nooks трябваше ръчно да напише код, за да контролира 43 класа обекти, които използват Linux драйвери.

Възстановяване

В случай на повреда в потребителския режим, агентът за възстановяване стартира и се консултира с конфигурационната база данни, за да разбере какво да прави. В много случаи освобождаването на всички заети ресурси и рестартирането на драйвера е достатъчно, тъй като най-честите алгоритмични грешки обикновено се откриват по време на тестването, а грешките при синхронизация и специфичните дефекти остават предимно в кода.

Тази технология ви позволява да възстановите системата, но приложенията, които са работили по време на повредата, може да са в неправилно състояние. В резултат на работата групата Nooks добави концепцията за дублиращи се драйвери (драйвер в сянка), така че приложенията да могат да работят правилно дори след срив на драйвера.

Накратко, по време на нормална работа драйверът за архивиране регистрира взаимодействията между всеки драйвер и ядрото, ако това взаимодействие може да е необходимо за възстановяване. След като драйверът се рестартира, дублиращият се драйвер прехвърля всички данни от регистрационния файл към рестартирания драйвер, например чрез повтаряне на извикването на I/O контролната система (IOCTL), за да зададе параметри, като сила на звука. Ядрото не знае нищо за процеса на връщане на драйвера в състоянието, в което е бил старият драйвер. След като този процес приключи, драйверът започва да обработва нови заявки.

Ограничения

Въпреки че според експериментите Nooks може да открие 99% от фаталните грешки на драйверите и 55% от нефаталните, той далеч не е съвършен. Например, драйверите могат да изпълняват привилегировани команди, които не трябва; те могат да записват данни към неправилни I/O портове и да изпълняват безкрайни цикли. Освен това групата Nooks трябваше да напише голям брой черупки на ръка и тези черупки може да съдържат грешки. И накрая, с този подход не е възможно да се попречи на драйверите да записват данни навсякъде в паметта. Въпреки това, това е потенциално много полезна стъпка към подобряване на надеждността на наследените ядра.

Паравиртуални машини

Вторият подход се основава на концепцията за виртуална машина. Тази концепция е разработена в края на 60-те години. Идеята е да се използва специален демон, наречен монитор на виртуална машина, който работи директно с хардуера, а не с операционната система. Виртуалната машина създава множество екземпляри на реалната машина. Всеки екземпляр може да поддържа всяка програма, която може да работи на този хардуер.

Тази техника често се използва, за да позволи на две или повече операционни системи, да речем Linux и Windows, да работят на една и съща машина едновременно, така че всяка операционна система да мисли, че притежава цялата машина. Използването на виртуални машини има заслужена репутация за осигуряване на добра изолация на грешки. В крайна сметка, ако никоя от виртуалните машини не знае за съществуването на другите, няма начин проблемите, които възникват на една машина, да се разпространят върху други.

Беше направен опит да се адаптира тази концепция за организиране на защита в една операционна система, а не между различни операционни системи. Освен това, тъй като Pentium не поддържа напълно виртуализация, трябваше да се отклоним от принципа на стартиране на операционната система във виртуална машина без никакви промени в нея. Тази отстъпка позволява да се правят промени в операционната система, за да се гарантира, че тя не може да прави нищо, което не може да бъде виртуализирано. Да се тази технологияразлика от истинската виртуализация, тя се нарича паравиртуализация.

По-специално, през 90-те години група разработчици от университета в Карлсруе създават микроядрото L4. Те успяха да стартират леко модифицирана версия на Linux (L4Linux) на L4 в това, което може да се нарече изглед на виртуална машина. По-късно разработчиците разбраха, че вместо да изпълняват само едно копие на Linux на L4, те могат да изпълняват множество копия. Както е показано в ориз. 2, тази мисъл доведе до идеята за използване на една от виртуалните машини на Linux за стартиране на приложни програми и друга или повече за стартиране на драйвери на устройства.

Ако драйверите на устройства работят в една или повече виртуални машини, които са изолирани от основната виртуална машина, където работят останалата част от операционната система и приложните програми, тогава само нейната виртуална машина, а не основната, се проваля в случай на повреда на драйвера. Допълнителна полза от този подход е, че драйверите на устройства не трябва да се променят, тъй като те виждат нормалната среда на ядрото на Linux. Разбира се, самото ядро ​​на Linux ще трябва да бъде променено, за да поддържа паравиртуализация, но това е еднократна промяна. Освен това не е необходимо да повтаряте тази процедура за всеки драйвер на устройство.

Тъй като драйверите на устройства работят на хардуер в потребителски режим, основният въпрос е как те ще извършват I/O и ще обработват прекъсвания. Физическият I/O се поддържа чрез добавяне на приблизително 3000 реда код към ядрото на Linux, на което работят драйверите, което позволява на драйверите да използват L4 услуги за I/O, вместо да го правят сами. Допълнителни 5000 реда код поддържат взаимодействия между три изолирани драйвера (диск, мрежа и PCI шина) и виртуалната машина, в която се изпълняват приложенията.

По принцип този подход трябва да осигури по-висока надеждност от една операционна система, тъй като ако виртуална машина, съдържаща един или повече драйвери, се повреди, тогава виртуалната машина може да бъде рестартирана - и драйверите ще се върнат в първоначалното си състояние. За разлика от Nooks, този подход не прави опити да върне драйверите в предишното им състояние (състоянието, в което са били преди срива). По този начин, ако аудио драйверът се срине, той ще бъде възстановен до нивото на звука по подразбиране, а не до това, което е било преди срива.

Параметрите за производителност показват, че режийните разходи при използване на паравиртуализирани машини са около 3-8%.

Мултисървърни операционни системи

Първите два подхода включват модифициране на наследени системи. Следващите две са посветени на бъдещите системи.

Един от тези подходи стига направо до сърцевината на проблема: стартиране на цялата операционна система като една гигантска двоична програма в режим на ядрото. Вместо това в този случай се предлага да има няколко малки микроядра, работещи в режим на ядрото, докато останалата част от операционната система е колекция от напълно изолирани сървърни и драйверни процеси, работещи в потребителски режим. Тази идея беше предложена преди 20 години, но тогава никога не беше напълно приложена поради по-ниската производителност на мулти-сървърната ОС в сравнение с монолитното ядро. През 80-те години производителността се смяташе за най-важният показател, а за надеждността и защитата дори не се мислеше. Разбира се, по едно време авиоинженерите не са мислили за разхода на гориво или за създаването на врати на пилотската кабина, които да издържат на въоръжена атака. Времената се променят и възприятията на хората за това, което е наистина важно, също се променят.

Мултисървърна архитектура

За да разберем по-добре каква е идеята за мултисървърна операционна система, нека да разгледаме модерен пример. Както е показано в ориз. 3, в Minix 3, микроядрото обработва прекъсвания, осигурява основните механизми за управление на процесите, обработва взаимодействията между процесите и извършва планиране на процеси. Той също така предоставя малък набор от извиквания на ядрото към оторизирани драйвери и сървъри, като например четене на избрана част от адресното пространство на определен потребител или писане в оторизирани I/O портове. Драйверът на часовника използва същото адресно пространство като микроядрото, но е планиран като отделен процес. Никой друг драйвер за режим на ядрото не работи.

Над микроядрото е нивото на драйвера на устройството. Всяко I/O устройство има свой собствен драйвер, който функционира като отделен процес в собственото си частно адресно пространство, защитено от хардуерен модулуправление на паметта (MMU). Този слой включва драйверни процеси за диск, терминал (клавиатура и дисплей), Ethernet, принтер, аудио и т.н. Тези драйвери работят в потребителски режим и не могат да изпълняват привилегировани команди или операции за четене/запис на I/O портовете на компютъра. За да получат тези услуги, драйверите трябва да извикат ядрото. Въпреки че тази архитектура добавя допълнителни разходи, тя значително подобрява надеждността.

Над слоя на драйвера на устройството е сървърният слой. Файловият сървър е програма (4,5 хиляди реда изпълним код), която приема заявки от потребителски процеси за системни извиквания на Posix по отношение на файлове като четене, писане, lseek и stat и ги изпълнява. Също така на това ниво се намира мениджърът на процеси, който управлява процесите и паметта и изпълнява Posix повиквания и други системни повиквания като fork, exec и brk.

Донякъде необичайна функция е сървърът за прераждане, който действа като родителски процес за всички други сървъри и всички драйвери. Ако драйвер или сървър се срине, прекрати или не реагира на периодични ping, сървърът за прераждане убива тези процеси, ако е необходимо, и след това ги рестартира от копие на диск или от RAM. Драйверите могат да бъдат рестартирани по този начин, но в момента могат да бъдат рестартирани само тези сървъри, чието вътрешно състояние е ограничено.

Други сървъри включват мрежов сървър, който съдържа: пълния TCP/IP стек; хранилище за данни, прост сървър за имена, който други сървъри използват; информационен сървърИзползва се при отстраняване на грешки. И накрая, над сървърния слой са потребителските процеси. Единствената разлика между тази и другите Unix системи е, че библиотечните процедури за четене, писане и други системни извиквания се извършват чрез изпращане на съобщения до сървъри. С изключение на тази разлика (скрита в системните библиотеки), това са нормални потребителски процеси, които могат да използват POSIX API.

Взаимодействия между процесите

Тъй като това е механизмът на комуникация между процесите (Interprocess Communication, IPC), който позволява на всички процеси да работят заедно, той е от решаващо значение в многосървърна операционна система. Въпреки това, тъй като всички сървъри и драйвери в Minix 3 работят като физически изолирани процеси, те не могат директно да извикват функциите на другия или да споделят структури от данни. Вместо това Minix 3 поддържа IPC чрез предаване на съобщения с фиксирана дължина на така наречения принцип на рандеву (когато и подателят, и получателят са готови за обмен, системата копира съобщението директно от подателя към получателя). Освен това има механизъм за асинхронни известия за събития. Събития, които не могат да бъдат изпълнени, се маркират като чакащи в таблицата на процесите.

Minix 3 елегантно комбинира прекъсвания с предаване на съобщения. Обработчиците на прекъсвания използват механизъм за уведомяване, за да сигнализират завършването на I/O. Този механизъм позволява на манипулатора да зададе малко в растерната карта "отложено прекъсване" и след това да продължи без блокиране. Когато драйверът е готов да получи прекъсване, ядрото го преобразува в нормално съобщение.

Характеристики на надеждност

Има няколко причини за високата надеждност на Minix 3. Първо, ядрото изпълнява само код, не по-голям от 4k реда, така че въз основа на скромна оценка от 6 грешки на 1000 реда, общият брой грешки в ядрото вероятно е около 24. Сравнете това с 15k грешки в Linux. и много повече за Windows. Тъй като всички драйвери на устройства, с изключение на часовника, са потребителски процеси, никакъв външен код никога няма да се изпълнява в режим на ядрото. В допълнение, малкият размер на ядрото позволява по-ефективна проверка на коректността му, ръчно или чрез официални методи.

IPC архитектурата в Minix 3 не изисква опашка или буфериране на съобщения, което елиминира необходимостта от управление на буфера в ядрото. Освен това, тъй като IPC е мощна конструкция, IPC възможностите на всеки сървър и драйвер са силно ограничени. За всеки процес, използваните IPC примитиви, наличните дестинации и известията за потребителски събития са строго определени. Потребителските процеси, например, могат да комуникират само на базата на среща или да изпращат съобщения само до Posix сървъри.

В допълнение, всички структури от данни на ядрото са статични. Всички тези функции значително опростяват кода и премахват грешките на ядрото, свързани с препълване на буфера, изтичане на памет, ненавременни прекъсвания, ненадежден код на ядрото и т.н. Разбира се, поставянето на по-голямата част от операционната система в потребителски режим не премахва неизбежните грешки в драйверите и сървърите, но ги прави много по-малко опасни. Поради грешка, ядрото може да унищожи критични структури на ядрото, да запише боклук на диска и т.н. Грешка в повечето драйвери и сървъри не може да причини значителни щети, тъй като тези процеси са ясно разделени и операциите, които могат да извършват, са строго ограничени.

Драйверите и сървърите в потребителски режим не могат да работят с привилегии на суперпотребител. Те нямат достъп до области на паметта извън техните собствени адресни пространства, освен в извиквания на ядрото (които се валидират от ядрото). Освен това растерните изображения и диапазоните в таблицата на процесите на ядрото контролират набора от позволени извиквания на ядрото, IPC възможности и разрешени I/O портове за всеки процес. Например, ядрото може да попречи на драйвера на принтера да записва информация в потребителските адресни пространства, да осъществява достъп до I/O портовете на диска или да изпраща съобщения до аудио драйвера. В традиционните монолитни системи всеки шофьор може да направи всичко.

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

Сред другите специфични характеристики, които осигуряват по-висока надеждност, най-важното е свойството за самовъзстановяване. Ако драйвер се опита да съхрани данни на невалиден указател, влезе в безкраен цикъл или се опита да извърши други неправилни операции, сървърът за прераждане автоматично ще замени този драйвер и обикновено други работещи процеси няма да бъдат засегнати.

Докато рестартирането на логически неправилен драйвер няма да поправи грешката, на практика неправилното време и подобни грешки причиняват много проблеми и рестартирането на драйвера често връща системата обратно в правилно състояние.

Опции за изпълнение

В продължение на десетилетия разработчиците критикуват многосървърните архитектури, базирани на микроядра, за тяхната по-ниска производителност от монолитните архитектури. Различни проекти обаче потвърждават, че модулната архитектура може действително да осигури сравнима производителност. Въпреки факта, че Minix 3 не е оптимизиран за производителност, системата е доста бърза. Загубата на производителност, която възниква поради драйвери в потребителски режим в сравнение с драйвери в режим на ядро, е по-малко от 10% и системата може да бъде изградена, включително ядрото, общите драйвери и всички сървъри (112 компилации и 11 връзки) за по-малко от 6 секунди на машина с процесор Athlon/2,2 GHz.

Фактът, че многосървърните архитектури могат да поддържат доста стабилна Unix-подобна среда с много малко натоварване на производителността, прави този подход практически приемлив. Minix 3 за Pentium може да бъде изтеглен безплатно под лиценза на Berkeley от уебсайта www.minix3.org. В момента се разработват версии за други архитектури и вградени системи.

Езикова защита

Най-радикалният подход, който е доста неочакван, беше предложен от Microsoft Research, изоставяйки операционната система като една програма, работеща в режим на ядрото, и определен набор от потребителски процеси, работещи в потребителски режим. Вместо това, той предоставя система, написана на напълно нови безопасни за типа езици, които са свободни от всички проблеми с указателя и други грешки, свързани с C и C++. Подобно на предишните два подхода, този подход беше предложен преди няколко десетилетия и беше внедрен в компютъра Burroughs B5000. Тогава съществуваше само езикът Algol и защитата се поддържаше не с помощта на MMU (който изобщо не беше в машината), а поради факта, че компилаторът на Algol просто не генерираше "опасен" код. Подходът, предложен от Microsoft Research, адаптира тази идея към условията на 21 век.

общо описание

Тази система, наречена Singularity, е написана почти изцяло на Sing#, нов безопасен за тип език. Този език е базиран на C#, но е допълнен с примитиви за предаване на съобщения, чиято семантика се определя от формални договори, описани с помощта на езика. Тъй като езикът силно ограничава системните и потребителските процеси, всички процеси могат да се изпълняват заедно в едно виртуално адресно пространство. Това увеличава както сигурността (тъй като компилаторът няма да позволи на един процес да променя данните на друг процес), така и ефективността (тъй като елиминира прихващанията на ядрото и контекстните превключватели.

Освен това архитектурата на Singularity е гъвкава, тъй като всеки процес е затворен обект и следователно може да има свой собствен код, структури от данни, структура на паметта, система за изпълнение, библиотеки и събирач на отпадъци. MMU се поддържа, но само разпределя страници, а не настройва отделен защитен домейн за всеки процес.

Основният принцип на архитектурата на Singularity е да се забранят динамичните разширения на процеса. Освен това тази архитектура не поддържа зареждаеми модули като драйвери на устройства и добавки за браузър, тъй като те биха могли да въведат външен и непроверен код, който може да навреди на родителския процес. Вместо това такива разширения трябва да работят като отделни процеси, напълно изолирани и взаимодействащи с стандартен механизъм IPC.

микроядро

Операционната система Singularity се състои от микроядрен процес и набор от потребителски процеси, които обикновено се изпълняват в споделено виртуално адресно пространство. Микроядрото контролира достъпа до хардуера, резервира и освобождава памет, създава, затваря и планира вериги, поддържа верижна синхронизация с помощта на семафори, поддържа синхронизация между процеси с помощта на канали и контролира I/O. Всеки драйвер на устройство работи като отделен процес.

Въпреки че по-голямата част от микроядрото е написано на Sing#, отделните компоненти са написани на C#, C++ или асемблер и трябва да бъдат надеждни, защото не могат да бъдат проверени, че са правилни. Надеждният код включва слоя за хардуерна абстракция и събирача на отпадъци. Слоят на хардуерна абстракция скрива хардуера на ниско ниво от системата чрез капсулиране на концепции като I/O портове, линии за заявка за прекъсване, канали за директен достъп до паметта и таймери, за да осигури оперативно съвместими абстракции на останалата част от операционната система.

Комуникация между процесите

Потребителските процеси получават системни услуги чрез изпращане на строго въведени съобщения до микроядрото по двупосочни канали от точка до точка. Всъщност тези канали се използват за цялата комуникация между процесите. За разлика от други системи за съобщения, които имат библиотека с функции за изпращане и получаване, Sing# напълно поддържа канали на езиково ниво, включително формално въвеждане и спецификации на протокола. За да изясним това, нека да разгледаме спецификацията на канала.

договор C1 (

В съобщението Request(int x) изисква x > 0;

Изходящо съобщение Отговор(int y);

Изходящо съобщение Error();

искане? -> в очакване;

Чакащо състояние: едно (

Отговор! -> начало;

грешка! -> Спрян;

Спряно състояние: ;

Този договор гласи, че каналът приема три съобщения: Заявка, Отговор и Грешка. Първият има положително цяло число като параметър, вторият има цяло число, а третият няма параметри. Когато се използва канал за достъп до сървър, съобщенията Request се изпращат от клиента към сървъра, а другите две съобщения се изпращат по обратния начин. Състоянието на машината описва протокола за канала.

В състояние Start клиентът изпраща съобщение Request, поставяйки канала в състояние Pending. Сървърът МОЖЕ да отговори или със съобщение за отговор, или със съобщение за грешка. Съобщението за отговор връща канала в начално състояние, в което взаимодействието може да продължи. Съобщение за грешканастройва канала в състояние Stopped, прекратявайки взаимодействието на канала.

купчина

Ако всички данни, като блокове от файлове, прочетени от диска, трябва да бъдат предадени, системата ще бъде много бавна, така че се прави изключение от основното правило, че данните на всеки процес са напълно частни и вътрешни за този процес. Singularity поддържа споделена купчина от обекти, но всеки екземпляр на всеки обект в купчината принадлежи на един процес. Собствеността върху обект обаче може да бъде прехвърлена по канал.

Като пример за това как работи купчината, помислете за I/O. Когато дисков драйвер прочете блок от данни, той поставя този блок в купчината. След това системата предава манипулатор на този блок на потребителя, който иска данните, като се придържа към принципа на "един собственик", но позволява данните да бъдат прехвърлени от диска към потребителя, без да се правят допълнителни копия.

Файлова система

Singularity поддържа едно йерархично пространство от имена за всички услуги. Основният сървър за имена използва горната част на дървото, но други сървъри за имена могат да се монтират на свои собствени възли. По-специално, файлова система, който е само процес, се монтира на /fs, така че например /fs/users/linda/foo може да бъде потребителски файл. Файловете се изпълняват като B-дървета с номера на блокове като ключове. Когато потребителски процес поиска файл, файловата система инструктира драйвера на диска да постави исканите блокове в купчината. След това собствеността се прехвърля, както е описано по-горе.

Преглед

Всеки системен компонент има метаданни, които описват неговите зависимости, експорти, ресурси и поведение. Тези метаданни се използват за валидиране. Образът на системата се състои от микроядрото, драйверите и приложенията, необходими за работа на системата, и техните метаданни. Модулите за външна проверка (верификатори) могат да извършват много проверки на системно изображение, преди системата да го използва, по-специално, за да се уверят, че драйверите нямат конфликт на ресурсите. Проверката се състои от три етапа:

  • компилаторът проверява за безопасност на типа, собственост на обект, протоколи за канали и т.н.;
  • компилаторът генерира Microsoft Intermediate Language, преносим JVM-подобен байт код, който може да бъде проверен от верификатор;
  • MSIL се компилира в x86 код за хост компютъра, който може да добавя проверки по време на изпълнение към кода (текущият компилатор обаче не го прави).

За да постигнете по-висока надеждност, можете да използвате инструменти, които ви позволяват да откривате грешки в самите верификатори.

Всеки от четирите различни опита за подобряване на надеждността на операционната система има за цел да предотврати неправилни драйвериустройства са причинили срив на системата.

При подхода Nooks всеки драйвер е индивидуално обвит в софтуер, за да се контролира внимателно взаимодействието му с останалата част от операционната система, но при този подход всички драйвери са в ядрото. При прилагането на паравиртуалния машинен подход тази идея получи по-нататъчно развитие. В този случай драйверите се преместват на една или повече машини, които са отделни от основната машина, което допълнително ограничава какво могат да правят драйверите. И двата подхода са предназначени да увеличат надеждността на съществуващите (наследени) операционни системи.

Другите два подхода заменят наследените операционни системи с по-надеждни и сигурни. Мултисървърният подход изпълнява всеки драйвер и компонент на операционната система в отделен потребителски процес и им позволява да комуникират чрез IPC механизма на микроядрото. И накрая, Singularity, най-радикалният подход, използва безопасен за типа език, единно адресно пространство и официални договори, които строго ограничават какво може да прави всеки модул.

Три от четири изследователски проекта - паравиртуализация, базирана на L4, Minix 3 и Singularity - използват микроядра. Все още не е известно кой от тези подходи ще стане широко разпространен в бъдеще (освен ако не е друго решение). Въпреки това е интересно да се отбележи, че микроядрата, за дълго времесчитани за неприемливи поради по-ниската им производителност в сравнение с монолитните ядра, може да се върнат отново към операционните системи поради тяхната потенциално по-висока надеждност, която се счита от мнозина за по-важна от производителността. Колелото на историята се завъртя.

Андрю Таненбаум ( [имейл защитен]) - Професор по информатика във Vrije Universiteit (Амстердам, Холандия). Йорит Хердер ( [имейл защитен]) е следдипломен студент в катедрата по компютърни системи на Факултета по информатика във Vrije Universiteit. Хербер Бос ( [имейл защитен]) - Доцент в катедрата по компютърни системи на Факултета по информатика във Vrije Universiteit.

Литература
  1. V. Basili, B. Perricone, Софтуерни грешки и сложност: Емпирично изследване, Comm. ACM, ян. 1984 г.
  2. T. Ostrand, E. Weyuker, Разпределението на грешките в голяма промишлена софтуерна система, Proc. Int?l Symp. Софтуерно тестване и анализ, ACM Press, 2002.
  3. A. Chou et al., Емпирично изследване на грешките на операционната система, Proc. 18-ти ACM Symp. Принципи на операционната система, ACM Press, 2001 г.
  4. М. Суифт, Б. Бершад, Х. Леви, Подобряване на надеждността на стоковите операционни системи, ACM Trans. Компютърни системи, том. 23, 2005 г.
  5. М. Суифт и др., Възстановяване на драйвери на устройства, Proc. 6-ти симп. Проектиране и внедряване на операционна система, ACM Press, 2003 г.
  6. Р. Голдбърг, Архитектура на виртуални машини, Proc. Workshop Virtual Computer Systems, ACM Press, 1973 г.
  7. J. LeVasseur et al., Повторно използване на немодифициран драйвер на устройство и подобрена надеждност на системата чрез виртуални машини, Proc. 6-ти симп. Проектиране и внедряване на операционна система, 2004 г.
  8. J. Liedtke, On Microkernel Construction, Proc. 15-ти ACM Symp. Принципи на операционната система, ACM Press, 1995 г.
  9. H. Hartig et al., Производителността на базирани на микроядро системи, Proc. 16-ти ACM Symp. Принципи на операционната система, ACM Press, 1997 г.
  10. J.N. Herder et al., Модулно системно програмиране в MINIX 3, Usenix; www.usenix.org/publications/login/2006-04/openpdfs/herder.pdf.

Андрю Таненбаум, Йорит Хердер, Хърбърт Бос, Можем ли да направим операционните системи надеждни и сигурни?, IEEE Computer, май 2006 г. IEEE Computer Society, 2006 г., Всички права запазени. Препечатано с разрешение.

Търсите ли най-сигурната Linux дистрибуция, която ще поддържа вашата операционна система безопасна и защитена?

Ето 15-те най-сигурни Linux дистрибуции за потребители, свързани с поверителността и сигурността.

Добре, може би вече знаете, че операционната система е основният софтуер, който ви позволява да взаимодействате с хардуера и софтуера на вашия компютър. Той контролира целия хардуер и комуникира с процесора и паметта.

Топ 15 на най-сигурните Linux дистрибуции

Броят на потребителите на Linux нараства всеки ден. Тяхната особеност е, че те са по-рядко срещани от другите операционни системи. И все пак те работят върху това да бъдат по-технични през следващите дни.

Ето списък на най-сигурните дистрибуции на Linux, които са „специално фокусирани върху сигурността на Linux“. Това означава, че тази статия е написана специално, за да се съсредоточи върху Sharp Security, което е по-скоро проблем за потребителя на Linux.

1. Cubes OS | Qubes Linux

Ако търсите най-сигурната Linux дистрибуция за вашия работен плот, Qubes е на върха тук. Защо? Е, Qubes е базирана на Fedora операционна система, фокусирана върху сигурността. настолни компютри. Тази операционна система ще ви защити чрез изолиране и виртуализиране на различни виртуални машиниотделно.

Да предположим, че сте изтеглили злонамерен софтуер, без веднага да разберете какъв е този софтуер? Или не знаете дали е безопасно или не. Не се притеснявайте, това е мястото, където Qubes OS влиза в игра. Cubes изолират другите ви лични файлове от зловреден софтуер без компромис. Готино е, нали? Моля, обърнете внимание: Тази операционна система е най-подходяща за напреднали потребители. Ето защо, ако сте начинаещ, ще ви бъде трудно да управлявате тази система.

2. Опашка Linux

Tails е една от най-добрите и сигурни Linux дистрибуции след Parrot Security OS. Tails беше пуснат за първи път през 2009 г. Тази операционна система е проектирана специално за персонални компютри. Ако търсите операционна система, която ще ви защити, докато сърфирате в Интернет, тогава Tails е избор номер едно.

Това е CD на живо и предварително инсталирана операционна система с пакета за браузър Tor, използващ схемата onion. Тъй като всички изходящи връзки минават през Tor, това ви позволява да сърфирате в интернет анонимно и каквото и да правите, то никога не оставя никакви следи.

Tails OS не използва място на твърдия диск, използва само пространството, от което се нуждаете във вашата RAM, но ще бъде изтрито автоматично, когато системата се изключи. Може да се използва като live DVD или live USB. Ще бъде по-удобно да стартирате от флаш устройство, а не от DVD. Има обаче някои проблеми с тази операционна система. Напоследък повечето потребители твърдят, че Tails изисква 2 USB памети за инсталиране, което е скучно.

3. Parrot Security OS

Parrot Security OS е разработена от FrozenBox и пусната през 2013 г. Този софтуер променя играта, когато става въпрос за сигурността и поверителността на операционната система на вашия компютър. Parrot Security OS е специално проектирана да тества оторизирана симулирана атака на вашата компютърна система, която ви помага да оцените уязвимостите на вашата система, независимо дали е достатъчно силна или не.

Предлага се с напълно преносима лаборатория, която предпазва вашата система от всякакви нежелани заболявания, докато сърфирате в мрежата, браузвате, играете игри и т.н. Отново, ако сте съдебен експерт, тогава тази операционна система е най-добрата...

4. Kali Linux

Kali Linux е предварително инсталирана Linux базирана на Debian дистрибуция, специално проектирана за Pen Testing и съдебни експерти. Kali идва с пакет от инструменти като -Aircrack-ng, Ettercap, Foremost, Wireshark Kismet, Maltigo и много други, които ви помагат по много начини, като например използване на мрежата или приложението на жертвата, откриване на мрежата или определяне на целевия IP адрес. адрес.

Kali не само включва Armitage, графичен инструмент за кибератаки, който ви позволява да хапвате и експлоатирате, да получавате препоръки за експлойт и усъвършенствани възможности за противодействие на Metasploit Framework. Kali Linux се счита за една от най-сигурните Linux дистрибуции за разработчици.

Подобно на Tails, тази операционна система може също да се стартира като живо DVD или USB стик и е по-лесна за използване от други налични операционни системи. Независимо дали използвате 32 или 62 операционни системи, Kali Linux може да се използва и на двете. Тази операционна система изисква минимум 512 MB RAM и 10 GB място на твърдия диск.

5. Wanyx | Whonix Linux

Ако искате да скриете вашия IP адрес, тогава Whonix е идеален за вас. Whonix е базирана на Debian операционна система, фокусирана върху анонимността, поверителността и сигурността. Whonix осигурява сигурност чрез изолация. Това е операционна система, която изрично използва принципа на изолация за сигурност, поверителност и анонимност.

Тази операционна система е разработена от две основни програми. Едната работна станция, а другата е Gateway. Шлюзът тук действа като посредник и принуждава всички връзки да преминават през мрежата Tor. По този начин няма възможност за изтичане на IP адрес и това е начинът, по който Whonix OS ви защитава.

6. Дискретни | Дискретен Linux

Може би се опитвате да запазите данните си в безопасност и все пак да ги намерите най-доброто разпределениесигурност за вашата операционна зала Linux системи. Оставете страховете си да отлетят. Тук имате Discreete Linux OS, за която се казва, че е една от най-сигурните Linux дистрибуции за защита на вашите ценни данни.

Тази операционна система не работи с интернет по време на работа, което разделя данните и криптографските ключове за защита от ненадеждна мрежа. Друг интересно нещое, че тази операционна система е чиста жива система, така че не е нужно да я инсталирате на компютъра си, можете бързо да я стартирате от USB устройство.

7. Linux Kodachi | Кодачи

Искате ли да останете напълно анонимни, докато сърфирате в интернет? Тогава Kodachi Linux е една от най-добрите и най-сигурните Linux дистрибуции, които бихте искали да имате. Много потребители казват, че това е най-сигурната Linux дистрибуция, която някога са имали. Лично аз обаче никога не съм го тествал. Тази операционна система идва с Tor, VPN и DNSCrypt и може лесно да се стартира от DVD или USB стик.

Можете да изберете страната на излизане от маршрута, когато сте онлайн. Тази операционна система съдържа много други полезни приложения като Pidgin Internet Messenger Transmission VirtualBox Geany, FileZilla и много други. И накрая, трябва да кажа, че тази операционна система идва с всичко необходимо за защита на потребителя.

8. BlackArch Linux

BlackArck Linux е нова Linux дистрибуция за сигурност, специално проектирана за тестване на писалка и сигурност. Предлага огромен брой инструменти, два пъти повече от Kali Linux.

Те могат да бъдат инсталирани индивидуално или, ако предпочитате, можете да ги инсталирате като група. Тази операционна система е лесна за използване. Тази ОС е достатъчно лека, за да можете да я стартирате на всеки хардуер.

9. Глави OS

Heads е безплатна дистрибуция за сигурност, базирана на GNU Linux. Тази ОС е значително по-малка от другите и по-лесна за управление. Ръководителите използват само безплатен софтуер, което означава, че тази ОС цени повече свободата на потребителите и общността.

Подобно на другите операционни системи по-горе, Heads също използва Tor, за да можете да бъдете анонимни, докато сърфирате в мрежата. Целият ви трафик минава през Tor по подразбиране, но те ви дават възможност да го спрете, ако искате. Мениджърите винаги дават приоритет на своите потребители.

10. Подграф | Подграф OS

Подобно на Tails, Subgraph Operating System също е базирана на Debian операционна система, която не позволява на сложни противници от Интернет да наблюдават и да се намесват. Тази ОС е за всеки. Неговата среда на работния плот, базирана на GNOME, е невероятно лесна за използване.

Говорейки за сигурност и поверителност, тази дистрибуция за сигурност предотвратява атака с интелигентен контрол на достъпа; Предотвратяване на повреда на паметта с помощта на пакет корекции (grsecurity patchset и Pax). Комплектът корекции Grsecurity осигурява пакет за сигурност, като защита на адресното пространство, разширен одит и контрол на процеси

11.IprediaOS

Това разпределение на сигурността е удобно за уеб сърфиране, изпращане електронна поща, чатете и споделяйте всякакви файлове по интернет анонимно. Всички връзки минават през I2P софтуера.

За разлика от други дистрибуции, IprediaOS поддържа ТОРЕНТИ. Тази операционна система е конкурентна по-бърза от Tor, дори ако ще я използвате на стария си компютър, тази операционна система ще работи добре и на този.

12. Чиста ОС

Ако търсите удобна за потребителя дистрибуция на сигурността, която ще ви позволи свободно да я променяте. След това е PureOS. PureOS е безплатен софтуер, който предоставя пакет за сигурност, който включва търсачката Duck Duck Go.

Това ще защити вашата поверителност чрез избягване на лични резултати от търсенето. Тъй като това е безплатен софтуер, можете да го изтеглите, без да купувате нищо. Можете да поискате неговия изходен код, дори ако имате право да го променяте.

13. Openwall GNU/*/Linux

Openwall е базирана на защитена дистрибуция операционна система Linux, специално проектирана за сървъри и приложения. Openwall осигурява сигурност, като намалява пропуските в своите софтуерни компоненти с корекцията Openwall (най-известна като (не exec stack patch). Това е безплатна сървърна платформа, предназначена да прави точно това.

14 Alpine Linux

Alpine Linux е най-сигурният Linux дистрибуциябазиран на mus libc и BusyBox. Толкова е леко, колкото си мислите. Оразмерете го основна системае около 5 MB, което е по-малко от другите налични системи. И затова тази Linux дистрибуция е толкова популярна.

Друг компонент на BusyBox включва много инструменти и много малко от тях са bunzip2, bzip2, less, lzma, unlzma, vi, wget. Тези инструменти са в базовото изображение на Alpine, което не е в базовото изображение на Debian. Този мениджър на APK приложения е много по-бърз от другите и много лесен за използване.

15. Контейнер | Контейнер Linux (по-рано CoreOS)

Ако обичате да работите между машини и да актуализирате машини без прекъсване, тогава Container Linux (преди CoreOS) ще бъде вашата дистрибуция на Linux. Container Linux е лека Linux дистрибуция, предназначена за клъстери и сървъри. Тази дистрибуция за сигурност става популярна в наши дни, защото е лесна за разполагане, управление и стартиране на контейнери. Преди това CoreOS поддържаше само платформата Dockers, но наскоро поддържа rkt (Rocket) като алтернатива на Docker. Този софтуер се актуализира автоматично, когато е необходима актуализация, което подобрява сигурността.

Linux дистрибуциите могат да бъдат разделени на различни категории, в зависимост от предназначението и целевата група. Сървъри, образование, игри и мултимедия са някои от популярните категории дистрибуции на Linux.

За потребителите, загрижени за сигурността, има няколко дистрибуции, които са предназначени да подобрена защитаповерителност. Тези компилации гарантират, че активността ви при сърфиране не се проследява.

Нашата селекция обаче включва не само дистрибуции с фокус върху поверителността, но и дистрибуции за тестване за проникване. Тези компилации са специално проектирани да анализират и оценяват сигурността на системата и мрежата и съдържат широк набор от специализирани инструменти за тестване на системи за потенциални уязвимости.

Дистрибуция, базирана на Ubuntu, предназначена за тестване за проникване. Благодарение на използването на XFCE като стандартен мениджър на прозорци, той работи много бързо.

Репозиториите на софтуерни решения се актуализират постоянно, за да се гарантира, че потребителят винаги разполага с най-новите версии на вградени инструменти, които ви позволяват да извършвате анализ на уеб приложения, стрес тестове, да оценявате потенциални уязвимости, привилегии и много други.

За разлика от други дистрибуции, които включват голям набор различни приложения, Backbox не съдържа такова излишък. Тук ще намерите само най-добрите инструментиза всяка отделна задача или цел. Всички инструменти са сортирани в категории, което улеснява намирането им.

Wikipedia предоставя кратки прегледи на много от вградените инструменти. Въпреки че първоначално Backbox е създаден само за тестови цели, дистрибуцията поддържа и мрежата Tor, която ще ви помогне да скриете вашето цифрово присъствие.

Кали

Вероятно най-популярната дистрибуция за тестване на проникване, базирана на Debian Wheezy. разработен от Offensive Security Ltd и е продължение на по-ранния проект BackTrack Linux.

Kali се предлага като 32-битови и 64-битови ISO изображения, които могат да бъдат записани на USB стик или CD или дори инсталирани на твърд диск или SSD устройство. Проектът също така поддържа ARM архитектурата и дори може да работи на Raspberry Pi едноплатков компютър, а също така включва огромен брой инструменти за анализ и тестване. Основният работен плот е Gnome, но Kali ви позволява да създадете персонализирано ISO изображение с различна работна среда. Тази силно персонализирана дистрибуция дори позволява на потребителите да променят и изграждат отново ядрото на Linux, за да отговарят на техните специфични нужди.

За популярността на Kali може да се съди по факта, че системата е съвместима и поддържана платформа за MetaSpoilt Framework, мощен инструмент, който ви позволява да разработвате и изпълнявате експлойт код на отдалечен компютър.

Предлага се за 32-битови и 64-битови машини, това е дистрибуция за тестване на проникване, базирана на Gentoo Linux. Потребителите на Gentoo могат по избор да инсталират Pentoo, който ще се инсталира върху основната система. Дистрибуцията е базирана на XFCE и поддържа запазване на промените, така че когато USB устройството е изключено, всички приложени промени ще бъдат запазени за бъдещи сесии.

Вградените инструменти са разделени в 15 различни категории като Exploit, Fingerprint, Cracker, Database, Scanner и др. Базирана на Gentoo, дистрибуцията наследява набор от функции за сигурност от Gentoo, които позволяват допълнителни настройки за сигурност и по-фин контрол върху дистрибуцията. Можете да използвате помощната програма Application Finder за бързо откриване на приложения, разположени в различни категории.

Тъй като дистрибуцията е базирана на Gentoo, ще са необходими някои манипулации, за да работи. мрежова картаи други хардуерни компоненти. Когато изтегляте, изберете опцията за проверка и настройте всичките си устройства.

Базирана на Ubuntu, тази дистрибуция е предназначена за откриване на проникване и наблюдение на мрежовата сигурност. За разлика от други дистрибуции за тестване на проникване, които са по-офанзивни по природа, това е по-скоро отбранителна система.

Въпреки това, проектът включва голям брой обидни инструменти, открити в други дистрибуции за тестване на проникване, както и инструменти за наблюдение на мрежата, като Wireshark packet sniffer и Suricata инструмент за откриване на проникване.

Security Onion е изграден около XFCE и включва всички най-важни приложения в Xubuntu. Security Onion не е предназначен за аматьори, а по-скоро за опитни професионалисти, които имат определено ниво на познания в областта на мрежовия мониторинг и предотвратяването на прониквания. За щастие проектът се съпровожда постоянно подробни ръководстваи видео уроци за помощ при сложен вграден софтуер.

Кейн

Акаунт по подразбиране: root:blackarch. BlackArch е с размер над 4 гигабайта и се предлага с няколко различни мениджъра на прозорци, включително Fluxbox, Openbox, Awesome.

За разлика от други дистрибуции за тестване на проникване, BlackArch може да се използва и като подобрен инструмент за поверителност. В допълнение към различни инструменти за анализ, наблюдение и тестване, дистрибуцията също така включва инструменти против проследяване, по-специално sswap и ropeadope за сигурно изтриване на съдържанието на суап файла и системните регистрационни файлове, съответно, и много други програми за поверителност.

Разработен от италианската мрежа за ИТ сигурност и програмиране Frozenbox, базиран на Debian, той може да се използва за тестване за проникване и поддържане на поверителност. Подобно на BlackArch, Parrot Security OS е текуща версия на разпространение. Влизането по подразбиране за сесия на живо е root:toor.

Живият образ, който инсталирате, предлага няколко опции за зареждане, като постоянен режим или постоянен режим с криптиране на данни. В допълнение към аналитични инструменти, дистрибуцията включва няколко програми за анонимност и дори криптографски софтуер.

Персонализираната десктоп среда на Mate предлага атрактивен интерфейс, а самата Parrot Security OS работи много бързо дори на машини с 2 гигабайта RAM. Няколко специализирани помощни програми са вградени в системата, например apktool е инструмент за модифициране на APK файлове.

За потребителите, които се грижат за поверителността, дистрибуцията предоставя специална категория приложения, които потребителите могат да активират анонимен режимсърфиране в интернет (използван Tor мрежи) с едно кликване.

Джондо

„Анонимните“ Linux операционни системи (операционни системи) са предназначени да извършват силно защитени и сигурни манипулации в цифровия живот, например при извършване на банкови преводи в системи за онлайн банкиране на компютри на други хора. Като минимум, тези операционни системи са предварително конфигурирани да ги разполагат на преносимо устройство, за да направят бързо и сигурно сърфиране в мрежата, без да казват на всички в обикновен текст къде или кой сте всъщност.
Ние цитираме "Анонимен" Linux по две причини:

  1. Първо, успешното скриване на самоличността онлайн изисква много повече внимание и дисциплина, отколкото просто инсталиране на правилния софтуер или използване на сигурни операционни системи.
  2. Второ, а понякога и първо: Помислете на какви компютри работите? Рискът от изтичане на парола или още по-лошо, може би машини на други хора, вече заразени с троянски коне и кийлогъри, които сте принудени да използвате в тази ситуация за личния си живот, проверка на поща или още по-лошо проверка на финансови ресурси, може да измъкне вашата лична информация и използвайте го в бъдеще. Надявам се, че тази статия ще ви помогне да се справите с подобни ситуации.

По-долу (в тази поредица от статии) ще намерите пет сигурни операционни системи, проектирани с анонимност и обща защита на поверителността като основна цел.

Петте най-сигурни операционни системи:

Така че вашият избор за защитена ОС, определено трябва да се насочи към Linux поради няколко причини:

  1. Първо: Windows никога не е бил проектиран за такива цели, винаги е бил затворен от външни очи (всички код на Windowsкриптирани, не можем да знаем какво има вътре). На теория Windows може да се подготви за безопасна употреба, но все още никой не е правил това, а дори и да го направите, ще отделите огромно количество време за това. И Linux, по силата на своята отвореност, ви позволява да правите каквото искате с него. Освен това такива хора вече са намерени и са направени специални версии на Linux OS, които са абсолютно безопасни и ви правят анонимни, просто „шпионски комплект“.
  2. Второ: Live CD технология - Linux може да стартира и внедри много бързо, без да го инсталирате на твърд диск. Можете да използвате такава защитена ОС оптичен дискили USB устройство (флашка) и го носете в джоба си. „В миг” можете да получите операционна система с готов работен плот и свързани приложения за работа в интернет, независимо от основната операционна система, инсталирана на компютъра, който трябва да използвате.

Представяме на вашето внимание селекция от 10-те най-добри операционни системи, които са идеални както за ежедневна работа, така и за откриване на нови функции за вашия компютър.

Въпреки широкото използване различни версии Windows, всяка година все повече потребители започват да търсят нови интересни операционни системи.

Инсталирането на нова система на компютър ви позволява да работите с програми, които не работят под Windows. Някои потребители избират да използват други операционни системи, за да запазят данните си в безопасност. Освен това простите и леки опции за ОС значително ускоряват работата на старите лаптопи и помагат да се отървете от проблема с постоянно прегряване и спирачки.

10 място - Windows 10

Въпреки факта, че в този рейтинг се абстрахираме от огромния брой версии на добре познатия Windows, не можем да не отделим една от най-успешните и най-бързи версии - Windows 10. Не се изненадвайте, че поставяме Windows на 10-то място . Да, той е най-популярният, но точно поради това е един от най-хакваните и не винаги безопасен. Освен това струва пари, освен ако, разбира се, не сте изтеглили комплекта му за разпространение от пиратски сайтове.

Системата е много лесна за използване и ще се хареса както на любителите на интерфейса на метрото, така и на тези, които са свикнали с обичайното меню "Старт". Официалната сборка има всички необходими програми, за да започнете, включително новия бърз браузър MS Edge.

Предимства на Windows 10:
  • Върна ключа "СТАРТ". В осмата версия на операционната система разработчиците разчитаха на интерфейс с плочки, което не зарадва потребителите. Сега собственикът на компютъра може самостоятелно да избере как е по-удобно за него да работи с началния екран;
  • Windows 10 е най-новата разработка на Microsoft. Това означава, че всички сили на компанията са насочени именно към подобряване и поддържане на работата на операционната система. Сервизни пакети за услуги за сигурност се пускат почти всяка седмица. Microsoft също се показва добре в бързото премахване на вируси. Собствениците на компютри с лицензирана десетка многократно отбелязват, че са успели да избегнат масовото разпространение на зловреден софтуер благодарение на бързите актуализации на разработчиците;
  • Наличност гласов асистентКортана. С вградената услуга за разпознаване на реч работата с търсене ще бъде още по-лесна;
  • Надеждна защитна стена. С вградения Microsoft Defender няма нужда да инсталирате допълнителен антивирусни програми. Защитната стена върши отлична работа при откриване на заплахи, бързо блокира изпълнението на зловреден код и ви позволява да сканирате системата;
  • Бърз старт. Операционната система се стартира за по-малко от 15 секунди, независимо от производителността на вашия компютър;
  • Настройка на множество настолни компютри. Потребителите могат да добавят неограничен брой начални екрани и лесно да превключват между тях с помощта на клавишни комбинации.

Струва си да се отбележи, че Windows поддържа почти всякакви игри и програми, така че определено няма да има проблеми с инсталирането на софтуер.

Недостатъци на Windows 10:
  • Наблюдение на потребителите. Microsoft не крие това нов Windows 10 може да проследява действията на потребителите. Системата редовно сканира компютъра за използване на нелегални софтуерни продукти на Microsoft. Сега хакнатият просто ще бъде премахнат от компютъра. Не е тайна, че ОС изпраща на разработчика информация за посетените ресурси и снимки на работния плот. Ако желаете, всички тези опции и разрешения могат да бъдат деактивирани в настройките;
  • Политика за използване. Дори след дълго време от пускането, разработчиците все още не са решили политиката за разпространение. През първата година притежателите на лиценз за Windows 7/8 можеха да надстроят до десет безплатно. Днес струва пари (от 8 000 до 14 000 рубли, в зависимост от монтажа). В същото време е открита вратичка, чрез която можете да надграждате безплатно с помощта на вградената помощна програма за достъпност.

9 място - ROSA

ROSA е руска версия на отворената операционна система Linux. Стандартното ядро ​​на операционната система е напълно пренаписано от разработчиците на ROSA. Целта на проекта е да създаде функционална, безплатна и удобна система, която да задоволи всеки рускоезичен потребител.

ROSA OS е напълно безплатна система. Няма покупки и в самата ОС. Наличието на комплекта за разпространение допринесе за разпространението на системата не само сред обикновени потребителино и сред големите компании. Както знаете, ROSA се използва както в подразделенията на Министерството на отбраната на Руската федерация, така и в много частни компании в цялата страна.

Предимства на ROSA OS:
  • Всичко е готово за работа. След като инсталирате системата, не е необходимо да инсталирате никакви драйвери и допълнителни програми. Всичко, от което се нуждаете, вече е в системата. Ако желаете, можете да изтеглите софтуера от всеки специализиран сайт. Както знаете, Linux има почти нулев процент вирусни програми, така че инсталирането от източници на трети страни не представлява никаква опасност;
  • Тестов режим. За тези, които все още не са решили напълно да преминат към ROSA OS, разработчиците са предоставили режим на гости. Можете да създадете редовно инсталационно USB флаш устройство и да стартирате от него. Операционната система няма да бъде инсталирана, а потребителят ще може да се запознае с нейния интерфейс и функционалност;
  • Удобен интерфейс. Подреждането на всички елементи е много обмислено. Дори начинаещ ще се справи с разработването на нова система за 10-15 минути. Всички програми са удобно разделени на раздели на работния плот. Можете да закачите често използвани програми към Кутията с инструменти. Началния екраннаподобява функционалността на Windows;
  • Защита от вирус. Рискът от изтегляне на злонамерен софтуер е минимален, така че можете лесно да разглеждате всякакви сайтове, за да инсталирате програми и игри. Ако в тях е "вграден" вирус, тогава той ще работи само в Windows или други по-разпространени операционни системи.

Сред недостатъците на ROSA OS могат да бъдат разграничени малък брой програми. Не всеки софтуер на Windows има аналози за ядрото на Linux.

8-мо място - FreeBSD

FreeBSD е операционна система, която е усъвършенствана за работа със сървъри, а сега и с обикновени настолни компютри. Изминаха повече от 30 години от началото на първата разработка на тази система. Днес FreeBSD е проста, надеждна и удобна операционна система, която ще бъде добър заместител на познатия Windows.

Предимства на FreeBSD:
  • Безплатен лиценз и изтегляне от мрежата;
  • Отвореният код ви позволява да модифицирате системата;
  • Разпръскване. FreeBSD се използва от много популярни сайтове в света за поддръжка на сървърната страна - Webmoney, Aliexpress, ASOS и други;
  • Защита и надеждност. Заслужава да се отбележи добре обмислената логика на операционната система, рационалното потребление на ресурсите на компютъра. FreeBSD е бърз дори на машини от нисък клас;
  • Голям избор на софтуер. Повече от 4000 разработчици от цял ​​свят участват в разработването на версии на програми за FreeBSD. По този начин, текущи версииот всички популярни програми бързо се появяват в публичното пространство.
Недостатъци на FreeBSD:
  • Трудност при настройка. Това е основната причина FreeBSD да не е толкова популярна сред обикновените потребители. След като се справите с първата настройка на операционната система, ще получите система, която работи много по-бързо от Windows;
  • Трудност при получаване на документация. Ако искате да настроите администрация за вашия сайт на FreeBSD, трябва да отделите време, за да потърсите административна документация.

За да гарантира сигурността, FreeBSD използва всички необходими нива на защита: механизми за криптиране, контрол на удостоверяването, проверка на входящия и изходящия трафик, редовно наблюдение на системата за злонамерен код.

7 място - Fedora

Fedora е подобна на Linux операционна система, която включва безплатен софтуер. Трябва да се отбележи, че използваните драйвери може да са със затворен код и някои видове софтуер може да имат ограничен лиценз (например кодеци за възпроизвеждане на мултимедия).

Предимства на Fedora:
  • Използване на средата на Gnome. Разработката на Gnome за Fedora се смята за едно от най-успешните имплементации на работния плот в операционните системи;
  • Лесен за използване. Разработчиците са създали прост и красив дизайн за работния плот, програмните раздели. Бързата навигация между отворените приложения и папки е възможна благодарение на страничната лента с инструменти;
  • предварително инсталирани програми. След инсталирането ще имате достъп до софтуерен пакет, за да започнете напълно да работите с Fedora (уеб браузър, изследовател, преглед на изображения, софтуер за управление на виртуална машина и др.);
  • Бързо инсталиране на нови приложения. Софтуерът се инсталира през "Център за приложения", по същия начин, както на обикновен смартфон;
  • Възможност за актуализиране "по въздуха". Можете да изтеглите и инсталирате нов фърмуер на ОС, като използвате помощната програма Gnome Software.
Недостатъци на Fedora:
  • Сред разработчиците Fedora се счита за "безплатна тестова площадка" за тестване на софтуер. Всички приложения се появяват по-бързо, но има голяма вероятност софтуерът да е недовършен и нестабилен.

6 място - Elementary OS

Elementary OS е бърз и същевременно функционален заместител на познатия Windows. Разработчиците позиционират системата като проста среда за работа, което логично следва от името на операционната система.

Системата използва ядрото за разпространение на Linux. Елементарни корици на ОС безплатнои работи на абсолютно всички компютри, независимо от хардуерните компоненти.

Предимства на ElementaryOS:
  • Удобен и приятен интерфейс. Минималистичният стил е в основата на функционалността на операционната система. Към работния плот са добавени минимум елементи, но всички те ви позволяват да управлявате операционната система без проблеми. Трябва да се отбележи плавното превключване на прозорците и много бързото зареждане на програмите;
  • Лекота на учене. Дори начинаещ потребител ще разбере Elementary OS. Без сложни команди, принудителна работа с конзолата и неразбираеми параметри. Функционалността може да се сравни с лекотата на използване на мобилната операционна система Android - всичко основни настройкиможе да се коригира в прозореца с инструменти на работния плот.;
  • Страхотен комплект стандартни програми. По правило потребителите не се отнасят сериозно към приложенията, предварително инсталирани в операционната система. В случая с Elementary OS разработчиците се опитаха да създадат полезен базов софтуерен пакет, който не искате да премахвате;
  • Редовен поток от нови програми. Разработчиците бързо адаптират програми за Elementary OS.

Като цяло системата е чудесна за домашна употреба. За администриране на сървър или създаване на работна станция такава ОС все още не е подходяща. Сигурността на Elementary OS се осигурява от вградени модули за защита от Linux.

Ако имате слаб компютърили искате да инсталирате допълнителна "лека" ОС, не се колебайте да изберете Elementary OS.

5-то място - Chrome OS

Chrome OS е операционната система с отворен код на Google. Основната характеристика на системата е използването на хибридно ядро ​​(ядрото на Linux в комбинация с услугите на Google).

Операционната система се разпространява напълно безплатно и се дължи на нейната популярност сред потребителите бърза работаи хубав дизайн.

Предимства на Chrome OS:
  • Системата е доминирана от уеб приложения и е дадена ключова роля в управлението на системата Браузър Chrome. Именно с негова помощ се зареждат и изпълняват уеб приложенията;
  • Няма специални изисквания за хардуерна архитектура. Благодарение на простата концепция на Chrome OS, не е необходимо да имате мощен компютър или лаптоп, за да инсталирате системата. Напротив, системата е специално проектирана за машини с ниска производителност (нетбуци, лаптопи от нисък клас). ценова категория). Използването на уеб услуги ви позволява да намалите натоварването на твърдия диск и RAM;
  • Безопасност в автоматичен режим. Изтеглянията на пакети с актуализации на защитния модул се извършват редовно. Също така системата има вграден защитник за бързо откриване на заплахи;
  • Лекота на използване;
  • Наличност на софтуер. Всички програми могат да бъдат изтеглени от Google Playили услугата Android Nougat. Изобилието от софтуер в тези онлайн магазини няма да позволи на потребителя да изпитва недостиг на приложения. В допълнение, целият софтуер е идеално адаптиран за настолната операционна система.

На пръв поглед интерфейсът на Chrome OS прилича на комбинация от Android и Windows. Инсталирани програмипоставени в отделно меню, а управлението на системата се извършва с помощта на лентата с инструменти, както в работния плот на Windows.

Сред недостатъците на Chrome OS е необходимостта от постоянна връзка с интернет. Препоръчително е да се използва wifi мрежаили Ethernet връзка. В противен случай няма да можете да работите с уеб услуги.

4-то място - OpenSuse

OpenSuse е друга популярна дистрибуция, която работи на ядрото на Linux. Използва се за поддръжка както на сървъри, така и на домашни компютри. Новият системен фърмуер се пуска редовно, като датите на пускане на ace могат да се видят на уебсайта на разработчика.

Потребителят на OpenSuse може сам да персонализира системата. Не са ви необходими умения за програмиране, за да направите това. Промяната на интерфейса е да изберете средата на работния плот, която харесвате. Докато повечето компилации на Linux могат да работят само с една работна среда, OpenSuse поддържа множество помощни програми за стилизиране наведнъж. Най-популярните от тях са KDE и XFCE.

Предимства на OpenSuse:
  • Лесна настройка. Можете да контролирате операционната система с едно YaST приложение. Този инструмент ви позволява да коригирате настройките за това как работи OpenSuse. Потребителите могат самостоятелно да добавят хранилища, да управляват опции за зареждане, дялове на операционната система, настройки за мрежова връзка и други параметри;
  • Безплатно разпространение на софтуер. OpenSuse ще стартира всички необходими програми. Системата автоматично адаптира софтуера за вашия компютър;
  • Лесна инсталация на софтуер. За разлика от повечето компилации на Linux, вече не е необходимо сами да инсталирате хранилища, да добавяте ключове за достъп и да правите сложни настройки. Достатъчно е да изтеглите необходимите програми от официалния източник https://software.opensuse.org/ и да завършите инсталацията с едно кликване.
Недостатъци на OpenSuse:
  • В стандартния комплект липсват кодеци и драйверен софтуер, което усложнява първата настройка на ОС;
  • Потребителите отбелязват нестабилната работа на стандартния торент клиент MonSoon.

3-то място - Ubuntu

Ubuntu е универсална операционна система, която работи на Debian GNU/Linux двигателя. Системата работи отлично на сървъри, персонални компютри и лаптопи. Стандартната компилация идва с десктоп среда, работеща с Unity.

Предимства на Ubuntu:
  • Работа с оборудване. Ubuntu поддържа огромен брой свързани типове устройства. Например всеки свързан USB устройствоще работи без никакви проблеми и драйверен софтуер;
  • Потребителска поддръжка. Ubuntu OS има най-голямата и най-отзивчива общност. Ако е необходимо, начинаещите ще могат да получат отговори на всички въпроси, използвайки официалния уебсайт на разработчика;
  • Надеждност. Операционната система има вградени помощни програми за Резервно копиеданни. Системата самостоятелно създава копия на важни файлове, архивира ги и ги изпраща в облака. Това гарантира надеждността на Ubuntu. Ако администрирате сървър на тази операционна система, по-добър начинза бързо връщане назад не могат да бъдат намерени данни;
  • Система за безопасност. Разработчиците са предоставили цяла система от приложения, които в заден планнаблюдавайте уязвимостите. Ubuntu се счита за най-силната Linux дистрибуция по отношение на сигурността;
  • Програмен център. Специална помощна програмаза търсене и инсталиране на програми също позволява на начинаещи да се запознаят с основите на инсталиране на софтуер под Linux. На страницата на всяко приложение има подробно описание на софтуера, неговите изисквания и отзиви от други потребители.

Ubuntu се разпространява безплатно. Що се отнася до недостатъците на системата, може да се отбележи липсата прости средствамиграция от Windows OS. Освен това Ubuntu няма ефективни помощни програми за родителски контрол, така че не се препоръчва инсталирането на дистрибуция за семейна употреба.

2-ро място - macOS

MacOS е семейство операционни системи от Apple Corporation. В момента най-актуалната версия е Mac OS Sierra. За разлика от операционните системи, описани по-горе, Mac не работи на базата на Unix-подобни системи, а използва родния двигател на Apple.

Комплектът за разпространение на системата се разпространява безплатно.

Предимства на macOS:
  • Използваемост и графична обвивка. Тази ОС е разпозната най-добрата системаза потребители. Всички опции и настройки са насочени към бързо развитие. Интерфейсът е многоезичен, интуитивен и удобен;
  • Висока степен на защита. Mac OS е най-сигурната сред всички съвременни операционни системи. Броят на вирусите е почти нулев, а вградената антивирусна програма ще се справи с всички "вредители";
  • Лесни за инсталиране и премахване на програми. Достатъчно е само да преместите прекия път в кошчето, за да премахнете напълно приложението. Mac OS прави всичко за потребителя. Не е необходимо ръчно да почиствате твърдия си диск, както правите в Windows или Linux;
  • Стабилна работа. Поради високата съвместимост на компонентите, потребителите не срещат грешки, замръзвания или сривове в операционната система.
Недостатъци на macOS:
  • Съвместимост. Ако притежавате обикновен компютър, а не Macintosh, можете да инсталирате операционна система само ако е съвместима с хардуерните компоненти. MacOS работи на ограничен брой процесори (най-вече Intel Coreи Xeon);
  • По-малко програми, отколкото в същия Windows.

1-во място - Linux Mint

Linux Mint е признат за най-добрата компилация за инсталиране на потребителски компютри. Той отговаря на всички изисквания на обикновения потребител - разпространява се безплатно, съвместим е с всеки хардуер, рационално изразходва ресурсите на компютъра и има удобен за потребителя интерфейс.

Предимства на Linux Mint:
  • Бързо включване. Системата се зарежда за 10-12 секунди, което е значително по-бързо от Mac OS и повечето системи от фамилията Windows;
  • Поддръжка на множество десктопи;
  • Вградена помощна програма за бързо инсталиране и премахване на програми. В тази версия на Linux потребителите не трябва да се занимават с хранилища. Всичко е създадено за удобна работасъс софтуер;
  • Многоезичен интерфейс;
  • Бързо отстраняване на грешки в системата. Ако срещнете замразяване на програми, можете да деактивирате процеса, като натиснете един клавиш;
  • Поддържа се от всички настолни компютри и лаптопи.
  • Удобен интерфейс.
Недостатъци на Linux Mint:
  • Ограничено количество софтуер за специфични задачи (редактиране на видео, работа с графики и др.);
  • Липса на стабилен графичен драйвер за AMD, което може да доведе до неправилна работа на някои игри.

Резултат

Когато избирате операционна система, на първо място обърнете внимание на задачите, които сте си поставили. софтуерна среда. Нуждаете се от бърза и сигурна операционна система за ежедневна употреба? Обърнете внимание на Unix-подобни системи.

Ако искате да получите надеждна операционна система с отлична графична среда, препоръчваме да изберете Mac OS. За любителите на интерфейса и функционалността мобилни системитрябва да започнете да използвате Chrome OS.