🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
28 messages
28 total messages Started by PotXoka Sat, 23 Sep 2006 19:09
Hacer programas seguro
#718
Author: PotXoka
Date: Sat, 23 Sep 2006 19:09
8 lines
1182 bytes
quiero realizar un par de programillas en C/C++ para linux y a la vez 
que lo hago,quiero aprender a hacerlos seguros,he visto por ejemplo en 
boa (servidor web) hace llamadas a umask y chroot,las cuales desconozco 
(como programacion C) �alguna manera de aprender a hacer programas 
seguros?�Esas funciones hacen los mismo que el programa de shell?�Como 
funciona la funcion chroot?muchas gracias

saludos
Re: Hacer programas seguro
#723
Author: Pascal Bourguignon
Date: Sat, 23 Sep 2006 20:38
33 lines
2410 bytes
PotXoka <potxoka3a@yahoo.es> writes:

> quiero realizar un par de programillas en C/C++ para linux y a la vez
> que lo hago,quiero aprender a hacerlos seguros,he visto por ejemplo en
> boa (servidor web) hace llamadas a umask y chroot,las cuales
> desconozco (como programacion C) �alguna manera de aprender a hacer
> programas seguros?

La primiera cosa, para hacer un programa seguro, ser�a NO USAR C.

Cualquier otro lenguaje de m�s alto nivel sera mejor.
Lisp, Haskel, Ocaml, etc...


> �Esas funciones hacen los mismo que el programa de shell? 

No. 
Es el programa shell de mismo nombre que basicamente llama a estas funciones.


> �Como funciona la funcion chroot? muchas gracias

�Como se usa? o �Como funciona?  Para saber como funciona, tendras que
leer las fuentes de tu sistema.  �Linux, OpenBSD, MachOS, SCO?

Para saber lo que hace:

     man 2 chroot

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"Specifications are for the weak and timid!"
Re: Hacer programas seguro
#728
Author: arrase
Date: Sun, 24 Sep 2006 18:34
15 lines
1750 bytes
> La primiera cosa, para hacer un programa seguro, ser�a NO USAR C.
> 
> Cualquier otro lenguaje de m�s alto nivel sera mejor.
> Lisp, Haskel, Ocaml, etc...

Discrepo, si sabes usarlo bien C es tan seguro como cualquier otro.

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
     <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#729
Author: iarenaza
Date: Sun, 24 Sep 2006 19:00
27 lines
2074 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>>>>> "arrase" == arrase  <arrase@gulcas.org> writes:

    arrase> Discrepo, si sabes usarlo bien C es tan seguro como
    arrase> cualquier otro.

El problema es que usarlo bien (desde el punto de vista de la
programaci�n segura) es m�s complicado que en otros lenguajes de
programaci�n que los citados, porque los lenguajes hacen un mont�n de
cosas por t� (por poner un ejemplo, es _imposible_ tener un 'buffer
overflow' en un programa en lisp).

Saludos. I�aki.

- -- 
  Get PGP/GPG Keys at  http://www.escomposlinux.org/iarenaza/pgpkey.php
  I use free software / Yo uso software libre
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFFFtW0ZXLnGT1HLgcRAosRAKCFloxTC55UDBYPteXN2GsGpZTdcQCgined
oqx4+3LhByxS3WkWzpm+ROk=
=f+c/
-----END PGP SIGNATURE-----
Re: Hacer programas seguro
#730
Author: arrase
Date: Sun, 24 Sep 2006 19:37
15 lines
1898 bytes
> El problema es que usarlo bien (desde el punto de vista de la
> programaci�n segura) es m�s complicado que en otros lenguajes de
> programaci�n que los citados

Eso ya es otro tema.


-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
     <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#731
Author: ravenheart
Date: Sun, 24 Sep 2006 22:32
8 lines
1567 bytes
> El problema es que usarlo bien (desde el punto de vista de la
> programaci�n segura) es m�s complicado que en otros lenguajes de
> programaci�n que los citados, porque los lenguajes hacen un mont�n de
> cosas por t� (por poner un ejemplo, es _imposible_ tener un 'buffer
> overflow' en un programa en lisp).

Pues habr� que escribir a los hackers del kernel para que migren a lips, 
as� ser� m�s seguro :-)
Re: Hacer programas seguro
#733
Author: arrase
Date: Sun, 24 Sep 2006 23:30
21 lines
2199 bytes
ravenheart escribi�:
>> El problema es que usarlo bien (desde el punto de vista de la
>> programaci�n segura) es m�s complicado que en otros lenguajes de
>> programaci�n que los citados, porque los lenguajes hacen un mont�n de
>> cosas por t� (por poner un ejemplo, es _imposible_ tener un 'buffer
>> overflow' en un programa en lisp).
> 
> Pues habr� que escribir a los hackers del kernel para que migren a lips, 
> as� ser� m�s seguro :-)

Debe ser por eso que se dice lo de "...god talks in lisp....", cuestion 
de seguridad :) .

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#734
Author: arrase
Date: Sun, 24 Sep 2006 23:39
13 lines
1608 bytes
Ahora algo mas en serio:

http://es.tldp.org/Manuales-LuCAS/doc-unixsec/unixsec-html/node82.html
http://www.iit.upco.es/palacios/cursoc/estiloCseguro.pdf

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#739
Author: Pedro Maicas
Date: Mon, 25 Sep 2006 16:14
27 lines
2052 bytes
On Mon, 25 Sep 2006 01:39:14 +0200, arrase <arrase@gulcas.org> wrote:

>http://www.iit.upco.es/palacios/cursoc/estiloCseguro.pdf


Creo que para hacer un programa 'seguro' lo �nico de lo
que debemos preocuparnos es del buffer overflow, todas
las funciones que aceptan datos en un buffer, deber�an
comprobar que los datos no se salen de ese buffer.

A lo dem�s no le veo relacion con la seguridad, si haces
un bucle infinito, si se te desmanda un puntero, etc...
lo �nico que pasa es que tienes un programa con bugs,
pero nada m�s. Es como si quieres sumar 2+2 y en vez
de sumarlo los restas, eso no es un programa inseguro
sino un programa que no hace lo que debe.

Por otro lado un programa que no comprueba el desbordamiento
de buffer, es un programa 'correcto' desde el punto de vista
del algorimo que se trata de aplicar, pero es inseguro
porque se puede inyectar c�digo a trav�s del buffer.

Saludos :-)           -Pedro-

  http://www.maicas.net/ 

  e-mail en www.maicas.net
Re: Hacer programas seguro
#741
Author: ravenheart
Date: Mon, 25 Sep 2006 16:45
10 lines
1597 bytes
> Creo que para hacer un programa 'seguro' lo �nico de lo
> que debemos preocuparnos es del buffer overflow, todas
> las funciones que aceptan datos en un buffer, deber�an
> comprobar que los datos no se salen de ese buffer.

Sospecho que si fuera tan sencillo no habr�a tanto software vulnerable 
hoy d�a.

�ltimamente se habla mucho, por poner un ejemplo, de los desbordamientos 
de enteros (integer overflow).
Re: Hacer programas seguro
#742
Author: arrase
Date: Mon, 25 Sep 2006 17:06
15 lines
1847 bytes
> Creo que para hacer un programa 'seguro' lo �nico de lo
> que debemos preocuparnos es del buffer overflow, 

�Y los off by one, race conditions,....�son poca cosa para su merced? :)

Saludos.

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#745
Author: Pascal Bourguignon
Date: Mon, 25 Sep 2006 17:47
99 lines
4647 bytes
Pedro Maicas <esta_no_es@jet.es> writes:

