Главная » Просмотр файлов » Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356

Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (779879), страница 45

Файл №779879 Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (Symbian Books) 45 страницаIssott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (779879) страница 452018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

This is because the processes created from an EXE aregiven the security credentials of the EXE. DLLs on the other hand,if loaded by a process, execute with the security credentials of the1 en.wikipedia.org/wiki/Defensein depth (computing)See [Heath, 2006, Section 2.4].3 If not assigned explicitly, the SID defaults to the UID3 of the executable whilst theabsence of a VID statement means that it does not have a VID.2234SECURITYprocess.

To prevent this allowing a DLL to take on security credentialsat run time, the following DLL loading rule4 is applied: ‘A processcan only load a DLL if that DLL has been trusted with at least thecapabilities that the process has’.• Data caging files – this allows important files, whatever their content, to be protected. Special top-level directories are providedon each drive that restrict access to the files within them as follows:5• /sys contains executable code and cannot be read from or writtento.• /resource allows only read access.• /private/<own SID> allows read and write access.• /private/<other SID> cannot be read from or written to.• /<other> has no restrictions.Symbian OS platform security divides components into the followingthree types:• Trusted Computing Base (TCB) [DoD, 1985] components have unrestricted access to the device resources.

They are responsible formaintaining the integrity of the device, and applying the fundamentalrules of platform security. The rest of the operating system must trustthem to behave correctly and their code has, consequently, beenvery strictly reviewed. In particular, the TCB guarantees the following:• The capabilities, SID, and VID of a process (as returned by theassociated RProcess and User functions) can be trusted by thecaller of these functions.• The capabilities, SID, and VID of executables, both EXEs andDLLs, cannot be tampered with and then executed by the Loader(part of the TCB). This includes any code loaded via RLibrary,REComSession or the RProcess APIs.• Executables on the device cannot be overridden except by legitimate6 upgrades for the executable.For more information on the services that the TCB provides see [Heath,2006].

Note too that TCB is also used to refer to the capability given4 See[Heath, 2006, Section 2.4.5].5 Unless the process is highly trusted and has been assigned a specific capability approvedby the device manufacturer.6To a limited extent this can be circumvented by using Symbian Open Signed (whatused to be known as Developer Certificates).

However, this can only be done with the enduser’s full knowledge and permission.SECURITY235to these components, such as the kernel and file server and, on opendevices, the software installer.• Trusted Computing Environment (TCE) servers, beyond the TCB,which are granted orthogonal restricted system capabilities. Thisincludes servers providing sockets, telephony, certificate management, database access, and windowing services.• Everything else.To build secure software on top of Symbian OS it is particularly importantto keep the following principles in mind:• Economy of mechanism [Saltzer and Schroeder, 1975] – this is thepractice of minimizing the size of highly trusted code by separating itfrom code that doesn’t require the same level of trust. Such separationenables closer scrutiny and analysis of the security-critical code,increasing confidence that vulnerabilities will not be found after thesoftware has been deployed.• Complete mediation [Saltzer and Schroeder, 1975] – access to aprotected resource must always be checked and any temptation tocache decisions for execution performance reasons must be examinedskeptically.• Open design [Saltzer and Schroeder, 1975] – security should notdepend on keeping mechanisms secret as they are difficult to maintainthis way and provide little defense once they’ve been publicized.

Youalso forego the benefits of others reviewing your design.• Least privilege [Saltzer and Schroeder, 1975] – this requires that eachprocess executes with the least number of capabilities possible so thatit only accesses such information and resources as are necessary forits legitimate purpose. This minimizes the damage that can result fromsecurity vulnerability in a single component.• Privilege leakage – when a process is trusted with a privilege it isexpected to guard the access it is granted by having the privilege. Thismeans that you should carefully consider whether to allow a processto perform an action on behalf of a process that uses a privilege unlessit has the same privilege itself.Having developed a component based on Symbian OS that makesuse of specific capabilities you may need to distribute your softwarefor installation on other people’s devices.

