As Chris mentioned, it's not about using the type system to create safety.
We're assuming that exists, the idea is to gate unchecked access to the
data (which *is* required for libraries created for generic use) with the
`unsafe` keyword. However, many seem to be of the opinion that `unsafe` is
just for memory safety, in which case it would be nice to have a wider
range of `unsafe` attributes (or something) which allow us to gate methods
that are prone to SQL injection (etc etc).

-Manish Goregaokar

On Tue, Sep 23, 2014 at 3:01 AM, Tony Arcieri <basc...@gmail.com> wrote:

> On Mon, Sep 22, 2014 at 2:15 PM, Daniel Micay <danielmi...@gmail.com>
> wrote:
>
>> I think it can be solved by using visibility, along with providing a way
>> to override the visibility rules and call private functions. That means
>> replacing the current usage of visibility for memory safety with unsafe
>> fields though, but I think that's important to make the memory safety
>> boundary work properly anyway.
>>
>
> Just to clarify what I see going on here and how other (type) systems have
> solved this:
>
> For things like XSS and SQLi, the problem is untrusted off-the-wire data
> being used in what is more or less a "secure" context.
>
> Some might refer to this sort of untrusted off-the-wire data as "tainted"
> and try to use some sort of taint analysis to solve the problem. The TS*
> dependent type system refers to it as "Un" (i.e. untrusted) and relies on
> its dependent type system to prove Un data isn't used in a secure context.
> Very fancy and possibly overkill, but that said, a pretty awesome solution
> to the problem.
>
> There is a *generic* problem here of using such untrusted data in any sort
> of templating or metalinguistic context. The general problem is OWASP #1:
> failure to sanitize input, affecting vulnerabilities like XSS, SQLi, and
> LDAP injection.
>
> I am absolutely certain this affects systems like Servo as well ;)
>
> Preventing untrusted data from penetrating the secure contexts of the
> program using the type system has the potential to mitigate the most common
> security vulnerabilities if done correctly.
>
> --
> Tony Arcieri
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to