Ich habe über die BREACH attack gelesen und, das ist ein Angriff, der eine Web-Anwendung auf einer Server-Ebene auch beinhaltet, habe ich mich gefragt, ob es etwas gibt, diese Art von Angriffen in Rails zu blockieren.
Ich habe gefunden breach-mitigation-rails, dass sie sagen, ist keine kugelsichere Lösung, nur um einen Angriff in einigen Fällen zu mildern. Noch etwas in der Gegend?Wie kann man BREACH-Angriffe in Schienen vermeiden?
Antwort
Die Referenten von BREACH haben a website with further details gestellt. Das aufgeführten Milderungen, durch Wirksamkeit geordnet ist:
- Deaktivierung von HTTP-Komprimierung
- Geheimnisse von Benutzereingaben
- Randomisierung Geheimnissen pro Anfrage
- Masking Geheimnisse
- Schutz gefährdete Seiten mit CSRF
- Trennung Length hiding
- Mengenbegrenzende Anfragen
HTTP-Komprimierung kann relativ einfach auf dem Server deaktiviert werden, auf Kosten der Effizienz.
Die breach-mitigation-rails gem Adressen Punkte # 4 und # 6. Es wird wahrscheinlich das Zwischenspeichern unterbrechen und die Seitengröße erhöhen.
Another interesting fix arbeitet auf Punkt # 4, mit keiner der negativen Auswirkungen auf die Effizienz, aber es erfordert Javascript (die helfen können, Spam-Übertragungen reduzieren sowieso).
Ein official fix is also being discussed.
Sie können auch diese Nicht-Schienen-spezifische Frage interessant finden - https://security.stackexchange.com/questions/39925/breach-a-new-attack-against-http-what-can-be-done.
- 1. Wie kann man Festplattenfragmentierung vermeiden?
- 2. Wie kann man vermeiden Werte mit List
- 3. Wie man lange Konstruktoren vermeiden kann
- 4. Wie kann man Code-Konstruktoren vermeiden?
- 5. Wie man "case" vermeiden kann, wenn man `Maybe` behandelt
- 6. Wie kann man defekte Python-Prozesse in Linux vermeiden?
- 7. Wie kann man das Laden von Text in Ext.form.ComboBox vermeiden?
- 8. Wie kann man vermeiden, ein modale in Bootstrap Schließen
- 9. Wie kann man vermeiden */* MIME-Typen in Intent Filter
- 10. Wie kann man vermeiden N + 1, wenn in django
- 11. wie man vermeiden Deadlock in mysql
- 12. Wie kann man Gruppen in Reihen auf Schienen zählen?
- 13. Wie kann man Dekorateur in Schienen richtig verwenden?
- 14. Wie kann man die Bundler-Version in Schienen ändern?
- 15. Wie kann man feststellen, ob Schienen in Produktion sind?
- 16. Wie man einen Beitritt in Teradata vermeiden
- 17. Wie setzt man "Verknüpfungssymbol" in Schienen?
- 18. Wie man Controller innerhalb Namensraum in Schienen
- 19. Wie importiert man Daten in Schienen?
- 20. GetEntryAssembly gibt null zurück ... wie kann man es vermeiden?
- 21. Wie kann man Verlangsamung aufgrund von gesperrtem Code vermeiden?
- 22. Wie kann man eine Warnung für die Base 64 vermeiden?
- 23. Wie kann man die Normalisierung rationaler Zahlen im Boost vermeiden?
- 24. Wie kann man vermeiden, so viel mit ‚Selbst‘
- 25. Wie kann man den Leerlauf des iPhones zuverlässig vermeiden?
- 26. Wie kann man vermeiden Ausnahme erhöhen, wenn verschachtelte Attribute
- 27. Wie kann man vermeiden, die Scanner Position java Zurücksetzen
- 28. Hazelcast EntryListener, wie kann man den Rennzustand vermeiden?
- 29. Julia: Wie kann man Änderungen am Auto-Promotion-Typ vermeiden?
- 30. Wie kann man die URL-Decodierung von $ location.url vermeiden?
Was dies auf die akzeptierte Antwort hinzufügt? –
Hoppla, ich habe einen Link in der ursprünglichen Antwort verpasst, Entschuldigung für die Vervielfältigung. –