This process is subject to change. Please refer to this page for the current VRP.
This page was last updated April 2023.
Researchers: during your study and network testing, we ask that you refrain from the following: - Performing active exploits or Denial of Service attacks on the I2P network - Performing social engineering on I2P team and community members - Performing any physical or electronic attempts against I2P property and/or data centers
As I2P is an open-source community, many volunteers and development team members run their own I2P Sites as well as public (“non-private internet”) domains. These sites/servers are NOT in the scope of the vulnerability assessment / response process, only the underlying code of I2P is.
I. Point of Contact for Security Issues
security (at) geti2p.net - GPG Key fingerprint = EA27 06D6 14F5 28DB 764B F47E CFCD C461 75E6 694AII. Security Response Team
Echelon is the trusted security point-of-contact. He forwards emails to team members as appropriate.
III. Incident Response
- Researcher submits report via: security (at) geti2p.net
- Response Team designates a Response Manager who is in charge of the particular report based on availability and/or knowledge-set.
- In no more than 3 working days, Response Team should respond to researcher using only encrypted methods.
- Response Manager makes inquiries to satisfy any needed information and to
confirm if submission is indeed a vulnerability.
- If submission proves to be vulnerable, proceed.
- Se não vulnerável:
- Response Manager responds with reasons why submission is not a vulnerability.
- Response Manager moves discussion to a new or existing ticket on public Trac if necessary.
-
Establish severity of vulnerability:
- HIGH
- Affects network as a whole, has potential to break entire network or is on a scale of great catastrophe.
- MEDIUM
- Affects individual routers, or must be carefully exploited.
- LOW
- Is not easily exploitable.
- Respond according to the severity of the vulnerability:
- HIGH severities must be notified on website and news feed within 3
working days of classification.
- The notification should list appropriate steps for users to take, if any.
- The notification must not include any details that could suggest an exploitation path.
- The latter takes precedence over the former.
- MEDIUM and HIGH severities will require a Point Release.
- LOW severities will be addressed in the next Regular Release.
- HIGH severities must be notified on website and news feed within 3
working days of classification.
- Response Team applies appropriate patch(es).
- Response Manager works on a patch LOCALLY, patches are shared by the response team via PGP-encrypted e-mail until such a time as it is safe to expose to the public.
- Patches are reviewed with the researcher.
- Any messages associated with PUBLIC commits during the time of review should not make reference to the security nature of the PRIVATE branch or its commits.
- Vulnerability announcement is drafted.
- Include severity of vulnerability.
- Include systems/apps effected.
- Include solutions (if any) if patch cannot be applied.
- A data de lançamento é discutida.
- Na data de lançamento, a Equipe de Resposta coordena com os desenvolvedores para finalizar a atualização:
- O Gerenciador de Resposta propaga a "ramificação do hotfix" para o tronco.
- O Gerenciador de Resposta inclui rascunho de anúncio de vulnerabilidade nas notas de versão.
- Proceed with the Point or Regular Release. At this time, it is not possible to release an in-network update for only one operating system or architecture. In order that all affected products can be released as quickly as possible, the person responsible for that software should be able to perform necessary release processes in a timely manner. Importantly this should include consideration for package maintainers in Debian, Ubuntu and F-Droid.
IV. Processo de Divulgação Pós-lançamento
- Response Team has 90 days to fulfill all points within section III.
- Se o processo de Resposta a Incidentes na seção III for concluído com êxito:
- O Response Manager entra em contato com o pesquisador e pergunta se o pesquisador deseja crédito.
- Finalize o rascunho do anúncio de vulnerabilidade e inclua o seguinte:
- Nome do projeto e URL.
- Versões conhecidas por serem afetadas.
- Versões conhecidas por não serem afetadas (por exemplo, o código vulnerável foi introduzido em uma versão recente e, portanto, as versões mais antigas não são afetadas).
- Versões não verificadas.
- Tipo de vulnerabilidade e seu impacto.
- Se já obtido ou aplicável, um CVE-ID.
- A data de lançamento é planejada e coordenada.
- Fatores atenuantes (por exemplo, a vulnerabilidade só é exposta em configurações incomuns e não padrão).
- Soluções alternativas (alterações de configuração que os usuários podem fazer para reduzir sua exposição à vulnerabilidade).
- Se for o caso, créditos ao repórter original.
- Lançamento de anúncio de vulnerabilidade finalizado no site e no feed de notícias.
- If the vulnerability may be exploited while the network is being upgraded, delay the announcement until the vulnerable routers are upgraded.
- After the update is successful, write the announcement for the news feed, send it for translation, and release it.
- When translations come in, news operators should pull in the translations and update their feeds.
- Para severidades ALTAS, libere o anúncio de vulnerabilidade finalizado em listas de discussão conhecidas:
- oss-security@lists.openwall.com
- bugtraq@securityfocus.com
- Se aplicável, os desenvolvedores solicitam um CVE-ID.
- A confirmação que aplicou a correção também é feita referência em uma confirmação futura e inclui uma CVE-ID.
- Se o processo de Resposta a Incidentes na seção III *não* for concluído com êxito:
- A equipe de resposta e os desenvolvedores organizam uma reunião de IRC para discutir por que/quais pontos na seção III não foram resolvidos e como a equipe pode resolvê-los no futuro.
- Any developer meetings immediately following the incident should include points made in section V.
- If disputes arise about whether or when to disclose information about a vulnerability, the Response Team will publicly discuss the issue via IRC and attempt to reach consensus.
- If consensus on a timely disclosure is not met (no later than 90 days), the researcher (after 90 days) has every right to expose the vulnerability to the public.
V. Análise de Incidentes
- Isolar a base de código
- A equipe de resposta e os desenvolvedores devem se coordenar para trabalhar no seguinte:
- Implementação problemática de classes/bibliotecas/funções, etc.
- Concentre-se em empacotamento de aplicativos/distro, etc.
- Erro de operador/configuração, etc.
- A equipe de resposta e os desenvolvedores devem se coordenar para trabalhar no seguinte:
- Auditoria
- A equipe de resposta e os desenvolvedores devem se coordenar para trabalhar no seguinte:
- Auditoria da(s) área(s) problemática(s), tal como referido no ponto 1.
- Gere relatórios internos e armazene para referência futura.
- Se os resultados não forem sensíveis, partilhe com o público através de IRC ou Trac público.
- A equipe de resposta e os desenvolvedores devem se coordenar para trabalhar no seguinte:
- Response Team has 45 days following completion of section III to ensure completion of section V.
VI. Resoluções
Quaisquer outras perguntas ou resoluções sobre o(s) incidente(s) entre o pesquisador e a equipe de resposta + desenvolvimento após adivulgação pública podem serabordadas através do seguinte:
- Trac
- IRC
VII. Aperfeiçoamento Contínuo
- A equipe de resposta e os desenvolvedores devem realizar reuniões anuais para revisar os incidentes do ano anterior.
- A Equipe de Resposta ou a(s) pessoa(s) designada(s) deve(m) fazer uma breve apresentação, incluindo:
- Áreas da I2P afetadas pelos incidentes.
- Qualquer tempo de inatividade da rede ou custo monetário (se houver) dos incidentes.
- Maneiras pelas quais os incidentes poderiam ter sido evitados (se houver).
- Como esse processo foi eficaz para lidar com os incidentes.
- Após a apresentação, a Equipe de Resposta e os desenvolvedores devem discutir:
- Possíveis mudanças nos processos de desenvolvimento para reduzir incidentes futuros.
- Possíveis mudanças nesse processo para melhorar as respostas futuras.