Unfortunately, it’s not alwayspossible to simply put it up on a website somewhere and have peopledownload copies to their devices. If your component requires the useof a capability, for whatever reason, then you may be able to rely onthe user to grant blanket permission to the application at installationtime or ‘single-shot’ permission at run time. However, if this is not the236SECURITYcase then your component must be signed: a process that associatesa tamper-proof digital certificate with the component that identifies itsorigin and allows the software installer to judge whether or not thecomponent should be allowed to install with the security credentials itsays it needs.Executables need to be signed so that stakeholders other than theoriginal developer can judge whether or not they should trust them.

Forinstance, the end user wants to know that their personal data isn’t goingto be stolen; a content provider wants to prevent unauthorized copiesof their music being made, and Symbian and the device manufacturerwant to protect their reputation for providing reliable devices. By signinga component with a specific capability, you promise to maintain theintegrity of the parts of the device to which the capability gives yourcomponent access.Not all capabilities are equal and the cost of assigning a capabilityto a component varies considerably. Consider the four main types ofcapability given below in order of increasing sensitivity:• User capabilities are designed to be meaningful to end users who maybe allowed7 to grant blanket or single-shot permission for executablesto use these capabilities even if they haven’t been signed.• System capabilities protect system services, device settings, and somehardware features.

Use of these capabilities requires executablesto have been signed. The signing process for these capabilities iscurrently free and can be done locally for testing or for personal use.For commercial use, there are some moderate costs involved andsigning cannot be done locally.• Restricted system capabilities protect file system, communications,and multimedia device services. Use of these capabilities also requirescode to have been signed. The signing process for these capabilitiesfor any use currently requires a moderate cost and signing cannot bedone locally.• Device-manufacturer-approved capabilities are TCB and system capabilities that protect the most sensitive system services.

Use of thesecapabilities requires a device manufacturer to have given permissionfor the associated application or service to be signed for use on theirdevices.Each additional capability that is required may require one or moredeclarative statements to be filled out or extra testing during the signing process. The more sensitive a capability is, the more likely theyare to occur. For further details on how Symbian Signed works see[Morris, 2008].7 Dependingon the security policy for a particular device.SECURITY237In summary, components that use the more sensitive capabilities meanadditional financial and development costs for the component provider.This is especially important when providing an extension point for whichanother vendor is intended to supply the plug-ins.

For instance, if youwere to require plug-ins to have the TCB capability it would meanthat most plug-in providers would not be able to target your extensionpoint as they’d not be able to obtain permission for the capabilitiesrequired.Another point to remember about capabilities is that they should onlybe assigned to a process if they are needed to access a specific API.8Capabilities should not be assigned just to impose additional restrictionson DLLs loaded into the process.

For instance, a device manufacturermight be tempted to assign a process the AllFiles capability and soprevent third-party DLLs from being loaded. Whilst this would appearto work, in certain circumstances it would be possible to circumventthe restriction if the process doesn’t actually call an API which checksAllFiles capability. This is because capabilities are not a generalmeasure of trustworthiness. Capabilities were designed to control accessto APIs; when a binary is signed with a certain set of capabilities itsimply means that it is permitted to access those APIs.

Capabilities aren’tintended for the purpose of saying ’this code is more trustworthy thanthat code‘, they are designed to say ’this code needs to access certainAPIs and that code doesn’t’.9 As an example, if an executable is assignedcapability X, which it does not need for any API call, then it could be‘upgraded’ to a version that isn’t assigned capability X by using SymbianOpen Signed.10 This ‘upgraded’ version of your component would thenexecute without any problems but at a lower level of trust which mightbe enough to allow the malicious developer to be able to install theirplug-in into your process and access all its memory.In most situations, this restriction on being able to assign capabilitiesisn’t a problem because if a process handles sensitive information and sowants to ensure that loaded DLLs can legitimately have access to the datathen the process has usually obtained the sensitive data by calling theAPI of the appropriate service.

Характеристики

Тип файла
PDF-файл
Размер
2,96 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6295
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее