Si usted tiene alguna información sobre cómo podemos hacer mejor nuestro nuevo sitio web por favor, póngase en contacto con nosotros y nos gustaría saber de usted. 


 Etica Profesional Tecnología Informática 

     Esta sección va dirigida a profesionales del sector de la tecnología informática, en concreto a los ingenieros informáticos, profesionales afines y profesionales auxiliares. Si usted desea enviar su Curriculum Vitae deberá conocer previamente este código ético. 

     Los códigos de ética tienen una función esencial para caracterizar una profesión, y para que una disciplina adquiera el carácter de profesión debe poseer un código de conducta. Los códigos de conducta van más allá de la pura normativa legal, puesto que ayudan a guiar el comportamiento en infinidad de situaciones para las que no existe ninguna referencia legal.

¿Por qué un código ético?

"Reflexiones sobre confiar en la confianza por Ken Thompson"

=> Kenneth Lane Thompson, Nueva Orleans, 4 de febrero de 1943, conocido como Ken Thompson, es un pionero en las ciencias de la computación. Su trabajo con el lenguaje de programación B y el sistema operativo UNIX y Plan 9 para los laboratorios Bell. Se le adjudica a Thompson, junto a Dennis Ritchie, la creación de UNIX.

Reimpreso de gCommunication of the ACMh, Vol. 27, No. 8, August 1984, pp. 761-763. Copyright © 1984, Association for Computing Machinery, Inc. También aparece en gACM Turing Award Lectures: The First Twenty Years 1965-1985, Copyright © 1987 por ACM press y gComputers Under Attack: Intruders, Worms, and Virusesh, Copyright © 1990 por ACM press.

Artículo original:

http://cm.bell-labs.com/who/ken/trust.html

Esto es una copia convertida a digital derivada de un trabajo de la ACM bajo copyright. No está garantizado que sea una copia exacta del trabajo original del autor.

Traducción por Pablo Garaizar Sagarminaga (2006), sin ningún tipo de restricción de copia (salvo las ya existentes en el original).

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

Introducción

Doy gracias a la ACM por esta concesión. No puedo dejar de sentir que estoy recibiendo este honor por la sincronización y la casualidad tanto como por el mérito técnico. UNIX consiguió renombre con un cambio a nivel industrial, de mainframes centrales a los minicomputadores autónomos. Sospecho que Daniel Bobrow (1) estaría aquí en vez de mí si él no hubiera podido producir un PDP-10 y no tuviera que gcolocarh un anuncio de un PDP-11. Por otra parte, el estado actual de UNIX es el resultado del trabajo de una gran cantidad de gente.

Hay un viejo adagio, gbaila con la que te trajo,h que significa que debo hablar de UNIX. No he trabajado en el UNIX común en muchos años, sin embargo continúo consiguiendo crédito no merecido por el trabajo de otros. Por lo tanto, no voy a hablar de UNIX, sino que deseo dar las gracias a cada uno de los que ha contribuido.

Esto me lleva hasta Dennis Ritchie. Nuestra colaboración ha sido preciosa. En los diez años que hemos trabajado juntos, solamente puedo recordar un caso de descoordinación en el trabajo. En esa ocasión, descubrí que ambos habíamos escrito el mismo programa de 20 lineas en ensamblador. Comparé el código fuente y me asombré al encontrar que coincidían carácter a carácter. El resultado de nuestro trabajo conjunto ha sido mucho mayor que el trabajo que cada uno de nosotros contribuyó.

Soy programador. En mi formulario 1040, eso es lo que pongo como mi ocupación. Como programador, escribo programas. Quisiera presentarles el programa más lindo que escribí nunca. Haré esto en tres etapas e intentaré juntarlo al final.

Etapa I

En la universidad, antes de los videojuegos, nos divertíamos planteando ejercicios de programación. Uno de los favoritos era escribir el programa de auto-reproducción más corto. Dado que este era un ejercicio totalmente alejado de la realidad, el lenguaje de programación generalmente era FORTRAN. Realmente, FORTRAN era el lenguaje por el que optábamos por la misma razón que las carreras de tres piernas son populares.

Explicado de forma más precisa, el problema es escribir un programa que, cuando es compilado y ejecutado, produzca como salida una copia exacta de su código fuente. Si nunca has hecho esto, te animo a intentarlo por ti mismo. El descubrimiento de cómo hacerlo es una revelación que sobrepasa de lejos cualquier ventaja obtenida de haber escuchado cómo se hace. La parte sobre gel más cortoh era solamente un incentivo para demostrar habilidad y para determinar a un ganador.

