Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Alerta en ejecucion de programas (https://www.clubdelphi.com/foros/showthread.php?t=40670)

knife_sj 23-02-2007 10:04:33

Alerta en ejecucion de programas
 
bueno, les comento mi problema
tengo un cybercafe en el cual estamos usando:
-CyberControl 4.0 para la facturacion
-Deep Freeze Enterprise 5.xxx (no recuerdo en este momento la version)

el tema es que hay un "vivo" que esta usando el fuck-deepfreeze para deshabilitar dicho programa y esta instalando keyloggers y administradores de escritorio remoto

mi idea es hacer un programa cliente-servidor que alerte cuando se ejecuta este tipo de software

por ejemplo:
yo en la pc de facturacion instalo el servidor y en las demas maquina el cliente
y quiero que cuando en el cliente se ejecute alguna aplicacion que se encuentre en la "blacklist" alerte al operador del servidor (cosa que este vaya, lo agarre de los pelos y lo patee a la calle).

eh visto muy poco, es mas, diria nada, en lo que respecta programacion con cliente servidor, pero no es ese mi problema.
mi problema es como hago para "saber" cuando se ejecuta algun programa, es decir, cuando yo hago 2ble click sobre algo: como hago para que mi programa se entere de esto y compruebe que dicho software esta permitido ejecutar.
y lo que respeca a la parte comunicacion entre el cliente y el servidor me seria de mucha utilidad saber que librerias me recomiendan para esto, estuve leyendo en delphi.about.com hay un tutorial acerca de indy y como tengo es lo que tengo a mano pensaba en usar esta libreria

les agradezco desde ya las respuestas

ArdiIIa 23-02-2007 16:42:56

Cita:

Empezado por knife_sj
mi problema es como hago para "saber" cuando se ejecuta algún programa, es decir, cuando yo hago 2ble click sobre algo: como hago para que mi programa se entere de esto y compruebe que dicho software esta permitido ejecutar.
les agradezco desde ya las respuestas

Podrías hacer algún programa/servicio para monitorizar los programas o procesos que están ejecutándose en una máquina determinada, para ello podrías utilizar las antiguar funciones ToolHelp incluidas en el API de windows, pero en este sentido creo que existen procedimientos mejores... te pongo un poco de código de ejemplo:
Código Delphi [-]
//Este procedimiento busca todos los procesos en ejecución y los añade a LISTVIEW
procedure TForm1.Button1Click(Sender: TObject);
Var
  pidProcess: array [0..1023] of DWORD;
  hProcess: DWORD;
  dwCount: DWORD;
  hMod: HMODULE;
  ModuleFileName: array[0..MAX_PATH] of Char;
  i: Integer;
  Item : TListItem;
begin
ListView1.Items.Clear;

  if EnumProcesses(@pidProcess, SizeOf(pidProcess), dwCount) then
    for i := 0 to dwCount div SizeOf(DWORD) do
    begin
    Item := ListView1.Items.Add;
    Item.Caption := IntToStr(pidProcess[i]);
    Item.SubItems.Add(GetExeName( pidProcess[i]) );
    end;
End;
***
Código Delphi [-]
//Esta funcion creo que con su nombre basta...
function GetExeName(ProcessID:DWord):string;
var ProcHandle   : THandle;
    szName       : array [0..Max_Path] of char;
    ModHandle    : HModule;
    cb,cbNeeded,
    NumModules   : DWord;
begin
  ProcHandle:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
                          False, ProcessID);
  if ProcHandle<>0 then begin
    try
      cb:=SizeOf(ModHandle);
      if EnumProcessModules(ProcHandle,
                            @ModHandle,
                            cb, cbNeeded) then begin
        NumModules:=cbNeeded div SizeOf(HModule);
        if (NumModules>0) and (GetModuleFileNameEx(ProcHandle,
                                                   ModHandle,
                                                   @szName,
                                                   SizeOf(szName))>0)
                                then
          Result:=szName;
      end;
    finally
      CloseHandle(ProcHandle);
    end;
  end;
end;

Ahora que ya tenemos la lista de programas en ejecución (sin utilizar las Toolhep), tienes varias opciones, por ejemplo:
  • Tener en la máquina cliente una lista de programas permitidos y compararla con la lista de procesos en ejecución, si existen alguna anomalía, matar el proceso en cuestión...
  • Si elaboras un programa cliente / servidor, podrías mandar esta lista de procesos al programa servidor y que sea este el que revise los procesos de una máquina, con otra lista de procesos permitidos, y si es el caso, que avise al operario de turno para patear al intruso...

La Forma de comunicación entre máquinas y el envío de paquetes podrías hacerlo según la idea que hace algunos días me propuso seoane, el hilo está aquí.

Espero que esta información te resulte útil, esto es solamente una propuesta

seoane 23-02-2007 17:08:40

Antes de nada, debemos de aclarar sobre que sistema estamos trabajando y el tipo de cuenta de usuario. Si estamos hablando de un Windows 98 no hay nada que hacer, es imposible proteger nada en ese sistema, no al menos sin modificar sustancialmente el propio sistema (inyecciones de código, drivers, etc ...). Solo hay que pensar que aunque creemos un superprograma de protección, un atacante solo tendría que matar el proceso y nadie se lo puede impedir.

Otra cosa es si estamos trabajando sobre un Windows 2000/XP, y con una cuenta de usuario limitada. Entonces lo primero es que nuestra aplicación se ejecute como un servicio, como un usuario limitado no puede parar ni matar un servicio por ese lado estaremos protegidos.

Una vez que estamos a salvo de algún listo, lo segundo es crear una lista de aplicaciones permitidas (lista blanca :) ), esto puede resultar tedioso, y nunca se sabe que aplicación puede llegar a ser necesaria en el futuro. Yo resolví el problema creando una lista de directorios permitidos, es decir, cualquier aplicación que se ejecute desde un directorio que no este en la lista sera asesinada. Como los usuarios de cuentas limitadas no puedes escribir fuera de la carpeta de su perfil (si no se especifica lo contrario), nos aseguraremos de que esa carpeta no esta en la lista de directorios permitidos. Yo utilizaba la siguiente lista:
Código:

c:\Archivos de programa\
c:\Archiv~1\
c:\Windows\
\SystemRoot\
\??\

Los dos últimos son directorios especiales que utiliza windows para algunas aplicaciones del sistema. Ahora que ya sabemos que matar y que dejar vivir solo hay que crear un bucle que examine cada pocos milisegundos la lista de procesos y si alguno no esta en un directorio de la lista lo matamos sin compasión.

También hay la versión suave, que es mandar un mensaje UDP a un servidor para que el encargado se entere de la actividad sospechosa, sin matar el proceso. Yo en mi aplicación, tenia 2 modos: normal y agresivo. En el normal, solo avisaba al encargado, en el agresivo mataba el proceso sin hacer preguntas. Se podía cambiar de un modo a otro de forma remota. El problema es si estando en modo normal, un listo desconecta el cable de red. Pues no pasa nada, mi programa lo detectaba y pasaba a modo agresivo :)

Por ultimo existe otra solución mucho mas efectiva, pero también muchas mas compleja de programar. Se trata de crear un Hook en la API Createproccess de tal manera que cada vez que alguien quiere ejecutar un programa, primero se ejecuta nuestro código y podemos decidir si le dejamos o no hacerlo. Para hacer esto tenemos que usar inyección de código, pero en eso seguro que ardilla te puede ayudar mas que yo.

ArdiIIa 23-02-2007 17:44:19

Si claro, yo como siempre asumiendo cosas y no hago consideraciones sobre el SO en lo que obviamente tienes toda la razón...

Las directrices o permisos en una cuenta limitada, supongo que será una cuestión ya prevista en un ciber...
Cita:

Por ultimo existe otra solución mucho mas efectiva, pero también muchas mas compleja de programar. Se trata de crear un Hook en la API Createproccess de tal manera que cada vez que alguien quiere ejecutar un programa, primero se ejecuta nuestro código y podemos decidir si le dejamos o no hacerlo. Para hacer esto tenemos que usar inyección de código, pero en eso seguro que ardilla te puede ayudar mas que yo.
De vuelta a la vectorización o subclassing... El otro día me enteré de que era winlogon.exe al que había que meterle mano, para aquella combinación de teclas, realmente no lo sabía, como ahora, tampoco se me pasó por la cabeza, meterle mano a la API del Createprocess. Por cierto que después estuve viendo el código del GINA y quedé, muy satisfecho con la técnica (por eso en este hilo cito las ToolHelp).
Pero vamos, de orientar al como.... a hacer una tesis doctoral sobre el asunto creo que hay bastante diferencia y mucho más considerando que este lugar: Primero no es un colegio y segundo no existe obligación alguna de dar pruebas del como y el porqué. Dicho esto, a veces me resultan molestos aquellos mensajes en los que tratas de aportar un granito de conocimiento y a partir de ahí comienzan a someterte a un "tercer grado", no se sabe con qué intenciones, por lo que seguramente habría que traspasar algunos hilos mas o menos interesantes al subforo "taberna", para que resulten mas divertidos.

Cita:

Para hacer esto tenemos que usar inyección de código, pero en eso seguro que ardilla te puede ayudar mas que yo.
Eso si que no es cierto.... :D :D :D, pero para este caso, a mi personalmente me resultaría mas tedioso de programar y a la larga mas inestable. Yo estos códigos habitualmente los utilizo para cosas muy concretas o de forma experimental. Sin embargo, si tuviera un ciber, seguramente comenzaría a pensar en forma "hacker" para programar medidas y contramedidas.
Por cierto knife_sj, también estamos hablando de este hilo, así que pido disculpas por la distracción

______

seoane 23-02-2007 17:54:45

:D Venga Ardilla, no te pongas así, solo indicaba que tu habías tratado el tema antes. No esperaba que le fueras a hacer el código ...

ArdiIIa 23-02-2007 18:06:58

Cita:

Empezado por seoane
:D Venga Ardilla, no te pongas así, solo indicaba que tu habías tratado el tema antes. No esperaba que le fueras a hacer el código ...

Si no me pongo, seone, precisamente tú, eres de los que "hacen escuela" y eres precisamente de los que NO se ponen a pedir explicaciones sobre esto o aquello.
Con respecto al código para tocar la API del CreateProccess y visto lo que hay escrito sobre el asunto, no sería difícil implementarlo, pero sigo pensando que para esta cuestión del ciber la solución mas "sencilla" y más estable y asumiendo que estamos hablando de un XP, pasa por crear las listas de "buenos y malos" y cotejarlas.

delphi.com.ar 23-02-2007 18:27:40

Se me ocurre algo, que puede ser fácilmente vulnerado, que es monitorear todo lo que se ejecute desde el shell, modificando la clave del registro HKEY_CLASSES_ROOT\exefile\shell\open\command para incluír en el valor @ una aplicación propietaria que sea la encargada de ejecutar las aplicaciones y hacer las notificaciones al mismo tiempo.

Si queres complicarla un poquito, estudiaría las librerías de ApiHook para crear un hook de las funciones CreateProcess y CreateProcessAsUser: http://www.apihooks.com/AH5.HTM o http://madshi.net/ .

Saludos!

delphi.com.ar 23-02-2007 18:30:42

Juro que cuando me puse a escribir la respuesta, y de ahí que encontré algo de código no habia mas que una respuesta!!! :D

Cita:

Empezado por seoane
Por ultimo existe otra solución mucho mas efectiva, pero también muchas mas compleja de programar. Se trata de crear un Hook en la API Createproccess de tal manera que cada vez que alguien quiere ejecutar un programa, primero se ejecuta nuestro código y podemos decidir si le dejamos o no hacerlo. Para hacer esto tenemos que usar inyección de código, pero en eso seguro que ardilla te puede ayudar mas que yo.

A este punto me refiero en mi segundo párrafo!.. Saludos!

ArdiIIa 23-02-2007 18:36:05

Cita:

Empezado por delphi.com.ar
HKEY_CLASSES_ROOT\exefile\shell\open\command para incluír en el valor @ una aplicación propietaria que sea la encargada de ejecutar las aplicaciones y hacer las notificaciones al mismo tiempo.
Saludos!

Otra solución más "manual y simplona" que se me ocurre, es ejecutar todas las aplicaciones necesarias en la shell y una vez en memoria, dejar de ejecutar el explorer.exe de este modo, no habría posibilidad alguna de ejecutar otro programa a no ser mediante el administrador de tareas....

seoane 23-02-2007 21:04:02

Cita:

Empezado por ArdiIIa
Otra solución más "manual y simplona" que se me ocurre, es ejecutar todas las aplicaciones necesarias en la shell y una vez en memoria, dejar de ejecutar el explorer.exe de este modo, no habría posibilidad alguna de ejecutar otro programa a no ser mediante el administrador de tareas....

Lo malo de eso es que se pueden ejecutar programas desde cualquier dialogo de abrir archivos, Son como mini exploradores :p

ArdiIIa 23-02-2007 21:13:08

Cita:

Empezado por seoane
Lo malo de eso es que se pueden ejecutar programas desde cualquier dialogo de abrir archivos, Son como mini exploradores :p

JEJE.. Ya me parecía demasiado simplona...:D

Caral 23-02-2007 21:27:58

Hola
Y disculpen que me meta.
Hace un tiempo seoane me enseño a esconder el escritorio y todo.
No seria mas facil en este caso hacer un explorer en delphi (creo que ya existe) y esconderle al usuario todo lo demas para que no pueda usar nada del ordenador.?
No se si puede darsele acceso a una carpeta por si quisiera bajar alguna cosa.
O es otro tema?
Saludos

delphi.com.ar 23-02-2007 21:31:31

Si lo que quieren hacer es simplemente definir que programas pueden abrir con el shell, eso lo pueden definir desde la política de seguridad, pero es totalmente vulnerable, ya solo es evaluado por el shell, e identifica los archivos por su nombre.

roman 23-02-2007 22:26:47

Cita:

Empezado por delphi.com.ar
Se me ocurre algo, que puede ser fácilmente vulnerado, que es monitorear todo lo que se ejecute desde el shell, modificando la clave del registro HKEY_CLASSES_ROOT\exefile\shell\open\command para incluír en el valor @ una aplicación propietaria que sea la encargada de ejecutar las aplicaciones y hacer las notificaciones al mismo tiempo.

Si queres complicarla un poquito, estudiaría las librerías de ApiHook para crear un hook de las funciones CreateProcess y CreateProcessAsUser: http://www.apihooks.com/AH5.HTM o http://madshi.net/ .

¿Cuál sería la vulnerabilidad del primer método?


En cuanto al segundo método, no me queda claro cómo funcionaría. Es decir, ¿qué impide que yo le ponga un nombre "aceptado" a una aplicación y ejecutarla?

// Saludos

delphi.com.ar 23-02-2007 22:35:53

Cita:

Empezado por roman
¿Cuál sería la vulnerabilidad del primer método?

Lo que ejecute desde la consola, o aplicaciones que creen otros procesos, como servicios, etc.. no son ejecutados mediante el shell


Cita:

En cuanto al segundo método, no me queda claro cómo funcionaría. Es decir, ¿qué impide que yo le ponga un nombre "aceptado" a una aplicación y ejecutarla?
Ya que estamos interceptando el proceso en su momento de creación por código, podríamos tener una lista con algun tipo de hash de los archivos para identificar si son los admitidos. Sino caeríamos en lo mismo que desde las políticas.

Saludos!

roman 23-02-2007 22:41:35

Cita:

Empezado por delphi.com.ar
podríamos tener una lista con algun tipo de hash de los archivos

¡Ah! ¡Qué bárbaro! Sencillo y eficaz. Gracias.

// Saludos

seoane 23-02-2007 22:49:18

Cita:

Empezado por roman
¿qué impide que yo le ponga un nombre "aceptado" a una aplicación y ejecutarla?

Pues que si guardamos la ruta completa del ejecutable, es imposible que dos aplicaciones tengan la misma ruta.

dec 23-02-2007 22:53:54

Hola,

¿Hablamos de un "cíber"? Entonces, ¡palo! Al que se le ocurra instalar un programa se le ofrece la vara de avellano en las espaldas.

¡Veréis como no se le ocurre instalar nada más en su vida! :D :eek: :cool: :p :rolleyes: :D :eek:

roman 24-02-2007 00:00:54

Cita:

Empezado por seoane
Pues que si guardamos la ruta completa del ejecutable, es imposible que dos aplicaciones tengan la misma ruta.

Je, je, sí, claro. Pero me gusta lo del hash porque, ¿qué impide borrar un ejecutable y poner otro con el mismo nombre en su lugar? :)

// Saludos

seoane 24-02-2007 00:29:39

Cita:

Empezado por roman
Je, je, sí, claro. Pero me gusta lo del hash porque, ¿qué impide borrar un ejecutable y poner otro con el mismo nombre en su lugar? :)

:D Hombre se trata de proteger el equipo, si el usuario va a tener permiso para borrar los programas instalados, que le va a impedir que comience a borrar programas y dejarnos el sistema destrozado. Como ya dije mas arriba, antes de meternos con cosas complicadas hay que tomar unas precauciones mínimas.

De todas formas, a mi también me gusta lo del hash :p

dec 24-02-2007 00:32:27

Hola,

¡Palo! ¡Palo! ¡Palo! Hasta que aprendan. Jo, jo, jo, jo. :D :D :D :D

seoane 24-02-2007 00:34:48

Cita:

Empezado por dec
¡Palo! ¡Palo! ¡Palo! Hasta que aprendan. :D :D :D

:D No sabes cuantas veces quise aplicar este método ... pero me quede con las ganas :(

dec 24-02-2007 00:35:58

Hola,

Cita:

Empezado por seoane
:D No sabes cuantas veces quise aplicar este método ... pero me quede con las ganas :(

Nada, hombre, hay que realizarse en la vida. ¡Si es palo pues palo! Y no se hable más. :eek: :eek: :p :p :cool: :D :)

knife_sj 24-02-2007 00:52:35

Gracias!!!!
 
Bueno, la verdad mil gracias por todas las respuestas y por las ideas
creo que faltaron aclarar un par de detalles como el del SO.

ArdiIIa: Con respecto al SO, como tu instinto lo dijo, tengo todas las PCS trabajando con Windows XP x86 SP2. Incluso había pensado lo mismo que pusiste, crear una lista y compararla con la blacklist y ya tenia un código, pero, el punto radicaba en el tema de renombrar los ejecutables (si yo lo renombro y lo ejecuto mi programa no se va a enterar que es :P)

Seoane: [Con respecto a lo de la whitelist que propusiste vos] el CyberControl 4.0 tiene una opción para activar una whitelist pero el tema es que no quiero estorbar al cliente de buena fe, por ejemplo, si este cliente baja algún soft para copiar sus mp3 a su reproductor y desea instalarlo, nosotros, al tener deep freeze lo tenemos permitido ya que este no deja rastro al reinicio... pero, si yo activo esa restricción, no solo voy a prevenir los "hackers" sino que también voy a molestar a los clientes.

Federico: el tema de restringir que se corran aplicaciones por el registro no es una vulnerabilidad para mi, ya que el CyberControl también tiene la opción de bloquear el regedit.exe, también bloquea el Administrador de Tareas, pero lo que yo quiero es saber exactamente QUIEN es esta persona, cosa de tomar una pequeña represalia y de paso hace una selección de los clientes, cosa de correr a los pibes que tiene 16 años y se creen hackers

en cuanto a lo de inyectar código lo veo medio jodido a eso para mi... pero lo del hash es una excelente idea!!

Puedo hacer:

1). Examino la lista de procesos.
2). Extraigo los nombre de los ejecutables y sus paths.
3). Calculo el MD5 y lo comparo con la blacklist.
4). Si se encuentra algún hash de los de la blacklist mando un comando de "alerta" al servidor y en el servidor reproduzco un sonido de alarma que se escuche en todo el cyber (total el Server tiene conectado el equipo de música) :]


Muchachos díganme si mi esquema para la aplicación quedo bueno o malo :D

Cita:

Empezado por dec
¿Hablamos de un "cíber"? Entonces, ¡palo! Al que se le ocurra instalar un programa se le ofrece la vara de avellano en las espaldas.

el tema aquí es que el cyber tiene 46 computadoras en 3 salas diferentes las cuales el operador no vigila (por mas que yo lo exija, nunca le dan bola a que esta haciendo cada cliente)..

Otra cosa mas, existe una aplicación de Windows que se llama taskkill, casi nadie conoce esta utilidad pero, el que la conoce puede deshabilitar con facilidad mi programa... hay alguna forma de hacer que no se pueda terminar mi programa? tuve un virus una vez que no podía detenerse desde el administrador de tareas, es esto posible?

Mil Gracias

ArdiIIa 24-02-2007 01:06:36

Cita:

Empezado por knife_sj
Puedo hacer:

1). Examino la lista de procesos.
2). Extraigo los nombre de los ejecutables y sus paths.
3). Calculo el MD5 y lo comparo con la blacklist.
4). Si se encuentra algún hash de los de la blacklist mando un comando de "alerta" al servidor y en el servidor reproduzco un sonido de alarma que se escuche en todo el cyber (total el Server tiene conectado el equipo de música)
Mil Gracias

Fijate si ponemos tanta seguridad y el listo sale corriendo con el teclado...:D

Adicionalmente y como he leído atrás, también podrías controlar el tema de cambios o borrados de archivos monitorizando mediante ReadDirectoryChangesW

seoane 24-02-2007 01:19:05

Yo lo que no entiendo es como vas a diferenciar los programas "buenos" de los "malos". Si como dices, esta permitido a cualquiera bajar y ejecutar programas, como sabrás cuando esta ejecutando un programa legitimo y cuando un keylogger, por ejemplo. No tiene mucho sentido tener una lista de de aplicaciones buenas y malas, cualquiera de las listas seria infinita.

La cosa esta clara, o permites o no permites que los usuarios ejecuten lo que quieran, aquí no hay soluciones intermedias. Incluso conociendo TODOS los ejecutables maliciosos, calculando su hash, y creando la lista negra, nada impediría a un aprendiz de hacker, comprimir el ejecutable con UPX, variando así su hash y volviéndolo indetectable.

knife_sj 24-02-2007 01:33:18

seoane es muy sencilla la ecuacion... todo keylogger, virus, spyware (por le lado de la blacklist) o todo reproductor, cambio de hard, programa desinstalado, etc.. con el deep freeze se borra todo... pero, si el usuario con el fuck-deepfreeze desactiva el deep freeze obviamente todos estos programas que instale quedaran instalados hasta que yo note la anomalia

lo que quiero hacer es que este programa me sirva para detectar QUIEN es el que esta usando este soft para hacer daño, no me interesa si instala un keylogger, por que a mi no me afecta, a lo sumo robara un par de contraseñas o algo por el estilo

pero mi problema no seria que me instalen un keylogger o el VCN server como fue en este caso, mi problema es que el noob este desactive el deep freeze y le meta un virus a la maquina, en ese caso si me afectaria.. te explico por que?
es sencillo, cuando tenes 50 maquinas freezadas y entra un virus, desconectas las maquinas que no tenes freezadas (como ser los servidores de juegos y facturacion) y reinicias las demas
con esto borras el virus y adios problema.

pero si el virus esta instalado por debajo del deep freeze, por mas que reinicies las maquinas se te van a seguir contagiando, por eso quiero prevenir EXCLUSIVAMENTE el uso del fuck deep freeze, pero no solo quiero que no lo pueda usar, sino (les voy a ser sincero) reventarle la cara a trompadas al "vivo" este y evitar futuros problemas echandolo y prohibiendole el ingreso al cyber...

esa es basicamente la finalidad de este programa :D

