DEENESPTFRRUARHIKOZHNL

Intrusion Detection System Manager (IdsM)

ModulIdsM (Intrusion Detection System Manager)
BSW-Modul-ID108
Standard-Header#include "IdsM.h"
SWS-SpezifikationAUTOSAR_SWS_IntrusionDetectionSystemManager.pdf
ClusterSecurity & Intrusion Detection

Guia do móduloGERADO POR IA

Coleta eventos de segurança dos sensores, filtra-os e encaminha eventos qualificados para os coletores.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: cd24ae65ba9c Procedência Perguntas em aberto (2)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Coleta eventos de segurança dos sensores, filtra-os e encaminha eventos qualificados para os coletores.

O IdsM coleta Security Events reportados por módulos BSW, CDDs e SW-Cs, armazena-os em buffer e processa-os assincronamente em IdsM_MainFunction [SWS_IdsM_00702]. O Reporting Mode e uma cadeia de filtros composta por filtros de block state, amostragem, agregação e limite transformam-nos em eventos qualificados [SWS_IdsM_01004]. Estes seguem via PduR para um IdsR ou são armazenados em DEM/Sem. Registro de data/hora, assinatura e acesso de diagnóstico são opcionais. O IdsM não avalia o significado dos dados de contexto; a reação a ataques situa-se fora do módulo.

O IdsM recebe Security Events (SEv) de sensores de segurança, ou seja, de módulos BSW, CDDs e SW-Cs. Por meio de uma cadeia de filtros, transforma-os em Qualified Security Events (QSEv) [SWS_IdsM_00902]. Ele envia os QSEvs via PduR para um IdsR, armazena-os em DEM/Sem ou ambos [SWS_IdsM_01202] [SWS_IdsM_01600]. Ele não avalia o significado dos dados de contexto. A reação a ataques situa-se fora do módulo, por exemplo, em um SOC [SWS_IdsM_CONSTR_00001].

kontext sensoren Sensores (BSW, CDD, SW-C via RTE) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (outra ECU) pdur->idsr IDS-Nachricht

Diagrama de contexto: o IdsM conecta os sensores que reportam aos coletores PduR/IdsR e DEM/Sem. BswM, StbM, CSM, DCM e NvM estão conectados opcionalmente. Fontes: SWS IdsM p. 20, [SWS_IdsM_91023]

Os sensores reportam via IdsM_SetSecurityEvent ou uma de cinco variantes com dados de contexto (até 1500 bytes), contador e registro de data/hora [SWS_IdsM_00300] [SWS_IdsM_00404] [SWS_IdsM_00501]. Ao fazer isso, sempre utilizam o nome simbólico do IdsMEvent [SWS_IdsM_00607]. O serviço de notificação apenas armazena o SEv em buffer. O processamento propriamente dito ocorre de forma assíncrona em IdsM_MainFunction [SWS_IdsM_00702]. Se faltar um Event Buffer livre, o IdsM dispara um SEv interno, desde que este esteja configurado [SWS_IdsM_00703].

A qualificação começa com o Reporting Mode. Valores possíveis são OFF, BRIEF, DETAILED e as variantes que contornam os filtros [SWS_IdsM_01002] [SWS_IdsM_91013]. Em seguida, os filtros ativos são executados em ordem fixa: Block State, Forward Every n-th, Aggregation, Threshold [SWS_IdsM_01004]. Se um filtro descartar o SEv, a avaliação termina [SWS_IdsM_01005]. Antes do envio ao IdsR, aplicam-se adicionalmente limitação de taxa e de tráfego [SWS_IdsM_01070]. É provável que estas também se apliquem aos modos de bypass (interpretação). Pergunta (aberta)

