Exception: LerrLow

4 views
Skip to first unread message

Matias Laporte

unread,
Aug 16, 2011, 10:24:36 AM8/16/11
to eci-2011...@googlegroups.com
Hola, buenos días.
Quería saber si alguien más había obtenido la excepción LerrLow al intentar ejecutar alguno de sus programas. Específicamente, me está pasando en el ejercicio 4 del día 4, pero al intentar ejecutar código dado en la clase (por ejemplo, el archivo ExampleToLabeled.hs, también del día 4) también falló por la misma razón.

No sé entonces si tendré algún problema en mi computadora, o de otra índole...

Gracias!

Matías Laporte
www.tecnogeek.com
www.matiaslaporte.com.ar

Federico Lebrón

unread,
Aug 16, 2011, 11:55:27 AM8/16/11
to eci-2011...@googlegroups.com
Hola!

Si bajás los archivos:

http://www.cse.chalmers.se/~russo/eci11/lectures/ExampleToLabeled2T.hs
http://www.cse.chalmers.se/~russo/eci11/lectures/ExampleToLabeled2U.hs

Y decís, en la terminal, ghci ExampleToLabeled2T.hs, y luego corrés la función 'execute' dentro de gchi, no te tira esto?

The result is: "PublicData"
With the label: <{} , {ALL}>

LerrLow te lo tira cuando el label que necesitás es demasiado bajo (comparado con tus privilegios y clearance actual).

Saludos!

- Fede

Alejandro Russo

unread,
Aug 16, 2011, 5:37:56 PM8/16/11
to eci-2011...@googlegroups.com
Hola!

Cuando tenes LerrLow significa que tu programa esta haciendo algo pobrablemente inseguro, por ejemplo, tratando de escribir en lugares mas halla de tu current label, etc.

Saludos,
Alejandro
________________________________________
From: eci-2011...@googlegroups.com [eci-2011...@googlegroups.com] On Behalf Of Matias Laporte [matias...@gmail.com]
Sent: Tuesday, August 16, 2011 4:24 PM
To: eci-2011...@googlegroups.com
Subject: [ECI-2011-T3] Exception: LerrLow

Gracias!

Matías Laporte
www.tecnogeek.com<http://www.tecnogeek.com>
www.matiaslaporte.com.ar<http://www.matiaslaporte.com.ar>

Matias Laporte

unread,
Aug 16, 2011, 5:43:36 PM8/16/11
to eci-2011...@googlegroups.com
Hola Alejandro, Federico, gracias a ambos.

Había buscado el error en la documentación de la librería y había visto qué significaba; supuse que era un problema con mi código pero al ejecutar ExampleToLabeledT.hs y obtener también el error pensé que tal vez podía tener otro tipo de error. No me di cuenta que se suponía que ese archivo fallara, y que el que estaba bien hecho es ExampleToLabeled2T.hs.

En fin, tendré que debuggear un poco.

Gracias nuevamente, saludos.


Matías Laporte
www.tecnogeek.com
www.matiaslaporte.com.ar

2011/8/16 Alejandro Russo <ru...@chalmers.se>

Hola!

  Cuando tenes LerrLow significa que tu programa esta haciendo algo pobrablemente inseguro, por ejemplo, tratando de escribir en lugares mas halla de tu current label, etc.

Saludos,
Alejandro

2011/8/16 Federico Lebrón <fle...@dc.uba.ar>

Carlos Pantelides

unread,
Aug 17, 2011, 12:39:58 PM8/17/11
to eci-2011...@googlegroups.com
Güenas:

Me da un poquito de vergüenza preguntar, pero el enunciado Day 2.3 dice (1):

"it should not be possible to concatenate two secret files and store ... into a public one"

Inmediatamente dice (2):

"cat2:: (Less s1 s3, Less s2 s3) => ... s1 ... s2 ... s3 -> s3"

Yo entiendo que
(1)  H H L no esta permitido
(2)  s1 y s2 deben tener menor nivel de seguridad que s3

Hasta aca vengo bien?

pero no veo que (1) y (2) sean coherentes.

Qué estoy malinterpretando?

Gracias


Carlos Pantelides