char s[] = {
 f\tf,
 f0Œ,
 f\nf,
 f}',
 f;',
 f\nf,
 f\nf,
 f/',
 f*',
       (213 lines deleted),
  0
};

/*
 * This string s is a
 * representation of the body
 * of this program from f0Œ
 * to the end.
 */

main() {

  int i;

  printf(gchar \ts[] = {\nh);
        for(i=0;s[i];i++)
                printf(g\r%d,\nh,s[i]);
        printf(g%sh,s);

}

CUADRO 1

El cuadro I muestra un programa que se auto-reproduce en el lenguaje de programación C (el purista observará que el programa no es exactamente un programa que se auto-reproduce, pero producirá un programa que se auto-reproduce). Este ejemplo es demasiado grande como para ganar un premio, pero demuestra la técnica y tiene dos características importantes que necesito para terminar mi historia:

1.Este programa se puede escribir fácilmente por otro programa.
2.Este programa puede contener una cantidad arbitraria de exceso de equipaje que será reproducida junto con el algoritmo principal. En el ejemplo, incluso se reproduce el comentario.

Etapa II

El compilador de C se escribe en C. Lo que estoy a punto de describir es uno de los muchos problemas del ghuevo y la gallinah que se presentan cuando los compiladores se escriben en su propio lenguaje de programación. En este caso, utilizaré el ejemplo específico del compilador de C.

C permite construir una matriz (array) de caracteres inicializada indicando una cadena de caracteres (string). Los caracteres individuales en la cadena se pueden escapar para representar caracteres no imprimibles. Por ejemplo,

   gHola mundo \ nh

representa una secuencia con el carácter g\nh, representando el carácter nueva línea.

c
c = next();
if( c != e\\f )
c = next();
if( c == e\\f )
  return (e\\f);
if( c == enf )
  return (e\nf);
c

CUADRO 2

El cuadro 2 es una idealización del código en el compilador de C que interpreta las secuencias de escape de caracteres. Éste es un fragmento asombroso de código. gSabeh de una manera totalmente portable qué código de carácter se compila para una nueva línea en cualquier juego de caracteres. El acto de saber esto le permite recompilarse a sí mismo, perpetuando así el conocimiento.

c
c = next();
if( c != e\\f )
c = next();
if( c == e\\f )
  return (e\\f);
if( c == enf )
  return (e\nf);
if( c == evf )
  return (e\vf);
c

CUADRO 3

Supongamos que deseamos modificar el compilador de C para incluir la secuencia g\vh para representar el carácter de tabulación vertical. La extensión al cuadro 2 es obvia y se presenta en el cuadro 3. Recompilamos el compilador de C, pero conseguimos un aviso. Dado que la versión binaria del compilador no sabe nada sobre g\vh, el código fuente no es obviamente C legal. Debemos gentrenarh al compilador. Después de que gsepah qué significa g\vh, nuestro nuevo cambio se convertirá en C legal. Miramos en una tabla ASCII que un tabulador vertical es el decimal 11. Modificamos nuestro código fuente para convertirlo en el cuadro 4. Ahora el viejo compilador acepta el nuevo código fuente. Instalamos el binario resultante como el nuevo compilador de C oficial y ahora podemos escribir la versión portable de la manera en la que la teníamos en el cuadro 3.

c
c = next();
if( c != e\\f )
c = next();
if( c == e\\f )
  return (e\\f);
if( c == enf )
  return (e\nf);
if( c == evf )
  return (11);
c

CUADRO 4

Este es un concepto profundo. Es lo más cercano a un programa gque aprendeh que he visto. Simplemente se lo dices una vez y puedes utilizar esta definición auto-referente.

Etapa III

compile(s)
char s;
{
  c
}

CUADRO 5

Una vez más, en el compilador de C, el cuadro 5 representa el control de alto nivel del compilador de C donde la rutina gcompileh se llama para compilar la siguiente línea de código fuente. El cuadro 6 muestra una pequeña modificación para que el compilador deliberadamente compile erroneamente siempre que se encuentre un patrón particular. Si esto no fuera deliberado, esto sería un fallo en el compilador. Dado que es deliberado, debe llamarse gCaballo de Troyah.

compile(s)
char s;
{
    if(match(s,hpatternh) {
        compile(gbugh);
        return;
    }
    c
}

CUADRO 6

El fallo real que implanté en el compilador buscaría el patrón en el comando de gloginh de UNIX. El código de reemplazo compilaría erroneamente el comando gloginh de modo que aceptara una contraseña cifrada prevista o una contraseña conocida concreta. Así, si este código fue instalado en binario y fueron utilizados binarios para compilar el comando de gloginh, podría registrarme en ese sistema como cualquier usuario.

Tal código, evidentemente, no pasaría desapercibido por mucho tiempo. Incluso una lectura ocasional más atenta del código fuente del compilador de C levantaría suspicacias.

compile(s)
char s;
{
    if(match(s,hpattern1) {
        compile(gbug1);
        return;
    }
    if(match(s,hpattern2) {
        compile(gbug2);
        return;
    }
    c
}

CUADRO 7

El paso final se representa en el cuadro 7. Esto simplemente agrega un segundo Caballo de Troya a ya existente. El segundo patrón está dirigido al compilador de C. El código de reemplazo es un programa que se auto-reproduce, de la etapa I, que inserta ambos Caballos de Troya en el compilador. Esto requiere una fase en la que aprenda, como en el ejemplo de la etapa II. Primero compilamos el código fuente modificado con el compilador de C normal para producir un binario infectado. Instalamos este binario como el compilador oficial de C. Ahora podemos quitar el código troyano del código fuente del compilador y el nuevo binario reinsertará este código troyano siempre que compile. Por supuesto, el comando de gloginh seguirá infectado sin rastro en su ninguna parte de su código fuente.

Moral

La moraleja es obvia. No puedes confiar en el código que no creaste totalmente por ti mismo (especialmente código de las empresas que contratan a gente como yo). Ninguna cantidad de verificación o de escrutinio a nivel de código fuente te protegerá contra usar código no confiable. Para demostrar la posibilidad de esta clase de ataque, escogí el compilador de C. Habría podido escoger en cualquier programa de manejo de programas tales como un ensamblador, un cargador, o incluso microcódigo de hardware. Conforme el nivel del programa es más bajo, estos código troyanos son más y más difíciles de detectar. Un troyano bien instalado en microcódigo será casi imposible de detectar.

Después de intentar convencerte de que no puedes confiar en mí, deseo moralizar. Quisiera criticar el manejo que hace la prensa de los ghackersh, de la banda 414, de la banda de Dalton, del etc. Los actos realizados por estos chicos son vandalismo en el mejor de los casos y probablemente allanamiento y hurto en el peor. Solamente la insuficiencia del código penal ahorra a estos hackers una pena muy grave. Las empresas que son vulnerables a estas actividades (y la mayoría de las empresas grandes son muy vulnerables) están presionando fuertemente para poner al día el código penal. El acceso desautorizado a los sistemas informáticos es ya un crimen grave en algunos estados y se está tratando actualmente en muchas más legislaturas de estado así como en el congreso.

Hay una situación explosiva en ebullición. Por una parte, la prensa, la televisión, y las películas convierten en héroes a vándalos llamándolos gwhiz kidsh. Por otra parte, los actos realizados por estos chicos pronto serán castigados con varios años en prisión.

He visto testificar a estos chicos antes del congreso. Está claro que son totalmente inconscientes de la seriedad de sus actos. Hay obviamente una brecha cultural. El acto de entrar en un sistema informático tiene que tener el mismo estigma social que entrar en la casa de un vecino. No debe importar que la puerta del vecino esté abierta. La prensa debe aprender que el uso incorrecto de una computadora no es más asombroso que conducir bebido un automóvil.

Reconocimiento

Primero leí de la posibilidad de tal Caballo de Troya en una crítica de las Fuerza Aéreas (4) sobre la seguridad de una puesta en práctica temprana de Multics. No puedo encontrar una referencia más específica a este documento. Apreciaría si alguien pudiera conseguirme esta referencia.

Referencias

1.Bobrow, D.G., Burchfiel, J.D., Murphy, D.L., and Tomlinson, R.S. TENEX, a paged time-sharing system for the PDP-IO. Commun. ACM 15, 3 (Mar. 1972), 135-143.

2.Kernighan, B.W., and Ritchie, D.M. The C Programming Language. Prentice-Hall, Englewood Cliffs, N.J., 1978.

3.Ritchie, D.M., and Thompson, K. The UNIX time-sharing system. Commun. ACM 17, 7(July 1974), 365-375.

4.Unknown Air Force Document.

     El Código de Ética Profesional establecido en iCD con relación a su comportamiento profesional de Ingeniería Informática en general, de sus profesionales afines y de sus profesionales auxiliares será el siguiente:

* DE LOS DEBERES Y OBLIGACIONES DE LOS PROFESIONALES.

DEBERES GENERALES DE LOS PROFESIONALES.

a) Cumplir con los requerimientos, citaciones y demás diligencias que formule las asociaciones locales, regionales o nacionales del gremio.
b) Custodiar y cuidar los bienes, valores, documentación e información que por razón del ejercicio de su profesión, se le hayan encomendado o a los cuales tenga acceso; impidiendo o evitando su sustracción, destrucción, ocultamiento o utilización indebidos, de conformidad con los fines a que hayan sido destinados.
c) Denunciar los delitos, contravenciones y faltas contra este Código de Ética, de que tuviere conocimiento con ocasión del ejercicio de su profesión, aportando toda la información y pruebas que tuviere en su poder.

ACTUACIONES NO CORRECTAS GENERALES DE LOS PROFESIONALES.

a) Nombrar, elegir, dar posesión o tener a su servicio, para el desempeño de un cargo privado o público que requiera ser desempeñado por profesionales de la ingeniería o alguna de sus profesiones afines o auxiliares, en forma permanente o transitoria, a personas que ejerzan ilegalmente la profesión.
b) Permitir, tolerar o facilitar el ejercicio ilegal de las profesiones no tituladas o con títulos no relacionados.
c) El reiterado e injustificado incumplimiento de las obligaciones civiles, comerciales o laborales, que haya contraído con ocasión del ejercicio de su profesión o de actividades relacionadas con este.
d) Causar, intencional o culposamente, daño o pérdida de bienes, elementos, equipos, herramientas o documentos que hayan llegado a su poder por razón del ejercicio de su profesión.
e) Solicitar o recibir directamente o por interpuesta persona, gratificaciones, dádivas o recompensas en razón del ejercicio de su profesión, salvo autorización contractual o legal.
f) Participar en licitaciones, concursar o suscribir contratos estatales cuyo objeto esté relacionado con el ejercicio de la ingeniería, estando incurso en alguna de las inhabilidades e incompatibilidades que establece la Constitución.

