Specific Criticism of CVSS4
Marc Ruef
In den vorangegangenen Beiträgen HTTP-Header erwartete Anzahl Zeilen und HTTP-Header erwartete Grösse von GET-Requests wurden statistische Beobachtungen angestellt, um das erwartete und zugelassene Verhalten von Webbrowser-Implementierungen zu ermitteln.
Die Analysen wurden weitergetragen, indem die typischerweise auftretenden Header-Zeilen bei GET-Anfragen untersucht wurden. Dies ist zum Beispiel bei der Entwicklung eines hochsicheren Webservers oder bei der strikten Konfiguration eines Webproxies von Nutzen. Nachfolgende Grafik illustriert die 20 populärsten Header-Zeilen, wie sie von 300 untersuchten Webbrowsern verschickt werden.
Es ist zu sehen, dass der meistbenutzte Header User-Agent
(14.67%) darstellt, direkt gefolgt von Host
(14.08%). Das Ausbleiben der Host
-Zeilen ist vor allem bei älteren Implementierungen zu beobachten, die ausschliesslich HTTP/0.9 oder HTTP/1.0 unterstützen – Bei HTTP/1.1 ist diese Zeile erforderlich (RFC 2616, Absatz 14.23, Host).
Danach folgen Accept
(12.65%) und Connection
(11.22%). Die drei drauf folgenden Header lehnen sich an und sind Accept-Language
(9.65%), Accept-Encoding
(9.30%) und Accept-Charset
(6.69%). Erst an achter Stelle folgt die Referer
-Zeile (5.51%).
Pos | Header-Zeile | Auftreten | Quelle | Funktion |
---|---|---|---|---|
1. | User-Agent | 14.67% | RFC 1945, Absatz 10.15 | Name des Clients |
2. | Host | 14.08% | RFC 2616, Absatz 14.23 | Hostname des Servers |
3. | Accept | 12.65% | RFC 2616, Absatz 14.1 | Akzeptierte Medientypen |
4. | Connection | 11.23% | RFC 2616, Absatz 14.10 | Hinweise für Verbindungen |
5. | Accept-Language | 9.65% | RFC 2616, Absatz 14.4 | Akzeptierte Sprachen |
6. | Accept-Encoding | 9.31% | RFC 2616, Absatz 14.3 | Akzeptierte Encodierungen |
7. | Accept-Charset | 6.70% | RFC 2616, Absatz 14.2 | Akzeptierter Zeichensatz |
8. | Referer | 5.51% | RFC 1945, Absatz 10.13 | Gefolgter Link |
9. | Keep-Alive | 2.81% | RFC 2068, Absatz 19.7.1.1 | Lebensdauer der Verbindung |
10. | Cache-Control | 2.51% | RFC 2616, Absatz 14.9 | Cache-Verhalten |
11. | Via | 1.67% | RFC 2616, Absatz 14.45 | Proxy-Elemente |
12. | X-Forwarded-For | 1.13% | – | Weiterleitung für wen |
13. | Pragma | 1.08% | RFC 2616, Absatz 14.32 | Verhalten für Proxy-Elemente |
14. | UA-CPU | 0.84% | (Beispiele) | CPU-Architektur des Clients |
15. | Cookie | 0.74% | RFC 2965 | HTTP-Cookies |
16. | From | 0.44% | RFC 1945, Absatz 10.8 | Email-Adresse des Benutzers |
17. | If-Modified-Since | 0.39% | RFC 1945, Absatz 10.9 | Neue Abfrage bei Änderungen |
18. | X-Wap-Profile | 0.39% | – | WAP-Profil |
19. | X-BlueCoat-Via | 0.30% | Blue Coat Forum 1550 | ID der Blue Coat Proxies |
20. | Range | 0.25% | RFC 2616, Absatz 14.35 | Byte-Struktur |
21. | Client-IP | 0.20% | – | IP-Adresse des Clients |
22. | Proxy-Connection | 0.20% | – | Proprietärer Connection-Header |
23. | Icy-MetaData | 0.15% | (Beschreibung) | Shoutcast Metadata Protocol |
24. | UA-Color | 0.15% | RFC 4229, Absatz 2.2.12 | Farbtiefe des Clients |
25. | UA-Pixels | 0.15% | RFC 4229, Absatz 2.2.14 | Auflösung des Clients |
26. | X-Apple-Store-Front | 0.15% | – | Apple iTunes Storefront-ID |
27. | X-Apple-TZ | 0.15% | – | Apple iTunes |
28. | YahooRemoteIP | 0.15% | – | IP-Adresse des Yahoo Mail-Nutzers |
29. | Clientid | 0.10% | – | – |
30. | Extension | 0.10% | – | – |
Die gesamte Auswertung zeigt auf, dass es dennoch relativ schwierig ist, die erforderlichen, typischen und zugelassenen Header-Zeilen mit absoluter Genauigkeit zu determinieren. Zu viele Abweichungen zeigen die einzelnen Browser-Implementierungen. Spätestens wenn dann mit optionalen und proprietären X-Header Zeilen aufgewartet wird (der erste folgt als X-Forwarded-For
auf Position 12 mit 1.13%). Ein intelligentes Filtern von Header-Zeilen ist aufgrund dieses Wildwuchses leider nicht in effizienter Weise umsetzbar.
Hinzu kommt das Problem, dass die unterschiedlichen Webbrowser nicht immer die vorgesehene Gross-/Kleinschreibung der Header-Zeilen einhalten. Normalerweise werden die Anfangsbuchstaben gross und alles andere klein geschrieben (z.B. User-Agent
oder Accept
). Einige Produkte pflegen jedoch zum Beispiel alles klein zu schreiben (z.B. user-agent
, vorzugsweise durch Sony-Ericsson Handies) oder nur den ersten Buchstaben gross zu schreiben (z.B. Shelob 1.0 als User-agent
). Eine Betrachtung dieser Finessen ist angedacht und wird voraussichtlich in einem zukünftigen Beitrag diskutiert werden.
Our experts will get in contact with you!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Our experts will get in contact with you!