กรอบการทํางานใหม่ในการ ... กรอบ... ·...

133
กรอบการทํางานใหม่ในการป องกันการโจมตีที ใช้เอกซ์เอ็มแอล The New Framework to Defend Against XML-Based Attacks ชาตรี ทองวรรณ วิทยานิพนธ์นี >เป็นส่วนหนึ งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมเครือข่าย คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2557

Upload: others

Post on 13-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

กรอบการทางานใหมในการปองกนการโจมตท�ใชเอกซเอมแอล The New Framework to Defend Against XML-Based Attacks

ชาตร ทองวรรณ

วทยานพนธน>เปนสวนหน�งของการศกษา

หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมเครอขาย

คณะวทยาการและเทคโนโลยสารสนเทศ

มหาวทยาลยเทคโนโลยมหานคร

ปการศกษา 2557

Page 2: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

I

หวขอ กรอบการทางานใหมในการปองกนการโจมตท�ใชเอกซเอมแอล

ชอนกศกษา นาย ชาตร ทองวรรณ

รหสนกศกษา 5217660059

หลกสตร วทยาศาสตรมหาบณฑต สาขาวศวกรรมเครอขาย

ปการศกษา 2557

อาจารยทปรกษา ผศ.ดร.วรพล ลลาเกยรตสกล

บทคดยอ

วทยานพนธน5จะเปนการนาเสนอกรอบการทางาน (Framework) ท�มความสามารถในการตรวจสอบและปองกนการโจมตเวบเซอรวส (Web service) ท�ใชเอกซเอมแอล (XML) ไมวาจะเปนการโจมตแบบ Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow หรอ Replay Attack สาหรบกรอบการทางานน5 ประกอบไปดวยสามสวนคอ สวนท�หน�งจะเปนสวนของการเรยนรรปแบบของเอกซเอมแอลท�เปนไปไดเพ�อนามาสรางเอกซเอมแอลสคมา (XML schema) สวนท�สองจะเปนสวนของการกาหนดคาพารามเตอร (Parameter) ท�จาเปนในการตรวจสอบและสวนท�สามจะเปนสวนของการตรวจสอบรปแบบเอกซเอมแอล สวนของการพฒนาใช Apache Tomcat, Apache Axis2, MySQL และ JAVA ในการพฒนา ผลการทดสอบแสดงใหเหนวากลไกของกรอบการทางาน ทางานไดอยางมประสทธภาพ ในการตรวจสอบและปองกนการโจมตเวบเซอรวสท�ใชเอกซเอมแอล

Page 3: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

II

Topic The New Framework to Defend Against XML-Based Attacks

Student Name Chartree Tongwan

Student ID 5217660059

Course Master of Science in Network Engineering

Year 2014

Advisor Asst.Prof.Dr.Woraphon Lilakiatsakun

Abstract

This thesis presents the new framework that has ability to detect and prevent

attacks based on XML to Web services. These attacks include Oversize Payload,

Recursive Payload, Parameters Tampering, Buffer Overflow and Replay. The framework

consists of three stages. The first stage is to learn and analyze XML documents in

order to create XML schema. The second stage is to identify and set all parameters

necessary for attack detection, and the third stage is to validate the XML format. The

framework has been developed using Apache Tomcat, Apache Axis2, MySQL and

JAVA language. The experimental results showed that mechanisms of the framework

work effectively in detection and preventing XML-based attacks to several web services.

Page 4: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

III

กตตกรรมประกาศ

วทยานพนธฉบบน�สามารถสาเรจไดตามความมงหมายซ#งไดรบความกรณาจากอาจารย

ท#ปรกษาวทยานพนธ ผศ.ดร.วรพล ลลาเกยรตสกล ท#ไดเสนอแนะแนวทางในการดาเนนการ

วจย รวบรวมแกไข และตรวจสอบขอผดพลาด ในระหวางการจดทา รวมท �งขอขอบคณ

คณาจารยทกๆ ทานท#ไดใหความชวยเหลอในเร#องขอมลตางๆ ในงานวจยฉบบน�

สดทายน�ขาพเจาขอกราบขอบพระคณบดา มารดา ผท#คอยใหกาลงใจใหการสนบสนน

สาหรบการศกษาในคร �งน� รวมถงเพ#อนๆ รนพ#และบคคลท#มไดกลาวถง ขอขอบคณ ท#คอยให

ความชวยเหลอและใหกาลงใจเสมอมา

ชาตร ทองวรรณ

Page 5: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

IV

สารบญ

หนา

บทคดยอภาษาไทย ............................................................................................................ I

บทคดยอภาษาองกฤษ ...................................................................................................... II

กตตกรรมประกาศ ............................................................................................................ III

สารบญ............................................................................................................................. IV

สารบญรป ....................................................................................................................... VII

สารบญตาราง .................................................................................................................. XII

บทท 1 บทนา......................................................................................................................

1.1 ความเปนมา ................................................................................................... 1

1.2 ความสาคญของปญหา .................................................................................... 4

1.3 วตถประสงคของงานวจย ................................................................................ 5

1.4 ภาพรวมของงานวจย ...................................................................................... 5

1.5 ขอบเขตของวทยานพนธ ................................................................................. 6

1.6 ประโยชนท คาดวาจะไดรบ ……… .................................................................. 7

1.7 โครงสรางวทยานพนธ ..................................................................................... 7

บทท 2 พ:นฐานและงานวจยท เก ยวของ ................................................................................

2.1 เวบเซอรวส (Web service) ........................................................................... 8

2.1.1 แบบอยางเวบเซอรวส (Web Services Model) ..................................... 8

2.1.2 ภาษาเอกซเอมแอล (XML) ................................................................. 10

2.1.3 เนมสเปช (Namespace) .................................................................... 12

2.1.4 ภาษาเอกซเอมแอลสคมา (XML schema) .......................................... 13

2.1.5 การส งงานระยะไกล (Remote Procedure Calls หรอ RPC) ............... 15

2.1.6 โซพโพรโทคอล (Simple Object Access Protocol หรอ SOAP) ......... 16

2.1.7 ภาษาดบเบลยเอสดแอล (WSDL) ....................................................... 20

2.1.8 ยดดไอ (Universal Description, Discovery, and Integration) ............ 24

Page 6: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

V

สารบญ (ตอ)

หนา

2.2 การโจมตบนเวบเซอรวสท ใชเอกซเอมแอล .................................................... 25

2.3 กลไลการรกษาความปลอดภยเวบเซอรวสในปจจบน ..................................... 27

2.3.1 The XML Key Management Specification (XKMS) ......................... 28

2.3.2 The Security Assertion Markup Language ...................................... 28

2.3.3 XML Signature and XML Encryption ............................................... 28

2.3.4 WS-Security ...................................................................................... 28

2.4 งานวจยท เก ยวของ ...................................................................................... 30

2.4.1 การตรวจสอบความถกตองของ SOAP message ............................... 30

2.4.2 การโจมตบนเวบเซอรวสและแผนการบรรเทาการโจมต ....................... 30

2.4.3 การตรวจสอบอนพท (input) ดวย เอกซเอมแอลสคมา ......................... 31

2.4.4 การตรวจจบการโจมตเวบเซอรวสดวยอลกอรทม (Algorithms) ............ 32

2.4.5 การปองกนเวบเซอรวสดวย XML firewall (Nedgty, 2005 ) ................ 33

2.4.6 การปองกนเวบเซอรวสดวย XML firewall (S-Wall, 2011) .................. 34

2.5 บทสรป ......................................................................................................... 35

บทท 3 วธการดาเนนการวจย ..............................................................................................

3.1 การออกแบบ ................................................................................................ 37

3.1.1 สวนของการเรยนร ............................................................................. 38

3.1.2 สวนของการกาหนดคาพารามเตอรท จาเปน ........................................ 42

3.1.3 สวนของการตรวจสอบ ........................................................................ 44

บทท 4 การทดลอง .............................................................................................................

4.1 สภาพแวดลอมของระบบท ใชทดลอง ............................................................. 53

4.2 การทดลองการโจมตแบบ Replay Attack ...................................................... 55

4.3 การทดลองการโจมตแบบ Buffer Overflow ................................................... 56

Page 7: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

VI

สารบญ (ตอ)

หนา

4.4 การทดลองการโจมตแบบ Parameter Tampering ......................................... 56

4.5 การทดลองการโจมตแบบ Recursive Payload .............................................. 57 4.6 การทดลองการโจมตแบบ Oversize Payload ................................................ 57

บทท 5 ผลการทดลองและสรปผล ........................................................................................

5.1 ผลของการเรยนรรปแบบเอกซเอมแอลท เปนไปได ......................................... 59

5.2 ผลของการทดลอง ........................................................................................ 65

5.2.1 ผลของการทดลอง SOAP flooding ..................................................... 65

5.2.2 ผลของการทดลอง Replay Attack ...................................................... 66

5.2.3 ผลของการทดลอง Buffer Overflow.................................................... 67

5.2.4 ผลของการทดลอง Parameter Tampering ......................................... 69

5.2.5 ผลของการทดลอง Recursive Payload .............................................. 70

5.2.6 ผลของการทดลอง Oversize Payload ................................................ 73

5.3 การสรางรายงานสาหรบผดแลระบบ .............................................................. 74

5.4 สรปผลและขอเสนอแนะ ................................................................................ 76

เอกสารอางอง.................................................................................................................. 77

ภาคผนวก ก จดเตรยมสภาพแวดลอมระบบ ............................................................... ก-1

ภาคผนวก ข ตดต :งกรอบการทางาน ...........................................................................ข-1

Page 8: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

VII

สารบญรป

หนา

รปท 1.1 มาตรฐานการรกษาความปลอดภยเวบเซอรวส.................................................... 4

รปท 1.2 กรอบการทางานท นาเสนอสาหรบตรวจสอบขอมลบนพ:นฐานสถานะ

(State-based data validation: S-DV) .............................................................. 6

รปท 2.1 สถาปตยกรรมของเวบเซอรวส ............................................................................. 9

รปท 2.2 ตวอยางเอกสารเอกซเอมแอล ............................................................................ 10

รปท 2.3 เอกสาร orders.xml และ products.xml ตามลาดบ ............................................. 12

รปท 2.4 ไฟลเอกสาร products.xml ท มการระบเนมสเปช ................................................ 12

รปท 2.5 ไฟลเอกสารเอกซเอมแอล (products.xml).......................................................... 14

รปท 2.6 เอกสารเอกซเอมแอลสคมา (products.xsd) ....................................................... 14

รปท 2.7 การนยามโครงสรางของอลเมนต "age" ............................................................ 15

รปท 2.8 ข :นตอนการส อสารผานเครอขายดวยการส งการระยะไกล ................................... 16

รปท 2.9 การส อสารของโซพโพรโทคอลท ขนสงผานโพรโทคอลอ น ................................... 16

รปท 2.10 โครงสรางของโซพโพรโทคอล .......................................................................... 17

รปท 2.11 อลเมนต Header ของเอกสารโซพ ................................................................... 18

รปท 2.12 เอกสารโซพขนสงดวยโพรโทคอลเอสททพ ...................................................... 19

รปท 2.13 เอกสาร SOAP request ท ขนสงดวยโพรโทคอลเอสททพ ................................. 19

รปท 2.14 เอกสาร SOAP response ท ขนสงดวยโพรโทคอลเอสททพ .............................. 20

รปท 2.15 โครงสรางเอกสารดบเบลยเอสดแอลเวอรชน 1.1 .............................................. 21

รปท 2.16 ตวอยางเอกสารดบเบลยเอสดแอล ................................................................... 22

รปท 2.16 ตวอยางเอกสารดบเบลยเอสดแอล (ตอ) ......................................................... 23

รปท 2.17 สถาปตยกรรมของยดดไอสาหรบลงทะเบยนและสบคน .................................... 24

รปท 2.18 โครงสรางเอกสารลงทะเบยนของยดดไอ .......................................................... 25

รปท 2.19 การโจมตแบบ Replay Attack ......................................................................... 26

รปท 2.20 การโจมตแบบ Buffer Overflow ....................................................................... 26

รปท 2.21 การโจมตแบบ Parameter Tampering ............................................................ 26

Page 9: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

VIII

สารบญรป (ตอ)

หนา

รปท 2.22 การโจมตแบบ Recursive Payload ................................................................. 27

รปท 2.23 การโจมตแบบ Oversize Payload ................................................................... 27

รปท 2.24 มาตราฐานการรกษาความปลอดภย SOAP message ..................................... 29

รปท 2.25 สถาปตยกรรมและแผนงานการรกษาความปลอดภยในเวบเซอรวส .................. 29

รปท 2.26 สถาปตยกรรม CheckWay Firewall ................................................................ 30

รปท 2.27 สถาปตยกรรมการตรวจสอบการโจมต ............................................................. 31

รปท 2.28 สถาปตยกรรม WSIVM (Web Services Input Validation Model) ................... 31

รปท 2.29 เอกสารขอกาหนด ........................................................................................... 32

รปท 2.30 สถาปตยกรรมการตรวจสอบขอมลดวยอลกอรทม ............................................ 33

รปท 2.31 สถาปตยกรรมของ Nedgty .............................................................................. 34

รปท 2.32 สถาปตยกรรมของ S-Wall .............................................................................. 35

รปท 2.33 เอกสารดบเบลยเอสดแอลสวนของอลเมนต type .............................................. 36

รปท 3.1 กรอบการทางานท นาเสนอสาหรบตรวจสอบขอมลบนพ:นฐานสถานะ

(State-based data validation: S-DV) ........................................................... 37

รปท 3.2 การเรยนรรปแบบเอกสารเอกซเอมแอล ............................................................. 38

รปท 3.3 เอกสารโซพเพ อขอใชบรการ ............................................................................. 39

รปท 3.4 เอกสารเอกซเอมแอลสคมาของ Header ............................................................ 40

รปท 3.5 เอกสารเอกซเอมแอลสคมาของ Body ................................................................ 41

รปท 3.6 เอกสารเอกซเอมแอลสคมาของ Body รวมกบคาพารามเตอร ............................. 44

รปท 3.7 ข :นตอนการตรวจสอบในสวนของ (Check Timestamp) ...................................... 45

รปท 3.8 สวนของ Header ในเอกสารโซพ ....................................................................... 45

รปท 3.9 ข :นตอนการตรวจสอบในสวนของ (Schema Validator) ...................................... 46

รปท 3.10 การสงขอมลเกนขอบเขตของขอมลท กาหนด ................................................... 47

รปท 3.11 ข :นตอนการตรวจสอบในสวนของ (Check State) ............................................. 48

รปท 3.12 ข :นตอนการตรวจสอบในสวนของ (Check Parameter Module)........................ 49

รปท 3.13 การบรรจขอมลใน CDATA .............................................................................. 50

Page 10: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

IX

สารบญรป (ตอ)

หนา

รปท 3.14 ข :นตอนการวเคราะหขอมลท มชนดเปนตวเลข .................................................. 50

รปท 3.15 การเปล ยนสถานะของการรองขอ ..................................................................... 51

รปท 4.1 สภาพแวดลอมของการทดลอง ........................................................................... 53

รปท 4.2 ตรวจจบการโจมตแบบ Replay Attack .............................................................. 55

รปท 4.3 เอกซเอมแอลสคมาสาหรบกาหนดขอบเขตขอมล ............................................... 56

รปท 4.4 เอกซเอมแอลสคมาควบคมโครงสรางเอกซเอมแอล ............................................ 57

รปท 4.5 เอกซเอมแอลสคมาสาหรบตรวจสอบ ................................................................. 58

รปท 4.6 การตรวจจบการโจมตแบบ Oversize Payload .................................................. 58

รปท 5.1 การกาหนดคาพารามเตอรใหกบบรการ readXML ............................................. 60

รปท 5.2 เอกสารเอกสาร SOAP request ในการสงเพ อเรยนรรปแบบขอมล ..................... 61

รปท 5.3 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Header ..................................... 62

รปท 5.4 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Body ......................................... 63

รปท 5.4 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Body (ตอ) ................................ 64

รปท 5.5 ตวอยางการเพ มวนเวลาในการสรางเอกสารโซพในสวนของ Header .................. 66

รปท 5.6 ตวอยางของลอกท ถกสรางจากการตรวจจบชวงชวตของ Message .................... 66

รปท 5.7 เอกสารเอกซเอมแอลสคมาสาหรบตรวจสอบขอมลสาหรบบรการ power ............ 67

รปท 5.8 บางสวนของลอกจากการทดลอง Buffer Overflow ............................................. 69

รปท 5.9 บางสวนของลอกจากการทดลอง Parameter Tampering ................................... 70

รปท 5.10 เอกสารโซพท มอลเมนต transaction วางซอนทบกน 5 ระดบ .......................... 71

รปท 5.11 บางสวนของลอกจากการทดลอง Recursive Payload ...................................... 72

รปท 5.12 รายงานสาหรบผดแลระบบ .............................................................................. 74

รปท 5.13 รายละเอยดของลอก ........................................................................................ 75

รปท� ก.1 หนาตางตอบรบการตดต �ง AppServ 2.5.10 ..................................................... ก-1

รปท� ก.2 หนาตางตอบรบลขสทธ %โปรแกรม .................................................................... ก-2

รปท� ก.3 หนาตางในการเลอกตาแหนงตดต �งโปรแกรม ................................................... ก-2

รปท� ก.4 หนาตางในการเลอกองคประกอบของโปรแกรม ............................................... ก-3

Page 11: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

X

สารบญรป (ตอ)

หนา รปท� ก.5 หนาตางกาหนดคาใหเวบเซรฟเวอร ................................................................ ก-3

รปท� ก.6 หนาตางกาหนดรหสผานใหผใชงานช�อ root .................................................... ก-4

รปท� ก.7 หนาตางส�นสดการตดต �งโปรแกรม ................................................................... ก-4

รปท� ก.8 หนาตางการทดสอบโปรแกรม ........................................................................ ก-5

รปท� ก.9 หนาตางตอบรบการตดต �งโปรแกรม JAVA ...................................................... ก-5

รปท� ก.10 หนาตางกาหนดตาแหนงของการตดต �งโปรแกรม JAVA ................................. ก-6

รปท� ก.11 หนาตางของการตดต �งโปรแกรม JAVA ......................................................... ก-6

รปท� ก.12 หนาตางของการตดต �ง JRE .......................................................................... ก-7

รปท� ก.13 หนาตางการดาเนนการตดต �ง JRE ................................................................ ก-7

รปท� ก.14 หนาตางเสรจส�นการตดต �ง JRE .................................................................... ก-8

รปท� ก.15 โฟลเดอรของ Apache-ant-1.9.4 ................................................................... ก-8

รปท� ก.16 หนาตาง System Properties ........................................................................ ก-9

รปท� ก.17 หนาตาง Environment Variables ................................................................. ก-9

รปท� ก.18 การทดสอบการตดต �ง Apache-ant-1.9.4 ..................................................... ก-10

รปท� ก.19 โฟลเดอรของ apache-tomcat-7.0.53 ......................................................... ก-10

รปท� ก.20 การปรบเปล�ยนหมายเลขพอรต ................................................................... ก-10

รปท� ก.21 หนาตางพรอมของเวบเซรฟเวอร ................................................................. ก-11

รปท� ก.22 หนาตางการทดสอบ apache-tomcat-7.0.53 ............................................... ก-11

รปท� ก.23 โฟลเดอรของ axis2-1.6.2 ........................................................................... ก-12

รปท� ก.24 ผลลพธของการประมวลผลคาส �ง ant ........................................................... ก-12

รปท� ก.25 ผลลพธของการคดลอก axis2.war ............................................................... ก-13

รปท� ก.26 ผลลพธของการทดสอบ axis2 ..................................................................... ก-13

รปท� ก.27 โครงสรางโฟลเดอรของ axis2 ..................................................................... ก-14

รปท� ข-1 หนาตางตอบรบของเวบเซรฟเวอร ...................................................................ข-1

รปท� ข.2 หนาตางเขาสระบบฐานขอมล ...........................................................................ข-1

รปท� ข.3 หนาตางสรางฐานขอมล....................................................................................ข-2

Page 12: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

XI

สารบญรป (ตอ)

หนา

รปท� ข.4 ข �นตอนการนาเขาฐานขอมล .............................................................................ข-2

รปท� ข.5 การจดโครงสรางโฟลเดอรท�จะใชในการพฒนาเวบเซอรวส ................................ข-3

รปท� ข.6 รายละเอยดของคลาส StockQuoteService ......................................................ข-3

รปท� ข.7 รายละเอยดของไฟล services.xml ...................................................................ข-4

รปท� ข.8 รายละเอยดของไฟล build.xml .........................................................................ข-4

รปท� ข.8 รายละเอยดของไฟล build.xml (ตอ) .................................................................ข-5

รปท� ข.9 ผลของการประมวลผลคาส �ง ant .......................................................................ข-6

รปท� ข.10 ตาแหนงวาง StockQuoteService.aar ...........................................................ข-6

รปท� ข.11 รายการของเวบเซอรวสท�เปดใหบรการ ..........................................................ข-7

รปท� ข.12 ตาแหนงในการคดลอกคลาสท �งหมดมาวาง .....................................................ข-8

รปท� ข.13 รายละเอยดของไฟล module.xml ...................................................................ข-9

รปท� ข.14 ตาแหนงในการสรางไฟล module.xml ..........................................................ข-10

รปท� ข.15 หนาหลกของผดแลระบบ..............................................................................ข-11

รปท� ข.16 หนาตางในการกาหนดให module เร�มตนทางาน ..........................................ข-11

รปท� ข.17 ตาแหนงของ mysql-connector-java-5.1.18-bin.jar ......................................ข-12

Page 13: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

XII

สารบญตาราง

หนา

ตารางท 3.1 ตารางแสดงคาพารามเตอรตางๆ ท จะถกกาหนดคาโดยผทดสอบระบบ ......... 42

ตารางท 3.2 ตวอยางการกาหนดคาพารามเตอรตางๆ โดยผทดสอบระบบ ........................ 43

ตารางท 5.1 ผลการทดลอง SOAP flooding .................................................................... 65

ตารางท 5.2 ผลการทดลอง Buffer Overflow .................................................................. 68

ตารางท 5.3 ผลการทดลอง Parameter Tampering ........................................................ 69

ตารางท 5.4 ผลการทดลอง Recursive Payload .............................................................. 72

ตารางท 5.5 ผลการทดลอง Oversize Payload ................................................................ 73

Page 14: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

1

บทท� 1 บทนา

1.1 ความเปนมา ในปจจบนเทคโนโลย ไดมการพฒนากาวหนาเปนอยางมาก โดยเฉพาะเทคโนโลยสารสนเทศและการส%อสาร ไดรบการพฒนามาอยางตอเน%อง ในปจจบนถอวาเปนยคของการส%อสารท%ไรพรมแดน อนเทอรเนตไดเขามาทาใหการส%อสารขอมลเปนไปอยางสะดวกและรวดเรวจงทาใหองคกรตางๆ ไดมการนาเอาอนเทอรเนตเขามาใชงานภายในองคกรจงทาใหมผลกระทบโดยตรงในหลายวงการ ไมวาทางการศกษาท%ทาใหผเรยนสามารถศกษาส%งตางๆ ท%ไมจากดเฉพาะในหองเรยน ผเรยนสามารถศกษาหาความรเพ%มเตมไดจากส%ออเลกทรอนกส ซ%งสามารถเขาถงไดผานอนเทอรเนต ในทางธรกจน 5นทาใหเจาของธรกจกบพนธมตรคคาตลอดจนลกคาสามารถตดตอส%อสารและประสานงานกนไดอยางสะดวกและรวดเรวไมวาจะเปนการตดตอส%อสารระหวางองคกรหรอระหวางแผนกท%อยในองคกรเดยวกนหรอตางองคกรน 5น แตในความเปนจรงแตละองคกรหรอแตละแผนกมกจะมรปแบบของขอมลมความแตกตางกนและโปรแกรมประยกต (applications) ตางๆ อาจจะถกพฒนาข5นมาจากหลากหลายแพลตฟอรม (platform) หลายๆ ภาษาโปรแกรมบนระบบปฏบตการท%แตกตางกน ในอดตท%ผานมาองคกรตางๆ มกจะประสบปญหาการทางานรวมกนของระบบตางๆ ถงแมวาองคกรเหลาน 5นจะสามารถนาเอาระบบหรอโปรแกรมประยกตตางๆ ท%มความแตกตางกนมาเช%อมตอเขาดวยกนใหสามารถทางานรวมกนได แตการทาเชนน 5นทาใหมคาใชจายท%สงและมความสลบซบซอนมาก ดวยเหตน5เองเวบเซอรวส (web service) จงถกนาใชในการเช%อมระบบหรอโปรแกรมประยกตท%มความแตกตางกนใหสามารถทางานรวมกนได โดยเวบเซอรวสจะใชรปแบบของขอมลท%เปนกลางและมาตรฐานการส%อสารขอมลในรปแบบท%เปนกลาง จงทาใหระบบหรอโปรแกรมประยกตท%มความแตกตางกน สามารถตดตอส%อสารและทางานรวมกน ดวยเหตผลน5จงทาใหองคกรตางๆ สามารถรวมระบบท%มความแตกตางกนเขาดวยกนได โดยท%ระบบเดมท%มอยแลวกยงสามารถทางานไดปกตและระบบใหมๆ ท%เพ%มเขามากสามารถทางานรวมกบระบบเดมท%มอยแลวไดอยางมประสทธภาพ ขอดอกประการหน%งของการนาเอาสวนของเวบเซอรวสมาใชสาหรบรวมระบบและแลกเปล%ยนขอมลคอการรวมระบบทาไดงายไมซบซอนและเสยคาใชจายในการรวมระบบต%า เวบเซอรวส [1] [2] คอระบบซอฟตแวรท%ออกแบบมาเพ%อสนบสนนการทางานรวมกนระหวางคอมพวเตอรผานระบบเครอขาย โดยใชภาษาเอกซเอมแอล (XML) ในการตดตอส%อสารและมการอธบายสวนของการตดตอเวบเซอรวสไวในรปแบบท%คอมพวเตอรเขาใจ (ระบไวในดบเบลยเอสดแอล (WSDL)) การตดตอส%อสารระหวางระบบอ%นกบเวบเซอรวส จะดาเนนการในลกษณะท%กาหนดโดยใช SOAP message ซ%งปกตจะขนสงไปบนเอชททพ (HTTP) หรออาจจะพดไดวาเวบเซอรวสกคอโปรแกรมประยกตรปแบบหน%งน 5นเอง โดยเปนโปรแกรมประยกตท%

Page 15: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

2

พฒนาข5นมาเพ%อวตถประสงคเพ%อใหทางานในลกษณะการใหบรการ (service) เพ%อสนบสนนในการทางานรวมกนระหวางโปรแกรมประยกตกบโปรแกรมประยกตผานระบบเครอขาย โดยใชรปแบบของขอมลและโพรโทคอล (protocol) ในการส%อสารขอมลท%เปนกลาง รปแบบของขอมลท%เปนกลาง เวบเซอรวสจะใชภาษาเอกซเอมแอลในการอธบายขอมลในการแลกเปล%ยนและยงใชภาษาเอกซเอมแอลในการอธบายการรปแบบของการตดตอส%อสารระหวางโปรแกรมประยกตดวย เน%องจากภาษาเอกซเอมแอลจะจดเกบขอมลในรปแบบของขอความท%เขารหสขอมลในรปแบบมาตราฐานทาใหทกๆ โปรแกรมประยกตสามารถเขาใจไดวาขอมลท%จดเกบน 5นคอขอมลอะไร ดวยความสามารถของเวบเซอรวสน5 ไดชวยสนบสนนโปรแกรมประยกตใหสามารถตดตอส%อสารกบโปรแกรมประยกตอ%นๆ ท%อาจอยบนเคร%องคอมพวเตอรเดยวกนหรออาจจะอยบนคอมพวเตอรอ%นท%เปดใหบรการบนเครอขายในรปแบบอารพซ ( RPC ) ยอมาจาก Remote Procedure Call ซ%งอารพซเปนโพรโทคอลท%อนญาตใหโปรแกรมประยกตหน%งสามารถขอใชบรการจากโปรแกรมประยกตอ%นท%ตดต 5งอยบนเคร%องคอมพวเตอรเดยวกนหรอเคร%องอ%น และเพ%อใหการเรยกใชงานเวบเซอรวสเปนเร%องงาย เวบเซอรวสท%นามาเปดใหบรการน 5นจะมการนาเอาขอมลของเวบเซอรวสไมวาจะเปน รปแบบของขอมลท%ใชแลกเปล%ยน โพรโทคอลท%ใชและอ%นๆ ไดถกนามาเขยนอธบายไวในเอกสารภาษาท%เรยกวา ดบเบลยเอสดแอล ท%ยอมาจาก Web Services Description Language โดยท%ภาษาดบเบลยเอสดแอลกมพ5นฐานเปนภาษาเอกซเอมแอลเชนกน โดยภายในเอกสารดบเบลยเอสดแอลจะประกอบไปดวยคาอธบายตางๆ ท%จาเปนในการเรยกใชงานเวบเซอรวสไมวาจะเปน รปแบบการเรยกใชงาน ชนดขอมลท%ใชในการรบสงขอมลระหวางกน ตาแหนงท%ต 5งของเวบเซอรวสและอ%นๆ เปนตน ดงน 5นอาจจะกลาวไดวา เอกสารของดบเบลยเอสดแอลเปรยบเสมอนคมอการใชงานเวบเซอรวส น %นเอง นอกจากจากน5เวบเซอรวสใชโซพโพรโทคอล (SOAP protocol) ท%ยอมาจาก Simple Object Access Protocol ในการขนยายขอมลระหวางโปรแกรมประยกต ซ%งโซพโพรโทคอลเปนโพรโทคอลทางานอยในระดบช 5นแอพพลเคชน (application layer) แตอยระดบบนสด (top level) และโซพโพรโทคอลมพ5นฐานเปนเอกซเอมแอลเชนกน จงทาใหโปรแกรมประยกต ตางๆ สามารถส%อสารกนได ถงแมวาอาจจะถกพฒนาและเรยกใชงานบนแพลตฟอรมท%แตกตางกนหรอพฒนาข5นจากภาษาโปรแกรมท%แตกตางกนกตาม แนวโนมในการใชเวบเซอรวสในปจจบน องคกรทางธรกจตางๆ ไดมการปรบตวเองใหเขาสโลกของอนเทอรเนตเพ%มมากข5น เพ%อเพ%มโอกาสเขาถงกลมลกคาไดท %วโลกและเพ%ออานวยความสะดวกในการดาเนนธรกจไดตลอด 24 ช %วโมง ทาใหมสนคาและบรการตางๆ ท%มอยอยางมากมายไดถกนาเสนอขายสนคาและบรหารบนอนเทอรเนต ในหน%งหนาเวบเพจอาจจะมการนาเสนอขอมลของสนคาหรอบรการหรอขอมลอ%นๆ ท%อาจจะนามาแสดงจากหลายๆ แหลงขอมลและหลายๆ แหลงขอมลอาจจะมความแตกตางกนทางสถาปตยกรรมของระบบดวยเชนกน

Page 16: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

3

