Aplicaciones Web habilitadas para seguridad de edificio

0
577
DOI: ESTE ARTIGO AINDA NÃO POSSUI DOI SOLICITAR AGORA!
PDF

PERES, Paulo Júnior de Jesus [1]

PINTO, Aurílio Guimarães [2]

FREITAS, Caio Guimarães [3]

LEITE, Francisco Canindé da Silva [4]

SILVA, Francisco Eronildo da [5]

OLIVEIRA, Geveson de Souza [6]

RIBEIRO, Dallas dos Santos [7]

ALMEIDA, Cristiany Caliri de [8]

MORAIS, Gilvanete Melo de [9]

PERES, Paulo Júnior de Jesus; et.al. Edificio con seguridad habilitada aplicaciones. Revista científica multidisciplinaria base de conocimiento. Edición 07. año 02 vol. 03. PP 44-51, octubre de 2017. ISSN: 0959-2448

Resumen

Con el crecimiento de Internet y su creciente utilización como un medio para ofrecer servicios y comunicaciones, es necesario que los desarrolladores de sistemas web tienen tanta atención como las prácticas de seguridad en el desarrollo de sistemas. Es un hecho que crear una aplicación Web segura es una tarea muy difícil en la actualidad, ya que para que un sistema ser considerado seguro depende exclusivamente del código desarrollado por el programador, pero también el servidor de aplicaciones, servidor de base de datos, la red de comunicación y muchas otras cosas que están fuera de alcanzan de los desarrolladores del sistema. En este sentido, el objetivo de este artículo es una referencia en cuanto a los niveles principales de ataques utilizados por los Hackers a vulnerabilidades de código de sistemas web y las posibles formas de prevención. Los conceptos utilizados en este artículo pueden ser utilizados en cualquier lenguaje de programación, porque las teorías son universales, sin embargo, con el fin de ilustrar los códigos se escriben en el PHP lenguaje de programación ya que actualmente es uno de los lenguajes de programación más difundir entre la comunidad. En este sentido, este artículo viene a contribuir con la comunidad una base rápida de investigación sobre la prevención de ataques a sistemas.

1. Introducción

En el contexto actual, es común que empresas, organismos públicos y las instituciones busca agilidad en la distribución de información a clientes y empleados agilizing la toma de decisiones en este medio. Sin embargo a fin de esta estrategia de trabajo, es imprescindible que haya seguridad en la manipulación y visualización de información relativa a la empresa.

En este sentido, Internet es el medio para facilitar y proporcionar tal distribución de los datos y la información de la actividad. Esta oportunidad, comercio virtual o comercio electrónico. Según Teixeira:

En Brasil, en la actualidad, 45.6% de su población tiene acceso a internet (unos 90 millones de personas). Si hacemos una comparación entre los años 2000 y 2012, hemos visto un aumento significativo, aproximadamente 1.500%, el número de usuarios de internet en Brasil (TEIXEIRA, 2015, p. 19).

Comercio electrónico o e-commerce, según Salvador (2013) se define como operaciones comerciales realizadas en el entorno virtual, con la ayuda de medios electrónicos, es decir, es capaz de comprar un artículo determinado a kilómetros de distancia, sin salir de casa u oficina, uso de smartphone, computadora u otro dispositivo. Donde la comodidad, facilidad de acceso y, principalmente, por los consumidores de precios son atraídos para e-commerce.

Sin embargo, es necesario que los desarrolladores presten atención a la seguridad de la información en el desarrollo de aplicaciones para Internet, porque la información está disponible para todo tipo de usuarios. Según Aguilar, sigue el concepto de seguridad de la información:

Seguridad de la información se refiere a la protección existente de la información de una empresa o persona, es decir, aplicar la información corporativa sobre la gente. Información significa todo y cualquier contenido o información que tiene valor a cualquier organización o persona. Puede ser almacenado para uso restringido o expuestos al público para consulta o adquisición. (AHMAD, 2008).

Según Ferreira (2017), en este universo de oportunidades que el internet se ha convertido en, los usuarios malintencionados tienen la oportunidad de robar información confidencial como claves bancarias:, información confidencial, entre otras posibilidades.

El propósito de este artículo mostrar algunas técnicas utilizadas para evitar robo de información o la invasión de los sistemas y las medidas para que los desarrolladores de sistemas que operan a través de internet (Desarrollo WEB) desarrollan sistemas seguros, reducción de la vulnerabilidad a ataques de distintos niveles.

2. XSS (CROSS SITE SCRIPTING)

Segundo flujo (2017), el XSS se produce cuando una Web aplicación toma datos maliciosos enviados por el usuario. En general el intruso aprovechará la falta de malicia de la persona que desarrolló la aplicación Web para inyectar código malicioso que engañar a la aplicación o sistema de información restringida.

Un ejemplo de esta vulnerabilidad es en el método de transmisión de las variables de tipo Get (variables en la URL del sitio) tales como: http://www.igreja.com.br/mostar.php?site=sexo.php.

Esto puede generar una verdadera molestia en el sitio porque el usuario malintencionado podría pasar alguna dirección del sitio web anterior, por ejemplo, lo que podría hacer que esta página funcionaría como un sitio pornográfico.

Según el flujo (2017) para evitar que la aplicación sea vulnerable a este tipo de ataque, se pueden tomar medidas como:

  • Utilizando variables de tipo de datos está contraindicado, porque compromete la seguridad del sistema;
  • Usar filtros en la captura de datos de usuario para ese bloque de cualquier tipo de código malicioso o URL es inyectado por los usuarios externos. Estos filtros pueden ser implementados por el programador o por capacidades de servidor de la aplicación.

3. INYECCIÓN DE SQL

Según Mueller (2013) el ataque por inyección de SQL es la inyección de código SQL en las variables pasado a formularios Web forms y pretende ejecutar código arbitrario de SQL en una aplicación Web.

Este es un ataque muy común y peligroso, un ejemplo es el siguiente script llamado "remover.php", sigue la transcripción del código:

<? php

$sql = "borrar cliente código donde =". $ _GE[‘codigo’]T;

mysql_query ($sql) o die (mysql_error ());

?>

Analizar la secuencia de comandos anterior, lo siguiente es un ejemplo de cómo el usuario puede realizar un ataque de inyección SQL por URL: http://seusite.com.br/remover.php?codigo=666+OR+1. De esta manera, con esta declaración, el resultado sería borrar todos los registros de los clientes de entidad.

Según el manual en línea de PHP, la manera más segura es controlando el tipo de variables que se reciben por los campos de formularios, por lo tanto, como una forma de prevención, el siguiente es un ejemplo de código:

<? php

settype ($offset, 'entero');
$query = "SELECT id, nombre de productos por orden nombre límite 20 OFFSET $offset;";

Tenga en cuenta el %d en la cadena de formato, con %s sería inútil
$query = sprintf ("SELECT id, nombre de productos ORDER BY nombre OFFSET límite 20% d;"
$offset);
?>

En el código anterior, la función "settype" tiene la función para comprobar si la variable recibida realmente es de tipo integer, prevención de código malicioso, los fragmentos se incorporan en la variable.

4. Expresión de denegación de servicio regular (secretos hacerse conocer)

Focke (2017) describe expresiones regulares (REGEX) como una técnica para utilizar las funciones del lenguaje de programación de uso para el tratamiento de la información del usuario. Estas funciones intentan codificar el valor de las variables que no pueden dañar o burlar el sistema.

Sigue de ejemplo en lenguaje de programación ASP:

<%

Dim variable
Variable = servidor. htmlEncoder (request ("var"))

%>

Sigue otro ejemplo usando el lenguaje de programación PHP:

<? php
Si (! ereg ("^ ([0-9,a-z,A-Z]+) [.,_,-]([0-9,a-z,A-Z](+)) [@]* [0-9,a-z,A-Z](+)[.,_,-] ([0-9,a-z,A-Z](+))[.] *[a-z,A-Z] () {2,3[0-9,a-z,A-Z]} ()? $", $ _ POS ("variable")) {}
echo "caracteres no válidos en el campo de correo electrónico!";
}
?>

Según Mattos (2013), para evitar este tipo de ataques, es necesario para crear filtros de captura para corregir los errores de los algoritmos estándares del código REGEX a cargo del lenguaje de programación utilizado.

5. APLICACIONES CGI

En segundo lugar fomentar la interfaz de Gateway común (CGI) (2017), es un tipo de matalinguagem o independiente de la plataforma middleware proporcionados por los servidores Web que permiten ejecutar programas/scripts desde una dirección URL. Estos scripts son generalmente escritos en Perl, Shell, Tcl, Java, Python o C (más escrito en lenguajes interpretados) y localizados en un directorio/cgi-bin.

Aplicaciones CGI escritas sin cuidado pueden causar graves problemas de vulnerabilidades de servidores Web. Segunda Foster:

Programación CGI difiere de la programación tradicional, básicamente, debido a su entorno y su función de puerta de enlace entre el cliente y el servidor, que termina por influir tanto en el aspecto de la seguridad (hay que recordar que estas aplicaciones funcionen en un entorno inseguro y, En teoría, pueden ser ejecutados por cualquier persona). (Foster, 2017)

Un script CGI que se ejecutan en la misma Web servidor UID no es necesariamente un mal juego, pero si cualquier aplicación CGI tiene un agujero de seguridad que permite a un atacante ejecutar programas UID del servidor Web, puede causar un grave problema a su sitio. (Foster, 2017).

Segunda persona (2017), una forma de solucionar este problema es mediante "Envolturas", es decir, programas que involucran a otros programas para cambiar la forma en que operan. Así, en entornos donde los usuarios escribir aplicaciones CGI independientes, es una buena estrategia para aislar unos de otros, es decir, mecanismos de aplicación en su servidor por lo que el acceso del usuario scripts voluntad interfieran con datos de otros usuarios. suexec (http://www2.idiscover.co.uk/apache/docs/suexec.html) soluciona este problema (hay otras herramientas que también tratan este problema) causando aplicaciones CGI bajo el UID del usuario, es decir, el propietario de la aplicación CGI.

6. TIPO DE DATOS

Según el manual en línea de PHP, que debe siempre tener cuidado es que algunos lenguajes de programación usan de variables globales que satisfacen a cualquier tipo de datos. Esto es el uso incorrecto, ya que causa una considerable vulnerabilidad nivel en el sistema.

Persona (2017) describe algunos ejemplos de cruzar las variables en el lenguaje de programación PHP:

<? php

$cod = $ _GET / /[‘cod’] obtener el tipo

$cod = $ _ POST /[‘cod’] / tipo de post

$cod = $ _ sesión /[‘cod’] / sesión de tipo

$cod = $ _ COOKIE [‘cod’]/ / tipo galleta

?>

7. ESCRIBIR ARCHIVOS POR UPLOAD

Cada vez que escribes en un archivo por subir el desarrollador debe asegurarse del tipo de archivo de la grabación del disco. Por ejemplo, un archivo de imagen puede simplemente tratarse mediante una validación de tipos de archivo. Eso es porque los usuarios malintencionados pueden enviar archivos que afectan de alguna manera el servidor o la aplicación (persona, 2017).

Según el manual de PHP en línea, a continuación un ejemplo de validación utilizando lenguaje de programación PHP:

<? php

función type_up)

{

    comprueba si el tipo mime del archivo de imagen

    Si (! eregi ("^ imagen / (pjpeg | jpeg png gif bmp || |) $", $this-> archiv[“type”]o)) {}

        return 0;

    } else {

        retorno 1;

    }

}

?>

8. FORMULARIOS DE SEGUROS CON SYNCHONIZER TOKEN

Según Bragil (2017), sincronizadora enchufe es una técnica que utiliza una variable creada en el comienzo de la sesión, con un valor inicial fijado por el desarrollador con el fin de asegurar que la forma realmente fue creada por la aplicación de servidor.

Según el Brasil (2017), a un sitio web con autenticación, puede iniciar el valor de la viruta en el momento de inicio de sesión y asegúrese de que el usuario es válido:

Ejemplo en PHP:

<??>

session_start ();

Inicializa el enchufe sincronizadora con un valor aleatorio

$ _SESSION[“synctoken”] = uniqid (tiempo ());

….

?>

Ahora el enchufe sincronizadora registrados en sesión, podemos ilustramos cómo crear un formulario protegido por ella:

<form name="frmteste" method="post" action="cadastro.php"></form>

<!– coloca todos os campos do formulário –>

<!– a nossa ficha fica como um campo hidden –>

<input type="hidden" name="token" value="<?=$_SESSION[“synctoken”]?>">

Ver el código fuente, observe que el atributo VALUE de la ficha tiene al azar valor campo, tipo "45jfg58955699j96uy8gtj85". Sincronización ocurre al procesar el formulario. En nuestro ejemplo, la acción de la forma es el archivo "cadastro.php" que al recibir los datos del formulario, pondrá a prueba si el valor del campo de símbolo (token) de la forma es la misma como la variable $ _SESSIO[“synctoken”]N. Si no, es una señal de que alguien está tratando de hacer lo que no debe, en otras palabras, es probablemente alguien que guarda la página con la forma en su micro y está tratando de hacer algunos "arte". En este caso, usted puede tomar algunas medidas, como recoger el ciudadano, mostrar una condena intimidación, entre otros. Si el valor es igual, luz verde, usted puede continuar con el proceso (Bragil, 2017).

Los beneficios son numerosos, ya que es una manera simple y eficiente para aumentar la seguridad de un sistema Web.

Conclusión

La Web fue diseñada sin mucha preocupación, o casi no, con seguridad. El objetivo principal fue proporcionar una información más amigable los recursos disponibles en el momento. Con el rápido crecimiento de la Web y la diversificación de su uso, la seguridad se convirtió en un punto de crucial importancia, especialmente para la Web como uno de los principales atractivos comerciales. En este caso el desarrollo sin seguridad porque un impacto crucial sobre los beneficios y en el trabajo de la empresa.

Podríamos citar otros casos de invasión o inseguridad en el proceso de desarrollo de sistemas, sin embargo tratamos sólo los puntos esenciales de un desarrollo seguro.

Finalmente, este trabajo está completamente extendido, y otros autores pueden utilizar este artículo como referencia para ampliar la cantidad de ataques y defensas para ser utilizado por equipos de desarrollo de software.

Referencias

Ahmad, Hong Keow. Seguridad de la información (it). Disponible en:< http://www.administradores.com.br/informe-se/artigos/seguranca-da-informacao-ti/23933/=""> </> consultado el 25 de octubre de 2017.

Bragil, Roger. Formas más seguras con token synchonizer. Disponible en: < http://phpbrasil.com/artigo/z61mreuozqth/formularios-mais-seguros-com-synchonizer-token-ficha-sincronizadora=""> acceso en: 25 de octubre de 2017.

Ferreira, Rodrigo. "Web application security". 1 º Ed. São Paulo: Inicio del código. 2017. 156 p.

Flujo, Peter. XSS. < http://phpbrasil.com/articles/article.php/id/506="">Tenido acceso: 20 de Oct. 17.

Focke, Erica. "USO DE REGEX PARA VERIFICACIÓN PARA CAMPOS DE FORMULARIO". < http://phpbrasil.com/articles/article.php/id/520="">Tenido acceso: 20 de Oct. 17.

Foster, Anthony. "Seguridad en Scripts CGI". < https://memoria.rnp.br/newsgen/9803/scripts.html="">. Acceso en: 25 de octubre de 2017.

Mueller, Juan Pablo. "Seguridad para los desarrolladores web". 1 º Ed. São Paulo: Nueva TEC. 2013. 416 p.

Salvador, Mauricio. "Administrador de E-commerce. 1° Ed. São Paulo. Editorial: Escuela de comercio electrónico, 2013.

Teixeira, Tarcisio. E-commerce: como la señal Internet y Civil Reglamento de e-commerce en BrasilSão Paulo: Saraiva, 2015.

Persona, Márcio. "Seguridad en PHP". 1 Ed. São Paulo: Nueva Tec 2007. 152p.

"Cross-SITE Scripting (XSS)". Disponible en: <http: br.ccm.net/contents/19-cross-site-scripting-xss="">consultado: 20 de octubre</http:> de 17

"El PHP Manual en línea". Disponible en: <https: secure.php.net/manual/pt_br/security.database.sql-injection.php="">consultado: 20 de octubre</https:> 17.

[1] Licenciado en Ciencias de la computación, actúa como un servidor público de la SUFRAMA, como analista administrativo-te. Especialista en base de datos de ULBRA.

[2] Licenciado en Ciencias de la computación, actúa como un servidor público de la SUFRAMA, como analista administrativo-te.

[3] Licenciado en Ciencias de la computación, actúa como un servidor público de la SUFRAMA, como analista administrativo-te.

[4] Licenciado en Ciencias de la computación, actúa como un servidor público de la SUFRAMA, como analista administrativo-te.

[5] Licenciado en Ciencias de la computación, actúa como un servidor público de la SUFRAMA, como analista administrativo-te.

[6] Licenciado en Ciencias de la computación, actúa como servidor de la SUFRAMA, analista administrativo-te.

[7] Licenciado en Ciencias de la computación, actúa como servidor de la SUFRAMA, analista administrativo-te.

[8] Se graduó en administración de empresas, actúa como servidor público de la SUFRAMA, como administrador.

[9] Licenciado en economía, actúa como servidor público de la SUFRAMA, como economista.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here