filterkette a SEv do Event Buffer (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn não bs->drop sim ag Event Aggregation Filter: Intervallende erreicht? fn->ag sim fn->drop não coll Coletado no intervalo de agregação (contador somado) ag->coll não th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th sim, contador total th->drop não th->q sim sink Konfigurierte Senken q->sink lim Rate Limitation, depois Traffic Limitation sink->lim IdsMSinkIdsR (interpretação: também em caso de desvio) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop Limite excedido idsr PduR an IdsR lim->idsr dentro dos limites

Diagrama de atividades: primeiro o Reporting Mode, depois a cadeia de filtros, por fim as limitações de instância antes do IdsR. Fontes: SWS IdsM p. 35, [SWS_IdsM_01004], [SWS_IdsM_01070]

Opcionalmente, funções adicionais podem ser ativadas [SWS_IdsM_01100] [SWS_IdsM_01204] [SWS_IdsM_01901] [SWS_IdsM_01702]:

  • Registro de data/hora a partir do StbM ou da aplicação
  • Assinatura via CSM
  • Leitura e alteração do Reporting Mode via DCM, com persistência em NvM e rollback em caso de falha

O IdsM só reporta erros de desenvolvimento ao DET quando IdsMDevErrorDetect estiver ativo [SWS_IdsM_02003]. O coletor DEM/Sem possui o status DRAFT no R20-11 [SWS_IdsM_01601].

Papel: do evento de segurança reportado ao evento qualificado

O Intrusion Detection System Manager (IdsM) coleta Security Events (SEv). Estes são detectados e reportados por sensores de segurança, ou seja, módulos BSW, Complex Device Drivers ou SW-Cs SWS IdsM p. 10. O IdsM verifica cada SEv em relação a uma sequência configurável de filtros, a cadeia de filtros. Se o SEv passar nessa verificação, ele se torna um Qualified Security Event (QSEv) [SWS_IdsM_00902]. Apenas QSEvs continuam a ser processados. Eles são encaminhados via PduR para um IdsR em outro módulo de controle, armazenados em DEM/Sem ou ambos [SWS_IdsM_01202] [SWS_IdsM_01600] SWS IdsM p. 35.

O limite do sistema é estreitamente definido. O IdsM não conhece o significado dos dados de contexto e, portanto, não decide por si próprio se um sistema está comprometido. A detecção e a reação situam-se fora do módulo, por exemplo, em um SOC [SWS_IdsM_CONSTR_00001]. Não existem interfaces obrigatórias para outros módulos [SWS_IdsM_91023]. Qualquer acoplamento é ativado por meio da configuração. Isso é evidenciado pelas inclusões condicionais de cabeçalhos:

  • Det.h em IdsMDevErrorDetect
  • Dem.h em IdsMSinkDem
  • Dcm.h em IdsMDiagnosticSupport
  • NvM.h em IdsMNvmBlockDescriptor
  • PduR.h em IdsMSinkIdsR

Evidências para essas inclusões: [SWS_IdsM_00101] a [SWS_IdsM_00105].

kontext sensoren Sensores (BSW, CDD, SW-C via RTE) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (outra ECU) pdur->idsr IDS-Nachricht

Diagrama de contexto: O IdsM situa-se entre os sensores emissores e os destinos PduR/IdsR, bem como DEM/Sem. BswM, StbM, CSM, DCM e NvM fornecem estado operacional, tempo, assinatura e acesso de diagnóstico. Fontes: SWS IdsM p. 20, SWS IdsM p. 14, [SWS_IdsM_01022], [SWS_IdsM_01104], [SWS_IdsM_01206], [SWS_IdsM_01701]

Inicialização, identidade de eventos e interfaces de notificação

IdsM_Init inicializa todas as variáveis internas e coloca o módulo no estado «inicializado» [SWS_IdsM_00202] [SWS_IdsM_91001]. Somente IdsM_Init e IdsM_GetVersionInfo podem ser chamados antes desse momento SWS IdsM p. 21. Uma nova chamada de IdsM_Init não reinicializa o módulo [SWS_IdsM_00204].

lebenszyklus start Start uninit Não inicializado start->uninit uninit->uninit API diferente de IdsM_Init / IdsM_GetVersionInfo: Det_ReportError IDSM_E_UNINIT (apenas com IdsMDevErrorDetect) init Initialisiert uninit->init IdsM_Init(configPtr): todas as variáveis internas inicializadas init->init IdsM_Init novamente: sem reinicialização, Det_ReportError IDSM_E_ALREADY_INITIALIZED (apenas com IdsMDevErrorDetect) init->init IdsM_MainFunction, Melde-Dienste, Callbacks

Diagrama de estados: O módulo possui dois estados. Chamadas incorretas em ambos os estados reportam um erro ao DET somente com a detecção de erros de desenvolvimento ativa. Fontes: [SWS_IdsM_00202], [SWS_IdsM_00203], [SWS_IdsM_00204], SWS IdsM p. 21

Cada SEv é identificado por três identificadores e pelo nome do evento [SWS_IdsM_00600]:

Os sensores reportam exclusivamente por meio do nome simbólico do contêiner IdsMEvent. Eles não devem confiar no valor interno [SWS_IdsM_00602] [SWS_IdsM_00607]. Seis serviços estão disponíveis para a notificação:

ServiçoDados adicionaisReferência
IdsM_SetSecurityEventnenhum[SWS_IdsM_00300]
IdsM_SetSecurityEventWithContextDataDados de contexto[SWS_IdsM_00301]
IdsM_SetSecurityEventWithCountContador (Smart Sensor)[SWS_IdsM_00401]
IdsM_SetSecurityEventWithCountContextDataContador, dados de contexto[SWS_IdsM_00402]
IdsM_SetSecurityEventWithTimestampCountCarimbo de data/hora, contador[SWS_IdsM_00403]
IdsM_SetSecurityEventWithTimestampCountContextDataCarimbo de data/hora, contador, dados de contexto[SWS_IdsM_00404]

O sensor passa os dados de contexto como um ponteiro para um array de bytes. São suportados até 1500 bytes [SWS_IdsM_00501] [SWS_IdsM_00502]. Quem tiver um carimbo de data/hora, mas nenhum contador próprio, reporta com count = 1 [SWS_IdsM_00405].

SW-Cs com IDs externos na faixa de 0x8000–0xFFFE alcançam o IdsM por meio das interfaces de serviço IdsMService_{EventName} ou IdsMSmartSensorService_{EventName}. A interface aplicável depende de IdsMAdditionalParameterOption (None, Count, CountTimestamp) [SWS_IdsM_91027] [SWS_IdsM_91028] [SWS_IdsM_01301] [SWS_IdsM_01303]. No R20-11, esses serviços são normativos. Releases posteriores os classificam como OBSOLETE SWS IdsM p. 67.

Bufferização e processamento assíncrono em IdsM_MainFunction

Os serviços de notificação não processam um SEv imediatamente. O IdsM armazena-o inicialmente em um Event Buffer. A filtragem e o encaminhamento ocorrem posteriormente e de forma assíncrona na IdsM_MainFunction chamada ciclicamente [SWS_IdsM_00702] [SWS_IdsM_00901] [SWS_IdsM_91000]. O número de Event Buffers (IdsMNumberOfEventBuffers) é configurável [SWS_IdsM_00701]. Como valor de referência, a especificação recomenda o número de instâncias de filtro de agregação mais o limite superior de eventos processados em paralelo SWS IdsM p. 24.

Notificação e processamento assíncrono de um SEvSensorIdsMBswDefaultTaskStbMColetor (PduR / Dem)Use Case: Notificação no contexto do sensorIdsM_SetSecurityEvent(securityEventId)ou uma das cinco variantesSEv in Event Buffer ablegenvincular Context Data Buffer, se aplicávelRetorno (void)Use Case: Zyklische VerarbeitungIdsM_MainFunction()optIdsMTimestampOption = AUTOSAR, kein Zeitstempel gemeldetStbM_GetCurrentTime()aktuelle Zeittodos os SEvs no buffer: Reporting Mode,Filterkette, Zeitstempel zuordnenoptSEv als QSEv qualifiziertQSEv an konfigurierte Senken

Diagrama de sequência: A notificação retorna imediatamente após a bufferização. Carimbo de data/hora, filtragem e encaminhamento ocorrem apenas em IdsM_MainFunction. Fontes: SWS IdsM p. 86, [SWS_IdsM_00702], [SWS_IdsM_00901], [SWS_IdsM_01107]

Os dados de contexto residem em Context Data Buffers próprios, com tamanho configurável de até 1500 bytes [SWS_IdsM_00704] SWS IdsM p. 122. O IdsM seleciona um buffer de tamanho igual ou imediatamente superior e o vincula ao Event Buffer [SWS_IdsM_00705] [SWS_IdsM_00706]. Um SEv sem dados de contexto não ocupa tal buffer [SWS_IdsM_00709]. Para os SEvs internos do próprio IdsM, existem buffers dedicados e separados [SWS_IdsM_00802].

puffer a SEv recebido através do serviço de notificação b Event Buffer frei? a->b c Interner SEv IDSM_INTERNAL_EVENT_NO_EVENT_BUFFER_AVAILABLE (falls konfiguriert) b->c não d SEv in Event Buffer speichern b->d sim x SEv não pode ser tratado c->x e Kontextdaten gemeldet? d->e f Context Data Buffer de tamanho igual ou imediatamente superior livre? e->f sim i Processar SEv sem dados de contexto e->i não g Vincular Context Data Buffer ao Event Buffer f->g sim h Interner SEv IDSM_INTERNAL_EVENT_NO_CONTEXT_DATA_BUFFER_AVAILABLE (falls konfiguriert) f->h não j Asynchrone Verarbeitung in IdsM_MainFunction g->j h->i i->j

Diagrama de atividades: Como os buffers são atribuídos na chegada de um SEv. Se faltar um buffer de contexto, o SEv é processado sem dados de contexto. Se faltar um Event Buffer, o SEv não pode ser tratado. Fontes: [SWS_IdsM_00703], [SWS_IdsM_00705], [SWS_IdsM_00707], [SWS_IdsM_00708], [SWS_IdsM_91015], SWS IdsM p. 27

Qualificação: Reporting Mode, cadeia de filtros e limites de instância

Primeiro, o IdsM avalia o Reporting Mode. Cada SEv possui exatamente um filtro de Reporting Mode. Esse filtro é obrigatório, está diretamente vinculado ao SEv e não faz parte da cadeia de filtros [SWS_IdsM_01010] [SWS_IdsM_01011]. O valor inicial provém de IdsMReportingModeFilter [SWS_IdsM_01012]. A cadeia de filtros segue somente após isso [SWS_IdsM_01002]. IdsM_Filters_ReportingModeType reconhece estes modos [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF: O evento não é reportado.
  • IDSM_REPORTING_MODE_BRIEF: Notificação sem dados de contexto.
  • IDSM_REPORTING_MODE_DETAILED: Notificação com dados de contexto.
  • Ambas as variantes …_BYPASSING_FILTERS: Notificação como BRIEF ou DETAILED, porém sem filtragem.

A cadeia de filtros está associada ao SEv [SWS_IdsM_01001] [SWS_IdsM_00903]. Cada IdsMFilterChain requer pelo menos um filtro [SWS_IdsM_CONSTR_00002]. Os filtros ativos são executados em uma ordem fixa [SWS_IdsM_01004]. Se um filtro descartar o SEv, a avaliação termina imediatamente. Caso contrário, o SEv passa para o próximo filtro [SWS_IdsM_00904] [SWS_IdsM_00905] [SWS_IdsM_01005]. Os quatro filtros nesta ordem:

  1. Block State: O BswM reporta o estado atual via IdsM_BswM_StateChanged como uma máscara de bits do tipo IdsM_Filters_BlockStateType. Se esse estado estiver referenciado em IdsMBlockState, o filtro descarta o SEv [SWS_IdsM_01022] [SWS_IdsM_01023] [SWS_IdsM_91017]. Um filtro pode referenciar até 16 estados SWS IdsM p. 85.
  2. Forward Every n-th: O primeiro SEv é encaminhado, depois cada enésimo de acordo com IdsMNthParameter. Os dados permanecem inalterados [SWS_IdsM_01031] [SWS_IdsM_01032] [SWS_IdsM_01033].
  3. Event Aggregation: Durante o intervalo, o filtro não encaminha nada. Ao término do intervalo, é gerado um único SEv com o contador acumulado [SWS_IdsM_01043] [SWS_IdsM_01046]. Os dados de contexto e o carimbo de data/hora provêm do primeiro ou do último SEv do intervalo, dependendo de IdsMContextDataSourceSelector [SWS_IdsM_01047] [SWS_IdsM_01049]. Um exemplo é mostrado em SWS IdsM p. 40.
  4. Event Threshold: O filtro descarta SEvs enquanto a soma do contador no intervalo atual estiver abaixo de IdsMEventThresholdNumber. Ao expirar o intervalo, a soma é redefinida [SWS_IdsM_01061] [SWS_IdsM_01062] [SWS_IdsM_01063]. Um exemplo é mostrado em SWS IdsM p. 41.

Todos os intervalos são múltiplos de IdsMMainFunctionPeriod. Os intervalos de agregação e de limite operam a partir da primeira chamada da Main Function [SWS_IdsM_01050] [SWS_IdsM_01051] [SWS_IdsM_01065].

Antes do envio ao IdsR, atuam dois limites para toda a instância do IdsM [SWS_IdsM_01070]:

  • A limitação de taxa permite no máximo IdsMRateLimitationMaximumEvents QSEvs por intervalo [SWS_IdsM_01081].
  • A limitação de tráfego permite no máximo IdsMTrafficLimitationMaximumBytes bytes por intervalo [SWS_IdsM_01091] [SWS_IdsM_01093].

Os SEvs internos do IdsM não passam por esses filtros de instância. No entanto, eles podem ter filtros específicos de eventos [SWS_IdsM_00803] [SWS_IdsM_00804]. Interpretação: Os modos bypass contornam apenas a cadeia de filtros. Pergunta (aberta) As limitações de taxa e tráfego provavelmente também se aplicam a eles, pois [SWS_IdsM_01070] exige esses limites antes de qualquer transmissão ao IdsR.

filterkette a SEv do Event Buffer (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn não bs->drop sim ag Event Aggregation Filter: Intervallende erreicht? fn->ag sim fn->drop não coll Coletado no intervalo de agregação (contador somado) ag->coll não th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th sim, contador total th->drop não th->q sim sink Konfigurierte Senken q->sink lim Rate Limitation, depois Traffic Limitation sink->lim IdsMSinkIdsR (interpretação: também em caso de desvio) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop Limite excedido idsr PduR an IdsR lim->idsr dentro dos limites

Diagrama de atividades: Primeiro o Reporting Mode, depois os filtros em ordem fixa e, finalmente, os limites de instância antes do IdsR. Filtros não configurados são omitidos. Fontes: SWS IdsM p. 35, [SWS_IdsM_01002], [SWS_IdsM_01004], [SWS_IdsM_01070], [SWS_IdsM_91013]

Carimbo de data/hora, mensagem IDS e destinos

O carimbo de data/hora é opcional e é controlado globalmente via IdsMTimestampOption [SWS_IdsM_01100]:

Se o próprio sensor fornecer um carimbo de data/hora, este terá prioridade [SWS_IdsM_01108]. O IdsM trunca-o para os 62 bits menos significativos [SWS_IdsM_01110]. De acordo com os diagramas de sequência, o IdsM determina o carimbo de data/hora na Main Function para todos os eventos bufferizados SWS IdsM p. 87.

zeitstempel a QSEv aufbereiten opt IdsMTimestampOption? a->opt none Sem carimbo de data/hora; o carimbo de data/hora informado juntamente é ignorado opt->none None given Carimbo de data/hora informado juntamente pelo sensor? opt->given AUTOSAR / Custom trunc Truncar para os 62 bits menos significativos e usar given->trunc sim src Origem de acordo com a opção? given->src não add Zeitstempel in QSEv aufnehmen trunc->add stbm StbM_GetCurrentTime() src->stbm AUTOSAR cust IdsM_CustomTimestamp, operação Get via porta CustomTimestamp src->cust Custom stbm->add cust->add

Diagrama de atividades: Como a fonte do carimbo de data/hora é selecionada em função de IdsMTimestampOption. Fontes: [SWS_IdsM_01106], [SWS_IdsM_01107], [SWS_IdsM_01108], [SWS_IdsM_01109], [SWS_IdsM_01110], SWS IdsM p. 86

Um QSEv tem a mesma estrutura, independentemente do destino para o qual seja enviado [SWS_IdsM_01200]. A mensagem IDS consiste no Event Frame e, opcionalmente, em Timestamp, Context Data e Signature PRS IDS p. 11. Quais destinos um evento utiliza é determinado pela configuração do IdsMEvent [SWS_IdsM_01201].

A assinatura é opcional. Ela torna-se ativa globalmente assim que IdsMCsmJobReference for configurado. O seu disparo ocorre via Csm_SignatureGenerate. Para tarefas síncronas, a assinatura fica disponível imediatamente; para tarefas assíncronas, IdsM_CsmNotification reporta o resultado [SWS_IdsM_01204] [SWS_IdsM_01206] [SWS_IdsM_01207] [SWS_IdsM_01208].

Para o destino IdsR, o IdsM transmite via PduR_IdsMTransmit [SWS_IdsM_01498]. Se a mensagem couber em uma PDU de barramento, ele usa uma PDU IF; caso contrário, usa uma PDU TP [SWS_IdsM_01400] [SWS_IdsM_01401]. Uma nova solicitação de envio só segue após a confirmação da anterior [SWS_IdsM_01499]. O destino DEM/Sem armazena a mensagem IDS completa. No R20-11, ela tem o status DRAFT [SWS_IdsM_01601] [SWS_IdsM_01602].

Assinatura e transmissão de um QSEv para o IdsRIdsMCsmPduRUse Case: Optional: Signatur (IdsMCsmJobReference konfiguriert)Csm_SignatureGenerate()altsynchroner Csm-JobRetorno: assinatura disponível imediatamenteasynchroner Csm-JobIdsM_CsmNotification()Use Case: Transmissão (IdsMSinkIdsR)PduR_IdsMTransmit()altMensagem IDS cabe em uma PDU de barramento (IdsMIfTxPdu)IdsM_TxConfirmation(TxPduId, result)caso contrário, segmentada (IdsMTpTxPdu)loopaté que a PDU seja totalmente copiadaIdsM_CopyTxData(id, info, retry, availableDataPtr)BufReq_ReturnTypeIdsM_TpTxConfirmation(id, result)Kein weiteres PduR_IdsMTransmitantes da confirmação

Diagrama de sequência: Primeiro a assinatura opcional via CSM, depois a transmissão como PDU IF ou PDU TP segmentada com confirmação. Fontes: [SWS_IdsM_01207], [SWS_IdsM_01208], [SWS_IdsM_01500], [SWS_IdsM_01501], [SWS_IdsM_01502], SWS IdsM p. 49

Reconfiguração de diagnóstico e persistência do Reporting Mode

O acesso de diagnóstico é opcional e é ativado via IdsMDiagnosticSupport [SWS_IdsM_01800].

Após uma alteração bem-sucedida, o IdsM aciona NvM_WriteBlock [SWS_IdsM_01701]. Se a persistência falhar, ele restaura o valor anterior e reporta DCM_E_GENERALPROGRAMMINGFAILURE [SWS_IdsM_01702] [SWS_IdsM_01904] [SWS_IdsM_01905].

Na inicialização, o IdsM utiliza os valores persistidos. Se faltarem, aplica-se a configuração [SWS_IdsM_01703] [SWS_IdsM_01704]. O bloco NvM deve estar contido em NvM_ReadAll e chama-se IdsM_NvMRamBlockData ou IdsM_NvMRomBlockData [SWS_IdsM_01705] [SWS_IdsM_01706] [SWS_IdsM_01707]. Presumivelmente, o DCM toma conhecimento do resultado da persistência por meio de chamadas repetidas com OpStatus DCM_PENDING. Pergunta Q-65ac99385a597b7d (aberta) Uma versão posterior indica DCM_E_BUSYREPEATREQUEST SWS IdsM p. 75 para isso.

Alterar e ler Reporting Mode via diagnósticoDcmIdsMNvMUse Case: Alterar Reporting ModeIdsM_Dcm_SetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, In_ReportingMode, OpStatus, ErrorCode)altReporting Mode ou ID do evento inválidoE_NOT_OK, DCM_E_REQUESTOUTOFRANGEParâmetro válidoAlterar IdsMReportingModeFilterNvM_WriteBlock()Interpretação: o resultado da persistência éreportado através de chamadas com OpStatus DCM_PENDINGaltPersistierung fehlgeschlagenRollback para o Reporting Mode anteriorE_NOT_OK, DCM_E_GENERALPROGRAMMINGFAILUREPersistierung erfolgreichE_OKUse Case: Reporting Mode lesenIdsM_Dcm_GetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, OpStatus, ErrorCode)E_OK / DCM_E_PENDING / E_NOT_OKIdsM_Dcm_GetReportingMode_RequestResults(OpStatus,Out_ReportingMode, ErrorCode)Out_ReportingMode

Diagrama de sequência: Modificação do Reporting Mode com persistência NvM e rollback, além de leitura em duas etapas. Fontes: [SWS_IdsM_01901], [SWS_IdsM_01904], [SWS_IdsM_01905], [SWS_IdsM_91007], SWS IdsM p. 74. O caminho de retorno da persistência está marcado como interpretação.

Comportamento em caso de erro

Erros de desenvolvimento são reportados pelo IdsM ao DET apenas com IdsMDevErrorDetect ativo. Os códigos de erro estão em [SWS_IdsM_02003]:

Atenção à nomenclatura: [SWS_IdsM_00203] denomina o código IDSM_E_PARAM_UNINIT, a tabela de erros lista-o como IDSM_E_UNINIT (0x0D) [SWS_IdsM_02003].

Escassez de recursos é reportada pelo IdsM como SEvs internos próprios, desde que estejam configurados [SWS_IdsM_91015]:

Se um filtro descartar um SEv, isso constitui um comportamento regular e não um erro [SWS_IdsM_00904]. Uma falha de envio chega como E_NOT_OK na confirmação [SWS_IdsM_91009]. Uma regra de repetição com IdsMTransmissionRetryDelay só existe no R25-11 SWS IdsM p. 51.

Evidências mais detalhadas

Guia gerado por IA com base nos trechos de especificação contidos no payload (AUTOSAR Classic Platform R20-11). Normativos são exclusivamente os requirements vinculados. Afirmações identificadas como interpretação não estão totalmente respaldadas pelas fontes.

Intrusion Detection System Manager (IdsM)

Collects and reports onboard security events to detect threats.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

função IdsM_Init [SWS_IdsM_91001] 📄 PDF

void IdsM_Init (const IdsM_ConfigType* configPtr);

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 27dab8d4c20f Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A interface síncrona e não reentrante IdsM_Init destina-se à inicialização fundamental do módulo IdsM de acordo com [SWS_IdsM_91001]. Aquando da chamada, o serviço inicializa a totalidade das variáveis internas e transfere o IdsM para o estado inicializado ([SWS_IdsM_00202]). Através do parâmetro de entrada configPtr, a função recebe um apontador para a estrutura de configuração específica do módulo ([SWS_IdsM_91001]).

A execução de IdsM_Init constitui uma pré-condição funcional obrigatória para a operação do módulo. Se for chamada uma API do IdsM que não IdsM_Init ou IdsM_GetVersionInfo no estado ainda não inicializado, o módulo reporta, caso a deteção de erros de desenvolvimento (IdsMDevErrorDetect) esteja ativa, o erro IDSM_E_PARAM_UNINIT via Det_ReportError ([SWS_IdsM_00203], veja-se também o código de erro 0x0D em [SWS_IdsM_02003]).

Aplicam-se regras de comportamento específicas para o tratamento de erros e o contexto de chamada:

  • Se IdsM_Init for chamada enquanto o módulo já se encontra no estado inicializado, não é efetuada uma reinicialização das variáveis internas ([SWS_IdsM_00204]).
  • Em vez disso, com IdsMDevErrorDetect ativo, o módulo reporta através de Det_ReportError o erro de desenvolvimento IDSM_E_ALREADY_INITIALIZED com o valor numérico 0x0E ([SWS_IdsM_00204], [SWS_IdsM_02003]).
  • A função não possui valor de retorno e está definida como não reentrante ([SWS_IdsM_91001]). Por conseguinte, não pode ser chamada concorrentemente ou por contextos de interrupção múltiplas vezes em simultâneo no sistema.

Esta nota foi gerada por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_MainFunction [SWS_IdsM_91000] 📄 PDF

void IdsM_MainFunction (void);

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 74bdc1b72d90 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

A função IdsM_MainFunction é chamada periodicamente e está disponível através do arquivo de cabeçalho IdsM.h [SWS_IdsM_91000]. Ela possui a assinatura void IdsM_MainFunction(void), não recebe parâmetros e não possui valor de retorno [SWS_IdsM_91000]. A chamada da função em si é síncrona, mas serve ao processamento assíncrono de eventos de segurança (Security Events, SEv) que foram previamente enfileirados durante chamadas síncronas de API [SWS_IdsM_91000]. É provável que o acionamento periódico seja realizado tipicamente pelo escalonador BSW ou por uma tarefa cíclica do sistema operacional. Pergunta Q-86e2e870c3496bad (aberta)

Simultaneidade e restrições

De acordo com a especificação, IdsM_MainFunction é classificada como não reentrante (Non Reentrant) [SWS_IdsM_91000]. O ambiente do sistema chamador deve, portanto, assegurar que a função seja executada a qualquer momento em apenas uma única instância e que não ocorram chamadas sobrepostas.

Interação no processamento de eventos

A tarefa principal no âmbito do processamento cíclico abrange os seguintes aspectos:

  • Buffer de eventos: após a recepção de um SEv, o IdsM o armazena em um Event Buffer; esses buffers são gerenciados e filtrados de forma assíncrona no âmbito de IdsM_MainFunction [SWS_IdsM_00702].
  • Buffer de dados de contexto: caso um SEv seja recebido com dados de contexto, o IdsM utiliza buffers adequados de um Context Data Buffer Pool; esses buffers também são tratados e filtrados de forma assíncrona em IdsM_MainFunction [SWS_IdsM_00705].
  • Qualificação: os SEv armazenados nos Event Buffers são processados de forma assíncrona para identificá-los como eventos de segurança qualificados (QSEv) [SWS_IdsM_00901].

Este texto foi gerado por uma IA com base na especificação R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_CopyTxDataManager [SWS_IdsM_91010] 📄 PDF

BufReq_ReturnType IdsM_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5f2ff6078796 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função de callback é chamada de forma síncrona e reentrante para recuperar dados de transmissão para segmentos de uma I-PDU (N-PDU) [SWS_IdsM_91010]. Ela está disponível através do cabeçalho IdsM_Cbk.h e atende ao ID de serviço 0x43 [SWS_IdsM_91010].

Por meio de id, identifica-se a I-PDU a ser transmitida [SWS_IdsM_91010]. O parâmetro info passa o buffer de destino (SduDataPtr) bem como o comprimento solicitado em bytes (SduLength); um valor de 0 para SduLength (sendo que SduDataPtr pode ser um NULL_PTR) serve para mudanças de estado no parâmetro retry ou para a consulta de dados restantes [SWS_IdsM_91010]. Através de availableDataPtr, a função retorna a quantidade de dados restante no buffer Tx, o que permite que protocolos de transporte com comprimentos úteis dinâmicos (por exemplo, FrIsoTp) determinem o tamanho de Consecutive Frames subsequentes [SWS_IdsM_91010].

Se retry for um NULL_PTR, os dados copiados podem ser liberados do buffer imediatamente após o processo de cópia [SWS_IdsM_91010]. Caso contrário, RetryInfoType controla o tratamento de erros: em TP_CONFPENDING, os dados previamente copiados permanecem no buffer TP, enquanto TP_DATACONF confirma e libera todos os dados copiados antes desta chamada [SWS_IdsM_91010]. Se TpDataState estiver definido como TP_DATARETRY, a função copia novamente dados previamente transmitidos a partir do deslocamento de bytes indicado por TxTpDataCnt [SWS_IdsM_91010].

A função retorna BUFREQ_OK em caso de cópia completa bem-sucedida [SWS_IdsM_91010]. Se não houver dados de transmissão suficientes disponíveis, nenhum dado é copiado e é retornado BUFREQ_E_BUSY, após o que o módulo subordinado pode repetir a chamada [SWS_IdsM_91010]. Se a solicitação falhar, ocorre o retorno de BUFREQ_E_NOT_OK sem transferência de dados [SWS_IdsM_91010].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_SetSecurityEvent [SWS_IdsM_91002] 📄 PDF

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b7f6437d402e Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função IdsM_SetSecurityEvent serve de interface para que as aplicações reportem eventos de segurança ao módulo IdsM (Intrusion Detection System Manager) [SWS_IdsM_91002].

Utilização e contexto de chamada

A chamada ocorre de forma síncrona através do ficheiro de cabeçalho IdsM.h com o Service-ID 0x03 [SWS_IdsM_91002]. Como único parâmetro de passagem, é transmitido o identificador do evento de segurança:

  • securityEventId (IN, IdsM_SecurityEventIdType): Identificador unívoco do evento de segurança notificado [SWS_IdsM_91002].

A função não possui valor de retorno (void) [SWS_IdsM_91002].

Tratamento de erros

Se a deteção de erros de desenvolvimento (IdsMDevErrorDetect) estiver ativada, o módulo verifica o parâmetro securityEventId face aos eventos de segurança configurados [SWS_IdsM_02101]. Se for transmitido um ID de evento desconhecido que não tenha sido configurado em IdsMEvent, o IdsM reporta o erro de desenvolvimento IDSM_E_PARAM_INVALID [SWS_IdsM_02101].

Simultaneidade e restrições

A função é especificada como não reentrante (Non Reentrant) [SWS_IdsM_91002]. Chamadas concorrentes ou de interrupção a partir de diferentes contextos devem, portanto, ser sincronizadas ou evitadas pelo chamador.

Esta nota de utilização baseia-se nas especificações da plataforma AUTOSAR Classic no release R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_SetSecurityEventWithContextData [SWS_IdsM_91003] 📄 PDF

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface to report security events with context data to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f5f82ae60185 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função IdsM_SetSecurityEventWithContextData serve como interface de aplicação para a notificação síncrona de eventos de segurança juntamente com dados de contexto opcionais ao Intrusion Detection System Manager ([SWS_IdsM_91003]). Ela não possui valor de retorno.

Parâmetros e uso

  • securityEventId: Identificador unívoco do evento de segurança notificado ([SWS_IdsM_91003]).
  • contextData: Ponteiro para dados de contexto opcionais; se não houver dados de contexto disponíveis, deve-se passar NULL_PTR ([SWS_IdsM_91003]).
  • contextDataSize: Tamanho dos dados de contexto fornecidos em bytes ([SWS_IdsM_91003]).

Tratamento de erros

Com a detecção de desenvolvimento ativada (IdsMDevErrorDetect), o módulo IdsM executa as seguintes verificações:

  • Se o securityEventId passado não for proveniente dos eventos de segurança configurados em IdsMEvent, o erro de desenvolvimento IDSM_E_PARAM_INVALID é notificado ([SWS_IdsM_02102]).
  • Se contextDataSize exceder o tamanho máximo de buffer configurado para dados de contexto (definido pelo maior valor parametrizado de IdsMContextDataBufferSize), o erro de desenvolvimento IDSM_E_PARAM_LENGTH é notificado ([SWS_IdsM_02107]).

Simultaneidade e integração

A interface é especificada como não reentrante (Non Reentrant) ([SWS_IdsM_91003]). Os chamadores devem, portanto, assegurar que chamadas concorrentes sejam evitadas ou devidamente sincronizadas. A declaração está disponível através do cabeçalho IdsM.h ([SWS_IdsM_91003]).

Este texto foi gerado por um sistema de IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_SetSecurityEventWithCount [SWS_IdsM_91018] 📄 PDF

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1b4c7b27b68c Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona IdsM_SetSecurityEventWithCount (ID de serviço 0x05) representa a interface de aplicação para Smart Sensors, a fim de transmitir eventos de segurança (Security Events, SEvs) juntamente com um valor de contagem ao IdsM [SWS_IdsM_91018], [SWS_IdsM_00401]. Desta forma, o IdsM pode receber eventos com um contador pré-calculado pelo sensor [SWS_IdsM_00401]. A declaração da função é disponibilizada através do ficheiro de cabeçalho IdsM.h [SWS_IdsM_91018].

Ao ser chamada, a função espera dois parâmetros de entrada:

  • securityEventId: Identificador do evento de segurança do tipo IdsM_SecurityEventIdType [SWS_IdsM_91018].
  • count: Valor de contagem do tipo uint16, que provém do sensor e atua como valor inicial de partida para o evento [SWS_IdsM_91018], [SWS_IdsM_00401].

A função não fornece qualquer valor de retorno e não define parâmetros de saída [SWS_IdsM_91018]. No que diz respeito à concorrência e ao contexto de chamada, a função está declarada como não reentrante (Non Reentrant) [SWS_IdsM_91018]; as chamadas paralelas têm, por isso, de ser evitadas a nível de software.

Para o tratamento de erros, está definido que o IdsM, com a deteção de desenvolvimento ativada (IdsMDevErrorDetect), verifica os parâmetros securityEventId e count [SWS_IdsM_02103]. Se for passado um ID de evento desconhecido ou se count contiver o valor 0, é reportado o erro de desenvolvimento IDSM_E_PARAM_INVALID [SWS_IdsM_02103].

Esta nota de utilização foi gerada automaticamente por uma IA com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

função IdsM_SetSecurityEventWithCountContextData [SWS_IdsM_91019] 📄 PDF

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2006a1c85bf9 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função IdsM_SetSecurityEventWithCountContextData serve como interface de aplicação para sensores inteligentes para a notificação síncrona de eventos de segurança com valor de contagem e dados de contexto opcionais ao [SWS_IdsM_91019].

Utilização e parâmetros

A chamada ocorre de forma síncrona e é especificada como não reentrante (Non Reentrant) [SWS_IdsM_91019]:

  • securityEventId: Identificador unívoco do evento de segurança [SWS_IdsM_91019].
  • count: Valor de contagem utilizado como valor inicial para o evento de segurança [SWS_IdsM_91019].
  • contextData: Ponteiro para um array de bytes com os dados de contexto a serem fornecidos [SWS_IdsM_00502]. Se não houver dados de contexto, deve-se passar NULL_PTR [SWS_IdsM_91019].
  • contextDataSize: Tamanho dos dados de contexto passados em bytes [SWS_IdsM_91019]. A função suporta um comprimento máximo de até 1500 bytes [SWS_IdsM_00501].

Tratamento de erros

Com a detecção de desenvolvimento ativada (IdsMDevErrorDetect), o módulo monitora a validade dos argumentos passados:

  • O erro de desenvolvimento IDSM_E_PARAM_INVALID é notificado caso um securityEventId desconhecido seja passado ou count apresente o valor 0 [SWS_IdsM_02104].
  • Se contextDataSize exceder o tamanho máximo de buffer configurado (determinado pela maior IdsMContextDataBufferSize configurada), o IdsM notifica o erro de desenvolvimento IDSM_E_PARAM_LENGTH [SWS_IdsM_02108].

A função não retorna nenhum valor [SWS_IdsM_91019]; uma reação a falhas em caso de erro provavelmente se baseará primariamente na notificação através do DET. Pergunta Q-135f4b865790f34d (aberta)

Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função IdsM_SetSecurityEventWithTimestampCount [SWS_IdsM_91020] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2451b7e4c502 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A interface síncrona IdsM_SetSecurityEventWithTimestampCount serve para os Smart Sensors notificarem eventos de segurança com carimbo de data/hora e valor de contagem ao IdsM [SWS_IdsM_91020]. A função não possui valor de retorno e está disponível através do ficheiro de cabeçalho IdsM.h [SWS_IdsM_91020].

São processados os seguintes parâmetros de entrada:

  • securityEventId: Identificador específico do evento de segurança reportado [SWS_IdsM_91020].
  • timestamp: Carimbo de data/hora para a referenciação temporal do evento [SWS_IdsM_91020]. Se a funcionalidade de carimbo de data/hora estiver ativa e for transmitido um carimbo de data/hora, o IdsM utiliza-o para o armazenamento ou transmissão do Security Event qualificado (QSEv) [SWS_IdsM_01108]. Se, pelo contrário, com a funcionalidade ativa o evento for reportado sem carimbo de data/hora, o IdsM define o bit de opção para o carimbo de data/hora no cabeçalho do protocolo para 0 antes da transmissão ou do armazenamento [SWS_IdsM_01112].
  • count: Valor de contagem como valor inicial para o evento de segurança [SWS_IdsM_91020]. Se não estiver previamente disponível nenhum contador calculado, a função pode ser chamada com o valor 1 [SWS_IdsM_00405].

Com a deteção de desenvolvimento ativada (IdsMDevErrorDetect), o IdsM valida os argumentos securityEventId e count. Caso seja transmitido um ID de evento desconhecido ou count apresente o valor 0, o módulo reporta o erro de desenvolvimento IDSM_E_PARAM_INVALID [SWS_IdsM_02105].

Relativamente à concorrência, a função está especificada como não reentrante (Non Reentrant) [SWS_IdsM_91020].

Este texto foi gerado automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

função IdsM_SetSecurityEventWithTimestampCountContextDataManager [SWS_IdsM_91021] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a1b69abd8805 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função IdsM_SetSecurityEventWithTimestampCountContextData com o ID de serviço 0x08 serve como interface de aplicação padronizada para Smart Sensors, a fim de reportar eventos de segurança juntamente com um carimbo de data/hora, um valor inicial de contagem, bem como dados de contexto opcionais ao Intrusion Detection System Manager (IdsM) [SWS_IdsM_91021]. A declaração desta interface é disponibilizada através do header IdsM.h [SWS_IdsM_91021].

A chamada é executada de forma síncrona e utiliza exclusivamente parâmetros de entrada, não existindo parâmetros de entrada/saída nem parâmetros de saída [SWS_IdsM_91021]. Na chamada, devem ser passados os seguintes parâmetros [SWS_IdsM_91021]:

  • securityEventId: Identificador do evento de segurança específico a ser transmitido ao IdsM [SWS_IdsM_91021].
  • timestamp: Valor de carimbo de data/hora que atua como referência temporal do evento de segurança ocorrido [SWS_IdsM_91021].
  • count: Valor de contagem utilizado pelo IdsM como valor inicial para o respetivo evento de segurança [SWS_IdsM_91021].
  • contextData: Ponteiro para dados de contexto opcionais relativos ao evento; caso não estejam disponíveis dados, deve ser passado NULL_PTR [SWS_IdsM_91021].
  • contextDataSize: Indicação numérica sobre o tamanho dos dados de contexto transmitidos [SWS_IdsM_91021].

No que diz respeito ao comportamento de execução, a função está classificada como não reentrante (Non Reentrant) e não possui valor de retorno (void) [SWS_IdsM_91021]. Os Smart Sensors que a chamam devem, portanto, assegurar que não ocorrem chamadas simultâneas ou sobrepostas da interface [SWS_IdsM_91021].

Este texto foi gerado por uma IA e serve como orientação.

Guia do implementador em breve (complexidade I1)

função IdsM_BswM_StateChanged [SWS_IdsM_91005] 📄 PDF

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This callback function is invoked by the BswM to indicate ECU state changes.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 16285d55bd09 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função de callback IdsM_BswM_StateChanged ([SWS_IdsM_91005]) é chamada pelo BswM para sinalizar ao Intrusion Detection System Manager (IdsM) alterações do estado atual da unidade de comando ([SWS_IdsM_91005]). Encontra-se declarada no ficheiro de cabeçalho IdsM_Cbk.h e possui o Service-ID 0x0F ([SWS_IdsM_91005]).

A interface possui a assinatura void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state) ([SWS_IdsM_91005]). Como único valor de passagem, serve o parâmetro de entrada state do tipo IdsM_Filters_BlockStateType, o qual reflete o estado atual da ECU ([SWS_IdsM_91005]). Não estão previstos parâmetros de entrada/saída nem parâmetros de saída, e a função não devolve qualquer valor de retorno ([SWS_IdsM_91005]). A chamada é executada de forma síncrona e está classificada como reentrante ([SWS_IdsM_91005]).