-----------------

http://seguridad-agile.blogspot.com/


Federico Lebrón

unread,
Aug 17, 2011, 1:17:26 PM8/17/11
to eci-2011...@googlegroups.com
Hola!

H H L no está permitido, correcto. El tipo de la función te dice que, para cualquier tripla de privilegios (s1, s2, s3), tiene que ser que s1 <= s3, s2 <= s3, para que esta función tome esos parámetros. Entonces, s3 es el más privilegiado de los tres, pues es mayor que s1 y que s2. En H H L, estarías usando s1 = H, s2 = H, s3 = L. Pero no existe una instancia Less s1 s3, porque sería Less H L. En otras palabras, no existe s1 <= s3, porque sería H <= L, que es falso. High es estríctamente mayor que Low.

Espero no haber confundido más :s

- Fede

Alejandro Russo

unread,
Aug 17, 2011, 1:52:48 PM8/17/11
to eci-2011...@googlegroups.com
Hola! 

    En efecto s1 y s2 deben tener menor nivel de seguridad, es decir, valdria que (por ejemplo)

s1 = L s2 =L y s3 = L
s1 = L s2 =L y s3 = H
s1 = L s2 =H y s3 = H

pero no que 

s1 = H s2 = H y s3 = L
s1 = L s2 = H y s3 = L
s1 = H s2 = L y s3 = L

Es decir, si alguno de los dos archivos a concatenar es H, el archivo donde se pone la concatenación debe ser H. 

Espero que ayude, 
Saludos, 
Ale

2011/8/17 Carlos Pantelides <carlos_p...@yahoo.com>

Carlos Pantelides

unread,
Aug 17, 2011, 2:15:43 PM8/17/11
to eci-2011...@googlegroups.com
Gracias Federico, sigo:

Leyendo tu mail en realidad veo que no hay contradicción y que mi confusión viene luego, cuando el enunciado dice:


s_file1 :: File H
s_file1 = mkFile "SecretFile1"

s_file2 :: File H
s_file2 = mkFile "SecretFile2"

p_file :: File L
p_file = mkFile "PublicFile"


execute :: IO ()
execute = do
revealIO $ cat2 s_file1 p_file s_file2
return()

Esto esta diciendo H H L, ok?

Implemento cat2 según la firma y me compila ok. Incluso se ejecuta (no hace lo que quiero aun...)


Doy vuelta todo, tal como me parece razonable:

[Trustworthy]
s_file1 :: File L

s_file2 :: File L

p_file :: File H

y

[Untrustworthy]
cat2 :: (Less s3 s1, Less s3 s2) => ....

Compila y anda (con limitaciones que no vienen al caso aun)

Otra pregunta: como accedo a la documentacion de up y amigos, como

SecLib.LatticeLH
SecLib.Trustworthy
SecLib.Untrustworthy

( o sea las limitaciones que ahora si vienen al caso...) ?


Carlos Pantelides

-----------------

http://seguridad-agile.blogspot.com/

>

Alejandro Russo

unread,
Aug 17, 2011, 3:05:09 PM8/17/11
to eci-2011...@googlegroups.com
Carlos, el tipo

[Untrustworthy]
cat2 :: (Less s3 s1, Less s3 s2) => ....

no es el correcto (asumiendo que s3 es el nivel del archivo destinatario). Cuidado a no comentar mucho el ejercicio que se termine revelando en el googlegroups.

Saludos,
Alejandro
____________________________
From: eci-2011...@googlegroups.com [eci-2011...@googlegroups.com] On Behalf Of Carlos Pantelides [carlos_p...@yahoo.com]
Sent: Wednesday, August 17, 2011 8:15 PM
To: eci-2011...@googlegroups.com
Subject: Re: [ECI-2011-T3] Duda Day 2.3

Carlos Pantelides

unread,
Aug 17, 2011, 3:31:33 PM8/17/11
to eci-2011...@googlegroups.com
Listo el pollo, gracias. Hallé la doc en http://www.cse.chalmers.se/%7Erusso/seclib.htm

Parece que comprendí, o al menos logré el comportamiento esperado...
Reply all
Reply to author
Forward
0 new messages