Software Seguro y Calidad
49 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la función de un compilador en el proceso de transformación de un lenguaje de alto nivel?

  • Optimizar el código para mejor rendimiento
  • Ejecutar el programa directamente
  • Convertir el lenguaje ensamblador en código máquina
  • Transformar el código de alto nivel en lenguaje ensamblador (correct)
  • Un intérprete convierte el código de alto nivel directamente en lenguaje máquina sin necesidad de compilación.

    True

    ¿Qué valor hexadecimal se mueve al registro ax cuando asignas 42 a la variable x?

    2a

    El lenguaje de más bajo nivel que puede entender directamente un procesador es el lenguaje __________.

    <p>máquina</p> Signup and view all the answers

    Relaciona los siguientes lenguajes con su tipo:

    <p>JavaScript = Interpretado C = Compilado Python = Puede ser tanto interpretado como compilado Java = Puede ser tanto interpretado como compilado</p> Signup and view all the answers

    ¿Qué ventaja principal ofrece un entorno interpretado?

    <p>Independencia de la plataforma</p> Signup and view all the answers

    Las aplicaciones en lenguajes compilados pueden ejecutarse sin necesidad de un compilador instalado en la máquina local.

    <p>True</p> Signup and view all the answers

    ¿Cuál es una desventaja principal de los lenguajes interpretados?

    <p>Requieren que el intérprete esté instalado en la máquina local</p> Signup and view all the answers

    ¿Cuál es la función principal de un sandbox en relación con un applet de Java?

    <p>Restringir el acceso a recursos del sistema.</p> Signup and view all the answers

    Los applets de Java pueden causar actividades maliciosas tanto a propósito como accidentalmente.

    <p>True</p> Signup and view all the answers

    ¿Quién media el acceso a los recursos del sistema en un entorno de sandbox?

    <p>La máquina virtual de Java (JVM)</p> Signup and view all the answers

    El ______ se encarga de verificar la adhesión a las reglas predeterminadas en Java.

    <p>verificador de bytecode</p> Signup and view all the answers

    Relaciona los componentes con sus funciones:

    <p>Java Virtual Machine = Interpreta bytecode y gestiona recursos Cargador de applets = Carga applets desde el servidor Verificador de bytecode = Valida el código antes de su ejecución Gestor de seguridad de applets = Controla el acceso a recursos del sistema</p> Signup and view all the answers

    ¿Qué mecanismo proporciona la lengua Java para protegerse?

    <p>Todos los anteriores</p> Signup and view all the answers

    Los programadores no pueden escribir applets que escapen del sandbox de Java.

    <p>False</p> Signup and view all the answers

    ¿Cuál es una de las amenazas a la seguridad que enfrentan los entornos de sandbox?

    <p>Acceso no autorizado a recursos del sistema</p> Signup and view all the answers

    ¿Cuál es una de las funciones de las APIs en el contexto de la seguridad?

    <p>Implementar controles de seguridad</p> Signup and view all the answers

    Las APIs permiten a los desarrolladores acceder a la funcionalidad del sistema operativo sin restricciones.

    <p>False</p> Signup and view all the answers

    ¿Qué es la validación de parámetros?

    <p>Confirmar que los valores de parámetros recibidos están dentro de límites definidos.</p> Signup and view all the answers

    Las __________ son colecciones de componentes que realizan tareas específicas útiles para otros componentes.

    <p>bibliotecas de software</p> Signup and view all the answers

    Relaciona cada sistema operativo con su característica respecto a las APIs:

    <p>Apple macOS = Requiere APIs estándar para acceder a funciones del sistema Google Android = Usa APIs para acceso a la red y funciones de archivos Microsoft Windows = Implementa restricciones en el uso de APIs Linux = No requiere APIs para funcionalidades básicas</p> Signup and view all the answers

    ¿Por qué es importante validar los parámetros en un entorno cliente/servidor?

    <p>El cliente puede ser comprometido o eludido</p> Signup and view all the answers

    ¿Cuál es la principal función de un sistema de gestión de configuración de software (SCM)?

    <p>Mantener la integridad y trazabilidad del software</p> Signup and view all the answers

    Las bibliotecas de software no juegan un papel importante en la reutilización del código.

    <p>False</p> Signup and view all the answers

    Menciona un ejemplo de funcionalidad que las APIs permiten a los desarrolladores utilizar.

    <p>Apertura y cierre de archivos.</p> Signup and view all the answers

    Las configuraciones inseguras no afectan la seguridad de un producto de software seguro.

    <p>False</p> Signup and view all the answers

    ¿Qué problema resuelve la gestión de configuración en el desarrollo de software?

    <p>El problema de las configuraciones incorrectas que pueden surgir durante el ciclo de vida del desarrollo.</p> Signup and view all the answers

    La gestión de configuración permite el control de cambios a través de __________.

    <p>automatización</p> Signup and view all the answers

    Asocia las funcionalidades de los sistemas SCM con su descripción:

    <p>Versionado = Control de cambios y seguimiento de revisiones Fusión = Unir cambios de diferentes desarrolladores Sincronización = Mantener actualizados varios repositorios de código Gestión de concurrencia = Manejo de cambios en archivos extraídos por múltiples usuarios</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones representa un riesgo en la gestión de configuración?

    <p>Cambios no controlados en archivos</p> Signup and view all the answers

    Los sistemas SCM no son relevantes en entornos de desarrollo seguros.

    <p>False</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones describe mejor el acoplamiento bajo?

    <p>Un módulo puede pasar un valor a otro módulo sin esperar resultados de otros módulos.</p> Signup and view all the answers

    ¿Qué determina el seguimiento de cambios en un sistema SCM?

    <p>La capacidad de verificar que el software final incluye todos los cambios aprobados.</p> Signup and view all the answers

    El acoplamiento elevado disminuye la complejidad del programa.

    <p>False</p> Signup and view all the answers

    ¿Qué se entiende por cohesión alta en un objeto?

    <p>Un objeto que está diseñado para realizar una única función lógica.</p> Signup and view all the answers

    El proceso de definir lo que hace una clase o un objeto y omitir cómo lo logra internamente se conoce como _____ .

    <p>abstracción</p> Signup and view all the answers

    Empareja los siguientes términos con sus descripciones:

    <p>Acoplamiento alto = Dependencia de múltiples módulos Cohesión alta = Realización de una única función Abstracción = Sistematización de la interacción entre componentes API = Definición de la manera en que los componentes se interrelacionan</p> Signup and view all the answers

    ¿Qué efecto tiene la complejidad en la seguridad de un programa?

    <p>Aumenta la probabilidad de vulnerabilidades.</p> Signup and view all the answers

    La disminución de la complejidad de un programa puede ayudar a mejorar su seguridad.

    <p>True</p> Signup and view all the answers

    ¿Cuál es el objetivo principal de una API?

    <p>Especificar cómo los componentes de software interactúan entre sí.</p> Signup and view all the answers

    ¿Cuál es una ventaja de utilizar SSH en los repositorios?

    <p>Cifra todo el tráfico</p> Signup and view all the answers

    La infraestructura de clave pública (PKI) asegura la no repudio en las comunicaciones SSH.

    <p>True</p> Signup and view all the answers

    ¿Qué se requiere para llevar a cabo una evaluación de seguridad de software?

    <p>Revisar documentos aplicables y desarrollar un plan de verificación.</p> Signup and view all the answers

    El desarrollo seguro de software se basa en una política organizacional fundamentada en la gestión de ______.

    <p>riesgos</p> Signup and view all the answers

    Empareja los métodos de evaluación de seguridad con su descripción:

    <p>SAST = Análisis de código estático DAST = Análisis de código dinámico Unit Testing = Pruebas de componentes individuales Integration Testing = Pruebas de integración entre componentes</p> Signup and view all the answers

    ¿Cuál de los siguientes es un método de prueba mencionado para evaluar la seguridad del software?

    <p>SAST</p> Signup and view all the answers

    Elegir un proveedor de servicios de repositorio web es una opción adecuada para proyectos con grandes inversiones de propiedad intelectual.

    <p>False</p> Signup and view all the answers

    Menciona dos áreas que requieren atención adicional durante una evaluación de seguridad de software.

    <p>Gestionar riesgos asociados con el desarrollo de software y auditar cambios de software.</p> Signup and view all the answers

    El principal propósito de una evaluación de seguridad de software es verificar que la cadena desde la política hasta el ______ funciona correctamente.

    <p>producto</p> Signup and view all the answers

    Study Notes

    Secure Software

    • Programming languages are crucial for software creation, with machine language (binary) being the most fundamental form.
    • Assembly language uses symbols (mnemonics) to represent machine code, improving programmer efficiency.
    • High-level languages (e.g., C, Java, Python) are closer to human language than machine code, leading to more readable and maintainable code.
    • Quality software is defined as fitness for purpose.
    • Successful software compromises exploit vulnerabilities. These vulnerabilities often stem from defects in the code's design or execution.
    • Software security and quality are intrinsically linked; one cannot exist without the other.
    • High-quality software is harder to exploit because it's less prone to defects.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    En este cuestionario, exploraremos la relación entre la programación de software, su calidad y la seguridad. Aprenderás sobre los diferentes niveles de lenguajes de programación y cómo afectan la capacidad de un software para resistir vulnerabilidades. Conoce las mejores prácticas para asegurar que el software cumpla con su propósito de manera efectiva.

    More Like This

    Use Quizgecko on...
    Browser
    Browser