Requisitos De la Seguridad Del Software
Conjuntamente con identificar los riesgos relacionados de la seguridad sabidos a un uso o a un género específico del uso, los reveladores deben determinar los requisitos de la seguridad para su uso. Este análisis debe llegar una medida equilibrada del nivel de la seguridad requerido para un uso. No tiene que ponder los extremos del espectro de la seguridad. Se da la comprensión que la seguridad verdadera y garantizada es no existente, protegiendo contra riesgos sabidos y reduciendo al mínimo el número de ataques acertados y de sus efectos generalmente un nivel aceptable de la seguridad. Ésos implicados con el ciclo de desarrollo del uso deben determinar sus el propios nivel "aceptable" de la seguridad, examinando los riesgos sabidos, las metas del uso, y los métodos usados para poner el nivel deseado de la seguridad en ejecucio'n. Para llegar los requisitos de la seguridad, los encargados y los reveladores pueden encontrarlo útil para concentrarse en las áreas siguientes, comúnmente sabidas del riesgo: · Autentificación del usuario y control de acceso · Almacenaje de datos de la información confidencial · Seguridad en comunicaciones externas de la red · Seguridad de los puntos de entrada para los usos externos y el sistema operativo Estas cuatro de áreas generales los diseñadores y los reveladores de uso pueden identificar un sistema mínimo de características importantes para analizar. Dependiendo de la funcionalidad del uso, algunas áreas del riesgo son más pertinentes que otras. Para asegurar o no asegurarLa adición de la seguridad a un uso afecta un uso de varias maneras. Llega a ser inmediatamente más complejo, mientras que la trayectoria del código toma una nueva vuelta para acomodar los métodos de la seguridad. El funcionamiento de un uso se pudo obstaculizar, especialmente con la adición de las operaciones del cifrado. Estas operaciones son intensivo de la CPU debido a los algoritmos complejos implicados. La eficacia de un uso puede también ser sacrificada si la seguridad se aplica en las áreas donde proporciona pocas ventajas. Esto puede ocurrir si los métodos de la seguridad se aplican oculto a todos los componentes de un uso sin pensamiento en cuanto a sus requisitos. Las secciones siguientes proporcionan un punto de partida razonable para determinar un nivel básico de los requisitos de la seguridad. Extremidad Es una buena práctica considerar la seguridad requerida para cada módulo o componente dentro de un uso. Resista el impulso de aplicar los métodos combinados de la seguridad a través de los módulos múltiples o de los componentes. En lugar, determine el nivel más conveniente de la seguridad para cada uno. Determinación de requisitos del control de la autentificación y de accesoLa autentificación del usuario es manejada a menudo por el sistema operativo en el cual el uso funciona, pero varias clases del uso pudieron necesitar ocuparse de la autentificación en sus el propios. Los usos encajados, los usos que funcionan independientemente del sistema operativo, y los usos distribuidos del Web necesitan a menudo acomodar un cierto nivel de la autentificación del usuario y del control de acceso. Los ejemplos comunes de los usos que requieren estos métodos de la seguridad son usos del comercio del Internet (e-comercio), en donde los usuarios hacen compras vía un sitio del Web, o acceso de base de datos del cliente. En ambos casos, la posibilidad para muchos diversos usuarios o los grupos de usuarios para utilizar el sistema requiere el control riguroso de datos accesibles. Los métodos de la necesidad de los usos para permitir que los usuarios separados tengan acceso a los sistemas vía un método de la conexión; también necesitan restricciones con respecto a los datos financieros users'respective individuales. Para determinar los requisitos del control de la autentificación y de acceso, los diseñadores deben examinar las interacciones dentro del uso y con el mundo que lo rodea. Esto incluye los métodos por los cuales los usuarios tienen acceso al uso—que se sienta directamente en un terminal o que tienen acceso de la red son dos métodos que pudieron requerir diversos esquemas de la autentificación. Un uso que está alcanzado solamente mientras que se sienta en el tablero del escritorio se puede asegurar con eficacia vía los métodos de la autentificación del sistema operativo en el cual funciona. Los usos de la red que son alcanzados por los usuarios múltiples simultáneamente, o con qué datos del acceso de usuarios de bases de datos comunes, proporcionan el ímpetu fuerte para el control y la autentificación de acceso. El nivel del granularity y la flexibilidad de las capacidades del control y de la autentificación de acceso proporcionaron por la ayuda del sistema operativo se determinan si se desarrollan los métodos propietarios. Los usos independientes o encajados se desarrollan a menudo de rasguño y por lo tanto requieren sus propios métodos especializados. Requisitos para el almacenaje de datosEl almacenaje de datos refleja el método usado para almacenar la información privada y sensible. Esto incluye el uso correcto de los métodos de la protección de archivo del sistema operativo subyacente (tales como res stricted permisos del archivo) y de métodos más fuertes de proteger elementos de datos individuales (tales como cifrado). En muchos casos, el uso de los métodos del permiso del sistema operativo es suficiente proporcionar el grado requerido de seguridad. El cifrado se puede utilizar para proteger datos extremadamente sensibles, tales como credenciales del usuario e información de crédito. El nivel a el cual el uso necesita almacenar datos, y la naturaleza de eso impulsión de los datos los requisitos para la seguridad del almacenaje de datos. El almacenaje de la información sensible es a menudo el factor que bloquea en la determinación de si el alto cifrado de la seguridad es necesario. Credenciales del usuario, tales que las contraseñas, direcciones, números de teléfono, y datos financieros, se deben considerar sensibles y también tratar con alta seguridad. La información de la configuración se puede asegurar a menudo suficientemente con métodos estándares del permiso del archivo. Al formar los requisitos para el almacenaje de datos, los diseñadores pudieron ser tentados para estandardizar en un nivel de seguridad. Por ejemplo, si una contraseña se almacena en un archivo de la configuración junto con la otra información no sensible, la tentación pudo ser fuerte utilizar el cifrado en el archivo entero como método combinado de la seguridad. Para determinar requisitos de almacenaje de datos, examine las necesidades de todos los componentes implicados. En este ejemplo, la aplicación del cifrado a los datos nonsensitive se pudo considerar ineficaz debido al costo de cómputo de las operaciones del cifrado, así como la carencia del control granular de la otra información en el archivo. Un solo elemento no puede ser alcanzado fácilmente si se cifra el archivo entero. La complejidad implicada para tener acceso a otros elementos entonces se aumenta dramáticamente. Requisitos de la seguridad del punto de la red y de entradaLos usos se comunican a los usuarios, al sistema operativo, y a otros usos a través de puntos de entrada. Éstos pudieron estar en la misma máquina que el uso o a través de una red; a menudo, están en ambos. Los métodos para proporcionar puntos de entrada al uso y a la ayuda para la comunicación de la red son a menudo una e igual; por lo tanto, se agrupan juntos aquí. La seguridad de las comunicaciones de la red es tratada lo más mejor posible examinando el contenido de los mensajes que son enviados. Los usos que utilizan la comunicación de la red para la mensajería informativa o pasar datos estáticos no pudieron requerir ninguna confiabilidad más fuerte que el protocolo apoyan. Una vez más como en el caso del comercio del Internet, un uso que envía y recibe la información sensible del usuario las autorizaciones probables la adición de un método más alto de la seguridad. Los puntos de entrada también determinan los requisitos de la seguridad para los usos que se comunican en un ambiente networked. Los puntos de entrada a un uso requieren un alto nivel del análisis porque abarcan y proporcionan la funcionalidad de la comunicación de la red. Otros también obran recíprocamente con el uso a través de los puntos de entrada. Estas áreas funcionales se pueden proteger vía una combinación de los métodos disponibles del sistema operativo y de los esquemas definidos del control y de la autentificación de acceso usados dentro del uso. El análisis de las interacciones que un uso tiene con el mundo exterior permite que los diseñadores determinen el nivel más conveniente de la seguridad necesitado. Se categorizan estas interacciones y puntos de entrada subsecuentes como · Interacción de la red · Interacción con otros usos · Interacción con su sistema operativo respectivo Estas categorías son áreas funcionales bien conocidas, y los diseñadores saben probablemente ya si su uso obra recíprocamente de cualesquiera de estas maneras. El paso siguiente es considerar la seguridad de cada área. Red, uso, e interacciones del sistemaEl renombre del Internet da lugar a muchos nuevos usos que obren recíprocamente con otros componentes dentro de sistemas locales y con los sistemas alejados. Los usos que funcionan independientemente de otros usos y obran recíprocamente solamente con sí mismos obviamente no requieren análisis del riesgo del establecimiento de una red. La interacción de la red puede estar presente en varios niveles. Un uso puede ser totalmente servidor de cliente–orientado, porque uso en los sistemas alejados separados a través del Internet. La necesidad de la seguridad en estos usos llega a ser considerablemente más compleja que está en usos independientes. Varias dependencias deben ser discernidas. El nivel a el cual los reveladores desean proporcionar mecanismos de la seguridad en el uso debe ser considerado. Los diseñadores pudieron decidir no proporcionar ningunos mecanismos internos de la seguridad. La seguridad del uso networked entonces confía en la seguridad de las redes en las cuales funciona y se comunica; el topol de la red ogy y el cortafuego determinan el nivel máximo de la seguridad que un uso puede experimentar. El diseñador pudo elegir evitar dependencias y proporcionar el grado más alto de seguridad posible dentro del uso. Éstos son los dos extremos que—la mayoría de los usos bajan en alguna parte en el centro. Los usos pueden también utilizar las instalaciones de red para la comunicación localizada que no es destinada ir más allá de los límites del sistema en el cual funciona. La consideración se debe dar a la naturaleza de esta comunicación para determinarse si la puesta en práctica crea riesgo innecesario. La necesidad de la interacción entre los usos o con el sistema operativo no implica un requisito para la comunicación de la red. Los diseñadores deben investigar los métodos de la puesta en práctica que proporcionan la funcionalidad requerida. Los usos utilizan a menudo métodos zo'calo-basados de la comunicación para proporcionar estos puntos de entrada porque se ponen en ejecucio'n rápidamente y fácilmente. El uso de zócalos puede proporcionar más funcionalidad que necesario, sin embargo. Los usos que necesitan comunicarse solamente con otros usos en el sistema local o con sus propios sistemas operativos tienen muchos métodos de la comunicación en su disposición, tal como zócalos del no-Internet y mecanismos del IPC. Comúnmente, los sistemas de UNIX utilizan comunicaciones del zócalo debido a su facilidad de empleo y plétora de documentación. UNIX apoya varios sabores de la comunicación zo'calo-basada, dos de los cuales son los zócalos el zócalo del IP y del dominio populares de UNIX. Los zócalos del IP, como el nombre implican, utilizan el protocolo del IP para la comunicación, y apoyan la comunicación de la red alejada, que permite los procesos locales y alejados para comunicarse con el uso. Muchos usos que se comunican solamente con procesos en un sistema local y que no requieren los zócalos del IP del uso de las capacidades de la comunicación de la red como interfaz estándar. Los zócalos del IP no son ideales en esta situación porque proporcionan automáticamente el acceso a los clientes locales y alejados. Los zócalos del dominio utilizan un protocolo interno de UNIX para la comunicación y no apoyan la comunicación de la red; proporcionan un canal de comunicaciones connection-oriented. Los zócalos del dominio tienen su parte de riesgos si están utilizados incorrectamente. Los zócalos del dominio de UNIX apoyan pasar de los descriptores del fichero así como datos informativos. Esto significa que los indicadores o las manijas a otras partes del sistema se pueden pasar a partir de un uso a otro. Esta funcionalidad está disponible solamente en zócalos del dominio de UNIX. Si esta capacidad no se desea ni se autoriza, la diversión de la comunicación zo'calo-basada a otro mecanismo del IPC pudo ser una opción mejor. En vista de que la clase de información enviada a y desde las ayudas del uso define los requisitos para su método de la comunicación. Los diseñadores deben evaluar las capacidades de la interacción del uso antes de incorporar una función estándar. En este ejemplo, el uso que usa los zócalos del IP está en el riesgo porque permite que los sistemas alejados conecten con el uso cuando no deben ser permitidos. Un diseño mejor documenta el requisito para la interacción con solamente usos locales. Este requisito comprensivo conduce a revelador a utilizar algo con excepción de los zócalos del IP. Interacciones Del Sistema OperativoLa interacción con el sistema operativo crea a menudo otro nivel de las ediciones de seguridad. Muchos niveles de la interacción pueden ocurrir con una interacción de la red—del sistema operativo, nication entre procesos de Commu, y la manipulación de archivos se ha mencionado ya. Dos otros tipos de interacción también requieren la atención: La ejecución de programas externos y del uso del sistema y otras llamadas externamente definidas son fuentes comunes de la explotación. Las ediciones importantes tales como permisos, autentificación, control de acceso, y validación entrada se deben considerar conjuntamente con interacciones del sistema operativo. Las llamadas del sistema y los usos externos presentan un alto grado del riesgo cuando están utilizadas incorrectamente debido a sus naturalezas. Estas funciones existen a menudo en las bibliotecas que son utilizadas por muchos usos simultáneamente y que proporcionan a menudo acceso directa a los componentes y a los recursos del sistema operativo. La explotación de un solo uso con estas funciones puede afectar varios usos y el sistema. Las llamadas del sistema proporcionan el acceso a muchas funcionalidades de uso general y sistema-especi'ficas. Permiten que un uso obre recíprocamente con los componentes de hardware específicos así como funcionalidad del nu'cleo-nivel. La seguridad del sistema operativo y de los componentes necesita ser considerada al usar el sistema llama. Si un uso ata juntos datos del usuario o de la red con el sistema operativo vía llamadas del sistema, los diseñadores deben reducir al mínimo la exposición a los datos peligrosos, inesperados, e incorrectos. La ejecución de usos externos es otra interacción común, sin garantía. Los reveladores diseñan a menudo un uso para invitar otros usos por varios métodos. Hay razones eral del sev que un revelador pudo desear hacer esto, por ejemplo para distinguir entre las funciones o para establecer control del medio ambiente. Llamar otros usos también permite que los reveladores utilicen funcionalidad existente y que apresuren la puesta en práctica del uso. Hay un peligro inherente en llamar otro programa dentro de un uso que—el programa externo puede ser confiado en raramente. El uso existe en un ambiente dinámico donde está posible modificar o substituir cualquier programa. El problema miente en los métodos usados para llamar el uso. los sistemas UNIX-basados apoyan a menudo las funciones llamadas system() y el exec(), que pasan los parámetros provistos como secuencia a la ejecución de la cáscara y del subprocess estándares de UNIX, respectivamente. La llamada del system() vuelve al programa que llama cuando es completa, pero el exec() termina el programa corriente y lo substituye por el programa llamado. Los sistemas basados Windows tienen la llamada del exec() que permite la ejecución de otros programas. Desemejante de UNIX, la versión de Windows del exec() funciona el programa especificado en un subprocess, y la función que llama no termina. Sin la validación de la entrada, los atacantes pueden poner meta-characters de la cáscara en el flujo de entradas, forzando la cáscara para funcionar posiblemente comandos y parámetros dañosos. El uso de estas funciones se frunce el ceño generalmente sobre, y el esfuerzo se debe hacer para evitar su uso porque permiten la ejecución de untrusted y los usos incontrolados. Alternativomente, los diseñadores pueden incorporar la funcionalidad requerida directamente en un uso. El uso libremente de disponible, software de la abrir-fuente disminuye grandemente el esfuerzo necesitado para hacer tan. Muchos sistemas operativos también permiten que la funcionalidad funcione en diversos niveles del privilegio. UNIX tiene sus privilegios de la "raíz", Windows tiene privilegios del "administrador" y del "SISTEMA". Estas cuentas especiales pueden realizar tareas administrativas y tener más interacción con el sistema operativo y sus servicios que lo hacen otras cuentas. Los programas se pueden escribir para elevar niveles del privilegio cuando la funcionalidad especializada es necesaria. Un uso y el sistema operativo en los cuales funciona pueden ser comprometidos si los privilegios no son cuidadosamente controlados. El modelo de menos privilegio sugiere que un uso funcione con el sistema mínimo de privilegios necesitados para realizar la mayoría de las funciones. La funcionalidad que requiere privilegios más altos se debe aislar en su propio módulo, sin embargo el cual se defina—como un proceso, una clase, un uso, u otro sistema. Incluso entonces, ese sistema de funcionalidad debe también funcionar en el menos nivel privilegiado hasta que se requieren esos privilegios elevados. En aquella 'epoca, privilegios más altos deben ser obtenidos y, sobre la terminación de la funcionalidad, los privilegios se deben volver al nivel mínimo. Nota Los meta-characters son los caracteres que adquieren el significado especial en un contexto dado. Por ejemplo, dentro de la cáscara estándar de UNIX, el punto y coma (;) es un separador de comando, es decir, muchos comandos se puede poner en una sola línea cuando un punto y coma está entre ellos. La pipa (|) el carácter envía la salida del terminal a lo que sigue la pipa, permitiendo que la salida a partir de un programa sea alimentada en otro. ConclusiónAlgunos reveladores de uso eligen olvidarse o no hacer caso de seguridad dentro de sus usos y ponerse en la misericordia de la red del cliente o el sistema operativo y sus características de la seguridad. Usando este modelo combinado de la seguridad evita la responsabilidad de proporcionar aseguran usos al público. La filosofía de la seguridad pretende una ideología fuerte y comprensiva de la seguridad que no asuma nada sobre la seguridad de los componentes externos al uso. Un uso debe siempre ser tan seguro como puede estar con respecto a sí mismo y a los componentes externos con los cuales obre recíprocamente. El nivel de seguir-por se deja a la discreción del diseñador o del revelador, sin embargo esto es un artículo agregado por Tamas Querolin
|
|||||
|