Ajánlott, 2024

Szerkesztő Választása

Mi a szigorúan érvényesített ellenőrzött indítás az Android Nugat-ban?

Ha követte az Android fejlesztéseit, akkor az elmúlt néhány évben meg kellett hallania a „Verified Boot” nevet. A Google bevezette az Android 4.4 (Kitkat) biztonsági funkcióját, alaposan nem tolakodó módon, és lassan növelte láthatóságát az Android operációs rendszer újabb kiadásaiban.

Az elmúlt néhány napban olyan híreket láttunk, hogy a Google leggyakrabban használt mobil operációs rendszerének legújabb iterációjában „ szigorúan érvényesített hitelesített rendszerindítás ” létezik. Az Android Nougat magasabb szintű biztonsági ellenőrzést fog használni, ha a készülék elindul. Míg a Marshmallow-nál a Verified Boot csak figyelmeztetést adott a felhasználónak, abban az esetben, ha a rendszerpartícióval valami rosszat észlelt, az Android Nougat egy lépéssel továbbveszi, és a Google által „szigorúan érvényesített hitelesített rendszerindítónak” nevezi, ami ne engedje, hogy a készülék egyáltalán indítsa el a rendszert, abban az esetben, ha észleli a rendellenességeket a partícióban, a rendszerbetöltőn végrehajtott változtatásokat, vagy a „rosszindulatú” kód jelenlétét a készüléken. Ez azt a kérdést vetíti fel, hogy „Mit jelent ez pontosan a felhasználók számára?”, Kiderül, a válasz az Android-felhasználók két fő kategóriája (alkalmi és energiafelhasználók) esetében különbözik, és mindkettőjükre válaszolunk. .

Szigorúan érvényesített megerősített rendszerindítás

Először is, egy kis hátteret a Verified Boot-ról: Általában, amikor az Android ellenőrző tesztet végez a partíciókon, akkor ezt úgy végezze el, hogy a partíciókat 4KiB blokkokra osztja, és ellenőrzi őket egy aláírt táblázat ellen. Ha minden ellenőriz, akkor a rendszer teljesen tiszta. Ha azonban néhány blokk megsérül, vagy megsérül, az Android tájékoztatja a felhasználót a problémákról, és a felhasználó feladata, hogy megoldja (vagy ne).

Minden, ami az Android Nugat-szal és a szigorúan érvényesített hitelesített rendszerindítóval fog változni. Ha a Verified Boot futási módban fut, akkor nem fogja elviselni a partíciók hibáit . Ha bármilyen hibát észlel, akkor nem teszi lehetővé, hogy a készülék elinduljon, és lehetővé tegye a felhasználó számára, hogy biztonságos módban indítsa el a problémákat. Azonban a szigorúan érvényesített ellenőrzött rendszerindítás nem csak a rossz adatblokkok ellenőrzése. Általában az adatblokkok hibáit is javíthatja. Ezt lehetővé teszi a Forward Error Corrections kódok jelenléte, amely az adatblokkok hibáinak kijavítására használható. Ez azonban nem mindig működik, és abban az esetben, ha nem, eléggé halott vagy a vízben.

Szigorúan érvényesített megerősített rendszerindítás: A jó, a rossz és a csúnya

1. A Jó

A megerősített rendszerindítás végrehajtása az Android eszközökön fokozza az eszközök biztonságát . Abban az esetben, ha a készülék megfertőzi a rosszindulatú programokat, a Strictly Enforced Verified Boot azt fogja észlelni, amikor legközelebb elindítja a készüléket, vagy javítja, vagy esetleg kéri, hogy tegyen valamit.

Ez a funkció az adatok korrupcióját is ellenőrzi, és a legtöbb esetben az FEC-kódoknak köszönhetően képes lesz az adatokban feltárt hibák kijavítására. A Google FEC kódokat használ, amelyek egy ismeretlen bithibát 255 bitben korrigálhatnak . Persze, ez úgy tűnik, mint egy nagyon kis szám, de tegyük ezt a perspektívában, a mobileszköz tekintetében:

Megjegyzés: Az alábbi értékeket a Google Mérnök Sami Tolvanen a blogbejegyzésből veszi fel az Android fejlesztőkön.

A Google RS (255, 223) FEC kódot használhatott: ezek a kódok 16 ismeretlen bithibát tudtak korrigálni 255 bitben, de a hely fölött a 32 bites redundáns adatok miatt csaknem 15% volt, és ez sok, különösen a mobil eszközökön. Add hozzá azt a tényt, hogy az Android a leggyakoribb operációs rendszer a 4–8 GB-os memóriával rendelkező okostelefonoknál, és 15% -os extra hely biztosan soknak tűnik.

