Sistemas & Desarrollo
2 meneos
1 clics

Nuevas políticas de GitHub permiten la eliminación de exploits PoC [ENG]

GitHub anunció el viernes sus pautas comunitarias actualizadas que explican cómo la compañía lidiará con las vulnerabilidades y las muestras de malware alojadas en su servicio. Para dar algunos antecedentes detrás de los nuevos cambios de política, el investigador de seguridad Nguyen Jang subió un exploit de prueba de concepto (PoC) a GitHub en marzo para la vulnerabilidad de Microsoft Exchange ProxyLogon.
3 meneos
7 clics

Cómo identificar problemas de seguridad en archivos ejecutables en Linux mediante la herramienta “checksec” [ENG]

La compilación del código fuente produce un binario. Durante la compilación, se pueden proporcionar indicadores al compilador para habilitar o deshabilitar ciertas propiedades en el binario. Algunas de estas propiedades son relevantes para la seguridad. Checksec es una pequeña herramienta que, entre otras funciones, identifica las propiedades de seguridad que se integraron en un binario cuando se compiló. Este artículo explica cómo usar checksec para identificar las propiedades de seguridad en un binario, incluyendo los comandos utilizados para encontrar las propiedades de seguridad además de ver las opciones del compilador GCC que se pueden activar para mejorar la seguridad de los binarios.
3 meneos
11 clics

El código binario del microkernel seL4 ha sido verificado formalmente para procesadores RISC-V [ENG]

En junio de 2020 anunciamos que el microkernel seL4 fue el primer kernel de sistema operativo del mundo con prueba de corrección de implementación verificada por máquina, también verificada para la arquitectura RV64, lo que lo convierte en el primer sistema operativo verificado formalmente para RISC-V. Ahora nos complace anunciar que esta verificación se ha extendido al código binario ejecutable, lo que significa que se ha demostrado que el código máquina que se ejecuta en el procesador es correcto. // Relacionada: El microkernel seL4 ha sido verificado formalmente para procesadores RISC-V.
2 meneos
2 clics

RotaJakiro: nuevo malware de Linux disfrazado de proceso systemd

El laboratorio de investigación 360 Netlab anunció la identificación de un nuevo malware para Linux, con nombre en código RotaJakiro, que incluye una puerta trasera que permite controlar el sistema. Los atacantes podrían haber instalado software malicioso después de explotar vulnerabilidades no reparadas en el sistema o adivinar contraseñas débiles. El backdoor se descubrió durante el análisis del tráfico sospechoso de uno de los procesos del sistema identificados durante el análisis de la estructura de una botnet usada para ataques DDoS.
3 meneos
10 clics

Diferencias entre ASLR, KASLR y KARL  

A raíz de la publicación de la noticia del lanzamiento del Kernel 4.12 de Linux, el cual trae por primera vez activada por defecto la característica KASLR, y casi simultáneamente la publicación de otra noticia sobre la implementación de una característica llamada KARL en OpenBSD, me ha parecido que sería interesante aclarar las diferencias entre estas técnicas de seguridad, pues pienso que la combinación de ambas va a ser muy importante de cara al futuro de la seguridad de los sistemas, pues van a impedir explotar vulnerabilidades relacionadas con la corrupción de memoria (buffer overflow). Pero antes de entrar a detallar las características de KASLR y KARL, echemos un vistazo ASLR.
2 meneos
4 clics

El C++ moderno no nos salvará de la inseguridad en el uso de la memoria [ENG]

Critico frencuentemente los lenguajes inseguros respecto a la memoria, principalmente C y C++, especialmente cómo inducen un número excepcional de vulnerabilidades de seguridad. Mi conclusión, basada en la revisión de la evidencia de numerosos proyectos de software grandes que utilizan C y C++, es que debemos migrar nuestra industria a lenguajes seguros respecto al uso de la memoria (como Rust y Swift). Una de las respuestas que recibo con frecuencia es que el problema no son C y C++ en sí mismos, sino que los desarrolladores se equivocan. Desafortunadamente mi experiencia en grandes proyectos me indica que hay mucho C++ totalmente moderno que introduce vulnerabilidades.
3 meneos
2 clics

El más rápido y seguro decodificador de archivos PNG del mundo [ENG]

El decodificador de imágenes PNG de Wuffs tiene seguridad de memoria y, además, es entre 1.22x y 2.75x más rápido que libpng, la implementación en C de código abierto más ampliamente utilizada. También es más rápido que las bibliotecas libspng, lodepng y stb_image C, así como las bibliotecas de PNG en Go y Rust más populares. El alto rendimiento se logra mediante la aceleración SIMD, la entrada de 8 bytes de ancho y las copias cuando se cambia de bits y se descomprime en zlib toda la imagen de una vez (en un buffer intermedio grande) en lugar de fila por fila (buffers pequeños y reusables). Además, está desarrollado en el lenguaje de programación Wuffs.
4 meneos
18 clics

Colección de algoritmos implementados en Rust [ENG]

En este repositorio de GitHub se muestra la implementación de diversos algoritmos en el lenguaje de programación Rust con propósitos educacionales. Entre estos algoritmos destacan algoritmos de ordenación como bubble, heap, insertion o merge; algoritmos de gestión de estructuras de datos, como heap, linked list o B-Tree; y algoritmos de gestión de cadenas de caracteres, como el algoritmo Knuth Morris Pratt.
2 meneos
3 clics

Cincuenta años de Pascal y Delphi está en la cima [ENG]

Son 50 años del lenguaje Pascal y Delphi es su heredero, lo que empodera a los desarrolladores de Pascal en los complejos escenarios actuales, a pesar de ser ignorado por el inventor del lenguaje Pascal. Niklaus Wirth publicó el artículo "El lenguaje de programación Pascal" en marzo de 1971, lo que significa que han pasado exactamente 50 años este mes desde que se lanzó oficialmente el lenguaje de programación Pascal. Los célebres informáticos celebraron el aniversario escribiendo un muy interesante artículo de punto de vista para Comunicaciones de la ACM (marzo de 2021, Vol. 64 No. 3, Páginas 39-41) y titulado 50 Años de Pascal.
1 meneos
3 clics

Google está preparando las primeras versiones para desarrolladores de su nuevo sistema operativo Fuchsia OS [ENG]

Durante años hemos estado observando y esperando mientras Google desarrollaba gradualmente su sistema operativo Fuchsia desde cero. Ahora ha aparecido evidencia que apunta a que el sistema operativo Fuchsia de Google ya tiene preparada su primera (y segunda) versión disponible, aunque es probable que inicialmente sea sólo para desarrolladores.
2 meneos
8 clics

Análisis práctico de la arquitectura interna de la Playstation 2 [ENG]

La Playstation 2 no fue una de las consolas más potentes de su generación, sin embargo logró alcanzar un nivel de popularidad impensable para otras compañías. Esta máquina no es tan simple como lo era la Playstation original, pero veremos por qué no compartió el mismo destino que las complicadas consolas anteriores.
2 meneos
9 clics

La revolución de la gestión de ventanas [ENG]  

La versión beta de la próxima versión 5.21 del conjunto de proyectos de KWinFT (reescritura completa del gestor de ventajas KWin) ya está disponible. Contiene una reescritura monumental de la lógica de gestión de ventanas de KWinFT. En este artículo se da una descripción general de dicha arquitectura y por qué fue necesaria dicha reescritura.
2 meneos
8 clics

Una mirada práctica a la seguridad del estándar de comunicaciones GSM 2G después de tres décadas [ENG]  

Observar el tráfico GSM 2G tres décadas desde su inicio puede no parecer muy interesante, pero el protocolo sigue siendo sorprendentemente común en la actualidad. A menudo se utiliza como alternativa cuando la cobertura es limitada y no hay protocolos más modernos disponibles, así como para dispositivos IoT heredados. Hay que tener en cuenta que existen fallos de seguridad bien documentadas en el protocolo GSM y que también hay herramientas disponibles públicamente para explotarlos.
2 meneos
8 clics

Una semana usando Plan 9 [ENG]  

Pasé la primera semana de 2021 aprendiendo un sistema operativo llamado Plan 9 de Bell Labs. Este es un sistema operativo marginal, abandonado durante mucho tiempo por sus autores originales. También es responsable de una gran cantidad de inspiración en otros lugares. Si has utilizado el lenguaje Go, /proc, UTF-8 o Docker, has utilizado funciones diseñadas por Plan 9. Este artículo se sumerge en los aspectos internos del sistema operativo y algunos temas de informática moderadamente difíciles.
2 meneos
5 clics

Chafa, utilidad para mostrar cualquier tipo de imagen en el terminal [ENG]  

Chafa es una utilidad de línea de comandos que convierte todo tipo de imágenes, incluidos GIF animados, en una salida de caracteres ANSI/Unicode que se pueden mostrar en un terminal. Es altamente configurable, con soporte para transparencia y múltiples modos de color y espacios de color, combinando rangos seleccionables de caracteres Unicode para producir la salida deseada.
2 meneos
18 clics

Taller de exploiting: ret2libc en Linux x64

Seguimos con exploiting en Linux, con el mismo código en la entrada anterior pero esta vez activando el bit NX (no-execute), es decir, la protección que nos marcará el stack como no ejecutable.
3 meneos
23 clics

Taller de exploiting: baby BOF en Linux x64

Voy a retomar los ejercicios de exploiting en Linux, esta vez en arquitectura de 64 bits. Básicamente se trata de lo mismo que en 32 bits pero con "pequeños" cambios, principalmente: los registros de propósito general se han ampliado a 64 bits. Así que ahora tenemos RAX, RBX, RCX, RDX, RSI y RDI; el puntero de instrucción (instruction pointer), el puntero de base (base pointer) y el puntero de pila (stack pointer) también se han ampliado a 64 bits como RIP, RBP y RSP respectivamente; se han proporcionado registros adicionales: R8 a R15; etc.
2 meneos
6 clics

v7/x86, el último verdadero UNIX, portado a x86 [ENG]

V7/x86 es una adaptación de la séptima edición del sistema operativo UNIX a ordenadores x86 (i386). UNIX V7 fue la última distribución general (alrededor de 1979) procedente del grupo de investigación de Bell Labs, el hogar original de UNIX. La adaptación se realizó principalmente alrededor de 1999 cuando las licencias de código fuente “Ancient UNIX” estuvieron disponibles por primera vez y se revisaron para su lanzamiento. Después hubo algunas mejoras durante 2006-7.
3 meneos
20 clics

Qué ocurre antes de que se inicie el kernel de BSD: primera parte en AMD64 [ENG]

La inicialización del sistema es una de las áreas de nicho que pocas personas analizan. Los detalles exactos varían considerablemente entre diferentes plataformas, firmwares, arquitecturas de CPU y sistemas operativos, lo que dificulta aprenderlos todos. Por lo general, si algo no funciona correctamente durante las primeras etapas del inicio del sistema o si el sistema operativo no se inicia, rara vez tiene algo que ver con el código responsable del inicio. La mayoría de las veces, se debe a otros factores, como el medio de arranque o la configuración del BIOS.
3 meneos
11 clics

Android se traslada al sistema de compilación Bazel

Los desarrolladores de Google que están detrás del desarrollo de Android dieron a conocer que están moviendo el proyecto de código abierto de Android (AOSP) para usar el sistema de compilación Bazel en lugar del actual sistema de compilación Soong, Ninja y Make. La compatibilidad con Bazel ya se ha agregado al repositorio de Android, pero la transición al nuevo sistema de compilación de forma predeterminada se extenderá a través de múltiples versiones de plataforma para que la migración sea lo más fácil y transparente posible.
3 meneos
17 clics

Decoder++: una herramienta para codificar/decodificar datos en varios formatos

Decoder++ de Bytebutcher es una aplicación para pentesters y desarrolladores bastante chula para decodificar o codificar datos en varios formatos. Para instalarla podemos usar Python PIP o directamente desde GitHub. Esta herramienta tiene varios modos de funcionamiento, entre los que se encuentra una interfaz gráfica y una línea de comandos para poder hacer que la salida de esta pueda ser la entrada de otras herramientas, como BurpSuite. Algunos ejemplos de decodificadores son base16, base32, base64, binary, gzip, hex, html, jwt, http64, octal o zlib; también cuenta con hashes como crc32, md5, lm, phpass, sha1, sha256, etc.
3 meneos
10 clics

pyelftools: herramienta escrita en Python para analizar archivos ELF

La herramienta pyelftools es una utilidad escrita usando el lenguaje de programación Python y que se presenta como un gran recurso para poder analizar ejecutables binarios en formato ELF de Linux. Es cierto que existen otras muchas utilidades similares, pero algunas tienen ciertas limitaciones que puedes solventar si usas esta otra. Por ejemplo, es una herramienta universal y altamente especializada en estos formatos para poder explorar todo lo que necesitas de estos formatos. Así que si necesitas estudiar este tipo de ficheros binarios de Linux, con tener instalado Python 3.6 o superior en tu distribución favorita, y el propio paquete pyelftools, podrás hacer verdaderas maravillas…
3 meneos
44 clics

Dentro de los módulos de RAM apilados utilizados en el Apple III [ENG]  

En 1978, un chip de memoria almacenaba solo 16 kilobits de datos. Para hacer un chip de memoria de 32 kilobits, Mostek tuvo la idea de colocar dos chips de 16K en un portador del tamaño de un circuito integrado estándar, creando el primer módulo de memoria, el MK4332 "RAM-pak". Este módulo permitió a los fabricantes de computadoras duplicar la densidad de sus sistemas de memoria, y en 1982 Mostek había vendido más de 3 millones de esos módulos. El Apple III es el sistema más conocido que utilizó dichos módulos de memoria.
4 meneos
27 clics

El arte de (no) pintar píxeles en pantalla [ENG]  

Al ser un compositor y un administrador de composición de ventanas, el aspecto más importante de Mutter y de GNOME Shell es pintar píxeles en sus monitores con contenido relevante. Una gran parte de este contenido lo proporcionan las propias aplicaciones, pero muchos elementos aún deben renderizarse sobre ellas. En los últimos años, el código base de Mutter se ha refactorizado, limpiado, reorganizado y modernizado de forma lenta pero constante. Esto incluye las copias internas de Clutter y Cogl. Con el comienzo del ciclo de desarrollo de GNOME 40, todo convergió en un conjunto de cambios especialmente grande y emocionante de los que hablaremos en este artículo.
4 meneos
41 clics

1001 formas de detectar subdominios  

Un dominio de Internet puede tener varios subdominios con servicios activos, siendo estos utilizados para diferentes fines. Si podemos detectar los subdominios activos, quizá podremos acceder a nuevas zonas de la web que desconocíamos. Conseguir acceso a nuevos paneles de login o descubrir servicios que se están ejecutando en esa máquina. Esto es muy importante a la hora buscar fallos de seguridad en compañías. Un subdominio mal protegido podría ser sin duda un vector de ataque mediante el cual conseguir acceso a una infraestructura, así que hoy vamos a ver diferentes formas y herramientas de detectar subdominios.
3 meneos
45 clics

Ninja: una forma simple de construir software [ENG]

De vez en cuando encuentro un nuevo software que realmente me gusta, y hoy quiero hablar sobre uno de mis descubrimientos recientes favoritos: el sistema de construcción de software Ninja.
2 meneos
32 clics

Arquitectura y funcionamiento de UEFI [ENG]

No quiero repetir los porqués que hay detrás de UEFI porque, francamente, ya no hay muchas opciones: todos los dispositivos nuevos con Windows 10 se envían con UEFI habilitado de forma predeterminada (y si lo estás apagando, la culpa es tuya). En cambio, quiero centrarme mucho más en cómo funciona y lo que sucede entre bastidores.
2 meneos
30 clics

¿Por qué es más rápido ‘mmap’ que las llamadas al sistema? [ENG]  

Cuando pregunto a mis compañeros porqué ‘mmap’ es más rápido que las llamadas al sistema (system calls) la respuesta es inevitablemente “debido a la sobrecarga de las propias llamadas al sistema, es decir, el coste de cambio de contexto entre espacio de usuario y espacio de kernel”. Pero resulta que esta sobrecarga tiene más matices de lo que solía pensar, así que echemos un vistazo bajo el capó para comprender las diferencias de rendimiento.
4 meneos
21 clics

Flatpak, una pesadilla en cuanto a la seguridad (dos años después) [ENG]

Hace dos años escribí sobre Flatpak, el autoproclamado como “el futuro de las aplicaciones en Linux” (muy promocionado por aquel entonces) criticando los tres flujos principales de Flatpak: 1) la mayoría de las aplicaciones tienen acceso completo al sistema, pero los usuarios creen que las aplicaciones están en un espacio aislado; 2) altos tiempos de ejecución y aplicaciones que no reciben actualizaciones de seguridad; 3) Flatpak rompe muchos aspectos de la integración con el escritorio. Veamos cómo se han abordado estos problemas dos años después.
3 meneos
34 clics

Sistemas de archivos que no siguen la semántica POSIX [ENG]

Los sistemas operativos y los sistemas de archivos se han desarrollado tradicionalmente de la mano ya que generalmente se imponen limitaciones mutuas. Hoy tenemos dos líderes importantes en la semántica del sistema de archivos: Windows y POSIX. Están muy cerca uno del otro según el conjunto completo de características, pero sucedieron cosas interesantes antes de que POSIX monopolizara la semántica de los sistemas de archivos.
2 meneos
54 clics

Epigramas en programación [ENG]

1. Lo que para una persona es una constante, para otra es una variable; 2. Las funciones retrasan la unión de datos, la estructuras de datos la aceleran. Moraleja: estructura los datos lo más tarde posible durante el proceso de programación; 3. El azúcar sintáctico es el cáncer del punto y coma (semicolon en inglés); 4. Cada programa es parte de otro programa, y raramente encajan; 5. Si un programa manipula una gran cantidad de datos, este lo hace en un número pequeño de formas; 6. […].
3 meneos
21 clics

Cómo crear una copia de seguridad local de Google Photos [ENG]

Los primeros teléfonos inteligentes se conectaban habitualmente al ordenador para transferir datos, música y fotos. Hoy en día suelen depender de una conexión a Internet para hacer copia de seguridad de fotos y videos en “la nube” con lo que pocas veces se conectan a un ordenador para hacer copias de seguridad. El problema está en que se confía demasiado en “la nube”, por ejemplo en Google Photos, y se olvida tener una copia local de los datos por si algún día deja de existir este servicio. Es aquí donde aparece gphoto-sync, una utilidad de código abierto escrita en Python cuyo fin es hacer una copia de seguridad local de todas las fotos almacenadas en Google Photos.
3 meneos
47 clics

Convirtiendo cien millones de enteros a cadena de caracteres por segundo [ENG]  

Hace casi 7 años escribí un artículo comparando el rendimiento de diferentes métodos para convertir un entero en una cadena de caracteres. Muchas cosas han cambiado desde entonces, así que he decidido escribir otro artículo de seguimiento para ver cuánto se ha avanzado en los últimos años.
3 meneos
25 clics

Ultra Tesla: crear redes distribuidas de servicios, fácil, rápido y seguro  

Ultra Tesla es un proyecto de código abierto para crear redes distribuidas de servicios fácil, rápido y seguro, usando el poder de computo de múltiples ordenadores. El proyecto permite unificar los distintos servidores en una única interfaz que es proporcionada para el mismo usuario creando una sensación de transparencia.
3 meneos
21 clics

Implementando el algoritmo Raft en Go: Introducción [ENG]

Este es el primer artículo de una serie de varios capítulos que describen la implementación completa del algoritmo de consenso distribuido llamado Raft en el lenguaje de programación Go. Raft es un algoritmo relativamente nuevo (2014) pero ya se usa bastante en la industria. El ejemplo más conocido de ello es probablemente Kubernetes, que se apoya en Raft a través de la base de datos distribuida de tipo clave-valor etcd. El objetivo de estos artículos es describir una implementación totalmente funcional y rigurosamente probada de Raft.
3 meneos
36 clics

Un Makefile con gestión automática de dependencias para C/C++

Para realizar un seguimiento de las dependencias de los archivos de código fuente se añaden unas reglas sin receta que permitan comprobar la fecha de modificación de las cabeceras, que recompile el código fuente cuando se haya modificado cualquiera de las mismas mediante las reglas implícitas que sí tienen receta, asegurarnos de que no falle la ejecución de Make ante cualquier cambio [...] y generar sin errores los Makefiles de dependencias a la vez que se evita que GNU Make los borre por ser archivos intermedios.
2 meneos
21 clics

Creación de DLLs maliciosas para hijacking, fácil, sencillo y para toda la familia  

EvilDLL v1.0 de thelinuxchoice es una herramienta bastante útil que nos facilitará la creación de DLLs maliciosas para obtener nuestra shell reversa en caso de que hayamos podido explotar un DLL hijacking. Además tendremos la opción de crear esa shell mediante un reenvío de puertos directo a nuestra máquina o mediante un túnel con ngrok. Probado en Windows 7 (7601) y Windows 10, lo único que necesitaremos es el compilador Mingw-w64 y asignar el auhtoken de ngrok previo registro. Después simplemente clonar el repositorio y ejecutar el script principal de BASH.
2 meneos
19 clics

Significado e historia del registro EAX de la arquitectura x86 [ENG]

Por lo general los tutoriales sobre ensamblador de la arquitectura x86 no pasan mucho tiempo explicando la perspectiva histórica de las decisiones de diseño y denominación. Cuando se está aprendiendo ensamblador de x86 siempre suelen decir lo mismo: aquí está EAX; es un registro; úsalo. Pero entonces, ¿qué significan exactamente las letras de dicho registro: E-A-X? Me temo que no hay una respuesta corta. Para explicarlo vamos a tener que volver a 1972…
2 meneos
28 clics

Las últimas actualizaciones de Windows 10 están ralentizando los PC. Soluciones. [EN]

Las últimas tres actualizaciones acumulativas de Windows 10, en particular las KB4535996, KB4540673 y posiblemente KB4551762 están siendo culpadas por ralentizar el rendimiento de las máquinas con Windows 10. ¿Qué actualización acumulativa opcional no relacionada con la seguridad está causando problemas de rendimiento con Windows 10? ¿Cómo abordar el bajo rendimiento y el arranque lento de Windows 10 si es causado por la última actualización acumulativa?
2 meneos
21 clics

Archivos ZIP: historia, explicación e implementación [ENG]  

He tenido curiosidad acerca de la compresión de datos y el formato de archivo ZIP en particular durante mucho tiempo. En algún momento decidí aprender cómo funciona y escribir mi propio programa de compresión. La implementación se convirtió en un ejercicio de programación emocionante al crear una máquina bien engrasada que desmonta datos, los mezcla en una representación más eficiente, y los junta de nuevo. En este artículo se explica el formato ZIP con gran detalle: compresión LZ77, códigos Huffman y algoritmos de deflate, además de un poco de historia y una implementación razonablemente eficiente escrita en C.
2 meneos
35 clics

Ejecutar aplicaciones Windows de 16 bits en Windows de 64 bits [ENG]

¿Alguna vez has intentado instalar en tu moderno ordenador con Windows 10 una aplicación o un juego y sólo has obtenido diálogos que indican que no se pueden ejecutar para finalmente darte cuenta de que estás tratando de ejecutar una aplicación de 16 bits en un Windows 10 de 64 bits? Juro por Dios esto me pasa todo el tiempo. Afortunadamente hay una solución para este problema. De hecho, hay varias soluciones para este problema.
3 meneos
12 clics

Miranda lanzado como software libre [ENG]

Miranda es un lenguaje de programación funcional puro, no estricto, polimórfico y de orden superior diseñado por David Turner en 1983-6. El lenguaje fue ampliamente utilizado, tanto para la investigación como para la enseñanza, y tuvo una fuerte influencia en el desarrollo posterior del campo, influyendo en particular en el diseño de Haskell, con el que tiene muchas similitudes. Miranda es, sin embargo, un lenguaje más simple.
4 meneos
49 clics

Wiki de bash para hackers [ENG]

Esta wiki está destinada a contener documentación de cualquier tipo sobre GNU Bash. La motivación principal era proporcionar documentación e información legible para los humanos para que los usuarios no se vean obligados a leer cada parte de la página de manual de Bash, lo que puede ser difícil de entender. Sin embargo, los documentos aquí no pretenden ser un tutorial para novatos. Esta wiki y todos los programas que se encuentran aquí son software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o cualquier versión posterior.
3 meneos
38 clics

¿Qué hizo que el supercomputador CDC6600 de los años 1960 fuese tan rápido? [ENG]  

Cualquiera que haya tenido una clase de arquitectura de computadores avanzada ha oído hablar del CDC6600, el que fue el ordenador más rápido del mundo desde 1964 hasta 1969. Esta fue la máquina que puso a Seymour Cray en el mapa como arquitecto de supercomputadoras, aunque el arquitecto principal fue James Thornton. Uno de los conceptos de arquitectura de computadores, que luego fue usado en arquitecturas RISC, por el que el CDC6600 es conocido fue la introducción del scoreboard, que, junto al algoritmo de Tomasulo, fueron unos de los primeros conceptos de ejecución de instrucciones fuera de orden.
2 meneos
32 clics

Diseccionando el controlador de Windows Defender: WdFilter (parte 1) [ENG]

WdFilter es el componente principal del núcleo de Windows Defender. Este controlador funciona como un minifiltro del grupo “FSFilter Anti-Virus”, lo que significa que está conectado a la pila del sistema de archivos (en realidad, bastante arriba) y gestiona las operaciones de entrada/salida mediante callbacks. Además este controlador implementa otras técnicas para obtener información de lo que está sucediendo en el sistema. El objetivo de esta serie de publicaciones es comprender de forma sólida cómo funciona este sistema a bajo nivel.
2 meneos
33 clics

¿Cómo funciona realmente HTTPS? [ENG]

HTTPS es simplemente el protocolo HTTP estándar untado con una generosa capa de delicioso cifrado SSL/TLS. A menos que algo vaya muy mal (y puede), SSL impide ver o modificar las peticiones que componen la navegación web. SSL es lo que mantiene las contraseñas, las comunicaciones y los datos de las tarjetas de crédito seguros entre el ordenador y los servidores.
3 meneos
45 clics

Cello, biblioteca para llevar la programación de alto nivel a C [ENG]

Cello es una biblioteca que lleva la programación de alto nivel a C. Actuando como un moderno y potente sistema de ejecución, Cello hace muchas cosas fáciles que antes eran poco prácticas o difíciles de manejar en C, como: estructuras de datos genéricos; funciones polimórficas; interfaces/clases de tipos; constructores/destructores; recolección de basura opcional; excepciones; y reflexión. Además, Cello funciona a la perfección junto al estándar de C obteniendo el resto de beneficios, como un gran rendimiento.
4 meneos
76 clics

Doce errores comunes y oportunidades de optimización perdidas en SQL [ENG]

La mayoría de los lenguajes de programación están diseñadas para desarrolladores profesionales con conocimiento de algoritmos y estructuras de datos. SQL es diferente. SQL lo utilizan analistas, científicos de datos, gerentes de producto, diseñadores y muchos más. Estos profesionales tienen acceso a bases de datos, pero no siempre tienen la intuición y la comprensión para escribir consultas eficientes. En un esfuerzo por hacer que mi equipo escriba mejor SQL, he recompilado fallos comunes y oportunidades de optimización perdidas.
2 meneos
34 clics

Infraestructura automática de documentación con Python, Wordpress y Foreman. [ENG]

No está terminado hasta que esta documentado. Cuando creamos nuestro nuevo entorno de I+D a gran escala con nuestro pequeño equipo DevOps de 2 personas, decidimos que nunca más editaríamos manualmente la documentación del servidor/conmutador/fuera-de-banda. Los humanos somos demasiado propensos a errores, y esos errores importan cuando algo sale mal. Es una tarea que adormece la mente y preferiamos pasar nuestro tiempo construyendo cosas que escribiendo sobre ellas.
4 meneos
39 clics

Análisis comparativo de Linux y Open Source Unix [eng]

Análisis comparativo entre Linux, varias distribuciones BSD e Illumos sobre cuestiones relativas a licencias, abuso corporativo de dichas licencias, rendimiento y características de dichos sistemas operativos. vía soylentnews.org/article.pl?sid=19/11/05/0424205
« anterior123456

menéame