ตวอยาง ขอมลราคาน5ามนประจาวนท%นามาจากบรษทน5ามน ขอมลราคาทองคาท%นามาจากผขายทองคา ขอมลสภาพอากาศหรอขอมลราคาหนท%นามาจากตลาดหลกทรพยเปนตน การพฒนาเทคโนโลยในปจจบนน5ไดมการพฒนาอยอยางตอเน%อง เพ%อเพ%มความสะดวก สบายและความหลากหลายของสนคาและบรการใหสามารถเขาถงกลมเปาหมายมากข5นและบางบรการยงมการรวบรวมเอาหลายๆ บรการมาไวท%เดยวกนเพ%มตอบสนองความตองการของผใช งานเพยงผใชงานมาขอรบบรการท%เดยวกสามารถไดรบบรการไดทกๆ อยางตามท%ตองการสาหรบการใหบรการลกษณะน5เรยกวา One Stop Service แนนอนวาการส%อสารขอมลท%เกด ข5นระหวางโปรแกรมประยกตท%มความแตกตางกนน 5น จาเปนอยางย%งท%ตองมส%อกลางท%ทาใหทกๆ โปรแกรมประยกตน 5น สามารถเขาใจความหมายของขอมลท%แลกเปล%ยนท%มความหมายท%ตรงกนเคร%องมอท%ตอบสนองความตองการน5ไดกคอ เวบเซอรวส ความปลอดภยของเวบเซอรวส (Web service security) ดวยเทคโนโลยเวบเซอรวสทาใหสามารถรวมระบบหรอโปรแกรมประยกตท%มความแตกตางกนเขาดวยกนไดอยางงายดายเน%องจากเวบเซอรวส ใชโพรโทคอลในการส%อสารขอมลท%มพ5นฐานของภาษาเอกซเอมแอลซ%งเปนภาษาชวยใหเวบเซอรวส สามารถเช%อมตอโปรแกรมประยกตท%แตกตางกนและยงทาใหสถาปตยกรรมของเวบเซอรวสมลกษณะ [1] [2] [6] 1) แพลตฟอรมท%เปนกลาง (Platform independent) 2) ภาษาท%เปนกลาง (Language independent) 3) การขนสงท%เปนกลาง (Transport independent) ดงน 5น จะเหนไดวาการนาเอาเวบเซอรวสมาใชงานมการขยายตวเพ%มมากข5น เน%องจากมาตรฐานตางๆ ของเวบเซอรวสเปนท%ยอมรบอยางกวางขวาง ทาใหองคกรหรอหนวยงานตางๆ ไดนาเอาเวบเซอรวสเขามาใชงานเพ%มมากข5นและเวบเซอรวสยงถกกาหนดใหเปนโครงสรางพ5นฐานในการประสานงานการทางานขามระบบอกดวย นอกจากน5เวบเซอรวสยงกลายเปนเคร%องมอท%มความสาคญสาหรบการดาเนนธรกจออนไลน อยางเชน E-Government, E-Commerce, E-Business และ E-Learning เปนตน เม%อเวบเซอรวสไดรบความนยมนาไปใชงานมากข5นเร%อยๆ ดงน 5นองคกรท%เก%ยวของในการกาหนดมาตราฐานในการส%อสารผานทางอนเทอรเนตจงนาเอาเทคโนโลยเวบเซอรวสมากาหนดใหเปนมาตรฐาน แตมาตราฐานตางๆ ของเวบเซอรวสท%กาหนดข5นมาในปจจบนยงไมสามารถรบประกนในเร%องไมวาจะเปนเร%องประสทธภาพของการทางานและระบบรกษาความปลอดภย ความคงทนของระบบ เปนตน เน%องจากวายงไมมอะไรท%เปนหลกประกนไดวาองคกรหรอหนวยงานท%เปดเวบเซอรวสใหบรการน 5น ระบบจะสามารถทางานไดตลอด 24 ช %วโมง โดยท%เคร%องใหบรการ (Servers) จะไมเกดปญหาข5นในขณะท%กาลงทางานหรอระบบจะไมถกขดขวางการทางานจากผไมหวงดเพ%อใหระบบหยดทางาน แมวาในปจจบนจะมการพฒนามาตรฐานตางๆ ในการรกษาความปลอดภยของเวบเซอรวสข5นมาแลวกตามแตกยงไมเพยงพอสาหรบการรกษาความปลอดภยใหกบระบบ

Page 17: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

4

1.2 ความสาคญของปญหา ปจจบนเวบเซอรวสไดเปนท%ยอมรบอยางกวางขวาง ทาใหมการนาเอาเวบเซอรวสไปใชอยางกวางขวาง การนาเวบเซอรวสไปใชงานไมไดถกนาไปใชเฉพาะเปนโครงสรางพ5นฐานในการประสานงานของระบบหรอการทางานขามระบบสาหรบแตละองคกรเทาน 5น แตเวบเซอรวสยงไดถกนาไปใชเปนตวกลางในการส%อสารขอมลขามเครอขายอกดวย อยางไรกตามการนาเอาเวบเซอรวสไปใชเปนตวกลางในการส%อสารขอมลขามเครอขายน 5น ปญหาการรกษาความปลอดภยในเวบเซอรวสน 5นถอวาเปนหวขอสาคญเน%องจากเวบเซอรวสเปนสถาปตยกรรมแบบเปด ท%ในแตรายละเอยดพ5นฐานของเวบเซอรวสเองกไมไดมการระบในเร%องการรกษาความปลอดภยใดๆ ไวแตตอมากไดมการเพ%มเตมหลายๆ รายละเอยดของการรกษาความปลอดภยในเวบเซอรวสเพ%มข5นมา ไมวาจะเปน WS-Security, WS-SecurityPolicy, WS-Trust, WS-SecureConversation และอ%นๆ [3] [4] ดงแสดงในรปท% 1.1 ซ%งมาตรฐานท 5งหมดตางมงเนนไปในการรกษาความปลอดภยใหกบ Message ในการส%อสารขอมลไมวาจะเปนความสมบรณของ Message (message integrity), การรกษาความลบของ Message (message confidentiality) และตรวจสอบและการอนญาตผใชงาน (authentication and authorization) ดงน 5น เวบเซอรวสท%ถกนามาใชเปนตวกลางในการส%อสารขอมลขามเครอขายโดยท %วไปแลวขอมลท%นามาแลกเปล%ยนกนน 5นมกเปนขอมลท%เปดเผยตอสาธารณะตวอยางเชน ขอมลราคาน5ามน ขอมลสภาพอากาศ หรอ ขอมลราคาหนเปนตน แตอยางไรกตามเวบเซอรวสอาจจะถกขดขวางการใหบรการของเวบเซอรวสจากผไมหวงด (attacker) ท%มงเนนในการโจมตเคร%องใหบรการเพ%อใหเคร%องใหบรการปฏเสธการใหบรการ (DoS attacks) หรอ ทาใหประสทธภาพการทางานของโปรแกรมประยกตลดลง โดยท%ผไมหวงดอาจจะทาการสงขอมลท%เปนอนตรายมาใหเวบเซอรวสทาการประมวลผลเพ%อมงหวงในการขดขวางการใหบรการของเวบเซอรวส ไมวาจะเปนการโจมตในลกษณะท%เปน Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow, Replay Attack [12] [13] [14] เปนตน รปท� 1.1 มาตรฐานการรกษาความปลอดภยเวบเซอรวส

Page 18: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

5

ดงน 5น จาเปนท%จะตองหาวธการท%เหมาะสมมาปองกนการโจมตหรอขดขวางการทางานของเวบเซอรวส โดยขอมลท%จะสงไปใหเวบเซอรวสทาการประมวลผลกจาเปนจะตองมการตรวจสอบใหถกตองเสยกอนท%จะสงผานไปเวบเซอรวสในประมวลผล 1.3 วตถประสงคของวทยานพนธ วตถประสงคของวทยานพนธน5เพ%อออกแบบและพฒนากรอบการทางาน (Framework) สาหรบปองกนและตรวจจบการโจมตเวบเซอรวสดวยเอกซเอมแอลท%เกดจากผไมหวงดท%อาจจะสงขอมลท%เปนอนตรายมาใหเวบเซอรวสประมวลผล โดยขอมลท%เปนอนตรายน5อาจจะสงผลใหประสทธภาพการทางานของเวบเซอรวสลดลงหรอไมสามารถใหบรการได โดยประกอบดวย 1) ออกแบบและพฒนากรอบการทางานใหมสาหรบการปองกนและตรวจจบการโจมตท%อาจจะเกดจากการกระทาของผไมหวงดในการสงเอกซเอมแอลท%เปนอนตรายมาใหเวบเซอรวสทาการประมวลผลท%จะทาใหมผลกระทบตอการทางานของเวบเซอรวส โดยเปนการจาลองระบบข5นมาในการทดสอบการโจมต 2) เพ%อพฒนาตนแบบท%สามารถเรยนร (Learning) รปแบบเอกซเอมแอลท%เปนไปในการรบ สงขอมล เพ%อการตรวจจบการโจมตไดอยางเหมาะสม 3) เพ%อพฒนากรอบการทางานท%มความสามารถในการตรวจจบการโจมต ไมวาจะเปน การโจมตในลกษณะ Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow, Replay Attack เปนตน 4) เพ%อพฒนากรอบการทางานท%มความสามารถจดเกบลอก (Log) และนาลอกมาสรางรายงานใหผดแลระบบได 5) เพ%อทดสอบการโจมตผานตนแบบท%พฒนาข5นในการตรวจจบ 1.4 ภาพรวมของวทยานพนธ วทยานพนธน5จะเปนการออกแบบและพฒนากรอบการทางานสาหรบการตรวจสอบการโจมตเวบเซอรวสท%ใชเอกซเอมแอล โดยกรอบการทางานใหมท%ออกแบบน5จะประกอบไปดวยสามสวนหลกและมฐานขอมลเปนศนยกลางในการเกบขอมล คอ สวนท%หน%งจะเปนสวนของการเรยนรรปแบบของเอกซเอมแอลท%เปนไปไดเพ%อนามาสรางเอกซเอมแอลสคมา (XML schema) สวนท%สองจะเปนสวนของการกาหนดคาพารามเตอร (Parameter) ท%จาเปนในการตรวจสอบและสวนท%สามจะเปนสวนของการตรวจสอบรปแบบเอกซเอมแอล สวนของการพฒนาใช Apache Tomcat, Apache Axis2, MySQL และ JAVA ในการพฒนา ดงแสดงในรปท% 1.2

Page 19: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

6

รปท� 1.2 กรอบการทางานท%นาเสนอสาหรบตรวจสอบขอมลบนพ5นฐานสถานะ (State-based data validation: S-DV) 1.5 ขอบเขตของวทยานพนธ การออบแบบและพฒนากรอบการทางานเพ%อใชในการตรวจจบการโจมตเวบเซอรวส ท%เปนการโจมตท%ใชเอกซเอมแอล ( XML-based attacks ) โดยใชหลกการของการตรวจสอบความถกตองของขอมลกอนท%จะสงไปใหเวบเซอรวสประมวลผล โดยการโจมตเวบเซอรวสท%ใชเอกซเอมแอลในการโจมตน 5นอาจสงผลใหประสทธภาพการทางานของเวบเซอรวสลดลงหรอ ปฎเสธการใหบรการ ซ%งการโจมตท%ใชเอกซเอมแอลมกเปนการโจมตแบบ Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow, Replay Attack ซ%งกรอบการทางานน5จะประกอบไปดวยกนสามสวนหลก คอ สวนแรกจะเปนการเรยนรรปแบบของเอกซเอมแอลท%เ ปนไปไดท%จะใชในการรบสง สวนท%สองจะเปนสวนของการกาหนดคาพารามเตอรท%จาเปนในการตรวจสอบและสวนท%สามจะเปนการตรวจจบการโจมตซ%งกรอบการทางานในวทยานพนธน5มความสามารถ 1) กรอบการทางานน5สามารถเรยนรรปแบบของเอกสารเอกซเอมแอลท%เปนไปได ใน การสงมาใหเวบเซอรวสประมวลผลไดอยางเหมาะสม 2) กรอบการทางานน5สามารถกาหนดคาพารามเตอรท%จาเปน ในการตรวจสอบความ ถกตองของขอมล 3) กรอบการทางานน5สามารถตรวจจบการโจมตท%ใชเอกซเอมแอล ไมวาจะเปนการ โจมตในลกษณะ Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow, Replay Attack 4) กรอบการทางานน5สามารถจดเกบลอกได 5) กรอบการทางานน5สามารถเรยนรรปแบบของเอกซเอมแอลในรปแบบใหมๆ ได

Page 20: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

7

6) กรอบการทางานน5สามารถออกรายงานใหกบผดแลระบบได 1.6 ประโยชนท�คาดวาจะไดรบ ในการออบแบบและพฒนากรอบการทางานเพ%อใชในการตรวจจบการโจมตเวบเซอรวส ท%เปนการโจมตท%ใชเอกซเอมแอลน5 ซ%งประโยชนท%คาดวาจะไดรบจากการออบแบบและพฒนากรอบการทางานประกอบไปดวย 1) ชวยเพ%มภมตานทานใหกบเวบเซอรวสจากโจมตท%ใชเอกซเอมแอล 2) ชวยบรรเทาการโจมตเวบเซอรวสจากการโจมตท%ใชเอกซเอมแอล 3) ชวยตรวจสอบรปแบบของขอมลกอนท%จะสงไปใหเวบเซอรวสในการประมวลผล 4) ชวยปองกนเวบเซอรวสจากขอมลท%เปนอนตรายทาใหเวบเซอรวสสามารถใหบรการไดตลอดเวลา 1.7 โครงสรางวทยานพนธ โครงสรางของบทความท%เหลอจะเปนดงน5 บทท% 2 เปนสวนของการวจารณวรรณกรรมท%ประกอบดวย คาอธบายเก%ยวกบเทคโนโลยเวบเซอรวสและจดออนในเวบเซอรวสท%อาจถกนามาใชในการโจมตเวบเซอรวสดวยเอกซเอมแอลและงานวจยท%เก%ยวของในการปองกนการโจมตเวบเซอรวสท%ใชเอกซเอมแอล บทท% 3 เปนการอธบายแนวคดการออกแบบและหลกการทางานของกรอบการทางานสาหรบปองกนการโจมตท%ใชเอกซเอมแอล สวนการทดสอบกรอบการทางานอยในบทท% 4 และผลการทดสอบและบทสรปและขอเสนอแนะจะอยในบทท% 5

Page 21: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

8

บทท� 2 พนฐานและงานวจยท�เก�ยวของ

วทยานพนธน�จะเปนการศกษาและพฒนากรอบการทางานใหมข�นมา ใชในการตรวจสอบขอมลและตรวจจบการโจมตท*ใชเอกซเอมแอล เพ*อบรรเทาการโจมตเวบเซอรวสท*เปนการขดขวางการใหบรการหรอทาใหประสทธภาพการใหบรการลดลงโดยนาเอาหลกการของการตรวจสอบความถกตองขอมล (Data validation) มาใชในการพฒนากรอบการทางาน โดยทาการศกษาคนควา หลกการ แนวคด ทฤษฎ ตางๆ และงานวจยท*เก*ยวของ เพ*อเปนแนวทางในการทาวทยานพนธซ*งมรายละเอยดดงตอไปน� 2.1 เวบเซอรวส (Web service) ในสภาพแวดลอมการการประมวลผลแบบกระจายน �นในสวนของโปรแกรมประยกตอาจ จะถกพฒนาข�นบนแพลตฟอรมท*แตกตางกนโดยใชภาษาโปรแกรมท*แตกตางกน ตวอยางเชนในสถานการณท*เราตองการท*จะเขาถงฟงกชนการทางานของโปรแกรมประยกต ท*ถกพฒนาข�นโดยใชภาษาโปรแกรมท*เปน C#.NET จากโปรแกรมประยกตของเคร*องคอมพวเตอรลกขายท*ประมวลผลอยภายใตสภาพแวดลอมของระบบปฏบตการยนกซ (UNIX) โดยปกตแลวโปรแกรมประยกตท*ถกพฒนาจากภาษาโปรแกรมและแพลตฟอรมท*แตกตางกน จะไมสามารถส*อสารขอมลกนไดโดยตรง ในสถานการณลกษณะน�เราสามารถพฒนาเวบเซอรวสท*ประกอบไปดวยวธการตางๆ ท*อนญาตให เราสามารถเขาถงฟงกชนการทางานของโปรแกรมประยกต ท*พฒนามาจากภาษาโปรแกรม C#.NET ได ดงน �นโปรแกรมประยกตท*ประมวลผลอยภายใตสภาพแวดลอมของระบบปฏบตการยนกซ กสามารถเขาถงได ซ*งจะเหนไดวาเวบเซอรวสจะชวยใหเราสามารถท*จะรวมเอาโปรแกรมประยกตท*ถกพฒนาจากภาษาโปรแกรมท*แตกตางกนและบนแพลตฟอรมท*แตกตางกนใหสามารถทางานรวมกนได 2.1.1 แบบอยางเวบเซอรวส (Web Services Model) [2] ดวยความสามารถของเวบเซอรวสท*ทาใหเราสามารถท*จะเช*อมโปรแกรมประยกตเขากบโปรแกรมประยกตอ*นๆ ไดอยางงายดาย ซ*งถอไดวาเปนจดเดนของเวบเซอรวสกวาไดท*ทาใหเราสามารถนาเอาโปรแกรมประยกตเดมท*มอยแลว หรอนาเอาโปรแกรมประยกตท*พฒนาจากภาษาโปรแกรมหรอแพลตฟอรมท*แตกตางกนหลายๆ โปรแกรมประยกตมาเช*อมตอและทางานรวมกนดวยกนได ดงน �นเพ*อใหเวบเซอรวสเปนท*ยอมรบหนวยงานหรอองคกรท*เก*ยวของจงไดมการนาเสนอมาตรฐานหลายๆ มาตรฐานข�นมาเพ*อท*จะชวยสนบสนนการทางานของเวบเซอรวสท*เปนมาตรฐานโดยท *วไปจะประกอบไปดวย

Page 22: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

9

รปท� 2.1 สถาปตยกรรมของเวบเซอรวส 1) มาตรฐานของรปแบบขอมลสาหรบใชในการรบสงขอมลระหวางกนสวนใหญ แลวมาตรฐานของรปแบบขอมลท*ใชรบสงจะอยในรปแบบของภาษาเอกซเอมแอล 2) มาตรฐานของโพรโทคอลท*ใชในการสงขอมลขามเครอขาย โดยท *วไปจะใช มาตรฐานโซพโพรโทคอลซ*งจะมพ�นฐานเปนภาษาเอกซเอมแอล 3) มาตรฐานของการอธบายสวนของการตดตอเวบเซอรวสหรอเรยกไดวาเปนคมอของเวบเซอรวส โดยจะทาการอธบายรายละเอยดตางๆ ของเวบเซอรวสไวในเอกสารท*เรยกวาดบเบลยเอสดแอล ซ*งเอกสารน�จะมพ�นฐานเปนภาษาเอกซเอมแอล 4) มาตรฐานของการลงทะเบยนหรอสบคน มาตรฐานน�มไวสาหรบประกาศ เวบเซอรวสท*ตองการประกาศใหคนอ*นไดทราบและเรยกใชงาน ผใหบรการเวบเซอรวสกสามารถนาเอาเวบเซอรวสมาลงทะเบยนและผตองการใชบรการเวบเซอรวสกสามารถท*จะคนหาเวบเซอรวสท*ตองการเรยกใชงานได ดงน �นสวนของการลงทะเบยนน�เปรยบเสมอนส*อกลางระหวางผใหบรการกบผรองขอใชบรการ โดยท *วไปแลวสถาปตยกรรมของเวบเซอรวสจะประกอบไปดวยสามองค ประกอบหลกดงแสดงในรปท* 2.1 ผรองของใชบรการ (Service Consumer) ซ*งปกตแลวจะเปนโปรแกรมประยกตท*ตองการรองขอขอมลท*ตองการหรอรองขอใชงานฟงกชนการทางานของเวบเซอรวสท*อาจจะตดต �งอยบนเคร*องคอมพวเตอรเดยวกนหรออยบนเคร*องคอมพวเตอรอ*น ผใหบรการ (Service Provider) ซ*งปกตแลวจะเปนในสวนของเคร*องคอมพวเตอรท*เปดเวบเซอรวสไวใหบรการท*โปรแกรมประยกตตางๆ สามารถเรยกใชงาน ยดดไอ (UDDI) เปนไดเรกทอร*สาธารณะ (public directory) เม*อผใหบรการทาการสรางเวบเซอรวสข�นมา ถาตองการประกาศเวบเซอรวสใหคนอ*นไดทราบและเรยกใชงานกสามารถนาเอาเวบเซอรวสมาลงทะเบยนในยดดไอ โดยไดเรกทอร*สาธารณะน�จะทาการเกบ

XML

Page 23: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

10

ขอมลตางๆ ของผใหบรการเวบเซอรวสไวไมวาจะเปน ช*อบรษท เบอรโทร ช*อผตดตอ เปนตน พรอมทาการเช*อมโยงไปยงเอกสารดบเบลยเอสดแอลของเวบเซอรวสน �นๆ ดวย แตสาหรบในสวนของยดดไอน� อาจจะไมจาเปนเม*อผรองขอบรการทราบตาแหนงของเวบเซอรวสกสามารถเรยกเวบเซอรวสไดเลย ลงทะเบยน (Register) เปนการดาเนนการในการลงทะเบยนเวบเซอรวส เม*อผใหบรการสรางเวบเซอรวสข�นมา ถาตองการประกาศใหคนอ*นไดทราบและเรยกใชงานกสามารถนาเอาเวบเซอรวสมาลงทะเบยนในยดดไอ การคนหา (Find) เปนการดาเนนการสบคน เม*อผรองขอใชบรการตองการรองขอใชงานเวบเซอรวส ถาไมทราบวาเวบเซอรวสท*ตองการอยท*ใด กสามารถทาการสบคนหาเวบเซอรวสท*ตองการในยดดไอ ผลลพธท*ไดยดดไอจะสงเอกสารเอกสารดบเบลยเอสดแอลกลบไปให การเช*อมตอ (Bind) เปนการดาเนนการเช*อมตอเพ*อเรยกใชงานเวบเซอรวสเม*อผรองขอใชบรการไดทาการศกษารายละเอยดตางๆ จากเอกสารดบเบลยเอสดแอลของเวบเซอรวสกจะทราบไมวาจะเปนช*อของเวบเซอรวส รปแบบของขอมลท*ใชในการรบสงและในสวนของโพรโทคอลท*ใช เม*อทราบรายละเอยดตางๆ ท*จาเปนในการเรยกใชงานเวบเซอรวสแลว กสามารถท*จะเรยกใชงานเวบเซอรวสได 2.1.2 ภาษาเอกซเอมแอล (XML) [5] เอกซเอมแอล ยอมาจาก "Extensible Markup Language" บอยคร �งอาจจะเขยนในรปแบบ "eXtensibleMarkup Language" กได ซ*งภาษาเอกซเอมแอล เปนภาษามารกอป (markup language) ถกพฒนาโดยองคกร W3C โดยมจดประสงคเพ*อเปนภาษาท*ใชในการอธบายขอมลสาหรบตดตอส*อสารกนในระบบท*มความแตกตางกนตวอยางเชน คอมพวเตอรท*มระบบปฏบตการแตกตางกนหรอโปรแกรมประยกตท*ถกพฒนาดวยภาษาโปรแกรมคนละภาษาแตมความตองการส*อสารขอมลระหวางกน เน*องจากวาโดยพ�นฐานของภาษาเอกซเอมแอลแลวกมพ�นฐานเปนขอความท*เขารหสขอมลดวยรหสมาตรฐานทาใหทกๆ แพลตฟอรมสามารถเขาใจความหมายของขอมลท*จดเกบไวภายในเอกสารเอกซเอมแอลดวยเหตผลน�จงทาใหภาษาเอกซเอมแอลจงเปนอสระตอแพลตฟอรมใดๆ สวนของตวอยางเอกสารเอกซเอมแอล แสดงในรปท* 2.2

รปท� 2.2 ตวอยางเอกสารเอกซเอมแอล

<?xml version="1.0">

<customers>

<customer cuid="CU001" />

</customers>

Page 24: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

11

การนาขอมลมาจดเกบในเอกสารเอกซเอมแอลเราจาเปนจะตองปฏบตตามขอกาหนดหรอกฎระเบยบของภาษาเอกซเอมแอลอยางเครงครด จะทาใหเราสามารถอานหรอสบคนขอมลในเอกสารเอกซเอมแอลเปนเร*องงายดาย เพราะวาภาษาเอกซเอมแอลจะมโปรแกรมประยกตท*เรยกวาตวแปลภาษาเอกซเอมแอล (XML parser) ท*คอยตรวจสอบความถกตองของไวยากรณเอกซเอมแอลและอานขอมลในเอกสารเอกซเอมแอลออกมาใหเราดงน �นเราจงสามารถเรยกใชตวแปลภาษาเอกซเอมแอล จากภายในโปรแกรมประยกตของเรา ดงน �นกหมายความวาในสวนของงานท*เก*ยวของกบการตรวจสอบไวยากรณของเอกซเอมแอลและอานขอมลในเอกสารเอกซเอมแอลเรากสามารถ ท*จะมอบหนาท*น�ใหเปนหนาท*ของตวแปลภาษาเอกซเอมแอลแทน สาหรบขอมลท*นามาจดเกบไวภายในเอกสารเอกซเอมแอลจะถกอธบายไวภายใตเอกซเอมแอลแทก (XML tag) ซ*งเอกซเอมแอลแทกจะมลกษณะคอจะเร*มตนดวยอกขระ "<" ตามดวยคาอธบายขอมลปดทายดวยอกขระ ">" ดงน �นเพ*อใหสามารถแยกขอมลออกจากกนไดวาขอมลท*อธบายในเอกสารเอกซเอมแอลคอขอมลอะไร ขอมลแตละขอมลจะถกแยกออกจากนดวยเอกซเอมแอลแทก โดยจะเร*มตนดวยเอกซเอมแอลแทกท*เรยกวาเอกซเอมแอลแทกเปด (start-tag) ตามดวยขอมลท*ตองการเกบสดทายปดทายดวยเอกซเอมแอลแทกปด (end-tag) ตวอยางเชน เราตองการเกบขอมลท*เปน ช*อของนกเรยนท*มช*อ "John smith" เราสามารถนามาจดเกบในเอกสารเอกซเอมแอลได คอ <student-name>John smith</student-name> จะเหนไดวาเอกซเอมแอลแทก <student-name> กคอเอกซเอมแอล แทกเปดสวน "John smith" กคอขอมลท*เราตองการเกบและ </student-name> กคอสวนของเอกซเอมแอลแทกปด สวน "student-name" กคอคาอธบายวาขอมลท*เกบกคอช*อนกเรยนท*มช*อ "John smith" และเราสามารถเรยกการอธบายขอมลในเอกสารเอกซเอมแอลท*ประกอบไปดวย เอกซเอมแอลแทกเปด ขอมลและเอกซเอมแอลแทกปดวาเปนอลเมนต (element) ตวอยางเชน <student-name>John smith</student-name>

Page 25: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

12

2.1.3 เนมสเปช (Namespace) [5] บอยคร �งท*เรานาเอกสารเอกซเอมแอลต �งแตสองเอกสารมาประมวลผลรวมกน มนเปนไปไดวาจะมการนยามช*อของเอกซเอมแอลแทกข�นมาใชในการอธบายขอมลท*เกบท*มช*อไปซ�ากบเอกสารเอกซเอมแอลอ*นแตใหความหมายท*แตกตางกน เพราะวาการนยามช*อของเอกซเอมแอลแทกจะถกนยามข�นมาเพ*อใชในการอธบายขอมลท*เกบวาขอมลท*เกบคอขอมลอะไร ดงแสดงในรปท* 2.3

รปท� 2.3 เอกสาร orders.xml และ products.xml ตามลาดบ

จากรปท* 2.3 ดานบนน�แสดงใหเหนถงการรปแบบการจดเกบขอมลของเอกสารเอกซเอมแอลจะเหนวาไฟล orders.xml มแทกช*อวา "order" และในไฟล products.xml กมแทกช*อ "order" เชน กนแตมการอธบายขอมลท*มความหมายท*แตกตางกนเม*อนาเอกสารท �งสองมาประมวลผลรวมกนมนอาจจะทาใหโปรแกรมประยกตท*นาไปประมวลผลเกดขอผดพลาดข�นได เพ*อแกปญหาดงกลาว องคกร W3C ไดมการประกาศมาตรฐานเอกซเอมแอลเนมสเปช (XML namespaces) มาแกปญหาการต �งช*อของเอกซเอมแอลแทกท*มช*อซ�ากนแตส*อความหมายท*ตางกน โดยมาตรฐานเอกซเอมแอลเนมสเปชไดมการกาหนดใหต �งช*อของเอกซเอมแอลแทกจะประกอบไปดวยสองสวนคอ สวนแรกเรยกวาสวนทองถ*น (local part) สวนน�กคอช*อของเอกซเอมแอลแทกและสวนท*สองคอคานาหนา (prefix) ดงแสดงในรปท* 2.4

รปท� 2.4 ไฟลเอกสาร products.xml ท*มการระบเนมสเปช

<?xml version=”1.0”?>

<Orders>

<order>0010145</order>

</Orders>

<?xml version=”1.0”?>

<Product>

<order orderid="0001245">telephone</order>

</ Product >

<?xml version=”1.0”?>

<Product xmlns:ns1="http://www.example.com/ns1">

<ns1:description>

<ns1:order orderid="0001245">telephone</ns1:order>

<ns1:brand>LG</ns1:brand>

<ns1:price>5000</ns1:price>

</ns1:description>

</ns1:Product >

Page 26: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

13

ในสวนของยอารแอล (URL) คอ "http://www.example.com/ns1" ไมไดหมายความวาเปนยอารแอลสาหรบเขาใชหรอรองขอบางอยางจากเวบไซตจากยอารแอล ดงกลาวแตเพยงใชระบความเปนหน*งเดยวของคานาหนาวาจะไมไปซ�ากบคนอ*นเทาน �น ดงน �นจงสรปไดวาเนมสเปชจะเปนช*อท*ใชเรยกของกลมทางนามธรรมซ*งภายในกลมจะประกอบไปดวยช*อ ความหมายหรอคาศพทของส*งหน*งๆ หรอส*งใดส*งหน*ง สาหรบขอกาหนดของเนมสเปชแลว ช*อใดๆ ท*อยภายใตในแตละเนมสเปช สามารถท*จะมความหมายไดเพยงหน*งความหมายเทาน �น ถาส*งท*แตกตางกนไมสามารถใชช*อเดยวกนภายในเนมสเปชเดยวกนไดและช*อเดยวกนท*อยคนละเนมสเปชสามารถหมายถงส*งท*แตกตางกนได 2.1.4 ภาษาเอกซเอมแอลสคมา (XML schema) [5] [10] ภาษาเอกซเอมแอลสคมา (XML schema language) บางท*อาจเรยกวาเปนภาษานยามโครงสราง (XML schema definition) หรอเขยนโดยยอ "XSD" ถกพฒนาโดยองคกร W3C เพ*ออธบายหรอนยามโครงสรางของเอกสารเอกซเอมแอลและยงสามารถใสขอกาหนดตางๆ ใหกบขอมลท*จะถกจดเกบไวภายในเอกสารเอกซเอมแอล ซ*งสามารถนยามเอกซเอมแอลสคมาไดวา 1) สาหรบนยามอลเมนตตางๆ ท*อนญาตใหปรากฎในเอกสารเอกซเอมแอล 2) สาหรบนยามแอตทรบวต (attributes) ตางๆ ท*อนญาตใหปรากฎในเอกสารเอกซเอมแอล 3) สาหรบนยามวาอลเมนตใดเปนอลเมนตลก 4) สาหรบนยามลาดบการปรากฎของอลเมนตลก 5) สาหรบนยามจานวนของอลเมนตลกท*อนญาตใหปรากฎ 6) สาหรบนยามอลเมนตวาเปนอลเมนตวางหรอจดเกบขอมล 7) สาหรบนยามชนดของขอมลใหกบแตละอลเมนตหรอแอตทรบวต 8) สาหรบนยามคาเร*มตนและกาหนดคาคงท*ใหกบอลเมนตและแอตทรบวต นอกจากน�เอกซเอมแอลสคมายงสนบสนนชนดของขอมล (Data type) ตางๆ ท*มใชงานโดยท *วไปในภาษาโปรแกรมตางๆ ดวย

Page 27: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

14

รปท� 2.5 ไฟลเอกสารเอกซเอมแอล (products.xml)

รปท� 2.6 เอกสารเอกซเอมแอลสคมา (products.xsd)

จากรปท* 2.5 แสดงตวอยางของเอกสารเอกซเอมแอลท*มโครงสรางเอกสารตามท*เราตองการ เม*อตองการควบคมโครงสรางของเอกสารเราสามารถทาการนยามโครงสรางเอกสารเอกซเอมแอลในรปท* 2.5 ดวยภาษาเอกซเอมแอลสคมาดงแสดงในรปท* 2.6 เพ*อใหมโครงสรางเปนไปตามท*เรากาหนดและดวยความสามารถของภาษาเอกซเอมแอลสคมาเรายงสามารถระบชนดของขอมลใหกบแตละอลเมนตหรอแอตทรบวตวาจะเกบขอมลชนดอะไรและยงสามารถระบขอกาหนดใหกบขอมลท*เกบไดดวย ดงแสดงในรปท* 2.7

<?xml version=”1.0”?>

<Product>

<description>

<orderid>0001245</orderid>

<product_name>telephone</ product_name>

</description>

</Product >

<xs:element name="Product">

<xs:complexType>

<xs:sequence>

<xs:element name="description" minOccurs="1" maxOccurs="10">

<xs:complexType>

<xs:sequence>

<xs:element name="orderid" type="xs:string" />

<xs:element name=" product_name" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

Page 28: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

15

