\n0x9e1f<\/td>\n | \u9e1f<\/td>\n | p\u00e1jaro<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n Usando esta tabla, la l\u00ednea de c\u00f3digo<\/p>\n ''.join(map(getattr(__builtins__, oct.__str__()[-3 << 0] + hex.__str__()[-1 << 2] + copyright.__str__()[4 << 0]), [(((1 << 4) - 1) << 3) - 1, ((((3 << 2) + 1)) << 3) + 1, (7 << 4) - (1 << 1), ((((3 << 2) + 1)) << 2) - 1, (((3 << 3) + 1) << 1)]))
\n<\/code><\/pre>\ncrea la funci\u00f3n incorporada chr<\/code> y asigna la funci\u00f3n a la lista de enteros [119, 105, 110, 51, 50]<\/code>. Luego, la l\u00ednea la combina en una cadena que finalmente crea 'win32'<\/code>.<\/p>\nLos investigadores de Phylum explicaron:<\/p>\n \nPodemos ver una serie de este tipo de llamadas oct.__str__()[-3 << 0]<\/code>. El [-3 << 0]<\/code> eval\u00faa a [-3]<\/code> y oct.__str__()<\/code> eval\u00faa a la cadena '<built-in function oct>'<\/code>. Usando el operador de \u00edndice de Python []<\/code> en una cuerda con un -3<\/code> tomar\u00e1 el tercer car\u00e1cter desde el final de la cadena, en este caso '<built-in function oct>'[-3]<\/code> evaluar\u00e1 a 'c'<\/code>. Continuando con esto en los otros 2 aqu\u00ed nos da 'c' + 'h' + 'r'<\/code> y simplemente evaluando la compleja aritm\u00e9tica bit a bit a\u00f1adida al final nos deja con:<\/p>\n''.join(map(getattr(__builtins__, 'c' + 'h' + 'r'), [119, 105, 110, 51, 50]))<\/code><\/pre>\nEl getattr(__builtins__, 'c' + 'h' + 'r')<\/code> solo nos da la funci\u00f3n incorporada chr<\/code> y luego mapea chr<\/code> a la lista de enteros [119, 105, 110, 51, 50]<\/code> y luego lo une todo en una cadena que finalmente nos da 'win32'<\/code>. Esta t\u00e9cnica se contin\u00faa a lo largo de la totalidad del c\u00f3digo.<\/p>\n<\/blockquote>\nSi bien da la apariencia de un c\u00f3digo altamente ofuscado, la t\u00e9cnica en \u00faltima instancia es f\u00e1cil de derrotar, dijeron los investigadores, simplemente observando lo que hace el c\u00f3digo cuando se ejecuta.<\/p>\n El \u00faltimo lote de paquetes maliciosos intenta capitalizar los errores tipogr\u00e1ficos que cometen los desarrolladores al descargar uno de estos paquetes leg\u00edtimos:<\/p>\n \n- bitcoinlib<\/li>\n
- ccxt<\/li>\n
- criptocomparar<\/li>\n
- criptoalimentaci\u00f3n<\/li>\n
- comerciofrecuencia<\/li>\n
- selenio<\/li>\n
- solana<\/li>\n
- v\u00edbora<\/li>\n
- enchufes web<\/li>\n
- finanzas<\/li>\n
- pandas<\/li>\n
- matplotlib<\/li>\n
- aiohttp<\/li>\n
- hermosa sopa<\/li>\n
- tensorflow<\/li>\n
- selenio<\/li>\n
- raspado<\/li>\n
- colorama<\/li>\n
- scikit-aprender<\/li>\n
- antorcha<\/li>\n
- Pygame<\/li>\n
- pyinstaller<\/li>\n<\/ul>\n
Los paquetes que apuntan al paquete leg\u00edtimo de vyper, por ejemplo, usaron 13 nombres de archivo que omitieron o duplicaron un solo car\u00e1cter o transpusieron dos caracteres del nombre correcto:<\/p>\n \n- yper<\/li>\n
- vper<\/li>\n
- m\u00e1s<\/li>\n
- vipe<\/li>\n
- vvyper<\/li>\n
- vyyper<\/li>\n
- v\u00edbora<\/li>\n
- vipeer<\/li>\n
- vyperr<\/li>\n
- yvper<\/li>\n
- vpyer<\/li>\n
- vyepr<\/li>\n
- vypre<\/li>\n<\/ul>\n
\u201cEsta t\u00e9cnica es trivialmente f\u00e1cil de automatizar con un script (dejamos esto como un ejercicio para el lector), y a medida que aumenta la longitud del nombre del paquete leg\u00edtimo, tambi\u00e9n aumentan los posibles errores tipogr\u00e1ficos\u201d, escribieron los investigadores. \u201cPor ejemplo, nuestro sistema detect\u00f3 38 typosquats de la cryptocompare<\/code> paquete publicado casi simult\u00e1neamente por el usuario llamado pinigin.9494<\/code>.\u201d<\/p>\nLa disponibilidad de paquetes maliciosos en repositorios de c\u00f3digos leg\u00edtimos que se parecen mucho a los nombres de los paquetes leg\u00edtimos se remonta al menos a 2016, cuando un estudiante universitario subi\u00f3 214 paquetes con trampas explosivas a los repositorios PyPI, RubyGems y NPM que conten\u00edan nombres de paquetes leg\u00edtimos ligeramente modificados. . El resultado: el c\u00f3digo impostor se ejecut\u00f3 m\u00e1s de 45\u00a0000 veces en m\u00e1s de 17\u00a0000 dominios separados, y m\u00e1s de la mitad recibi\u00f3 derechos administrativos todopoderosos. Los llamados ataques de typosquatting han florecido desde entonces.<\/p>\n Los nombres de los 451 paquetes maliciosos que encontraron los investigadores de Phylum se incluyen en la publicaci\u00f3n del blog. No es una mala idea para cualquiera que tenga la intenci\u00f3n de descargar uno de los paquetes leg\u00edtimos seleccionados para verificar que no haya obtenido un doble malicioso sin darse cuenta.<\/p>\n<\/p><\/div>\n \n Source link-49<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"Recientemente se cargaron m\u00e1s de 400 paquetes maliciosos en PyPI (Python Package Index), el repositorio de c\u00f3digo oficial para el lenguaje de programaci\u00f3n Python, en la indicaci\u00f3n m\u00e1s reciente de…<\/p>\n","protected":false},"author":1,"featured_media":464831,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21980],"tags":[1089,9770,681,8,11574,739,37140,1126,956,6512],"_links":{"self":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/464830"}],"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=464830"}],"version-history":[{"count":1,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/464830\/revisions"}],"predecessor-version":[{"id":464832,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/posts\/464830\/revisions\/464832"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/media\/464831"}],"wp:attachment":[{"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/media?parent=464830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/categories?post=464830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magazineoffice.com\/wp-json\/wp\/v2\/tags?post=464830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
|