• No results found

Challenge-Request 75

In document BACnet Network Security (Page 75-79)

6.1 Network Layer Service Specification 73

6.4.11 Challenge-Request 75

Los código objeto pueden ser muy útiles en muchas si- tuaciones sin embargo consigo traen problemas que pue- den generar errores muy difíciles de corregir, por ejem- plo cuando un objeto importa funciones de otro código objeto que ha sido modificado, el intento de la librería o el programa que importó la librería de ejecutar el código

con parámetros incorrectos o inexistentes puede generar un error que generalmente el compilador no detecta ya que el código objeto no es verificado, únicamente uni- do. Este tipo de error se puede solucionar reescribiendo el código de manera correcta y re compilarlo a código objeto.

31.3 Referencias

[1] http://www.alegsa.com.ar/Dic/codigo%20objeto.php

31.4 Enlaces externos

Wikcionariotiene definiciones y otra informa- ción sobrecódigo objeto.Wikcionario

el código objeto es el resultado de la compilación del có- digo fuente. Puede ser en lenguaje máquina o bytecode, y puede distribuirse en varios archivos que corresponden a cada código fuente compilado. Luego un enlazador (lin- ker) se encarga de juntar todos los archivos de código objeto para obtener el programa ejecutable. - See mo- re at: http://www.alegsa.com.ar/Dic/codigo%20objeto. php#sthash.ktzQpZxJ.dpufCódigo objeto: Conjunto de instrucciones y datos escritos en un lenguaje que entien- de el ordenador directamente: binario o código máquina. Provienen de la traducción de cierto código fuente, es un fragmento del programa final y es específico de la plata- forma de ejecución.

Ofuscación

La ofuscación se refiere a encubrir el significado de una comunicación haciéndola más confusa y complicada de interpretar.

32.1 Informática

Encomputación, la ofuscación se refiere al acto delibe- rado de realizar un cambio no destructivo, ya sea en el

código fuentede unprograma informáticoocódigo má- quinacuando el programa está en formacompiladao bi- naria, con el fin de que no sea fácil de entender o leer. EnInternet, la ofuscación refiere a crear una publicación o formar parte del grupo los Ofuscados.

El código ofuscado es aquél código que, aunque se tiene elcódigo fuente, ha sido enrevesado específicamente para ocultar su funcionalidad (hacerlo ininteligible).

La ofuscación binaria se realiza habitualmente para im- pedir o hacer más difícil los intentos deingeniería inversa

ydesensambladoque tienen la intención de obtener una forma decódigo fuentecercana a la forma original. Como un efecto lateral, la ofuscación, en ocasiones, hace que los programas resultantes sean más pequeños (aunque puede hacer que los programas sean más grandes en otros casos).

Algunos tienden más a la ofuscación que otros.C,C++

yPerlson los más citados como fácilmente ofuscables. Las macros de preprocesador son usadas a menudo para crear código complicado de leer enmascarando la gramá- tica y sintaxis estándar del lenguaje del cuerpo principal de código.

Aparte de los lenguajes más conocidos, existenlenguajes de programación esotéricos. Además, también se puede buscar que el código fuente resulte una obra deascii art. Existen otros programas ofuscados llamadosquineque al ejecutarse la salida debe ser el código fuente del progra- ma.

También hay programas ofuscadores que pueden actuar sobre elcódigo fuente,código objetoo ambos para difi- cultar laingeniería inversa.

32.1.1 Ejemplos

Un ejemplo simple de ofuscación es llamar a las variables o funciones con palabras reservadas del lenguaje añadien- do algún símbolo

int int_;

Con esta línea se define una variable de tipo entero. long int _int(int int_){return int_-int_};

Con esta línea definimos una función con un parámetro entero que devuelve un valor long int, que por otra parte siempre será 0.

_int-_int;

Esto equivale a poner 0. (_int-_int)!;

Esto equivale a poner 1.

(((!(int_-int_)<<!(int_-int_))<<(!(int_-int_)<<!(int_- int_)))|(!(int_-int_)<<!(int_-int_)));

Esto equivale a poner 10.