รปท� 2.7 การนยามโครงสรางของอลเมนต "age" จากรปท* 2.7 จะเหนวาอลเมนต "age” มชนดขอมลเปนตวเลขจานวนเตมและยงมขอกาหนดวาสามารถเกบขอมลไดต �งแต 0 จนถง 150 เทาน �น นอกเหนอจากน� อลเมนต "age" จะไมสามารถจดเกบได 2.1.5 การส �งงานระยะไกล (Remote Procedure Calls หรอ RPC) การเรยกใชงานเวบเซอรวสจากโปรแกรมประยกตอ*นน �น จะเรยกใชงานในรปแบบการส *งการระยะไกล พ�นฐานการทางานของการส *งงานระยะไกลจะอนญาตใหโปรแกรมประยกตหน*งสามารถรองขอรบบรการจากโปรแกรมประยกตท*อยบนเคร*องคอมพวเตอรอ*นบนเครอขายโดยไมตองทราบรายละเอยดของเครอขาย ซ*งการส *งการระยะไกลจะใชสถาปตยกรรมการส*อสารรปแบบ เคร*องลกขาย/เคร*องใหบรการ (client/server model) โดยท*โปรแกรมประยกตท*อยบนเคร*องลกขายจะเปนผรองขอรบบรการและโปรแกรมประยกตท*อยบนเคร*องใหบรการจะเปนผใหบรการ ซ*งการดาเนนการของการส *งการระยะไกลจะอยในรปแบบการเขาจงหวะการทางาน (synchronous) กลาวคอเม*อโปรแกรมประยกตท*รองขอรบบรการไดทาการสงคารองขอไปโปรแกรมประยกตท*รองขอกจะหยดรอจนกวาโปรแกรมประยกตท*ใหบรการจะสงผลลพธกลบมา ในรปท* 2.8 จะแสดงการใชงานในรปแบบการส *งการระยะไกล

<xs:element name="age"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="150"/> </xs:restriction> </xs:simpleType> </xs:element>

Page 29: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

16

รปท� 2.8 ข �นตอนการส*อสารผานเครอขายดวยการส *งการระยะไกล 2.1.6 โซพโพรโทคอล (Simple Object Access Protocol หรอ SOAP)[6] [7] โซพโพรโทคอลไดถกนาไปใชงานกนอยางกวางขวาง โดยท*โซพโพรโทคอลเปนมาตรฐานโพรโทคอลในการสงขอมลแบบขอความ ในป 2000 องคกร W3C กไดประกาศใหเปนมาตรฐานโพรโทคอลสาหรบการส*อสารขอมลระหวางโปรแกรมประยกตในรปแบบขอความ โดยโซพโพรโทคอลจะหอหมและเขารหสขอมลท*ใชในการรบสงกนบนพ�นฐานของภาษาเอกซเอมแอล สาหรบการสงขอมลออกไปบนเครอขายน �น โซพโพรโทคอลไมสามารถขนสงขอมลไดตวมนเองแตจะอาศยโพรโทคอลอ*นในการขนสงแทน ดงน �นขอมลของ SOAP messages จะถกกาหนดใหเปนขอมล (payload) ของโพรโทคอลอ*น ดวยลกษณะดงกลาวโซพโพรโทคอลจะไมสงขอมลออกไปบนเครอขายดวยตวมนเองแตจะอาศยโพรโทคอลอ*นในการขนสงแทนตวอยาง เชน เอชททพ (HTTP), เอฟทพ (FTP), เอสเอมทพ (SMTP) และอ*นๆ แตในปจจบนนยมขนสง SOAP messages ไปบนโพรโทคอลเอชททพ ดงแสดงในรปท* 2.9

รปท� 2.9 การส*อสารของโซพโพรโทคอลท*ขนสงผานโพรโทคอลอ*น

Page 30: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

17

สาหรบโครงสรางของเอกสารโซพจะมพ�นฐานเปนภาษาเอกซเอมแอล ท*ประกอบไปดวยสวนตางๆ ดงแสดงในรปท* 2.10

รปท� 2.10 โครงสรางของโซพโพรโทคอล

อลเมนต Envelope เปนอลเมนตใชกาหนดขอบเขตของเน�อหาเอกสารโซพท �งหมดรวมท �งบอกรน (version) รปแบบการเขารหสขอมล (encoding) และภายในอลเมนตน� ยงประกอบไปดวยสองอลเมนตคอ อลเมนต Header และ อลเมนต Body โดยท* อลเมนต Header อนญาตใหมหรอไมมกได แตถามจะตองปรากฎเปนอลเมนตแรกของเอกสารเสมอสาหรบในสวนของอลเมนต Body จะตองมเสมอและมไดไมเกนหน*งเทาน �น อลเมนต Header เปนอลเมนตสวนเพ*มเตมของเอกสารโซพจะมหรอไมมกได แตถามจะตองปรากฎเปนอลเมนตแรกของของอลเมนต Envelope เสมอ ซ*งอลเมนต Header จะใชสาหรบบรรจขอมลท*เปนขอมลเฉพาะของโปรแกรมประยกต ตวอยางเชน ขอมลของการยนยนตวตน, กญแจ (key) ท*ใชในการเขารหสขอมลในเอกสารโซพ เปนตน และภายในอลเมนต Header ยงสามารถระบแอตทรบวตท*เปนแอตทรบวตของเอกสารโซพ ดงแสดงในรปท* 2.11 อลเมนต Body เปนอลเมนตท*ใชในการบรรจขอมลขาวสารท*ตองการแลกเปล*ยนกน โดยขอมลขาวสารท*บรรจภายใน อลเมนต Body อาจจะเปนขอมลท*ตองการสงหรออาจจะเปนขอมลของการเรยกใชงานเวบเซอรวส หรอขอมลตอบกลบ หรออาจจะเปนขอมลท*เปนรายละเอยดขอผดพลาดท*เกดข�นในระหวางการส*อสารกได

<?xml version="1.0"?> <sp:Envelope xmlns:sp="http://www.w3.org/2001/12/soap-envelope" sp:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <sp:Header> ... </sp:Header> <sp:Body> ... <sp:Fault> ... </sp:Fault> </sp:Body> </sp:Envelope>

Page 31: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

18

รปท� 2.11 อลเมนต Header ของเอกสารโซพ แอตทรบวต actor เน*องจากเอกสารโซพท*เดนทางจากตาแหนงเร*มตนไปยงตาแหนงส�นสด เอกสารโซพอาจจะเดนทางผานหลายๆ โฮส (hosts) ของเสนทางเดน Message ซ*งอาจจะมบางสวนของเอกสารโซพท*ไมใชขอมลของผรบ แตอาจจะเปนขอมลของโฮสท*อยระหวางเสนทางการเดน Message เราสามารถระบวาตาแหนงของโฮสท*เปนผรบขอมลน�ดวย แอตทรบวต actor ในสวนของอลเมนต Header แอตทรบวต mustUnderstand กรณมการกาหนดอลเมนต Header และมการระบผรบไวในสวนของแอตทรบวต actor แลวตองการบงคบใหผรบจะตองนาขอมลน�ไปตความหมายดวยเราสามารถระบดวยแอตทรบวต mustUnderstand โดยจะมคาเปนจรง (true) หรอ ไมจรง (false) หรอ 1 (จรง) หรอ 0 (ไมจรง) แตถากาหนดใหเปนจรงคอบงคบใหนาไปตความหมาย แอตทรบวต encodingStyle สาหรบระบเนมสเปชของการเขารหสขอมลเพ*อใชในการกาหนดชนดของขอมลในสวนของ อลเมนต Header โดยท *วไปการขนสง SOAP message จะใชโพรโทคอลอ*นในการขนสงออกไปบนเครอขายในปจจบนนยมใชโพรโทคอลเอชททพในการขนสงดงแสดงในรปท* 2.12 ซ*งการขอใชบรการในสวนของเวบเซอรวสจาเปนจะตองสงคาขอไปกอนเราจะเรยก Message น�วา SOAP request ไปยงฝ *งผใหบรการกอน เม*อผใหบรการไดรบ SOAP request กจะทาการวเคราะหคนหาและเรยกเวบเซอรวสตามท*รองขอข�นมาทางานพอเวบเซอรวสทางานเสรจแลว ทางฝ *งผใหบรการอาจจะมการตอบกลบหรอไมตอบกลบกไดข�นกบพฤตกรรมของเวบเซอรวส ถามการตอบกลบจะตอบกลบดวย Message ท*เรยกวา SOAP response

<?xml version="1.0"?> <sp:Envelope xmlns:sp="http://www.w3.org/2001/12/soap-envelope" sp:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <sp:Header> <bk:Order xmlns:bk="http://www.asiabook.com/book/" sp:actor="http://www.se-ed.com/xml/" sp:mustUnderstand="1"> Java XML book </bk:Order> </sp:Header> <sp:Body> ... </sp:Body> </sp:Envelope>

Page 32: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

19

รปท� 2.12 เอกสารโซพขนสงดวยโพรโทคอลเอสททพ

การสง SOAP request เพ*อรองขอใชบรการ ดงรปท* 2.13 แสดงใหเหนการรองขอใชงานเวบเซอรวสโดยขอใชบรการช*อ "getQuote" สาหรบสอบถามราคาสนคาและมการสงขอมลไปใหเวบเซอรวส 1 พารามเตอร ช*อ "symbol" ท*มชนดขอมลเปนขอความ (string) คาท*สงไปคอ "IBM" โดยขนสง SOAP message ดวยโพรโทคอลเอสททพ

รปท� 2.13 เอกสาร SOAP request ท*ขนสงดวยโพรโทคอลเอสททพ

POST /item HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8 Content-Length: 250 SOAPAction:"urn:QuoteService#getQuote“ <?xml version="1.0" encoding="UTF-8" ?> <s:Envelope xmlns:s="http://www.w3.org/2001/12/soap-envelope"> <s:Header> <m:transaction xmlns:m="soap-transaction" s:mustUnderstand="true"> <transactionID>1234</transactionID> </m:transaction> </s:Header> <s:Body> <n:getQuote xmlns:n="urn:QuoteService"> <symbol xsi:type="xsd:string">IBM</symbol> </n:getQuote> </s:Body> </s:Envelope>

HTTP Header

SOAP

Message

Page 33: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

20

เม*อสงการรองขอใชบรการไปใหผใหบรการ ทางฝ *งผใหบรการกจะทาการคนหาและเรยกเวบเซอรวสข�นมาทางาน ทางฝ *งผใหบรการอาจจะตอบกลบผลลพธจากการทางานหรอไมตอบกลบกได ข�นกบพฤตกรรมของเวบเซอรวสถามการตอบกลบจะตอบกลบดวย Message ท*เรยกวา SOAP response ดงแสดงในรปท* 2.14

รปท� 2.14 เอกสาร SOAP response ท*ขนสงดวยโพรโทคอลเอสททพ

2.1.7 ภาษาดบเบลยเอสดแอล (WSDL) [6] [8] ภาษาดบเบลยเอสดแอล เปนภาษาท*ใชในการอธบายสวนของการตดตอของเวบเซอรวส (interface) กมพ�นฐานเปนเอกซเอมแอลเชนกนซ*งภายในเอกสารจะประกอบไปดวยสวนของคาอธบายตางๆ ท*ประกอบไปดวย ตาแหนงของเวบเซอรวส โพรโทคอลท*ใชในการขนสง, รปแบบการเขารหสขอมล, การดาเนนการ (operations) ท*สามารถเรยกใชงาาน, รปแบบของ SOAP message เปนตน โครงสรางของเอกสารดบเบลยเอสดแอล ประกอบไปดวยสวนตางๆ ดงแสดงในรปท* 2.15 แสดงโครงสรางของเอกสาร และในรปท* 2.16 แสดงตวอยางเอกสารดบเบลยเอสดแอล

HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: 200 <s:Envelope xmlns:s="http://www.w3.org/2001/12/soap-envelope"> <s:Body> <n:getQuoteRespone xmlns:n="urn:QuoteService"> <value type="s:float">98.06 </value> </n:getQuoteResponse> </s:Body> </s:Envelope>

HTTP Header

SOAP

Message

Page 34: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

21

รปท� 2.15 โครงสรางเอกสารดบเบลยเอสดแอลเวอรชน 1.1

อลเมนต definitions จะเปนอลเมนตหลกของเอกสารดบดบเบลยเอสดแอล ซ*งปกตแลวอลเมนตน�จะใชในการประกาศเนมสเปชตางๆ ท*ตองการใชงานในเอกสารกจะทาการประกาศไวในอลเมนตน� อลเมนต type เปนอลเมนตท*ใชในการนยามโครงสรางขอมลหรอชนดของขอมลท*จะใชงานภายในเอกสารโซพ ซ*งตรงสวนน�จะทาการอธบายโครงสรางขอมลหรอชนดของขอมลดวยภาษาเอกซเอมแอลสคมาในการอธบายและถกอางองดวยอลเมนต Message อลเมนต message เปนอลเมนตน�ใชสาหรบอธบายเน�อหา (payload) ของ Message โดยจะทาการอธบายทก Message ไมวา Message รบเขา (SOAP request) และ Message ท*สงออก (SOAP response) และภายในจะประกอบดวยอลเมนต part ท*ใชในการอธบายพารามเตอรท*จะตองสงไปกบ SOAP message อลเมนต portType อลเมนตน�จะใชสาหรบนยามสวนของบรการ ในสวนของเวบเซอรวสหรออาจกลาวไดวาเปนการระบวาเวบเซอรวสมบรการอะไรบางท*เปดใหบรการและแตละบรการมพฤตกรรมในการส*อสารขอมลอยางไร ซ*งภายในอลเมนต portType จะประกอบไปดวยอลเมนต operation หน*งหรอมากกวาหน*งอลเมนต โดยอลเมนตน�ใชระบบรการท*เปดใหบรการในเวบเซอรวสน� และภายในอลเมนต operation ยงประกอบไปดวยอลเมนต input และ output อกดวยซ*งลาดบการปรากฎของท �งสองอลเมนตน�มผลตอพฤตกรรมการส*อสารขอมล อลเมนต binding อลเมนตน�ใชอธบายโพรโทคอลท*ในการขนสง SOAP message อยางเชน โพรโทคอลเอสททพ เปนตน พรอมอธบายรปแบบของขอมลในการขนสง อลเมนต service อลเมนตน�ใชอธบายกลมของตาแหนงท*อยของเวบเซอรวสวาเม*อตองการเรยกใชงานเวบเซอรวสแลวเวบเซอรวสตดต �งอยท*ไหน โดยท *วไปแลวการระบ

Page 35: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

22

ตาแหนงของเวบเซอรวสจะใชอลเมนต port ในการระบตาแหนงของเวบเซอรวส ตวอยางเอกสารดบเบลยเอสดแอลแสดงในรปท* 2.16

รปท� 2.16 ตวอยางเอกสารดบเบลยเอสดแอล

1. <?xml version="1.0" encoding="UTF-8"?> 2. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:Foo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="MyHelloService" targetNamespace="urn:Foo"> 3. <types/> 4. <message name="HelloIF_sayHello"> 5. <part name="String_1" type="xsd:string"/> 6. </message> 7. <message name="HelloIF_sayHelloResponse"> 8. <part name="result" type="xsd:string"/> 9. </message> 10. <portType name="HelloIF"> 11. <operation name="sayHello" parameterOrder="String_1"> 12. <input message="tns:HelloIF_sayHello"/> 13. <output message="tns:HelloIF_sayHelloResponse"/> 14. </operation> 15. </portType> 16. <binding name="HelloIFBinding" type="tns:HelloIF"> 17. <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/> 18. <operation name="sayHello"> 19. <soap:operation soapAction=""/> 20. <input>

Page 36: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

23

รปท� 2.16 ตวอยางเอกสารดบเบลยเอสดแอล (ตอ)

บรรทดท* 2 : เปนอลเมนตหลกใชในการประกาศเนมสเปชท*ตองการใชงานในเอกสาร บรรทดท* 3 : เปนอลเมนต type ปจจบนไมมการประกาศใด ๆ เปนอลเมนตวาง บรรทดท* 4-9 : เปนอลเมนต message สาหรบอธบายเน�อหาท �ง Message ท*รบเขามาและ Message ท*สงออก บรรทดท* 10-15 : เปนอลเมนต portType ใชสาหรบนยามสวนของบรการตางๆ ของเวบเซอรวสท*เปดใหบรการ บรรทดท* 16-27 : เปนอลเมนต binding ในการอธบายโพรโทคอลท*ในการขนสง SOAP message ในท*น�คอโพรโทคอลเอสททพ และรปแบบของขอมลในการขนสง บรรทดท* 28-32 : เปนอลเมนต service อธบายกลมของตาแหนงท*อยท*ตดต �งของเวบเซอรวส

21. <soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ use="encoded" namespace="urn:Foo"/> 22. </input> 23. <output> 24. <soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ use="encoded" namespace="urn:Foo"/> 25. </output> 26. </operation> 27. </binding> 28. <service name="MyHelloService"> 29. <port name="HelloIFPort" binding="tns:HelloIFBinding"> 30. <soap:address location=http://PGS:8080/hello-jaxrpc/hello xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/> 31. </port> 32. </service> 33. </definitions>

Page 37: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

24

2.1.8 ยดดไอ (Universal Description, Discovery, and Integration) [6] [9] ยดดไอ เปนมาตรฐานหน*งท*ใชในการระบวธการจดเกบขอมลทางธรกจแบบรวมศนยกลางท*สามารถเขาถงผานอนเทอรเนตซ*งมาตรฐานน�ยงไดมการกาหนดวธการในการจดเกบขอมลและการเขาถงขอมลตางๆ ท*จดเกบดวย ดงน �นยดดไอจงเปรยบเสมอนไดเรกทอร*สาธารณะไวใหผใหบรการนาเอาเวบเซอรวสท*สรางข�นมาลงทะเบยนเพ*อประกาศใหคนอ*นไดทราบและเรยกใชดงน �นผใหบรการตองการเปดเวบเซอรวสใหบรการกจะนาเอาเวบเซอรวสมาลงทะเบยนในยดดไอ โดยท*ไดเรกทอร*สาธารณะน�จะทาการเกบขอมลตางๆ ของผใหบรการเวบเซอรวสไวไมวาจะเปน ช*อบรษท เบอรโทร ช*อผตดตอและอ*นๆ เปนตน พรอมทาการเช*อมโยงไปยงเอกสารดบเบลยเอสดแอลของเวบเซอรวสน �นๆ ดวย แตสาหรบ ยดดไอ น�อาจไมจาเปนเม*อผรองขอบรการทราบตาแหนงของเวบเซอรวสกสามารถเรยกเวบเซอรวสไดเลย การลงทะเบยนเวบเซอรวสสามารถลงทะเบยนไดสองรปแบบคอลงทะเบยนแบบสาธารณะ (public) หรอ ลงทะเบยนสวนตว (private) ถาลงทะเบยนแบบสาธารณะผใชงานใดๆ กสามารถเขาถงไดแตถาลงทะเบยนสวนตวจะสามารถเขาถงไดเฉพาะสมาชกท*อยในกลมเทาน �น ซ*งรปท* 2.17 แสดงใหเหนถงสถาปตยกรรมของยดดไอสาหรบลงทะเบยนและสบคน

รปท� 2.17 สถาปตยกรรมของยดดไอสาหรบลงทะเบยนและสบคน

เม*อนาเวบเซอรวสมาลงทะเบยนระบบกจะทาการสรางเอกสารลงทะเบยนใหสาหรบจดเกบขอมลตางๆ ของเวบเซอรวสและขอมลทางธรกจของผลงทะเบยน โครงสรางเอกสารประกอบไปดวย ดงแสดงในรปท* 2.18

Page 38: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

25

รปท� 2.18 โครงสรางเอกสารลงทะเบยนของยดดไอ

อลเมนต BusinessEntity ในสวนน�จะใชสาหรบบรรจขอมลขององคกรท*ลงทะเบยนเวบเซอรวส ท*ประกอบไปดวย ช*อองคกร คาอธบายโดยยอและรายละเอยดตางๆ ของผตดตอ อลเมนต BusinessService ในสวนน�จะใชสาหรบบรรจขอมลของเวบเซอรวสท*นามาลงทะเบยนพรอมคาอธบายเพ*อบอกวาบรการน�เปนการใหบรการอะไร อลเมนต BindingTemplates ในสวนน�จะจะใชสาหรบบรรจขอมลเก*ยวกบตาแหนงท*ต �งของเวบเซอรวสพรอมขอมลทางเทคนคตางๆ ของเวบเซอรวส โดยเทคนคเหลาน�จะใชสาหรบการเรยกใชงานเวบเซอรวส

2.2. การโจมตบนเวบเซอรวสท�ใชเอกซเอมแอล มาตราฐานตางๆ ของเวบเซอรวสไมวา โซพ ดบเบลยเอสดแอล ยดดไอ ตางมพ�นฐานเปนเอกซเอมแอล โดยธรรมชาตของเอกซเอมแอลจะจดเกบขอมลในลกษณะขอความ ถอวาเปนขอเสยเปรยบอยางหน*งท*ผไมหวงดอาจจะนาเอาไปใชในการโจมต ซ*งการโจมตเวบเซอรวสท*ใชเอกซเอมแอลมกเปนการโจมตเพ*อขดขวางการทางาน (DoS attacks) 1) Replay Attack เปนการโจมตท*เกดข�นเม*อผไมหวงดทาการคดลอก Message ท*เกดข�นจากการสนทนากนระหวางผรองขอกบเวบเซอรวสแลวทาการสง Message น �นซ�า [11] [12] ดงแสดงดงใน รปท* 2.19

Page 39: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

26

รปท� 2.19 การโจมตแบบ Replay Attack 2) Buffer Overflow เปนการโจมตท*ผไมหวงดทาการสงขอมลมาแลวเกนขอบเขตท*ประเภทขอมลน �นรบได [12] [13] [14] [21] ดงแสดงตวอยางใน รปท* 2.20

รปท� 2.20 การโจมตแบบ Buffer Overflow

3) Parameter Tampering ในเอกซเอมแอลจะมสวนท*เรยกวา CDATA โดยเปนสวนท*อนญาตใหใสขอความหรออกขระพเศษอ*นใดไวภายใน CDATA โดยตรงสวนน�ตวแปลภาษาของเอกซเอมแอลจะไมนาไปตความหมาย ดงน �นผท*ไมหวงดกอาจจะนาเอาคณสมบตน�ไปใชในการโจมตเวบเซอรวสได [6] [11] [13] ดงแสดงใน รปท* 2.21

รปท� 2.21 การโจมตแบบ Parameter Tampering

4) Recursive Payload ในโครงสรางของเอกซเอมแอลจะมโครงสรางแบบลาดบช �นและเอกซเอมแอลยงอนญาตใหวางโครงสรางแบบซอนทบกนได จากคณสมบตน�ผไมหวงดอาจจะนาไปใชในการโจมต โดยอาจจะสรางเอกสารเอกซเอมแอลท*มอลเมนตซอนทบกนท*อาจจะซอนทบกนเปน 10,000 หรอ 100,000 อลเมนต เพ*อมงหวงโจมตในสวนของตวจดการเอกสารเอกซเอมแอลใหทางานผดพลาด [12] [13] [14] ดงแสดงในรปท* 2.22

<SOAP:Body> <tns:calNumber xmlns:tns="......"> <tns:number>3147483647</tns:number > </tns:calNumber > </SOAP:Body>

<tns:name><![CDATA[<,&,# ]]></tns:name

Page 40: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

27

รปท� 2.22 การโจมตแบบ Recursive Payload

5) Oversize Payload เปนการโจมตท*ผไมหวงดพยายามสงเอกสารเอกซเอมแอลขนาด

ใหญมาใหเวบเซอรวสประมวลผลซ*งอาจจะมขนาดหลายรอยเมกะไบตเปนผลทาใหตวจดการ

เอกสารเอกซเอมแอลทางานผดพลาด [12] [13] [14] ดงแสดงใน รปท* 2.23

รปท� 2.23 การโจมตแบบ Oversize Payload

2.3 กลไลการรกษาความปลอดภยเวบเซอรวสในปจจบน [3] มาตรฐานการรกษาความปลอดภยเวบเซอรวสเปนมาตรฐานรกษาความปลอดภยในระดบ Message ท*อยบนพ�นฐานของการรกษาความปลอดภย SOAP message ผานลายเซนดจทลเอกซเอมแอล (XML digital signature),การรกษาความลบของ Message ผานการเขารหสเอกซเอมแอล (XML encryption) และการรบรองการเผยแผ (credential propagation) ผาน security token โดยขอกาหนดการรกษาความปลอดภยเวบเซอรวสตางๆ จะนยามส*งอานวยความสะดวกหลกสาหรบการปกปอง ความสมบรณ (integrity) และการรกษาความลบ (confidentiality) ของ Message และยงจดเตรยมกลไกในการเช*อมโยงการรกษาความปลอดภยท*เก*ยวของในการรกษาความปลอดภย Message ไวดวย ดงแสดงในรปท* 2.24

<credit_card_NO> <credit_card_NO> <credit_card_NO> <credit_card_NO> ... </credit_card_NO>

<transaction> <total>1000.00</total> <item>data 1</item> <item>data 2</item> ... </transaction>

Page 41: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

28

2.3.1 The XML Key Management Specification (XKMS) [3] XKMS จะใชสาหรบการจดการ Key โดยรเร*มและพฒนารวมกนของ VeriSign, Microsoft และ Web Methods ท*เปนมาตรฐานแบบเปด (open standard) เพ*อใหงายตอการรกษาความปลอดภยในการทาธรกรรมทางอนเทอรเนตบนพ�นฐานเอกซเอมแอล โดยจะใช PKI และใบรบรองดจทล (digital certificate) โดย XKMS จะอธบายถงโพรโทคอลท*ใชสาหรบการการกระจายและการลงทะเบยนกญแจสาธารณะ (public keys) ท*เหมาะสมสาหรบการทางานรวมกบมาตรฐานสาหรบการลงลายเซนเอกซเอมแอล (XML Signature) และการเขารหสเอกซเอมแอล 2.3.2 The Security Assertion Markup Language (SAML) [3] SAML เปนภาษาทใชในการยนยนตวตนสาหรบการรกษาความปลอดภยท*มพ�นฐานเปนเอกซเอมแอล โดยมรปแบบขอมลท*เปนมาตรฐานแบบเปดสาหรบการแลกเปล*ยนขอมลของการยนยนตวตน (authentication) และการอนญาต (authorization) ระหวางท �งสองฝาย 2.3.3 XML Signature and XML Encryption [3] เปนมาตรฐานท*ถกพฒนาข�นโดย W3C (The World Wide Web Consortium) ซ*งเปนมาตรฐานสาหรบการลงลายเซนเอกซเอมแอล และ การเขารหสเอกซเอมแอล เน*องจากวาการส*อสารขอมลระหวางเวบเซอรวสจะส*อสารผานโซพโพรโทคอล อยางไรกตามโซพโพรโทคอลกมพ�นฐานเปนเอกซเอมแอล ดงน �นมาตราฐานน�จงอนญาตใหนกพฒนาเวบเซอรวสสามารถลงรายเซนหรอเขารหสสวนใดสวนหน*งของ SOAP message ได 2.3.4 WS-Security [3] WS-Security เปนมาตราฐานในการรกษาความปลอดภยท*ไดรบการพฒนาข�นมาเปนสวนขยายโซพ ซ*ง WS-Security ไดทาการอธบายกลไกตางๆ สาหรบการใชงานการเขารหสเอกซเอมแอลและลายเซนดจทลเอกซเอมแอลเพ*อรกษาความปลอดภยของ SOAP message

Page 42: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

29

รปท� 2.24 มาตราฐานการรกษาความปลอดภย SOAP message

นอกจากน�ยงมการพฒนามาตราฐานความปลอดภยตางๆ เพ*มเตมท*ไดถกนาเสนอออกมาเพ*อรกษาความปลอดภยบนเวบเซอรวส ดงแสดงใน รปท* 2.25

รปท� 2.25 สถาปตยกรรมและแผนงานการรกษาความปลอดภยในเวบเซอรวส

Page 43: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

30

2.4 งานวจยท�เก�ยวของ 2.4.1 การตรวจสอบความถกตองของ SOAP message Nils Gruschka และ Norbert Luttenberger [15] ไดเสนอแนวทางการปองกนการโจมตเวบเซอรวสจาก DoS Attacks โดยการตรวจสอบความถกตองของ SOAP message ดวยการใชความสามารถของเอกสารเอกซเอมแอลสคมาในการตรวจสอบ โดยระบบจะนาเอาเอกสารดบเบลยเอสดแอลมาสกดเอาบางสวนของเอกสารมาสรางเอกซเอมแอลสคมาไวสาหรบการตรวจสอบความถกตองของขอมลของทกๆ การรองขอกอนท*จะถกสงไปใหเวบเซอรวสประมวลผล ถาผลการตรวจสอบน �นถกตองกจะสงตอไปใหเวบเซอรวสประมวลผล แตถาตรวจสอบแลวไมถกตองการรองขอ น �นกจะถกยกเลกไป ดงแสดงในรปท* 2.26

รปท� 2.26 สถาปตยกรรม CheckWay Firewall

2.4.2 การโจมตบนเวบเซอรวสและแผนการบรรเทาการโจมต Vipul Patel, Radhesh Mohandas และ Alwyn R. Pais [4] ไดเสนอรปแบบการโจมตบนเวบเซอรวสและแผนการเพ*อลดทอนการโจมตเวบเซอรวสไมวาจะเปน XML Injection, XSS Injection และ XML Re-Writing โดยการตรวจสอบความถกตองของ SOAP message ดวยเอกสารเอกซเอมแอลสคมา โดยระบบจะนาเอาเอกสารดบเบลยเอสดแอลมาสกดเอาบางสวนของเอกสารมาสรางเอกซเอมแอลสคมาท*สอดคลองเกบไว เม*อมการรองขอเขามาระบบกจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท*สอดคลองมาตรวจสอบ พรอมสรางลอก (Log) ของการรองขอเกบไวดวย กรณท*การรองขอรปแบบใหมๆ ระบบกอาจจะปฏเสธการรองขอน �น แตระบบจะนาเอาลอกท*เกบไวมาสรางเอกสารเอกซเอมแอลสคมาเกบไวสาหรบใชในการตรวจสอบในคราวตอไป ดงแสดงในรปท* 2.27

Page 44: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

31

รปท� 2.27 สถาปตยกรรมการตรวจสอบการโจมต

2.4.3 การตรวจสอบอนพท (input) ดวยเอกซเอมแอลสคมา Rafael Bosse Brinhosa, Carla Merkle Westphall, Carlos Becker Westphall, Daniel Ricardo dos Santos และ Fabio Grezele [16] ไดเสนอแบบอยางการตรวจสอบรปแบบของขอมลเขาสาหรบเวบเซอรวส เพ*อปองกนการโจมตไมวาจะเปนการโจมตแบบ XSS injection และ SQL injection โดยการตรวจสอบความถกตองของขอมลท*สงมาดวยเอกสารเอกซเอมแอลสคมารวมกบเอกสารขอกาหนดซ*งเอกสารขอกาหนดจะใชนยามขอบเขตขอมลท*ยอมรบไดและขอกาหนดอ*นๆ ในการตรวจสอบ ดงแสดงในรปท* 2.28 จะแสดงสถาปตยกรรมของระบบและ รปท* 2.29 จะแสดงเอกสารขอกาหนด

รปท� 2.28 สถาปตยกรรม WSIVM (Web Services Input Validation Model)

Page 45: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

32

รปท� 2.29 เอกสารขอกาหนด 2.4.4 การตรวจจบการโจมตเวบเซอรวสดวยอลกอรทม (Algorithms) Irfan siddavatam และ Jayant Gadge [14] ไดนาเสนอกลไกทดสอบแบบ

กวางสาหรบตรวจหาการโจมตบนเวบเซอรวสท*ใชเอกซเอมแอล ผวจยไดนาเสนอกรอบการ

ทางานในการตรวจหาการโจมตท*ประกอบดวยสามสวนและมฐานขอมลเปนศนยกลาง สวนท*

หน*งจะเปนการจบ Message ของทกการรองขอท*เขามาแลวจดใหอยในรปแบบเอกซเอมแอล

แลวจดเกบไวในฐานขอมล สวนท*สองจะเปนการกาหนดคาพารามเตอรท*จาเปนในการตรวจจบ

การโจมต ซ*งคาพารามเตอรตางๆ จะถกกาหนดโดยผดแลระบบและสวนท*สามจะเปนสวนของ

การวเคราะหการโจมต โดยนาเอาเอกซเอมแอลท*จดเกบไวในสวนท*หน*งมาวเคราะหหาการ

โจมตดวยอลกอรทมท*เหมาะสมรวมกบคาพารามเตอรท*กาหนดในสวนท*สอง ดงรปท* 2.30

โดยมข �นตอนดาเนนการดงน�

ข �นตอนท* 1 สรางอลกอรทมท*จะใชในการวเคราะหการโจมตประเภทตางๆ เกบไว ข �นตอนท* 2 กาหนดคาพารามเตอรตางๆ ท*จะใชเปนคาเร*มตนในการตรวจสอบของอลกอรทม ข �นตอนท* 3 ดกจบ SOAP message ท*เขามา

Page 46: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

33

ข �นตอนท* 4 ทาการจดรปแบบของ SOAP message ท*สงมาจดใหอยในรปแบบของเอกซเอมแอลนาไปจดเกบไวในฐานขอมล ข �นตอนท* 5 นาเอกสารเอกซเอมแอลท*จดเกบไวและคาพารามเตอรตางๆ มาวเคราะหดวยอลกอรทมท*เหมาะสม ข �นตอนสดทาย ผลจากการวเคราะหดวยอลกอรทมกจะสามารถจาแนกไดวาขอมลท*สงมาเปนการโจมตหรอไม

รปท� 2.30 สถาปตยกรรมการตรวจสอบขอมลดวยอลกอรทม

2.4.5 การปองกนเวบเซอรวสดวย XML firewall (Nedgty, 2005 [17]) Ramy Bebawy, Hesham Sabry, Sherif El-Kassas, Youssef Hanna และ Youssef Youssef ไดนาเสนอแนวทางการปองกนการโจมตเวบเซอรวส โดยการใช XML firewall ในการกรอง SOAP message ท*เขามาและทาการตรวจสอบวา IP ท*สงคารองขอในการเรยกใชงานเวบเซอรวสวามสทธในการเรยกใชงานเวบเซอรวสหรอไม ดงแสดงในรปท* 2.31 ท*ประกอบไปดวย IP Tables จะทาหนาท*รบแพกเกต (Packet) ตางๆ ท*สงมาใหเคร*องใหบรการ Soap Filter จะรบแพกเกตท*สงมาจาก IP Tables แลวตรวจสอบวาเปน SOAP message หรอไม ถาไมใชจะทาการสงแพกเกตกลบคนให IP Tables ถาใชจะทาการสกดเอา SOAP message ออกจากโพรโทคอลในการขนสงอยางเชนโพรโทคอลเอชททพเปนตน แลวสงไปให packet Queue Packet Queue จะรบเอกสารโซพมาเกบไวในควเพ*อรอใหรบแพกเกตครบ เม*อไดแพกเกตครบกจะทาการตรวจสอบความถกตองของเอกสาร ถาถกตองกจะสงไปใหสวนของการตรวจสอบคอ Validation Unit พรอมรบผลลพธจากการตรวจสอบจาก Validation Unit ดวย

Page 47: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

34

Validation Unit จะนาเอาเอกสารท*สงมาจาก Packet Queue มาตรวจสอบกบขอกาหนดตางๆ ท*เกบไวใน Repository มาทาการตรวจสอบแลวสงผลลพธกลบไปให Packet Queue ในการตดสนใจวาจะสงตอใหไปใหเคร*องบรการหรอไม Repository จะเปนพ�นท*สาหรบจดเกบรายละเอยดตางๆ ของเวบเซอรวส ไมวาจะเปนขอกาหนด, หมายเลข IP ท*สามารถเรยกใชงานเวบเซอรวสน �นๆ ได โดยจะจดเกบในรปแบบของเอกซเอมแอล คาเหลาน�จะถกปรบหรอแกไขโดยผดแลระบบ

รปท� 2.31 สถาปตยกรรมของ Nedgty

2.4.6 การปองกนเวบเซอรวสดวย XML firewall (S-Wall, 2011 [18]) ในปค.ศ. 2011 Haiping Xu, Abhinay Reddyreddy, และ Daniel F. Fitch ไดนาเสนอแนวทางการปองกนการโจมตเวบเซอรวสสาหรบปองกนโจมตท*ใชเอกซเอมแอล โดยการใชงานระบบผใชจะตองเขาระบบและมการใชกลไลของการควบคมการเขาถงตามบทบาทแบบไดนามก (D-RBAC) ในการควบคมการเขาถงเวบเซอรวสของผใชงานแตละคน และยงมกระบวนการตรวจสอบการโจมตท*เอกซเอมแอลดวยอลกอรทมท*เหมาะสมและยงมการตรวจสอบสถานะของผใชดวย ดงแสดงในรปท* 2.32

Page 48: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

35

รปท� 2.32 สถาปตยกรรมของ S-Wall

2.5 บทสรป จากงานวจยท*เก*ยวของท*ดงกลาว โดยสวนใหญจะเปนการนาเอาขอมลขาวสารของเอกสารดบเบลยเอสดแอลมาวเคราะหแลวสกดเอาบางสวนของเอกสารเพ*อนามาสรางเอกสารเอกซเอมแอลสคมาเพ*อนามาใชสาหรบตรวจสอบ Message แตเน*องจากวาขอมลขาวสารของเอกสารดบเบลยเอสดแอลมขอจากดในการอธบายรปแบบของขอมลท*ใชในการรบสง ซ*งดบเบลยเอสดแอลมกจะอธบายในภาพรวม ท*ไมไดระบรายละเอยดมากนก ดงน �นเม*อนามาใชเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาจงไมไดรายละเอยดท*ครบถวนตามท*ตองการ จงถอวายงใชความสามารถของเอกซเอมแอลสคมายงไมเตมท* ตวอยางการอธบายรปแบบในการรบสงของดบเบลยเอสดแอล ดงแสดงในรปท* 2.33

Page 49: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

36

รปท� 2.33 เอกสารดบเบลยเอสดแอลสวนของอลเมนต type ดงน �นผวจยจงไดนาเสนอกรอบการทางานใหมท*มความสามารถในการตรวจสอบและปองกนการโจมตเวบเซอรวสท*ใชเอกซเอมแอล โดยปรบปรงขอดอยตางๆ ท*เกดข�น และเพ*มความสามารถในการเรยนรรปแบบเอกซเอมแอลแบบอตโนมตซ*งจะทาใหกรอบการทางานสามารถเรยนรรปแบบเอกซเอมแอลรปแบบใหมๆ ได

<wsdl:types> .............. <xs:element name="readXML"> <xs:complexType> <xs:sequence> <xs:element name="readXML" type="xs:anyType"/> </xs:sequence> </xs:complexType> </xs:element> ...............

Page 50: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

37

บทท� 3 ระบบท�นาเสนอ

วทยานพนธน�จะเปนการพฒนาและออกแบบกรอบการทางาน (Framework) ข�นมาเพ*อใชในการตรวจสอบขอมลท*สงมาใหเวบเซอรวสประมวลผลวาเปนเปนขอมลท*เปนอนตรายหรอไมท*จะสงผลทาใหประสทธภาพการทางานของเวบเซอรวสลดลงหรอจะนาไปสการปฏเสธการใหบรการได ซ*งมรายละเอยดดงน� 3.1 การออกแบบ การออกแบบกรอบการทางานใหมในการตรวจสอบความถกตองของขอมลพรอมทาการคดกรองการโจมตเวบเซอรวสท*ใชเอกซเอมแอลน �น กรอบการทางานใหมน�จะประกอบไปดวย สามสวนหลกและมฐานขอมลเปนศนยกลางในการเกบขอมลคอ สวนท*หน*งจะเปนสวนของการเรยนรรปแบบของเอกซเอมแอลท*เปนไปไดเพ*อนามาสรางเอกซเอมแอลสคมา (XML schema) สวนท*สองจะเปนสวนของการกาหนดคาพารามเตอร (Parameter) ท*จาเปนในการตรวจสอบและสวนท*สามจะเปนสวนของการตรวจสอบรปแบบเอกซเอมแอล สวนของการพฒนาใช Apache Tomcat, Apache Axis2, MySQL และ JAVA ในการพฒนา ดงแสดงในรปท* 3.1 รปท� 3.1 กรอบการทางานท*นาเสนอสาหรบตรวจสอบขอมลบนพ�นฐานสถานะ (State-based data validation: S-DV)

Page 51: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

38

3.1.1 สวนของการเรยนร สวนน�จะเปนสวนของการเรยนรรปแบบตางๆ ของขอมลท*เปนไปไดท*จะถกสงมาใหเวบเซอรวสประมวลผล ซ*งตรงสวนน�จะถอวาเปนการดาเนนการโดยปราศจากการโจมตใดๆ โดยผทดสอบจะทาการสงขอมลท*เปนเอกซเอมแอลในรปแบบตางๆ ท*เปนไปไดท*จะสงมาใหกบเวบเซอรวสประมวลผล โดยระบบจะทาการจบเอา Message ท*เรยกวา SOAP request ท*สงเขามาแลวสกดเอาเอกสารเอกซเอมแอล จากน �นจะนาเอาเอกสารเอกซเอมแอลท*สกดออกมาเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาท*สอดคลองเกบไว โดยเอกสารเอกซเอมแอลสคมาน� จะถกนามาใชในการตรวจสอบความถกตองของขอมลในคราวตอไปและนอกจากน�ระบบยงดาเนนการสกดเอาคาพารามเตอรบางอยาง เชน ขนาดของ Message เลกสดหรอขนาด Message ใหญสดท*ยอมรบได [14] [19] ดงรปท* 3.2

รปท� 3.2 การเรยนรรปแบบเอกสารเอกซเอมแอล

จากรปท* 3.2 ไดแสดงใหเหนข �นตอนของการเรยนรรปแบบของขอมลท*เปนไปได โดยผทดสอบระบบจะทาการสงขอมลท*เปนไปไดมาใหเวบเซอรวสประมวลผลแลวระบบจะทาการจบเอาเอกสารการรองขอท*เรยกวา SOAP request แลวสกดแตละสวนของ SOAP request มาเปนตนแบบในการสรางเอกซเอมแอลสคมา สวนตวอยางของเอกสาร SOAP request แสดงในรปท* 3.3 ดานลางเปนตวอยางของเอกสารโซพท*สงคารองขอเพ*อขอใชบรการเวบเซอรวส โดยเอกสารน�ประกอบไปดวยสวนของ Header ท*บรรจขอมลวนเวลาของการสรางเอกสารและวนเวลาท*เอกสารโซพหมดอาย นอกจากน�เอกสารโซพยงประกอบดวยสวนของ Body ท*บรรจขอมลคารองขอใชบรการเวบเซอรวส โดยเปนการรองขอใชบรการช*อ power และมการสงคาพารามเตอรมาใหบรการดวยคอ x มคาเปน 25, y มคาเปน 5 ท �งหมดมชนดเปนตวเลขจานวนเตม

Page 52: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

39

รปท� 3.3 เอกสารโซพเพ*อขอใชบรการ สาหรบสวนของการเรยนรรปแบบตางๆ ของขอมลท*เปนไปไดในการสงมาใหเวบเซอรวสประมวลผลน� ผทดสอบระบบกจะทาการสงเอกสารในรปแบบท*เปนไปไดในรปแบบตางๆ มาใหเวบเซอรวสประมวลผล ระบบกจะทาการจบเอา Message แลวทาการสกดเอาสวนของเอกสารโซพไมวาสวนของ Header ถามและสวนของ Body แลวนามาเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาเกบเอาไว สาหรบสวนของเอกสารเอกซเอมแอลสคมาท*สรางเกบไวน�จะถกนามาใชในการตรวจสอบความถกตองของขอมลท*สงมาใหเวบเซอรวสประมวลผลในคราวตอไป จากรปท* 3.3 แสดงใหเหนถงรปแบบของเอกสารโซพท*ใชสงมาเพ*อการของใชบรการเวบเซอรวส เม*อสงมาใหเวบเซอรวสประมวลผลสวนของการเรยนรน�กจะทาการจบเอา Message แลวทาการสกดเอาสวนของ Header ถามและสวนของ Body มาใชเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาเกบไว สาหรบสวนของตวอยางเอกสารเอกซเอมแอลสคมาของ Header แสดงในรปท* 3.4 ตวอยางเอกสารเอกซเอมแอลสคมาของ Body แสดงในรปท* 3.5

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://service.aiom.calculate"> <soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>15/01/2558 14:11:43</hns:Created> <hns:Expired>15/01/2558 14:11:45</hns:Expired> </hns:header> </soapenv:Header> <soapenv:Body> <tns:power> <tns:x>25</tns:x> <tns:y>5</tns:y> </tns:power> </soapenv:Body> </soapenv:Envelope>

Page 53: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

40

รปท� 3.4 เอกสารเอกซเอมแอลสคมาของ Header

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hns="http://ws.apache.org/axis2" targetNamespace="http://ws.apache.org/axis2" elementFormDefault="qualified"> <xs:element name="header"> <xs:complexType> <xs:sequence> <xs:element name="Created"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> <xs:maxLength value="55500"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Expired"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> <xs:maxLength value="55500"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Page 54: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

41

รปท� 3.5 เอกสารเอกซเอมแอลสคมาของ Body จากรปท* 3.4 แสดงเอกสารเอกซเอมแอลสคมาของ Header ซ*งในเอกสารน�ไดทาการนยามโครงสรางเอกสารโซพในสวนของ Header ท*จะนาไปใชในการตรวจสอบความถกตองของขอมลของ Header จะเหนวาภายในเอกสารเอกซเอมแอลสคมาไดทาการอธบาย

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://service.aiom.calculate" targetNamespace="http://service.aiom.calculate" elementFormDefault="qualified"> <xs:element name="power"> <xs:complexType> <xs:sequence> <xs:element name="x"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="-2147483648"/> <xs:maxInclusive value="2147483647"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="y"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="-2147483648"/> <xs:maxInclusive value="2147483647"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Page 55: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

42

โครงสรางของ Header วาจะตองประกอบไปดวยอลเมนต Created และ อลเมนต Expired ท �งหมดมชนดขอมลแบบขอความ (string) และจากรปท* 3.5 แสดงเอกสารเอกซเอมแอลสคมาของ Body ซ*งภายในเอกสารน�ไดทาการนยามโครงสรางสวนของ Body ท*จะนาไปใชในการตรวจสอบความถกตองของขอมลของ Body วาจะตองประกอบไปดวยอลเมนต power ท*เปนอลเมนตหลกและมอลเมนต x, อลเมนต y เปนอลเมนตลกท �งหมดมชนดขอมลแบบตวเลขจานวนเตมและมการกาหนดขอบเขตขอมลไววาจะมคาไดต*าสดคอ -2147483648 และสามารถมคาไดสงสดคอ 2147483647 เทาน �น ถามการสงขอมลมานอกเหนอจากน�ถอวาไมถกตอง 3.1.2 สวนของการกาหนดคาพารามเตอรท�จาเปน ในสวนน�จะเปนสวนของการกาหนดคาพารามเตอรท*จาเปนเพ*อนาไปใชในการตรวจสอบขอมลท*อาจเปนคาท*เราสามารถยอมรบไดหรอไมอนญาตใหมเปนตน [14] ดงแสดงในตารางท* 3.1 ตารางท� 3.1 ตารางแสดงคาพารามเตอรตางๆ ท*จะถกกาหนดคาโดยผทดสอบระบบ

สวนของขอบเขตแตละอลเมนตน� บางททางผใหบรการอาจตองการขอบเขตขอมลท*ตวเองสามารถยอมรบได อยางเชน ขอมลอายจะตองอยในชวง 1 ถง 150 เปนตน กสามารถกาหนดไดตรงสวนน� สาหรบการกาหนดคาพารามเตอรน�จะเปนการกาหนดคาโดยผทดสอบระบบเหตท*ใหผทดสอบระบบเปนคนกาหนดคาเน*องจากวาทางผทาการวจยมองวาผทดสอบระบบมความรและเขาใจในระบบมากกวาผดและระบบ เน*องจากผทดสอบระบบจะเก*ยวของกบระบบต �งแตข �นตอนการออกแบบจนถงการพฒนาระบบ ดงน �นผทดสอบระบบยอมมความรความเขาใจระบบเปนอยางด โดยคาพารามเตอรตางๆ ท*กาหนดน�จะถกนาไปใชในการตรวจสอบความถกตองของขอมลในข �นตอนการตรวจสอบ ดงตารางท* 3.2 แสดงตวอยางการกาหนดคาพารามเตอรตางๆ ท*จาเปนในการตรวจสอบ

พารามเตอร ใชในการตรวจสอบ

ขนาด Message ( min , max) Oversize Payload Recursive Payload

ขอบเขตอลเมนต (min, max) Buffer Overflow

อกขระตองหาม เชน &, >, < Parameter Tampering

ชวงชวต Message (วนาท) Replay Attack

อตรารบ Message ตอ วนาท SOAP Flooding

Page 56: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

43

ตารางท� 3.2 ตวอยางการกาหนดคาพารามเตอรตางๆ โดยผทดสอบระบบ

จากตารางท* 3.2 แสดงตวอยางการกาหนดคาพารามเตอรท*จาเปนในการตรวจสอบ ซ*งในท*น�จะเปนการกาหนดคาพารามเตอรใหกบบรการช*อ power โดยกาหนดขนาดของ Message ท*ยอมรบไดมขนาดต*าสด 100 ใบต และมขนาดสงสด 5000 ใบต และยงมการกาหนดขอบเขตใหกบแตละอลเมนตไมวาจะเปนอลเมนต x สามารถมคาต*าสด 1 และมคาสงสดคอ 1000 อลเมนต y สามารถมคาต*าสด 1 และมคาสงสดคอ 1000 อกขระตองหามคอ <, >, #, & มชวงชวตของ Message คอ 2 วนาท และสามารถสง Message ตดตอกนจากตนทางเดยวกนไมเกน 10 Message ตอวนาท โดยคาพารามเตอรเหลาน�จะถกนาไปใชในการตรวจสอบความถกตองของขอมลท*สงมาใหเวบเซอรวสประมวลผล หลงจากมการกาหนดคาพารามเตอรกสามารถนาไปใชงานรวมกบกระบวนการเรยนรรปแบบของขอมลในหวขอท* 3.1.2 ไดผลกคอจะไดเอกสารเอกซเอมแอลสคมาของ Body ใหมพรอมกบใสขอกาหนดใหกบขอมลท*จดเกบดวย ดงแสดงในรปท* 3.6

พารามเตอร ตวอยางคาท*กาหนด

ช*อบรการ power

ขนาด Message ขนาดต*าสด (Min) 100 ใบต ขนาดสงสด (Max) 5000 ใบต

ขอบเขตอลเมนต อลเมนต x คาต*าสด 1 คาสงสด 1000 อลเมนต y คาต*าสด 1 คาสงสด 1000

อกขระตองหาม <, >, #, &

ชวงชวต Message (วนาท) 2 วนาท อตรารบ Message ตอ วนาท 10 Message ตอ วนาท

Page 57: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

44

รปท� 3.6 เอกสารเอกซเอมแอลสคมาของ Body รวมกบคาพารามเตอร 3.1.3 สวนของการตรวจสอบ สวนน�จะเปนการตรวจสอบเอกซเอมแอลแตละการรองขอ โดยจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท*เหมาะสม แลวนามาทาการตรวจสอบรปแบบของเอกสารเอกซเอมแอลพรอมนาคาพารามเตอรท*กาหนดไวมารวมในการตรวจสอบท*ประกอบไปดวย Check Timestamp สวนของการตรวจสอบเวลาชวตของ Message เม*อผรองขอตองการขอใชบรการกจะสราง Message ท*เรยกวา SOAP request พรอมทาการเพ*ม Timestamp ในสวนของ Header เม*อ Message เดนทางมาถง S-DV (State-based data validation) กจะทาการจบเอา Message พรอมนบจานวนของ Message ท*สงมาจากตนทางเดยวกนวาในหน*งวนาทสง Message มาเกนจานวนท*กาหนดไวหรอไม ถาเกนจะทาการยกเลก

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://service.aiom.calculate" targetNamespace="http://service.aiom.calculate" elementFormDefault="qualified"> <xs:element name="power"> <xs:complexType> <xs:sequence> <xs:element name="x"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1"/> <xs:maxInclusive value="1000"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="y"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1"/> <xs:maxInclusive value="1000"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Page 58: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

45

การรองของพรอมสรางลอกและแกไขสถานะของผรองขอไปอยในสถานะ lock โดยระบบจะสนนษฐานวาเปนการโจมตแบบ SOAP flooding [20] ถาไมใชกจะสกดเอา Timestamp ออกมาตรวจสอบกบเวลาปจจบน ถาเกนชวงเวลาท*กาหนด S-DV จะทาการยกเลกการรองขอพรอมสรางลอกและลดสถานะของผรองขอลงหน*งระดบ ถาไมเกนจะสงไปทาการตรวจสอบในสวนอ*นถดไป ดงแสดงในรปท* 3.7 ในสวนของ Net_time คอผลตางของวนเวลาท*สราง Message กบวนเวลาปจจบน สวน limit_time คอชวงเวลาชวตของ Message และ limit_msg คอจานวน Message สงสดท*ยอมรบไดตอวนาท [23]

รปท� 3.7 ข �นตอนการตรวจสอบในสวนของ (Check Timestamp)

จากรปท* 3.7 แสดงใหเหนถงข �นตอนการตรวจสอบเวลาชวตของ Message วาหมดเวลาหรอยงตวอยางของเอกสารการรองขอแสดงในรปท* 3.3 เปนการแสดงเอกสารโซพท*เรยกวา SOAP request สาหรบสงคารองขอใชบรการเวบเซอรวส ในการรองขอใชบรการผรองขอจะตองเพ*มขอมลในสวนของ Header ท*เปนวนเวลาในการสรางเอกสารดงแสดงในรปท* 3.8 แสดงการเพ*มวนเวลาในการสราง Message ในเอกสารโซพในสวนของ Header

รปท� 3.8 สวนของ Header ในเอกสารโซพ

SOAP message

<soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>15/01/2558 14:11:43</hns:Created> <hns:Expired>15/01/2558 14:11:47</hns:Expired> </hns:header> </soapenv:Header>

Page 59: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

46

Schema Validator [4] [16] [22] เปนสวนของการตรวจสอบความถกตองของ Message ท*สงมาวาเปนไปตามรปแบบท*กาหนดหรอไม โดยจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท*เหมาะสม โดยเอกสารเอกซเอมแอลสคมาไดสรางและจดเกบไวในข �นตอนเรยนรรปแบบของเอกสารเอกซเอมแอลมาทาการตรวจสอบวาเปนไปตามรปแบบท*กาหนดหรอไม กรณท*มการสงเอกซเอมแอลรปแบบใหมๆ มาจะไมมเอกซเอมแอลสคมาท*สอดคลองกรอบการทางาน S-DV จะยกเลกการรองขอน �นและสรางลอกเกบไว โดยท*ลอกจะถกนามาสรางเปนรายงานใหผดแลระบบ ดงน �นผดแลระบบสามารถตรวจสอบแลวยนยน กรอบการทางาน S-DV กจะนาเอาลอกมาสรางเอกซเอมแอลสคมาทท*สอดคลองเกบไวสาหรบตรวจสอบในคราวถดไป ดงแสดงในรปท* 3.9 แสดงใหเหนวาเม*อ Message เดนทางมาถงระบบจะทาการจบแลวสกดเอาเอกสารเอกซเอมแอลออกมาแตสาหรบสวนของ SOAP Header อาจจะไมมกได จากน �นจะทาการคดเลอกเอกซเอมแอลสคมาท*เหมาะสมมาตรวจสอบ H_schema เปนเอกสารเอกซเอมแอลสคมาของ SOAP Header และสวน B_schema เปนเอกซเอมแอลสคมาของ SOAP Body

รปท� 3.9 ข �นตอนการตรวจสอบในสวนของ (Schema Validator) สาหรบตวอยางของเอกสารเอกซเอมแอลสคมาไมวาจะเปนสวนของ Header หรอสวนของ Body น �น รปท* 3.4 แสดงตวอยางของเอกสารเอกซเอมแอลสคมาสวนของ Header และรปท* 3.5 แสดงตวอยางของเอกสารเอกซเอมแอลสคมาสวนของ Body เม*อมการสงคารองขอใชบรการเวบเซอรวส ระบบกจะทาการคดเลอกเอาเอกซเอมแอลสคมาท*เหมาะสมมาทาการตรวจสอบวาเปนไปตามขอกาหนดหรอไม สาหรบตวอยางการสงขอมลมาใหเวบเซอรวสประมวลผลในรปแบบท*ไมถกตองแสดงในรปท* 3.10

Page 60: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

47

รปท� 3.10 การสงขอมลเกนขอบเขตของขอมลท*กาหนด จากรปท* 3.10 จะเปนเอกสารโซพท*สงมาเพ*อขอใชบรการเวบเซอรวสภายในสวนของ Body จะบรรจคาขอใชบรการช*อ power พรอมสงคาพารามเตอรมาใหบรการดวยคอ x มคาเปน 5 และ y มคาเปน 2000 เม*อระบบไดรบเอกสารน�ระบบจะทาการคดเลอกเอาเอกสารเอกซเอมแอลสคมาท*เหมาะสมมาทาการตรวจสอบ ดงน �นเม*อนาเอกสารเอกซเอมแอลสคมาในรปท* 3.6 มาทาการตรวจสอบระบบกจะตรวจพบวาขอมลท*สงมาพรอมการรองขอน�ไมถกตองตามขอกาหนดคอคาของอลเมนต y เกนขอบเขตท*กาหนดไว เน*องจากคาของอลเมนต x ถกกาหนดคาใหสามารถมไดอยระหวาง 1-1000 เทาน �นและอลเมนต y ถกกาหนดคาใหสามารถมคาไดอยระหวาง 1-1000 เชนกน

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://service.aiom.calculate"> <soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>15/01/2558 14:11:43</hns:Created> <hns:Expired>15/01/2558 14:11:45</hns:Expired> </hns:header> </soapenv:Header> <soapenv:Body> <tns:power> <tns:x>5</tns:x> <tns:y>2000</tns:y> </tns:power> </soapenv:Body> </soapenv:Envelope>

Page 61: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

48

Check State[18] สวนของการตรวจสอบสถานะของการรองขอใชบรการเม*อ Message ผานการตรวจสอบรปแบบแลวกจะมาทาการตรวจสอบสถานะของการรองขอวามความนาเช*อเพยงใดเพราะวาถาการรองขอน �นมความนาเช*อถอกไมควรท*จะไปตรวจสอบอยางอ*นเพ*ม เน*องจากเม*อ Message ไดผานกระบวนการตรวจสอบรปแบบ Message ดวยเอกสารเอกซเอมแอลสคมากถอไดวาขอมลน �นมความปลอดภยแลวแนนอนวาการรองขอท*มความนาเช*อถอกอาจจะเปนการรองขอท*ไมนาเช*อถอในอนาคตกได ระบบการตรวจสอบจงไดมการกาหนดสถานะของการรองของข�นมา 4 สถานะคอการรองขอมความนาเช*อถอ (Good), การรองขอมความนาสงสย (Suspicious), การรองขอท*ไมด (Bad) และการรองขอท*ไมมความปลอดภยเลย (lock) ถาการรองขออยในสถานะ lock น� จะถกแกไขใหไปอยในสถานะอ*นไดจากผดแลระบบเทาน �น สาหรบการรองขออยในสถานะ Good จะมชวงชวงเวลาท*จากด เชน 10 นาท 20 นาท หรอ 1 ช *วโมงเปนตน เม*อครบเวลาท*กาหนดกจะยายมาอยในสถานะ Suspicious แทนเพ*อทาการตรวจสอบวายงคงเปนการรองขอท*มความนาเช*อถออยหรอไมสวนการรองขอใหมท*ยงไมเคยเขามาในระบบเลยจะถกกาหนดใหอยในสถานะ Suspicious โดยอตโนมต จากรปท* 3.11 ดานลางน�ไดมการแสดงข �นตอนการตรวจสอบสถานะของการรองขอ โดยเร*มตนจะทาการตรวจสอบวาสถานะปจจบนของการรองขออยในสถานะ Good หรอไมถาไมใชกจะสงการรองขอน �นไป check Parameter module ถาใชกจะไปตรวจสอบอกวาหมดเวลาหรอยง (Time out) ถายงไมหมดเวลากจะสงการรองขอน �นไปใหเวบเซอรวสแตถาหมดเวลากจะเปล*ยนสถานะการรองขอใหไปอยสถานะ Suspicious แลวสงการรองของไปยง check Parameter module

รปท� 3.11 ข �นตอนการตรวจสอบในสวนของ (Check State)

Page 62: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

49

Action Module สวนการกาหนดการกระทาใหเหมาะสมกบขอมลน �นๆ วาจะใหทาอะไรข�นอยกบวาขอมลท*สงมาใหน �นเปนขอมลอะไร ตวอยางเชน สงขอผดพลาดมาตรงสวนน�กจะทาการสรางลอกเกบไวเปนตน Check parameter module [18] สวนวเคราะหพารามเตอรสวนน�จะเปนการวเคราะหขอมลโดยละเอยด ทาใหการทางานตรงสวนน�จาเปนตองใชเวลาในการวเคราะหมากกวาการทางานของสวนอ*นๆ โดยการวเคราะหจะเลอกอลกอรทมท*เหมาะสมท*ไดมการกาหนดไวในสวนของ D&V Rules (detection and verification rules) มาวเคราะหรวมกบคาพารามเตอรท*ไดจดเกบไวในข �นตอนเรยนรหรอกาหนดคาโดยผทดทดสอบระบบมารวมวเคราะห ดงรปท* 3.12

รปท� 3.12 ข �นตอนการตรวจสอบในสวนของ (Check Parameter Module)

เม*อคารองขอผานการตรวจสอบสถานะของการรองขอแลวถาการรองขอน �นมสถานะอ*นท*ไมใชสถานะ Good ระบบกจะสงการรองขอมาวเคราะหโดยละเอยดโดยเลอกอลกอรทมท*เหมาะสมมาตรวจสอบรวมกบคาพารามเตอรท*กาหนด วาในแตละอลเมนตหรอแอตทรบวตมรปแบบขอมลถกตองหรอไม ถาขอมลในแตละอลเมนตหรอแอตทรบวตเปนขอมลแบบขอความจะใชความสามารถของ regexp มาใชในการวเคราะห ตวอยางถามการสงเอกสารเอกซเอมแอลท*ภายในอาจจะประกอบดวยสวนของ CDATA แสดงในรปท* 3.13 แลวตองการตรวจสอบวาภายใน CDATA มอกขระท*ไมอนญาตหรอไมการตรวจสอบกจะใชความสามารถของ regexp ตวอยางคอ "^[^<>&#]*$" หมายถงในสายอกขระไมอนญาตใหมอกขระ "<" หรอ ">" หรอ "&" หรอ "#" เหลาน�ปรากฎอยภายในขอมล

Page 63: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

50

รปท� 3.13 การบรรจขอมลใน CDATA แตถาขอมลมชนดของขอมลเปนประเภทตวเลขการวเคราะหจะใชคาของ พารามเตอรท*กาหนดมารวมในการวเคราะห ซ*งขอมลท*เปนตวเลขการวเคราะหสวนใหญจะเปนการวเคราะหวาขอมลท*สงมาน �นเกนขอบเขตของขอมลหรอไม สวนชนดของขอมลจะถกควบคมดวยเอกซเอมแอลสคมา ในรปท* 3.14 จะเปนการแสดงข �นตอนของการวเคราะห

รปท� 3.14 ข �นตอนการวเคราะหขอมลท*มชนดเปนตวเลข การวเคราะหตรงสวนน�จะทาการวเคราะหทกๆ อลเมนตและทกๆ แอตทรบวต โดยระบบจะคอยๆ อานขอมลออกมาทละอลเมนตหรอแอตทรบวตแลวดวาในแตละอลเมนตหรอแอตทรบวตน �นขอมลท*เกบมชนดขอมลเปนอะไร ถาเปนขอความกจะใช regexp ในการวเคราะหแตถาขอมลท*เปนตวเลขกจะใชอลกอรทมในรปท* 3.14 มาทาการวเคราะห โดยมข �นตอนการดาเนนการดงน� 1) เม*อขอมลของอลเมนตหรอแอตทรบวตสงเขามา จะดาเนนการดงเอาช*อของอลเมนตหรอแอตทรบวตออกมาเกบไวในตวแปร name และจะทาการดงเอาคาของอลเมนต

<tns:name><![CDATA[<,&,# ]]></tns:name

Page 64: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

51

หรอแอตทรบวตออกมาเกบไวในตวแปร value พรอมทาการหาวาอลเมนตหรอแอตทรบวตน�เกบคามชนดของขอมลประเภทอะไร 2) ทาการตรวจสอบวาอลเมนตหรอแอตทรบวตน�ไดมการกาหนดขอบเขตของขอมลในฐานขอมลไวหรอไม ถามการกาหนดไวกดงขอบเขตของอลเมนตหรอแอตทรบวตน�จากฐานขอมล แตถาไมใชกใหดงเอาขอบเขตของขอมลจากประเภทของขอมลน �นๆ ซ*งจะเปนคา Default ของขนดขอมลประเภทน �น โดยขอบเขตขอมลต*าสดเกบไวในตวแปร min และขอบเขตสงสดเกบไวในตวแปร max 3) ทาการตรวจสอบวาคาของอลเมนตหรอแอตทรบวตเกนขอบเขตหรอไม ถาเกนขอบเขตกจะทาการสรางลอกเกบไวแลวลดสถานะของการรองขอน�ลงหน*งระดบแลวยกเลกการรองขอน�ไป แตไมใชกจะทาการสงการรองขอน�ไปใหเวบเซอรวสประมวลผลพรอมกบเพ*มสถานะของการรองขอน�ข�นหน*งระดบ สวนของอลกอรทมและ regexp สามารถกาหนดเพ*มได ถามความตองการใหมๆ ในการตรวจสอบ Generate reports สวนน�จะเปนการนาลอกมาสรางรายงานใหผดแลระบบไดทราบสาหรบในสวนลอกท*เกดข�นจาก Schema validator อาจมาจากสองประการคอ กรณท*หน*งเปนลอกท*เกดข�นจากเอกซเอมแอลท*สงมาในรปแบบท*เปนอนตราย กรณท*สองเปนลอกท*เกดข�นจากเอกซเอมแอลท*สงมาไมสอดคลองกบเอกซเอมแอลสคมาท*มอย การรองขอจงถกปฏเสธตรงสวนน�ทางผดแลระบบสามารถตรวจสอบแลวทาการยนยนกรอบการทางาน S-DV กจะนาลอกมาสรางเอกซเอมแอลสคมาเกบไวเพ*อใชในการตรวจสอบในคร �งตอไป สาหรบการตรวจสอบสถานะของการรองขอน �นจะตรวจสอบจาก IP address ของผรองขอท*สงการรองขอใชงานเวบเซอรวส ดงน �นสถานะของการรองขอของแตละการรองขออาจจะอยในสถานะใดสถานะหน*งข�นอยกบการตรวจสอบขอมลท*สงมาวาเปนอยางไร ดงแสดงในรปท* 3.15

รปท� 3.15 การเปล*ยนสถานะของการรองขอ 1) การรองขอใชงานเวบเซอรวสท*ถกสงมาจากผรองขอท*เขามาในระบบเปนคร �งแรกจะถกกาหนดใหอยในสถานะ Suspicious

Page 65: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

52

2) สถานะ Suspicious จะเปล*ยนสถานะไปเปน Good ไดกรณเดยวเทาน �นคอ การรองขอใชงานเวบเซอรวสท*ผานการตรวจสอบจาก Check parameter module เทาน �น 3) สถานะ Suspicious จะเปล*ยนสถานะไปเปน Bad เม*อการรองขอน �นไมผานการตรวจสอบจากสวนใดสวนหน*งของระบบ การรองขอน �นกจะถกลดสถานะลงมาเปน Bad ในทานองเดยวกนการรองขอท*อยในสถานะ Suspicious จะเปล*ยนสถานะไปเปน lock เม*อการรองขอน �นถกสงสยวาจะเปนการสงการรองขอแบบ Flooding 4) สถานะ Bad จะเปล*ยนสถานะไปเปน Suspicious เม*อการรองขอน �นผานการตรวจสอบจาก Check parameter module กแสดงวาการรองขอน �นมความนาเช*อถอเพ*มมาข�นแตยงมความนาสงสยอยและจะเปล*ยนสถานะไปเปน lock เม*อการรองขอน �นไมผานการตรวจสอบจากสวนใดสวนหน*งของระบบจะถกสงสยวาเปนการโจมตแนนอน 5) สถานะ lock จะเปล*ยนไปเปนสถานะใด จะข�นจากการพจารณาของผดแลระบบวาเหนสมควรใหไปอยในสถานะใด 6) สถานะ Good จะเปล*ยนสถานะมาเปน Suspicious เม*อหมดชวงระยะเวลาท*กาหนด

Page 66: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

53

บทท� 4 การทดลอง

ในการทดลองการตรวจสอบและคดกรองเอกซเอมแอลไดมการพฒนากรอบการทางานและจดสภาพแวดลอมในการทดลองดงรปท# 4.1 ในแตละองคประกอบยอยๆ ของกรอบการทางานไดมการแบงแยกในการการทดสอบ โดยใชกรณทดสอบท#กาหนดข0นเองในชวงข 0นตอนของการพฒนาเพ#อใหแนใจวาแตละองคประกอบสามารถทาหนาท#ไดอยางถกตอง หลงจากน 0นไดนาเอาแตละองคประกอบท 0งหมดมารวมกนใหเปนกรอบการทางานสาหรบการทดสอบบนเครอขายดงรปท# 4.1 4.1 สภาพแวดลอมของระบบท�ใชทดลอง ในการทดสอบกรอบการทางานบนเครอขาย ประกอบไปดวยโปรแกรมประยกตของไคลเอนต (Client), เวบเซอรวสพรอกซ (Web service proxy), เวบเซรฟเวอร (web server) และเวบเซอรวส ท 0งหมดเช#อมตอกนโดยตรง

รปท� 4.1 สภาพแวดลอมของการทดลอง

Page 67: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

54

สาหรบการทดลองจะใชเคร#องคอมพวเตอรท#ทาหนาท#เปนเคร#องเซรฟเวอรท#ทาหนาท#คอยใหบรการ โดยเคร#องคอมพวเตอรน0จะทาการตดต 0งเวบเซรฟเวอร เวบเซอรวสและฐานขอมลซ#งประกอบไปดวย 1) CPU Intel(R) Core(TM) i3 2.13GHz 2 Core(s) 2) RAM DDR3 2 GB 3) HDD 300 GB 4) Windows 7 Ultimate โปรแกรมประยกตของไคลเอนตท#ใชเรยกใชงานเวบเซอรวสผานเวบเซอรวสพรอกซพฒนาดวยภาษา JAVA และเอกซเอมแอล เวบเซอรวสพรอกซ พฒนามาจาก Squid Proxy server ท#ตดต 0งอยบนระบบปฏบตการ Linux โดยจะเปนตวกลางท#คอยรบทกการรองขอใชงานเวบเซอรวสเพ#อลดภาระการทางานของเวบเซรฟเวอร เวบเซอรวส พฒนาดวยภาษา JAVA และใช Apache axis2 ในการจดการกบ SOAP message การตรวจสอบความถกตองของ SOAP message (Data Validation module) โดยจะทาการตรวจสอบทกการรองขอท#เขามาวามความปลอดภยหรอไม กอนท#จะสง SOAP message ไปใหเวบเซอรวสประมวลผลซ#งพฒนาดวยภาษา JAVA และใช Apache axis2 ในการจดการกบ SOAP message การตรวจสอบความถกตองของ SOAP message จะใชความสามารถของเอกซเอมแอลสคมารวมกบคาพารามเตอรท#จาเปนท#กาหนดโดยผทดสอบระบบและใชอลกอรทมท#เหมาะสมในการตรวจสอบ ในกรอบการทางานยงมการตรวจสอบสถานะของการรองขอใชเวบเซอรวสดวยวามความนาเช#อถอหรอไม ถาการรองขอใชบรการมความนาเช#อถอนอยกจะทาการตรวจสอบ SOAP message โดยละเอยดตรงสวนน0จะใชเวลาในการตรวจสอบมาก ถาผลของการตรวจสอบความถกตองของ SOAP message แลวไมถกตองตามขอกาหนด การรองขอน 0นจะถกยกเลกไปพรอมสรางลอกเกบไวดวย ฐานขอมล (Database) จะเปนศนยกลางท#คอยจดเกบขอมลตางๆ ท#จาเปนในการตรวจสอบพฒนาข0นดวย MySQL server การสรางเอกซเอมแอลสคมา (Generate Schema Module) จะเปนสวนของการเรยนรรปแบบของ SOAP message ในรปแบบตางๆ ท#เปนไปได เพ#อนามาใชเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมา ท#ใชในการตรวจสอบความถกตองของ SOAP message ในคราวตอไป พฒนาดวยภาษา JAVA การกาหนดคาพารามเตอร (Initial Parameter) ท#จาเปนในการตรวจสอบความถกตองของ SOAP message ซ#งคาพารามเตอรเหลาน0จะถกกาหนดคาโดยผทดสอบระบบ เหตผลท#ตองใหผทดสอบระบบเปนคนกาหนดคา เน#องจากผวจยมองวาผทดสอบระบบจะมความรและเขาใจระบบมากกวาผดแลระบบท#อาจจะมความรหรอเขาใจในระบบไมดพอ ซ#งอาจมผลทาให

Page 68: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

55

การกาหนดคาท#ไมครอบคลม ท#อาจสงผลใหการตรวจสอบความถกตองของ SOAP message เกดชองโหวได พฒนาดวยภาษา JAVA การสรางรายงาน (Generate Report) สวนน0จะนาเอาลอก ท#ถกจดเกบไวในขบวนการตรวจสอบความถกตองของ SOAP message มาสรางเปนรายงานใหผดแลระบบโดยจะมการสรางรายงานแบบ Real-time และตรงสวนน0ยงมอลกอรทมท#จะนาเอาลอกท#เกดจากการรองขอท#ถกปฏเสธเน#องจากเอกสาร เอกซเอมแอลสคมา ท#มไมสอดคลองกบรปแบบของ SOAP message เพ#อเปนการเรยนรรปแบบของ SOAP message ในรปแบบใหมๆ พฒนาดวยภาษา JAVA และใช Apache axis2 ในการจดการกบ SOAP message 4.2 การทดลองการโจมตแบบ Replay Attack ในการทดลองสาหรบตรวจสอบการโจมตแบบ Replay Attack การดาเนนการทดลองจะมสวนท#สาคญคอ 1) เม#อมการรองขอใชบรการจะตองเพ#ม Timestamp ในสวนของ Header ของ SOAP request 2) เม#อ Message เดนทางมาถงกรอบการทางาน S-DV กจะจบ Message พรอมนบจานวน Message ท#สงมาจากตนทางเดยวกนวาในหน#งวนาทสงเกนจานวนท#กาหนดไวหรอไม เพ#อปองกนการโจมตแบบ SOAP flooding 3) สกดเอา Timestamp มาคานวณเทยบกบเวลาปจจบนวาเกนชวงชวตของ Message หรอไมจาก รปท# 4.2 ในสวนของ Net_time คอผลตางของวนเวลาท#สราง Message กบวนเวลาปจจบน สวน limit_time คอชวงเวลาชวตของ Message และ limit_msg คอจานวน Message สงสดท#ยอมรบไดตอวนาท

รปท� 4.2 ตรวจจบการโจมตแบบ Replay Attack

Page 69: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

56

4.3 การทดลองการโจมตแบบ Buffer Overflow ในการทดสอบเพ#อตรวจจบการโจมตแบบ Buffer Overflow น 0นจะใชความสามารถของเอกซเอมแอลสคมาในการตรวจจบ ดงตวอยางรปท# 4.3 ดวยความสามารถของเอกซเอมแอลสคมาเราสามารถกาหนดรปแบบของโครงสรางเอกสารเอกซเอมแอล ประเภทของขอมล รปแบบขอมล ขอบเขตขอมล ใหกบแตละอลเมนตหรอแอตทรบวต ดวยความสามารถน0เราจงสามารถนามาตรวจสอบขอบเขตของขอมลเพ#อไมใหเกนขอบเขตท#กาหนดไวได ตวอยางในรปท# 4.3 ใชในการตรวจสอบอลเมนต number วาเกบขอมลแบบตวเลขจานวนเตมและเกบไดต#าสดคอ -2147483648 สงสดคอ 2147483647 ถานอกเหนอจากน0ถอวาเปนคาไมถกตอง

รปท� 4.3 เอกซเอมแอลสคมาสาหรบกาหนดขอบเขตขอมล 4.4 การทดลองการโจมตแบบ Parameter Tampering ในการทดลองเพ#อตรวจจบการโจมตแบบ Parameter Tampering จะใชคณสมบตของ regexp ท#มลกษณะเปนลาดบของอกขระท#ใชจดรปแบบสาหรบคนหาหรอจบคสายอกขระเราสามารถนาเอา regexp มาจดรปแบบในการจบคสายอกขระท#เราสามารถอนญาตใหมไดหรอไมอนญาตใหม ตวอยางเชน รปแบบอเมลในสวนของ regexp กาหนดไดคอ "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z]+(\\.[A-Za-z]+)*(\\.[A-Za-z]{2})?$" หรอไมอนญาตใหมอกขระท#กาหนดในสายอกขระสามารถกาหนดรปแบบของ regexp คอ "^[^<>&]*$" หมายถงในสายอกขระไมอนญาตใหมอกขระ "<" หรอ ">" หรอ "&"

<xs:element name="number"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="-2147483648" /> <xs:maxInclusive value="2147483647"/> </xs:restriction> </xs:simpleType> </xs:element>

Page 70: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

57

4.5 การทดลองการโจมตแบบ Recursive Payload ในการทดสอบเพ#อตรวจจบการโจมตแบบ Recursive Payload น0 กใชความสามารถของเอกซเอมแอลสคมา ดงตวอยางรปท# 4.4 ในการตรวจสอบโครงสรางเอกสารเอกซเอมแอลวาถกตองตามท#กาหนดไวหรอไม จากตวอยางดานลางน0 แสดงใหเหนการใชเอกสารเอกซเอมแอลสคมา มาควบคมโครงสรางของอลเมนต transaction ท#มอลเมนตลกคอ total และ credit_NO เทาน 0นโดยแตละอลเมนตสามารถปรากฎเปนอลเมนตลกของ transaction ไดเพยงคร 0งเดยวและไมสามารถวางซอนทบกนได

รปท� 4.4 เอกซเอมแอลสคมาควบคมโครงสรางเอกซเอมแอล 4.6 การทดลองการโจมตแบบ Oversize Payload ในการทดสอบเพ#อตรวจจบการโจมตแบบ Oversize Payload จะใชความสามารถของเอกซเอมแอลสคมารวมกบการตรวจสอบขนาดของ Message กบคาพารามเตอรท#กาหนดโดยผทดสอบระบบในข 0นตอนการเรยนรรปแบบเอกซเอมแอล จากตวอยางแสดงในรปท# 4.5 แสดงเอกสารเอกซเอมแอลสคมาท#นามาใชควบคมโครงสรางของเอกสารเอกซเอมแอลใหอยในรปแบบท#ตองการ จากรปท# 4.5 แสดงใหเหนวาเอกสารเอกซเอมแอลสามารถประกอบไปดวย อลเมนต item สามารถปรากฎได 2 คร 0ง เพราะวาไดมการกาหนดแอตทรบวต maxOccurs="2" คออนญาตใหอลเมนต item ปรากฎไดสงสดคอ 2 คร 0ง และรปท# 4.6 แสดงข 0นตอนการตรวจสอบขนาดของ Message วาเปนไปตามท#กาหนดไวหรอไม

<xs:element name="transaction"> <xs:complexType> <xs:sequence> <xs:element name="total" type="xs:float" /> <xs:element name="credit_NO" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element>

Page 71: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

58

รปท� 4.5 เอกซเอมแอลสคมาสาหรบตรวจสอบ

รปท� 4.6 การตรวจจบการโจมตแบบ Oversize Payload

………………………….. <xs:complexType> <xs:sequence> <xs:element name="total" type="xs:integer" /> <xs:element name="item" type="xs:string" maxOccurs="2"/> </xs:sequence> </xs:complexType> …………………………….

Page 72: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

59

บทท� 5 ผลการทดลองและสรปผล

เพ�อทดสอบกลไกในการปองกนและตรวจจบการโจมตตางๆ ท�ใชเอกซเอมแอลไดมการพฒนาสวนตางๆ ของระบบตรวจจบดวย Apache Tomcat, Apache Axis2, JAVA และฐานขอมลใช MySQL จากผลการทดลองแสดงใหเหนวากรอบการทางานสามารถตรวจจบการโจมตท�ใชเอกซเอมแอลไดอยางมประสทธภาพ ซ�งสรปไดดงนH 5.1 ผลของการเรยนรรปแบบเอกซเอมแอลท�เปนไปได ในการทดลองเพ�อเรยนรปแบบของเอกซเอมแอลท�เปนไปไดท�จะถกสงมาใหเวบเซอรวสประมวลผลการกระทาตรงสวนนHเราจะถอวาเปนการดาเนนการโดยปราศจากการโจมตใดๆ การเรยนรรปแบบของเอกซเอมแอลท�เปนไปได ประกอบไปดวย 1) ผทดสอบระบบจะตองดาเนนการกาหนดคาพารามเตอรท�จาเปนในการตรวจจบการโจมต ดงแสดงในรปท� 5.1 แสดงตวอยางการกาหนดคาพารามเตอรท�จาเปนใหกบบรการช�อ readXML เพ�อใชในการตรวจสอบความถกตองของขอมลท�สงมาใหเวบเซอรวสประมวลผลท�ประกอบไปดวย ขนาดของ Message ต�าสดคอ 500 ไบต ขนาดของ Message สงสดคอ 5000 ไบต โดยคาพารามเตอรนHจะถกนาไปใชในการตรวจสอบขนาดของ Message ท�สงมาใหเวบเซอรวสประมวลผลเพ�อปองกนการโจมตแบบ Oversize Payload ถา Message ท�สงมามขนาดนอกเหนอท�กาหนดจะถอวาไมถกตอง อกขระพเศษท�ไมอนญาตใหมในขอมลท�เปนขอความคอ <, >, #, $, & กลาวคอในขอมลท�เปนขอความจะประกอบไปดวยอกขระเหลานHไมได เพ�อปองกนการโจมตแบบ Parameter Tampering ชวงชวตของ Message ต Hงแตสราง Message ไปจนถงท� Message เดนทางมาถงเคร�องใหบรการจะมชวงชวต 2 วนาท ถา Message เดนทางมาถงใชเวลามากกวาท�กาหนดจะถอวา Message หมดอายใชการไมได จานวน Message ท�สงมาจากตนทางเดยวกนวาในหน�งวนาทสามารถสง Message ตอเน�องกนไดไมเกน 10 Message ตอวนาท ถาสงเกนท�กาหนดจะถกสนนษฐานวาเปนการโจมตแบบ SOAP flooding นอกจากนHยงมการกาหนดขอบเขตของขอมลใหกบแตละอลเมนตวามขอบเขตท�สามารถยอมรบไดคอคาใด ดงแสดงในรปท� 5.1 เปนตน

Page 73: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

60

รปท� 5.1 การกาหนดคาพารามเตอรใหกบบรการ readXML 2) เม�อผทดสอบระบบดาเนนการกาหนดคาพารามเตอรท�จาเปนในการตรวจจบการโจมตแลวกจะดาเนนการสง SOAP request ไปใหเวบเซอรวสท�ภายใน Message จะบรรจเอกสารเอกซเอมแอลในรปแบบตางๆ ท�สามารถสงมาใหเวบเซอรวสประมวลผล โดยระบบกจะทาการจบเอา SOAP request นามาสกดเอาเอกสารเอกซเอมแอลมาเปนตนแบบในการสรางเอกซเอมแอลสคมาเกบไวสาหรบใชในการตรวจสอบความถกตองของ Message ในคราวตอไป ในรปท� 5.2 แสดงเอกสาร SOAP request

Page 74: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

61

รปท� 5.2 เอกสารเอกสาร SOAP request ในการสงเพ�อเรยนรรปแบบขอมล จากรปท� 5.2 ไดแสดงตวอยางเอกสาร SOAP request ท�ใชสงเพ�อเรยนรรปแบบเอกสารเอกซเอมแอลท�เปนไปได เม�อ Message เดนทางมาถงระบบกจะสกดเอาเอกซเอมแอลในสวนของ Header และในสวนของ Body มาเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาไวสาหรบการตรวจสอบ ตวอยางของเอกสารเอกซเอมแอลสคมาในสวนของ Header แสดงในรปท� 5.3 และตวอยางของสวนของ Body แสดงในรปท� 5.4 ดานลางนH

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://service.aiom.sample"> <soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>25/01/2558 16:7:10</hns:Created> <hns:Expired>25/01/2558 16:7:12</hns:Expired> </hns:header> </soapenv:Header> <soapenv:Body> <tns:readXML> <tns:datas> <tns:exmployee> <tns:id>id00012</tns:id> <tns:fname>john</tns:fname> <tns:lname>smith</tns:lname> <tns:salary>25000</tns:salary> <tns:position>sale</tns:position> <tns:department>marketing</tns:department> <tns:email>[email protected]</tns:email> <tns:phone>085-9722258</tns:phone> </tns:exmployee> </tns:datas> </tns:readXML> </soapenv:Body> </soapenv:Envelope>

Page 75: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

62

รปท� 5.3 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Header

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hns="http://ws.apache.org/axis2" targetNamespace="http://ws.apache.org/axis2" elementFormDefault="qualified"> <xs:element name="header"> <xs:complexType> <xs:sequence> <xs:element name="Created"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="55500" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Expired"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="55500" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Page 76: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

63

รปท� 5.4 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Body

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://service.aiom.sample" targetNamespace="http://service.aiom.sample" elementFormDefault="qualified"> <xs:element name="readXML"> <xs:complexType> <xs:sequence> <xs:element name="datas"> <xs:complexType> <xs:sequence> <xs:element name="exmployee"> <xs:complexType> <xs:sequence> <xs:element name="id"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="6" /> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="fname"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="lname"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="salary"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1000" />

Page 77: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

64

รปท� 5.4 ตวอยางเอกสารเอกซเอมแอลสคมาในสวนของ Body (ตอ)

<xs:maxInclusive value="100000" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="position"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="100" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="department"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="1" /> <xs:maxLength value="100" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="email"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="8" /> <xs:maxLength value="100" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="phone"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse" /> <xs:minLength value="10" /> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> ……

Page 78: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

65

5.2 ผลของการทดลอง เม�อทาการเรยนรรปแบบของเอกสารเอกซเอมแอลเปนท�เรยบรอยกดาเนนการทดลองการโจมตในรปแบบตางๆ โดยสรปไดดงนH 5.2.1 ผลของการทดลอง SOAP flooding การทดลองแบบ SOAP flooding จะเปนการสงเอกสาร SOAP request แบบตอเน�อง โดยรปแบบเอกสาร SOAP request ในการทดลองแสดงในรปท� 5.2 ผลของการทดลองแสดงในตารางท� 5.1 ตารางท� 5.1 ผลการทดลอง SOAP flooding

จากตารางท� 5.1 แสดงผลการทดลอง SOAP flooding โดยจะมการสง Message แบบตอเน�องกนในจานวนตางๆ กน พรอมการจบเวลาท�ระบบใชในการประมวลผลโดยเคร�องมอท�ใชในการจบเวลาในการประมวลผลต Hงแตการประมวลผล Message แรกท�สงมาจน Message สดทายของการสง จะใชเคร�องมอท�มในระบบปฏบตการ Windows คอ Performance Monitor ผลของการทดลองแสดงในตารางท� 5.1 โดยบรรทดแรกจะแสดงจานวนของ Message ท�สงแบบตอเน�องท�ประกอบไปดวย 50, 100, 150, 200, 250, 300, 350, 400, 450 และ 500 Message สวนบรรทดท�สองจะแสดงเวลาของการประมวลผลของระบบท�ไมมกรอบการทางาน S-DV (State-based data validation) และบรรทดท�สามจะแสดงเวลาของการประมวลผลของระบบท�มกรอบการทางาน S-DV ท Hงหมดมหนวยเปนนาท จากตารางท� 5.1 ในบรรทดท�สองจะแสดงเวลาท�ใชในการประมวลของระบบท�ไมมการกรอบการทางาน S-DV ในการกรอง Message กอนท�จะสงไปใหเวบเซอรวสประมวลผล ดงน Hน Message ท HงหมดจะถกสงไปใหเวบเซอรวสประมวลจนเสรจสHนกระบวนการ เม�อมการสง Message ไปใหเวบเซอรวสประมวลผลมจานวนมากขHนกทาใหเวลาท�ระบบใชในการประมวลผล Message ท HงหมดมากขHนตามไปดวย และในบรรทดท�สามแสดงเวลาท�ใชในการประมวลของระบบท�มการกรอบการทางาน S-DV ซ�งแสดงเหนวาแมจานวนของ Message ท�สงมาแบบตอเน�องมจานวนท�มากขHนแตเวลาท�ใชในการประมวลผล Message ท Hงหมด กไมเพ�มขHนตามจานวนของ Message ท�เพ�มขHน เน�องจากวากรอบการทางาน S-DV จะทาการนบจานวน Message ท�สงมาตอวนาทวาสงมาเกนคาท�กาหนดไวหรอไม ถาเกนระบบจะยกเลกการรองขอท�เหลอท Hงหมด

Page 79: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

66

5.2.2 ผลของการทดลอง Replay Attack ในการทดลองการโจมตแบบ Replay Attack น Hน ผรองขอใชบรการจะตองเพ�มขอมลในสวนของ Header ของเอกสารโซพ ท�เปนวนเวลาในการสราง Message โดยวนเวลาท�สราง Message นHจะถกนามาเปรยบเทยบกบวนเวลาปจจบนของเคร�องใหบรการวาเกนเวลาชวตของ Message ท�กาหนดไวหรอไม ถาเกนกรอบการทางาน S-DV กจะยกเลก Message ท�สงมา ตวอยางการเพ�มวนเวลาของการสราง Message ในเอกสารโซพ แสดงในรปท� 5.5

รปท� 5.5 ตวอยางการเพ�มวนเวลาในการสรางเอกสารโซพในสวนของ Header จากรปท� 5.5 แสดงตวอยางการเพ�มวนเวลาในการสรางเอกสารโซพในสวนของ Header วนเวลาในการสรางเอกสารจะบรรจในอลเมนต Created คอ Message ถกสรางเม�อวนท� 25/01/2558 เวลา 16:7:10 และอลเมนต Expired จะบรรจวนเวลาหมดอายของ Message คอวนท� 25/01/2558 เวลา 16:7:12 เม�อ Message เดนทางมาถงกรอบการทางานกจะจบเอา Message พรอมสกดเอาวนเวลาในการสราง Message มาเปรยบเทยบกบเวลาปจจบนวาเกนชวงชวตของ Message ท�กาหนดไวหรอไม เม�อเกนเวลาท�กาหนดระบบจะทาการยกเลก Message พรอมสรางลอกเกบไว ตวอยางของลอกแสดงในรปท� 5.6

รปท� 5.6 ตวอยางของลอกท�ถกสรางจากการตรวจจบชวงชวตของ Message

…………. <soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>25/01/2558 16:7:10</hns:Created> <hns:Expired>25/01/2558 16:7:12</hns:Expired> </hns:header> </soapenv:Header> ……………………

Page 80: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

67

จากรปท� 5.6 แสดงตวอยางของลอกท�ถกสรางจากการตรวจจบชวงชวตของ Message จะเหนวา Message ถกสรางขHนในวนท� 25/01/2558 เวลา 16:7:10 น. และ Message มชวงของชวต 2 วนาท แต Message เดนทางมาถง วนท� 25/01/2558 เวลา 16:7:13 น. ซ�งเกนเวลาชวตของ Message ดงน Hน Message จงถกยกเลกไปและระบบจะสรางลอกเกบไว ดงรปท� 5.6 5.2.3 ผลของการทดลอง Buffer Overflow ในการทดลองการโจมตแบบ Buffer Overflow จะเปนการตรวจสอบวาขอมลท�ผรองขอใชบรการมการสงขอมลมาเกนขอบเขตของชนดขอมลหรอเกนขอบเขตท�ยอมรบไดหรอไม โดยใชความสามารถของภาษาเอกซเอมแอลสคมารวมกบคาพารามเตอรท�กาหนดโดยผทดสอบระบบ ในการทดลองผทดลองไดสรางบรการช�อ power เพ�อคานวณเลขยกกาลง โดยมเอกสารเอกซเอมแอลสคมาสาหรบตรวจสอบความถกตองขอมลท�สงมาใหบรการประมวลผลดงรปท� 5.7

รปท� 5.7 เอกสารเอกซเอมแอลสคมาสาหรบตรวจสอบขอมลสาหรบบรการ power

………. <xs:element name="power"> <xs:complexType> <xs:sequence> <xs:element name="x"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1" /> <xs:maxInclusive value="1000" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="y"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1" /> <xs:maxInclusive value="1000" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> ……….

Page 81: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

68

จากรปท� 5.7 แสดงเอกสารเอกซเอมแอลสคมาสาหรบตรวจสอบขอมลสาหรบบรการ power โดยบรการนHมการรบคาพารามเตอรท�สงมาจากผขอใชบรการสองคาคอ x กบ y โดยท Hงสองพารามเตอรรองรบชนดขอมลแบบตวเลขจานวนเตมและมของเขตของขอมลคอ คาต�าสดท�รบไดคอ 1 และคาสงสดท�รบไดคอ 1000 โดยคาขอบเขตนHจะถกกาหนดในข Hนตอนการกาหนดคาพารามเตอรโดยผทดสอบระบบ เม�อทาการทดลองสงคาในรปแบบตางๆ มาใหบรการประมวลผลผลลพธท�ไดแสดงในตารางท� 5.2 ตารางท� 5.2 ผลการทดลอง Buffer Overflow

จากตารางท� 5.2 แสดงผลการทดลอง Buffer Overflow โดยมการสงคาแบบตางๆ ไปใหกบเวบเซอรวสประมวลผล ผลของการทดสอบกรอบการทางาน S-DV สามารถสรปไดดงนH 1) ทดลองคร Hงท� 1 ผาน เน�องจากวาคาของ x และ y อยในขอบเขตท�ถกตอง 2) ทดลองคร Hงท� 2, 3 ไมผาน เน�องจากวาคาของ x และ y มชนดของขอมลไมถกตอง เพราะวา x และ y รองรบชนดขอมลตวเลขจานวนเตม 3) ทดลองคร Hงท� 4, 5, 6 ไมผาน เน�องจากวาคาของ x และ y มชนดของขอมลไมถกตอง เน�องจากวาคา x หรอ y สงไปเปนตวอกษร แต x และ y รองรบชนดขอมลตวเลขจานวนเตม 4) ทดลองคร Hงท� 7, 8, 9, 10 ไมผาน เน�องจากวาคาของ x และ y ไมอยในขอบเขตของขอมลท�ยอมรบได 5) ทดลองคร Hงท� 11, 12 ผาน เน�องจากวาคาของ x และ y อยในขอบเขตของขอมลท�ยอมรบได เม�อกรอบการทางาน S-DV ยกเลกการรองขอกจะมการสรางลอกเกบไวสาหรบนาไปออกเปนรายงานผดแลระบบไดทราบดงรปท� 5.8

Page 82: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

69

รปท� 5.8 บางสวนของลอกจากการทดลอง Buffer Overflow 5.2.4 ผลของการทดลอง Parameter Tampering ในการทดลองการโจมตแบบ Parameter Tampering จะเปนการตรวจสอบวาขอมลมอกขระตองหามหรอไม โดยใชความสามารถของ regexp ในการตรวจสอบรวมกบคาพารามเตอรท�กาหนดโดยผทดสอบระบบจากรปท� 5.1 ไดมการกาหนดอกขระพเศษไวคอ <, >, #, $, & โดยอกขระเหลานHจะไมอนญาตใหปรากฎในขอมลผลการทดลองแสดงในตารางท� 5.3 ตารางท� 5.3 ผลการทดลอง Parameter Tampering

จากตารางท� 5.3 แสดงผลการทดลอง Parameter Tampering โดยมการสงคาแบบตางๆ ไปใหกบเวบเซอรวสประมวลผล ผลของการทดสอบกรอบการทางาน S-DV สามารถสรปไดดงนH 1) ทดลองคร Hงท� 1 ผาน เน�องจากวาคาท�สงไปไมมอกขระพเศษตองหาม

Page 83: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

70

2) ทดลองคร Hงท� 2, 3, 4, 5 ไมผาน เน�องจากวาคาท�สงไปมอกขระพเศษตองหามคออกขระ <, >, #, $, & 3) ทดลองคร Hงท� 6, 7 ผาน เน�องจากวาคาท�สงไปไมมอกขระพเศษตองหาม เม�อกรอบการทางาน S-DV ทาการตรวจสอบแลวขอมลท�สงไปไมเปนไปตามขอกาหนดระบบกจะยกเลกการรองขอพรอมสรางลอกเกบไวสาหรบนาไปออกเปนรายงานผดแลระบบไดทราบดงรปท� 5.9

รปท� 5.9 บางสวนของลอกจากการทดลอง Parameter Tampering 5.2.5 ผลของการทดลอง Recursive Payload ในการทดลองการโจมตแบบ Recursive Payload จะเปนการตรวจสอบเอกสารเอกซเอมแอลท�สงมาวามการวางอลเมนตซอนทบกนเกนขอบเขตท�อนญาตหรอไม การตรวจสอบนHจะใชความสามารถของเอกสารเอกซเอมแอลสคมาในการตรวจสอบรวมกบคาพารามเตอรท�กาหนดโดยผทดสอบระบบ สาหรบในการทดลองคร HงนHจะอนญาตใหมการวางอลเมนตซอนทบกนไดไมเกน 5 ระดบ ถาเกน 5 ระดบถอวาขอมลท�สงมาไมถกตอง รปท� 5.10 แสดงเอกสาร SOAP request ท�ภายในบรรจเอกสารเอกซเอมแอลโดยมอลเมนต transaction วางซอนทบกน 5 ระดบ

Page 84: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

71

รปท� 5.10 เอกสารโซพท�มอลเมนต transaction วางซอนทบกน 5 ระดบ

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://service.aiom.sample"> <soapenv:Header xmlns:hns="http://ws.apache.org/axis2"> <hns:header> <hns:Created>22/01/2558 19:8:48</hns:Created> <hns:Expired>22/01/2558 19:8:50</hns:Expired> </hns:header> </soapenv:Header> <soapenv:Body> <tns:readXML> <tns:datas> <tns:transaction> <tns:total>1000.00</tns:total> <tns:credit_card_NO>1234-5678-9888-7655</tns:credit_card_NO> <tns:expiration>04-05-2014</tns:expiration> <tns:transaction> <tns:total>15000.00</tns:total> <tns:credit_card_NO>1234-5678-9888-7656</tns:credit_card_NO> <tns:expiration>05-05-2014</tns:expiration> <tns:transaction> <tns:total>16000.00</tns:total> <tns:credit_card_NO>1234-5678-9888-7657</tns:credit_card_NO> <tns:expiration>06-05-2014</tns:expiration> <tns:transaction> <tns:total>17000.00</tns:total> <tns:credit_card_NO>1234-5678-9888-7658</tns:credit_card_NO> <tns:expiration>07-05-2014</tns:expiration> <tns:transaction> <tns:total>18000.00</tns:total> <tns:credit_card_NO>1234-5678-9888-7659</tns:credit_card_NO> <tns:expiration>08-05-2014</tns:expiration> </tns:transaction> </tns:transaction> </tns:transaction> </tns:transaction> </tns:transaction> </tns:datas> </tns:readXML> </soapenv:Body> </soapenv:Envelope>

Page 85: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

72

เม�อทาการทดลองสงเอกสารเอกซเอมแอลท�มการวางซอนทบกนของอลเมนต transaction ในรปแบบตางๆ ผลการทดลองแสดงในตารางท� 5.4 ตารางท� 5.4 ผลการทดลอง Recursive Payload

จากตารางท� 5.4 แสดงผลการทดลอง Recursive Payload โดยมการสงคาท�มการวางซอนทบกนของอลเมนต transaction ในรปแบบตางๆ ไปใหกบเวบเซอรวสประมวลผล ผลของการทดสอบกรอบการทางาน S-DV สามารถสรปไดดงนH 1) ทดลองคร Hงท� 1, 2, 3, 4, 5 ผาน เน�องจากวาขอมลท�สงไปมการวางอลเมนต transaction ซอนทบกนไมเกน 5 ระดบ ซ�งไมเกนขอบเขตท�ยอมรบได 2) ทดลองคร Hงท� 6, 7 ไมผาน เน�องจากวาขอมลท�สงไปมการวางอลเมนต transaction ซอนทบกนเกน 5 ระดบ ซ�งเกนขอบเขตท�ยอมรบได เม�อกรอบการทางาน S-DV ทาการตรวจสอบแลวขอมลท�สงไปไมเปนไปตามขอกาหนดระบบกจะยกเลกการรองขอพรอมสรางลอกเกบไวสาหรบนาไปออกเปนรายงานผดแลระบบไดทราบดงรปท� 5.11

รปท� 5.11 บางสวนของลอกจากการทดลอง Recursive Payload

Page 86: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

73

5.2.6 ผลของการทดลอง Oversize Payload ในการทดลองการโจมตแบบ Oversize Payload จะเปนการตรวจสอบขนาดของ Message วามการสง Message มาท�มขนาดเปนไปตามท�กาหนดไวหรอไม โดยขนาดของ Message จะถกนาไปเปรยบเทยบกบคาพารามเตอรท�กาหนดโดยผทดสอบระบบ โดยในการทดลองนHไดมการกาหนดขนาดต�าสดไวท� 500 ไบต และขนาดสงสดไวท� 5000 ไบต ผลของการทดลองแสดงในตารางท� 5.5 ตารางท� 5.5 ผลการทดลอง Oversize Payload

จากตารางท� 5.5 แสดงผลการทดลอง Oversize Payload โดยมการสง Message ท�มขนาดตางๆ ไปใหกบเวบเซอรวสประมวลผล ผลของการทดสอบกรอบการทางาน S-DV สามารถสรปไดดงนH 1) ทดลองคร Hงท� 1 ไมผาน เน�องจากวาขนาดของ Message ท�สงมามขนาดเลกกวาคาต�าสดท�ยอมรบได 2) ทดลองคร Hงท� 2 ถง 8 ผาน เน�องจากวาขนาดของ Message ท�สงมามขนาดอยในขอบเขตท�กาหนดไวคอต Hงแต 500-5000 ใบต ซ�งเปนคาท�ยอมรบได 3) ทดลองคร Hงท� 9 ไมผาน เน�องจากวาขนาดของ Message ท�สงมามขนาดเกนขอบเขตท�กาหนดไว

Page 87: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

74

5.3 การสรางรายงานสาหรบผดแลระบบ สาหรบผดแลระบบน Hน ระบบกจะนาเอาลอกตางๆ ท�เกดขHนในระบบมาสรางเปนรายงายใหกบผดแลระบบไดทาการตรวจสอบวาเกดอะไรขHนบางในระบบ ดงแสดงใน รปท� 5.12

รปท� 5.12 รายงานสาหรบผดแลระบบ จากรปท� 5.12 แสดงรายงานสาหรบผดแลระบบท�เกดจากการนาเอาลอกตางๆ ท�เกดขHนในระบบมาสรางเปนรายงานเพ�อใหผดแลระบบสามารถท�จะทาการตรวจสอบไดวาเกดอะไรขHนบางในระบบ โดยรายงานสาหรบผดแลระบบจะประกอบไปดวย From เปนสวนของการแสดง IP address ของผรองขอวาการรองขอใชบรการน Hนสงมาท�ใหน Operation Name เปนสวนของการแสดงช�อของบรการวาการรองขอนHเปนการรองขอใชบรการอะไร Header เปนสวนของการแสดงเอกสารในสวนของ Header ของเอกสารโซพ

Page 88: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

75

Body เปนสวนของการแสดงเอกสารในสวนของ Body ของเอกสารโซพ Error เปนสวนขอความขอผดพลาดท�เกดขHนจากการตรวจสอบของระบบ Date เปนสวนของการแสดงวนท�ของการสรางลอก Time เปนสวนของการแสดงเวลาของการสรางลอก ซ�งตรงสวนของรายงานสาหรบผดแลระบบนH มไวใหสาหรบผดแลระบบตรวจสอบระบบวามอะไรเกดขHนกบระบบบาง เพ�อใหเกดการเรยนรรปแบบของ SOAP message ในรปแบบใหมๆ ไดทางผดแลระบบกยงสามารถตรวจความถกตองของ SOAP message แลวทาการยนยนระบบกจะนาเอาลอกท�เกบไวมาสรางเอกซเอมแอลสคมาท�สอดคลองเกบไวเพ�อใชในการตรวจสอบในคร Hงตอไป ดงแสดงในรปท� 5.13

รปท� 5.13 รายละเอยดของลอก

Page 89: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

76

5.4 สรปผลและขอเสนอแนะ งานวจยนHจะเปนการนาเสนอกรอบการทางานสาหรบปองกนการโจมตเวบเซอรวสท�ใชเอกซเอมแอล ซ�งกรอบการทางานท�นาเสนอนH จะมงเนนไปท�การตรวจสอบความถกตองของเอกซเอมแอล ของทกๆ การรองขอกอนท�จะสงไปใหเวบเซอรวสประมวลผล ดงน Hนขอมลท�ถกตองเทาน Hนท�จะไดรบอนญาต เม�อตรวจสอบขอมลแลวไมถกตอง การรองขอน Hนกจะถกยกเลกไป สาหรบการตรวจสอบความถกตองของเอกซเอมแอล ในกรอบการทางาน ท�นาเสนอนHจะใชความสามารถของเอกซเอมแอลสคมา ในการตรวจสอบโครงสรางเอกซเอมแอล ชนดของของขอมล รปแบบของขอมลและขอบเขตของขอมลท�จดเกบในแตละอลเมนตหรอแอตทรบวตของเอกสารเอกซเอมแอล รวมกบคาพารามเตอรท�กาหนดโดยผทดสอบระบบและ regexp สาหรบตรวจสอบขอความหรออกขระบางอยางท�เราไมอนญาตใหมในขอมลท�เปนขอความ สาหรบปรมาณของการรองขอท�อาจจะถกยกเลกหรอไดร บอนญาตน Hน ขHนอยกบข Hนตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอรถาในข Hนตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอร ครอบคลมปรมาณการรองขอท�จะถกยกเลกจะนอยแตถาในข Hนตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอรไมครอบคลมปรมาณการรองขอท�จะถกยกเลกกจะมากขHน ผลจากการทดลองเบHองตนแสดงใหเหนวากรอบการทางาน ท�นาเสนอนHมความสามารถในการตรวจจบการโจมตท�ใชเอกซเอมแอลไดอยางอยางมประสทธภาพและสามารถเพ�มความตานทานตอความผดพลาดของเวบเซอรวสเพ�มขHน

Page 90: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

77

เอกสารอางอง

[1] W3C Working Group. (2004, Feb.). Web Services Architecture. W3C. [ Online ].

Available: http://www.w3.org/TR/ws-arch/.

[2] Doug Tidwell, James Snell and Pavel Kulchenko, Programming Web Services with

SOAP First Edition. Sebastopol:O'Reilly, December 2001.

[3] Marzouk S. Mokbel and Le Jiajin, "Integrated Security Architecture for Web Services

and this Challenging", Asian Journal of Information Technology, Volue 7, Issue 5,

2008, pp. 226-231.

[4] Vipul Patel, Radhesh Mohandas and Alwyn R. Pais, "Attacks on Web Services

and mitigation schemes", IEEE Security and Cryptography, Proceedings of the

2010 International Conference, July 2010. pp.1-6.

[5] David Hunter,Jeff Rafter, Joe Fawcett, Eric van der Vlist, Danny Ayers, Jon Duckett,

Andrew Watt, and Linda McKinnon, Beginning XML 4th Edition. Indiana:Wiley

Publishing, May, 2007.

[6] Poornachandra Sarang, Ph.D, Pro Apache XML First Edition. New York : Apress,

May 2006.

[7] W3C. (2000, May). Simple Object Access Protocol 1.1. W3C. [ Online ]. Available:

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.

[8] W3C. (2001, Mar.). Web Services Description Language 1.1. W3C. [ Online ].

Available: http://www.w3.org/TR/wsdl.

[9] OASIS. (2002,Jul.). Universal Description, Discovery and Integration (UDDI) v2.0.

OASIS. [Online]. Available: https://www.oasis-open.org/standards#uddiv2.

[10] Priscilla Walmsley, Definitive XML Schema 2th Edition. New Jersey : PRENTICE

HALL, September 2012.

[11] A. Karthigeyan, C. Andavar, A. Jaya Ramya, "Adaptable Practices for Curbing

XDoS Attacks", International Journal of Scientific & Engineering Research, Volume

3, Issue 6, June 2012, pp.1-6.

[12] Esmiralda Moradian, and Anne Håkansson, "APossible attacks on XML Web

Services", IJCSNS International Journal of Computer Science and Network

Security, VOL.6 No.1B, January 2006, pp.154-170.

[13] Abhinav Nath Gupta and Dr. P. Santhi Thilagam, "Attacks on Web Services Need

to Secure XML on Web", Computer Science & Engineering: An International

Journal, Vol. 3, No. 5, October 2013, pp.1-11.

Page 91: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

78

[14] Irfan siddavatam and Jayant Gadge, "Comprehensive Test Mechanism to Detect

Attack on Web Services", IEEE International Conference on Networking, December

2008, pp.1-6.

[15] Nils Gruschka, Norbert Luttenberger, "Protecting Web Services from DoS Attacks

by SOAP Message Validation", IFIP International Federation for Information

Processing Volume 201, 2006, May 2006, pp 171-182.

[16] Rafael Bosse Brinhosa, Carla Merkle Westphall, Carlos Becker Westphall, Daniel

Ricardo dos Santos, Fabio Grezele, "A Validation Model of Data Input for Web

Services", Twelfth International Conference on Networks, January 2013, pp.87-94.

[17] R. Bebawy, H. Sabry, S. El-Kassas, Y. Hanna, and Y. Youssef, "Nedgty: Web

services firewall", Web Services, 2005. ICWS 2005. Proceedings. 2005 IEEE

International Conference, July 2005, pp. 597–601.

[18] Haiping Xu, Abhinay Reddyreddy, and Daniel F. Fitch, "Defending Against XML-

Based Attacks Using State-Based XML Firewall", JOURNAL OF COMPUTERS,

VOL. 6, NO.11, November 2011, pp. 2395-2407.

[19] Nuno Antunes, Nuno Laranjeiro, Marco Vieira, Henrique Madeira, "Effective

Detection of SQL/XPath Injection Vulnerabilities in Web Services", Services

Computing, 2009. SCC '09, IEEE International Conference, September 2009,

pp.260-267.

[20] Gökhan Muharremoğlu, Web Application Level Approach against the HTTP Flood

Attacks IOSEC HTTP Anti Flood/DoS Security Gateway Module. [ Online ].

Available: http://goo.gl/aQM4Di.

[21] Eric Chien and Péter Ször, Blended Attacks Exploits, Vulnerabilities and Buffer-

Overflow Techniques in Computer Viruses*. [ Online ]. Available:

http://www.symantec.com/avcenter/reference/blended.attacks.pdf.

[22] Meiko Jensen, Christopher Meyer, Juraj Somorovsky, and Jorg Schwenk, "On the

effectiveness of XML Schema validation for countering XML Signature Wrapping

attacks", Securing Services on the Cloud (IWSSC), 2011 1st International

Workshop on, September 2011, pp.7-13,6-8.

[23] Shujun Pei, Deyun Chen, Yuyuan Chu, Qingfeng Xu and Shi Xi,"Research of Web

Service Security Model Based on SOAP Information", Asian Network for Scientific

Information, December 2011, pp. 241-247.

Page 92: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ภาคผนวก ก

จดเตรยมสภาพแวดลอมระบบ

Page 93: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-1

ในการทดลองน จาเปนจะตองตดต งสภาพแวดลอมท�เหมาะสมสาหรบการทดลองส�งท�ตองเตรยมคอโปรแกรมตางๆ ท�ใชในการพฒนากรอบการทางานท�ประกอบไปดวย 1) Appserv-win32-2.5.10.exe 2) jdk-7u75-windows-i586.exe 3) apache-ant-1.9.4-bin.zip 4) axis2-1.6.2-bin.zip 5) eclipse-jee-luna-SR1a-win32.zip 6) apache-tomcat-7.0.53.zip 7) VirtualBox-4.3.10-93012-Win.exe 8) CentOS-6.4-x86_64-bin-DVD1.iso ทกโปรแกรมท�กลาวถงขางบนน เสามารถท�จะทาการ Download มาใชงานไดฟร ไมมคาใชจายใดๆ

ก.1 การตดต งโปรแกรม AppServ 2.5.10 AppServ 2.5.10 คอโปรแกรมเวบเซรฟเวอร (web server) ท�มการรวมเอาหลายๆ โปรแกรมเขาไวดวยกนท�ประกอบไปดวย AppServ 2.5.10, Apache 2.2.8, PHP 5.2.6, MySQL 5.0.51b, phpMyAdmin-2.10.3 ในท�น จะใชงานเฉพาะฐานขอมล 1) ใหดบเบลคลกไฟล appserv-win32-2.5.10.exe เพ�อเร�มการตดต งโปรแกรม ซ�งจะแสดงหนาตางของขอความตอนรบเขาสการตดต ง ดงรปท� ก.1 จากน นใหคลกปม Next

รปท� ก.1 หนาตางตอบรบการตดต ง AppServ 2.5.10

Page 94: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-2

2) หลงจากกดปม Next จะปรากฎหนาตางแสดง AppServ 2.5.10 - License Agreement ดงรปท� ก.2 เม�ออานและทาความเขาใจในลขสทธ mน แลวกคลกปม "I Agree" เพ�อดาเนนการตดต งตอไป

รปท� ก.2 หนาตางตอบรบลขสทธ mโปรแกรม

3) เม�อผานข นตอนท� 2 กจะปรากฎหนาตางใหเลอกตาแหนงในการตดต งโปรแกรม (Choose Install Location) ในรปท� ก.3 แสดงการเลอกตดต งไวท� C:\AppServ เม�อกาหนดเรยบรอยใหกด Next

รปท� ก.3 หนาตางในการเลอกตาแหนงตดต งโปรแกรม

Page 95: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-3

4) เม�อผานข นตอนท� 3 กจะปรากฎหนาตางใหเลอกองคประกอบของโปรแกรมท�จะตดต ง (Select Component) ในรปท� ก.4 แสดงการเลอกโปรแกรมท งหมดแลวใหกดปม Next

รปท� ก.4 หนาตางในการเลอกองคประกอบของโปรแกรม 5) เม�อผานข นตอนท� 4 กจะปรากฎหนาตางใหกาหนดขอมลขาวสารท�จาเปนสาหรบเวบเซรฟเวอร แสดงในรปท� ก.5 ทประกอบไปดวย Server Name คอช�อของเคร�องเซรฟเวอร ในท�น ใหระบเปน localhost Administrator's Email Address คออเมลของผดแลระบบในท�กาหนดใหเปน [email protected] Apache HTTP Port คอหมายเลขพอรตท�จะใชในการเช�อมตอกบเวบเซรฟเวอร ในท�กาหนดใหเปน 80

รปท� ก.5 หนาตางกาหนดคาใหเวบเซรฟเวอร

Page 96: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-4

6) เม�อผานข นตอนท� 5 กจะปรากฎหนาตางใหกาหนดขอมลขาวสารท�จาเปนสาหรบฐานขอมลคอรหสผานของผใชงานฐานขอมลช�อ root ในท�น กาหนดรหสผานใหเปน 1234 แสดงในรปท� ก.6

รปท� ก.6 หนาตางกาหนดรหสผานใหผใชงานช�อ root

7) เม�อผานข นตอนท� 6 ระบบกจะทาการตดต งโปรแกรม เม�อตดต งโปรแกรมเสรจกจะปรากฎหนาตางส นสดการตดต งโปรแกรมจากน นใหกดปม Finish แสดงในรปท� ก.7

รปท� ก.7 หนาตางส นสดการตดต งโปรแกรม

Page 97: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-5

8) เม�อผานข นตอนท� 7 ใหทาการทดสอบโปรแกรมวาใชงานไดจรงหรอไม โดยใหเปดเวบเบราวเซอรแลวพมพ http://localhost แสดงในรปท� ก.8

รปท� ก.8 หนาตางการทดสอบโปรแกรม

ก.2 การตดต งโปรแกรม JAVA โปรแกรม JAVA คอโปรแกรมท�ประกอบไปดวยตวแปลภาษาโปรแกรมของภาษา JAVA และตว JRE ท�ทาหนาท�รนโปรแกรมท�พฒนาดวยภาษา JAVA ซ�งมข นตอนการตดต งดงตอไปน 1) ใหดบเบลคลกไฟล jdk-7u75-windows-i586.exe เพ�อเร�มการตดต งโปรแกรม ซ�งจะแสดงหนาตางของขอความตอนรบเขาสการตดต ง ดงรปท� ก.9 จากน นใหคลกปม Next

รปท� ก.9 หนาตางตอบรบการตดต งโปรแกรม JAVA

Page 98: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-6

2) จากข นตอนท� 1 เม�อคลกปม Next กจะปรากฎหนาตางการกาหนดตาแหนงท�จะตดต งโปรแกรม JAVA ไวท�ไหน โดยท �วไปจะตดต งไวท� C:\Program Files\Java\jdk1.7.0_75\ แตถาตองการตดต งไวท�อ�นกแกไขไดโดยคลกท�ปม Change เม�อกาหนดเรยบรอยกใหกดปม Next ดงแสดงในรปท� ก.10

รปท� ก.10 หนาตางกาหนดตาแหนงของการตดต งโปรแกรม JAVA 3) จากข นตอนท� 2 เม�อคลกปม Next กจะปรากฎหนาตางของการตดต งโปรแกรม JAVA ดงแสดงในรปท� ก.11

รปท� ก.11 หนาตางของการตดต งโปรแกรม JAVA

Page 99: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-7

4) จากข นตอนท� 3 เม�อโปรแกรม JAVA เสรจแลวกจะปรากฎหนาตางสาหรบตดต ง JRE ตรงสวนน สามารถเปล�ยนตาแหนงของการตดต งโปรแกรมได โดยท �วไปคอ C:\Program Files\Java\jre7\ ถาตองการเปล�ยนตาแหนงกดปม Change แสดงในรปท� ก.12

รปท� ก.12 หนาตางของการตดต ง JRE

5) จากข นตอนท� 4 เม�อคลกปม Next กจะเขาสข นตอนการตดต ง JRE ในรปท� ก.13

รปท� ก.13 หนาตางการดาเนนการตดต ง JRE

Page 100: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-8

6) จากข นตอนท� 5 เม�อดาเนนการตดต งเสรจส นกจะปรากฎหนาตางเสรจส นขบวนการตดต ง JRE ในหนาตางน เราสามารถเขาถงเอกสารตางๆ ของ JAVA ได โดยคลกปม Next Steps ถาไมตองการคลกปม Close ดงรปท� ก.14

รปท� ก.14 หนาตางเสรจส นการตดต ง JRE

ก.3 การตดต งโปรแกรม apache-ant โปรแกรม Apache-ant-1.9.4 จะเปนโปรแกรมท�ใชสาหรบทาการรวมไฟล ในสวนของเวบเซอรวสท�พฒนาดวยภาษา JAVA ดงน นเม�อพฒนาเวบเซอรวสแลวทาการทดสอบจนแนใจวาไมมขอผดพลาด เม�อตองการนาข นไปเปดใหบรการบนเคร�องใหบรการกจาเปนตองนาเอาคลาสท�เก�ยวของท งหมดมารวมใหเปนไฟลเดยวเพ�อความสะดวกในการตดต ง ดงน น Apache-ant-1.9.4 จงเปนเคร�องมอท�เขามาชวยทาตรงสวนน ซ�งข นตอนการตดต งมดงน 1) ใหทาการแตกไฟลจากน นใหทาการคดลอกไฟลท�แตกเรยบรอยแลวไปไวท� C:\ ดงรปท� ก.15

รปท� ก.15 โฟลเดอรของ Apache-ant-1.9.4

2) กาหนด Environment Variables ท�จาเปนใหกบ Apache-ant-1.9.4 โดยประกอบไปดวย PATH และ JAVA_HOME ทาไดโดยการคลกขวาท� "My Computer" แลวเลอก Properties จากน นกจะปรากฎหนาตางของ "System Properties" ข นมา ใหเลอกแถบ Advanced และใหคลกท� Environment Variables ดงรปท� ก.16

Page 101: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-9

รปท� ก.16 หนาตาง System Properties

3) จากน นใหกาหนด Environment Variables ท�ประกอบไปดวย PATH และ JAVA_HOME ดงน กาหนด PATH ใหมคาคอ C:\apache-ant-1.9.4\bin และกาหนด JAVA_HOME ใหมคาคอ C:\Program Files\Java\jdk1.7.0_75 ดงแสดงในรปท� ก.17

รปท� ก.17 หนาตาง Environment Variables

4) หลงจากดาเนนการในข นตอนท� 3 เรยบรอยแลวใหดาเนนการทดสอบโปรแกรมโดยการเปด DOS ข นมาแลวพมพ คาส �ง ant ถาข นดงแสดงดงรปท� ก.18 กแสดงวาใชงานได

Page 102: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-10

รปท� ก.18 การทดสอบการตดต ง Apache-ant-1.9.4

ก.4 การตดต งโปรแกรม apache-tomcat-7.0.53 โปรแกรม apache-tomcat-7.0.53 จะเปนโปรแกรมเวบเซรฟเวอรท�สนบสนนภาษา JAVA มข นตอนการตดต งดงน 1) ใหทาการแตกไฟลแลวใหทาการคดลอกไปไวท� C:\ ดงรปท� ก.19

รปท� ก.19 โฟลเดอรของ apache-tomcat-7.0.53

2) ใหทาการเปล�ยนหมายเลขพอรตสาหรบการเช�อมตอเพ�อปองกนการชนกนของพอรต โดยใหไปแกไขในไฟล C:\apache-tomcat-7.0.53\conf\server.xml ดงรปท� ก.20

รปท� ก.20 การปรบเปล�ยนหมายเลขพอรต

Page 103: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-11

3) ทาการทดสอบวาใชงานไดหรอไม โดยใหทาการเปดบรการของ apache-tomcat-7.0.53 กอน โดยไปท� C:\apache-tomcat-7.0.53\bin แลวใหทาการดบเบลคลกไฟล startup.bat เพ�อทาการเปดบรการตางๆ ของเวบเซรฟเวอร จะปรากฎหนาตาง DOS ข นมา โดยหนาตางน หามปดเน�องจากถาปดลงไปจะเปนการปดบรการของเวบเซรฟเวอร ดงแสดงในรปท� ก.21

รปท� ก.21 หนาตางพรอมของเวบเซรฟเวอร

จากน นใหเปดเวบเบราวเซอรแลวพมพ http://localhost:8080 ถาผลการรนข นดงแสดงในรปท� ก.22 แสดงวาพรอมใชงาน

รปท� ก.22 หนาตางการทดสอบ apache-tomcat-7.0.53

Page 104: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-12

ก.5 การตดต งโปรแกรม axis2-1.6.2 สาหรบ axis2-1.6.2 จะเปน library ท�นามาใชสาหรบจดการ SOAP messages ไมวาจะเปนการสราง Message หรอรบ Message ซ�งมข นตอนดงน 1) ใหทาการแตกไฟลจากน นใหทาการคดลอกไฟลท�แตกเรยบรอยแลวไปไวท� C:\ ดงรปท� ก.23

รปท� ก.23 โฟลเดอรของ axis2-1.6.2 2) จากน นใหเปดโปรแกรม DOS ข นมาแลวพมพคาส �ง C:\> cd axis2-1.6.2\webappโดยคาส �ง cd เปนคาส �งเพ�อเขาไปยงโฟลเดอรท�ระบคอ axis2-1.6.2\webapp จากน นใหพมพคาส �ง C:\axis2-1.6.2\webapp>ant โดยคาส �ง ant เปนคาส �งท�อยใน Apache-ant-1.9.4 เพ�อทาการรวมไฟลตางๆ ของ axis2-1.6.2 ใหอยในไฟลเดยวคอ axis2.war ดงแสดงในรปท� ก.24

รปท� ก.24 ผลลพธของการประมวลผลคาส �ง ant

Page 105: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-13

3) จากน นใหทาการคดลอก axis2.war จาก C:\axis2-1.6.2\dis\ ไปไวท� C:\apache-tomcat-7.0.53\webapps\ ดงรปท� ก.25

รปท� ก.25 ผลลพธของการคดลอก axis2.war 4) จากน นใหทาการเปดบรการในสวนของ apache-tomcat-7.0.53 โดยไปท� C:\apache-tomcat-7.0.53\bin แลวใหทาการดบเบลคลก startup.bat เพ�อทาการเปดบรการ จากน นใหเปดโปรแกรมเวบเบราวเซอรแลวพมพ http://localhost:8080/axis2/ ถาผลลพธข นดงแสดงในรปท� ก.26 แสดงวาพรอมใชงาน

รปท� ก.26 ผลลพธของการทดสอบ axis2

Page 106: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ก-14

ผลจากการเปดบรการของ apache-tomcat-7.0.53 ระบบกจะทาการแตกไฟล axis2.war ออกมา ดงน นใน C:\apache-tomcat-7.0.53\webapps กจะปรากฎโฟลเดอร axis2 ซ�งภายในโฟลเดอรน จะประกอบไปดวยบรการตางๆ ท�ใชในการจดการ SOAP message ซ�งมโครงสรางของโฟลเดอรดงรปท� ก.27 axis2 axis2-web META-INF WEB-INF classes conf lib modules services web.xml

รปท� ก.27 โครงสรางโฟลเดอรของ axis2

Page 107: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ภาคผนวก ข

ตดต �งกรอบการทางาน

Page 108: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-1

เม�อทาการเตรยมสภาพแวดลอมเสรจเรยบรอยแลวทกอยางกพรอมท�จะดาเนนการพฒนากรอบการทางาน โดยดาเนนการดงตอไปน% ข.1 ตดต งฐานขอมล ในแผน CD จะมฐานขอมลท�เปนไฟล SQL ช�อ webservice.sql ใหดาเนนการนาเขาระบบฐานขอมลของ MySQL โดยดาเนนการคอ 1) ใหเปดเวบเบราวเซอรข%นมาแลวพมพ http://localhost กจะปรากฎหนาตางตอบรบของเวบเซรฟเวอร ดงแสดงในรปท� ข.1

รปท� ข.1 หนาตางตอบรบของเวบเซรฟเวอร

2) ใหดาเนนการเขาสระบบ โดยคลกท� "phpMyAdmin Database Manager Version 2.10.3" จากน %นกจะปรากฎหนาตางใหใสช�อผใชงานและรหสผานแลวคลกท� "Log In" ดงแสดงในรปท� ข.2

รปท� ข.2 หนาตางเขาสระบบฐานขอมล

Page 109: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-2

3) เม�อเขาสระบบเรยบรอยแลวกใหดาเนนการสรางฐานขอมล จากตวอยางแสดงในรปท� ข.3 สรางฐานขอมลช�อ webservice และมการเขารหสขอมลแบบ utf8_unicode_ci เหตผลท�ตองเขารหสขอมลดวยรหสน% เน�องจากวาเราอาจจะจดเกบขอมลท�เปนขอความนอกเหนอจากภาษาองกฤษ เชน ภาษาไทยเปนตน จากน %นคลกท�ปม "Create"

รปท� ข.3 หนาตางสรางฐานขอมล 4) นาฐานขอมลเขาสระบบการดาเนนการแสดงในรปท� ข.4

รปท� ข.4 ข %นตอนการนาเขาฐานขอมล

Page 110: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-3

ข.2 ตดต งเวบเซอรวส ในการพฒนาเวบเซอรวสน %น จาเปนจะตองจดสภาพแวดลอมท�เหมาะเสยกอน เม�อจดสภาพแวดลอมท�เหมาะสมแลวกดาเนนการพฒนา โดยในท�น%จะขอยกตวอยางแบบงายๆ ดงน% 1) จดสภาพแวดลอมสาหรบสรางเวบเซอรวส เน�องจากในท�น%จะใชความสามารถของ ant ในการทารวมไฟลท�งายและสะดวกหรออาจจะใชเคร�องตวอ�นกไดข%นกบผพฒนาเอง แสดงในรปท� ข.5 quickstart resources META-INF services.xml src samples service StockQuoteService.java build.xml

รปท� ข.5 การจดโครงสรางโฟลเดอรท�จะใชในการพฒนาเวบเซอรวส 2) ทาการเขยนโปรแกรมในสวนของคลาส ท�จะนามาใชในการเปดใหบรการวาตองการใหบรการทาอะไร ในท�น%คอ StockQuoteService.java แสดงรายละเอยดในรปท� ข.6

รปท� ข.6 รายละเอยดของคลาส StockQuoteService

package samples.service;

import java.util.HashMap;

public class StockQuoteService {

private HashMap map = new HashMap( );

public double getPrice( String symbol ) {

Double price = (Double) map.get( symbol );

if ( price != null ){

return price.doubleValue( );

}

return 42.00;

}

public void update( String symbol, double price) {

map.put( symbol, new Double( price ) );

}

}

Page 111: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-4

3) สรางเอกสาร services.xml โดยเอกสารน%จะใชในการเทยบรปแบบของ Message ท�จะใชในการรบสงวามรปแบบ Message เปนแบบใด แสดงรายละเอยดในรปท� ข.7

รปท� ข.7 รายละเอยดของไฟล services.xml 4) สรางเอกสาร build.xml โดยเอกสารน%จะเปนเอกสารของ ant ซ�งภายในจะประกอบไปดวยคาส �งสาหรบการรวมไฟลเวบเซอรวสใหอยในรปแบบไฟลท�มนามสกล .aar เพยงไฟลเดยว แสดงในรปท� ข.8

รปท� ข.8 รายละเอยดของไฟล build.xml

<service name="StockQuoteService" scope="application">

<description>Stock Quote Service</description>

<messageReceivers>

<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"

class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>

<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

</messageReceivers>

<schema schemaNamespace="http://quickstart.samples/xsd"/>

<parameter name="ServiceClass">samples.service.StockQuoteService</parameter>

</service>

<project name="quickstart" basedir="." default="generate.service">

<property environment="env"/>

<property name="AXIS2_HOME" value="C:\axis2-1.6.2"/>

<property name="build.dir" value="build"/>

<path id="axis2.classpath">

<fileset dir="${AXIS2_HOME}/lib">

<include name="*.jar"/>

</fileset>

</path>

<target name="compile.service">

<mkdir dir="${build.dir}"/>

<mkdir dir="${build.dir}/classes"/>

<!--First let's compile the classes-->

<javac debug="on"

fork="true"

destdir="${build.dir}/classes"

srcdir="${basedir}/src"

classpathref="axis2.classpath">

</javac>

</target>

Page 112: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-5

รปท� ข.8 รายละเอยดของไฟล build.xml (ตอ)

5) เปดโปรแกรม DOS ข%นมาแลวเขาไปยงโฟลเดอร quickstart แลวทาการรนคาส �ง ant ดงแสดงในรปท� ข.9

<target name="generate.wsdl" depends="compile.service">

<taskdef name="java2wsdl"

classname="org.apache.ws.java2wsdl.Java2WSDLTask"

classpathref="axis2.classpath"/>

<java2wsdl className="samples.service.StockQuoteService"

outputLocation="${build.dir}"

targetNamespace="http://quickstart.samples/"

schemaTargetNamespace="http://quickstart.samples/xsd">

<classpath>

<pathelement path="${axis2.classpath}"/>

<pathelement location="${build.dir}/classes"/>

</classpath>

</java2wsdl>

</target>

<target name="generate.service" depends="generate.wsdl">

<!--aar them up -->

<copy toDir="${build.dir}/classes" failonerror="false">

<fileset dir="${basedir}/resources">

<include name="**/*.xml"/>

</fileset>

</copy>

<jar destfile="${build.dir}/StockQuoteService.aar">

<fileset excludes="**/Test.class" dir="${build.dir}/classes"/>

</jar>

<copy file="${build.dir}/StockQuoteService.aar"

toDir="C:\apache-tomcat-7.0.53\webapps\axis2\WEB-INF\services"

overwrite="yes">

</copy>

</target>

<target name="clean">

<delete dir="${build.dir}"/>

</target>

</project>

Page 113: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-6

รปท� ข.9 ผลของการประมวลผลคาส �ง ant

6) ทาการคดลอกไฟล StockQuoteService.aar ท�อยในอยในโฟลเดอร build จากตวอยางอยท� C:\www\quickstart\build\StockQuoteService.aar นาไปไวในโฟลเดอร services ท�อยในโฟลเดอร axis2 จากตวอยางจะอยท� C:\apache-tomcat-7.0.53\webapps\axis2\WEB-INF\services\ ดงแสดงในรปท� ข.10 axis2 axis2-web META-INF WEB-INF classes conf lib modules services StockQuoteService.aar web.xml

รปท� ข.10 ตาแหนงวาง StockQuoteService.aar

Page 114: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-7

7) จากน %นใหทาการรนบรการในสวนของ apache-tomcat-7.0.53 โดยไปท� C:\apache-

tomcat-7.0.53\bin แลวใหทาการรน startup.bat เพ�อทาการรนบรการเวบเซรฟเวอร เม�อดาเนน

การเสรจ ใหเปดโปรแกรมเวบเบราวเซอรแลวพมพ http://localhost:8080/axis2/ จากน %นให

คลกท� Services ระบบกแสดงรายการของเวบเซอรวสตางๆ ท�เปดใหบรการออกมาแสดง ดง

แสดงในรปท� ข.11

รปท� ข.11 รายการของเวบเซอรวสท�เปดใหบรการ

Page 115: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-8

ข.3 ตดต งกรอบการทางาน S-DV กรอบการทางาน S-DV ถกพฒนาข%นใหเปน module หน�งของ axis2 แนนอนการท�จะดาเนนการตดต %งใชงานไดจะตองดาเนนการเตรยมสภาพแวดลอมตางๆ ใหเรยบรอยกอน การตดต %งดาเนนการดงตอไปน% 1) สรางโฟลเดอรภายใตโฟลเดอร axis2 ดงแสดงในรปท� ข.12 จากน %นใหทาการคดลอกคลาสตางๆ ท�อยใน CD ไปไวภายใตโฟลเดอรท�สรางข%นมาน% axis2 axis2-web META-INF WEB-INF classes org apache axis2 sample module request IncomingCounterHandler.class GenerateXML.class CheckTimeStamp.class ……… webapp conf lib modules services StockQuoteService.aar web.xml

รปท� ข.12 ตาแหนงในการคดลอกคลาสท %งหมดมาวาง

Page 116: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-9

2) สรางไฟล module.xml เพ�อประกาศให axis2 ไดทราบวามการเพ�ม module ใหม พรอมกบกาหนดวาจะใหเรยก module ใหมท�ตดต %งน% ถกเรยกข%นมาทางานเม�อไร รายละเอยดของไฟล module.xml แสดงในรปท� ข.13 และตาหนงในการสรางเอกสาร module.xml แสดงในรปท� ข.14

รปท� ข.13 รายละเอยดของไฟล module.xml

<module name="counterModule"

class="org.apache.axis2.sample.module.request.CounterModule">

<Description>

Counts the incoming and outgoing messages

</Description>

<InFlow>

<handler name="IncomingMessageCountHandler"

class="org.apache.axis2.sample.module.request.IncomingCounterHandler">

<order phase="Transport" after="RequestURIBasedDispatcher"

before="SOAPActionBasedDispatcher"/>

</handler>

</InFlow>

<OutFlow>

<handler name="OutgoingMessageCountHandler"

class="org.apache.axis2.sample.module.request.OutgoingCounterHandler">

<order phase="MessageOut"/>

</handler>

</OutFlow>

</module>

Page 117: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-10

axis2

axis2-web META-INF WEB-INF classes org META-INF LICENSE module.xml NOTICE conf lib modules services StockQuoteService.aar web.xml

รปท� ข.14 ตาแหนงในการสรางไฟล module.xml

3) จากน %นใหทาการเปดบรการในสวนของ apache-tomcat-7.0.53 โดยใหเขาไปท� C:\apache-tomcat-7.0.53\bin แลวใหทาการดบเบลคลกไฟล startup.bat เม�อดาเนนการเสรจ ใหทาการเปดโปรแกรมเวบเบราวเซอรแลวพมพ http://localhost:8080/axis2/ จากน %นใหคลกท� Administration เพ�อไปทางานในสวนของผดแลระบบกจะปรากฎหนา Login โดยใหใสช�อผใชงานคอ admin และรหสผานคอ axis2 เสรจแลวกจะเขาหนาหลกของผดแลระบบ ดงแสดงรปท� ข.15

Page 118: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-11

รปท� ข.15 หนาหลกของผดแลระบบ

4) จากน %นกาหนดให module เร�มตนทางาน โดยคลกท� "For all Services" กจะแสดงหนาตางของ "Engage Module Globally" จากน %นเลอก module ท�ตองการแลวคลกท�ปม Engage ดงแสดงในรปท� ข.16

รปท� ข.16 หนาตางในการกาหนดให module เร�มตนทางาน

Page 119: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ข-12

5) กาหนด mysql connector ท�เปน library ท�ใชในการเช�อมตอฐานขอมลของ MySQL ดวยภาษา JAVA โดยทาการคดลอก mysql-connector-java-5.1.18-bin.jar ท�อยใน CD ไปไวในโฟลเดอร lib ดงแสดงในรปท� ข.17 axis2 axis2-web META-INF WEB-INF classes conf lib mysql-connector-java-5.1.18-bin.jar modules services web.xml

รปท� ข.17 ตาแหนงของ mysql-connector-java-5.1.18-bin.jar

Page 120: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-1

กรอบการทางานใหมในการปองกนการโจมตท�ใชเอกซเอมแอล

The New Framework to Defend Against XML-Based Attacks ชาตร ทองวรรณ1 และ ดร.วรพล ลลาเกยรตสกล2

1นสตปรญญาโท สาขาวศวกรรมเครอขาย คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร กรงเทพฯ

2ผชวยศาสตราจารย ประจาคณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร กรงเทพฯ

ABSTRACT – This paper presents the new framework that has the ability to detect and prevent attacks that are based on XML to Web service. These would be Oversize Payload attack, Recursive Payload attack, Parameter Tampering attack, Buffer Overflow attack or Replay Attack. The framework consists of three stages. The first stage is to learn XML documents leading to create XML schema. The second stage is to set all needed parameters and the third stage is to validate the XML format. The framework has been developed using Apache Tomcat, Apache Axis2, MySQL and JAVA language. For the experiment, it shows that mechanisms of the framework work effectively in detection and preventing attacks that are based on XML attacks. KEY WORDS -- Data validation; XML-based attack

บทคดยอ -- บทความน#นาเสนอกรอบการทางาน (Framework) ท�มความสามารถในการตรวจสอบและปองกนการโจมต

เวบเซอรวส (Web service) ท�ใชเอกซเอมแอล (XML) ไมวาจะเปนการโจมตแบบ Oversize Payload, Recursive Payload,

Parameter Tampering, Buffer Overflow หรอ Replay Attack สาหรบกรอบการทางานน# ประกอบไปดวยสามสวนคอ

สวนท�หน�งจะเปนสวนของการเรยนรรปแบบของเอกซเอมแอลท�เปนไปไดเพ�อนามาสรางเอกซเอมแอลสคมา (XML

schema) สวนท�สองจะเปนสวนของการกาหนดคาพารามเตอร (Parameter) ท�จาเปนในการตรวจสอบและสวนท�สามจะ

เปนสวนของการตรวจสอบรปแบบเอกซเอมแอล สวนของการพฒนาใช Apache Tomcat, Apache Axis2, MySQL และ

JAVA ในการพฒนา ผลการทดสอบแสดงใหเหนวากลไกของกรอบการทางาน ทางานไดอยางมประสทธภาพ ในการ

ตรวจสอบและปองกนการโจมตเวบเซอรวสท�ใชเอกซเอมแอล

คาสาคญ --การตรวจสอบขอมล; การโจมตบนพ�นฐานเอกซเอมแอล

1. บทนา ในปจจบนเทคโนโลยสารสนเทศและการส& อสารไดรบการพฒนามาอยางตอเน&อง ในปจจบนถอวาเปนยคของการส&อสารท&ไรพรมแดน อนเทอรเนตไดเขามาทาใหการส&อสารขอมลเปนไปอยางสะดวกและรวดเรว จงทาใหองคกรตางๆ ไดมการนาเอาอนเทอรเนตเขามาใชงานภายในองคกร ผลท&ไดคอทาใหองคกรเหลาน� สามารถท&จะตดตอส&อสารและแลกเปล&ยนขอมลกนไมวา ลกคา คคา หรอหนวยงานของรฐผานอนเทอรเนตได

ตลอด 24 ช&วโมง ทาใหมความสะดวกและรวดเรวในการดาเนนงาน แตในความเปนจรงแลวการแลกเปล&ยนขอมลกนน� น แตละองคกรมกจะมรปแบบขอมลท&แตกตางกนหรอมโปรแกรมประยกตท&อาจถกพฒนาบนแพลตฟอรม (Platform) ท&ตางกน แมในอดตจะสามารถเช&อมตอระบบท&มความแตกตางกนได แตกมคาใชจายท&สงและมความซบซอนมาก ดวยเหตน�เองเวบเซอรวส จงถกนาใชในการเช&อมระบบท&มความแตกตางกนใหสามารถทางานรวมกน โดยท&ระบบเดมยงสามารถทางาน

Page 121: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-2

ไดปกตและระบบใหมท&เพ&มเขามากสามารถทางานรวมกบระบบเดมไดอยางมประสทธภาพ เม&อเวบเซอรวสไดรบความนยมนามาใชงานมากข�นเร&อยๆ เวบเซอรวสจงไดถกนามากาหนดใหเปนมาตรฐานแตมาตรฐานตางๆ ของเวบเซอรวสท&กาหนดข�นมาในปจจบนยงไมสามารถรบประกน ไมวาเร& องประสทธภาพการทางาน ระบบรกษาความปลอดภย ความคงทนของระบบ เน&องจากยงไมมอะไรท&เปนหลกประกนไดวาเม&อนาเวบเซอรวสมาใชงานแลวระบบจะสามารถใหบรการไดตลอด 24 ช&วโมง โดยท&ระบบจะไมถกขดขวางการใหบรการจากผไมหวงด แมวาในปจจบนจะมการพฒนามาตรฐานในการรกษาความปลอดภยของเวบเซอรวส ข�นมาไมวาจะเปน WS-Security, WS-Trust และอ&นๆ [3] [4] ซ& งมาตรฐานเหลาน� ตางมงเนนในการรกษาความปลอดภยใหกบขอความ (Message) เทาน�น ซ& งยงไมเพยงพอสาหรบการรกษาความปลอดภยใหกบระบบ เน&องจากการตดตอส&อสารและแลกเปล&ยนขอมลระหวางระบบอ&นกบเวบเซอรวสตางอาศย เอกซเอมแอลเปนส&อกลางในการแลกเปล&ยนขอมลจงทาใหเวบเซอรวสมความเส& ยงตอการโจมตจากผไมหวงดท&ใชเอกซเอมแอล ในการโจมตท&อาจมผลทาใหเวบเซอรวสถกขดขวางการใหบรการ ดงน� นผวจยจงไดนาเสนอกรอบการทางานท&ใชในการปองกนการโจมตท&เกดจากการใชเอกซเอมแอล โครงสรางของบทความท&เหลอจะเปนดงน� หวขอท& 2 เปนสวนของการวจารณวรรณกรรมท&ประกอบดวย คาอธบายเก&ยวกบเทคโนโลยเวบเซอรวสและจดออนในเวบเซอรวสท&ใช เอกซเอมแอลโจมต และงานวจยท&เก&ยวของการปองกนการโจมตท&ใชเอกซเอมแอล หวขอท& 3 เปนการอธบายแนวคดการออกแบบและหลกการทางานของกรอบการทางานสาหรบปองกนการโจมตท&ใชเอกซเอมแอล สวนการทดสอบกรอบการทางานและผลการทดสอบจะนาเสนอในหวขอท& 4 และบทสรปและขอเสนอแนะจะอยในหวขอท& 5

2. พ#นฐานและงานวจยท�เก�ยวของ

2.1. เทคโนโลยเวบเซอรวส

เวบเซอรวส คอระบบซอฟตแวรท&ออกแบบมาเพ&อสนบสนนการทางานรวมกนระหวางคอมพวเตอรผานระบบเครอขาย โดย

ใชภาษาเอกซเอมแอลในการตดตอส&อสารและมการอธบายสวนของการตดตอเวบเซอรวสไวในรปแบบท&คอมพวเตอรเขาใจ (ระบไวในดบเบลยเอสดแอล (WSDL)) การตดตอส&อสารระหวางระบบอ&นกบเวบเซอรวส จะดาเนนการในลกษณะท&กาหนดโดยใช SOAP message ซ& งปกตจะขนสงไปบนเอชททพ (HTTP) [1] [2] เน&องจากเวบเซอรวสมพ�นฐานอยบนกลมของโพรโทคอลมาตราฐานและเทคโนโลย โดยแตละองคประกอบของเวบเซอรวสจะถกนามาใชในการกาหนดรปแบบในการส& อสาร ไมวาจะเปน เอกซเอมแอล, โซพ (SOAP), ดบเบลยเอสดแอล (WSDL), ยดดไอ (UDDI) หรอเอกซเอมแอลสคมา ซ& งสามารถอธบายหนาท&แตละสวนไดดงน� 1) XML (Extensible Markup Language) เปนภาษามารกอป (markup language) ถกพฒนาโดยองคกร W3C โดยมจดประสงค เพ&อเปนภาษาท&ใชในการอธบายขอมลสาหรบตดตอส&อสารกนในระบบท&มความแตกตางกน เน&องจากภาษาเอกซเอมแอลจดเกบขอมลท&เปนมาตรฐานและเพ&มในสวนของการอธบายขอมลดวยทาใหทกๆ แพลตฟอรม สามารถเขาใจความหมายของขอมลท&จดเกบไวภายในเอกซเอมแอล [5] 2.) SOAP (Simple Object Access Protocol) เปนสวนของโพรโทคอลท&ไดถกนามาใชงานกนอยางกวางขวางในการสงขอมลแบบขอความ ในป 2000 องคกร W3C กไดประกาศใหเปนมาตรฐาน โดยใหเปนโพรโทคอลสาหรบการส& อสารขอมลในรปแบบขอความโดยโซพจะหอหมขอมลท&จะรบสงบนพ�นฐานของเอกซเอมแอล ในการสงขอมลออกไปยงเครอขายโซพ จะอาศยโพรโทคอลอ&น ในการขนสงแทนในปจจบนนยมขนสงผานเอชททพ [6] [7] 3) WSDL (Web Services Description Language) เปนภาษาท&มพ�นฐานเปนเอกซเอมแอล ท&ถกนามาใชในการอธบายสวนของการตดตอเวบเซอรวส ซ& งภายในเอกสารจะประกอบไปดวยสวนของคาอธบายตาง ๆ ไมวาจะเปนตาแหนงของเวบเซอรวส โพรโทคอลท&ใชในการขนสง รปแบบขอมล การดาเนนการ พฤตกรรมของการตดตอส&อสาร และอ&นๆ [6] [8] 4) UDDI (Universal Description, Discovery and Integration) คอสวนของการลงทะเบยนเวบเซอรวสโดยจะจดเกบขอมลตางๆ ของผลงทะเบยนและเวบเซอรวสไวไมวาจะเปน ช&อบรษท เบอรโทร ช&อผตดตอ และอ&นๆ พรอมทาการเช&อมโยงไปยงเอกสารดบเบลยเอสดแอลดวย โดยยดดไอยงได

Page 122: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-3

จดเตรยมกลไกตาง ๆ ไวเชน การลงทะเบยน การคนหา แตสาหรบยดดไอ น� อาจไมจาเปนเม&อผรองขอทราบตาแหนงของเวบเซอรวส [6] [9] 5) XML schema บางท&อาจเรยกวาเปนภาษานยามโครงสราง (XML schema definition) ถกพฒนาโดยองคกร W3C เพ&อใชนยามโครงสรางของเอกสารเอกซเอมแอลและขอกาหนดตาง ๆ ของขอมลท&จะถกจดเกบไวภายในเอกสาร เอกซเอมแอลไมวาจะเปนโครงสรางเอกซเอมแอล รปแบบขอมล และยงสามารถใสขอกาหนดใหกบขอมลท&จดเกบในแตละอลเมนต (element) หรอแอตทรบวต (attribute) [5] [10]

2.2. การโจมตบนเวบเซอรวส มาตราฐานตางๆ ของเวบเซอรวสไมวา โซพ ดบเบลยเอสดแอล ยดดไอ ตางมพ�นฐานเปนเอกซเอมแอล แตโดยธรรมชาตของเอกซเอมแอล จะจดเกบขอมลในลกษณะขอความ ถอวาเปนขอเสยเปรยบอยางหน& งท&ผไมหวงดอาจจะนาเอาไปใชในการโจมต ซ& งการโจมตท&ใชเอกซเอมแอล มกเปนการโจมตเพ&อขดขวางการทางาน 1) Replay Attack เปนการโจมตท&เกดข�นเม&อผไมหวงดทาการคดลอก Message ท&เกดข�นจากการสนทนากนระหวางผรองขอกบเวบเซอรวสแลวทาการสง Message น�นซ� า [11] [12] ดงแสดงดงใน รปท& 1

รปท- 1. แสดงการโจมตแบบ Replay Attack 2) Buffer Overflow เปนการโจมตท&ผไมหวงดทาการสงขอมลมาแลวเกนขอบเขตท&ประเภทขอมลน�นรบได [12] [13] [14] [21] ดงแสดงตวอยางใน รปท& 2

รปท- 2. แสดงการโจมตแบบ Buffer Overflow 3) Parameter Tampering ในเอกซเอมแอล จะมสวนท&เรยกวา CDATA โดยสวนน� จะเปนบลอกท&อนญาตใหใสขอความหรออกขระพเศษอ&นใดไวภายในบลอกน� โดยท&ตวแปลภาษาเอกซเอมแอล จะไมนาไปตความหมาย ดงน�นผท&ไมหวงดกอาจจะนาเอาคณสมบตน� ไปใชในการโจมตเวบเซอรวสได [6] [11] [13] ดงแสดงใน รปท& 3

รปท- 3. แสดงการโจมตแบบ Parameter Tampering

4) Recursive Payload ในโครงสรางของเอกซเอมแอลจะมโครงสรางแบบลาดบช�นและเอกซเอมแอลยงอนญาตใหวางโครงสรางแบบซอนทบกนได จากคณสมบตน� ผไมหวงดอาจจะนาไปใชในการโจมต โดยอาจจะสรางเอกสารเอกซเอมแอลท&มอลเมนตซอนทบกน ท&อาจจะซอนทบกนเปน 10,000 หรอ 100,000 อลเมนต เพ&อมงหวงโจมตในสวนของตวจดการเอกสารเอกซเอมแอลใหทางานผดพลาด [12] [13] [14] ดงแสดงในรปท& 4

รปท- 4. แสดงการโจมตแบบ Recursive Payload 5) Oversize Payload เปนการโจมตท&ผไมหวงดพยายามสงเอกสารเอกซเอมแอลขนาดใหญ มาใหเวบเซอรวสประมวลผลซ& งอาจจะมขนาดหลายรอยเมกะไบต เปนผลทาใหตวจดการเอกสารเอกซเอมแอล ทางานผดพลาด [12] [13] [14] ดงแสดงใน รปท& 5

<SOAP:Body> <tns:calNumber xmlns:tns="......"> <tns:number>3147483647</tns:number > </tns:calNumber > </SOAP:Body>

<tns:name><![CDATA[<,&,# ]]></tns:name >

<credit_card_NO> <credit_card_NO> <credit_card_NO> <credit_card_NO> ... </credit_card_NO>

Page 123: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-4

รปท- 5. แสดงการโจมตแบบ Oversize Payload

2.3. งานวจยท�เก�ยวของ เน&องจากการแลกเปล&ยนขอมลระหวางระบบอ&นกบเวบเซอรวส จะใชภาษาเอกซเอมแอลเปนส&อกลางในการแลกเปล&ยน [1] [2] โดยธรรมชาตของเอกซเอมแอลแลวจะจดเกบขอมลในลกษณะขอความ ดงน�นขอมลท&แลกเปล&ยนระหวางเวบเซอรวสจะถกอธบายดวยเอกซเอมแอล แลวสงมาใหเวบเซอรวสประมวลผล ถาขอมลน�นขาดการตรวจสอบความถกตองท&ด อาจทาใหผไมหวงดนาไปใชในการโจมต [12] [16] โดยทาการสงเอกสาร เอกซเอมแอลท&เปนอนตรายมา เพ&อหวงผลในการขดขวางการทางานเวบเซอรวสไมวาเปนการโจมตแบบ Oversize Payload, Recursive Payload, Parameter Tampering, Buffer Overflow หรอ Replay Attack [12] [13] [14] แมในปจจบนจะมการพฒนามาตรฐานในการรกษาความปลอดภยของ เวบเซอรวส ข�นมาไมวาจะเปน WS-Security, WS-Trust และอ&นๆ [3] [4] ซ& งมาตรฐานเหลาน� ตางมงเนนในการรกษาความปลอดภยใหกบ Message เทาน�น ในปจจบนกไดมการศกษาวจย ในการดาเนนการปองกนการโจมตท&ใชเอกซเอมแอล จานวนมากดงน� Nils Gruschka และ Norbert Luttenberger [15] ไดเสนอการปองกนการโจมตเวบเซอรวสจาก DoS Attacks โดยการตรวจสอบความถกตองของ SOAP message ดวยการใชความสามารถของเอกสารเอกซ เอมแอลสคมา ในการตรวจสอบ โดยระบบจะนาเอาเอกสารดบเบลยเอสดแอลมาสกดเอาบางสวนของเอกสารมาสรางเอกซเอมแอลสคมาสาหรบตรวจสอบความถกตองของ SOAP message แตกมขอจากด ระบบไมสามารถรองรบรปแบบของ SOAP message ในรปแบบใหม ๆ ได Vipul Patel, Radhesh Mohandas และ Alwyn R. Pais [4] ไดเสนอรปแบบการโจมตบนเวบเซอรวสและแผนการเพ&อลดทอนการโจมตเวบเซอรวสไมวาจะเปน XML Injection,

XSS Injection และ XML Re-Writing โดยการตรวจสอบความถกตองของ SOAP message ดวยเอกสารเอกซเอมแอลสคมา โดยระบบจะนาเอาเอกสารดบเบลยเอสดแอลมาสกดเอาบางสวนของเอกสารมาสรางเอกซเอมแอลสคมาท&สอดคลองเกบไว เม&อมการรองขอเขามาระบบกจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท&สอดคลองมาตรวจสอบ พรอมสรางลอก (Log) ของการรองขอเกบไวดวย กรณท&การรองขอรปแบบใหมๆ ระบบกอาจจะปฏเสธการรองขอน�น แตระบบจะนาเอาลอกท&เกบไว มาสรางเอกสารเอกซเอมแอลสคมาเกบไวสาหรบใชในการตรวจสอบในคราวตอไป Rafael Bosse Brinhosa, Carla Merkle Westphall, Carlos Becker Westphall, Daniel Ricardo dos Santos และ Fabio Grezele [16] ไดเสนอแบบอยางการตรวจสอบรปแบบของขอมลเขาสาหรบเวบเซอรวส เพ&อปองกนการโจมตไมวาจะเปนการโจมตแบบ XSS injection และ SQL injection โดยการตรวจสอบขอมลท&สงมาดวยเอกสารเอกซเอมแอลสคมา รวมกบเอกสารขอกาหนดซ& งเอกสารขอกาหนดจะใชนยามขอบเขตขอมลท& ยอมรบไดและขอกาหนดอ&นๆ ในการตรวจสอบ Irfan siddavatam และ Jayant Gadge [14] ไดนาเสนอกลไกทดสอบแบบกวางสาหรบตรวจหาการโจมตบนเวบเซอรวส ท&ใชเอกซเอมแอล ผวจยไดนาเสนอกรอบการทางานในการตรวจหาการโจมตท&ประกอบดวยสามสวนและมฐานขอมลเปนศนยกลาง สวนท&หน& งจะเปนการจบ Message ของทกการรองขอท&เขามาแลวจดใหอยในรปแบบเอกซเอมแอลแลวจดเกบไวในฐานขอมล สวนท&สองจะเปนการกาหนดคาพารามเตอรท&จาเปนในการตรวจจบการโจมต ซ& งคาพารามเตอรตางๆ จะถกกาหนดโดยผดแลระบบและสวนท&สามจะเปนสวนของการวเคราะหการโจมต โดยนาเอาเอกซเอมแอลท&จดเกบไวในสวนท&หน& งมาวเคราะหหาการโจมตดวยอลกอรทมท& เหมาะสมรวมกบคาพารามเตอรท&กาหนดในสวนท&สอง และงานวจยอ&นๆ ท&เก&ยวของตางมงเนนไปเร& องของ xml firewall อยางเชน (Nedgty,2005) [17] ทางผวจยไดนาเสนอแนวทางการปองกนการโจมตเวบเซอรวสสาหรบปองกน DoS attacks, XDoS attacks และ Buffer Overflow โดยการกรอง SOAP message ท&เขามาและทาการตรวจสอบวา IP ท&สงคารองขอในการเรยกใชงานเวบเซอรวสวามสทธในการเรยกใชงาน

<transaction> <total>1000.00</total> <item>data 1</item> ... </transaction>

Page 124: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-5

เวบเซอรวสหรอไม (S-Wall,2011) [18] ทางผวจยไดนาเสนอแนวทางการปองกนการโจมตเวบเซอรวสสาหรบปองกนโจมตท&ใชเอกซเอมแอล โดยการใชงานระบบผใชจะตองเขาระบบและมการใชกลไลของการควบคมการเขาถงตามบทบาทแบบไดนามก ( D-RBAC ) ในการควบคมการเขาถงเวบเซอรวสของผใชงานแตละคน และยงมกระบวนการตรวจสอบการโจมตท&เอกซเอมแอลดวยอลกอรทมท&เหมาะสมและยงมการตรวจสอบสถานะของผใชดวย จากงานวจยท&เก&ยวของดานบนน� โดยสวนใหญจะเปนการนาเอาเอกสารดบเบลยเอสดแอลมาวเคราะหแลวสกดเอาบางสวนของเอกสารเพ&อนามาสรางเอกสารเอกซเอมแอลสคมาเพ&อนามาใชสาหรบตรวจสอบ Message แตเน&องจากเอกสาร ดบเบลยเอสดแอลมขอจากดในการอธบายรปแบบของขอมลท&ใชในการรบสง ซ& งดบเบลยเอสดแอลมกจะอธบายในภาพรวม ท&ไมไดระบรายละเอยดมากนก ดงน�นเม&อนามาใชเปนตนแบบในการสรางเอกสารเอกซเอมแอลสคมาจงไมไดรายละเอยดท&ครบถวนตามท&ตองการ จงถอวายงใชความสามารถของเอกซเอมแอลสคมายงไมเตมท& ตวอยางการอธบายรปแบบขอมลในการรบสงของดบเบลยเอสดแอล ดงแสดงในรปท& 6

รปท- 6. แสดงเอกสารดบเบลยเอสดแอลสวนของการอธบาย รปแบบขอมลท-ใชรบสงท-เปนเอกซเอมแอล ดงน� นผวจยจงไดนาเสนอกรอบการทางานใหมท&มความ สามารถในการตรวจสอบและปองกนการโจมตเวบเซอรวสท&ใชเอกซเอมแอล โดยปรบปรงขอดอยตางๆ ท&เกดข�น และเพ&มความสามารถในการเรยนรรปแบบเอกซเอมแอลแบบอตโนมตซ&งจะทาใหกรอบการทางานสามารถเรยนรรปแบบของเอกสารเอกซเอมแอลรปแบบใหมๆ ได

3. กรอบการทางานใหมสาหรบปองกนการโจมต

ผานเอกซเอมแอล การออกแบบกรอบการทางานสาหรบการตรวจสอบและปองกนการโจมตเวบเซอรวสท&ใชเอกซเอมแอลประกอบไปดวย 3 สวนหลกและมฐานขอมลเปนศนยกลาง ดงรปท& 7 กลาวคอ 1) สวนท&หน& งจะเปนสวนของการเรยนรรปแบบของขอมลท&เปนไปไดท&จะสงมาใหเวบเซอรวสประมวลผล ซ& งตรงสวนน�จะถอวาเปนการดาเนนการโดยปราศจากการโจมตใดๆ โดยผ ทดสอบจะทาการสงขอมลท&เปนเอกซเอมแอลในรปแบบตาง ๆ ท&เปนไปไดมาใหเวบเซอรวสประมวลผล ระบบจะทาการจบเอา Message แลวสกดเอาเอกสารเอกซเอมแอล นามาสรางเอกสารเอกซเอมแอลสคมาท&สอดคลองเกบไวในฐานขอมลโดยเอกสารเอกซ เอมแอลสคมาน� จะถกนามาใชในการตรวจสอบขอมลในคราวตอไปและนอกจากน� ระบบยงดาเนนการสกดเอาคาพารามเตอรบางอยาง เชน ขนาดของ Message เลกสดหรอขนาด Message ใหญสดท&ยอมรบได [14] [19]. 2) สวนท&สองจะเปนสวนของการกาหนดคาพารามเตอรท&จาเปนเพ&อนาไปใชในการตรวจสอบขอมลท&สามารถยอมรบไดหรอไมอนญาตใหม [14] ดงตารางท& 1 ตารางท- 1. ตารางแสดงคาพารามเตอรตางๆ ท-จะถกกาหนดคาโดยผทดสอบระบบ สวนของขอบเขตแตละอลเมนตน� บางททางผใหบรการอาจตองการขอบเขตขอมลท&ตวเองสามารถยอมรบได อยางเชน ขอมลอายจะตองอยในชวง 1 ถง 150 เปนตน กสามารถกาหนดไดตรงสวนน�

