Práticas recomendadas para código seguro

No Azure Machine Learning, você pode carregar arquivos e conteúdo de qualquer fonte no Azure. O conteúdo nos blocos de anotações ou scripts do Jupyter que você carrega pode potencialmente ler dados de suas sessões, acessar dados confidenciais em sua organização no Azure ou executar processos mal-intencionados em seu nome.

Importante

Execute apenas blocos de anotações ou scripts de fontes confiáveis. Por exemplo, onde você ou sua equipe de segurança revisaram o bloco de anotações ou o script.

Ameaças potenciais

O desenvolvimento com o Azure Machine Learning geralmente envolve ambientes de desenvolvimento baseados na Web, como blocos de anotações ou o estúdio do Azure Machine Learning. Quando você usa ambientes de desenvolvimento baseados na Web, as ameaças potenciais são:

  • Scripts entre sites (XSS)

    • Injeção de DOM: esse tipo de ataque pode modificar a interface do usuário exibida no navegador. Por exemplo, alterando como o botão Executar se comporta em um Bloco de Anotações Jupyter.
    • Token de acesso ou cookies: os ataques XSS também podem acessar o armazenamento local e os cookies do navegador. Seu token de autenticação do Microsoft Entra é armazenado no armazenamento local. Um ataque XSS pode usar esse token para fazer chamadas de API em seu nome e, em seguida, enviar os dados para um sistema externo ou API.
  • Cross-site request forgery (CSRF): este ataque pode substituir o URL de uma imagem ou link com o URL de um script ou API mal-intencionado. Quando a imagem é carregada ou o link clicado, é feita uma chamada para o URL.

Blocos de anotações do estúdio do Azure Machine Learning

O estúdio do Azure Machine Learning fornece uma experiência de bloco de anotações hospedado em seu navegador. As células de um bloco de notas podem produzir documentos HTML ou fragmentos que contenham código malicioso. Quando a saída é renderizada, o código pode ser executado.

Ameaças possíveis:

  • Scripts entre sites (XSS)
  • Falsificação de solicitação entre sites (CSRF)

Atenuações fornecidas pelo Azure Machine Learning:

  • A saída da célula de código é colocada em área restrita em um iframe. O iframe impede que o script acesse o DOM pai, cookies ou armazenamento de sessão.
  • O conteúdo da célula Markdown é limpo usando a biblioteca dompurify. Isso impede que scripts mal-intencionados sejam executados com células de markdown renderizadas.
  • URL de imagem e links de marcação são enviados para um ponto de extremidade de propriedade da Microsoft, que verifica se há valores mal-intencionados. Se um valor mal-intencionado for detetado, o ponto de extremidade rejeitará a solicitação.

Ações recomendadas:

  • Verifique se confia no conteúdo dos ficheiros antes de os carregar para o estúdio. Tem de reconhecer que está a carregar ficheiros fidedignos.
  • Ao selecionar um link para abrir um aplicativo externo, você será solicitado a confiar no aplicativo.

Instância de computação do Azure Machine Learning

A instância de computação do Azure Machine Learning hospeda o Jupyter e o JupyterLab. Quando você usa qualquer um deles, o código dentro das células do bloco de anotações pode gerar documentos HTML ou fragmentos que contenham código mal-intencionado. Quando a saída é renderizada, o código pode ser executado. As mesmas ameaças se aplicam quando você usa o RStudio ou o Posit Workbench (anteriormente RStudio Workbench) hospedado em uma instância de computação.

Ameaças possíveis:

  • Scripts entre sites (XSS)
  • Falsificação de solicitação entre sites (CSRF)

Atenuações fornecidas pelo Azure Machine Learning:

  • Nenhum. Jupyter e JupyterLab são aplicativos de código aberto hospedados na instância de computação do Azure Machine Learning.

Ações recomendadas:

  • Verifique se confia no conteúdo dos ficheiros antes de os carregar. Tem de reconhecer que está a carregar ficheiros fidedignos.

Comunicar problemas ou preocupações de segurança

O Azure Machine Learning é elegível ao abrigo do Programa de Recompensas do Microsoft Azure. Para mais informações, visite https://www.microsoft.com/msrc/bounty-microsoft-azure.