Ya fue publicada la tercera version de los parches para el soporte de controladores Rust en Linux

Seis meses después de la publicación de la segunda versión, Miguel Ojeda, autor del proyecto Rust-for-Linux, dio a conocer la propuesta de la tercera opción para el desarrollo de controladores de dispositivos en lenguaje Rust en el Kernel de Linux.

El soporte de Rust se considera experimental, pero ya se ha acordado su inclusión en la rama linux-next. El desarrollo está financiado por Google y la organización ISRG (Internet Security Research Group), que es la fundadora del proyecto Let’s Encrypt y contribuye a la promoción de HTTPS y al desarrollo de tecnologías para mejorar la seguridad de Internet.

Cabe recordara que los cambios propuestos permiten utilizar Rust como segundo lenguaje para desarrollar controladores y módulos del kernel.

El soporte de Rust se anuncia como una opción que no está activa de forma predeterminada y no da como resultado que Rust se incluya en las dependencias de compilación básicas requeridas. El uso de Rust para el desarrollo de controladores le permitirá crear controladores mejores y más seguros con un esfuerzo mínimo, sin problemas como acceder a un área de memoria una vez liberada, desreferenciar punteros nulos y exceder los límites del búfer.

La nueva versión de los parches continúa eliminando los comentarios hechos durante la discusión de la primera y segunda versión de los parches y de los cambios más notables podremos encontrar:

Se ha llevado a cabo la transición al uso de la versión estable de Rust 1.57 como compilador de referencia y se ha asegurado la vinculación a la edición estabilizada del lenguaje Rust 2021.  La transición a la especificación Rust 2021 permitió comenzar a trabajar para evitar el uso de características tan inestables en parches como const_fn_transmute, const_panic, const_unreachable_unchecked y core_panic y try_reserve.

Ademas se destaca que se ha continuado con el desarrollo de la versión del alloc de la biblioteca Rust, en la nueva versión, las opciones «no_rc» y «no_sync» se implementan para deshabilitar la funcionalidad que no se usa en el código de Rust para el kernel, haciendo que la biblioteca sea más modular. Continuamos trabajando con los principales desarrolladores de alloc para traer los cambios necesarios para el kernel a la biblioteca principal. La opción «no_fp_fmt_parse», que es necesaria para que la biblioteca funcione en el nivel del kernel, se ha movido a la biblioteca básica de Rust (núcleo).

Se limpió el código para eliminar posibles advertencias del compilador al compilar el kernel en modo CONFIG_WERROR. Cuando se crea código en Rust, se incluyen modos de compilador de diagnóstico adicionales y advertencias de linter Clippy.

Se proponen abstracciones para usar seqlocks (bloqueos de secuencia), llamadas de devolución de llamada para administración de energía, memoria de E/S (readX/writeX), manejadores de interrupciones y subprocesos, GPIO, acceso a dispositivos, controladores y credenciales en código Rust.

Se han ampliado las herramientas para el desarrollo de controladores con el uso de mutex reubicables, iteradores de bits, enlaces simplificados sobre punteros, diagnósticos mejorados de fallas e infraestructura independiente del bus de datos.

Se mejoró el trabajo con enlaces usando el tipo Ref simplificado, basado en el backend refcount_t, que usa la API central del mismo nombre para contar referencias. El soporte para los tipos Arc y Rc proporcionados en la biblioteca de asignación estándar se ha eliminado y no está disponible en el código ejecutado a nivel del kernel (para la biblioteca en sí, se han preparado opciones para deshabilitar estos tipos).

Se ha agregado a los parches una versión del controlador PL061 GPIO, reescrito en Rust. Una característica del controlador es que su implementación casi línea por línea repite el controlador C GPIO existente. Para los desarrolladores que quieran familiarizarse con la creación de controladores en Rust, se ha preparado una comparación línea por línea, que permite comprender en qué construcciones en Rust se ha convertido el código C.

El código base principal de Rust adopta rustc_codegen_gcc , un backend rustc para GCC que implementa la compilación AOT usando la biblioteca libgccjit. Con el desarrollo adecuado del backend, le permitirá recopilar el código Rust involucrado en el núcleo usando GCC.
Además de ARM, Google y Microsoft, Red Hat ha expresado interés en utilizar Rust en el kernel de Linux.

Finalmente si estas interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/3EDXSpX
via IFTTT

Ya fue publicada la tercera version de los parches para el soporte de controladores Rust en Linux

Seis meses después de la publicación de la segunda versión, Miguel Ojeda, autor del proyecto Rust-for-Linux, dio a conocer la propuesta de la tercera opción para el desarrollo de controladores de dispositivos en lenguaje Rust en el Kernel de Linux.

El soporte de Rust se considera experimental, pero ya se ha acordado su inclusión en la rama linux-next. El desarrollo está financiado por Google y la organización ISRG (Internet Security Research Group), que es la fundadora del proyecto Let’s Encrypt y contribuye a la promoción de HTTPS y al desarrollo de tecnologías para mejorar la seguridad de Internet.

Cabe recordara que los cambios propuestos permiten utilizar Rust como segundo lenguaje para desarrollar controladores y módulos del kernel.

El soporte de Rust se anuncia como una opción que no está activa de forma predeterminada y no da como resultado que Rust se incluya en las dependencias de compilación básicas requeridas. El uso de Rust para el desarrollo de controladores le permitirá crear controladores mejores y más seguros con un esfuerzo mínimo, sin problemas como acceder a un área de memoria una vez liberada, desreferenciar punteros nulos y exceder los límites del búfer.

La nueva versión de los parches continúa eliminando los comentarios hechos durante la discusión de la primera y segunda versión de los parches y de los cambios más notables podremos encontrar:

Se ha llevado a cabo la transición al uso de la versión estable de Rust 1.57 como compilador de referencia y se ha asegurado la vinculación a la edición estabilizada del lenguaje Rust 2021.  La transición a la especificación Rust 2021 permitió comenzar a trabajar para evitar el uso de características tan inestables en parches como const_fn_transmute, const_panic, const_unreachable_unchecked y core_panic y try_reserve.

Ademas se destaca que se ha continuado con el desarrollo de la versión del alloc de la biblioteca Rust, en la nueva versión, las opciones «no_rc» y «no_sync» se implementan para deshabilitar la funcionalidad que no se usa en el código de Rust para el kernel, haciendo que la biblioteca sea más modular. Continuamos trabajando con los principales desarrolladores de alloc para traer los cambios necesarios para el kernel a la biblioteca principal. La opción «no_fp_fmt_parse», que es necesaria para que la biblioteca funcione en el nivel del kernel, se ha movido a la biblioteca básica de Rust (núcleo).

Se limpió el código para eliminar posibles advertencias del compilador al compilar el kernel en modo CONFIG_WERROR. Cuando se crea código en Rust, se incluyen modos de compilador de diagnóstico adicionales y advertencias de linter Clippy.

Se proponen abstracciones para usar seqlocks (bloqueos de secuencia), llamadas de devolución de llamada para administración de energía, memoria de E/S (readX/writeX), manejadores de interrupciones y subprocesos, GPIO, acceso a dispositivos, controladores y credenciales en código Rust.

Se han ampliado las herramientas para el desarrollo de controladores con el uso de mutex reubicables, iteradores de bits, enlaces simplificados sobre punteros, diagnósticos mejorados de fallas e infraestructura independiente del bus de datos.

Se mejoró el trabajo con enlaces usando el tipo Ref simplificado, basado en el backend refcount_t, que usa la API central del mismo nombre para contar referencias. El soporte para los tipos Arc y Rc proporcionados en la biblioteca de asignación estándar se ha eliminado y no está disponible en el código ejecutado a nivel del kernel (para la biblioteca en sí, se han preparado opciones para deshabilitar estos tipos).

Se ha agregado a los parches una versión del controlador PL061 GPIO, reescrito en Rust. Una característica del controlador es que su implementación casi línea por línea repite el controlador C GPIO existente. Para los desarrolladores que quieran familiarizarse con la creación de controladores en Rust, se ha preparado una comparación línea por línea, que permite comprender en qué construcciones en Rust se ha convertido el código C.

El código base principal de Rust adopta rustc_codegen_gcc , un backend rustc para GCC que implementa la compilación AOT usando la biblioteca libgccjit. Con el desarrollo adecuado del backend, le permitirá recopilar el código Rust involucrado en el núcleo usando GCC.
Además de ARM, Google y Microsoft, Red Hat ha expresado interés en utilizar Rust en el kernel de Linux.

Finalmente si estas interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/3EDXSpX
via IFTTT

Canada Charges Its “Most Prolific Cybercriminal”

A 31-year-old Canadian man has been arrested and charged with fraud in connection with numerous ransomware attacks against businesses, government agencies and private citizens throughout Canada and the United States. Canadian authorities describe him as “the most prolific cybercriminal we’ve identified in Canada,” but so far they’ve released few other details about the investigation or the defendant. Helpfully, an email address and nickname apparently connected to the accused offer some additional clues.

Matthew Filbert, in 2016.

Matthew Philbert of Ottawa, Ontario was charged with fraud and conspiracy in a joint law enforcement action by Canadian and U.S. authorities dubbed “Project CODA.” The Ontario Provincial Police (OPP) on Tuesday said the investigation began in January 2020 when the U.S. Federal Bureau of Investigation (FBI) contacted them regarding ransomware attacks that were based in Canada.

“During the course of this investigation, OPP investigators determined an individual was responsible for numerous ransomware attacks affecting businesses, government agencies and private individuals throughout Canada as well as cyber-related offenses in the United States,” reads an OPP statement.

“A quantity of evidentiary materials was seized and held for investigation, including desktop and laptop computers, a tablet, several hard drives, cellphones, a Bitcoin seed phrase and a quantity of blank cards with magnetic stripes,” the statement continues.

The U.S. indictment of Philbert (PDF) is unusually sparse, but it does charge him with conspiracy, suggesting the defendant was part of a group. In an interview with KrebsOnSecurity, OPP Detective Inspector Matt Watson declined to say whether other defendants were being sought in connection with the investigation, but said the inquiry is ongoing.

“I will say this, Philbert is the most prolific cybercriminal we’ve identified to date in Canada,” Watson said. “We’ve identified in excess of a thousand of his victims. And a lot of these were small businesses that were just holding on by their fingernails during COVID.”

A DARK CLOUD

There is a now-dormant Myspace account for a Matthew Philbert from Orleans, a suburb of Ottawa, Ontario. The information tied to the Myspace account matches the age and town of the defendant. The Myspace account was registered under the nickname “Darkcloudowner,” and to the email address dark_cl0ud6@hotmail.com.

A search in DomainTools on that email address reveals multiple domains registered to a Matthew Philbert and to the Ottawa phone number 6138999251 [DomainTools is a frequent advertiser on this site]. That same phone number is tied to a Facebook account for a 31-year-old Matthew Philbert from Orleans, who describes himself as a self-employed “broke bitcoin baron.”

Mr. Filbert did not respond to multiple requests for comment.

According to cyber intelligence firm Intel 471, that dark_cl0ud6@hotmail.com address has been used in conjunction with the handle “DCReavers2” to register user accounts on a half-dozen English-language cybercrime forums since 2008, including Hackforums, Blackhatworld, and Ghostmarket.

Perhaps the earliest and most important cybercrime forum DCReavers2 frequented was Darkode, where he was among the first two-dozen members. Darkode was taken down in 2015 as part of an FBI investigation sting operation, but screenshots of the community saved by this author show that DCReavers2 was already well known to the Darkode founders when his membership to the forum was accepted in May 2009.

DCReavers2 was just the 22nd account to register on the Darkode cybercrime forum.

Most of DCReavers’s posts on Darkode appear to have been removed by forum administrators early on (likely at DCReavers’ request), but the handful of posts that survived the purge show that more than a decade ago DCReavers2 was involved in running botnets, or large collections of hacked computers.

“My exploit pack is hosted there with 0 problems,” DCReaver2 says of a shady online provider that another member asked about in May 2010.

Searching the Web on “DCreavers2” brings up a fascinating chat conversation allegedly between DCReavers2 and an individual in Australia who was selling access to an “exploit kit,” commercial crimeware designed to be stitched into hacked or malicious sites and exploit a variety of Web-browser vulnerabilities for the purposes of installing malware of the customer’s choosing.

In that 2009 chat, indexed by the researchers behind the website exposedbotnets.com, DCReavers2 uses the Dark_Cl0ud6 email address and actually shares his real name as Matthew Philbert. DCReavers2 also says his partner uses the nickname “The Rogue,” which corresponds to a former Darkode administrator who was the second user ever registered on the forum (see screenshot above).

In that same conversation, DCReavers2 discusses managing a botnet built on ButterFly Bot. Also known as “Mariposa,” ButterFly was a plug-and-play malware strain that allowed even the most novice of would-be cybercriminals to set up a global operation capable of harvesting data from thousands of infected PCs, and using the enslaved systems for crippling attacks on Web sites. The ButterFly Bot kit sold for prices ranging from $500 to $2,000.

An advertisement for the ButterFly Bot.

The author of ButterFly Bot — Slovenian hacker Matjaz “Iserdo” Skorjanc — was Darkode’s original founder back in 2008. Arrested in 2010, Skorjanc was sentenced to nearly five years in prison for selling and supporting Mariposa, which was used to compromise millions of Microsoft Windows computers.

Upon release from prison, Skorjanc became chief technology officer for NiceHash, a cryptocurrency mining service. In December 2017, $52 million worth of Bitcoin mysteriously disappeared from NiceHash coffers. In October 2019, Skorjanc was arrested in Germany in response to a U.S.-issued international arrest warrant for his extradition.

The indictment (PDF) tied to Skorjanc’s 2019 arrest also names several other alleged founding members of Darkode, including Thomas “Fubar” McCormick, a Massachusetts man who was allegedly one of the last administrators of Darkode. Prosecutors say McCormick also was a reseller of the Mariposa botnet, the ZeuS banking trojan, and a bot malware he allegedly helped create called “Ngrbot.” The U.S. federal prosecution against Skorjanc and McCormick is ongoing.

At the time the FBI dismantled Darkode in 2015, the Justice Department said that out of 800 or so crime forums worldwide, Darkode was the most sophisticated English-language forum, and that it represented “one of the gravest threats to the integrity of data on computers in the United States and around the world.”

Some of Darkode’s core members were either customers or sellers of various “locker” kits, which were basically web-based exploits that would lock the victim’s screen into a webpage spoofing the FBI or Justice Department and warning that victims had been caught accessing child sexual abuse material. Victims who agreed to pay a “fine” of several hundred dollars worth of GreenDot prepaid cards could then be rid of the PC locker program.

A 2012 sales thread on Darkode for Rev Locker.

In many ways, lockers were the precursors to the modern cybercrime scourge we now know as ransomware. The main reason lockers never took off as an existential threat to organizations worldwide was that there is only so much money locker users could reasonably demand via GreenDot cards.

But with the ascendance and broader acceptance of virtual currencies like Bitcoin, suddenly criminal hackers could start demanding millions of dollars from victims. And it stands to reason that a great many Darkode members who were never caught have since transitioned from lockers, exploit kits and GreenDot cards to doing what every other self-respecting cybercrook seems to be involved with these days: Locking entire companies and industries for ransomware payments.

One final observation about the Philbert indictment: It’s good to see the Canadian authorities working closely with the FBI on important cybercrime cases. Indeed, this investigation is remarkable for that fact alone. For years I’ve been wondering aloud why more American cybercriminals don’t just move to Canada, because historically there has been almost no probability that they will ever get caught — let alone prosecuted there. With any luck, this case will be the start of something new.

from Krebs on Security https://ift.tt/3ESCxJz
via IFTTT

Android 12L Beta 1 ya está aquí: estas son las novedades y dispositivos compatibles

Android 12L Beta 1 ya está aquí: estas son las novedades y dispositivos compatibles

Mientras la mayoría de dispositivos esperan la actualización a Android 12 vemos como Google ya está trabajando en su próxima versión. A finales del pasado mes de octubre la compañía anunciaba Android 12L, la versión del sistema operativo adaptada a pantallas más grandes, lanzando su primera vista previa en el emulador Android Studio prometiendo que en diciembre llegaría la beta a los primeros dispositivos, y así ha sido.

Google ha lanzado Android 12L Beta en una selección de dispositivos para que podamos probar ya en móviles y tablets reales las novedades que nos ofrecerá esta versión de Android 12 mejorada y optimizada para tablets y plegables.


Continue reading

NetBeans 12.6 ya fue liberado y estas son sus novedades

La Apache Software Foundation Organization dió a conocer el lanzamiento de la nueva versión del entorno de desarrollo integrado para Apache NetBeans 12.6, en la cual se han realizado una serie de mejoras y cambios.

Para quienes desconocen de NetBeans, deben saber que este es un IDE bastante popular que proporciona soporte para lenguajes de programación Java SE, Java EE, PHP, C/C ++, JavaScript y Groovy, siendo esta la séptima versión realizada por Apache Foundation desde que Oracle donó el código NetBeans.

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java y que además cuenta con un número importante de módulos para extenderlo. NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento.

Principales novedades de NetBeans 12.6

Entre los cambios propuestos que se destacan de esta nueva versión de NetBeans 12.6 podremos encontrar que para los desarrolladores de Java, la finalización de código se ha mejorado para las declaraciones y variables de clase anónimas con la palabra clave «record».

Además de que se agregó soporte preliminar para la coincidencia de patrones en expresiones de cambio. El código URL se proporciona con un enlace a las plantillas utilizadas.

También se destaca que se ha actualizado a la versión 1.8 NetBeans el compilador integrado de Java nb-javac (javac modificado) con soporte agregado para JDK 17 y también con soporte agregado para javadoc 17.

Por otra parte se se destaca que se ha mejorado el soporte para el sistema de compilación Gradle y el kit de herramientas de Gradle se ha actualizado a la versión 7.3 con soporte para Java 17.

Además se proporciona el reconocimiento de directorios con código Kotlin y se ha propuesto un nuevo asistente de proyectos para Gradle. La plantilla del proyecto Java Frontend se ha actualizado para admitir Gradle 7.

Se implementó la capacidad de usar Support Maven Wrapper (mvnw) en proyectos.

Se ha propuesto un nuevo Cargador de clases de transformación en caché para Groovy, se ha proporcionado la verificación de tipo de atributo estático en AST y el rendimiento del análisis se ha mejorado significativamente al cargar clases desde el sistema de archivos.

Se han realizado una gran cantidad de correcciones y mejoras relacionadas con el uso de servidores Language Server Protocol (LSP) para el análisis de código y el reconocimiento de sintaxis.

Para PHP, se ha agregado soporte para espacios de nombres a las plantillas, se ha agregado protección contra la inserción de la expresión «use» en la posición incorrecta , se han proporcionado herramientas de refactorización para propiedades de rasgos privados , se ha agregado soporte para el estándar de formato de código PSR-12 .

El editor HTML ha mejorado la compatibilidad con SCSS, ha agregado una opción para completar los valores de la paleta de colores e implementó la capacidad de ignorar bloques al reformatear CSS.

Los editores de mecanografiado y cpplite se han movido para usar el módulo MultiViews para la visualización correcta de pestañas en la interfaz.

De los demás cambios que se destacan de esta nueva versión:

  • Se implementó la capacidad de usar Support Maven Wrapper (mvnw) en proyectos.
  • Problemas resueltos con UTF-8.
  • Mejoras en el depurador.
  • Rendimiento de depuración remota mejorado.
  • Se agregó la capacidad de personalizar el directorio de trabajo actual y las variables de entorno.
  • Analizador mejorado para formato YAML.
  • Búsqueda mejorada de preprocesador de anotaciones.

Finalmente si quieres conocer más al respecto de esta nueva versión, puedes consultar los detalles en el siguiente enlace.

¿Cómo instalar NetBeans 12.6 en Linux?

Para aquellos que quieran obtener esta nueva versión deben descargar el código fuente de la aplicación la cual podrán obtener desde el siguiente enlace.

Una vez que tengas todo instalado entonces, descompriman el archivo recién descargado en un directorio de su agrado.

Y desde la terminal vamos a ingresar a este directorio y luego ejecuten:

ant

Para construir el IDE de Apache NetBeans. Una vez construido puedes ejecutar el IDE escribiendo

./nbbuild/netbeans/bin/netbeans

También existen otros métodos de instalación con los cuales se pueden apoyar, uno de ellos es con ayuda de los paquetes Snap.

Solo deben contar con el soporte para poder instalar este tipo de paquetes en su sistema. Para realizar la instalación por este método deben teclear el siguiente comando:

sudo snap install netbeans --classic

Otro de los métodos es con ayuda de los paquetes de Flatpak, por lo que deben contar con el soporte para instalar estos paquetes en su sistema.

El comando para realizar la instalación es el siguiente:

flatpak install flathub org.apache.netbeans

from Linux Adictos https://ift.tt/3DJ0m5a
via IFTTT