F o r ma l S e c u r i t y A n a l y s i s o f t h e O p e n I D F i n a n c i a l - g r a d e A P I D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s T o a p p e a r a t I E E E S e c u r i t y a n d P r i v a c y 2 0 1 9 2 0 1 9 - 0 3 - 2 0
Mo t i v a t i o n ► O p e n I D F i n a n c i a l - g r a d e A P I – P r o fj l e o f O A u t h 2 . 0 A u t h o r i z a t i o n F r a m e w o r k ► “ F i n a n c i a l - g r a d e ” : – “ h i g h l y s e c u r e d O A u t h p r o fj l e ” – “ t o b e u s e d i n w r i t e a c c e s s t o fj n a n c i a l d a t a [ … ] a n d o t h e r s i m i l a r h i g h e r r i s k a c c e s s ” – “ h i g h e r r i s k u s e c a s e s ” ► S u c h s i t u a t i o n s a r e e x t r e m e l y i n t e r e s t i n g f o r a t t a c k e r s . . . 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 2 / 4 3
S o m e R e c e n t A t t a c k s . . . 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 3 / 4 3
O b j e c t i v e s o f o u r Wo r k ► C r e a t e a Mo d e l o f t h e F i n a n c i a l - g r a d e A P I – I n c l u d i n g : P K C E , m T L S , O A U T B , . . . ► C a p t u r i n g S e c u r i t y G o a l s a n d A s s u m p t i o n s ► P r o o f o f S e c u r i t y P r o p e r t i e s 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 4 / 4 3
O u t l i n e ● Mo d e l - b a s e d A p p r o a c h ● F i n a n c i a l - g r a d e A P I – K e y Me c h a n i s m s – A t t a c k e r Mo d e l ● S e c u r i t y P r o p e r t i e s ● A t t a c k s F o u n d t h r o u g h t h e A n a l y s i s
O u t l i n e ● Mo d e l - b a s e d A p p r o a c h ● F i n a n c i a l - g r a d e A P I – K e y Me c h a n i s m s – A t t a c k e r Mo d e l ● S e c u r i t y P r o p e r t i e s ● A t t a c k s F o u n d t h r o u g h t h e A n a l y s i s
P r e v i o u s l y A n a l y z e d P r o t o c o l s WI M Mo z i l l a B r o w s e r I D O A u t h 2 . 0 O p e n I D C o n n e c t ► D ► D ► F ► I i s c o v e r e d s e v e r e e s i g n e d f r o m s c r a t c h o u n d s e v e r a l n e w n c l u d i n g e x t e n s i o n s a t t a c k s a g a i n s t a t t a c k s ► F ► D i r s t f o r m a l i z e d i n e v e l o p e d b e s t a u t h e n t i c a t i o n ► D M , t h e n e v e l o p e d fj x e s a n d p r a c t i c e s a g a i n s t WI ► A f t e r fj x e s : P r o o f o f i m p l e m e n t e d i m p l e m e n t a t i o n k n o w n a t t a c k s a u t h e n t i c a t i o n g u i d e l i n e s ► F ► P i r s t S S O w i t h p r o v e n r o o f o f s e c u r i t y ► S ► P p e c i a l f e a t u r e p r i v a c y : p r i v a c y a n d s e c u r i t y r o o f o f s e c u r i t y b r o k e n b e y o n d r e p a i r [ S & P 2 0 1 4 ] [ ] [ ] [ ] C C S 2 0 1 5 C C S 2 0 1 6 C S F 2 0 1 7 [ E S O R I C S 2 0 1 5 ] 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 7 / 4 3
O u r Mo d e l - B a s e d A p p r o a c h A t t a c k s F o r m a l P r o o f s o f P r o p e r t i e s ↻ R i n s e a n d r e p e a t p r o o f s F i x e s u n t i l p r o o f g o e s t h r o u g h . s e c u r i t y P r e c i s e F o r m a l p r o p e r t i e s S e c u r i t y P r o p e r t i e s a p p l i c a t i o n - s p e c i fj c A p p l i c a t i o n m o d e l m o d e l b u i l t f r o m F o u n d a t i o n : g e n e r i c w e b s o u r c e c o d e o r F o r m a l d e s c r i p t i o n o f i n f r a s t r u c t u r e m o d e l s p e c i fj c a t i o n t h e w e b 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 8 / 4 3
A d v a n t a g e s T h i s a p p r o a c h c a n y i e l d . . . ● n e w a t t a c k s a n d r e s p e c t i v e fj x e s ● s t r o n g s e c u r i t y g u a r a n t e e s e x c l u d i n g e v e n u n k n o w n t y p e s o f p r o o f s a t t a c k s s e c u r i t y p r o p e r t i e s a p p l i c a t i o n - s p e c i fj c m o d e l g e n WI e r i c M w e b w e b i n f r a s t r u c t u r e m o d e l i n f r a s t r u c t u r e m o d e l 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 9 / 4 3
O u t l i n e ● Mo d e l - b a s e d A p p r o a c h ● F i n a n c i a l - g r a d e A P I – K e y Me c h a n i s m s – A t t a c k e r Mo d e l ● S e c u r i t y P r o p e r t i e s ● A t t a c k s F o u n d t h r o u g h t h e A n a l y s i s
O p e n I D F i n a n c i a l - g r a d e A P I ( F A P I ) ► P r o fj l e o f t h e O A u t h 2 . 0 A u t h o r i z a t i o n F r a m e w o r k ► U t i l i z e s m e c h a n i s m s o f O p e n I D C o n n e c t ► D i fg e r e n t P r o fj l e s – R e a d - O n l y P r o fj l e ● A u t h o r i z a t i o n C o d e F l o w – R e a d - Wr i t e P r o fj l e ● O I D C H y b r i d F l o w ● A u t h o r i z a t i o n C o d e F l o w w i t h J A R M 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 1 1 / 4 3
O A u t h 2 . 0 A u t h o r i z a t i o n C o d e Mo d e $ A u t h o r i z a t i o n C l i e n t B r o w s e r S e r v e r 1 . A u t h o r i z a t i o n R e q u e s t 2 . R e d i r e c t A u t h o r i z a t i o n R e q u e s t + A u t h e n t i c a t e C 3 . A u t h o r i z a t i o n R e s p o n s e w i t h A u t h o r i z a t i o n C o d e 4 . R e d i r e c t A u t h o r i z a t i o n R e s p o n s e C 5 . s e n d A T 6 . s e n d A c c e s s T o k e n R e s o u r c e S e r v e r A T 7 . r e t r i e v e d a t a u s i n g 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 1 2 / 4 3
A t t a c k e r Mo d e l ( R e a d - O n l y P r o fj l e ) $ A u t h o r i z a t i o n C l i e n t B r o w s e r S e r v e r 1 1 . . A A u u t t h h o o r r i i z z a a t t i i o o n n R R e e q q u u e e s s t t 2 . R e d i r e c t A u t h o r i z a t i o n R e q u e s t + A u t h e n t i c a t e C 3 . A u t h o r i z a t i o n R e s p o n s e w i t h A u t h o r i z a t i o n C o d e 4 4 . . R R e e d d i i r r e e c c t t A A u u t t h h o o r r i i z z a a t t i i o o n n R R e e s s p p o o n n s s e e C 5 . s e n d A p p C l i e n t A T 6 . s e n d A c c e s s T o k e n R e s o u r c e S e r v e r A T 7 . r e t r i e v e d a t a u s i n g L e a k a g e 2 0 1 9 - 0 3 - 2 0 D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K ü s t e r s 1 3 / 4 3
Recommend
More recommend