Problema de seguridad

06/03/2007 - 14:38 por Hugo Gsell | Informe spam
Hola... haber si puedo explicar Y QUE SE ENTIENDA... jeje
con el tema de las capas e independencia... he creado, en una aplicáción,
una capa de acceso a datos... digamos para un ejemplo que esta capa tiene
las funciones implementadas para leer, modificar, eliminar y recuperar
información de una tabla implementada en una base de datos sqlserver
autenticada por usuario y contraseña... así que el usuario y contraseña LO
GUARDO en la dll que genero con esta capa... Luego, desde mi aplicación
(solución), incluyo la dll y la utilizo la cosa es que acabo de ver una
IMPORTANTE brecha de seguridad... así como esta planteada, cualquiera "con
un poco de idea" se instala un .net toma mi dll, la incluye en un
proyecto y dale que te dale usarla como se le cante.
Se entiende?, es posible "mARCARLA o sellarla de alguna manera para que solo
pueda ser usada por las aplicaciones que YO DESEO???

Hug oA. Gsell
Sgo del Estero
Argentina

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
06/03/2007 - 16:10 | Informe spam
"Hugo Gsell" wrote in message
news:%23Y%23aLV$
Hola... haber si puedo explicar Y QUE SE ENTIENDA... jeje
con el tema de las capas e independencia... he creado, en una aplicáción,
una capa de acceso a datos... digamos para un ejemplo que esta capa tiene
las funciones implementadas para leer, modificar, eliminar y recuperar
información de una tabla implementada en una base de datos sqlserver
autenticada por usuario y contraseña... así que el usuario y contraseña LO
GUARDO en la dll que genero con esta capa... Luego, desde mi aplicación
(solución), incluyo la dll y la utilizo la cosa es que acabo de ver
una IMPORTANTE brecha de seguridad... así como esta planteada, cualquiera
"con un poco de idea" se instala un .net toma mi dll, la incluye en un
proyecto y dale que te dale usarla como se le cante.
Se entiende?, es posible "mARCARLA o sellarla de alguna manera para que
solo pueda ser usada por las aplicaciones que YO DESEO???



Podrías firmar con un Strong Name todos los assemblies que llamen a tu
DLL y desde dentro de la DLL hacer un LinkDemand de
StrongNameIdentityPermission, con lo cual comprueba que el llamante esté
firmado con tu clave pública y no admite llamadas desde otros llamantes:

<StrongNameIdentityPermission(SecurityAction.LinkDemand, PublicKey:="...")>
_
Public Class MiClase
...

La clave indicada arriba con "..." la tienes que extraer previamente del
.snk que uses para poner los Strong Names asi:
sn -p misClaves.snk miClavePublica.snk
sn -tp mClavePublica.snk

Esto te protege hasta cierto punto, pero no es 100% infalible: Alguien
que realmente domine .Net y que sea capaz de lanazr un assembly con
FullTrust podría saltarse los permisos usando Reflexión.
Respuesta Responder a este mensaje
#2 Angel. E. Ruiz. P
06/03/2007 - 16:42 | Informe spam
Por que que no le pasa el usuario y contraseña a tu dll y te evitas ese
problema?

Saludos cordiales,
Ángel Ruiz
MCTS .NET Framework 2.0 Windows Applications
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"



"Hugo Gsell" escribió en el mensaje
news:%23Y%23aLV$
Hola... haber si puedo explicar Y QUE SE ENTIENDA... jeje
con el tema de las capas e independencia... he creado, en una aplicáción,
una capa de acceso a datos... digamos para un ejemplo que esta capa tiene
las funciones implementadas para leer, modificar, eliminar y recuperar
información de una tabla implementada en una base de datos sqlserver
autenticada por usuario y contraseña... así que el usuario y contraseña LO
GUARDO en la dll que genero con esta capa... Luego, desde mi aplicación
(solución), incluyo la dll y la utilizo la cosa es que acabo de ver
una IMPORTANTE brecha de seguridad... así como esta planteada, cualquiera
"con un poco de idea" se instala un .net toma mi dll, la incluye en un
proyecto y dale que te dale usarla como se le cante.
Se entiende?, es posible "mARCARLA o sellarla de alguna manera para que
solo pueda ser usada por las aplicaciones que YO DESEO???

Hug oA. Gsell
Sgo del Estero
Argentina


Respuesta Responder a este mensaje
#3 Hugo Gsell
07/03/2007 - 11:13 | Informe spam
SI, lo he pensado, el tema es que estamos un poco avanzado con los sistemas
(en paralelo) que estamos desarrollando... imagínate deben ser unos 10
sistemas... con un total de unas 100 tablas y la verdad es que hay
varias dll's... además en el concepto me pasa lo mismo con las demas
clases (dlls). No obstante, tengo identificada a cada clase con un
código interno y un nombre, y esta información si esta cotejando.

Gracias de todas formas.

Hugo A. Gsell
Sgo del Estero
Argentina

"Angel. E. Ruiz. P" escribió en el mensaje
news:%
Por que que no le pasa el usuario y contraseña a tu dll y te evitas ese
problema?

Saludos cordiales,
Ángel Ruiz
MCTS .NET Framework 2.0 Windows Applications
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"



"Hugo Gsell" escribió en el mensaje
news:%23Y%23aLV$
Hola... haber si puedo explicar Y QUE SE ENTIENDA... jeje
con el tema de las capas e independencia... he creado, en una aplicáción,
una capa de acceso a datos... digamos para un ejemplo que esta capa tiene
las funciones implementadas para leer, modificar, eliminar y recuperar
información de una tabla implementada en una base de datos sqlserver
autenticada por usuario y contraseña... así que el usuario y contraseña
LO GUARDO en la dll que genero con esta capa... Luego, desde mi
aplicación (solución), incluyo la dll y la utilizo la cosa es que
acabo de ver una IMPORTANTE brecha de seguridad... así como esta
planteada, cualquiera "con un poco de idea" se instala un .net toma
mi dll, la incluye en un proyecto y dale que te dale usarla como se le
cante.
Se entiende?, es posible "mARCARLA o sellarla de alguna manera para que
solo pueda ser usada por las aplicaciones que YO DESEO???

Hug oA. Gsell
Sgo del Estero
Argentina






Respuesta Responder a este mensaje
#4 Angel. E. Ruiz. P
07/03/2007 - 14:11 | Informe spam
Ah o.k el caso cambia... Dejame ver que se me ocurre


"Hugo Gsell" escribió en el mensaje
news:
SI, lo he pensado, el tema es que estamos un poco avanzado con los
sistemas (en paralelo) que estamos desarrollando... imagínate deben ser
unos 10 sistemas... con un total de unas 100 tablas y la verdad es que
hay varias dll's... además en el concepto me pasa lo mismo con las demas
clases (dlls). No obstante, tengo identificada a cada clase con un
código interno y un nombre, y esta información si esta cotejando.

Gracias de todas formas.

Hugo A. Gsell
Sgo del Estero
Argentina

"Angel. E. Ruiz. P" escribió en el mensaje
news:%
Por que que no le pasa el usuario y contraseña a tu dll y te evitas ese
problema?

Saludos cordiales,
Ángel Ruiz
MCTS .NET Framework 2.0 Windows Applications
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"



"Hugo Gsell" escribió en el mensaje
news:%23Y%23aLV$
Hola... haber si puedo explicar Y QUE SE ENTIENDA... jeje
con el tema de las capas e independencia... he creado, en una
aplicáción, una capa de acceso a datos... digamos para un ejemplo que
esta capa tiene las funciones implementadas para leer, modificar,
eliminar y recuperar información de una tabla implementada en una
base de datos sqlserver autenticada por usuario y contraseña... así que
el usuario y contraseña LO GUARDO en la dll que genero con esta capa...
Luego, desde mi aplicación (solución), incluyo la dll y la utilizo
la cosa es que acabo de ver una IMPORTANTE brecha de seguridad... así
como esta planteada, cualquiera "con un poco de idea" se instala un
.net toma mi dll, la incluye en un proyecto y dale que te dale
usarla como se le cante.
Se entiende?, es posible "mARCARLA o sellarla de alguna manera para que
solo pueda ser usada por las aplicaciones que YO DESEO???

Hug oA. Gsell
Sgo del Estero
Argentina










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida