Teoría básica de seguridad del software | Scriptcase Blog - Development, Web Design, Sales and Digital Marketing

Es repetitivo, lo sé. Pero aún así, todavía hay muchas personas que descuidan y continúan 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 los próximos ya está escrito en negrita, subrayado y letras mayúsculas: para construir software seguro y resistente de ataques de hackers. Tarea difícil, por supuesto. Pero quién quiere ser un verdadero profesional siempre estará ansioso por afrontar los retos que la carrera requiere. 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 entienda el valor real de Aplicarlos. Por lo tanto, la posibilidad de alcanzar la meta aumenta considerablemente.

La siguiente tabla ilustra los conceptos de seguridad esenciales para el desarrollo de la seguridad del software, especialmente para el Core, que abordaremos en nuestro debate de hoy:

teoria-seguridad-software--img01

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 hay una preocupación con la confiabilidad, el origen, la integridad y la exactitud de la información y la prevención de la modificación no autorizada o de la información no autorizada. Por lo tanto, la integridad del software tiene dos aspectos: Primero, asegurar que los datos que se transmiten, procesados y almacenados sean tan exactos como el creador pretendía, y segundo, que el software se desempeña tan fiable como se pretende.

Disponibilidad

Disponibilidad es el concepto de seguridad que está relacionado con el acceso de software, datos o información que maneja. La disponibilidad, a pesar de ser tratada 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 sólo para aquellos que están autorizados a usarlo y solo accesible cuando sea necesario.

Autenticación

Es en el paso de autenticación que la persona o el recurso debe probar quién realmente es. No sólo asegura que la identidad de una entidad (persona o recurso) se especifica de acuerdo con el formato que el software espera, 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 tener acceso a todas las características del software. Es en el proceso de aprobación que el propietario del software determina el acceso a una entidad basada en 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 autorizar a una entidad antes de autenticarla.

Responsabilidad

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

Estos conceptos de seguridad deben cubrir todo el ciclo de vida del software, y abordarlos desde el principio no sólo es menos costoso, sino en términos de recursos y calendario, también es eficaz.

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 inevitablemente reemplazadas por las nuevas que vienen con una ropa más fresca, pero todos terminan usando los mismos conceptos.

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

Obviamente, en la mayoría de las compañías es muy difícil romper la barrera de “después de que lo hagamos”, de “seguridad es agradable, pero no es nuestro enfoque ahora”. Para probar que el valor de seguridad de software es una tarea continua y ardua, Pero no te rindas. Trate de hacerlo lo antes posible para no sufrir lo que dice el viejo refrán, “más vale prevenir que curar”

Tambien te puede interesar

¿Scriptcase usa MVC?

En la actualidad es habitual la implementación del patrón de arquitectura de software llamado MV...

Cómo Implementar A2F usando un Desarrollo Propio en NodeJS en una aplicación Scriptcase

En un anterior a2f artículo hablamos de Swivel como herramienta externa para integrar nuestras apl...

Deshabilitar el relleno automático y autocompletar: Chrome

Hola, aquí quiero mostrar una alternativa para deshabilitar el relleno automático y el autocomplet...

Comentar este post

Reciba los nuevos post, novedades y ofertas!

Ingresa tu e-mail para recibir orientaciones y asistencia técnica durante el período de evaluación, además de comunicaciones como novedades y ofertas especiales de Scriptcase. Tu información será utilizada de acuerdo con nuestra política de privacidad. Puedes optar por no participar en cualquier momento