Cosa si può definire come criterio di qualità per uno schema XML?

-1

Uno degli usi della convalida dell'input è la protezione contro XSS. Nel caso in cui sia necessario definire le migliori pratiche per le funzioni che convalidano l'input, alcuni (che sto chiamando criteri di qualità) devono verificare il tipo previsto, verificare la lunghezza prevista, verificare l'intervallo previsto ed ecc ...

XML Bombs generalmente sfrutta il parser XML nell'elaborazione della DTD XML o dello schema XML. Pertanto, mi chiedo se alcuni sarebbero in grado di aiutarmi a definire alcuni criteri di "qualità" per verificare che lo schema XML non sia vulnerabile a, FOR INSTANCE XML Bombs ... come simile al modo in cui ho citato per Input Validation.

Is there any, or what are the best practices in creating XML Schema in order, for instance, to avoid endless loops, or ...

Nel caso in cui ci siano già alcuni strumenti o API di convalida della sicurezza dello schema XML, come per la convalida dell'input contro XSS ..., anch'io sono interessato.

    
posta Phoenician-Eagle 20.01.2011 - 13:10
fonte

2 risposte

1

Se il tuo obiettivo è difendersi dagli attacchi con bombe XML, uno speciale DTD o schema non è la giusta difesa. La difesa più robusta è probabilmente quella di porre limiti di risorse sul parser XML. Ad esempio, esegui il parser XML in un processo separato, con limiti sulla quantità di memoria e tempo CPU che può utilizzare; se supera questi limiti, uccidere il parser e trattarlo come un errore nell'analisi del documento XML.

Un'altra difesa plausibile contro gli attacchi con bombe XML è impedire ai documenti XML di definire entità XML. Ad esempio, disabilitare la definizione in linea degli schemi DTD nei documenti e impedire la definizione di entità esterne. Questo potenzialmente ha una perdita di funzionalità, quindi potrebbe non essere una difesa accettabile. (In alternativa, alcuni parser XML possono darti un modo per limitare l'espansione delle entità XML, per prevenire le bombe XML.)

Se il tuo obiettivo è difendersi dagli attacchi XSS, riformula la domanda. Uno specifico DTD o schema non è probabilmente la giusta difesa contro gli attacchi XSS, ma dovrai spiegare il problema in modo più chiaro prima di poter dare suggerimenti migliori per gestire XSS.

    
risposta data 20.02.2011 - 04:16
fonte
-1

define some quality criteria, like check for expected type, check for the expected length, check for the expected range and etc

Questo è cosa fa il DTD . Ma è valido o non lo è - se si desidera una scala mobile è necessario confrontare l'XML con più DTD (anche se dal momento che un documento XML può fare riferimento solo a una DTD, il termine "modelli XML" potrebbe essere più appropriato, anche se la sintassi sarebbe la stessa).

    
risposta data 20.01.2011 - 15:22
fonte

Leggi altre domande sui tag