3. Уязвимости и риски
Связанные с протоколом BGP риски обусловлены тремя основными уязвимостями:
- BGP не имеет внутреннего механизма обеспечения сильной защиты целостности и актуальности данных, а также аутентификации партнеров для сообщений, передаваемых между узлами BGP.
- Отсутствует механизм проверки полномочий AS для анонсируемой информации NLRI.
- Отсутствует механизм обеспечения достоверности атрибутов пути, анонсируемых AS.
Первая из перечисленных уязвимостей закрывается обязательной поддержкой [TCPMD5] в спецификации BGP. После развертывания [TCPMD5] целостность сообщения и аутентификация партнеров будут обеспечены. Механизм [TCPMD5] предполагает, что алгоритм MD5 является безопасным, а разделяемый секрет защищен и достаточно сложно предсказуем.
В последующем обсуждении уязвимости будут описываться в терминах машины конечных состояний BGP FSM. Указанные здесь события определены и обсуждаются в разделе 8 документа [RFC4271]. К таким событиям относятся:
- [Административные события]
- Событие 2: ManualStop
- Событие 8: AutomaticStop
- [Таймеры]
- Событие 9: ConnectRetryTimer_Expires
- Событие 10: HoldTimer_Expires
- Событие 11: KeepaliveTimer_Expires
- Событие 12: DelayOpenTimer_Expires
- Событие 13: IdleHoldTimer_Expires
- [События, связанные с соединениями TCP]
- Событие 14: TcpConnection_Valid
- Событие 16: Tcp_CR_Acked
- Событие 17: TcpConnectionConfirmed
- Событие 18: TcpConnectionFails
- [События, связанные с сообщениями BGP]
- Событие 19: BGPOpen
- Событие 20: BGPOpen with DelayOpenTimer running
- Событие 21: BGPHeaderErr
- Событие 22: BGPOpenMsgErr
- Событие 23: OpenCollisionDump
- Событие 24: NotifMsgVerErr
- Событие 25: NotifMsg
- Событие 26: KeepAliveMsg
- Событие 27: UpdateMsg
- Событие 28: UpdateMsgErr