Na interação funcional, este serviço de notificação serve para que o IdsM seja informado continuamente pelo BswM sobre o estado atual ([SWS_IdsM_01022]). A informação de estado recebida é mantida no IdsM e avaliada no processamento assíncrono posterior de filtros de block-state (block state filter) no âmbito da função principal (main function) ([SWS_IdsM_01022]). Para esta chamada, não estão definidos códigos de erro específicos, valores de retorno ou mensagens para o desenvolvimento (DET) ou para o Diagnostic Event Management (DEM) no âmbito da especificação.

Esta nota de utilização foi gerada automaticamente e baseia-se nos requisitos de especificação do AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_TpTxConfirmation [SWS_IdsM_91011] 📄 PDF

void IdsM_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 127e922f9325 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função de callback IdsM_TpTxConfirmation é declarada como serviço síncrono e reentrante por meio do arquivo de cabeçalho IdsM_Cbk.h [SWS_IdsM_91011]. De acordo com [SWS_IdsM_01502], o módulo IdsM recebe por meio deste serviço a confirmação do módulo PduR para a transmissão de uma PDU segmentada. A chamada ocorre assim que a respectiva I-PDU tiver sido transmitida na rede subjacente [SWS_IdsM_91011].

A interface possui o Service ID 0x48 e não fornece valor de retorno (void) [SWS_IdsM_91011]. Na chamada, são passados dois parâmetros de entrada:

  • id (tipo PduIdType): identificação unívoca da I-PDU transmitida [SWS_IdsM_91011].
  • result (tipo Std_ReturnType): transmite o resultado da transmissão da I-PDU e indica se o processo de envio foi bem-sucedido ou falhou [SWS_IdsM_91011].

Códigos de erro específicos, bem como mensagens de DET ou DEM, não são definidos para esta chamada na especificação. Graças à reentrância especificada, a função pode ser chamada pela camada chamadora em paralelo para diferentes I-PDUs [SWS_IdsM_91011]. Interpretação: o módulo IdsM provavelmente deve avaliar o parâmetro de status result para atualizar o status de transmissão interno da PDU segmentada e liberar os buffers de transmissão ocupados após a conclusão. Pergunta Q-9179efcbf744346d (aberta)

Este texto foi criado por uma IA e baseia-se exclusivamente nas especificações do AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função IdsM_TxConfirmation [SWS_IdsM_91009] 📄 PDF

void IdsM_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2d20d4e11a8b Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função de callback IdsM_TxConfirmation ([SWS_IdsM_91009]) é chamada por um módulo de interface de comunicação subjacente para confirmar o envio bem-sucedido de uma PDU ou a falha da transmissão. Está definida como síncrona, declarada em IdsM_Cbk.h e não possui valor de retorno. Recebe os seguintes parâmetros:

  • TxPduId: Identificador da PDU transmitida ([SWS_IdsM_91009]).
  • result: Resultado da transmissão com E_OK em caso de envio bem-sucedido ou E_NOT_OK em caso de ocorrência de erro ([SWS_IdsM_91009]).

Simultaneidade e restrições

A função é reentrante para diferentes IDs de PDU, contudo não é reentrante para o mesmo TxPduId ([SWS_IdsM_91009]).

Interação e condições de ordenação

Aplica-se uma condição de ordem estrita para a sequência de transmissão: De acordo com [SWS_IdsM_01499], o IdsM só pode voltar a chamar a função de envio PduR_IdsMTransmit depois de IdsM_TxConfirmation ou IdsM_TpTxConfirmation ter sido chamada previamente. Interpretação: A receção da confirmação deverá servir de gatilho no IdsM para concluir a transmissão e libertar chamadas subsequentes. Pergunta Q-dd4013520e85370c (aberta)

Tratamento de erros

Uma falha na transmissão da PDU é comunicada diretamente através do parâmetro result = E_NOT_OK ([SWS_IdsM_91009]). Não estão indicados códigos de erro de DET ou DEM específicos na especificação da interface.

Este texto foi gerado automaticamente com base na especificação AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

função IdsM_Dcm_GetReportingMode_RequestResults [SWS_IdsM_91007] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 671f0dddec56 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

A função síncrona IdsM_Dcm_GetReportingMode_RequestResults (Service-ID 0x0D, cabeçalho IdsM_Cbk.h) é chamada pelo Diagnostic Communication Manager (DCM) para consultar os resultados de rotina de um pedido previamente iniciado através de IdsM_Dcm_GetReportingMode_Start() [SWS_IdsM_91007]. Através do parâmetro de passagem OpStatus é transmitido o estado operacional atual [SWS_IdsM_91007]. Em caso de conclusão bem-sucedida, a função devolve E_OK e fornece através do ponteiro de saída Out_ReportingMode o modo de reporte determinado do Security Event solicitado [SWS_IdsM_91007]. Se o processamento ainda não estiver concluído, sinaliza-o através do valor de retorno DCM_E_PENDING [SWS_IdsM_91007].

Tratamento de erros

Se a consulta falhar, a função retorna E_NOT_OK [SWS_IdsM_91007]. Neste caso, deve ser definido um Negative Response Code (Dcm_NegativeResponseCodeType) concreto através do parâmetro ErrorCode; se este permanecer por definir, o DCM envia o código de erro 0x22 [SWS_IdsM_91007]. Eventos específicos de DET ou DEM não estão indicados para este serviço [SWS_IdsM_91007].

Concorrência e interação

A função é especificada como reentrante [SWS_IdsM_91007]. Relativamente à sequência de chamada, pressupõe obrigatoriamente que a rotina tenha sido acionada previamente através de IdsM_Dcm_GetReportingMode_Start() [SWS_IdsM_91007]. Interpretação: O parâmetro OpStatus deverá ser utilizado pelo DCM em consultas repetidas após o retorno de DCM_E_PENDING para coordenar o progresso da operação de diagnóstico. Pergunta Q-c268fab018a1f5b3 (aberta)

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.

Guia do implementador em breve (complexidade I2)

função IdsM_Dcm_GetReportingMode_Start [SWS_IdsM_91006] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 78410b323fc8 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função IdsM_Dcm_GetReportingMode_Start é chamada pelo módulo de diagnóstico (DCM) para iniciar no Intrusion Detection System Manager (IdsM) a execução de uma rotina para consulta do modo de relatório atual de um Security Event (SEv) específico [SWS_IdsM_91006], [SWS_IdsM_02001]. A interface é declarada no cabeçalho IdsM_Cbk.h, possui o Service ID 0x0C e é especificada como síncrona e reentrante [SWS_IdsM_91006].

Na chamada, o DCM passa o ID externo do evento de segurança (In_SecurityEventId), o ID de instância do sensor (In_SensorInstanceId) e o status da operação (OpStatus) [SWS_IdsM_91006]. Como valor de retorno, a função fornece Std_ReturnType:

Em caso de erro (E_NOT_OK), o IdsM é obrigado a fornecer um Negative Response Code (NRC) concreto por meio do parâmetro de saída ErrorCode; caso isso não ocorra, o DCM envia por padrão o NRC 0x22 (Conditions Not Correct) [SWS_IdsM_91006].

A função apenas dispara a rotina; a leitura propriamente dita dos resultados apurados ocorre posteriormente por meio da função IdsM_Dcm_GetReportingMode_RequestResults [SWS_IdsM_91007].

Esta nota de uso foi gerada automaticamente. Todas as informações apoiam-se exclusivamente na especificação AUTOSAR Classic R20-11.

Guia do implementador em breve (complexidade I2)

função IdsM_Dcm_SetReportingMode_Start [SWS_IdsM_91008] 📄 PDF

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ecdd252e141c Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função síncrona e reentrante IdsM_Dcm_SetReportingMode_Start é chamada pelo módulo de diagnóstico (DCM) para iniciar a rotina de alteração do modo de relatório (IdsMReportingModeFilter) para um determinado evento de segurança no Intrusion Detection System Manager [SWS_IdsM_91008], [SWS_IdsM_01901]. A declaração é disponibilizada através do ficheiro de cabeçalho IdsM_Cbk.h [SWS_IdsM_91008].

Aquando da chamada, são transmitidos o ID de evento externo (In_SecurityEventId), o ID de instância de sensor (In_SensorInstanceId), o novo modo de relatório a definir (In_ReportingMode) e o estado operacional (OpStatus) [SWS_IdsM_91008], [SWS_IdsM_01901]. A função devolve os seguintes valores de retorno:

  • E_OK: A execução da operação foi concluída com sucesso [SWS_IdsM_91008].
  • DCM_E_PENDING: O processamento ainda não está concluído e é continuado de forma assíncrona [SWS_IdsM_91008].
  • E_NOT_OK: A operação falhou; neste caso, deve ser definido um Negative Response Code (NRC) concreto através do parâmetro de saída ErrorCode, caso contrário o DCM transmite o NRC 0x22 [SWS_IdsM_91008].

Se a validação do ID de evento falhar devido à utilização de um Security Event Definition ID inválido, a função devolve E_NOT_OK e define obrigatoriamente o código de erro ErrorCode para DCM_E_REQUESTOUTOFRANGE [SWS_IdsM_01903].

Esta nota de utilização foi gerada automaticamente e baseia-se nas especificações AUTOSAR.

Guia do implementador em breve (complexidade I2)

tipo IdsM_Filters_BlockStateType [SWS_IdsM_91017] 📄 PDF

Data type used for "Block State" filter values (bit masks)

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 71b3951aed67 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de dados IdsM_Filters_BlockStateType serve para a definição de máscaras de bits para filtros de «Block State» do Intrusion Detection System Manager (IdsM) de acordo com [SWS_IdsM_91017]. O tipo é derivado de uint16, cobre o intervalo de valores inteiros de 0 a 65535 e é disponibilizado para módulos de software através do header IdsM_Filters_Types.h ([SWS_IdsM_91017]).

A utilização primária ocorre em interação com o Basic Software Mode Manager (BswM). No caso de alterações do estado do sistema ou da centralina, o BswM chama a função de callback IdsM_BswM_StateChanged e passa o estado atual da centralina através do parâmetro state deste tipo ([SWS_IdsM_91005]). Esta interface de callback está declarada em IdsM_Cbk.h, não possui valores de retorno e está especificada como síncrona, bem como reentrante ([SWS_IdsM_91005]).

Interpretação: Como o tipo foi concebido como máscara de bits para filtros, é provável que o IdsM compare o valor de estado da ECU transmitido com estados de filtro configurados, para filtrar a aquisição ou o bloqueio de eventos de segurança em função do estado da centralina. Pergunta Q-00b355cc5ec6383f (aberta) Não existe um tratamento de erros autónomo com códigos de erro específicos, mensagens DET ou DEM para este tipo de dados.

Esta nota foi gerada por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR CP R20-11.

Guia do implementador em breve (complexidade I1)

tipo IdsM_Filters_ReportingModeType [SWS_IdsM_91013] 📄 PDF

Reporting modes used by the reporting mode filter

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4e0ba45d0047 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O tipo de dados IdsM_Filters_ReportingModeType baseia-se no tipo de base uint8 e é disponibilizado para componentes de software através do ficheiro de cabeçalho IdsM_Types.h [SWS_IdsM_91013]. Descreve os modos de relatório padronizados que são aplicados dentro do filtro Reporting-Mode no Intrusion Detection System Manager (IdsM) para o processamento e reencaminhamento direcionados de eventos de segurança [SWS_IdsM_91013].

Através dos valores de enumeração definidos, é controlado com precisão se um evento é reportado e que nível de detalhe é utilizado para o efeito [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF (0x00): O evento é suprimido e não é reportado a instâncias superiores [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF (0x01): O evento é reportado sem dados de contexto adicionais de forma compacta [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED (0x02): O evento é reportado de forma detalhada com inclusão de todos os dados de contexto relevantes [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF_BYPASSING_FILTERS (0x03): O evento contorna as etapas de filtragem subsequentes e é reportado sem dados de contexto, de forma não filtrada [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED_BYPASSING_FILTERS (0x04): O evento contorna as etapas de filtragem subsequentes e é reportado de forma não filtrada, incluindo a totalidade dos dados de contexto [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_INVALID (0xFF): Identifica um modo de relatório inválido dentro do intervalo de valores [SWS_IdsM_91013].

Os valores combinam, portanto, duas dimensões de controlo funcionais: o grau de detalhe através dos dados de contexto, bem como o desvio direcionado de mecanismos de filtragem regulares através do bypassing [SWS_IdsM_91013]. Isto permite ao IdsM um tratamento diferenciado de incidentes de segurança consoante a criticalidade e a configuração de filtragem [SWS_IdsM_91013].

Este texto foi gerado por uma IA com base na especificação R20-11.

Guia do implementador em breve (complexidade I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_IdsM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_IdsM@rel:R20-11#c49824e5
Content hash
c49824e5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_IntrusionDetectionSystemManager.pdf#nameddest=SWS_IdsM_91001

Inicialização e estado

Returns version information, vendor ID and AUTOSAR module ID of the component.

void IdsM_GetVersionInfo (const Std_VersionInfoType* versionInfo);
IdsM_Init função

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

void IdsM_Init (const IdsM_ConfigType* configPtr);

Serviços

This callback function is invoked by the BswM to indicate ECU state changes.

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This API is the application interface to report security events to the IdsM.

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events with context data to the IdsM.

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

Callbacks

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

BufReq_ReturnType IdsM_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

void IdsM_TpTxConfirmation (PduIdType id, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void IdsM_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Cíclico

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

void IdsM_MainFunction (void);

Tipos

Configuration data structure of IdsM module.

Data type used for "Block State" filter values (bit masks)

Reporting modes used by the reporting mode filter

Data type used for local IdsM Security Event IDs

Data type for IdsM timestamps