DEBERES ESPECIALES DE LOS PROFESIONALES PARA CON LA SOCIEDAD.

a) Estudiar cuidadosamente los impactos ambientales, si el proyecto informático estuviese relacionado, en los ecosistemas involucrados, urbanizados o naturales, incluido el entorno socioeconómico, seleccionando la mejor alternativa para contribuir a un desarrollo ambientalmente sano y sostenible, con el objeto de lograr la mejor calidad de vida para la población.
b) Rechazar toda clase de recomendaciones en trabajos que impliquen daños evitables para el entorno humano y la naturaleza, tanto en espacios abiertos, como en el interior de edificios, evaluando su impacto ambiental, tanto en corto como en largo plazo.
c) Ofrecer desinteresadamente sus servicios profesionales en caso de calamidad pública.
d) Proteger la vida y salud de los miembros de la comunidad, proyectos informáticos relacionados, evitando riesgos innecesarios en la ejecución de los trabajos.
e) Abstenerse de emitir conceptos profesionales, sin tener la convicción absoluta de estar debidamente informados al respecto.
f) Siempre se utilizará un dispositivo informático  de manera que se respeten los derechos de los demás.
g) Secreto profesional: siempre se manejará un equipo informático  de manera que se mantenga la privacidad y la confidencialidad de la información de los demás.
h) Siempre se deberá evaluar las consecuencias sociales de cualquier código que se desarrolle.

ACTUACIONES NO CORRECTAS ESPECIALES DE LOS PROFESIONALES RESPECTO DE LA SOCIEDAD.

a) Ofrecer o aceptar trabajos en contra de las disposiciones legales vigentes, o aceptar tareas que excedan la incumbencia que le otorga su título y su propia preparación.
b) Imponer su firma a proyectos informáticos que no hayan sido estudiados, controlados o ejecutados personalmente.
c) Expedir, permitir o contribuir para que se expidan títulos, diplomas, matrículas, tarjetas de matrícula profesional; certificados de inscripción profesional o tarjetas de certificado de inscripción profesional y/o certificados de vigencia de matrícula profesional, a personas que no reúnan los requisitos legales o reglamentarios para ejercer estas profesiones o no se encuentren debidamente inscritos o matriculados.
d) Hacer figurar su nombre en anuncios, membretes, sellos, propagandas y demás medios análogos junto con el de personas que ejerzan ilegalmente la profesión.
e) Usar un dispositivo informático para dar falso testimonio, dañar a otros, robar, interferir en el trabajo ajeno e indagar en información de otros.

DEBERES DE LOS PROFESIONALES PARA CON LA DIGNIDAD DE SUS PROFESIONES.

a) Respetar y hacer respetar todas las disposiciones legales y reglamentaras que incidan en actos de estas profesiones, así como denunciar todas sus transgresiones.
b) Velar por el buen prestigio de estas profesiones.
c) Sus medios de propaganda deberán ajustarse a las reglas de la prudencia y al decoro profesional, sin hacer uso de medios de publicidad con avisos exagerados que den lugar a equívocos sobre su especialidad o idoneidad profesional.

DEBERES DE LOS PROFESIONALES PARA CON SUS COLEGAS Y DEMÁS PROFESIONALES.

a) Abstenerse de emitir públicamente juicios adversos sobre la actuación de algún colega, señalando errores profesionales en que presuntamente haya incurrido, a no ser de que ello sea indispensable por razones ineludibles de interés general o, que se le haya dado anteriormente la posibilidad de reconocer y rectificar aquellas actuaciones y errores, haciendo dicho profesional caso omiso de ello.
b) Obrar con la mayor prudencia y diligencia cuando se emitan conceptos sobre las actuaciones de los demás profesionales.
c) Fijar para los colegas que actúen como colaboradores o empleados suyos, salarios, honorarios, retribuciones o compensaciones justas y adecuadas, acordes con la dignidad de las profesiones y la importancia de los servicios que prestan en el entendido de que, para efectos disciplinarios, al definir si la retribución es justa y adecuada en cada caso la autoridad deberá tener como único parámetro de juicio todas las normas jurídicas vigentes, aplicables a la relación que se examina.
d) Respetar y reconocer la propiedad intelectual de los demás profesionales sobre sus diseños y proyectos.

ACTUACIONES NO CORRECTAS DE LOS PROFESIONALES RESPECTO DE SUS COLEGAS Y DEMÁS PROFESIONALES.

a) Utilizar sin autorización de sus legítimos autores y para su aplicación en trabajos profesionales propios, los estudios, cálculos, técnicas, diseños y software y demás documentación perteneciente a aquellos, salvo que la tarea profesional lo requiera, caso en el cual se deberá dar aviso al autor de tal utilización;
b) Difamar, denigrar o criticar injustamente a sus colegas, o contribuir en forma directa o indirecta a perjudicar su reputación o la de sus proyectos o negocios con motivo de su actuación profesional.
c) Usar métodos de competencia desleal con los colegas.
d) Designar o influir para que sean designados en cargos técnicos que deban ser desempeñados por los profesionales de que trata el presente Código, a personas carentes de los títulos y calidades que se exigen legalmente.

DEBERES DE LOS PROFESIONALES PARA CON SUS CLIENTES Y EL PÚBLICO EN GENERAL.

a) Mantener el secreto y reserva, respecto de toda circunstancia relacionada con el cliente y con los trabajos que para él se realizan.
b) Manejar con honestidad y pulcritud los fondos que el cliente le confiare con destino a desembolsos exigidos por los trabajos a su cargo y rendir cuentas claras, precisas y frecuentes.
c) Dedicar toda su aptitud y atender con la mayor diligencia y probidad, los asuntos encargados por su cliente.

ACTUACIONES NO CORRECTAS DE LOS PROFESIONALES RESPECTO DE SUS CLIENTES Y EL PÚBLICO EN GENERAL.

a) Ofrecer la prestación de servicios cuyo objeto, por cualquier razón de orden técnico, jurídico, reglamentario, económico o social, sea de dudoso o imposible cumplimiento, o los que por circunstancias de idoneidad personal, no pudiere satisfacer.

DEBERES DE LOS PROFESIONALES QUE SE DESEMPEÑEN EN CALIDAD DE SERVIDORES O PRIVADOS.

a) Actuar de manera imparcial, cuando por las funciones de su cargo público o privado, sean responsables de fijar, preparar o evaluar pliegos de condiciones de licitaciones o concursos.

ACTUACIONES NO CORRECTAS DE LOS PROFESIONALES QUE SE DESEMPEÑEN EN CALIDAD DE SERVIDORES PÚBLICOS O PRIVADOS.

a) Participar en el proceso de evaluación de tareas profesionales de colegas, con quienes se tuviese vinculación de parentesco, hasta el grado fijado por las normas de contratación pública, o vinculación societaria de hecho o de derecho. La violación de esta norma se imputará también al profesional que acepte tal evaluación.

DEBERES DE LOS PROFESIONALES EN LOS CONCURSOS O LICITACIONES.

a) Los profesionales que se dispongan a participar en un concurso o licitación por invitación pública o privada y consideren que las bases pudieren transgredir las normas de la ética profesional, deberán denunciar ante el Colegio Profesional respectivo la existencia de dicha transgresión.

Traductor Automático
Desde el 8 de Enero de 2000 nace un nuevo día en la búsqueda de la tecnología más adecuada para usted.
  Site Map