edit / y bueno, si comprime el ejecutable con upx o algun sistema de encryptacion de ejecutable ya no tengo nada que hacer, por que en este caso ya no seria un pibe de 16 años dandose de hacker sino que seria alguien que sabe :S

mamcx 24-02-2007 01:40:05

Aja, y pregunto pregunto...

Porque no usas un "CD Live" de Linux (o windows, tan bien se puede!) sacas el disco duro y compartes una unidad de red?

knife_sj 24-02-2007 02:43:03

como se supone qeu voy a hacer un "live cd" para todas las maquinas?? si tengo maquinas que tienen mas de 50 juegos??

la imagen de las maquinas de juegos mas nuevas pesa 93.52 GB :S

no es mala la idea para las maquinas de internet en las cuales el uso de disco no es superior a un dvd... pero en las maquinas de juegos..................... es una idea alocada

"por favor, inserte el DVD #312 donde se encuentra "Internet Explorer" :P

Salu2

mamcx 24-02-2007 04:56:53

Aaaaaa!

Con clientes asi nadie puede!

"Quiero una pagina para subir imagenes y mostrarlas"

Desarrollador: Ok. Muy facil

"Att. Flickr"

Ups!

knife_sj 24-02-2007 10:13:12

Cita:

Empezado por mamcx
Aaaaaa!

Con clientes asi nadie puede!

"Quiero una pagina para subir imagenes y mostrarlas"

Desarrollador: Ok. Muy facil

"Att. Flickr"

Ups!

que?? no entendi :p

ArdiIIa 24-02-2007 12:04:44

Cita:

Empezado por knife_sj
pero no solo quiero que no lo pueda usar, sino (les voy a ser sincero) reventarle la cara a trompadas al "vivo" este y evitar futuros problemas echandolo y prohibiendole el ingreso al cyber...

edit / y bueno, si comprime el ejecutable con upx o algun sistema de encryptacion de ejecutable ya no tengo nada que hacer, por que en este caso ya no seria un pibe de 16 años dandose de hacker sino que seria alguien que sabe :S

knife_sj, no se exactamente desde donde nos hablas, pero aquí en España, el primer punto sería un problemático para ti, y el segundo lo sería para el autor de la fechoría, dado que todas sus acciones están tipificadas como delito, aún así y todo.... buena caza...

mamcx 24-02-2007 14:17:37

Cita:

Empezado por knife_sj
que?? no entendi :p

Que un "cibercafe" es muy distinto a un "lan party"!.

Pero en terminos generales, no puedes tener de todo sin quebrarte las pestañas. Es mejor la tranquilidad que la fuerza.

Crea un recurso compartido en red donde los usuarios puedan guardar sus cosas. Asi 1)Un solo lugar que chequear contra virus 2)Podras auditar de que maquinas sale todo 3) Podras monitoriar las descargas 4)Minimizas los riesgos

Luego, implemente un esquema MUUUY estricto y luego ve "liberando".

Mas importante, deja claro que la seguridad es en beneficio de los usuarios. Un sistema inseguro es un sistema inestable y asi nadie juega halo 2, ve....

knife_sj 25-02-2007 21:54:54

problema casi solucionado
 
bueno, despues de un rato largo de pruebas logre hacer que el programa funcione, estuve investigando el famoso fuck-deep freeze y no es muy dificil de detectar, ya que cuando lo ejecutas te crea una serie de archivos en la carpeta %temp% y desde ahi se ejecuta, es decir: el usuario no puede cambiar el nombre, de todas formas no creo que continue desarrollando este programejo por ahora, ya que salio la version nueva de deep freeze (6.10.220.1616) la cual no es soportada por ni fuck-deepfreeze, ni por deep unfreezer... por el momento es la solucion mas a mano que tengo (en este momento tengo mucho trabajo :p)


bueno amigos, muchas gracias por haberme ayudado :D

PD: si alguien se encuentra en la misma situacion solo avisen que yo les mando el codigo tal cual lo tengo ahora, esta muy basico, pero con un par de horitas de trabajo queda terminado. Salu2


La franja horaria es GMT +2. Ahora son las 16:05:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi