Es retórico, lo sé. Pero aún así, todavía hay mucha gente que descuida y continúa pagando un precio muy alto por los conceptos de seguridad de software que faltan.

El desafío de los arquitectos de software para esta generación y la siguiente ya está escrito en negrita, subrayado y en mayúsculas: para construir software seguro y resistente de ataques de hackers. Tarea difícil, por supuesto. Pero quien quiera ser un verdadero profesional siempre estará ansioso por enfrentar los desafíos que requiere la carrera. Para desarrollar la seguridad del software es muy importante introducir los conceptos de seguridad en cada etapa del ciclo de desarrollo y hacer que todo el personal responsable comprenda el valor real de aplicarlos Por lo tanto, la posibilidad de lograr el objetivo aumenta considerablemente.

La siguiente tabla ilustra los conceptos de seguridad esenciales para desarrollar la seguridad del software, especialmente para el Core, que abordaremos en nuestra discusión de hoy:

security-concepts

Confidencialidad

En seguridad de la información, la confidencialidad es la propiedad de que la información no está disponible o divulgada a individuos, entidades o procesos no autorizados. Está relacionado con la protección contra la divulgación no autorizada de información. Desde la antigüedad, la humanidad es consciente de que la información es poder, y en nuestra era de la información, el acceso a la información es más importante que nunca, y el acceso no autorizado a información secreta puede tener consecuencias devastadoras.

Integridad

En el software que es confiable, existe una preocupación con respecto a la confiabilidad, el origen, la integridad y la exactitud de la información y la prevención de modificaciones no autorizadas o información no autorizada. Por lo tanto, la integridad del software tiene dos aspectos: primero, garantizar que los datos que se transmiten, procesan y almacenan son tan precisos como el creador previsto y, en segundo lugar, que el software funciona de la manera más confiable posible.

Disponibilidad

La disponibilidad es el concepto de seguridad relacionado con el acceso al software, los datos o la información que maneja. La disponibilidad, a pesar de ser abordada después de la confidencialidad y la integridad, no puede considerarse menos importante. Después de todo, ¿quién necesita un software saludable e información confidencial que no esté disponible? El software debe estar disponible solo para aquellos que están autorizados para usarlo y solo debe ser accesible cuando sea necesario.

Autenticación

Es en el paso de autenticación que la persona o el recurso deben probar quién es realmente. No solo garantiza que la identidad de una entidad (persona o recurso) se especifique de acuerdo con el formato que espera el software, sino que también valida y verifica la información de identidad proporcionada.

Autorización

El hecho de que una entidad tenga sus credenciales validadas no significa que pueda obtener acceso a todas las funciones del software. Es en el proceso de aprobación que el propietario del software determina el acceso a una entidad según los derechos y privilegios o de acuerdo con una política. Las decisiones de autorización no deben preceder a la autenticación, es decir, no autoriza una entidad antes de autenticarla.

Responsabilidad

La responsabilidad es otro principio importante de la seguridad de la información en lo que respecta a la capacidad de rastrear acciones y eventos en el tiempo a los usuarios, sistemas o procesos, para establecer la responsabilidad por acciones u omisiones. Un software no puede considerarse seguro si no es “responsable” porque sería imposible determinar quién es responsable de lo que sucedió o no sucedió en el software. Esta responsabilidad es provista principalmente por los registros y la pista de auditoría.

Estos conceptos de seguridad deben abarcar todo el ciclo de vida del software, y abordarlos desde el principio no solo es menos costoso, sino que, en términos de recursos y programación, también es efectivo.

Siempre defendemos que, más importante que conocer una tecnología específica, es conocer los conceptos de ingeniería de seguridad de software. Las tecnologías son reemplazadas inevitablemente por nuevas que vienen con una ropa más fresca, pero todas terminan usando los mismos conceptos.

Estamos hablando de los más básicos, pero si realiza un análisis de los softwares que ha construido, se dará cuenta de que muchos de ellos se han diseñado sin esta preocupación. ¿Es un crimen? No lo es. De Verdad. Este es un pecado de ignorancia. Pero cuando sabes lo que se debe hacer y no lo haces, es pecado por omisión.

Obviamente, en la mayoría de las empresas es muy difícil romper la barrera de “después de que lo haremos”, de “la seguridad es buena, pero no es nuestro objetivo en este momento”. Para demostrar que el valor de seguridad del software es una tarea continua y ardua, pero no te rindas. Intente hacerlo lo antes posible para no sufrir lo que dice el viejo dicho: “después de entrar a la casa, cierre la puerta”.

 

 

 

 

You might also like…

PROCESAMIENTO AJAX EN SCRIPTCASE

Ajax en los formularios de Scriptcase puede usarse para recargar un campo de tipo de select basado e...

IMPORTAR IMAGENES DE LA BASE DE DATOS Y UTILIZAR CLASES DE BOOSTRAP

Como muchas personas ya saben, Bootstrap es una biblioteca de front-end libre y de código abierto p...

TENDENCIAS DE DESARROLLO WEB PARA 2017

Usted verá en este post tendencias para 2017 en Diseño Web, en el medio digital y en el desarrollo...

Comment this post

Get new posts, resources, offers and more each week.

We will use the information you provide to update you about our Newsletter and Special Offers. You can unsubscribe any time you want by clinck in a link in the footer of any email you receive from us, or by contacting us at sales@scriptcase.net. Learn more about our Privacy Police.