From: "Lorenzo Hernández García-Hierro" <lorenzo@gnu.org>
To: "Sriram, Kannan" <ksriram@ti.com>
Cc: SELinux Mail List <selinux@tycho.nsa.gov>
Subject: Re: SELinux for embedded devices...
Date: Fri, 29 Jul 2005 06:12:29 +0200 [thread overview]
Message-ID: <1122610349.14844.21.camel@localhost.localdomain> (raw)
In-Reply-To: <45F366B1BC4F7C4A895F0F34C41E61A5511366@dbde01.ent.ti.com>
[-- Attachment #1: Type: text/plain, Size: 3878 bytes --]
El vie, 29-07-2005 a las 07:50 +0530, Sriram, Kannan escribió:
> Hello all,
>
> I'm a newbie to SELinux, trying to figure out if SELinux is applicable/
> suitable to embedded system security, especially mobile terminals/
> smartphones. I have the following very basic questions... Pls help me
> out, or redirect me to the appropriate forum.
>
> 1. Is SELinux applicable and suitable for mobile equipment, where the
> end user always has root privileges? Has SELinux been ported to any
> embedded device yet (some ARM platform??).
SELinux itself doesn't need to be ported to ARM processors, but the
file-systems in which the labeling relies.
The problem of NAND flash chips and other flash memory components is
that they have a limited writable times. Hence, the use of specific file
systems is needed in order to *not* reach such limit in a short period
of time.
Currently, there's a problem about this. Maybe you can think on ext3,
XFS, etc, and all of those nice "bullet-proof" file-systems with
journaling. The problem is that, such file-systems make an exhaustive
use of the memory/storage device they are running on with each
operation, reaching the limit of writes and thus turning the flash
memory chip unusable.
There are file systems specifically designed to be "small" and efficient
on these scenarios. Notable examples are JFFS2 and the
still-under-design JFFS3 maintained by the Linux-MTD project.
I was working on the design of extended attributes for JFFS2 (in which
SELinux relies for labeling file-system objects), even got help from an
Intel guy, but I got stuck at it, without any resources for testing, and
the Intel guy who was willing to work together with me was requested for
legal approbation before doing anything. Thus, time passed and I
couldn't go a step further on doing anything serious about it.
Someday I may re-start the little project, but that's unlikely to happen
until I get the needed time and resources for testing, designing and
implementing this.
> 2. Assuming I have made the kernel on the flash to be tamperproof (can't
> replace the SElinux image on the flash with the "SE" part disabled),
> isn't it still possible at runtime to disable the security server?
If correctly configured policy and enforcement mode turned on present,
"de-activating the SS" (more like going into permissive mode or just
disabling SELinux at runtime via selinuxfs) wont be possible.
Also, what do you mean my "tamper-proof" in this context? Physically
protecting the chip which serves as storage for it? That sounds strange.
> 3. Same as above, is it possible to change the security policy files, or
> reload a different set of policies (given root access).
Under SELinux root is just another user with access to certain roles. Be
them user_r or sysadm_r, doesn't matter, it's all your choice and you
can turn root into a non privileged user.
> And now the big question, is there a way to prevent both (2) and (3)??
> Or have I completely misunderstood the whole thing??
On 2 and 3, SELinux stuff with correct configuration (policy,
enforcement mode by default, etc), you would prevent both. In any case,
physical protection of the storage media is more important.
Just think if someone with access to the proper resources (ie. anyone
studying an electrical engineering degree or with some knowledge on the
field and money to waste) could dump an image of the flash memory chip
after de-assembling it form the circuit, and post-analyzing the obtained
data? Neither SELinux nor file-system labeling will be able to do
anything against that. Many times these methods are used to
reverse-engineer firmware and the like.
I hope it helped.
Cheers,
--
Lorenzo Hernández García-Hierro <lorenzo@gnu.org>
[1024D/6F2B2DEC] & [2048g/9AE91A22][http://tuxedo-es.org]
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-07-29 4:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-29 2:20 SELinux for embedded devices Sriram, Kannan
2005-07-29 4:12 ` Lorenzo Hernández García-Hierro [this message]
2005-07-29 8:55 ` Luke Kenneth Casson Leighton
2005-07-29 13:10 ` Stephen Smalley
-- strict thread matches above, loose matches on Subject: below --
2005-07-29 4:47 Sriram, Kannan
2005-07-29 6:09 ` Lorenzo Hernández García-Hierro
2005-07-29 8:44 ` Luke Kenneth Casson Leighton
2005-07-29 13:16 ` Stephen Smalley
2005-07-29 21:08 ` Christopher J. PeBenito
2005-07-29 6:30 Sriram, Kannan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1122610349.14844.21.camel@localhost.localdomain \
--to=lorenzo@gnu.org \
--cc=ksriram@ti.com \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.