32

Developing secure web applications

Embed Size (px)

DESCRIPTION

Developing secure web applications by David Rook at the IWTC conference in 2008.

Citation preview

Page 1: Developing secure web applications

��������������������� �������������������������������������������� ��

Page 2: Developing secure web applications

�������� ������� �� �����������

������������ �����������������

!�����"�#�������$���� �������%�&��������� ��"���� ��������%

�������� �����#�����

Page 3: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#����#�� ����'

� �#� �������#��������� �

� (��%�������� ��"�����#����#�����'

� �#����%�����������������

� �#� ������$���

� �#��� �������������

Page 4: Developing secure web applications

�������� ������� �� �����������

�����

� ���������������� �����

� �#� �������#��������� �

� (��%�������� ��"�����#����#�����'

� �#����%�����������������

� �#� ������$���

� �#��� �������������

Page 5: Developing secure web applications

�������� ������� �� �����������

���������������� �����

Page 6: Developing secure web applications

�������� ������� �� �����������

�� ���������������� ��������

� ���%� ��%���$���)*+, *-�� #� .��/� ����%�����)*��, *�0��� #� !����������%�)*+, *�1��� #� !����%%����)*+�-2, *��2����3.� 4���%������)*0, *+���� #

��#���"��������������#�")

5��%6�#��7(�������� ��/��)*��� #

8����$��/� ������#*+�9���$���� �)*����� #

Page 7: Developing secure web applications

�������� ������� �� �����������

����� ���������������������

:��$���$���%���5!������ �9�������%&������$�������"&����5!���$��

����

����

���

!���

"���

#���

$���

���% ���$ ���# ���" ���! ��� ���� ���� ����

& ���

Page 8: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#��#�� ����'

� '��� ��������������(���

� (��%�������� ��"�����#����#�����'

� �#����%�����������������

� �#� ������$���

� �#��� �������������

Page 9: Developing secure web applications

�������� ������� �� �����������

'��� ��������������(���

� ��������� ����"; ��<

� �=>��?� ���

� .�����8&�������

� ������3���"�����4����

� ����������@� ������

� 4�� ����.�����"

� ���� ��������� �����7�����"�

Page 10: Developing secure web applications

�������� ������� �� �����������

)����������������*+��,

� 8 ����#�������� ����� ����%��������������������� � ��% ����� �� �#� $� / �� �#� $������ ��#���&��%�����

�� �������������$������ ��/�;������������$��/��"�<

�� ������ #������$#�����

!�� ���"� ������������������� �����#��������������/

�������"��%�������"������$� �&���

� ���� /��� #� �����0$�������%���$���

� :��?���?�&�� ���A

Page 11: Developing secure web applications

�������� ������� �� �����������

Page 12: Developing secure web applications

�������� ������� �� �����������

�-./�0������

� �=>��?� ��������$� �����#����%��&���$�������������������=>�����������������#���"#��%B�����#�%���$���%�� ����

�� �����&%�%������#����� /����������%���$����

�� ��%���7�%�����%���$����

� ���%�������%���������$� �����&������$�������������%���"�=>��?� ���

Page 13: Developing secure web applications

�������� ������� �� �����������

���� �)�����/ %� ��

Page 14: Developing secure web applications

�������� ������� �� �����������

1 ((��2���(���

� �.�����8&������� ����%�#������������������%%����� ��%��#��C����#����� ���%$������

����������%� ������

@���������& �

!��&��������&��"��

������ ��������

� ����������%���"��"��"���������������

Page 15: Developing secure web applications

�������� ������� �� �����������

������������3���4����

� ����������"����������� ���#�������� �����������/�����������������%��������# #����������� �����������������

�������@D� ���%$��������%$����� /���

��������# #�� /������� ���%$�E������F

���%������ ���%$�������

� ����(�����,3�$��#� /

Page 16: Developing secure web applications

�������� ������� �� �����������

/�(��3������������ ��

� ����������%� ������ ��� ���#�������� ����%������ ���� �������"������ ��%�����

G�,������%����������"�� ��#������� /���

8�������%��#�����#���� /��� #���=>�?� ���

� (����� ������������)

Page 17: Developing secure web applications

�������� ������� �� �����������

� ������������4��� ���

� ������ ������#��� ��������������� ��������%��#��#�$��������" �������� �����!������������%��������#��C�%� ���������� ��%�� ���������$����

��,�������%�������

!��&��������&��"��

.������� ����� /���"��� ������#����� ����

� 3���� � �������� ��/�

Page 18: Developing secure web applications

�������� ������� �� �����������

4����( �1������

� E��� ��F G�>D��#���#���%����$��&���$������&��"�%����� ��$���� ������$�����%����%%����#���#���%$��� ���%�E�$� ���%F

!��&��������&��"��

@����#����#���"#%�� �������&�����

� 4�����9$��"����������%��$����%����"��

Page 19: Developing secure web applications

�������� ������� �� �����������

/���� ��)�33 ���������5������

� ���� ��������B������������� ����%������������%�#���������%�

�#����������&�%���

>����� ���%���������%���"�����%���

3����#��%%������ /�

� 3� ����%�����������&������$���

Page 20: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#��#�� ����'

� �#� �������#��������� �

� 6��������������������������������

� �#����%�����������������

� �#� ������$���

� �#��� �������������

Page 21: Developing secure web applications

�������� ������� �� �����������

7���������������������

� .��%�� �����9�&�%E�����"F ��

� ��������% ��%�������$�������"

� �� ������ ���% �%���&���

� �� ��������������������

� 4����������%����%��@>�� @������B��������9#�&� ����%��"��9%�&����9��&����%����

� �%%������ �������#���B����������%%��"����"�

� G����������/��� #��.���������%��$� ���$

� >��/����$&����� ���������;���&��%�����������<

� (��%���#����&��9������#"#��&�����������/�� ����

Page 22: Developing secure web applications

�������� ������� �� �����������

'�����������������������

� �������%8�����&��%����

H ������#��%���� ������

H >������&��"�

� �#���������;��"!�<��%�� �%�������

� ��� #�����������%���&%��������%����������"�

� �������� ������%�%������ ���������

� ����"������3���"������ (��%�����&���9�� ���%��������"�9��%��"��� ���

� ������"���#�� �� �������� �&��;��>&-7�>�&+7��(&�<

� �� ��������"�;�!�9�(�,�2I9"��%�����<

Page 23: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#��#�� ����'

� �#� �������#��������� �

� (��%�������� ��"�����#����#�����'

� ����������8����97��3����

� �#� ������$���

� �#��� �������������

Page 24: Developing secure web applications

�������� ������� �� �����������

6������8����9�������������

� .������ ����������#"#��&����������������� ����

� �� �������$�%%�%����#�%�&����������� ���

� �#����3�%���"��%�������

� � �����=���%�����������

� !%� ����9$��#���������%��������

� ����������#��%��#� /���%�&���������),<

Page 25: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#��#�� ����'

� �#� �������#��������� �

� (��%�������� ��"�����#����#�����'

� �#����%�����������������

� '�������������

� �#��� �������������

Page 26: Developing secure web applications

�������� ������� �� �����������

'�������������

� ����������B����4��"���;���47 ��4<

� �J� �� ���������

� ��������� ����"; ��<

� �=>��?� ���

� >� /���/���%������������

� �����&�%����"����"���#���$

Page 27: Developing secure web applications

�������� ������� �� �����������

�����

� �#�$��#��#�� ����'

� �#� �������#��������� �

� (��%�������� ��"�����#����#�����'

� �#����%�����������������

� �#� ������$���

� ���������������3���

Page 28: Developing secure web applications

�������� ������� �� �����������

���������������3����� 8����������� ������

� #�� /������"

� ���� /������"

� ��:���������� �� �����

� K��"�����/������������������������� ���������������� �

� ��������������� ;������������<

� @�� ��7���&%���;���K��"��5%���<

� ������ ������?�� ���/ ;���� ����$��"<

Page 29: Developing secure web applications

�������� ������� �� �����������

1��:����33����������)���������������������:�;+��<9�����������(����

�/�1=; L0�,+2L01L+21L

�4 >>��;1� ��4����& ��������������������

�/�1=; L0�,�-�+11I++1

�'������������*�������(�7��(��������,

�/�1=; L0�,�0-2I+LL+-

�'������(��(�������� ����'�����;/�����(�����(�������� ����4����

�/�1=; L0�,�-�+-�1�I2

���� ��7����33��������������������;?�������(�������� ����8���������������������

�/�1=; L0�,�-�+1�100�

�/3����������������������� ����;'���������)� ����3��� ���

�/�1=; L0�,�0-2I+�1��

Page 30: Developing secure web applications

�������� ������� �� �����������

� 33���

� �������#�/���� �����������#��@>�

� 5��%����9&��%����9&��%����

� �����&���� ����������� ���������

� ����� ��"����/�����������#�����:8�

Page 31: Developing secure web applications
Page 32: Developing secure web applications

/�������'��������)��(���������%

=�9���������

'���:�;+++++

'���:�;�����

'���: ;@@@@@