Ochrana paměti

Ochrana paměti je v informatice způsob řízení práv přístupu k paměti počítače a je součástí většiny moderních operačních systémů. Hlavním účelem této ochrany je zabránit procesu v přístupu k paměti, která pro něj nebyla alokována. Předchází se tak scénáři, kde chyba uvnitř jednoho procesu ovlivní běh dalších procesů či samotného operačního systému. Z pohledu počítačové bezpečnosti patří k ochraně paměti také techniky jako randomizace uspořádání adresního prostoru (ASLR) a ochrana spustitelné oblasti.

Metody

Segmentace

Segmentace paměti spočívá v rozdělování paměti počítače do částí. Odkaz na místo v paměti pak tedy obsahuje hodnotu, která určuje konkrétní segment a odsazení v rámci tohoto segmentu.

Architektura x86 má vícero vlastností, které usnadňují práci se segmentovanou pamětí.[1] Mezi tyto vlastnosti se řadí přítomnost tabulek Global Descriptor Table a Local Descriptor Table, které lze použít k odkazování na segmenty v paměti. Dále je možné uložení odkazů přímo do segmentových registrů procesoru.

Stránkovaná virtuální paměť

Při stránkování je paměťový adresní prostor rozdělen na malé, stejně velké, části, nazývané stránky. Následným zapojením mechanismu virtuální paměti je pak možné umístit každou stránku do kteréhokoliv místa ve fyzické paměti, či stránku označit jako chráněnou. Libovolné umístění stránek tak umožňuje zachovat lineární adresní prostor v rámci bloku, který je ve fyzické paměti složen z fragmentů.

Většina počítačových architektur založených na stránkování používá stránkování jako způsob ochrany paměti.

Tabulka stránek je použita k mapování virtuální paměti do fyzické. Tato tabulka je pro proces obvykle neviditelná. Tabulka stránek ulehčuje alokování nové paměti, protože každá nová stránka může být alokována z libovolného místa ve fyzické paměti.

Tímto způsobem je tak pro aplikaci nemožné přistoupit na stránku, která pro ni nebyla explicitně alokována a to proto, že žádná paměťová adresa, dokonce ani kompletně náhodná, kterou se aplikace pokusí použít, buď odkáže na stránku alokovanou pro tuto aplikaci, nebo dojde k vygenerování stavu page fault (PF). Nealokované stránky a stránky alokované pro jiné aplikace jednoduše nemají z pohledu dané aplikace žádnou adresu.

Jako poznámku na okraj lze doplnit, že PF nemusí končit jako fatální chyba. Operační systém může tuto událost zachytit a pokusit se načíst paměťovou stránku, která byla dříve swapována na disk a následně obnovit chod aplikace, která způsobila vyvolání poruchy stránky. Tímto způsobem aplikace obdrží paměťové stránky jak vyžaduje. Toto schéma, známé jako swapování, umožňuje, aby data v paměti, která nejsou aktuálně používána, bylo možné přesouvat na disk a zpět, aniž by o tom aplikace věděly, a zvýšit tak celkovou kapacitu paměti.

Na některých systémech je PF mechanismus použit také pro ochranu spustitelné oblasti.

Ochranné klíče

Mechanismus ochranných klíčů rozděluje fyzickou paměť do bloků specifické velikosti (např. 4 KiB), kde každý z těchto bloků má přidělenou číselnou hodnotu nazývanou ochranný klíč. Stejně tak je každému procesu přiřazena hodnota ochranného klíče. Při vstupu do paměti pak hardware kontroluje, zda ochranný klíč přistupujícího procesu je shodný s hodnotou klíče pro tento paměťový blok; pokud se hodnoty klíčů neshodují, nastane výjimka. Tento mechanismus byl poprvé použit v architektuře mainframů IBM (System/360).

Systém ochranných klíčů pro System/360 popsaný výše pracuje s fyzickými adresami. Tím se odlišuje od systému použitém u řad procesorů jako Intel Itanium či Hewlett-Packard Precision Architecture, kde se pracuje s virtuálními adresami a kde je umožněno asociovat proces s více klíči.

V procesorových architekturách Itanium a PA, mají překlady v TLB k sobě asociovány klíče (Itanium) či přístupová id (PA). Běžící proces má několik registrů s ochrannými klíči (16 v případě Itanium,[2] 4 u PA[3]). Klíč překladu vybraného virtuální adresou je porovnán s každým záznamem v registrech ochranných klíčů. Pokud je daná hodnota klíče nalezena v jednom z registrů (plus další možná ověření), přístup je povolen. Pokud daná hodnota klíče nalezena není, dojde k vygenerování chyby či výjimky. Softwarový obsluhovač chyb může, pokud je to vyžadováno, zkontrolovat přítomnost nenalezeného klíče ve větším seznamu klíčů spravovaném softwarově; čímž lze s registry ochranných klíčů uvnitř procesoru zacházet jako se softwarově řízenou cache obsahující klíče asociované s procesem.