32.2 Otros objetivos

La ofuscación puede servir para otros propósitos. Los médicos han sido acusados de usar unajergapara encu- brir hechos desagradables de un paciente. El autor y doc- torMichael Crichtonha afirmado que la escritura médica es un “intento altamente capacitado y calculado de con- fundir al lector”. De forma similar, el lenguaje basado en texto, comogyaru-mojiy algunas formas deleet speak

es ofuscado para hacerlo incomprensible a terceras per- sonas. lomelo

32.3. ENLACES EXTERNOS 55

32.3 Enlaces externos

Competición de código ofuscado en C Protección online de librerías javascript

The International Obfuscated C Code Contest (Con- curso internacional de código en C ofuscado) Cómo proteger código en Java por medio de la ofus-

cación de código

- Ofuscador de Codigo PHP online FOPO - Free Online PHP Obfuscator Análisis de ofuscación de código en Javscript

ColdFusion

Coldfusion (Adobe ColdFusion) es una plataforma de desarrollo rápido de aplicacionesweb que usa ellenguaje de programaciónCFML. En este aspecto, es un producto similar aASP,JSPoPHP.

ColdFusion es una herramienta que corre en forma

concurrente con la mayoría de los servidores web de

Windows,Mac OS X,LinuxySolaris(también en servi- dores web personales enWindows 98y puede ser usado paraintranets). El servidor de aplicaciones web de Cold- Fusion trabaja con el servidorHTTPpara procesar peti- ciones de páginas web. Cada vez que se solicita una pági- na de ColdFusion, el servidor de aplicaciones ColdFusion ejecuta elguiono programa contenido en la página. Ellenguaje de programaciónCFML, propio de Coldfu- sion, puede crear y modificar variables igual que en otros lenguajes de programación que nos son familiares. Posee

control de flujode programas, comoIF,Case,ciclo, etc. Tiene muchas funcionesbuilt-inpara realizar tareas más complicadas, por ejemplo: para averiguar qué día de la semana será el 3 de agosto del 2027

DayOfWeekAsString(DayOfWeek('2027/08/03')) No es unlenguaje de bases de datos, pero interacciona de manera simple con bases de datos(Sybase,Oracle,

MySQL,SQL Server, oAccess). UsandoSQLestándar, las páginas y aplicaciones web pueden fácilmente recu- perar, guardar, formatear y presentar información diná- micamente.

Muchas de las funciones poderosas de ColdFusion, co- mo leer desde y escribir en discos duros del servidor, son basadas en tags. Así como el tag

puede tener argumentos como 'width' o 'align', el tag <CFFILE> tiene argumentos que especifican 'ac- tion=read/write/copy/delete', path=' etc.

El tag <CFFORM> construye automáticamente todo el código JavaScript para verificar los campos requeridos antes de hacer elformulario. ColdFusion también tiene tags paraCOM,CorbayAppletsyServletsdeJava. ColdFusion fue diseñado para desarrollar sitios comple- jos y de alto tráfico. ColdFusion está diseñado para correr en máquinasmulti-procesador, y permite construir sitios que pueden correr enclustersde servidores.

Es un lenguaje que se ejecuta en el servidor. A diferencia de JavaScript y Applets Java, que se ejecuta en el cliente, ColdFusion se ejecuta en el servidor web. Esto signifi- ca que los guiones escritos en ColdFusion correrán de la misma manera en cualquiernavegador web.

33.1 Historia

ColdFusion fue desarrollado inicialmente por J. J. Allai- re, y su primera versión apareció en julio de 1995. En

2001, estando en el mercado la versión 5, Allaire fue adquirido porMacromedia, que en junio de2002lanzó ColdFusion MX (6.0), llamado de esta manera para se- guir la nomenclatura de sus otros productos. Esta versión fue completamente reescrita en Java desde cero, y fue di- señada, entre otros aspectos, para integrarse de manera sencilla conMacromedia Flash, el producto estrella de la compañía.

ColdFusion MX 7 fue lanzado en febrero de 2005, meses antes de la adquisición de Macromedia porAdobe Sys- tems. En la actualidad está disponible la versión 11.

33.2 Versiones

• 1995: Allaire Cold and Fusion, versión 1.0 • 1996: Allaire Cold and Fusion, versión 1.5 • 1996: Allaire Cold and Fusion, versión 2.0 • Junio 1997: Allaire Cold and Fusion, versión 3.0 • Enero 1998: Allaire Cold and Fusion, versión 3.1 • Noviembre 1998: Allaire ColdFusion, versión 4.0

(a partir de esta versión se le conoce como ColdFu- sion, ya que antes era “Cold and Fusion”)

• Noviembre 1999: Allaire ColdFusion, versión 4.5 • Junio 2001: Macromedia ColdFusion, versión 5.0 • Mayo 2002: Macromedia ColdFusion MX, version

6.0, Updater 1, Updater 2, Updater 3 56

33.3. EJEMPLOS DE CÓDIGO 57

• Julio 2003: Macromedia ColdFusion MX, version

6.1, hot fix, Updater 1

• 2005: Macromedia ColdFusion MX 7, 7.0.1, 7.0.2 • 30 de julio, 2007: Adobe ColdFusion 8

• 4 de abril, 2009: Adobe ColdFusion 8.0.1 • 5 de octubre, 2009: Adobe ColdFusion 9 • 13 de julio, 2010: Adobe ColdFusion 9.0.1 • 15 de mayo, 2012: Adobe ColdFusion 10 • 31 de mayo, 2012: Adobe ColdFusion 9.0.2 • 31 de agosto, 2012: Adobe ColdFusion 10 Update

1

• 11 de septiembre, 2012: Adobe ColdFusion 10 Up-

date 2

• 16 de octubre, 2012: Adobe ColdFusion 10 Update

3

• 2 de noviembre, 2012: Adobe ColdFusion 10 Up-

date 4

• 19 de noviembre, 2012: Adobe ColdFusion 10 Up-

date 5

• 11 de diciembre, 2012: Adobe ColdFusion 10 Up-

date 6

• 15 de enero, 2013: Adobe ColdFusion 10 Update 7 • 27 de febrero, 2013: Adobe ColdFusion 10 Update

8

• 10 de abril, 2013: Adobe ColdFusion 10 Update 9 • 14 de mayo, 2013: Adobe ColdFusion 10 Update

10

• 9 de julio, 2013: Adobe ColdFusion 10 Update 11 • 12 de noviembre, 2013: Adobe ColdFusion 10 Up-

date 12

• 10 de enero, 2014: Adobe ColdFusion 10 Update

13

• 14 de octubre, 2014: Adobe ColdFusion 10 Update

14

• 9 de diciembre, 2014: Adobe ColdFusion 10 Up-

date 15

• 29 de abril, 2014: Adobe ColdFusion 11

• 22 de septiembre: Adobe ColdFusion 11 Update 1 • 14 de octubre, 2014: Adobe ColdFusion 11 Update

2

• 9 de diciembre, 2014: Adobe ColdFusion 11 Up-

date 3

33.3 Ejemplos de código

Consulta a una base de datos:

<cfquery name="nombredelaconsulta”datasour- ce="conexion_odbc"> SELECT * FROM table WHERE campo = 'hola' </cfquery>

Mostrar la respuesta de la consulta:

<cfoutput query="nombredelaconsulta"> #nombredela- consulta.campo# <!---Las variables se escriben entre # #. Este texto es un comentario ---> </cfoutput>

Dar valores y mostrar variables:

<cfset sCadena = “Hola mundo!"> Contenido de la va- riable: <cfoutput>#sCadena#</cfoutput>

Usar servicios web:

<cfinvoke webservice="http://web.service/service?wsdl" method="prueba”returnVariable="resultado">

33.4 Enlaces externos

Web oficial de ColdFusion en Adobe Adobe ColdFusion community Introducción a Adobe ColdFusion

Coloreado de sintaxis

Un ejemplo de códigoHTMLcon coloreado de sintaxis

El resaltado de sintaxis, a veces llamado coloreado de

In document BACnet Network Security (Page 75-79)

Related documents