> On Mon, 25 Sep 2006 01:39:14 +0200, arrase <arrase@gulcas.org> wrote:
>
>>http://www.iit.upco.es/palacios/cursoc/estiloCseguro.pdf
>
>
> Creo que para hacer un programa 'seguro' lo �nico de lo
> que debemos preocuparnos es del buffer overflow, todas
> las funciones que aceptan datos en un buffer, deber�an
> comprobar que los datos no se salen de ese buffer.
>
> A lo dem�s no le veo relacion con la seguridad, si haces
> un bucle infinito, si se te desmanda un puntero, etc...
> lo �nico que pasa es que tienes un programa con bugs,
> pero nada m�s. Es como si quieres sumar 2+2 y en vez
> de sumarlo los restas, eso no es un programa inseguro
> sino un programa que no hace lo que debe.
>
> Por otro lado un programa que no comprueba el desbordamiento
> de buffer, es un programa 'correcto' desde el punto de vista
> del algorimo que se trata de aplicar, pero es inseguro
> porque se puede inyectar c�digo a trav�s del buffer.

Por ejemplo, el program siguiente es perfecto, no hay ningun
desbordamiento de bufer, los modulos sockets y strings se
responsabilizan de ello.  Pero, tiene un grave problem a de seguridad.
Es un servidor que espera conexiones, y comandos dados por algun
usuario sobre estas conexiones.  Normalmente, el usuario da un comando:

GET /camio/hacia/un/archivo

y este programa copia el archivo en un directorio /var/spool/server/
para procesar lo.  (Podemos a�adir comprobaciones, de autoridad y
derechos de acceso, esto no es el problema). 

------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include "sockets.h"
#include "strings.h"

const int PORT=12345;

int main(void){
   socket_start_server(PORT);
   while(1){
      if(socket_listen()){
         string usercmd=socket_read();
         if(string_equal_p(string_from_c("GET "),string_substring(usercmd,0,4))){
             string file=string_substring(usercmd,4,STRING_END);
             string command=string_format("cp %s /var/spool/server/",file);
             system(string_to_c(command));
             /* ... */
         }/* ... */
      socket_disconnect();
   }
   return(0);
}
------------------------------------------------------------------------

Que pasaria si el usuario, inocentemente o malamente, da como nombre
de archivo:

GET /etc/passwd /tmp;rm -rf /&echo /


Entonces, vamos a llamar la funcion system con la cadena (sin desbordamento):

   cp /etc/passwd /tmp;rm -rf /&echo / /var/spool/server/

lo que sera interpretado por el shell como tres comandos:

   cp /etc/passwd /tmp

seguido de:

   rm -rf / &

al mismo tiempo que:

   echo / /var/spool/server/


Total: no desbordamiento, pero espejo que tienes las copias de
seguridad al dia...


Eso demuestra que programar de forma segura es m�s que una question de
bufers.  Hay funciones que no se debe usar, otras que se debe usar con
sumo cuidado,  y cosas que se pueden hacer para limitar los problemas,
como poner los servidores en prision (chroot), que no se ejecuten como
root, etc.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"This statement is false."            In Lisp: (defun Q () (eq nil (Q)))
Re: Hacer programas seguro
#752
Author: Pedro Maicas
Date: Mon, 25 Sep 2006 20:01
21 lines
1986 bytes
On Mon, 25 Sep 2006 19:47:35 +0200, Pascal Bourguignon <pjb@informatimago.com>
wrote:

>Es un servidor que espera conexiones, y comandos dados por algun
>usuario sobre estas conexiones.  Normalmente, el usuario da un comando:

 �  Eso no afecta esos otros lenguajes ?

  Es que hab�a cre�do entender que para programar seguro
lo que hay que hacer es usar Lisp en vez de C. Y ese pdf
que se da como receta para programar seguro en C lo que 
aconseja es "no hacer bucles infinitos", "comprobar que
las funciones recursivas tienen una salida", ... es decir
que no, que no era eso.


Saludos :-)           -Pedro-

  http://www.maicas.net/ 

  e-mail en www.maicas.net
Re: Hacer programas seguro
#754
Author: Pascal Bourguignon
Date: Mon, 25 Sep 2006 21:36
41 lines
2939 bytes
Pedro Maicas <esta_no_es@jet.es> writes:

> On Mon, 25 Sep 2006 19:47:35 +0200, Pascal Bourguignon <pjb@informatimago.com>
> wrote:
>
>>Es un servidor que espera conexiones, y comandos dados por algun
>>usuario sobre estas conexiones.  Normalmente, el usuario da un comando:
>
>  �  Eso no afecta esos otros lenguajes ?

