𝗛𝗼𝗷𝗲 𝗲𝘀𝘁𝗮𝗺𝗼𝘀 𝗮 𝗻𝗼𝘃𝗮𝗿 𝗼 𝗖𝗵𝗲𝗰𝗸𝗲𝗿 𝗱𝗲 𝗩𝗶𝗼𝗹𝗮𝗰̧𝗮𝗼 𝗔𝘁𝗼𝗺𝗶𝗰𝗶𝘁𝘆: O nosso quarto verificador Rust na série em andamento de tópicos Chain-Fox sobre concorrência e questões de segurança em projetos Rust. Erros sutis de concorrência podem minar silenciosamente os seus sistemas. A nossa próxima ferramenta traz esses problemas à luz. Isto marca a continuação da nossa análise aprofundada dos verificadores Chain-Fox para Rust.🧵
𝗤𝘂𝗲 𝗳𝗮𝘇 𝗲𝘀𝘁𝗲 𝗰𝗵𝗲𝗰𝗸𝗲𝗿 Ele detecta potenciais condições de corrida causadas por operações atómicas intercaladas em programas Rust multi-threaded. Operações atómicas que parecem seguras isoladamente podem violar a lógica quando combinadas sem a devida sincronização.
𝗢 𝗽𝗿𝗼𝗯𝗹𝗲𝗺 Quando múltiplas operações atómicas acedem à mesma variável, e esses acessos são intercalados por operações atómicas de outro thread, isso pode quebrar os invariantes do programa. Isto resulta em bugs lógicos que são difíceis de reproduzir e ainda mais difíceis de depurar.
𝗣𝗼𝗿𝗾𝘂𝗲 𝗲́ 𝗳𝗼𝗿𝗺𝗮 𝗱𝗲 𝗮𝗰𝗼𝗿𝗱𝗼 Esses bugs não travam o seu programa Eles fazem com que ele se comporte de forma incorreta Em sistemas de blockchain ou aplicações concorrentes, isso pode levar a mensagens perdidas, consenso quebrado ou estado obsoleto.
𝗖𝗼𝗺𝗼 𝗼 𝗰𝗵𝗲𝗰𝗸𝗲𝗿 𝗳𝗮𝗯𝗿𝗶𝗰𝗮 O Verificador de Violação de Atomicidade analisa a Representação Intermediária de Nível Médio (MIR) do seu código Rust Ele identifica padrões onde operações atômicas carecem de sincronização adequada Ele reporta: • Os tipos das operações atômicas • Os locais do código onde ocorrem
𝗜𝗺𝗽𝗮𝗰𝘁𝗼 𝗻𝗼 𝗺𝗼𝗻𝗱𝗼 𝗿𝗲𝗮𝗹 Isto não é apenas teoria. Aqui está um bug que descobrimos no parity-ethereum 𝗙𝗶𝘅𝗮𝗻𝗱𝗼 𝗮 𝗳𝗼𝗿𝗺𝗮𝗰𝗶𝗼𝗻𝗮𝗹 𝗮𝘁𝗼𝗺𝗶𝗰𝗶𝘁𝘆 𝗻𝗼 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁𝗼-𝗽𝗲𝗿-𝗽𝗮𝗿𝗮𝗺𝗲𝘁𝗿𝗼 𝗽𝗼𝗿 𝗖𝗵𝗮𝗶𝗻-𝗙𝗼𝘅 · Pull Request #11277 openethereum/parity-ethereum
𝗣𝗼𝗿𝗾𝘂𝗲 𝗲́ 𝗰𝗿𝘂𝗰𝗶𝗮𝗹 𝗽𝗮𝗿𝗮 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗮𝗱𝗼𝗿𝗲𝘀 𝗲𝗺 𝗥𝘂𝘀𝘁 • Rust oferece segurança de memória, mas a concorrência continua a ser um campo minado lógico • Operações atômicas podem interagir silenciosamente entre threads • O nosso verificador captura o que o compilador não consegue Construa código concorrente correto com confiança.
𝗔𝗵𝗮 𝗳𝗮𝘇𝗲𝗺𝗼𝘀 𝗮𝗵𝗼𝗿𝗮 𝗼𝗯𝗿𝗮𝗻𝗱𝗼 𝗾𝘂𝗮𝘁𝗿𝗼 𝗰𝗵𝗲𝗰𝗸𝗲𝗿𝘀 𝗱𝗼 𝗥𝘂𝘀𝘁 𝗻𝗼 𝘀𝘂𝗶𝘁𝗲 𝗖𝗵𝗮𝗶𝗻-𝗙𝗼𝘅 • Verificador Double-Lock • Verificador Conflict-Lock • Verificador de Uso Incorreto de Condvar • Verificador de Violação de Atomicidade Mais estão a caminho. Vamos cobrir o próximo no nosso próximo tópico.
Mostrar original
87
4,79 mil
O conteúdo apresentado nesta página é fornecido por terceiros. Salvo indicação em contrário, a OKX não é o autor dos artigos citados e não reivindica quaisquer direitos de autor nos materiais. O conteúdo é fornecido apenas para fins informativos e não representa a opinião da OKX. Não se destina a ser um endosso de qualquer tipo e não deve ser considerado conselho de investimento ou uma solicitação para comprar ou vender ativos digitais. Na medida em que a IA generativa é utilizada para fornecer resumos ou outras informações, esse mesmo conteúdo gerado por IA pode ser impreciso ou inconsistente. Leia o artigo associado para obter mais detalhes e informações. A OKX não é responsável pelo conteúdo apresentado nos sites de terceiros. As detenções de ativos digitais, incluindo criptomoedas estáveis e NFTs, envolvem um nível de risco elevado e podem sofrer grandes flutuações. Deve considerar cuidadosamente se o trading ou a detenção de ativos digitais é adequado para si à luz da sua condição financeira.