Azáltal, hogy a helytakarékosság érdekében a hibajavító képességeket feláldozza, a Google úgy döntött, hogy RS (255.253) FEC kódot használ. Ezek a kódok csak egyetlen ismeretlen hibát tudnak korrigálni 255 bitben, de a hely fölött csak 0, 8%.

Megjegyzés: Az RS (255, N) a Reed-Solomon kódok ábrázolása, amelyek egyfajta hibajavító kódok.

2. A rossz

Valaha hallottam: „Két érme van egy érmének”? Természetesen van. Míg a Google szigorúan érvényesített ellenőrzött rendszerindítással kapcsolatos szándéka kétségkívül tiszta, mint egyszemélyes egyszarvú, saját problémájukkal jönnek.

Ha szigorúan érvényesített ellenőrzött rendszerindítás ellenőrzi a rosszindulatú programokat, akkor ellenőrzi a rendszermag illegális módosítását, a rendszerindítót és más olyan dolgokat, amelyeket nem fogok viselni, de ez azt jelenti, hogy az Android Nougat valószínűleg sok gyökeres problémával fog találkozni, és villogó egyéni ROM-ok, mert a Verified Boot nem tudja megkülönböztetni a nemkívánatos malware-kódot és a bootloader-t feloldó kódot. Ami azt jelenti, hogy ha a készülék zárolt rendszerbetöltővel érkezett, és az OEM nem teszi lehetővé a bootloader feloldását, akkor eléggé nem tudja megtenni. Remélhetőleg néhányan rájönnek egy kihasználásra.

Szerencsére a legtöbb ember, aki gyökerezi az eszközeit, és az egyéni ROM-okat villog a hozzáadott funkciókhoz és funkciókhoz, a fejlesztői barátságos telefonok, például a Nexus. Ezzel a témával kapcsolatban sok mindent érdemes megfontolni, és nem feltétlenül az egyéni ROM-ok vége, legalábbis nem olyan eszközökön, amelyekhez egy nyitás nélküli betöltő van, vagy amely lehetővé teszi a bootloader feloldását. Azonban az olyan eszközök, mint a Samsung telefonok nem engedélyezik a bootloader kinyitását, és ezeken az eszközökön a rendszerbetöltő feltárása a Verified Boot által feltétlenül „probléma” lesz, ami megakadályozza a készülék indítását.

A Strictly Enforced Verified Boot alkalmazásban felmerülő másik probléma az is, amely még azoknak a felhasználóknak is hatással lesz, akik nem törődnek a root jogosultságokkal, vagy egyéni ROM-ok telepítésére. Idővel a készülék használatakor a memóriában természetes adatkompenzáció van; nem a rosszindulatú programok jelenléte miatt, hanem egyszerűen azért, mert ez történik. Ez általában nem probléma, vagy legalábbis nem olyan súlyos probléma, mint a Verified Boot. Ha sérült adatok vannak, akkor a Strictly Enforced Verified Boot nem tudja helyreállítani a rendszerindítást, ezért nem teszi lehetővé a készülék indítását. Véleményem szerint ez egy nagyobb, láthatóbb probléma, mint a felhasználói partíción lévő korrupt adatok.

3. A csúnya

Valószínűleg a Verified Boot érvényesítésének minden előnye, és az összes lehetséges probléma miatt a leginkább zavaró tény, hogy az OEM-ek visszaélhetnek ezzel az eszközzel, hogy az emberek ne használhassák az Androidot annak érdekében, amit legyen: nyitott, fejlesztőbarát és teljesen testreszabható. A szigorúan érvényesített hitelesített rendszerindítás az OEM-ek kezébe kerül, amely biztosítja, hogy az emberek ne tudják kinyitni a rendszerindító betöltőit az eszközökön, ezáltal tiltva őket az egyéni ROM-ok és az olyan funkciójavító eszközök telepítésére, mint az Xposed Modules.

Android Nugat: radikális változás az Androidban?

Bár biztosak vagyunk abban, hogy a Google szándékai egyszerűen elkerülték az esetleges problémákat az alkalmi Android-felhasználók számára, akik nem tudnák, hogy mit tegyenek, ha eszközüket érintette egy kártevő, vagy ha a memóriájuk sérült adatblokkokat tartalmazott, előfordulhat, hogy az OEM-eket átadta és a gyártó tökéletes eszköz arra, hogy lezárja a felhasználókat azáltal, hogy éljenek azzal, amit kínálnak, és semmi más.

Természetesen valaki kitalál egy kizsákmányolást, vagy egy megoldást erre a helyzetre, és reméljük, hogy az Android valódi szellemében fognak. Mindaddig, amíg valaki nem találja meg a megoldást, mindazt, amit mi, a felhasználók számára, biztosítani tudunk arról, hogy megvásároljuk készülékeinket a fejlesztőbarát gyártóktól.

Kiemelt kép: Flickr

Top