Artyom Moskovsky é um caçador de bagagens, penteado e segurança que imediatamente quer fazer a pergunta embaraçosa "quanto você ganha?" No ano passado, ele recebeu a maior recompensa da história da Valve - US $ 20 mil e US $ 25 mil para duas grandes vulnerabilidades no Steam e outros US $ 10 mil para bugs menores.
Nós nos correspondemos por vários dias, e Artem contou como ele começou a fazer suas próprias coisas, quais habilidades são necessárias para isso e se ele atrai esse talento para o lado sombrio.
Em 2006, quando eu tinha 9 anos, eu tinha o primeiro PC e decidi, sem saber, que iria girar em TI. Até o 10º ano, ele foi orientado para a programação. Depois, quando os primeiros sucessos apareceram no setor de informações, decidi que a segurança era mais interessante.
Tudo começou com um banal: era necessário criar um site para o clã no jogo Jedi Academy. Então a escolha recaiu sobre o bom e velho uCoz, mas a idéia de "tornar os sites legais" permaneceu. Eu olhei para os cursos "especializados" do PHP. Ao mesmo tempo, pendurou no antichat e em outros fóruns temáticos, lendo artigos sobre vulnerabilidades típicas. Foi apenas interessante.
Os anos se passaram, eu ainda estava em busca de mim mesmo e isso me levou à publicidade. Então eu usei uma grande rede de publicidade para arbitrar o tráfego. Bem, ao usá-lo, atualizei tristemente as estatísticas e fiquei desanimado com a falta de leads. Pelo que me lembro agora, meus olhos se voltaram para os parâmetros de data no pedido de estatísticas. Alguns movimentos graciosos dos dedos e uma janela modal aparece na janela do navegador - era XSS. Escrevi para o suporte e, depois de uma hora, meu saldo no site já estava mostrando US $ 300. Então, na 10ª série, depois de ganhar o primeiro dinheiro "sério", pensei - sim, esse é o meu tópico. Sobre essa acusação de motivação no mês seguinte, fiz dez vezes mais, ajudando os sites a anunciar em redes a se tornarem mais seguros.
Agora moro em Odessa, estudando na Odessa Polytechnic University, com especialização em Ciência da Computação. Mas minhas atividades na Internet não devem estar vinculadas a uma universidade. Ele não afetou isso particularmente. Por quase três anos, trabalho como pentester em tempo integral. Mas, para uma vida boa, caçar bagagens seria suficiente.
- Então você não arrancou o telhado da sua frieza? Porra, trabalho, eu vou fazer isso.- Não frustrou, mas ocorreu uma certa mudança. Sentia-se independente do sistema.
- Por que você foi estudar e trabalhar? Este é um sistema, e não é particularmente eficaz.- Uma coisa é fazer parte do sistema, outra coisa é depender dele. Universidade e trabalho são uma maneira fácil de encontrar pessoas e amigos com ideias semelhantes.
Em tempo integral, trabalho quatro dias por semana. Eu só procuro vulnerabilidades quando há um clima, pois fica bastante instável. Mas se você contar por um ano, os bugs aparecerão para ganhar muitas vezes mais.
- Você adormece com ofertas após suas histórias?Sim, as ofertas vêm. O último estava em uma boa empresa internacional para o cargo de especialista em segurança de aplicativos.
Em 2018, Artem encontrou uma vulnerabilidade no Steam. Ele gerou a injeção de SQL no banco de dados na página para parceiros e encontrou a oportunidade de baixar chaves para qualquer jogo.
Ele escreveu em detalhes sobre o processo aqui .
“Um arquivo foi gerado com 36.000 chaves para o jogo Portal 2. Uau.
Somente em um conjunto havia esse número de chaves. E todos os conjuntos no momento mais de 430.000. Assim, ao classificar os valores de keyid, um invasor em potencial pode baixar todas as chaves já geradas pelos desenvolvedores de jogos Steam »
“Após 5 horas, a vulnerabilidade foi corrigida, mas o status de triagem foi aceito após 8 horas e, caramba, para mim foram muito difíceis 3 horas pelas quais meu cérebro conseguiu sobreviver aos estágios, da negação à aceitação.
Como a vulnerabilidade não foi designada como aceita, eu acreditava que a linha ainda não havia atingido meu relatório. Mas eles corrigiram o erro, o que significa que eles poderiam tê-lo registrado antes de mim.
Agora, se você contar todo o dinheiro para as vulnerabilidades da Valve, receberá 55 mil. Penso em investir em algo, mas ainda não decidi.
"Qual é a coisa certa para chamar sua ocupação?"Baghanting. Os problemas surgem quando você tenta explicar às pessoas que não são de TI o que está fazendo. A palavra hacker é a mais próxima deles. Não me sinto confortável em dizer isso, porque, em minha opinião, essa palavra foi usada por crianças em idade escolar que ameaçavam violar sua VK ou calcular por IP. Portanto, minha resposta usual, "Bem, como um hacker", é acompanhada por um olhar estranho no chão.
- Que tipo de habilidade é necessária para isso?Entendendo como as coisas funcionam. O resultado da anterior será uma compreensão de quais vulnerabilidades podem estar em suas implementações. Eu gosto de caçar bagagens que tenho que lidar com diferentes tecnologias. Isso realmente expande seus horizontes em amplitude. Depois de um tempo, a experiência aparece, e você já está na sua cabeça, modelo de ameaças para o aplicativo em estudo.
Quase sempre eu uso Python porque é leve e bonito. Mas se você precisar de algum tipo de saída na web, recorro ao PHP. Agora, por exemplo, estou automatizando algumas tarefas de inteligência. A interface da web é executada localmente no PHP - saída e gerenciamento de tarefas, e as próprias tarefas são enviadas para os "agentes" do Python, hospedados em alguns VDSocs.
Às vezes, quando escrevo algo com pressa e não com segurança, posso me dar ao luxo de injetar injeções neste "produto", mas isso não é mais mimo.
- Você escolhe um alvo por um longo tempo?Eu gosto de procurar vulnerabilidades no que eu mesmo uso. Algum tipo de desafio é sentido, a motivação aparece. Às vezes você sabe que eles não pagam por isso, talvez nem respondam, mas é apenas interessante.
Se você escolher um programa público no X1 que pague bugs por vários anos, não deverá confiar no XSS no campo de pesquisa. Ou vá mais fundo onde a maioria não alcança, ou crie um vetor que a maioria não pensou.
Antes da história da Valve, Artem descreveu como encontrou uma vulnerabilidade em uma das piscinas para mineração conjunta de criptomoedas - exatamente no momento em que todos estavam loucos com blockchains e o crescimento de bitcoin.
Ele encontrou uma maneira de ignorar a identificação de dois fatores e tomar posse de qualquer conta no aplicativo. Para o relatório, Artem recebeu um bitcoin - na época, US $ 18.000. Pensar quanto custa para Artem agora é provavelmente mais doloroso do que a maioria de nós.
Atualizado: aqui estava um parágrafo com uma história sobre uma empresa grande e cara. Ele teve que ser removido, porque nem todas as empresas grandes e caras são gratas quando são apontadas para vulnerabilidades.
- Os mergulhos são difíceis?Eu não chamaria isso de falhas. O fracasso é quando você define uma meta: aqui vou ao Uber e encontro a RCE, eles pagam Stomilien. Na minha opinião, o objetivo correto é entender a infraestrutura da empresa, entender a funcionalidade do aplicativo da web, como suas partes interagem umas com as outras e verificar vários casos. Essa é uma tarefa completamente viável, que está na zona de sua influência. A presença de vulnerabilidade já está fora dessa zona, portanto, definir esse objetivo é, antes de tudo, zombar de si mesmo.
Se sinto que não tenho idéia de onde ir além, geralmente dou alguns dias para me distrair, relaxando. E então retorne com novas idéias ou passe para outro objetivo. A propósito, vale a pena procurar bugs apenas quando houver clima, forçar a si mesmo não é eficaz. Assim como em todo o resto.
- O que você acha de maneiras mais eficazes, técnicas ou sociais?Observando o que. Baghunters não são pagos por serviços sociais, talvez até punidos. Em ataques reais, ambos são usados.
- Um bom segurança deve ter experiência com hackers?Bem, se uma experiência hacker não é condicional em 2 anos, mas a capacidade de relaxar as injeções e encontrar o XSS, então sim. Bom, acho que deveria.
- Seu trabalho é uma coisa, onde funcionou ou não. Ou pode ser feito qualitativamente e mal?- Se você quer dizer pentest, então sim, pode fazê-lo qualitativamente, mas não pode. Os critérios dependem da situação: desde o design do relatório e a integridade das recomendações, até o número de vulnerabilidades e sua criticidade.
- Você vê a segurança como inimiga ou como colega?- Como colegas. Eu me considero um cofre.
- Você se sente superior aos desenvolvedores convencionais?Os desenvolvedores são diferentes. Definitivamente, me sinto superior àqueles que concatenam a entrada do usuário com uma consulta SQL. E se pegarmos toda a esfera, é difícil dizer, porque sou, de um jeito ou de outro, ator em ambos.
De tempos em tempos, penso em criar e desenvolver meus próprios serviços e ferramentas interessantes no campo da segurança da informação. Portanto, muitas vezes estou apenas no processo de "criar". Até agora, tudo é para mim, mas talvez o mundo veja minhas criações.
O que eu faria se o mundo fosse fantástico e a segurança deixasse de ser necessária? Eu escolheria trabalhar no Uber e no YandexTaxi.
Mas, falando sério, minhas habilidades seriam suficientes para trabalhar como programador comum. Em geral, não vejo dificuldade em encontrar um emprego em TI; se você já tem algum tipo de horizonte, simplesmente aprofunda seu conhecimento no que é mais interessante.
- Se você estivesse escrevendo um programa de treinamento para hackers / caçadores de bagagens, que assuntos haveria?Programação Inglês - todas as informações relevantes em inglês. Literatura - leitura de relatórios de X1. Anonimato. Educação física - no caso de Pativen, se for ruim com o anonimato. Certo - se ruim com educação física.
- Vi nos comentários que lhe perguntaram por que você não está indo para o lado sombrio. Se você não ri, então realmente - por quê?Sono tranquilo e harmonia interior são mais importantes que qualquer dinheiro.
"Se você atravessasse, seria um bom criminoso?"Sim, eu pegaria dos ricos e os daria aos pobres. Se algum dia eu for pego com tesão, provavelmente, sem sucesso e sem anonimamente, relatei um bug a uma empresa que não possui uma recompensa oficial e não responde bem à ajuda externa. Bem, se eu sou um bom criminoso, você não saberá disso.