V PA má klíč 15–18 bitů; Itanium vyžaduje nejméně 18. Klíče jsou většinou asociovány s tzv. ochrannými doménami, jako například knihovny, moduly, apod.

Simulovaná segmentace

Simulace je používání monitorovacího programu k interpretaci strojového kódu počítače. Takový simulátor může poskytovat ochranu paměti použitím schéma segmentovaného charakteru, kdy se v reálném čase ověřuje cílová adresa a délka instrukce před tím, než dojde k jejímu vykonání. Simulátor musí přepočítat cílovou adresu a délku a porovnat tyto hodnoty se seznamem platných adresových rozsahů, které si udržuje v rámci kontextu vlákna a kam patří například dynamické bloky paměti získané v průběhu života vlákna či jakékoliv validní sdílené statické paměťové sloty. Význam slova „validní“ se může v průběhu života vlákna měnit v závislosti na situaci. Občas může být umožněno měnit statický blok úložného prostoru a občas ne, což se odvíjí od aktuálního módu spouštění, který může a nemusí záviset na klíči úložného prostoru či stavu kontroléru.

Všeobecně není vhodné používat tuto metodu ochrany paměti tam, kde jsou přítomné na procesoru jiné, avšak kvalitou adekvátní, metody, protože je tento způsob výpočetně náročný. Metoda nachází uplatnění zejména v kontextu vývoje a testování, kde poskytuje lepší informace v případech, kdy dochází k porušování přístupu k úložnému prostoru.

Adresace založená na způsobilosti

V této metodě ochrany paměti jsou ukazatele nahrazené chráněnými objekty (nazývanými způsobilosti), které mohou být vytvořené pouze za použití privilegovaných instrukcí, které může vykonávat pouze jádro, případně proces k tomu autorizovaný. Toto efektivně umožňuje jádru řídit, které procesy mohou přistupovat k jakým objektům v paměti, aniž by k tomu bylo nutné použít oddělený adresní prostor či přepínání kontextu. Způsobilosti nejsou v komerčním hardwaru takřka používané, avšak jsou velmi rozšířené ve vědeckých systémech jako KeyKOS. Koncept způsobilostí je také základem pro některé virtuální stroje, například Smalltalk či Java.

Určení úrovně ochrany

Úroveň ochrany konkrétní implementace lze určit dle toho, do jaké míry dodržuje princip nejnižších privilegií.[4]

Ochrana paměti v rozličných operačních systémech

Způsoby rozdělování a ochrany paměti se napříč operačními systémy liší. Skutečné rozdělování paměti bylo v domácích počítačích používáno až od vydání OS/2 v roce 1987. Na starších systémech byla tato vlastnost nechráněné paměti využívána jako forma komunikace mezi procesy. V rodině systémů Windows 9x je možné povolení přístupu procesům do systémové paměti.[5]

Některé systémy, které implementují ochranu paměti:

V unixových systémech se k řízení ochrany paměti používá systémové volání mprotect.[6]

Reference

V tomto článku byl použit překlad textu z článku Memory protection na anglické Wikipedii.

  1. Intel 64 and IA-32 Architectures Software Developer's Manuals: Volume 3A: System Programming Guide, Part 1
  2. Keys in Itanium. download.intel.com [online]. [cit. 2013-12-31]. Dostupné v archivu pořízeném dne 2007-11-28. 
  3. Memory protection in HP PA-RISC. h21007.www2.hp.com [online]. [cit. 2013-12-31]. Dostupné v archivu pořízeném dne 2011-06-07. 
  4. Cook, D.J. Measuring memory protection, accepted for 3rd International Conference on Software Engineering, Atlanta, Georgia, May 1978.
  5. Windows 9x does not have true memory protection [online]. Everything2, 2000-06-24 [cit. 2009-04-29]. Dostupné online. 
  6. mprotect [online]. The Open Group. Dostupné online. 

Externí odkazy

Read other articles:

Prof. Dr. Ir. H.Gusti Muhammad HattaM.S. Menteri Riset dan Teknologi Indonesia Ke-11Masa jabatan19 Oktober 2011 – 20 Oktober 2014PresidenSusilo Bambang Yudhoyono PendahuluSuharna SurapranataPenggantiMohamad NasirMenteri Negara Lingkungan Hidup Indonesia Ke-8Masa jabatan22 Oktober 2009 – 19 Oktober 2011PresidenSusilo Bambang Yudhoyono PendahuluRachmat WitoelarPenggantiBerth Kambuaya Informasi pribadiLahir1 September 1952 (umur 71)Banjarmasin, Kalimantan Selat...

 

Terapi khelasiIntervensiDua molekul deferasiroks, khelator yang dimasukkan lewat mulut. Bahan ini dapat mengikat besi dan digunakan untuk mengatasi kelebihan besi transfusional pada pengidap talasemia.[sunting di Wikidata] Terapi khelasi adalah prosedur medis yang menggunakan bahan-bahan khelasi untuk menghilangkan logam berat dari tubuh.[1] Terapi khelasi telah lama digunakan dalam bidang toksikologi klinis,[2] walaupun penggunaannya harus diawasi dengan sangat teliti kar...

 

Currency of Italian SomalilandThe Italian Somaliland Lira was a special version of the Italian 5 Lire coin of 1927 (shown above), with the same image of king Vittorio Em. III The Italian Somaliland lira also called the Somali lira (Italian: lira somala), was a special version of the Italian lira minted in Italian Somaliland between 1925 and 1926.[1] Data The Italian government decided to introduce the Italian lira into the colony. Decree No.1143 of 18 June 1925 authorized the introduc...

Artikel ini bukan mengenai New York City FC stadium. Stadion New YorkLokasiStadion New York New York Way Rotherham S60 1FJ[1]Transportasi umum Rotherham Central (0.4 mi)PemilikRotherham United F.C.OperatorRotherham United F.C.Kapasitas12,021PermukaanRumputKonstruksiMulai pembangunan16 Juni 2011DidirikanIzin perencanaan diberikan, 2010Dibuka19 Juli 2012Biaya£20 jutaArsitekS&P Architects dan 3E Consulting EngineersKontraktor umumGleeds dan GMI ConstructionPemakaiRotherham United F....

 

Coach in fighting sports For the basketball position, see Cornerman (basketball). For the minstrel role, see Minstrel show. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Cornerman – news · newspapers · books · scholar · JSTOR (April 2011) (Learn how and when to remove this message) A cornerman giving instr...

 

费迪南德·马科斯Ferdinand Marcos 菲律賓第10任總統任期1965年12月30日—1986年2月25日副总统費爾南多·洛佩斯(1965-1972)阿圖羅·托倫蒂諾前任奧斯達多·馬卡帕加爾继任柯拉蓉·阿基诺 菲律賓第4任總理任期1978年6月12日—1981年6月30日前任佩德羅·帕特諾(1899年)继任塞薩爾·維拉塔 个人资料出生1917年9月11日 美屬菲律賓北伊羅戈省薩拉特(英语:Sarrat)逝世1989年9月28日(...

دائرة حمام السخنة موقع الدائرة في ولاية سطيفموقع الدائرة في ولاية سطيف الإدارة ولاية ولاية سطيف البلديات التابعة حمام السخنة الطاية التلة بعض الأرقام المساحة الإجمالية 180.90 كلم² النسبة من مساحة الولاية السكان 13426 نسمة (احصاء: 2008 ) كثافة تعديل مصدري - تعديل   دائرة حمام ال�...

 

Amici, amanti e...Ashton Kutcher e Natalie Portman in una scena del filmTitolo originaleNo Strings Attached Lingua originaleinglese Paese di produzioneStati Uniti d'America Anno2011 Durata98 min Rapporto2,35:1 Generecommedia, sentimentale RegiaIvan Reitman SoggettoMike Samonek, Elizabeth Meriwether SceneggiaturaElizabeth Meriwether ProduttoreIvan Reitman, Joe Medjuck, Jeffrey Clifford, Ali Bell (co-produttore), Annette Savitch (co-produttore), Elizabeth Meriwether (co-produttore) Produtto...

 

Science and Religion redirects here. For the 1991 book by John Hedley Brooke, see Science and Religion: Some Historical Perspectives. Science and theology redirects here. For the 1998 book by John Polkinghorne, see Science and Theology. God the Geometer — Gothic frontispiece of the Bible moralisée, representing God's act of Creation. France, mid-13th century The relationship between religion and science involves discussions that interconnect the study of the natural world, history, philos...

Educational organization in Karnataka, India This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (August 2022) (Learn how and when to remove this message) Sanskrit College, Mysore Sanskrit College junct...

 

Benign growths of the vaginal epithelium A 1906 illustration of a Gartner cyst on the vaginal wall Vaginal cysts are uncommon benign cysts that develop in the vaginal wall.[1][2] The type of epithelial tissue lining a cyst is used to classify these growths.[3] They can be congenital.[4][5][6][7] They can present in childhood and adulthood.[7] The most common type is the squamous inclusion cyst. It develops within vaginal tissue p...

 

Sporting event delegationIndia at the2022 Commonwealth GamesFlag of IndiaCGF codeINDCGAIndian Olympic AssociationWebsiteolympic.ind.inin Birmingham, England28 July 2022 (2022-07-28) – 8 August 2022 (2022-08-08)Competitors210 (106 men and 104 women) in 16 sportsFlag bearers (opening)Manpreet SinghP. V. SindhuFlag bearers (closing)Nikhat ZareenSharath AchantaOfficials24MedalsRanked 4th Gold 22 Silver 16 Bronze 23 Total 61 Commonwealth Ga...

Tool used to play stringed instruments Three plectra for use with guitar A plectrum is a small flat tool used for plucking or strumming of a stringed instrument. For hand-held instruments such as guitars and mandolins, the plectrum is often called a pick and is held as a separate tool in the player's hand. In harpsichords, the plectra are attached to the jack mechanism. Plectra wielded by hand Guitars and similar instruments Assorted plectra for use with guitar Main article: Guitar pick A ple...

 

Study of the 3D shapes of molecules Geometry of the water molecule with values for O-H bond length and for H-O-H bond angle between two bonds Molecular geometry is the three-dimensional arrangement of the atoms that constitute a molecule. It includes the general shape of the molecule as well as bond lengths, bond angles, torsional angles and any other geometrical parameters that determine the position of each atom. Molecular geometry influences several properties of a substance including its...

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: 心霊探偵 八雲 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2017年8月) 心霊探偵八雲 ジャンル ミステリ[1] 小�...

Football clubDudullu SporFull nameDudullu Spor Kadın Futbol TakımıFounded1985GroundDudullu StadiumCapacity200Coordinates41°00′51″N 29°09′41″E / 41.01417°N 29.16139°E / 41.01417; 29.16139ChairmanMustafa BülbülManagerEkrem TaslakLeagueTurkish Women's Super League2021–2210th (Group B) Dudullu Spor Women's Football (Turkish: Dudullu Spor Kadın Futbol Takımı) is a women's football team based at Yukarı Dudullu neighborhood of Ümraniye district in Ista...

 

تحتاج هذه المقالة إلى الاستشهاد بمصادر إضافية لتحسين وثوقيتها. فضلاً ساهم في تطوير هذه المقالة بإضافة استشهادات من مصادر موثوق بها. من الممكن التشكيك بالمعلومات غير المنسوبة إلى مصدر وإزالتها. بحاجة للاستشهاد بمعجم مطبوع بدلاً عن قاعدة بيانات معجمية على الإنترنت. التاريخ...

 

Coat of arms of the Princes of Melfi The title of Prince of Melfi is an Italian noble title that was granted to Andrea Doria, a famous admiral, statesman and condottiere from the Republic of Genoa, in 1531 along with the lands of the country of Melfi by Charles V.[1][2] The title was handed to his grandson Giovanni Andrea Doria upon Andrea's death.[3] The title continued to be held by Andrea's descendants well through the 17th to 20th centuries.[4] The title ce...

Pope's CollegePauscollegeThe 18th-century front building viewed from across the quadTypeCollege for Theology (Old University of Leuven)Hall of residence (Katholieke Universiteit Leuven)Established1523; 501 years ago (1523)Religious affiliationCatholicAcademic affiliationKatholieke Universiteit LeuvenLocationLeuven, Belgium50°52′37″N 4°42′10″E / 50.87694°N 4.70278°E / 50.87694; 4.70278NicknamePapistsWebsitewww.pauscollege.com/information.ht...

 

French explorer, geographer, linguist and Catholic saint (1858–1916) SaintCharles de FoucauldCirca 1907Born(1858-09-15)15 September 1858Strasbourg, Second French EmpireDied1 December 1916(1916-12-01) (aged 58)Tamanrasset, French AlgeriaVenerated inCatholic ChurchAnglican Communion[1]Beatified13 November 2005, Saint Peter's Basilica, Vatican City by Cardinal José Saraiva MartinsCanonized15 May 2022, Saint Peter's Square, Vatican City by Pope FrancisFeast1 DecemberAttribute...