Las cadenas y el analista de seguridad por google

Las cadenas y el analista de seguridad

La capacidad de trabajar con cadenas es importante para el profesional de la ciberseguridad. Anteriormente, se te presentaron varias formas de trabajar con cadenas, incluidas las funciones y los métodos. También aprendiste a extraer elementos en cadenas mediante la notación y los índices entre corchetes. Esta lectura repasa estos conceptos y explica más sobre el uso del método .index(). También destaca ejemplos de datos de cadena que puedes encontrar en un entorno de seguridad.

Las cadenas en un entorno de seguridad

Como analista, las cadenas son uno de los tipos de datos más comunes que encontrarás en Python. Las cadenas constan de una secuencia ordenada de caracteres. Se utilizan para almacenar cualquier tipo de información que no tienes que manipular matemáticamente (por ejemplo, mediante división o resta). En un contexto de ciberseguridad, esto incluye direcciones IP, nombres de usuario, URL e ID de empleados.

Tendrás que trabajar con estas cadenas de varias maneras. Por ejemplo, puedes extraer ciertas partes de una dirección IP o verificar si los nombres de usuario cumplen con los criterios requeridos.

Trabajar con índices en cadenas

Índices

Un índice es un número asignado a cada elemento de una secuencia que indica su posición. Con las cadenas, esto significa que cada carácter en ella tiene su propio índice.

Los índices comienzan en 0. Por ejemplo, es posible que estés trabajando con esta cadena que contiene una ID de dispositivo: "h32rb17". La siguiente tabla indica el índice para cada carácter en esta cadena:

carácter

índice

h

0

3

1

2

2

r

3

b

4

1

5

7

6

También puedes usar números negativos como índices. Esto se basa en su posición relativa al último carácter de la cadena:

carácter

índice

h

-7

3

-6

2

-5

r

-4

b

-3

1

-2

7

-1

Notación entre corchetes

La notación entre corchetes hace referencia a los índices que van encerrados en corchetes. Puedes usarla para extraer una parte de una cadena. Por ejemplo, el primer carácter de la ID de dispositivo podría representar una determinada característica de este. Si deseas extraerlo, puedes usar la notación entre corchetes:

"h32rb17"[0]

Esta ID de dispositivo también puede almacenarse dentro de una variable llamada device_id. Puedes aplicar la misma notación entre corchetes a la variable:

device_id = "h32rb17"

device_id[0]

En ambos casos, se genera el carácter h cuando esta notación de corchetes se coloca dentro de una función print(). Podrás observar esto al ejecutar el siguiente código:

También puedes tomar una porción de una cadena. Cuando haces esto, extraes más de un carácter de ella. A menudo se realiza en contextos de ciberseguridad cuando solo te interesa una parte específica de una cadena. Por ejemplo, pueden ser ciertos números de una dirección IP o ciertas partes de una URL.

En el ejemplo de ID de dispositivo, es posible que necesites los primeros tres caracteres para determinar una cualidad particular de este. Para hacerlo, puedes tomar una porción de la cadena a través de la notación entre corchetes. Puedes ejecutar esta línea de código para observar que la salida es "h32":

Nota: La porción comienza en el índice 0, pero se excluye el segundo índice especificado después de los dos puntos. Esto significa que la porción termina una posición antes del índice 3, o sea, en el índice 2.

Métodos y funciones de las cadenas

Las funciones str() y len() son útiles para trabajar con cadenas. También puedes aplicar métodos a cadenas, incluidos .upper(), .lower(), e .index()00. Un método es una función que pertenece a un tipo de datos específico.

str() y len()

La función str() convierte su objeto de entrada en una cadena. Como analista, puedes usar esto en los registros de seguridad cuando trabajes con identificadores numéricos que no se van a usar con procesos matemáticos. Convertir un número entero en una cadena te da la capacidad de buscar a través de esta y también extraer porciones.

Considera el ejemplo de una ID de empleado 19329302 que debes convertir en una cadena. Puedes usar la siguiente línea de código para convertirla en una cadena y almacenarla en una variable:

string_id = str(19329302)

La segunda función que aprendiste es len(), que devuelve el número de elementos de un objeto.

Como ejemplo, si deseas verificar que una ID determinada de un dispositivo cumple con un estándar de contener siete caracteres, puedes usar la función len() y una sentencia condicional. Cuando ejecutes el siguiente código, se imprimirá un mensaje si "h32rb17" tiene siete caracteres:

.upper() y .lower()

El método .upper() devuelve una copia de la cadena con todos sus caracteres en mayúsculas. Por ejemplo, puedes cambiar este nombre del área a todas las mayúsculas ejecutando el código "Information Technology".upper(). Devolverá la cadena "INFORMATION TECHNOLOGY".

Mientras tanto, el método .lower() devuelve una copia de la cadena con todos los caracteres en minúsculas. "Information Technology".lower() devolverá la cadena "information technology".

.index()

El método .index() encuentra la primera ocurrencia de la entrada en una cadena y devuelve su ubicación. Por ejemplo, este código utiliza el método .index() para encontrar la primera aparición del carácter "r" en la ID de dispositivo "h32rb17":

El método .index() devuelve 3 porque la primera ocurrencia del carácter "r" está en el índice 3.

En otros casos, es posible que no se encuentre la entrada. Cuando esto sucede, Python devuelve un error. Por ejemplo, el código print("h32rb17".index("a")) devuelve un error porque "a" no está en la cadena "h32rb17".

También ten en cuenta que si una cadena contiene más de una instancia de un carácter, solo se devolverá la primera. Por ejemplo, la ID del dispositivo "r45rt46" contiene dos instancias de "r". Puedes ejecutar el siguiente código para explorar su resultado:

El resultado es 0 porque .index() devuelve solo la primera instancia de "r", que está en el índice 0. La instancia de "r" en el índice 3 no se devuelve.

Cómo encontrar subcadenas con .index()

Una subcadena es una secuencia continua de caracteres dentro de una cadena. Por ejemplo, "llo" es una subcadena de "hello".

El método .index() también se puede utilizar para encontrar el índice de la primera aparición de una subcadena. Éste devuelve el índice del primer carácter de esa subcadena. En el siguiente ejemplo, verás cómo se encuentra la primera instancia del usuario "tshah" en una cadena:

El método .index() devuelve el índice 7, que es donde comienza la subcadena "tshah".

Nota: Debes tener cuidado al usar el método .index() para buscar subcadenas. En el ejemplo anterior, deseas ubicar la instancia de "tshah". Si buscas solo "ts", Python devolverá 0 en lugar de 7 porque "ts" también es una subcadena de "tsnow".

Conclusiones clave.

Como analista de seguridad, trabajarás con cadenas de distintas maneras. En primer lugar, puede que tengas que usar la notación entre corchetes para trabajar con índices de cadena. Dos funciones que probablemente usarás son str(), que convierte una entrada en una cadena, y len(), que encuentra la longitud de una cadena. También puedes usar métodos de cadena, características que solo funcionan en cadenas. Estos incluyen .upper(), que convierte todas las letras de una cadena en mayúsculas; .lower(), que convierte todas las letras de una cadena en minúsculas; e .index(), que devuelve el índice de la primera ocurrencia de su entrada dentro de una cadena.

Comentarios

Entradas más populares de este blog

La Importancia de la Selección Genética en la Producción Avícola

Análisis de viabilidad económica y sostenibilidad de la crianza, incubación y alimentación de gallinas ponedoras para un consumo saludable en venta Bogotá, Colombia

Ventajas y Desventajas de los Proyectos Avícolas en el Campo Colombiano