[ros-dev] Policy question
Marc Schütz
schuetzm at gmx.net
Mon Jun 5 11:04:49 CEST 2006
> -------- Original-Nachricht --------
> Datum: Sun, 4 Jun 2006 14:30:35 -0700
> Von: Myria <myriachan at cox.net>
> An: ReactOS Development List <ros-dev at reactos.org>
> Betreff: Re: [ros-dev] Policy question
>
> Uhh, it's called a disassembly and the x86 manuals. Attempting to access
> kernel memory through 0xC0000000 in the normal DS segment is no different
> to
> an x86 than accessing kernel memory through another segment at 0x00000000
> in
> a custom segment whose base is 0xC0000000. Both are going to fail because
> the page table says those are kernel addresses. Since the default CS and
> DS
> already have the limit as FFFFFFFF, there isn't a risk from a different
> segment having the same values.
>
This is only true for accesses from user mode. Are you sure that at no point, esp. somewhere in the APIs concerning VDMs, such a segment descriptor could be used from within the kernel?
> The only risk becomes the syscall and interrupt handlers. The first thing
> these do is load all the segment registers with proper values, before
> trying
> to read from memory. So these aren't an issue either. (CS and SS were
> already loaded by the CPU.)
>
> It wasn't that the designers didn't think about security, it's that they
> thought *too much* about security. They saw a risk when there really
> wasn't
> one. They just never noticed because they didn't care - NTVDM is
> basically
> unsupported now.
>
> Several years ago, I ran into several DOS programs that failed to run
> under
> NTVDM solely because they were creating selectors that wrapped the address
> space, so yes, a compatibility problem does exist.
>
> ReactOS already allows NtCreateSection with SEC_IMAGE on an ELF file,
> which
> is much more of an extra feature than deleting an unnecessary security
> check.
>
> Melissa
>
> ----- Original Message -----
> From: "Alex Ionescu" <ionucu at videotron.ca>
> To: "ReactOS Development List" <ros-dev at reactos.org>
> Sent: Sunday, June 04, 2006 13:23
> Subject: Re: [ros-dev] Policy question
>
> > Myria wrote:
> >> Should ReactOS copy unnecessary restrictions that Windows has?
> >
> > You're not an NT designer. Just because you find something "unnecessary"
> > doesn't mean it is. Have you emailed anyone at Microsoft to verify your
> > theory, before potentially creating a security hole?
> >
> >>>> The example I'm thinking of is NtSetLdtEntries. In Windows NT (and
> >> currently ReactOS as well), this function will not let you create an
> LDT
> >> entry whose limit is above the user/kernel barrier.
> >> This restriction sounds
> >> like it was made with security in mind, but it doesn't affect security.
> >
> > Then I would venture to guess that the internationally recognized and
> > distinguished engineers, professors and developers originally assigned
> > with the NT project didn't think of security.
> >
> >> The
> >> processor's page table will already block access to kernel memory no
> >> matter
> >> what selector you use. After all, the default user CS and DS already
> >> have a
> >> limit of FFFFFFFF.
> >>
> >> Should such a problem be fixed?
> >
> > We don't even know if it's a problem yet. As of now, it's an assumption.
> >
> >>>> Fireball said "no, unless some 3rd party app or driver depends on
> them"
> >> when
> >> I asked about whether such restrictions should be copied. Pretty much
> >> the
> >> only thing using NtSetLdtEntries is NTVDM, and this restriction already
> >> causes some DOS programs to break that would otherwise work. (Such
> >> programs
> >> are usually setting selectors that wrap the address space.)
> >
> > The decision was made a long time ago not to export additional APIs or
> > provide extra functionality which would cause programs to work on
> > ReactOS but not Windows. This creates a dangerous slippery slope. Not
> > being compatible doesn't only mean "not having all the features", it
> > also means "having more features". Once ROS DLLs/programs/3rd-party
> > applications start depending on ReactOS, you break compatibility. You
> > also start breaking the DDK license.
> >
> > But even before getting to this line of thought, I ask again. Have you
> > verified this allegation?
> >
> >>>> Melissa
> >>
> > Best regards,
> > Alex Ionescu
> > _______________________________________________
> > Ros-dev mailing list
> > Ros-dev at reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
More information about the Ros-dev
mailing list