Dit Toegepaste Beperkingsbulletin is een metgezeldocument aan de Reactie van de Veiligheid van PSIRT: PHP de Kwetsbaarheid van de Overstroming van de Encoder van de Encoder van de Encoder van de Encoder van de Encoder van de Encoder in Veelvoudige Web-Based Management Interfaces. Het documenteert extra mitigatietechnieken die op Cisco-apparaten binnen het netwerk kunnen worden geïmplementeerd.
Een kwetsbaarheid bestaat in bepaalde PHP-functies die bij specifieke Cisco-producten worden meegeleverd. Een geverifieerde aanvaller kan deze kwetsbaarheid op afstand exploiteren. Er is geen gebruikersinteractie nodig. Als deze kwetsbaarheid met succes wordt benut, kan ongeprivilegieerde codeuitvoering worden toegestaan. De vectoren die worden gebruikt om deze kwetsbaarheid te exploiteren zijn de protocollen HTTP en HTTPS (TCP-poorten 80 en 443). Deze kwetsbaarheid wordt gedekt door CVE ID 2006-5465.
Informatie over kwetsbare, onaangetaste en vaste software is beschikbaar in de PSIRT Security Response op https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityResponse/cisco-sr-20070425-http
Cisco devices bieden verschillende tegenmaatregelen voor de PHP HTML entity encoder heap overflow kwetsbaarheid. Veel van deze beveiligingsmethoden moeten worden beschouwd als algemene best practices op het gebied van beveiliging van infrastructuurapparaten en het verkeer dat het netwerk doorkruist.
Cisco IOS-software kan effectieve middelen voor explosiepreventie bieden door gebruik te maken van infrastructuurtoegangscontrolelijsten (iACL’s). De firewalls van Cisco ASA, PIX en Firewall Services Module (FWSM) kunnen ook effectieve middelen ter voorkoming van explosies bieden door gebruik te maken van transittoegangscontrolelijsten (tACL’s). Zowel de infrastructuur als de transittoegangscontrolelijsten (ACL’s) filteren en verwerpen het IP-bronadres van pakketten die de in dit document beschreven kwetsbaarheid proberen te exploiteren.
Detectieve controles kunnen worden uitgevoerd door Cisco IOS NetFlow met behulp van flowrecords en door Cisco IOS-software, Cisco ASA 5500 Series adaptieve security applicatie, Cisco PIX 500 Series security applicatie, en de FWSM voor Cisco Catalyst 6500 Series switches en Cisco 7600 Series routers via syslogberichten en de tegenwaarden die worden weergegeven in de uitvoer van show-opdrachten.
Organisaties moeten hun standaard risicobeperkingsproces volgen om de mogelijke gevolgen van deze kwetsbaarheid te bepalen. Documenten die kunnen worden gebruikt om te helpen bij de bepaling van de risico's zijn beschikbaar bij Risk Triage voor Security Vulnerability aankondigingen en Risk Triage en Prototyping.
Waarschuwing: de effectiviteit van elke mitigatietechniek is afhankelijk van specifieke klantsituaties zoals productmix, netwerktopologie, verkeersgedrag en organisatorische missie. Zoals bij elke configuratiewijziging, evalueer het effect van deze configuratie voordat u de wijziging toepast.
Voor de volgende hulpmiddelen is specifieke informatie over beperking en identificatie beschikbaar:
In een poging om infrastructuurapparaten te beschermen en het risico, de impact en de doeltreffendheid van directe infrastructuuraanvallen tot een minimum te beperken, moeten toegangscontrolelijsten voor infrastructuur worden opgesteld om de beleidshandhaving van verkeer dat naar infrastructuurapparatuur wordt verzonden, uit te voeren. Beheerders kunnen een iACL construeren door alleen geautoriseerd verkeer toe te staan dat naar infrastructuurapparaten wordt verzonden in overeenstemming met bestaand beveiligingsbeleid en configuraties. Voor een maximale bescherming van infrastructuurapparaten moeten iACL’s in de toegangsrichting worden toegepast op alle interfaces waarop een Layer 3 IP-adres is geconfigureerd.
In het volgende voorbeeld is het adresblok 192.168.1.0/24 de adresruimte voor infrastructuur. Het iACL-beleid ontkent HTTP- en HTTPS-pakketten die zijn bestemd voor TCP-poorten 80 en 443 en verzonden naar adressen die deel uitmaken van de adresruimte van de infrastructuur. Zorg ervoor dat het vereiste verkeer voor routing en administratieve toegang is toegestaan voordat alle verkeer dat rechtstreeks naar infrastructuurapparaten wordt gestuurd, wordt ontkend. Waar mogelijk moet de adresruimte van de infrastructuur worden onderscheiden van de adresruimte die wordt gebruikt voor gebruikers- en dienstensegmenten. Het gebruik van deze adresseringsmethodologie zal helpen bij de constructie en implementatie van iACL’s.
Toegevoegde toegangscontrolevermeldingen (ACE’s) moeten worden geïmplementeerd als deel van een iACL-beleid dat wordt gebruikt om verkeer te filteren op netwerktoegangspunten.
Aanvullende informatie over iACL’s is beschikbaar bij Protected Your Core: Infrastructure Protection Access Control Lists.
ip access-list extended infrastructure-acl-policy !-- Permit additional Layer 3 and Layer 4 traffic destined for infrastructure !-- address space as dictated by existing security policies and configurations. ! !-- Permit/deny traffic to infrastructure IP addresses in accordance !-- with security policy. ! !-- Vulnerability-specific deny statements to aid identification deny tcp any 192.168.1.0 0.0.0.255 eq 80 deny tcp any 192.168.1.0 0.0.0.255 eq 443 !-- Default deny to affected IP addresses deny ip any 192.168.1.0 0.0.0.255 !-- Permit/deny all other IP traffic in accordance with !-- existing security policies and configurations. ! !-- Apply iACL to interface(s) in the ingress direction. interface GigabitEthernet0/0 ip access-group infrastructure-acl-policy in !
Merk op dat het filtreren met een lijst van de interfacetoegang de transmissie van onbereikbare berichten ICMP terug naar de bron van het gefilterde verkeer zal veroorzaken. Dit zou het ongewenste effect van het verhogen van het gebruik van cpu kunnen hebben omdat het het filtreren apparaat deze onbereikbare berichten moet produceren ICMP. In IOS, is de onbereikbare generatie van ICMP beperkt tot één pakket elke 500 milliseconden. ICMP onbereikbare berichtgeneratie kan worden uitgeschakeld met de opdracht interfaceconfiguratie op ICMP onbereikbaar. ICMP-onbereikbare snelheidsbeperking kan worden gewijzigd ten opzichte van de standaardwaarde van één per 500 milliseconden met behulp van de wereldwijde ip icmp-snelheidslimiet voor onbereikbare interval-in-ms van het configuratiebevel. De beheerders kunnen intervallen van 1 door 4294967295 milliseconden specificeren.
Met een iACL, zodra de toegangslijst op een interface in de toegangsrichting is toegepast, kan het show access-list bevel worden gebruikt om het aantal pakketten HTTP en HTTPS op TCP-poorten 80 en 443 te identificeren die worden gefilterd. Gefilterde pakketten zouden moeten worden onderzocht om te bepalen of zij pogingen zijn om deze kwetsbaarheid te exploiteren. De output van het voorbeeld voor toont toegang-lijst infrastructuur-acl-beleid volgt:
router#show access-list infrastructure-acl-policy Extended IP access list infrastructure-acl-policy 10 deny tcp any 192.168.1.0 0.0.0.255 eq 80 (92 matches) 20 deny udp any 192.168.1.0 0.0.0.255 eq 443 (23 matches) 30 deny ip any 192.168.1.0 0.0.0.255 -- Infrastructure ACL Policy Truncated -- router#
In het voorafgaande voorbeeld, heeft het infrastructuur-acl-beleid van de toegangslijst 92 pakketten HTTP op TCP-poort 80 voor ACE-sequentie-ID 10 en 23 HTTPS-pakketten op TCP-poort 443 voor ACE-sequentie-ID 20 laten vallen. Dit is ACL wordt toegepast op de interface Gigabit Ethernet0/0 in de toegangsrichting.
Cisco IOS NetFlow kan worden geconfigureerd op Cisco IOS-routers en -switches om te helpen bij de identificatie van verkeersstromen die mogelijk pogingen zijn om de kwetsbaarheid te exploiteren die in dit document wordt beschreven. De pakketten zouden moeten worden onderzocht om te bepalen of zij pogingen zijn om deze kwetsbaarheid of wettig verkeer te exploiteren.
router#show ip cache flow IP packet size distribution (149962503 total packets): 1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 .008 .582 .047 .008 .008 .008 .005 .012 .000 .001 .004 .001 .002 .002 .006 512 544 576 1024 1536 2048 2560 3072 3584 4096 4608 .001 .001 .161 .011 .122 .000 .000 .000 .000 .000 .000 IP Flow Switching Cache, 4456704 bytes 27 active, 65509 inactive, 65326701 added 208920154 ager polls, 0 flow alloc failures Active flows timeout in 1 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, 402056 bytes 27 active, 16357 inactive, 4854213 added, 4854213 added to flow 0 alloc failures, 0 force free 1 chunk, 11 chunks added last clearing of statistics never Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec) -------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow TCP-Telnet 11409641 2.6 1 49 3.1 0.0 1.5 TCP-FTP 7371 0.0 8 54 0.0 6.0 7.8 TCP-FTPD 713 0.0 3109 889 0.5 50.4 0.6 TCP-WWW 182891 0.0 13 735 0.5 4.3 9.3 TCP-SMTP 12 0.0 1 47 0.0 0.0 10.5 TCP-X 731 0.0 1 40 0.0 0.0 1.4 TCP-BGP 13 0.0 1 46 0.0 0.0 10.3 TCP-NNTP 12 0.0 1 47 0.0 0.0 9.7 TCP-Frag 70401 0.0 1 688 0.0 0.0 22.7 TCP-other 49417868 11.5 2 340 28.8 0.1 1.4 UDP-DNS 1411124 0.3 1 57 0.4 0.0 15.4 UDP-NTP 1365184 0.3 1 76 0.3 0.6 15.5 UDP-TFTP 10 0.0 2 57 0.0 6.6 18.6 UDP-other 1134163 0.2 2 160 0.5 0.3 16.6 ICMP 325667 0.0 7 48 0.5 11.7 20.0 IPv6INIP 15 0.0 1 1132 0.0 0.0 15.4 GRE 694 0.0 1 50 0.0 0.0 15.4 IP-other 2 0.0 2 20 0.0 0.1 15.7 Total: 65326512 15.2 2 315 34.9 0.1 2.4 SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi0/0 10.21.96.74 Gi0/1* 192.168.1.11 06 F079 01BB 4 Gi0/0 10.21.96.74 Gi0/1 192.168.1.11 06 F079 01BB 4 Gi0/0 10.89.16.34 Gi0/1* 192.168.150.60 06 0FC8 0016 1 Gi0/0 10.89.16.34 Gi0/1 192.168.150.60 06 0FC8 0016 1 Gi0/1 192.168.150.60 Gi0/0* 10.89.16.34 06 0016 0FC8 1 Gi0/1 192.168.150.60 Gi0/0 10.89.16.34 06 0016 0FC8 1 Gi0/1 192.168.150.1 Gi0/0* 198.41.0.4 11 0401 0035 1 Gi0/1 192.168.150.1 Gi0/0 198.41.0.4 11 0401 0035 1 Gi0/0 192.168.208.63 Local 192.168.208.20 06 8876 0017 76 Gi0/1 192.168.128.2 Gi0/0* 10.88.226.1 11 007B 007B 1 Gi0/1 192.168.128.2 Gi0/0 10.88.226.1 11 007B 007B 1 Gi0/1 192.168.144.3 Gi0/0* 10.88.226.1 11 007B 007B 1 Gi0/1 192.168.144.3 Gi0/0 10.88.226.1 11 007B 007B 1 Gi0/0 10.88.226.1 Gi0/1* 192.168.144.3 11 007B 007B 1 Gi0/0 10.88.226.1 Gi0/1 192.168.144.3 11 007B 007B 1 Gi0/1 192.168.150.1 Gi0/0* 192.228.79.201 11 0401 0035 1 Gi0/1 192.168.150.1 Gi0/0 192.228.79.201 11 0401 0035 1 Gi0/1 192.168.150.1 Gi0/0* 128.63.2.53 11 0401 0035 1 Gi0/1 192.168.150.1 Gi0/0 128.63.2.53 11 0401 0035 1
In het vorige voorbeeld zijn er meerdere stromen voor het HTTPS-protocol op poort 443 (hexadecimale waarde <01BB>). Dit verkeer is afkomstig van 10.21.96.74 en verzonden naar 192.168.1.11, dat wordt gebruikt voor infrastructuur apparaten. Netwerkbeheerders kunnen verklaringen opnemen gebruiken om alleen bepaalde IP-adressen of bestemmingspoorten op te nemen om de NetFlow-uitvoer te beperken tot gegevens die waarschijnlijk relevanter zijn. Een voorbeeld zou ip cachestroom tonen | inclusief 01BB, waarin alleen hosts worden weergegeven waarvoor TCP-poort 443 (hex-waarde <01BB>) wordt gebruikt. Deze stromen moeten worden onderzocht om te bepalen of de stromen afkomstig zijn van niet-vertrouwde host(s) en/of netwerken.
In een poging om het netwerk te beschermen tegen randverkeer dat het netwerk binnengaat op toegangspunten of verkeer dat het netwerk doorkruist, moeten transittoegangscontrolelijsten (tACL’s) worden geïmplementeerd om beleidshandhaving voor dit verkeer uit te voeren. Beheerders kunnen een tACL construeren door alleen geautoriseerd verkeer expliciet toe te staan om het netwerk op access points binnen te gaan of door geautoriseerd verkeer toe te staan om door het netwerk te reizen in overeenstemming met bestaand beveiligingsbeleid en configuraties.
In het volgende voorbeeld is het adresblok 192.168.1.0/24 de adresruimte voor infrastructuur. Het tACL-beleid ontkent onbevoegde pakketten op TCP-poorten 80 (HTTP) en 443 (HTTPS) die zijn verzonden naar adressen die deel uitmaken van de adresruimte van de infrastructuur
Zorg ervoor dat het vereiste verkeer voor routing en administratieve toegang is toegestaan voordat alle niet-geautoriseerde verkeer wordt ontkend. Waar mogelijk moet de adresruimte van de infrastructuur worden onderscheiden van de adresruimte die wordt gebruikt voor gebruikers- en dienstensegmenten. Het gebruik van deze adresseringsmethodologie zal helpen bij de bouw en de uitrol van tACL’s.
Aanvullende informatie over ACL’s is beschikbaar bij Transit Access Control Lists: Filtering at Your Edge.
!-- Permit/Deny additional Layer 3 and Layer 4 traffic to enter !-- the network at ingress access points or traffic that has been un/authorized !-- to transit the network in accordance with existing security policies !-- and configurations. Deny all !-- packets on TCP ports 80 and 443 sent to any IP address configured within the !-- address block of 192.168.1.0/24, which is the infrastructure address !-- space, except from known trusted source networks (ex: management networks, !-- security operations center, network operations center). ! !-- The following are vulnerability-specific access control entries (ACEs) to aid !-- in identification of attacks. access-list transit-acl-policy extended deny tcp any 192.168.1.0 255.255.255.0 eq www access-list transit-acl-policy extended deny tcp any 192.168.1.0 255.255.255.0 eq https ! !-- Explicit default deny ACE for unauthorized traffic entering the network !-- at ingress access points or unauthorized transit traffic sent to addresses !-- configured within the infrastructure address space. access-list transit-acl-policy extended deny ip any 192.168.1.0 255.255.255.0 ! !-- Permit/Deny all other Layer 3 and Layer 4 traffic in accordance with !-- existing security policies and configurations. ! !-- Apply tACL to interface(s) in the ingress direction. access-group transit-acl-policy in interface outside !
Met een tACL, zodra de toegangslijst op een interface in de toegangsrichting is toegepast, kan het show access-list bevel worden gebruikt om het aantal pakketten HTTP en HTTPS op TCP-poorten 80 en 443 te identificeren die worden gefilterd. Gefilterde pakketten zouden moeten worden onderzocht om te bepalen of zij pogingen zijn om deze kwetsbaarheid te exploiteren. Een voorbeeldoutput voor toont het doorvoerbeleid-acl-beleid van de toegangslijst volgt:
firewall# show access-list transit-acl-policy access-list transit-acl-policy line 1 extended deny tcp any 192.168.1.0 255.255.255.0 eq www (hitcnt=11) access-list transit-acl-policy line 2 extended deny tcp any 192.168.1.0 255.255.255.0 eq https (hitcnt=6) access-list transit-acl-policy line 3 extended deny ip any 192.168.1.0 255.255.255.0 (hitcnt=0) -- Transit ACL Policy Truncated -- firewall#
In het voorafgaande voorbeeld is het transitorakel-beleid voor de toegangslijst 11 HTTP-pakketten die zijn bestemd voor TCP-poort 80 en zes HTTPS-pakketten die zijn bestemd voor TCP-poort 443, ontvangen van niet-vertrouwde hosts of netwerken, kwijtgeraakt. Deze tACL wordt toegepast op de interface buiten in de toegangsrichting.
Het 106023 van het firewallsyslog zal voor pakketten worden geproduceerd die door ACE worden ontkend die niet het aanwezige logboeksleutelwoord heeft. Aanvullende informatie over dit syslogbericht is beschikbaar in het systeemlogbericht van Cisco Security Appliance - 106023.
Informatie over het configureren van syslog voor de Cisco ASA 5500 Series adaptieve security applicatie of de Cisco PIX 500 Series security applicatie is beschikbaar bij het configureren van vastlegging op de Cisco security applicatie. Informatie over het configureren van syslogbestanden op het FWSM voor Cisco Catalyst 6500 Series-switches en Cisco 7600 Series-routers is beschikbaar bij het configureren van vastlegging op de Cisco security applicatie.
In de volgende voorbeelden wordt de showvastlegging | de opdracht grep regex wordt gebruikt om syslog-berichten uit de logboekbuffer op de firewall te halen. Dit wordt uitgevoerd om extra informatie te verkrijgen over geweigerde pakketten die zouden kunnen wijzen op potentiële pogingen om de kwetsbaarheid te exploiteren die in dit document wordt beschreven. Het is mogelijk om verschillende regex patronen met het grep sleutelwoord te gebruiken om te zoeken naar specifieke gegevens aanwezig binnen de gelogde berichten. In sommige gevallen is het mogelijk om kwaadaardig verkeer sneller te identificeren door gebruik te maken van meerdere grep opdrachten en reguliere expressies.
firewall#show logging | grep 106023 Apr 11 2007 14:31:17: %ASA-4-106023: Deny tcp src outside:192.168.208.63/34938 dst inside:192.168.1.5/80 by access-group "transit-acl-policy" [0x55c1c7ff, 0x0] Apr 11 2007 14:31:18: %ASA-4-106023: Deny tcp src outside:192.168.208.63/34939 dst inside:192.168.1.5/80 by access-group "transit-acl-policy" [0x55c1c7ff, 0x0] Apr 11 2007 14:31:25: %ASA-4-106023: Deny tcp src outside:192.168.208.63/34940 dst inside:192.168.1.6/80 by access-group "transit-acl-policy" [0x55c1c7ff, 0x0]
In het voorafgaande voorbeeld tonen de berichten (106023) die zijn geregistreerd voor het tACL-doorvoer-acl-beleid HTTP- en HTTPS-pakketten voor TCP-poorten 80 en 443 die zijn verzonden naar het adresblok dat is toegewezen aan de netwerkinfrastructuur. Wanneer beheerders kwaadwillige bronadressen identificeren, kunnen zij grep bevelen met de bijbehorende kwaadwillige IP adressen willen gebruiken om te zien of zijn er andere pogingen geweest. Het kan verstandig zijn om opgeslagen loggegevens te onderzoeken om te zien welke andere activiteit is geassocieerd met de kwaadaardige IP-adressen.
Aanvullende informatie over syslogberichten voor ASA- en PIX-beveiligingsapparaten is beschikbaar in Cisco Security Appliance System Log Messages. Aanvullende informatie over syslog-berichten voor de FWSM is beschikbaar op Catalyst 6500 Series Switch en Cisco 7600 Series router Firewall Services Module Vastlegging Configuratie en System Log Berichten.
DIT DOCUMENT WORDT AANGEBODEN OP EEN ‘AS IS’-BASIS EN IMPLICEERT GEEN ENKEL SOORT GARANTIE, MET INBEGRIP VAN GARANTIES VAN VERKOOPBAARHEID OF GESCHIKTHEID VOOR EEN BEPAALD DOEL. UW GEBRUIK VAN DE INFORMATIE IN HET DOCUMENT OF DE MATERIALEN GEKOPPELD AAN HET DOCUMENT IS GEHEEL OP EIGEN RISICO. CISCO BEHOUDT ZICH HET RECHT VOOR OM DIT DOCUMENT TE ALLEN TIJDE TE WIJZIGEN OF TE ANNULEREN.
Revisie 1.0 |
2007-april-25 |
Eerste openbare publicatie |
Volledige informatie over het melden van beveiligingskwetsbaarheden in Cisco-producten, het verkrijgen van assistentie bij beveiligingsincidenten en het registreren om beveiligingsinformatie van Cisco te ontvangen, is beschikbaar op de wereldwijde website van Cisco op https://sec.cloudapps.cisco.com/security/center/resources/security_vulnerability_policy.html. Dit omvat instructies voor persvragen over Cisco-beveiligingsmeldingen. Alle Cisco-beveiligingsadviezen zijn beschikbaar op http://www.cisco.com/go/psirt.