<wsdl:types> .............. <xs:element name="readXML"> <xs:complexType> <xs:sequence> <xs:element name="readXML" type="xs:anyType"/> </xs:sequence> </xs:complexType> </xs:element> ...............

พารามเตอร ใชในการตรวจสอบ

ขนาด Message ( min , max) Oversize Payload Recursive Payload

ขอบเขตอลเมนต (min, max) Buffer Overflow อกขระตองหาม เชน &, >, < Parameter Tampering

ชวงชวต Message (วนาท) Replay Attack อตรารบ Message ตอ วนาท SOAP Flooding

Page 125: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-6

3) สวนท&สามจะเปนการตรวจสอบเอกซเอมแอลแตละการรองขอ โดยจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท&เหมาะสม มาตรวจสอบรปแบบของเอกสารเอกซเอมแอล พรอมนาคาพารามตอรท&กาหนดไวมารวมในการตรวจสอบท&ประกอบไปดวย Check Timestamp สวนของการตรวจสอบเวลาชวตของ Message เม&อผรองขอตองการขอใชบรการกจะสราง Message ท&เรยกวา SOAP request พรอมทาการเพ&ม Timestamp ในสวนของ Header เม&อ Message เดนทางมาถง S-DV (State-based data validation) กจะทาการจบเอา Message พรอมนบจานวน ของ Message ท&สงมาจากตนทางเดยวกน วาในหน&งวนาทสง Message มาเกนจานวนท&กาหนดไวหรอไม ถาเกนจะทาการยกเลกการรองของพรอมสราง ลอกและแกไขสถานะของผรองขอไปอยในสถานะ lock โดยระบบจะสนนษฐานวาเปนการโจมตแบบ SOAP flooding [20] ถาไมใชกจะสกดเอา Timestamp ออกมาตรวจสอบกบเวลาปจจบน ถาเกนชวงเวลาท&กาหนด S-DV จะทาการยกเลกการรองขอพรอมสรางลอกและลดสถานะของผรองขอลงหน& งระดบ ถาไมเกนจะสงไปทาการตรวจสอบในสวนอ&นถดไป [23] Schema Validator [4] [16] [22] เปนสวนของการตรวจสอบความถก ตองของ Message ท&สงมาวาเปนไปตามรปแบบท&กาหนดหรอไม โดยจะทาการคดเลอกเอกสารเอกซเอมแอลสคมาท&เหมาะสมท&ไดจดเกบไวในข�นตอนเรยนรรปแบบของ

เอกสารเอกซเอมแอล มาทาการตรวจสอบวาเปนไปตามรปแบบท&กาหนดหรอไม กรณท&มเอกซเอมแอลรปแบบใหม ๆ สงมาจะไมมเอกซเอมแอลสคมาท&สอดคลอง S-DV จะยกเลกการรองขอและสรางลอกเกบไว โดยลอกจะถกนามาสรางเปนรายงานใหผดแลระบบ ดงน�นผดแลระบบสามารถตรวจสอบแลวยนยน S-DV กจะนาเอาลอกมาสรางเอกซเอมแอลสคมาทสอดคลองเกบไวสาหรบตรวจสอบในคราวถดไป ดงแสดงใน รปท& 8 แสดงใหเหนวาเม&อ Message เดนทางมาถงระบบจะทาการจบแลวสกดเอาเอกสารเอกซเอมแอลออกมา แตสาหรบสวนของ SOAP Header อาจจะไมมกได จากน� นจะทาการคดเลอกเอกซเอมแอลสคมาท&เหมาะสม มาตรวจสอบ H_schema เปนเอกสารเอกซเอมแอลสคมาของ SOAP Header และสวน B_schema เปนเอกซเอมแอลสคมาของ SOAP Body

รปท- 8. แสดงการทางานของ Schema Validator

รปท- 7. กรอบการทางานท-นาเสนอสาหรบตรวจสอบขอมลบนพYนฐานสถานะ (State-based data validation: S-DV)

Page 126: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-7

Check State สวนของการตรวจสอบสถานะของการรองขอใชบรการเม&อ Message ผานการตรวจสอบรปแบบแลวกจะมาทาการตรวจสอบสถานะของการรองขอวามความนาเช&อเพยงใดเพราะวา ถาการรองขอน�นมความนาเช&อถอกไมควรท&จะไปตรวจสอบอยางอ&นเพ&ม เน& องจาก Message ผานกระบวนการตรวจสอบรปแบบ Message ดวยเอกสารเอกซเอมแอลสคมากถอไดวาขอมลน�นมความปลอดภยแลวแนนอนวาการรองขอท&มความนาเช&อถอกอาจจะเปนการรองขอท&ไมนาเช&อถอในอนาคตกได ระบบการตรวจสอบจงไดมการกาหนดสถานะของการรองของข�นมา 4 สถานะคอการรองขอมควา มนา เ ช& อ ถอ (Good), ก าร ร องข อมค วามนาส งส ย (Suspicious), การรองขอท&ไมด (Bad) และการรองขอท&ไมมความปลอดภยเลย (lock) ถาการรองขออยในสถานะ lock น� จะถกแกไขใหไปอยในสถานะอ&นไดจากผดแลระบบเทาน� น สาหรบการรองขออยในสถานะ Good จะมชวงชวงเวลาท&จากด เชน 10 นาท 20 นาท หรอ 1 ช&วโมงเปนตน เม&อครบเวลาท&กาหนดกจะยายมาอยในสถานะ Suspicious แทนเพ&อทาการตรวจสอบวายงคงเปนการรองขอท&มความนาเช&อถออยหรอไมสวนการรองขอใหมท&ย งไมเคยเขามาในระบบเลยจะถกกาหนดใหอยในสถานะ Suspicious โดยอตโนมต [18] Action Module สวนการกาหนดการกระทาใหเหมาะสมกบขอมลน� นๆ วาจะใหทาอะไรข�นอยกบวาขอมลท&สงมาใหน� นเปนขอมลอะไร Check parameter module สวนวเคราะหพารามเตอรสวนน�จะเปนการวเคราะหขอมลโดยละเอยด ทาใหการทางานตรงสวนน� จาเปนตองใชเวลาในการวเคราะหมากกวาการทางานของสวนอ&นๆ โดยการวเคราะหจะเลอกอลกอรทมท&เหมาะสมท&ไดมการกาหนดไวในสวนของ D&V Rules (detection and verification rules) มาวเคราะหรวมกบคาพารามเตอรท&ไดจดเกบไวในข�นตอนเรยนรหรอกาหนดคาโดยผทดทดสอบระบบมารวมวเคราะห [18] Generate reports สวนน� จะเปนการนาลอกมาสรางรายงานใหผ ดแลระบบไดทราบ สาหรบในสวนลอกท& เกดข� นจาก Schema validator อาจมาจากสองประการคอ กรณท&หน&งเปน ลอกท&เกดข�นจากเอกซเอมแอลท&สงมาในรปแบบท&เปนอนตราย กรณท&สองเปนลอกท& เกดข� นจากเอกซเอมแอลท& สงมาไมสอดคลองกบเอกซเอมแอลสคมาท& มอย การรองขอจงถก

ปฏเสธตรงสวนน� ทางผดแลระบบสามารถตรวจสอบแลวทาการยนยน S-DV กจะนาลอกมาสรางเอกซเอมแอลสคมาเกบไว เพ&อใชในการตรวจสอบในคร� งตอไป สาหรบการตรวจสอบสถานะของการรองขอน� นจะตรวจ สอบจาก IP address ของผรองขอท&สงการรองขอใชงานเวบเซอรวส ดงน� นสถานะของการรองขอของแตละการรองขออาจจะอยในสถานะใดสถานะหน& งข� นอยกบการตรวจสอบขอมลท&สงมาวาเปนอยางไร ดงแสดงใน รปท& 9

รปท- 9. แสดงการเปล-ยนสถานะของการรองขอ

• การรองขอใชงานเวบเซอรวสท&ถกสงมาจากผรองขอท&เขามาในระบบเปนคร� งแรกจะถกกาหนดใหอยในสถานะ Suspicious

• สถานะ Suspicious จะเปล&ยนสถานะไปเปน Good ไดกรณเดยวเทาน�นคอ การรองขอใชงานเวบเซอรวสท&ผานการตรวจสอบจาก Check parameter module เทาน�น

• สถานะ Suspicious จะเปล&ยนสถานะไปเปน Bad เม&อการรองขอน� นไมผานการตรวจสอบจากสวนใดสวนหน& งของระบบ การรองขอน� นกจะถกลดสถานะลงมาเปน Bad ในทานองเ ดยวกนการรองขอท& อย ในสถานะ Suspicious จะเปล&ยนสถานะไปเปน lock เม&อการรองขอน�นถกสงสยวาจะเปนการสงการรองขอแบบ Flooding

• สถานะ Bad จะเปล&ยนสถานะไปเปน Suspicious เม&อการรองขอน�นผานการตรวจสอบจาก Check parameter module กแสดงวาการรองขอน� นมความนาเช&อถอเพ&มข�นแตยงมความนาสงสยอยและจะเปล&ยนสถานะไปเปน lock เม&อการรองขอน�นไมผานการตรวจสอบจากสวนใดสวนหน& งของระบบจะถกสงสยวาเปนการโจมตแนนอน

Page 127: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-8

• สถานะ lock จะเปล&ยนไปเปนสถานะใด จะข�นจากการพจารณาของผดแลระบบวาเหนสมควรใหไปอยในสถานะใด

• สถานะ Good จะเปล&ยนสถานะมาเปน Suspicious เม&อหมดชวงระยะเวลาท&กาหนด

4. การทดลอง ในการทดลองการตรวจสอบและคดกรองเอกซเอมแอลไดมการพฒนากรอบการทางานและจดสภาพแวดลอมในการทดลองดงรปท& 10 ในแตละองคประกอบยอยๆ ของกรอบการทางานไดมการแบงแยกในการการทดสอบ โดยใชกรณทดสอบท&กาหนดข�นเองในชวงข�นตอนของการพฒนาเพ&อใหแนใจวาแตละองคประกอบสามารถทาหนาท&ไดอยางถกตอง หลงจากน�นไดนาเอาแตละองคประกอบท�งหมดมารวมกนใหเปนกรอบการทางานสาหรบการทดสอบบนเครอขายดงรปท& 10 ในการทดสอบกรอบการทางานบนเครอขาย ประกอบไปดวยโปรแกรมประยกตของไคลเอนต (Client), เวบเซอรวสพรอกซ (Web service proxy), เวบเซรฟเวอร (web server) และเวบเซอรวสท�งหมดเช&อมตอกนโดยตรง

รปท- 10. แสดงสภาพแวดลอมของการทดลอง โปรแกรมประยกตของไคลเอนตท& ใชเรยกใชงานเวบเซอรวสผานเวบเซอรวสพรอกซพฒนาดวยภาษา JAVA และเอกซเอมแอล

เวบเซอรวสพรอกซ พฒนามาจาก Squid Proxy server ท&ตดต�งอยบนระบบปฏบตการ Linux โดยจะเปนตวกลางท&คอยรบทกการรองขอใชงานเวบเซอรวสเพ&อลดภาระการทางานของเวบเซรฟเวอร เวบเซอรวส พฒนาดวยภาษา JAVA และใช Apache axis2ในการจดการกบ SOAP message การตรวจสอบความถกตองของ SOAP message (Data Validation module) โดยจะทาการตรวจสอบทกการรองขอท&เขามาวามความปลอดภยหรอไม กอนท&จะถกสงไปใหเวบเซอรวสประมวลผลซ& งพฒนาดวยภาษา JAVA และใช Apache axis2 ในการจดการกบ SOAP message การตรวจสอบความถกตองของ SOAP message จะใชความสามารถของเอกซเอมแอลสคมารวมกบคาพารามเตอรท&จ าเปนท&กาหนดโดยผทดสอบระบบและใชอลกอรทมท&เหมาะสมในการตรวจสอบ ในกรอบการทางานยงมการตรวจสอบสถานะของผขอใชเวบเซอรวสดวยวามความนาเช&อถอหรอไม ถาผขอใชบรการมความนาเช&อถอนอยกจะทาการตรวจสอบ SOAP message โดยละเอยดตรงสวนน� จะใชเวลาในการตรวจสอบมาก ถาผลของการตรวจสอบความถกตองของ SOAP message แลวไมถกตองตามขอกาหนด การรองขอน�นจะถกยกเลกไปพรอมสรางลอกเกบไวดวย ฐานขอมล จะเปนศนยกลางท&คอยจดเกบขอมลตางๆ ท&จาเปนในการตรวจสอบ พฒนาข�นดวย MySQL server การสรางเอกซเอมแอลสคมา (Generate Schema Module) จะเปนสวนของการเรยนรรปแบบของ SOAP message ในรปแบบตางๆ ท&เปนไปได เพ&อนามาสรางเอกสารเอกซเอมแอลสคมา ท&ใชในการตรวจสอบความถกตองของ SOAP message ในคราวตอไป พฒนาดวยภาษา JAVA การกาหนดคาพารามเตอร (Initial Parameter) ท&จาเปนในการตรวจสอบความถกตองของ SOAP message ซ& งคาพารามเตอรเหลาน� จะถกกาหนดคาโดยผทดสอบระบบ เหตผลท&ตองใหผทดสอบระบบเปนคนกาหนดคา เน&องจากผ วจยมองวาผ ทดสอบระบบจะมความรและเขาใจระบบมากกวาผดแลระบบท&อาจจะมความรหรอเขาใจในระบบไมดพอ ซ&งอาจมผลทาใหการกาหนดคาท&ไมครอบคลม ท&อาจสงผลใหการตรวจสอบความถกตองของ SOAP message เกดชองโหวได พฒนาดวยภาษา JAVA

Page 128: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-9

การสรางรายงาน (Generate Report) สวนน� จะนาเอาลอก ท&ถกจดเกบไวในขบวนการตรวจสอบความถกตองของ SOAP message มาสรางเปนรายงานใหผดแลระบบโดยจะมการสรางรายงานแบบ Real-time และตรงสวนน� ยงมอลกอรทมท&จะนาเอาลอกท&เกดจากการรองขอท&ถกปฏเสธเน&องจากเอกสาร เอกซเอมแอลสคมา ท&มไมสอดคลองกบรปแบบของ SOAP message เพ&อเปนการเรยนรรปแบบของ SOAP message ในรปแบบใหมๆ พฒนาดวยภาษา JAVA และใช Apache axis2 ในการจดการกบ SOAP message

4.1. การทดลองการโจมตแบบ Replay Attack ในการทดลองสาหรบตรวจสอบการโจมตแบบ Replay Attack การดาเนนการทดลองจะมสวนท&สาคญคอ 1) เม&อมการรองขอใชบรการจะตองเพ&ม Timestamp ในสวนของ Header ของ SOAP request 2) เม&อ Message เดนทางมาถง S-DV กจะจบ Message พรอมนบจานวน Message ท&สงมาจากตนทางเดยวกนวาในหน& งวนาทสงเกนจานวนท&กาหนดไวหรอไม เพ&อปองกนการโจมตแบบ SOAP flooding 3) สกดเอา Timestamp มาคานวณเทยบกบเวลาปจจบนวาเกนชวงชวตของ Message หรอไมจาก รปท& 11 ในสวนของNet_time คอผลตางของวนเวลาท&สราง Message กบวนเวลาปจจบน สวน limit_Time คอชวงเวลาชวตของ Message และ limit_msg คอจานวน Message สงสดท&ยอมรบไดตอวนาท

รปท- 11. การตรวจจบการโจมตแบบ Replay Attack

4.2. การทดลองการโจมตแบบ Buffer Overflow ในการทดสอบเพ&อตรวจจบการโจมตแบบ Buffer Overflow น�นจะใชความสามารถของเอกซเอมแอลสคมา ในการตรวจจบ ดงตวอยางรปท& 12 ดวยความสามารถของเอกซเอมแอลสคมาเราสามารถกาหนดรปแบบของโครงสรางเอกสารเอกซเอมแอล ประเภทของขอมล รปแบบขอมล ขอบเขตขอมล ใหกบแตละอลเมนตหรอแอตทรบวต ดวยความสามารถน� เราจงสามารถนามาตรวจสอบขอบเขตของขอมลเพ&อไมใหเกนขอบเขตท&กาหนดไวได ตวอยางใน รปท& 12 ใชในการตรวจสอบอลเมนต number วาเกบขอมลแบบตวเลขจานวนเตมและเกบไดต &าสดคอ -2147483648 สงสดคอ 2147483647 ถานอกเหนอจากน� ถอวาเปนคาไมถกตอง

รปท- 12. แสดงเอกซเอมแอลสคมาสาหรบกาหนดขอบเขต ขอมล

4.3. การทดลองการโจมตแบบ Parameter Tampering สาหรบการทดลองเพ&อตรวจจบการโจมตแบบ Parameter Tampering จะใชคณสมบตของ regexp ท&มลกษณะเปนลาดบของอกขระท&ใชจดรปแบบสาหรบคนหาหรอจบคสายอกขระ เราสามารถนาเอา regexp มาจดรปแบบในการจบคสายอกขระท&เราสามารถอนญาตใหมไดหรอไมอนญาตใหม ตวอยางเชน รปแบบอเมลในสวนของ regexp กาหนดไดคอ "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z]+(\\.[A-Za-z]+)*(\\.[A-Za-z]{2})?$" หรอไมอนญาตใหมอกขระท&กาหนดในสายอกขระสามารถกาหนดรปแบบของ regexp คอ "^[^<>&]*$" หมายถงในสายอกขระไมอนญาตใหมอกขระ "<" หรอ ">" หรอ "&"

4.4. การทดลองการโจมตแบบ Recursive Payload ในการทดสอบเพ&อตรวจจบการโจมตแบบ Recursive Payload น� กใชความสามารถของเอกซเอมแอลสคมา ดงตวอยางรปท&

<xs:element name="number"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="-2147483648" /> <xs:maxInclusive value="2147483647"/> </xs:restriction> </xs:simpleType> </xs:element>

Page 129: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-10

13 ในการตรวจสอบโครงสรางเอกสารเอกซเอมแอลวาถกตองตามท&กาหนดไวหรอไม จากตวอยางดานลางน� แสดงใหเหนการใชเอกสารเอกซเอมแอลสคมา มาควบคมโครงสรางของ อลเมนต transaction ท&มอลเมนตลกคอ total และ credit_NO เทาน�นโดยแตละอลเมนตสามารถปรากฎเปนอลเมนตลกของ transaction ไดเพยงคร� งเดยวและไมสามารถวางซอนทบกนได รปท- 13. เอกซเอมแอลสคมาควบคมโครงสรางเอกซเอมแอล

4.5. การทดลองการโจมตแบบ Oversize Payload ในการทดสอบเพ&อตรวจจบการโจมตแบบ Oversize Payload จะใชความสามารถของเอกซ เอมแอลสคมา รวมกบการตรวจสอบขนาดของเอกซเอมแอลกบคาพารามเตอรท&กาหนดโดยผทดสอบระบบในข�นตอนการเรยนรรปแบบเอกซเอมแอล จากตวอยางแสดงในรปท& 14 แสดงเอกสารเอกซเอมแอลสคมา ท&นามาใชควบคมโครงสรางของเอกสารเอกซเอมแอลใหอยในรปแบบท&ตองการ จากรปท& 14 ไดแสดงใหเหนวาเอกสารเอกซเอมแอลสามารถประกอบไปดวย อลเมนต item สามารถปรากฎได 2 คร� ง เพราะวาไดมการกาหนดแอตทรบวต maxOccurs="2" คออนญาตใหอลเมนต item ปรากฎไดสงสดคอ 2 คร� ง

รปท- 14. แสดงเอกซเอมแอลสคมาสาหรบตรวจสอบ

4.6. ผลการทดลอง เพ&อทดสอบกลไกในการปองกนและตรวจจบการโจมตตางๆ ท&ใชเอกซเอมแอล ไดมการพฒนาโมดลตางๆ ของระบบ

ตรวจจบดวย Apache Tomcat, Apache Axis2, JAVA และฐานขอมลใช MySQL ผลของการทดลองแสดงในตารางท& 2 จากผลการทดลองในตารางน� แสดงใหเหนผลการทดลองท&ไดทาการทดลองในการตรวจจบการโจมตแบบตางๆ โดยสรปไดดงน� ตารางท- 2. ตารางแสดงผลลพธจากการทดลอง SOAP flooding เปนการทดลองการนบจานวนของการรองขอท& สงคา รองขอเขามาโดยทดลองสงการรองขอไป 15 Message แตระบบรองรบไดสงสด 10 Message ตอวนาท& สาหรบการรองขอจากผใชงานแตละคนผลจากการทดลองระบบสามารถตรวจจบไดท�งหมด 15 Message Replay Attack เปนการทดลองในการตรวจสอบชวงเวลาชวตของ Message ในการทดลองไดสง Message พรอมเพ&ม Timestamp ท&เปนเวลาท& Message ถกสรางข�นในเวลา 30/07/2557 16:9:19 โดยจะมอายไดไมเกน 5 Second ต�งแตเวลาท&สราง Message จนถงเวลาท&ไดรบ Message ผลของการทดลองสามารถจบ Message ไดในเวลา 30/07/2557 16:9:20 Buffer Overflow เปนการทดลองในการตรวจสอบขอบเขตของขอมล โดยสงขอมลท& เปนเงนเดอนท&มชนดขอมลแบบ float มคา 3.4028235E39 แตขอบเขตสงสดของชนดขอมลแบบ float คอ 3.4028235E38 และระบบสามารถตรวจจบไดคาท&สงมาไดคอ 3.4028235E39 Parameter Tampering เปนการทดลองในการตรวจสอบหาอกขระ ท&ไมอนญาตใหมในกรณท&มการใชงานบลอกของ CDATA ซ&งอกขระท&ใชในการทดลองคอ <, &, >, # ผลจากการทดลองระบบสามารถตรวจจบไดคอ <, &, >, #

<xs:element name="transaction"> <xs:complexType> <xs:sequence> <xs:element name="total" type="xs:float" /> <xs:element name="credit_NO" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element>

…………………….. <xs:sequence> <xs:element name="item" type="xs:string" maxOccurs="2"/> </xs:sequence> ……………………..

Page 130: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-11

Recursive Payload เปนการทดลองในการตรวจสอบเอกสารเอกซเอมแอลท&มการวางอลเมนตซอนทบกนขนาด 3134 ไบต โดยท&ระบบยอมรบขนาดของเอกซเอมแอลไดสงสด 4000 ไบต ผลการทดลองระบบสามารถตรวจจบไดคอ 3134 ไบต Oversize Payload เปนการทดลองในการตรวจสอบขนาดของเอกสารเอกซเอมแอลในการทดลองไดสงเอกสารเอกซเอมแอล ขนาด 5809 ไบต แตระบบสามารถยอมรบขนาดของเอกซเอมแอลไดสงสด 5000 ไบต ผลการทดลองระบบสามารถตรวจจบไดคอ 5809ไบต นอกจากน� ระบบยงไดนาเอาลอกตางๆ ท&เกดข�นในระบบมาสรางเปนรายงานใหกบผดแลระบบไดทาการตรวจสอบวาเกดอะไรข�นบางในระบบ ดงแสดงใน รปท& 15

รปท- 15. แสดงรายงานสาหรบผดแลระบบ จากรปท& 15 แสดงรายงานสาหรบผดแลระบบท&เกดจากการนาเอาลอกตางๆ ท&เกดข�นในระบบมาสรางเปนรายงานเพ&อใหผดแลระบบสามารถท&จะทาการตรวจสอบไดวาเกดอะไรข� นบางในระบบ โดยรายงานสาหรบผดแลระบบจะประกอบไปดวย

• From ตรงสวนน� จะแสดง IP address ของผรองขอวาการรองขอใชบรการน�นสงมาท&ใหน

• Operation Name จะเปนสวนของการแสดงช&อของบรการวาการรองขอน� เปนการรองขอใชบรการอะไร

• Header จะเปนสวนของการแสดงเอกสารในสวนของ Header ของเอกสารโซพ

• Body จะเปนสวนของการแสดงเอกสารในสวนของ Body ของเอกสารโซพ

• Error จะเปนสวนขอความขอผดพลาดท&เกดข�นจากการตรวจสอบของระบบ

• Date จะเปนสวนของการแสดงวนท&ของการสรางลอก • Time จะเปนสวนของการแสดงเวลาของการสรางลอก

5. สรปผลและขอเสนอแนะ งานวจยน� จะเปนการนาเสนอกรอบการทางานสาหรบปองกนการโจมตเวบเซอรวสท&ใชเอกซเอมแอล ซ& งกรอบการทางานท&นาเสนอน� จะมงเนนไปท&การตรวจสอบความถกตองของเอกซเอมแอลของทก ๆ การรองขอกอนท&จะถกสงไปใหกบเวบเซอรวสประมวลผล ดงน�นขอมลท&ถกตองเทาน�นท&จะไดรบอนญาต เม&อตรวจสอบขอมลแลวไมถกตอง การรองขอน�นกจะถกยกเลกไป สาหรบการตรวจสอบความถกตองของเอกซเอมแอลในกรอบการทางานท&ไดนาเสนอน� จะใชความสามารถของเอกซเอมแอลสคมา ในการตรวจสอบโครงสรางเอกซเอมแอล ชนดของของขอมล รปแบบของขอมลและขอบเขตของขอมลท&จดเกบในแตละอลเมนตหรอในแตละแอตทรบวตของเอกสารเอกซเอมแอลรวมกบคาพารามเตอรท&ก าหนดโดยผทดสอบระบบและ regexp สาหรบตรวจสอบขอความหรออกขระบางอยางท&เราไมอนญาตใหมในขอมลท&เปนขอความ สาหรบปรมาณของการรองขอท&อาจจะถกยกเลกหรอไดรบอนญาตน�น ข�นอยกบข�นตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอรถาในข�นตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอร ครอบคลมปรมาณการรองขอท&จะถกยกเลกจะนอยแตถาในข�นตอนการเรยนรรปแบบของเอกซเอมแอลและการกาหนดคาพารามเตอรไมครอบคลมปรมาณการรองขอท&จะถกยกเลกกจะมากข�น ผลจากการทดลองเบ�องตนแสดงใหเหนวากรอบการทางาน ท&นาเสนอน� มความสามารถในการตรวจจบการโจมตท&ใชเอกซเอมแอลไดอยางอยางมประสทธภาพและสามารถเพ&มความตานทานตอความผดพลาดของเวบเซอรวสเพ&มข�น

Page 131: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-12

เอกสารอางอง [1] W3C Working Group, Web Services Architecture. [Online]. 2004. Available from: http://www.w3.org/ TR/ws-arch/ [2014, July, 25] [2] Doug Tidwell, James Snell and Pavel Kulchenko, Programming Web Services with SOAP First Edition. O'Reilly. Sebastopol. December 2001. [3] Marzouk S. Mokbel and Le Jiajin, "Integrated Security Architecture for Web Services and this Challenging", Asian Journal of Information Technology, Volue 7, Issue 5, 2008. pp. 226-231. [4] Vipul Patel, Radhesh Mohandas and Alwyn R. Pais, " Attacks on Web Services and mitigation schemes", IEEE Security and Cryptography (SECRYPT), Proceedings of the 2010 International Conference, July 2010. pp.1-6. [5] David Hunter, Jeff Rafter, Joe Fawcett, Eric van der Vlist, Danny Ayers, Jon Duckett, Andrew Watt, and Linda McKinnon, Beginning XML 4th Edition. Wiley Publishing. Indiana. May, 2007. [6] Poornachandra Sarang, Ph.D, Pro Apache XML First Edition. Apress. New York. May 2006. [7] W3C, Simple Object Access Protocol 1.1. [Online]. 2000. Available from: http://www.w3.org /TR/2000/NOTE-SOAP-20000508/#_Toc478383486 [2014, July, 25] [8] W3C, Web Services Description Language 1.1. [Online]. 2001. Available from: http://www.w3.org /TR/wsdl [2014, July, 25] [9] OASIS, Universal Description, Discovery and Integration (UDDI) v2.0. [Online]. 2003. Available from: https://www.oasisopen.org/standards#uddiv2 [2014, July, 25] [10] Priscilla Walmsley, Definitive XML Schema 2th Edition. PRENTICE HALL. New Jersey. September 2012. [11] A. Karthigeyan, C. Andavar, A. Jaya Ramya, "Adaptable Practices for Curbing XDoS Attacks", International Journal of Scientific & Engineering Research, Volume 3, Issue 6, June 2012. pp.1-6.

[12] Esmiralda Moradian, and Anne Håkansson, "Possible attacks on XML Web Services", IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.1B, January 2006. pp.154-170. [13] Abhinav Nath Gupta and Dr. P. Santhi Thilagam, "Attacks on Web Services Need to Secure XML on Web", Computer Science & Engineering: An International Journal, Vol. 3, No. 5, October 2013. pp.1-11. [14] Irfan siddavatam and Jayant Gadge, "Comprehensive Test Mechanism to Detect Attack on Web Services", IEEE International Conference on Networking, December 2008. pp.1-6. [15] Nils Gruschka, Norbert Luttenberger, "Protecting Web Services from DoS Attacks by SOAP Message Validation", IFIP International Federation for Information Processing Volume 201, 2006, May 2006. pp 171-182. [16] Rafael Bosse Brinhosa, Carla Merkle Westphall, Carlos Becker Westphall, Daniel Ricardo dos Santos, Fabio Grezele, "A Validation Model of Data Input for Web Services", Twelfth International Conference on Networks, January 2013. pp.87-94. [17] R. Bebawy, H. Sabry, S. El-Kassas, Y. Hanna, and Y. Youssef, "Nedgty: Web services firewall", Web Services, 2005. ICWS 2005. Proceedings. 2005 IEEE International Conference, July 2005. pp. 597–601. [18] Haiping Xu, Abhinay Reddyreddy, and Daniel F. Fitch, "Defending Against XML-Based Attacks Using State-Based XML Firewall", JOURNAL OF COMPUTERS, VOL. 6, NO.11, November 2011. pp. 2395-2407. [19] Nuno Antunes, Nuno Laranjeiro, Marco Vieira, Henrique Madeira,"Effective Detection of SQL/XPath Injection Vulnerabilities in Web Services", Services Computing, 2009. SCC '09, IEEE International Conference, September 2009. pp.260-267. [20] Gökhan Muharremoğlu, Web Application Level Approach against the HTTP Flood Attacks IOSEC HTTP Anti

Page 132: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

ค-13

Flood/DoS Security Gateway Module. [Online]. 2012. Available from: http://goo.gl/aQM4Di [2014, July ,25] [21] Eric Chien and Péter Ször, Blended Attacks Exploits, Vulnerabilities and Buffer-Overflow Techniques in Computer Viruses*. [Online]. 2002. Available from: http://www.symantec.com/avcenter/reference/blended.attacks.pdf [2014, July ,25] [22] Meiko Jensen, Christopher Meyer, Juraj Somorovsky, and Jorg Schwenk, "On the effectiveness of XML Schema validation for countering XML Signature Wrapping attacks", Securing Services on the Cloud (IWSSC), 2011 1st International Workshop on, September 2011. pp.7-13,6-8. [23] Shujun Pei, Deyun Chen, Yuyuan Chu, Qingfeng Xu and Shi Xi,"Research of Web Service Security Model Based on SOAP Information", Asian Network for Scientific Information, December 2011. pp. 241-247.

Page 133: กรอบการทํางานใหม่ในการ ... กรอบ... · 2016-05-24 · กรอบการทํางานใหม่ในการป้องกันการโจมตีที

หวขอวทยานพนธ กรอบการทางานใหมในการปองกนการโจมตท�ใชเอกซเอมแอล

The New Framework to Defend Against XML-Based Attacks

ผจดทาวทยานพนธ นาย ชาตร ทองวรรณ รหส 5217660059

หลกสตร วทยาศาสตรมหาบณฑต สาขา วศวกรรมเครอขาย

อาจารยท�ปรกษาวทยานพนธ …….…………………………………..

(ผศ.ดร.วรพล ลลาเกยรตสกล)

วทยานพนธฉบบนV ผานการพจารณาจากคณะกรรมการ ดงมรายช�อตอไปนV

………………………………………….. …………………………………………..

(ดร.วรวฒ ไพรวน) (ผศ.ดร.กฤษณ วงรจระ)

…………………………………………..

(ดร.สรณพร ภมวฒสาร)