Si por supuesto.  Pero es solo una parte.   Ademas en C tienes lo de
los desbordamientos de bufer.  Si tienes que pensar en los
desbordamientos de bufer, te olvidaras de estas cosas.  Al usar otro
lenguaje, te libras la mente para pensar a estas cosas en lugar de
detallers como los desbordamientos de bufer o la gestion de la
memoria.



>   Es que hab�a cre�do entender que para programar seguro
> lo que hay que hacer es usar Lisp en vez de C. Y ese pdf
> que se da como receta para programar seguro en C lo que 
> aconseja es "no hacer bucles infinitos", 

Tonteria, la mayoria de los programas no son algoritmos, nunca se
terminan, al contrario, es un error que se terminen (salvo cuando el
usuario le desea). 


> "comprobar que las funciones recursivas tienen una salida", ... es
> decir que no, que no era eso.

Son lo basico de la programaci�n.  M�s f�cil a hacer con lenguajes de
alto nivel que con C.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

In a World without Walls and Fences, 
who needs Windows and Gates?
Re: Hacer programas seguro
#755
Author: Pedro Maicas
Date: Tue, 26 Sep 2006 09:41
24 lines
2278 bytes
On Mon, 25 Sep 2006 23:36:07 +0200, Pascal Bourguignon <pjb@informatimago.com>
wrote:

>Si por supuesto.  Pero es solo una parte.   Ademas en C tienes lo de
>los desbordamientos de bufer.  Si tienes que pensar en los
>desbordamientos de bufer, te olvidaras de estas cosas.  Al usar otro

Bueno, bueno, eso te aseguro que a mi no me pasa. Entonces deduzco
que debo tener una mente privilegiada, ya que soy capaz de prevenir el
desbordamiento de buffer a la vez que estoy al tanto de no formatear
por error el hd, y todo a la vez que evito darle patadas a la cpu  :-)

M�s facil en otros lenguajes si que es, es que los otros lenguajes de
por s� son m�s f�ciles en casi todos los aspectos de la palabra facil.

Pero por otro lado para cualquier cosa que vayas a hacer a bajo nivel
lo mejor es el C y una vez que aprendes C no se porqu� ser� que ya
no te apetece usar otro lenguaje.

Saludos :-)           -Pedro-

  http://www.maicas.net/ 

  e-mail en www.maicas.net
Re: Hacer programas seguro
#756
Author: Jos� Luis P�rez Diez
Date: Tue, 26 Sep 2006 10:29
15 lines
1865 bytes
In article <11thh2h68c40qdbk7iifj4g232ko0ln3kh@4ax.com>, Pedro Maicas 
wrote:
> Pero por otro lado para cualquier cosa que vayas a hacer a bajo nivel
> lo mejor es el C y una vez que aprendes C no se porqu� ser� que ya
> no te apetece usar otro lenguaje.
>

Si has de hacer algo a bajo nivel tiras de maquina o ensamblador.



--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Re: Hacer programas seguro
#757
Author: AnimAlf
Date: Tue, 26 Sep 2006 10:58
49 lines
3009 bytes
--=-zkKK4X+Ajlf76E3yz2n0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

El dt, 26-09-2006 a las 12:29 +0200, Jos=C3=A9 Luis P=C3=A9rez Diez escribi=
=C3=B3:
> In article <11thh2h68c40qdbk7iifj4g232ko0ln3kh@4ax.com>, Pedro Maicas=20
> wrote:
> > Pero por otro lado para cualquier cosa que vayas a hacer a bajo nivel
> > lo mejor es el C y una vez que aprendes C no se porqu=C3=A9 ser=C3=A1 q=
ue ya
> > no te apetece usar otro lenguaje.
> >
>=20
> Si has de hacer algo a bajo nivel tiras de maquina o ensamblador.
>=20

=C2=BF? No estaba diciendo eso?

http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html

int main(void){
        int foo =3D 10, bar =3D 15;
        __asm__ __volatile__("addl  %%ebx,%%eax"
                             :"=3Da"(foo)
                             :"a"(foo), "b"(bar)
                             );
        printf("foo+bar=3D%d\n", foo);
        return 0;
}


--=-zkKK4X+Ajlf76E3yz2n0
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iQCVAwUARRkH4h535IyztBIVAQI7rgQAjL3m8csK2mgkrfkbvY0/FK8U67ypjo0M
3GQZR0Mqhknn05Qa+7myIsFNdpgSXyTDaU9ZiicDoW7adOPrwEOPi0WrlUzWzSdC
8/0CGeOuK+zQg6oATjKygnt/3pYVDg5x91NJvG/qrDo96meU4iyA9Cyt9ik+g3+5
O3dA89Vv3O4=
=k9or
-----END PGP SIGNATURE-----

--=-zkKK4X+Ajlf76E3yz2n0--
Re: Hacer programas seguro
#758
Author: Pedro Maicas
Date: Tue, 26 Sep 2006 11:03
17 lines
1780 bytes
On Tue, 26 Sep 2006 12:29:23 +0200, Jos� Luis P�rez Diez
<jluis@agujero-negro.escomposlinux.org> wrote:

>Si has de hacer algo a bajo nivel tiras de maquina o ensamblador.
>

   De ninguna manera, solo cuando no puedes hacer algo en C, 
y por lo tanto "te ves obligado", tiras de ensamblador.

   Precisamente el c se invent� por(para) eso, no ? 


Saludos :-)           -Pedro-

  http://www.maicas.net/ 

  e-mail en www.maicas.net
Re: Hacer programas seguro
#759
Author: arrase
Date: Tue, 26 Sep 2006 11:54
18 lines
2210 bytes
> Si has de hacer algo a bajo nivel tiras de maquina o ensamblador.

Si no hay otra opcion lo harias pero es del genero tonto hacer algo en 
ensamblador si no es 'por exigencias del guion'.

Y cualquiera que ha programado en ensamblador de cualquier arquitectura 
te dira lo mismo.



-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#761
Author: Alberto Cabello Sanchez
Date: Tue, 26 Sep 2006 11:56
11 lines
1543 bytes
Pedro Maicas wrote:

> lo mejor es el C y una vez que aprendes C no se porqu� ser� que ya
> no te apetece usar otro lenguaje.

Porque te cuesta tanto aprender que te da miedo probar otro, a ver si va 
a ser m�s potente, m�s f�cil y m�s eficaz (o al menos a m� me pasa) y 
ves que has hecho el panoli.

Volviendo al tema, un buen punto de partida es esto:
http://www.tldp.org/HOWTO/Secure-Programs-HOWTO/index.html
Re: Hacer programas seguro
#760
Author: arrase
Date: Tue, 26 Sep 2006 11:58
23 lines
2337 bytes
> Pero por otro lado para cualquier cosa que vayas a hacer a bajo nivel
> lo mejor es el C y una vez que aprendes C no se porqu� ser� que ya
> no te apetece usar otro lenguaje.

Y se hace mas sencillo introducirte en lenguajes como python,java,.., yo 
creo que es el lenguaje base para programar, no tiene sentido llamarse a 
uno mismo programador sin tener nociones de gestion de memoria, acceso a 
ficheros (por las race conditions), nocienes sobre el heap, stack,...que 
ocurre en una llamada a funcion,..... y en la mayoria de casos eso es 
totalmente transparente en los lenguajes modernos.

Saludos.


-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#766
Author: ravenheart
Date: Tue, 26 Sep 2006 16:24
7 lines
1668 bytes
> Si no hay otra opcion lo harias pero es del genero tonto hacer algo en 
> ensamblador si no es 'por exigencias del guion'.
> 
> Y cualquiera que ha programado en ensamblador de cualquier arquitectura 
> te dira lo mismo.

Pues no, cualquiera no
Re: Hacer programas seguro
#772
Author: Jos� Luis P�rez Diez
Date: Wed, 27 Sep 2006 07:31
17 lines
1980 bytes
In article <r32ih2pu3kmhrbpjkoaviqlj6herkenrhf@4ax.com>, Pedro Maicas 
wrote:
> >Si has de hacer algo a bajo nivel tiras de maquina o ensamblador.
> >
> 
>    De ninguna manera, solo cuando no puedes hacer algo en C, 
> y por lo tanto "te ves obligado", tiras de ensamblador.
>

