{"id":122969,"date":"2025-03-25T10:22:42","date_gmt":"2025-03-25T08:22:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz"},"modified":"2025-03-25T10:22:42","modified_gmt":"2025-03-25T08:22:42","slug":"v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz","title":{"rendered":"NixOS apresenta m\u00e9todo de prote\u00e7\u00e3o contra inje\u00e7\u00f5es de backdoors, como no XZ","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Para inclus\u00e3o no reposit\u00f3rio de pacotes nixpkgs, utilizado na distribui\u00e7\u00e3o NixOS, foi proposto um modo de compila\u00e7\u00e3o repet\u00edvel, que permite identificar casos de inje\u00e7\u00e3o de backdoors no c\u00f3digo, semelhante ao incidente com o projeto XZ. O m\u00e9todo de prote\u00e7\u00e3o apresentado permite detectar modifica\u00e7\u00f5es nos arquivos de c\u00f3digo-fonte de lan\u00e7amentos que n\u00e3o est\u00e3o presentes nos reposit\u00f3rios de c\u00f3digo.    <\/p>\n<p>A ess\u00eancia do m\u00e9todo \u00e9 que o c\u00f3digo-fonte da nova vers\u00e3o do aplicativo \u00e9 compilado duas vezes \u2014 a primeira a partir do c\u00f3digo carregado do reposit\u00f3rio git e a segunda a partir do c\u00f3digo distribu\u00eddo em arquivos preparados. Se os arquivos bin\u00e1rios resultantes das compila\u00e7\u00f5es diferirem, surge uma suspeita de modifica\u00e7\u00f5es ocultas no reposit\u00f3rio ou no arquivo de c\u00f3digo.     <\/p>\n<p>Lembramos que, no caso do projeto XZ, o reposit\u00f3rio de c\u00f3digo n\u00e3o continha altera\u00e7\u00f5es suspeitas. Os componentes maliciosos que formavam o backdoor eram fornecidos dentro de arquivos usados no conjunto de testes para verificar a corre\u00e7\u00e3o do funcionamento do descompactador XZ. O backdoor era ativado no n\u00edvel do sistema de compila\u00e7\u00e3o, e o pr\u00f3prio c\u00f3digo-fonte do XZ coincidia com o c\u00f3digo do reposit\u00f3rio. Os macros m4 que ativavam o backdoor para a ferramenta Automake foram inclu\u00eddos apenas no arquivo pronto com o c\u00f3digo e estavam ausentes no reposit\u00f3rio.     <\/p>\n<p>O backdoor no XZ foi inserido por um invasor que conseguiu o status de mantenedor do projeto. A inje\u00e7\u00e3o do backdoor foi imediatamente n\u00e3o percebida uma vez que as distribui\u00e7\u00f5es, em sua maioria, comp\u00f5em pacotes carregando o c\u00f3digo de arquivos prontos, pois ao carregar o c\u00f3digo para a compila\u00e7\u00e3o pode-se utilizar apenas uma soma de verifica\u00e7\u00e3o para verificar a integridade do arquivo do arquivo e usar espelhos. A aten\u00e7\u00e3o principal ao verificar o c\u00f3digo est\u00e1 concentrada na an\u00e1lise do conte\u00fado do reposit\u00f3rio, portanto, diferen\u00e7as n\u00e3o \u00f3bvias nos arquivos nem sempre podem ser detectadas imediatamente.    <\/p>\n<p>Para simplificar a verifica\u00e7\u00e3o da conformidade entre arquivos de arquivos e cortes do reposit\u00f3rio, correspondentes a lan\u00e7amentos, alguns projetos de c\u00f3digo aberto, como PostgreSQL, implementaram um sistema de gera\u00e7\u00e3o repet\u00edvel de arquivos. Nesse caso, \u00e9 fornecido um conjunto de ferramentas que permite compilar seu pr\u00f3prio arquivo a partir do c\u00f3digo, correspondendo exatamente ao arquivo dispon\u00edvel para download. Se o arquivo criado de forma independente e o arquivo fornecido pelo projeto principal diferirem \u2014 h\u00e1 uma indica\u00e7\u00e3o de comprometimento do reposit\u00f3rio ou do arquivo de refer\u00eancia.    <\/p>\n<p>O problema \u00e9 que esse m\u00e9todo \u00e9 praticado apenas em casos isolados, enquanto muitos projetos continuam a incluir artefatos adicionais nos arquivos de archive que est\u00e3o ausentes no reposit\u00f3rio principal, como p\u00e1ginas man, documenta\u00e7\u00e3o, exemplos, scripts de cria\u00e7\u00e3o de pacotes para distribui\u00e7\u00f5es e arquivos adicionais de constru\u00e7\u00e3o. Isso acontece principalmente por raz\u00f5es hist\u00f3ricas e pelas caracter\u00edsticas dos processos de forma\u00e7\u00e3o de lan\u00e7amentos. Uma simples verifica\u00e7\u00e3o da conformidade entre o conte\u00fado do reposit\u00f3rio e o arquivo nesse caso n\u00e3o \u00e9 adequada.     <\/p>\n<p>Como solu\u00e7\u00e3o, foi proposto compilar arquivos bin\u00e1rios de lan\u00e7amento tanto a partir do reposit\u00f3rio (por exemplo, pode-se usar o arquivo gerado automaticamente no GitHub para a tag de lan\u00e7amento) quanto a partir do arquivo preparado pelo mantenedor, comparando em seguida os resultados. Como experimento, a inclus\u00e3o de tal verifica\u00e7\u00e3o foi proposta apenas para o pacote \u00abxz\u00bb. Se o experimento for bem-sucedido, as verifica\u00e7\u00f5es dever\u00e3o ser utilizadas tamb\u00e9m em outros pacotes no nixpkgs.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62933\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 nixpkgs, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 NixOS, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c XZ. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0430, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u0441 \u043a\u043e\u0434\u043e\u043c. \u0421\u0443\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u0432\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-122969","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 nixpkgs, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 NixOS, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c XZ.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 NixOS \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0432 XZ | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 nixpkgs, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 NixOS, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c XZ.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-03-25T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-25T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Em NixOS, foi proposto um m\u00e9todo de prote\u00e7\u00e3o contra a inser\u00e7\u00e3o de backdoors, como no caso do XZ | ProHoster","description":"Para inclus\u00e3o no reposit\u00f3rio de pacotes nixpkgs, usado na distribui\u00e7\u00e3o NixOS, foi proposto um modo de builds repet\u00edveis que permite identificar casos de inser\u00e7\u00e3o de backdoors no c\u00f3digo, semelhante ao incidente com o projeto XZ.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 NixOS \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0432 XZ | ProHoster","og:description":"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 nixpkgs, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 NixOS, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434 \u0431\u044d\u043a\u0434\u043e\u0440\u043e\u0432, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c XZ.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/v-nixos-predlozhen-metod-zashhity-ot-podstanovki-bekdorov-takih-kak-v-xz","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-03-25T08:22:42+00:00","article:modified_time":"2025-03-25T08:22:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"122969","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 11:34:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 11:34:09","updated":"2026-01-23 11:34:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/122969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=122969"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/122969\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=122969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=122969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=122969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}