¿Qué es la seguridad del software??

¿Qué es la seguridad del software??
La seguridad del software es la construcción de software seguro con defensa inherente para que continúe funcionando bajo ataques maliciosos, a satisfacción de los usuarios y propietarios del software. Este artículo explica las amenazas y soluciones, desde un punto de vista general. El vocabulario estándar en la seguridad de la información también se explica. Debe ser computadora e internet alfabetizado para comprender este artículo; También deberías haber estudiado un lenguaje informático, e.gramo., Perl, C, C ++, PHP, etc.

Lo que está asegurado son los paquetes de información y software (aplicaciones y documentos). La información es cualquier mensaje que sea útil para cualquiera. "Información" es una palabra vaga. El contexto en el que se usa da su significado. Puede significar noticias, conferencias, tutoriales (o lección) o solución. Un paquete de software suele ser una solución a algún problema o problemas relacionados. En el pasado, toda la información que no se habló se escribió en papel. Hoy, el software puede considerarse como un subconjunto de información.

El software puede residir en una computadora o estar en tránsito de una computadora a otra. Archivos, datos, correos electrónicos, voz grabada, videos grabados, programas y aplicaciones residen en una computadora. Mientras reside en una computadora, se puede dañarse. Mientras que en tránsito, aún se puede dañarse.

Cualquier dispositivo con un procesador y memoria es una computadora. Entonces, en este artículo, una calculadora, un teléfono inteligente o una tableta (E.gramo., iPad) es una computadora. Cada uno de estos dispositivos y sus medios de transmisión de red tiene software o software en tránsito que debe protegerse.

Privilegios

Un usuario puede recibir el privilegio de ejecutar un archivo en una computadora. Se puede dar un usuario el privilegio de leer el código de un archivo en una computadora. Se puede dar un usuario el privilegio de modificar (escribir) el código de un archivo en una computadora. Se le puede dar un usuario uno, dos o los tres privilegios. Hay otros privilegios para un sistema operativo o una base de datos. Los usuarios tienen diferentes cantidades o niveles de privilegios en un sistema.

Amenazas

Bases de amenazas de software

Para proteger el software, debe conocer sus amenazas. El software debe protegerse de personas no autorizadas que accedan a sus datos. Tiene que estar protegido contra el uso ilegal (para causar daño, por ejemplo). El software debe protegerse contra la divulgación a los rivales. El software no debe estar dañado. El software no debe eliminarse sin querer. El software no debe ser interrumpido. El software no debe tener ninguna modificación que no sea. Los datos (software) no deben ser inspeccionados sin ninguna buena razón, especialmente por personas no autorizadas. El software no debe copiarse (pirateado).

Una o más de estas bases, lo que resulta en un tipo particular de amenaza clásica.

Clases de amenaza de software

Ataque de suplantación

Esta es la situación en la que una persona (o programa) representa con éxito a otra persona (o programa) en alguna actividad de software. Esto se realiza utilizando datos falsos para obtener una ventaja que sea ilegal.

Repudio

Esta es la situación en la que alguien hace algo mal, y rechaza que él/ella no es quien lo hizo. La persona puede usar la firma de otra persona para hacer lo incorrecto.

Filtración de datos

Una violación de datos es cuando la información segura o privada se divulga intencional o sin querer a un entorno en el que no se confía en.

Ataque de negación de servicio

Una red de computadoras de software tiene software que se ejecuta en las computadoras de la red. Cada usuario generalmente usa su computadora frente a él y generalmente solicita servicios de otras computadoras en la red. Un usuario penal puede decidir inundar un servidor con solicitudes superfluas. Un servidor tiene un número limitado de solicitudes que puede manejar en una duración. En este esquema de inundación, los usuarios legítimos no pueden usar el servidor tan a menudo como deberían, ya que el servidor está ocupado respondiendo a las solicitudes del criminal. Esto sobrecarga el servidor, interrumpiendo temporal o indefinidamente los servicios del servidor. En el curso de esto, el host (servidor) se ralentiza en funcionamiento para usuarios legítimos, mientras que el perpetrador lleva a cabo su travesura, que no se detectó, porque los usuarios legítimos que se mantienen, esperando el servicio, no podían saber qué estaba sucediendo el servidor. Se les niega el servicio a los buenos usuarios, mientras que el ataque se realiza.

Escalada de privilegios

Diferentes usuarios de un sistema operativo o aplicación tienen diferentes privilegios. Entonces, algunos usuarios terminan con más valor que otros, desde el sistema. La explotación de un error de software o supervisión de configuración para obtener acceso elevado a recursos o información no autorizada es una escalada de privilegios de privilegios.

Los esquemas de clasificación anteriores se pueden usar para causar un virus y gusanos de la computadora.

Uno o más de los esquemas de clasificación anteriores se pueden utilizar para ataques de software, que incluyen: robo de propiedad intelectual, corrupción de la base de datos, robo de identidad, sabotaje y extorsión de información. Si una persona usa uno o más de los esquemas para modificarse destructivamente, un sitio web para que los clientes del sitio pierdan confianza, es decir, sabotaje. La extorsión de información es el robo de la computadora de una empresa o obteniendo información secreta sobre la empresa. La computadora robada puede tener información secreta. Esto puede conducir a ransomware, donde el ladrón solicitaría un pago, a cambio de la propiedad o la información robada.

Privacidad

Cuando algo es sensible o inherentemente especial para ti, entonces esa cosa es privada para ti. Esto también se aplica a un grupo de personas. Un individuo necesita expresarse selectivamente. Para alcanzar dicha selectividad, el individuo tiene que programarse o programar información sobre sí mismo; que es privacidad. Un grupo de personas necesita expresarse selectivamente. Para lograr dicha selectividad, el grupo tiene que programar o programar información sobre sí mismos; que es privacidad. Un individuo necesita protegerse selectivamente. Para lograr tal protección selectiva, el individuo tiene que protegerse o protegerse de sí mismo o protegerse de sí mismo de manera selectiva; es decir, privacidad. Un grupo de personas necesita protegerse selectivamente. Para lograr dicha protección selectiva, el grupo tiene que protegerse o proteger la información sobre sí mismos de manera selectiva; es decir, privacidad.

Identificación y autenticación

Cuando viaja a un país extranjero, llegará a un puerto de ese país. En el puerto, un oficial de policía le pedirá que se identifique. Presentarás tu pasaporte. El oficial de policía conocerá su edad (desde la fecha de nacimiento), su género y su profesión del pasaporte, y él lo mirará (su cara); eso es identificación. El oficial de policía comparará su cara real y la foto en el pasaporte. También estimará su edad con lo que está en el pasaporte para saber si es usted.

Mirarlo y asociar su edad, género y profesión con usted es la identificación. Verificar si su cara real y su foto son las mismas, y estimar si su presentación coincide con su edad, es la autenticación. La identificación es asociar a una persona o algo a ciertos atributos. Indicar una identidad también es identificación. La autenticación es el acto de demostrar que la identidad (identificación) es verdadera. En otras palabras, la autenticación es el acto de probar una afirmación.

En la computación, la forma más común de autenticación es el uso de una contraseña. Un servidor, por ejemplo, tiene muchos usuarios. Al inicio de sesión, indica su identidad (identificarse) con su nombre de usuario. Probas tu identidad con tu contraseña. Se supone que su contraseña es conocida solo por usted. La autenticación puede ir más allá; haciendo una pregunta, como "¿En qué ciudad o ciudad naciste??"

Objetivos de seguridad

Los objetivos de seguridad en la información son la confidencialidad, la integridad y la disponibilidad. Estas tres características se conocen como CIA Triad: C para confidencialidad, I para integridad y A para disponibilidad.

Confidencialidad

La información no debe divulgarse a individuos no autorizados, o entidades no autorizadas o procesos no autorizados; Esta es la confidencialidad de la información en la seguridad de la información (así como la seguridad del software). El robo de contraseñas o el envío de correos electrónicos confidenciales a un individuo incorrecto es la confidencialidad comprometida. La confidencialidad es un componente de la privacidad que protege la información de individuos no autorizados, o entidades no autorizadas o procesos no autorizados.

Integridad

La información o los datos tienen un ciclo de vida. En otras palabras, la información o los datos tienen un tiempo de inicio y un tiempo final. En algunos casos, después del final del ciclo de vida, la información (o datos) debe borrarse (legalmente). La integridad consta de dos características, que son: 1) el mantenimiento y la garantía de la precisión de la información (o datos) durante todo el ciclo de vida, y 2) la integridad de la información (o datos) durante todo el ciclo de vida. Entonces, la información (o datos) no debe reducirse ni modificarse de manera no autorizada o no detectada.

Disponibilidad

Para que cualquier sistema informático tenga su propósito, la información (o datos) debe estar disponible cuando sea necesario. Esto significa que el sistema informático y sus medios de transmisión deben funcionar correctamente. La disponibilidad puede verse comprometida por actualizaciones del sistema, fallas de hardware y cortes de energía. La disponibilidad también puede verse comprometida con ataques de denegación de servicio.

No repudio

Cuando alguien usa su identidad y su firma para firmar un contrato que nunca cumplió, la no repudio es cuando no puede negar con éxito en la corte que no autorizó el contrato.

Al final de un contrato, la parte que ofrece el servicio debe haber ofrecido el servicio; La parte que pague debe haber realizado el pago.

Para comprender cómo el no repudio es aplicable a la comunicación digital, primero debe conocer el significado de la clave y el significado de la firma digital. Una clave es un código. Una firma digital es un algoritmo que utiliza una clave para producir algún otro código que se compare con una firma escrita del remitente.

En seguridad digital, la no repudio es proporcionada (no necesariamente garantizada) por una firma digital. En seguridad de software (o seguridad de la información), la no repudio tiene que ver con la integridad de los datos. El cifrado de datos (que podría haber escuchado) combinado con firma digital contribuye a la confidencialidad, también.

Los objetivos de seguridad en la información son la confidencialidad, la integridad y la disponibilidad. Sin embargo, el no repudio es otra característica que debe tener en cuenta al tratar con la seguridad de la información (o seguridad del software).

Respuestas a las amenazas

Las amenazas pueden responderse a una o más de las siguientes tres maneras:

- Reducción/mitigación: esta es la implementación de salvaguardas y contramedidas para eliminar las vulnerabilidades o las amenazas de bloqueo.

- Asignación/transferencia: esto coloca la carga de la amenaza en otra entidad, como una compañía de seguros o una compañía de outsourcing.

- Aceptación: esto evalúa si el costo de la contramedición supera el posible costo de pérdida debido a la amenaza.

Control de acceso

En la seguridad de la información de qué seguridad de software es parte, el control de acceso es un mecanismo que garantiza que solo los usuarios elegibles puedan acceder a los recursos protegidos en un sistema determinado, con sus diferentes privilegios merecidos.

Solución actual a la seguridad de la información

La forma actual y popular de hacer la seguridad de la información es hacer cumplir el control de acceso. Esto incluye medidas como validar la entrada a una aplicación, instalar antivirus, usar un firewall a una red de área local y emplear seguridad de la capa de transporte.

Cuando espera una fecha como entrada a una aplicación, pero el usuario ingresa a un número, dicha entrada debe ser rechazada. Esa es la validación de entrada.

Un antivirus instalado en su computadora evita que los virus corrompan archivos en su computadora. Esto ayuda a la disponibilidad de software.

Se pueden hacer reglas para monitorear y controlar el tráfico entrante y saliente de una red de área local, para proteger la red. Cuando tales reglas se implementan como software, en la red de área local, es un firewall.

La seguridad de la capa de transporte (TLS) es un protocolo de seguridad diseñado para facilitar la privacidad y la seguridad de los datos para las transmisiones a través de Internet. Esto implica cifrar la comunicación entre enviar al anfitrión y recibir el host.

Hacer la seguridad de la información al hacer cumplir el control de acceso se llama Security Software, que es diferente de la seguridad del software, como se explica a continuación. Ambos enfoques tienen el mismo objetivo, pero son diferentes.

Seguridad de software adecuada

Las aplicaciones, como se escriben hoy en día, tienen muchas vulnerabilidades de software que los programadores se han dado cuenta cada vez más durante los últimos 20 años. La mayoría de los ataques se realizan aprovechando estas vulnerabilidades que superar o trabajar en torno al control de acceso.

Un búfer es como una matriz pero sin una longitud impuesta. Cuando un programador está escribiendo en un búfer, es posible sobrescribir inconscientemente más allá de su longitud. Esta vulnerabilidad es un desbordamiento del amortiguador.

El software de hoy ha desertado con ramificaciones de seguridad, incluidas las implementación de los errores, como los desbordamientos de búfer y los defectos de diseño, como el manejo de errores inconsistentes. Estas son vulnerabilidades.

Es posible que haya oído hablar de trucos de lenguaje informático como trucos de PHP, trucos de perl y trucos de C ++. Estas son vulnerabilidades.

La seguridad del software, a diferencia del software de seguridad, está superando estas vulnerabilidades escribiendo código defensivo donde se evitarían las vulnerabilidades. Mientras se utiliza la aplicación, a medida que se descubren más vulnerabilidades, los desarrolladores (programadores) deberían buscar formas de volver a codificar las vulnerabilidades, defensivamente.

La amenaza, el ataque de denegación de servicio, no puede ser detenido por el control de acceso, porque para que el autor lo haga, ya debe tener acceso al host (servidor). Se puede detener incluyendo algún software interno que monitorea lo que los usuarios están haciendo en el host.

La seguridad del software es un diseño robusto desde adentro, que dificulta los ataques de software. El software debe ser autoprotector y, en el límite, no tiene vulnerabilidad. De esta manera, ejecutar una red segura se vuelve más fácil y más rentable.

La seguridad del software está diseñando código defensivo desde la aplicación, mientras que el software de seguridad está aplicando (diseñando) el control de acceso. A veces estos dos problemas se superponen, pero a menudo, no.

La seguridad del software ya está bastante desarrollada, aunque todavía se está desarrollando, no está tan desarrollado como el software de seguridad. Los piratas informáticos malos logran sus objetivos más aprovechando las vulnerabilidades en el software que superando o trabajando en el software de seguridad. Se espera que en el futuro, la seguridad de la información sea más de seguridad de software que el software de seguridad. Por ahora, tanto el software como el software de seguridad deben estar en marcha.

La seguridad del software no será realmente efectiva si no se realizan pruebas rigurosas al final del desarrollo de software.

Los programadores deben ser educados para llevar a cabo la programación de código defensivo. Los usuarios también deben ser educados sobre cómo usar aplicaciones a la defensiva.

En seguridad de software, el desarrollador debe asegurarse de que el usuario no tenga más privilegios de los que merece.

Conclusión

La seguridad del software es el diseño de la aplicación con codificación defensiva contra las vulnerabilidades para dificultar. El software de seguridad, por otro lado, es la producción de software que hace cumplir el control de acceso. La seguridad del software todavía se está desarrollando, pero es más prometedor para la seguridad de la información que el software de seguridad. Ya se está utilizando y está creciendo en popularidad. En el futuro, ambos serán necesarios, pero con el software, la seguridad necesitaba más.