Pero es que normalmente cuando programas a bajo nivel te ves obligado. 



--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Re: Hacer programas seguro
#776
Author: arrase
Date: Wed, 27 Sep 2006 12:56
21 lines
2397 bytes
> Pero es que normalmente cuando programas a bajo nivel te ves obligado. 

Estaremos de acuerdo en que escribir un kernel, un driver,...es 
programacion a bajo nivel ya que en esos casos tenemos poca o ninguna 
abstracci�n del hardware �no?

Bien, pues partiendo de esa base solo una peque�a parte del nucleo de 
Linux esta escrita en ensamblador y el 90% de los drivers estan escritos 
en C a si que en el mundo real las ocasiones en las que te ves obligado 
a usar ensamblador son las menos.

Saludos.

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
      <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: Hacer programas seguro
#779
Author: Jos� Luis P�rez Diez
Date: Thu, 28 Sep 2006 09:52
15 lines
2104 bytes
In article <efds9f$3kk$1@hercules.cohp1>, Arrase wrote:
> Bien, pues partiendo de esa base solo una peque�a parte del nucleo de 
> Linux esta escrita en ensamblador y el 90% de los drivers estan escritos 
> en C a si que en el mundo real las ocasiones en las que te ves obligado 
> a usar ensamblador son las menos.
>

Pero es que para ese 90% escrito en C serviria casi cualquier otro 
lenguage.


--
Los programadores esta ocupados intendtado mejorar los programas a prueba 
de idiotas. Mientras tanto el universo  intenta mejorar los idiotas. El 
universo va ganando
Re: Hacer programas seguro
#782
Author: PotXoka
Date: Thu, 28 Sep 2006 20:20
28 lines
1526 bytes
Pascal Bourguignon escribi�:
> 
> La primiera cosa, para hacer un programa seguro, ser�a NO USAR C.
> 
> Cualquier otro lenguaje de m�s alto nivel sera mejor.
> Lisp, Haskel, Ocaml, etc...
> 
> 
Estos son lenguajes compilados? Lisp me suena algo y Ocaml del mldonkey.
> 
> No. 
> Es el programa shell de mismo nombre que basicamente llama a estas funciones.
> 
Ok, ya me lo voy a mirar
> 
> 
> �Como se usa? o �Como funciona?  Para saber como funciona, tendras que
> leer las fuentes de tu sistema.  �Linux, OpenBSD, MachOS, SCO?
> 
> Para saber lo que hace:
> 
>      man 2 chroot
> 
En el equipo que tenia solo tenia el 7

gracias

saludos
Re: Hacer programas seguro
#784
Author: ravenheart
Date: Thu, 28 Sep 2006 20:32
9 lines
1299 bytes
>>      man 2 chroot
>>
> En el equipo que tenia solo tenia el 7
Bonita excusa
http://www.linuxcommand.org/superman_pages.php


> gracias
De nada ;-)
Re: Hacer programas seguro
#796
Author: Pascal Bourguignon
Date: Fri, 29 Sep 2006 09:56
22 lines
2176 bytes
PotXoka <potxoka3a@yahoo.es> writes:

> Pascal Bourguignon escribi�:
>> La primiera cosa, para hacer un programa seguro, ser�a NO USAR C.
>> Cualquier otro lenguaje de m�s alto nivel sera mejor.
>> Lisp, Haskel, Ocaml, etc...
>> 
> Estos son lenguajes compilados? Lisp me suena algo y Ocaml del mldonkey.

Si, hay compiladores para todo estos lenguajes.

Se pede hacer un compilador para cualquier lenguaje.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

ADVISORY: There is an extremely small but nonzero chance that,
through a process known as "tunneling," this product may
spontaneously disappear from its present location and reappear at
any random place in the universe, including your neighbor's
domicile. The manufacturer will not be responsible for any damages
or inconveniences that may result.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads