Fortalecimento Simplificado de Aplicações HarmonyOS NEXT: AI Agent Impulsionando o Desenvolvimento Seguro
Diante de um problema de crash profundo durante o processo de fortalecimento de aplicações HarmonyOS NEXT, a equipe da 360 Tianyu, utilizando um AI Agent, completou um ciclo de alta intensidade técnica desde a identificação da anomalia até a causa raiz. O problema envolveu a análise da estrutura de arquivos ABC, a cadeia de ferramentas de descompilação, a verificação de offsets binários e a lógica de processamento de negócios, abrangendo várias camadas inferiores. A complexidade da investigação, o alto nível técnico exigido e a dificuldade de localização manual eram enormes, e os métodos tradicionais geralmente exigiam um grande investimento de tempo em verificações repetidas e comparações cruzadas.
Após o envolvimento profundo do AI Agent na análise do problema, ele rapidamente identificou a cadeia de chamadas crítica GetProtoIndex, auxiliou na geração de código de logging para investigação, analisou continuamente as saídas anormais e os dados hexadecimais, e identificou ainda a anomalia proto_idx, o desalinhamento do offset do método, a falha na análise de SOURCE_FILE(tag=7) no template abc12.bt do 010editor e a omissão do tratamento de tag=7 no código de negócios de fortalecimento. Isso impulsionou a correção tanto do BUG no template quanto do BUG no negócio. Isso não apenas demonstra a profunda capacidade da equipe Tianyu em defesa e ataque de baixo nível em segurança HarmonyOS, mas também demonstra plenamente o valor prático do AI Agent em cenários complexos de desenvolvimento de segurança, como "acelerar a localização, auxiliar na tomada de decisões e ampliar a capacidade dos especialistas".
"Use mais o Agent para fazer as coisas, use menos a IA diretamente para obter resultados, para evitar a perda da capacidade de pensar."
Resultado: Correção do BUG no template 010editor abc12.bt; Correção do BUG de negócio;
A solução de fortalecimento automatizado de aplicações HarmonyOS da 360 Tianyu é a única solução de fortalecimento com um clique do setor. Este sistema protege automaticamente os arquivos ABC e integra a capacidade de autoproteção em tempo de execução dentro da aplicação RASP (Runtime Application Self-Protection). Ao integrar verificação de assinatura (prevenção de reembalagem e adulteração), detecção de ambiente VPN (prevenção de captura de pacotes de rede), criptografia de strings (ocultação de informações sensíveis) e prevenção de vazamento de logs (prevenção de vazamento de logs de depuração e informações sensíveis), combinado com funções avançadas de proteção, como anti-depuração, detecção de emulador, detecção de Hook e detecção de Root, constrói um sistema de proteção de segurança multicamadas e de cadeia completa para garantir a segurança da aplicação antes da publicação.
A equipe da 360 Tianyu está acelerando em direção à inteligência total no desenvolvimento de segurança, capacitando profundamente o combate prático de segurança com tecnologias inteligentes de ponta, aprofundando continuamente os cenários principais de combate ao mercado negro, focando em caminhos de ataque de baixo nível, detalhes críticos de ataque e defesa e tendências de evolução de risco, para criar capacidades de proteção de segurança inteligentes mais ágeis, precisas e prospectivas. Ao construir um sistema de segurança de cadeia completa que cobre monitoramento, análise, resposta e fortalecimento, a Tianyu garante a segurança dos negócios, a reputação da marca e a confiança do usuário com uma força técnica mais poderosa.
Contexto: Um cliente relatou um crash após usar o fortalecimento de aplicação HarmonyOS com um clique. Ao obter o modules.abc da aplicação (arquivo central de tempo de execução da aplicação), verificou-se que ele havia sido reestruturado em um arquivo defeituoso após o fortalecimento.
A descompilação do modules.abc fortalecido usando ark_disasm falhou, com a seguinte mensagem de erro. Ao ver esta mensagem, pode-se ficar perdido. Não importa, estamos na era da IA. Deixe a IA resolver isso. Cole o erro diretamente no Agent.
Impressão mais direta:
Aparentemente correto, mas não encontra a causa raiz.
Os especialistas técnicos da 360 mudaram a abordagem. Por que não entender primeiro a lógica de chamada de GetProteIndex com base no código fonte? Se isso fosse analisado por humanos, seria muito mais lento. Veja como a IA analisa.
Prompt:
Analise a cadeia de chamadas de GetProtoIndex e o arquivo em que está.
Encontrar apenas a fonte da chamada não é suficiente, é necessário inserir alguns logs no código e recompilar o ark_disasm para facilitar a investigação. Em seguida, deixe o Agent inserir logs de forma inteligente para nos ajudar a investigar o problema.
Prompt:
Preciso imprimir logs para determinar qual método está causando o problema, ajude-me a confirmar onde devo inserir os logs e imprimir a classe e o método em que está.
O código gerado é o seguinte:
Após duas otimizações pela IA, foi gerado um código compilável.
Em 2 minutos.
Acesse o sistema Ubuntu, compile o código fonte e gere um novo ark_disasm.
Após executar novamente o ark_disasm,
É exibida a mensagem F/pandafile: Invalid file offset, from method: GetSpanFromId.
É óbvio que o código recém-inserido interrompeu a análise do arquivo ABC prematuramente, impedindo a impressão do nome do método ou da classe. Como o arquivo ABC reestruturado tem um offset incorreto em algum lugar. Portanto, remova a impressão do nome do método e da classe, imprima apenas o offset (methodID) e recompila o ark_disasm.
Continue transmitindo o conteúdo da linha de comando para o Agent.
Prompt:
method_id=0x84a9f7, class_id=0x0, proto_idx=6727, is_external=0
Após uma série de perguntas, finalmente foi dada a conclusão mais valiosa. O proto_idx normalmente deveria ser 0xFFFF, mas foi dado como 6727. Vamos abrir o 010editor para ver.
method_id=0x84a9f7 é o endereço inicial do método atual. Vamos primeiro transmitir o hexadecimal desta classe para o Agent.
Prompt:
45 4C 26 40 63 66 63 61 2F 63 66 63 61 2D 6C 6F 63 61 6C 68 6B 65 2F 49 6E 64 65 78 26 38 2E 36 2E 37 3B 00 00 00 00 00 01 06 01 02 02 07 00 7E 02 01 00 8A 66 1D 00 00 01 00 00 7E 02 01 00 CB B8 1E 00 00 01 00 00 7E 02 01 00 F3 ED 19 00 00 01 00 00 7E 02 01 00 A7 FA 18 00 00 01 00 00 7E 02 02 00 02 AA 25 00 00 02 F7 0B 3A 00 00 7E 02 02 00 38 AD 19 00 00 02 B7 0B 49 00 00 7E 02 FF FF 20 47 1A 00
A IA pode analisar corretamente este valor hexadecimal. E analisou que o proto_idx é 0xFFFF. Mas a situação real não é essa. Porque não foi informado o offset.
Prompt:
0x84a9f7 corresponde a 0xFF 0x20 0x47 0x1A no hexadecimal
Portanto, a questão mais crítica agora é, por que o offset está desalinhado ao analisar este método?
Onde o arquivo ABC reestruturado está errado?
Ao usar o abc12.bt padrão fornecido pelo 010editor para analisar o arquivo modules.abc original, ele foi interrompido na 634ª classe. Durante a investigação, atingiu-se uma área de desconhecimento. Consulte o Agent com dúvidas.
Prompt:
No class_data, os tag_value têm 0x38 e 0x2C, como isso é refletido no código?
Portanto, o tag de class_data não tem 0x38 e 0x2C. Ou seja, quando o tag é igual a 7, a análise do offset subsequente está errada. O problema provavelmente está no quadro verde na imagem abaixo. Neste momento, é necessário confirmar quantos bits o SOURCE_FILE ocupa.
Prompt:
Se 0x07 corresponde a SOURCE_FILE, quantos bits ocupa?
O erro de análise do template 010editor causou a interrupção na 634ª classe.
Correção do BUG: No quadro azul acima, altere uchar para uint, execute o template novamente e a análise será normal.
Reutilize o template corrigido para carregar o modules.abc fortalecido e localize que, quando o tag é igual a 7, o valor correspondente não foi gravado. Finalmente, investigue o código de negócios de fortalecimento e descubra que não há tratamento para o caso em que tag é igual a 7.
Prompt:
O problema foi resolvido, obrigado. A razão é que não há tratamento para o caso em que tag = 7
A solução de proteção de segurança de aplicações HarmonyOS da 360 Tianyu fornece serviços de detecção de conformidade de segurança e fortalecimento de segurança por meio de inovação tecnológica contínua e otimização profunda, cobrindo todo o ciclo de vida de desenvolvimento, teste, publicação e operação de aplicações HarmonyOS. Ao construir um mecanismo de proteção end-to-end desde o design da fonte até a manutenção contínua, forma um sistema de proteção de segurança em profundidade do ecossistema HarmonyOS.
Arquitetura da plataforma de fortalecimento de segurança de aplicações HarmonyOS da 360 Tianyu
Se precisar, entre em contato através do site oficial (tianyu.360.cn) ou envie um e-mail para 360jiagubao@360.cn. No futuro, continuaremos a aprofundar a cooperação técnica e a coordenação ecológica com o ecossistema HarmonyOS e, ao mesmo tempo, para as necessidades específicas de setores como finanças, saúde, educação e governo, nos concentraremos em cenários centrais do setor para criar vantagens de segurança diferenciadas, produzir e implementar soluções de aplicação HarmonyOS mais completas e injetar energia de segurança no desenvolvimento inovador da economia digital.
Este artigo foi traduzido de
[Link do Artigo Original]
Se for reimpresso, indique a fonte.
Para cooperação comercial e publicação de artigos, entre em contato com anquanke@360.cn
Este artigo foi publicado originalmente por
360 Tianyu
Para reimpressão, consulte
[Declaração de Reimpressão]
Indique a fonte:
[Link do Artigo]
Segurança KER - Nova mídia de segurança com ideias
Este artigo foi reimpresso de:
Se for reimpresso, indique a fonte:
Segurança KER - Nova mídia de segurança com ideias
Tags: segurança no desenvolvimento, app加固 (fortalecimento de app), 鸿蒙NEXT (HarmonyOS NEXT), 一键加固 (fortalecimento com um clique), AI助力 (assistência de IA), mobile应用 (aplicação mobile)





