ช่องโหว่ OpenSSL Heartbeat Extension

การเข้ารหัสการสื่อสารข้อมูลระหว่างเครื่อง client และเครื่อง server เริ่มมีการใช้งานกันอย่างแพร่หลาย และ library ที่ใช้กันอย่างแพร่หลายคือ OpenSSL เพราะเป็น Open Source และสามารถใช้ได้ทั้งใน TLS, SSL Protocol ทำให้มีผู้นำไปพัฒนาใช้กับโปรแกรมประเภทต่างๆมากมาย แต่ในเมื่อวันที่ 7 เมษายน 2557 ที่ผ่านมามีการเปิดเผยช่องโหว่ OpenSSL ในส่วนของ Heartbeat extension จาก OpenSSL โดยผู้แจ้งคือ Riku, Antti และ Matti, ทีม security engineer จาก Codenomicon และ Neel Mehta จาก Google Security Team ช่องโหว่นี้กระทบทั้ง HTTPS, Email, Instant Messaging, VPN บางตัว หรือแม้แต่ Server ต่างๆที่ให้บริการกับ Mobile Application ต่างๆก็อาจมีช่องโหว่ได้เช่นกัน โดยช่องโหว่ดังกล่าวถูกตั้งชื่อว่า “Heartbleed” (CVE-2014-0160) ไม่ทราบเหมือนกันว่าทำไมถึงใช้ชื่อนี้ แต่อาจจะพยายามให้คล้ายกับชื่อเดิมก็เป็นได้ครับ

อะไรคือ Heartbeat Extensionและช่องโหว่ของ Heartbeat Extension เกิดขึ้นได้อย่างไร

Heartbeat extension (RFC 6520 Standard) เป็นส่วนเสริมของ OpenSSL โดยใช้เป็น Keep Alive packet มีส่วนประกอบด้วยกัน 2 ส่วนคือ request และ response กล่าวคือเป็นการตกลงกับ server ปลายทางว่าหลังจากจบการเชื่อมต่อที่เข้ารหัสแล้ว ให้ยังคงเก็บ session เปิดค้างไว้แม้ว่าจะไม่มีการส่งข้อมูลอะไรให้อีกก็ตาม นอกจากนี้ยังใช้ในการตกลงระหว่างทั้ง 2 ฝ่ายให้คุยกันได้อย่างราบรื่นอีกด้วย

การส่ง Request ตาม Standard นั้นจะกำหนดขนาดสูงสุดอยู่ที่ 16KByte (214 Byte) แต่โดยปกติ OpenSSL จะสร้าง request ที่สั้นกว่านั้นมาก โดยส่วนประกอบของ Heartbeat Request เป็นดังนี้

TLS1_HB_REQUEST ขนาด 1 Byte เป็นตัวกำหนดประเภทของ Message
Payload Length ขนาด 2 Byte เป็นตัวกำหนดขนาดของ Payload + Padding(ส่วนเติมเต็ม packet)
Sequence Number ของ Payload ขนาด 2 Byte
Payload ขนาด 18 Byte
Padding ขนาด 16 Byte

/* Enter response type, length and copy payload */
*bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp);
memcpy(bp, pl, payload);
ตัวอย่าง Source Code ที่มีช่องโหว่ของ Heartbeat extension

แต่ประเด็นคือตอนรับข้อมูลไม่ได้ตรวจสอบดีนัก เนื่องด้วย Heartbeat extension จะตอบกลับด้วย copy ของ payload data ที่ได้รับตอน request ซึ่งเป็นตัวบ่งบอกว่าวงจรการเข้ารหัส (Encrypted circuit) ยังคงทำได้ปกติทั้ง 2 ฝั่ง ซึ่งหากผู้ส่ง Request มีการใส่ค่า payload ขนาดเล็กแต่กำหนด payload size เป็น 0xFFFF(65535 byte) ทาง OpenSSL จะไป copy 65535 byte จาก payload ที่ส่งไปและ memory ที่ใช้กับ connection ของผู้อื่นที่จบ connection พอดีมาให้แทน นั่นหมายความว่าหาก Heartbeat request ที่ส่งไปยังเว็บไซต์ที่เป็น HTTPS โดยไม่ได้ใส่ payload ใดๆลงไปแต่กลับกำหนดขนาดของ payload length เป็น 0xFFFF แทน จะทำให้ OpenSSL จะนำข้อมูล HTTP ของผู้อื่นทั้ง HTTP Request และ HTTP Response จะถูก copy จนครบ 65535 และส่งกลับมาให้เราแทน โดยข้อมูลเหล่านั้นอาจจะเป็นได้ทั้ง username, password, cookies, x.509 certificates เป็นต้น

รูปภาพตัวอย่างโครงสร้าง Heartbeat Request และ Response ที่เป็นปัญหา

มีเว็บไซต์ชื่อดังมากมายที่ได้รับผลกระทบจากช่องโหว่นี้ไม่ว่าจะเป็น www.

การเก็บ Password สำคัญไฉน

ช่วงที่ผ่านมามีคนตั้งคำถามมากมายเกี่ยวกับการเก็บรหัสผ่าน(Password) ของเว็บไซต์ต่างๆทั่วโลกรวมถึงประเทศไทยด้วย ว่าการเก็บเป็นแบบข้อความโดยไม่มีการเข้ารหัส (plain text) สมควรหรือไม่ บางคนก็ว่าเว็บไซต์ไม่ได้มีการทำธุรกรรมออนไลน์ใดๆ ไม่จำเป็นต้องเก็บแบบเข้ารหัสหรอก ไม่ต้องให้ความสำคัญหรือจริงจังอะไร แต่หารู้ไม่ว่าการเก็บข้อมูล password แบบไม่เข้ารหัสนั้นแฝงไปด้วยภัยอันตรายมากมาย

เว็บไซต์กับรูปแบบการเก็บ Password

ไม่ว่าจะเป็นเว็บไซต์ของบริษัทชื่อดังหรือไม่ก็ตาม ก็ยังพบเห็นได้ทั่วไปกับพฤติกรรมการเก็บ Password แบบที่ไม่เข้ารหัส โดยถึงแม้ว่าเว็บไซต์เหล่านั้นจะไม่มีการทำธุรกรรมออนไลน์แต่อย่างใด แต่กลับมีการระบุให้ผู้ใช้งานทั่วไปที่ต้องการสมัครสมาชิกของเว็บไซต์เหล่านั้นกรอกข้อมูลสำคัญของตนเองในแบบฟอร์มการสมัครสมาชิกด้วยเช่นกัน นั่นหมายความว่าเว็บไซต์เหล่านั้นก็จะเก็บข้อมูลสำคัญของผู้ใช้งานไว้พร้อมกับการเก็บ password แบบไม่เข้ารหัสไว้นั่นเอง

รูปภาพตัวอย่างเว็บไซต์ที่เก็บ password แบบไม่เข้ารหัส

โดยปกติเว็บไซต์ทั่วไปจะมีการเก็บ Password เป็น 3 แบบด้วยกันคือ

การเก็บข้อมูลแบบ plain text คือการเก็บ password แบบไม่มีการเข้ารหัสแต่อย่างใด
การเก็บข้อมูลแบบเข้ารหัส แต่สามารถถอดรหัสได้
การเก็บโดยใช้เป็นแบบ one-way hashing คือการเข้ารหัสแบบทางเดียว กล่าวคือเมื่อทำการเข้ารหัสไปแล้ว จะไม่สามารถทำกระบวนการย้อนกลับหรือถอดรหัส(decryption) ได้อีก

รูปภาพตัวอย่างการใช้งาน Hash function

นั่นหมายความว่าหากเราทดสอบด้วยการ “ลืม password (forgot password)” กับเว็บไซต์ใดๆ แล้วเว็บไซต์ส่ง email กลับมายังฝั่งผู้ใช้งานพร้อมกับ password ของผู้ใช้ นั่นหมายความว่าเว็บไซต์เหล่านั้นมีการเก็บ password เป็นแบบ 1, 2 แน่นอน และมักจะพบว่าเป็นแบบที่ 1 อีกด้วย

ภัยจากการเก็บ Password แบบไม่เข้ารหัส

ถ้ามองแบบผิวเผิน การเก็บ Password แบบไม่เข้ารหัสก็น่าจะไม่มีพิษมีภัยอะไร แต่จริงๆ แล้วมันทำให้เกิดภัยอันตรายต่างๆ ได้มากมายเช่น

การปลอมแปลงตัวตน(Impersonate Person) ในปัจจุบันการใช้งานเว็บไซต์ใดๆ จะมี username เปรียบเสมือนตัวแทนของเรา ไม่ว่าเราจะกระทำสิ่งใดก็แล้วแต่ในเว็บไซต์นั้นๆ เช่น การเขียนข้อความลงในกระทู้ภายในเว็บไซต์ การส่งข้อความให้กับผู้ใช้งานอื่น เป็นต้น เปรียบเสมือนเป็นการกระทำของตัวเราเอง โดยทางเว็บไซต์จะเก็บการกระทำต่างๆ จากผู้ใช้งานลง log file หากมีการเก็บ password เป็นแบบ plain text จะทำให้ผู้ดูแลเว็บไซต์หรือใครก็แล้วแต่ที่สามารถเข้าถึง database ที่เก็บ password นั้นๆ ได้ สามารถปลอมแปลงเป็นผู้ใช้งานใดๆ ก็ได้ ซึ่งอาจนำไปสู่กาสร้างสถานการณ์และโยนความผิดกับผู้ใช้งานใดๆ ก็เป็นได้
การได้มาซึ่งข้อมูลสำคัญของบุคคล(Internal Threat & Information Leak)
จากที่กลาวไปก่อนหน้านี้ว่า ยังมีเว็บไซต์หลายเว็บไซต์ที่ให้ผู้สมัครสมาชิกจำเป็นต้องกรอกข้อมูลสำคัญของผู้ใช้งานเช่น เลขประจำตัวประชาชน, ที่อยู่, เบอร์โทรศัพท์, วัน/เดือน/ปีเกิด เป็นต้น หากผู้ดูแลสามารถทราบถึง password ที่ไม่ได้เข้ารหัสของผู้ใช้งานได้ ก็อาจจะเข้าถึงข้อมูลสำคัญเหล่านี้ได้ และอาจนำข้อมูลสำคัญเหล่านี้ไปใช้ในทางที่ผิดต่อไปได้
การเข้าถึง account อื่นๆของผู้ใช้งาน (Using same password in multiple account)มีหลายท่านที่มีการใช้งาน username, password เหมือนๆกันในหลายๆเว็บไซต์ หรือในหลายๆ email account นั่นหมายความว่าหากเว็บไซต์หนึ่งในนั้นสามารถถูกเข้าถึง password ที่ไม่ได้เข้ารหัสไว้ได้ ไม่ว่าจะเกิดจากการถูกแฮ็ค หรือผู้ดูแลระบบเข้าถึงข้อมูลดังกล่าวเองก็ตามที ผู้ที่ได้ password นั้นไปก็จะสามารถเข้าถึง account ในเว็บไซต์อื่นๆที่มีความสำคัญของผู้ใช้งานได้ รวมถึงผู้ที่ได้ password อาจไปแก้ไข password ของผู้ใช้งานนั้นได้อีกด้วย
การหลอกล่อมาเพื่อให้ได้ password (Phishing with genuine website) *** หากมี Hacker สามารถเจาะเข้าไปในเว็บไซต์ชื่อดังที่มีชื่อเสียงแต่กลับเก็บ password เป็นแบบ plain text ได้ Hacker อาจพยายามหลอกล่อให้ผู้อื่นเข้ามาสมัครเว็บไซต์ชื่อดังดังกล่าว เพื่อหวังผลทางด้านโปรโมชั่นหรือรับข่าวสารใดๆก็แล้วแต่ เมื่อมีเหยื่อติดกับ Hacker ก็จะได้ทั้ง password ซึ่งอาจจะมีการใช้ร่วมกับเว็บไซต์อื่น, รวมถึงข้อมูลส่วนตัวที่สำคัญอื่นๆก็เป็นได้

*** อ้างอิงแนวคิดนี้จาก http://pantip.

แจ้งเตือนภัย ช่องโหว่ Heartbleed CVE-2014-0160

เมื่อวันที่ 7 เมษายน 2557 ที่ผ่านได้มีนักวิจัยทางด้านความปลอดภัยพบช่องโหว่ที่รุนแรงที่สุดตั้งแต่มีโลกของอินเตอร์เน็ตมา นั่นคือช่องโหว่ของ OpenSSL ที่ชื่อว่า Heartbleed ช่องโหว่ดังกล่าวกระทบกับเว็บไซด์และระบบชื่อดังต่างๆที่มีการใช้งาน OpenSSL ไม่ว่าจะเป็น Gmail, Yahoo mail, ผลิตภัณฑ์ของ Juniper, ผลิตภัณฑ์ของ CISCO และอื่นๆอีกมากมาย หากมองว่าผมกระทบความรุนแรงมีตั้งแต่ระดับ 1 – 10 ช่องโหว่นี้ถือว่ามีความรุนแรงในระดับ 11 เลยทีเดียว ช่องโหว่ดังกล่าวมีสิ่งที่ทำให้ระดับความรุนแรงสูงเนื่องด้วย 3 ประการ

แฮ็คเกอร์สามารถใช้ช่องโหว่ดังกล่าวในการขโมย username, password ของผู้ใช้งานเว็บไซด์ต่างๆได้ นั่นทำให้
แฮ็คเกอร์สามารถขโมย user/password ของผู้ใช้งานทั่วไปจากเว็บไซด์การให้บริการทางการเงินออนไลน์(Internet Banking) เพื่อทำการโอนเงินของเหยื่อเหล่านั้น
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของอุปกรณ์เครือข่ายต่างๆ(network device) เพื่อแก้ไขค่า config ใดๆของระบบได้(เช่น การเพิ่ม rule “Allow any any” เพื่อให้สามารถเข้าถึงเน็ตเวิร์คภายในได้ทั้งหมาดจากภายนอก)
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของเว็บไซด์ใดๆ จากนั้นแก้ไขค่า config ของเว็บไซด์นั้นๆ(เช่น การเพิ่ม user ของแฮ็คเกอร์เป็น admin ใหม่ของเว็บไซด์ เป็นต้น)
และยิ่งสำคัญไปกว่านั้น มีหลายๆคน(โดยเฉพาะ IT Admin)มักจะใช้ password เดียวกันในหลายๆ account.

แจ้งเตือนภัย ช่องโหว่ Heartbleed CVE-2014-0160

เมื่อวันที่ 7 เมษายน 2557 ที่ผ่านได้มีนักวิจัยทางด้านความปลอดภัยพบช่องโหว่ที่รุนแรงที่สุดตั้งแต่มีโลกของอินเตอร์เน็ตมา นั่นคือช่องโหว่ของ OpenSSL ที่ชื่อว่า Heartbleed ช่องโหว่ดังกล่าวกระทบกับเว็บไซด์และระบบชื่อดังต่างๆที่มีการใช้งาน OpenSSL ไม่ว่าจะเป็น Gmail, Yahoo mail, ผลิตภัณฑ์ของ Juniper, ผลิตภัณฑ์ของ CISCO และอื่นๆอีกมากมาย หากมองว่าผมกระทบความรุนแรงมีตั้งแต่ระดับ 1 – 10 ช่องโหว่นี้ถือว่ามีความรุนแรงในระดับ 11 เลยทีเดียว ช่องโหว่ดังกล่าวมีสิ่งที่ทำให้ระดับความรุนแรงสูงเนื่องด้วย 3 ประการ

แฮ็คเกอร์สามารถใช้ช่องโหว่ดังกล่าวในการขโมย username, password ของผู้ใช้งานเว็บไซด์ต่างๆได้ นั่นทำให้
แฮ็คเกอร์สามารถขโมย user/password ของผู้ใช้งานทั่วไปจากเว็บไซด์การให้บริการทางการเงินออนไลน์(Internet Banking) เพื่อทำการโอนเงินของเหยื่อเหล่านั้น
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของอุปกรณ์เครือข่ายต่างๆ(network device) เพื่อแก้ไขค่า config ใดๆของระบบได้(เช่น การเพิ่ม rule “Allow any any” เพื่อให้สามารถเข้าถึงเน็ตเวิร์คภายในได้ทั้งหมาดจากภายนอก)
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของเว็บไซด์ใดๆ จากนั้นแก้ไขค่า config ของเว็บไซด์นั้นๆ(เช่น การเพิ่ม user ของแฮ็คเกอร์เป็น admin ใหม่ของเว็บไซด์ เป็นต้น)
และยิ่งสำคัญไปกว่านั้น มีหลายๆคน(โดยเฉพาะ IT Admin)มักจะใช้ password เดียวกันในหลายๆ account.

แจ้งเตือนภัย ช่องโหว่ Heartbleed CVE-2014-0160

เมื่อวันที่ 7 เมษายน 2557 ที่ผ่านได้มีนักวิจัยทางด้านความปลอดภัยพบช่องโหว่ที่รุนแรงที่สุดตั้งแต่มีโลกของอินเตอร์เน็ตมา นั่นคือช่องโหว่ของ OpenSSL ที่ชื่อว่า Heartbleed ช่องโหว่ดังกล่าวกระทบกับเว็บไซด์และระบบชื่อดังต่างๆที่มีการใช้งาน OpenSSL ไม่ว่าจะเป็น Gmail, Yahoo mail, ผลิตภัณฑ์ของ Juniper, ผลิตภัณฑ์ของ CISCO และอื่นๆอีกมากมาย หากมองว่าผมกระทบความรุนแรงมีตั้งแต่ระดับ 1 – 10 ช่องโหว่นี้ถือว่ามีความรุนแรงในระดับ 11 เลยทีเดียว ช่องโหว่ดังกล่าวมีสิ่งที่ทำให้ระดับความรุนแรงสูงเนื่องด้วย 3 ประการ

แฮ็คเกอร์สามารถใช้ช่องโหว่ดังกล่าวในการขโมย username, password ของผู้ใช้งานเว็บไซด์ต่างๆได้ นั่นทำให้
แฮ็คเกอร์สามารถขโมย user/password ของผู้ใช้งานทั่วไปจากเว็บไซด์การให้บริการทางการเงินออนไลน์(Internet Banking) เพื่อทำการโอนเงินของเหยื่อเหล่านั้น
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของอุปกรณ์เครือข่ายต่างๆ(network device) เพื่อแก้ไขค่า config ใดๆของระบบได้(เช่น การเพิ่ม rule “Allow any any” เพื่อให้สามารถเข้าถึงเน็ตเวิร์คภายในได้ทั้งหมาดจากภายนอก)
แฮ็คเกอร์สามารถขโมย user/password ของผู้ดูแลของเว็บไซด์ใดๆ จากนั้นแก้ไขค่า config ของเว็บไซด์นั้นๆ(เช่น การเพิ่ม user ของแฮ็คเกอร์เป็น admin ใหม่ของเว็บไซด์ เป็นต้น)
และยิ่งสำคัญไปกว่านั้น มีหลายๆคน(โดยเฉพาะ IT Admin)มักจะใช้ password เดียวกันในหลายๆ account.

เมื่อ SOC ต้องพัฒนาก้าวตามภัยคุกคามให้ทัน

เราทราบกันดีว่าภัยคุกคามมีการเพิ่มมากขึ้นทุกๆวัน มีการคิดค้นวิธีการโจมตีใหม่ๆมากมาย ไม่ว่าจะเป็นการ Obfuscation ในรูปแบบต่างๆ, Advance Persistent Threat และอื่นๆอีกมากมาย ทำให้เหล่าผู้ที่ทำงานอยู่ในศูนย์ระวังภัยคุกคามต่างๆ (Security Operations Center: SOC) ต้องปวดหัวที่จะปรับตัวตามอยู่เสมอ จึงเกิดแนวคิดพัฒนา SOC แบบใหม่ที่ชื่อว่า Next Generation SOC หรือ Security Operations Function (SOF) ขึ้นมาแทน

SOC คืออะไร

SOC คือศูนย์เฝ้าระวังภัยคุกคามต่างๆจากช่องทางต่างๆ ไม่ว่าจะเป็น Network and System Monitoring, Security Monitoring, Log Management, Physical Security Management, Vulnerability Management โดยปกติจะเป็นการใช้งานและวิเคราะห์ด้วยเทคโนโลยีที่ชื่อว่า SIEM(Security Information Event Management) เป็นหลัก โดย SIEM นั้นจะทำหน้าที่ค้นหาภัยคุกคามต่างๆจากการนำ Log ของอุปกรณ์ทางด้าน Network และ Security ต่างๆเข้าด้วยกัน เช่น IDS, IPS, Firewall, Switch, WAF และอื่นๆอีกมากมาย มาหา event ที่มีความสัมพันธ์ร่วมกันที่คาดว่าน่าจะเป็นภัยคุกคาม เช่น ที่ Firewall เห็น traffic การใช้งาน port 22 เป็นจำนวนมาก ประกอบกับมี log จากเครื่องปลายทาง port 22 ดังกล่าวว่ามีการ login failed จำนวนมากเช่นกัน บ่งบอกว่า มีการโจมตีที่เป็นการเดาสุ่ม password เพื่อจะ login เข้าสู่ระบบ(Brute Forcing) อยู่ เป็นต้น ซึ่งเหตุที่เป็นการโจมตีเหล่านั้นจะถูกเรียกว่า incident เมื่อ SIEM ตรวจพบ incident ใดๆ ก็จะมีการแจ้งเตือนไปยังผู้ปฎิบัติงานทางด้านความปลอดภัย(Security Operator) อีกที เมื่อ Security Operator ได้รับ alert จาก SIEM ก็จะทำตาม Incident Response Plan ซึ่งเป็นขั้นตอนการแจ้งเตือนหรือการกระทำใดๆกับ incident นั้นๆอีกทีหนึ่ง

SOC แตกต่างจาก SOF อย่างไร

จากที่เราทราบกันแล้วว่า SOC จะมีการใช้งาน SIEM เป็นหลัก โดยจำเป็นต้องมีการนำข้อมูลของอุปกรณ์ต่างๆมาร่วมกันและใช้งาน Rule ต่างๆของ SIEM ในการแจ้งเตือนแบบ Real-Time ซึ่งแต่ก่อน SOC จะถูกใช้กับศูนย์เฝ้าระวังภัยคุกคามขนาดใหญ่ในจุดๆเดียว แต่ในปัจจุบัน SOC ย้ายไปในส่วนที่ทำงานได้หลากหลายมากขึ้นสามารถกระจาย SOC ไปในจุดต่างๆขององค์กร แล้วนำข้อมูลเหล่านั้นมาประมวลผลร่วมกันได้ นั่นคือที่มาของ SOF นั่นเอง โดยจากแต่ก่อนเราอาจจะต้องมี SOC ไว้ภายในองค์กร จะเปลี่ยนเป็นการนำ SOC ไปไว้ภายนอกแทนรวมถึงการส่งข้อมูลขององค์กรเข้า SOC เหล่านั้นที่อยู่ภายนอกองค์กรอีกด้วย สิ่งเหล่านั้นทำให้เราจำเป็นต้องพึ่งอุปกรณ์ต่างๆมากขึ้น อีกทั้ง SOC ยังจำเป็นต้องมีข้อตกลง (Service-Level Agreement:SLA) ที่เหมาะสมแต่ละองค์กรที่คอยเฝ้าระวังให้ด้วย รวมถึง SOC เหล่านั้นจำเป็นต้องมีความเข้าใจของ Information Security อย่างถ่องแท้ เข้าใจถึงความคิดของเหล่าผู้ที่หวังจะโจมตีองค์กรที่ดูแลอยู่ ผู้โจมตีไม่ได้มองที่การโจมตีผ่านระบบขององค์กรเสมอไป ภัยคุกคามในปัจจุบันมีการโจมตีไปที่บุคคลที่สำคัญกับองค์กรและครอบครัวของบุคคลที่เป็นเป้าหมายเหล่านั้นมากขึ้นอีกด้วย เนื่องด้วยคนภายในครอบครัวขององค์กรอาจไม่มีความตระหนักต่อภัยคุกคามมากพอ ส่งผลให้บุคคลในครอบครัวเหล่านั้นกลายเป็นช่องทางหนึ่งในการโจมตีจนเข้าถึงเครื่องของบุคคลสำคัญขององค์กรได้ SOC จึงจำเป็นอาจจะต้องมีการติดตั้ง Sensors ที่คอยเฝ้าระวังภายใน Network ของบุคคลที่ตกเป็นเป้าหมายอีกด้วย

SOF จะไม่เพียงแค่คอยดูหรือคิดวิเคราะห์ภัยคุกคามที่จะเกิดขึ้นเท่านั้น SOF ยังคงคิดถึงความเป็นการป้องกันความปลอดภัยขององค์กรอย่างแท้จริง โดยการคอยสอดส่องการใช้งานสิทธิ์ที่ไม่ถูกต้องและการตรวจสอบสิทธิ์ที่ควรจะเป็นของพนักงานหรือบุคคลใดๆอีกด้วย (Identity Access & Entitlement Reviews) และการออกแบบ Network ขององค์กรให้ออกมาเหมาะสมกับความปลอดภัยหรือการคอยเฝ้าระวัง(Monitoring) อีกด้วย ซึ่งสิ่งเหล่านั้นจะเป็นส่วนที่ทาง SOF จะเข้ามาร่วมกับพนักงานภายในองค์กรเพื่อออกแบบโครงสร้างสิทธิ์ของพนักงานให้ออกมาได้อย่างเหมาะสม และสิ่งสุดท้ายที่ SOF เพิ่มเข้ามาคือทีมที่คอยทำการวิเคราะห์ Malware (Malware Analysis), Forensics, และการวิเคราะห์ภัยคุกคามใหม่ๆ เพื่อให้ SOF มีประสิทธิภาพในการเผชิญหน้าต่อภัยคุกคามใหม่ๆที่จะเกิดขึ้นอยู่ทุกๆวินาทีนั่นเอง

สิ่งที่จะทำให้เกิด SOF ได้

แน่นอนปัจจัยการทำ SOF คงไม่ต่างจาก SOC คือประกอบด้วย People, Technology, Process นั่นเอง โดยการจะทำให้ถึงจุดที่เรียกว่า SOF ได้แต่ละองค์ประกอบจำเป็นต้องมีลักษณะดังนี้

Technology
SIEM จำเป็นต้องมีระบบเก็บ Log แบบรวมศูนย์และการหาความสัมพันธ์อย่างมีประสิทธิภาพ
จำเป็นต้องมีการ Block malware ขาเข้าที่ครอบคลุมทั้งทาง email และ web
มีการ block Application ที่ไม่ถูกตามกฎ Policyขององค์กรและ Anti-Virus ในเครื่องของ Endpoint
มีการใช้อุปกรณ์ป้องกันความเสี่ยงที่เป็นมาตรฐานเพื่อให้สามารถทำงานร่วมกับส่วนอื่นๆขององค์กรได้อย่างง่าย
และสุดท้ายคือการเพิ่มในส่วนการทำงานต่างๆด้วย software เพื่อให้ได้ถึงมาตรฐานการทำงานต่างๆและตามธุรกิจที่ควรมี (Compliance ต่างๆ)

People
คนที่ทำงานจำเป็นต้องมีความเป็นผู้นำ
คนที่มีความเชี่ยวชาญใน network และ application security
คนที่มีความเชี่ยวชาญในการบริหารความเสี่ยง(risk management) และ security Policy
คนที่มีความเชี่ยวชาญในการทำ Malware Analysis และ Forensic
หลังจากที่มีบุคคลเหล่านั้นแล้วเราจะสามารถสร้างทีมที่ทำตามเป้าหมายและจุดประสงค์ของลูกค้าได้ ด้วยความหลากหลายของทีมที่เรามี

Process
ทำทุกอย่างให้เป็นแบบออโต้ให้มากที่สุดเท่าที่จะเป็นไปได้ เพื่อให้คนทำงานสามารถเฝ้าระวังภัยคุกคามใหม่หรือเรียนรู้เพิ่มเติมได้เสมอ
ต้องมีกฎและขั้นตอนในการควบคุมการเปลี่ยนแปลงของระบบ(change control), incident response, alerting และการทำ Report ที่ชัดเจน เพื่อให้สามารถทำงานได้อย่างมีระบบ
มีการรวบรวมสถิติการทำงานต่างๆ
มีการพยายามลดเวลาที่ใช้ในการตรวจจับ(detection), การควบคุมเหตุ(containment) และการแก้ไขระบบ(remediation) ให้เหลือน้อยลง
และสุดท้ายคือการให้พนักงานเข้าใจถึงภัยจริงๆ(real threats)ที่มีต่อองค์กรของเราว่าคืออะไร

บทสรุป

หลักการของ SOF นั้น MSSP ในหลายๆที่ทั่วโลกได้เริ่มทำขึ้นมาแล้ว ในไทยก็มีเช่นกัน แน่นอนว่าการทำงานแบบ SOF สร้างมาเพื่อต่อกรกับภัยคุกคามต่างๆ ซึ่ทำให้ศูนย์เฝ้าระวังภัยคุกคามต่างๆสามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้น ตรวจจับและป้องกันเหตุร้ายต่างๆที่เกิดได้ดีขึ้น แต่แน่นอนว่าทางฝั่งผู้โจมตีก็ยังไม่หยุดพัฒนาเช่นกัน ดังนั้นเหล่าผู้ที่เป็นผู้เชี่ยวชาญทางด้านความปลอดภัยคงไม่มีเวลาให้หยุดพักหายใจ ยังจำเป็นต้องพัฒนาอย่างต่อเนื่อง เพื่อให้องค์กรมีความปลอดสูงที่สุดเท่าที่จะเป็นไปได้นั่นเอง

For more information, please contact: +662-615-7005 or contact@i-secure.

เมื่อ Antivirus พ่ายแพ้ให้กับ Malware

หลังจากการติดตั้งระบบปฎิบัติการใดๆก็แล้วแต่ เรามักจะติดตั้ง Antivirus ต่อทันที เนื่องด้วยภัยอันตรายในการใช้งานอินเตอร์เน็ต และถือว่าเป็นหลักพื้นฐานทั่วไปในการติดตั้งเครื่องคอมพิวเตอร์ตามบ้านไปเสียแล้ว แต่คนทั่วไปหารู้ไม่ว่าการกระทำเหล่านั้นไม่ได้ช่วยอะไรเลย หากเราไม่มีวินัยหรือการระแวดระวังภัยอันตรายต่างๆที่เข้ามาทางอินเตอร์เน็ตมากพอ ที่ผมกำลังจะพูดถึงคือการที่เราติด Malware (ไวรัส, เวิร์ม, แรมซั่มแวร์, backdoor และอื่นๆ) ได้ แม้ว่าเครื่องเราจะติดตั้ง Antivirus แบบอัพเดตล่าสุดแล้วก็ตามที

การเติบโตของ Malware ที่มากขึ้น

หากพูดถึง Malware แน่นอนว่าต้องมุ่งเป้าไปโจมตีคนใช้งาน Windows ก่อนแน่นอน จากผลการวิจัยของผู้ผลิต Antivirus ทุกเจ้าเป็นไปในแนวทางเดียวกันคือมีการพบ Malware สูงขึ้นอย่างน่าตกใจในปี 2013-2014

รูปภาพจำนวนไวรัสที่เพิ่มขึ้นในแต่ละปีจากเว็บไซด์ AV-TEST

แต่หลายๆคนที่ใช้ Mac, Linux ก็อย่านิ่งนอนใจไป เพราะ Malware บนระบบ Mac, Linux นั้นก็มีอัตราที่เพิ่มขึ้นอย่างต่อเนื่องเช่นกัน โดยในช่วงปี 2013 พบว่ามีเครื่อง Mac OS X ติดไวรัสที่ชื่อว่า Flashback จำนวนมากถึง 700,000 เครื่องเลยทีเดียว ทีนี้จากกราฟด้านบนหากเราเจาะลึกลงไปเฉพาะไวรัสตัวใหม่ ก็พบว่า Malware ชนิดใหม่ๆมีการเติบโตอย่างน่ากลัวมาก

จำนวนไวรัสชนิดใหม่หรือชื่อใหม่ในแต่ละปีจากเว็บไซด์ AV-TEST

ทั้งนี้เป็นเพราะวิวัฒนาการในการสร้าง Malware นั้นง่ายขึ้นมาก ไม่ว่าจะเป็นจากการสอนการเขียนโปรแกรมทางด้าน hackingที่แพร่หลายมากขึ้น, การตรวจพบเครื่องมือสำหรับสร้าง malware แบบอัตโนมัติอย่างมากมาย, การให้บริการสร้าง malware ให้ (Malware as a service) ซึ่งได้ความนิยมเป็นอย่างมาก และอื่นๆอีกมากมาย ส่งผลให้บุคคลทั่วไปที่ไม่มีความรู้ทางด้านการเขียนโปรแกรมใดๆ ก็สามารถหาหรือสร้าง malware ด้วยตัวเองได้ไม่ยาก

รูปภาพตัวอย่างการเขียน keylogger ที่ NOD32 และ McAfee อัพเดตล่าสุดแต่ไม่สามารถตรวจจับได้

Malware-as-a-Service (MaaS) เครื่องมือที่ทำให้คนธรรมดากลายเป็น Cyber Criminal ได้

โดยปกติคนทั่วไปมักมองว่าการจะสร้าง malware ซักตัวนั้นยากและใช้เงินลงทุนสำหรับการสร้างสูง จึงได้มีแฮ็คเกอร์หัวใสที่ต้องการหาเงินจากการสร้างหรือขาย malware ให้กับคนทั่วไปขึ้นมา ซึ่งบริการนี้ถูกเรียกว่า “Makware as a service” นั่นเอง

Malware-as-a-Service มีความคล้ายคลึงกับ Software-as-a-Service(SaaS) โดย MaaS จะให้บริการในการสร้างและควบคุม malware รวมถึงการขาย malware ที่อยู่ในครอบครองของแฮ็คเกอร์ให้กับบุคคลทั่วไปใช้งาน แต่ SaaS จะเป็นการให้บริการการใช้งาน software ให้กับคนทั่วไปแทน โดยการทำงานของ MaaS มักจะมีการ support แบบ 24 x 7 ในการปรับปรุง malware ให้มีประสิทธิภาพและการตรวจจับได้ยากมากขึ้น พร้อมทั้งมีการให้คำปรึกษาในการใช้งาน malware ในรูปแบบต่างๆอีกด้วย

รูปภาพตัวอย่างส่วนควบคุม malware ของบริการแบบ Malware as a service

รูปภาพการสร้าง malware ด้วยตนเอง

บริการแบบนี้เป็นตัวผลักดันทำให้เครื่องโดนโจมตีด้วย malware ต่างๆมากขึ้น อีกทั้งยังทำให้ Antivirus วิวัฒนาการตามไม่ทันส่งผลให้พบว่า Antivirus สามารถตรวจจับ malware ได้ยากยิ่งขึ้น

Antivirus ตาม Malware ไม่ทัน

จากที่กล่าวไปแล้วว่ามีปัจจัยหลายๆอย่างที่ทำให้คนทั่วไปสามารถครอบครองและสร้าง Malware ได้ง่ายมากขึ้นและในแนวทางแต่ละแบบนั้นทำให้เหล่าผู้ผลิต Antivirus ต้องปวดหัวในการตรวจจับมากขึ้น เมื่อพบว่ามีการพยายามเปลี่ยนแปลงรูปแบบ code ของ malware ต่างๆให้สามารถตรวจจับได้ยากมากขึ้น(Obfuscation) โดย RedSocks Malware Research Labs ได้ทำการวิจัย Trend ของ Malware ในช่วงต้นปี 2014 ที่ผ่านมาด้วยการรับ,ค้นหา,ทดสอบ,ซื้อ malware ต่างๆมามากมาย อีกทั้งยังได้มีการแลกเปลี่ยนกับบริษัท Antivirus ต่างๆเพื่อทำงานวิจัยประสิทธิภาพการตรวจจับ Malware ขึ้น

รูปภาพ malware ที่ตรวจพบทั้ง 3 เดือนแรกของปี 2014

จากจำนวน Malware ที่ทำสถิติและรวบรวมมา เมื่อนำมาตรวจสอบโดยใช้ Antivirus หลายๆชนิดพบว่าตรวจจับได้เพียง 70.62% ในเดือนมกราคม พอมาถึงเดือนกุมภาพันธ์แย่ยิ่งกว่าคือมีเพียง 64.77% เท่านั้น และเดือนมีนาคมสามารถตรวจจับได้ที่ 73.56%

รูปภาพรายละเอียดการทดสอบการตรวจจับ malware ด้วย Antivirus ในแต่ละวัน

อีกทั้งจากการวิจัยของทาง Lastline Labs พบข้อมูลที่น่าสนใจดังนี้

ในวันแรกที่มีการพบ malware, มี Antivirus เพียง 51% เท่านั้นที่สามารถตรวจจับตัวอย่าง malware นั้นได้
หาก Antivirus ไม่สามารถตรวจจับ malware นั้นได้ในวันแรก ต้องใช้เวลาอย่างน้อย 1 วัน(โดยเฉลี่ยประมาณ 2 วัน)ในการตรวจจับ malware นั้น
อัตราการตรวจจับจะมากขึ้นถึง 61% หลังจากพบ malware นั้นประมาณ 2 อาทิตย์ โดยเกิดจาก Signature Antivirus นั้นไม่สามารถสร้างตามได้ทัน
ในหนึ่งปี ไม่มี Antivirus ตัวไหนเลยที่สามารถตรวจจับ Antivirus ได้ทุกตัวในวันแรก
หลังจากผ่านไป 1 ปี ยังคงมี Antivirus ไม่สามารถตรวจจับ malware ได้ถึง 10%
มี Malware ประมาณ 1% ที่น่าจะตรวจจับได้ด้วย Antivirus เจ้ายักษ์ใหญ่แต่กลับไม่สามารถตรวจจับได้ และในบางตัวไม่เคยถูกตรวจจับได้เลย

“หาก Security อยู่ที่ใจ ใยต้องพึ่ง Antivirus”

จากที่กล่าวมาทั้งหมดจะพบว่า Antivirus ไม่ใช่เครื่องมือที่เราไว้วางใจได้ตลอดไป ดังนั้นสิ่งที่เราน่าจะทำได้ดีที่สุดคือการพึ่งตนเอง ซึ่งเป็นการปลอดภัยที่สุด หากเราพยายามปฎิบัติตนให้เป็นไปดังนี้

ไม่คลิ๊ก link ใดๆที่ดูแล้วน่าสงสัยสิ่งที่น่าสงสัยที่กล่าวถึงเป็นอะไรที่เราต่างมีวิจารณญาณแตกต่างกันไป แต่ให้คิดไว้เสมอว่าเราอาจจะเจอเว็บไซด์ที่เป็น malware ได้เสมอ โดยส่วนใหญ่ link เหล่านั้นจะเป็น link ที่เกี่ยวกับ video ที่ดูน่าตกใจ, เรื่องเพศ, เรื่องแฮ็ค social media อย่าง Facebook เป็นต้น หากพบเจอ link เหล่านั้นอย่ากดโดยเด็ดขาด และข้อสังเกตุง่ายๆคือ ถ้าเพื่อนเราที่คุยภาษาไทยอยู่เสมอ แต่กลับส่ง link ภาษาอังกฤษมาให้เรากับเพื่อนๆหลายๆคน ให้คิดไว้ก่อนเลยว่า link นั้นอาจเป็น link อันตรายก็เป็นได้รูปภาพตัวอย่าง malicious link
ติดตั้ง Addon ที่ทำให้ปลอดภัยมากขึ้นใน Browser อย่าง Chrome และ Firefox มีตัวช่วยที่ทำให้เราปลอดภัยจาก malicious website หลายตัวด้วยกัน โดยผมแนะนำดังนี้
Update เครื่องและ Antivirus อยู่เสมอในส่วนนี้เป็นส่วนที่ขาดไปไม่ได้เลยทีเดียว เราจำเป็นต้อง update OS ทั้ง Windows, Linux, Mac OS X อยู่เสมอ เพื่อให้เครื่องของเรามีช่องโหว่น้อยที่สุดเท่าที่เป็นไปได้ ในส่วนของ Antivirus แม้ว่าเราอาจจะเชื่อใจไม่ได้ 100% แต่ Antivirus ก็ยังสามารถตรวจจับ Malware ทั่วไปได้ ดังนั้นก็ควรจะอัพเดตไว้อยู่เสมอเช่นกัน มีไว้ดีกว่าไม่มีครับ
ตรวจสอบการใช้งาน USB อยู่เสมอแม้ว่าเราจะมีพฤติกรรมการใช้งานที่ดีเพียงใด แต่อุปกรณ์ที่นำมาเชื่อมต่อกับเราอย่าง USB Drive ก็ยังเป็นของผู้อื่นอยู่ดี เรามีสิทธิ์ที่จะถูกโจมตีจาก malware ต่างๆได้ผ่านทาง USB Drive ดังนั้นควรมีการตรวจสอบ USB Drive ทุกครั้งที่นำมาต่อกับเครื่องเราครับ
ไม่ควรใช้งานซอฟแวร์เถื่อนการใช้ซอฟแวร์เถื่อนไม่ว่าจะเป็น keygen, crack และโปรแกรมโกงเกมส์ต่างๆ มีความเป็นไปได้สูงที่จะมี malware แฝงมาด้วย ลองคิดดูว่าผู้พัฒนาถึงขนาดสามารถทำโปรแกรมเหล่านั้นขึนมาได้ มีหรือที่เค้าจะไม่คิดหาประโยชน์จากโปรแกรมเหล่านั้น มีหลายครั้งที่ผู้ทเป็นโปรแกรมเถื่อนบอกให้ปิด Antivirus ก่อนถึงรัน หรือหาก Antivirus เตือนขึ้นมาให้ปิดทิ้งเพราะว่าโปรแกรมป้องกันการ crack นั้น เป็นการหลอกลวงทั้งสิ้น การให้ปิด Antivirus เพื่อให้โปรแกรมเหล่านั้นสามารถแทรกตัวไปอยู่ในเครื่องของผู้ใช้งานเสียมากกว่า ดังนั้นไม่ว่ายังไงก็ไม่แนะนำให้ใช้งานโปรแกรมเถื่อนเหล่านั้นครับ

จริงๆแล้วยังมีวิธีการอีกหลายอย่างสำหรับการป้องกันตนเองไม่ให้ตกเป็นเหยื่อ malware ต่างๆ ไม่ว่าจะเป็นการใช้ Firewall ในการป้องกันการเข้าถึง, การเปิด service เฉพาะที่จำเป็นภายในเครื่อง, การใช้งาน browser ในโปรแกรม Sandbox และอื่นๆอีกมากมาย แต่อาจจะลงลึกเกินไป จึงไม่ได้นำมาไว้ในบทความนี้ด้วยครับ

บทสรุป

การเติบโตของ Malware นั้นน่ากลัวขึ้นทุกวัน ทำให้เราจำเป็นต้องมีความคิดวิเคราะห์การใช้งานคอมพิวเตอร์มากขึ้น และแม้ว่าการใช้งานด้วยความระแวดระวังจะเป็นส่วนที่ทำให้เราปลอดภัยมากที่สุด แต่ก็ไม่ใช่ว่าจะทำให้เราปลอดภัยได้ 100% เราจำเป็นต้องลดโอกาสที่ทำให้เราอาจโดน Malware โจมตีให้ได้มากที่สุดเท่าที่จะเป็นไปได้มนุษย์เราสามารถผิดพลาดได้เสมอ เราอาจจะติดไวรัสจากการผิดพลาดเพียงครั้งเดียวก็เป็นไปได้ ดังนั้นสิ่งที่ควรจะทำก็คือการไม่เชื่อมั่นในตนเองเกินไป ยังไงก็ยังคงแนะนำให้มีการติดตั้ง Antivirus เพื่อลดโอกาสเสี่ยงลงให้มากที่สุดเท่าที่จะเป็นไปได้ครับ

For more information, please contact: +662-615-7005 or contact@i-secure.

WordPress ถูกใช้เป็นเครื่อง DDoS Attack จาก Pingback (XMLRPC) Feature

จากกรณีที่เว็บไซด์ wordpress จำนวนถึง 160000 เว็บไซด์ ถูกนำไปใช้เป็นเครื่องมือ DDoS ได้ เนื่องจาก pingback,trackbacks, remote access จากมือถือ ล้วนแต่เป็น feature ซึ่งทำงานด้วย xmlrpc ทั้งสิ้น

โดยเมื่อดูจากเว็บไซด์ที่ถูกโจมตีจะพบ request ดังนี้

74.86.132.186 - - [09/Mar/2014:11:05:27 -0400] "GET /?4137049=6431829 HTTP/1.0" 403 0 "-" "WordPress/3.8; http://www.

Update HTTP/1.1 (07/06/2014)

เมื่อวันที่ 7 มิถุนายน 2557 ที่ผ่านมา IEFT (Internet Engineering Task Force) ที่เป็นหน่วยงานที่รับผิดชอบมาตรฐาน RFC ต่างๆ ได้มีการประกาศ RFC ใหม่จำนวนมาก ซึ่งเป็นการแก้ไขการทำงานเดิมของ RFC2616 ซึ่งเป็นหลักการและมาตรฐานการทำงานของ HTTP/1.1 ครับ เนื่องด้วย RFC2616 ถูกสร้างและจัดทำมาตั้งแต่ปี 1999 ซึ่งแต่ก่อนการใช้งานของ HTTP ยังไม่หลากหลายและพลิกแพลงเฉกเช่นปัจจุบัน(เช่น AJAX, HTML5 เป็นต้น) จึงทำให้จำเป็นต้องมีการปรับปรุงและสร้าง RFC ขึ้นมาใหม่เพื่อให้เหมาะสมกับการใช้งานในปัจจุบัน โดย RFC ที่ถูกประกาศขึ้นมาใหม่มีดังนี้

RFC 7230: Message Syntax and Routing สำหรับการแปลความและการจัดการ connection
RFC 7231: Semantics and Content HTTP Method และ Response Code ต่างๆ
RFC 7232: Conditional Requests สำหรับการจัดการ HTTP ในรูปแบบต่างๆตามการใช้งาน Header
RFC 7233: Range Request สำหรับการใช้งาน HTTP Request แบบแบ่งเป็นส่วนๆ(Partitioning)
RFC 7234: Caching สำหรับการจัดการ Caching ใน Browser หรือสื่อกลางต่างๆ
RFC 7235: Authentication สำหรับรายละเอียดการใช้งาน HTTP Authentication
RFC 7236: Authentication Scheme Registrations สำหรับรายละเอียดการเข้าใช้งาน HTTP แบบข้าม Application ต่างๆเช่น การใช้งาน OAuth, Digest เป็นต้น โดยจะอ้างอิงกับ RFC ตัวอื่นๆ
RFC 7237: Method Registrations เป็นเกี่ยวกับความหมายของ Method ต่างๆที่มีการเพิ่มเข้ามาครับ
RFC 7238: the 308 status code สำหรับอธิบายรายละเอียด Response Code 308(Permanent Redirect)
RFC 7239: Forwarded HTTP extension สำหรับอธิบายการทำงานของการเปิดเผยข้อมูล client ที่เข้าใช้งานเว็บไซด์ผ่าน Proxy ทั้งหมด

โดยความแตกต่างระหว่าง HTTP/1.1 ของเก่ากับ HTTP/1.1 สามารถสรุปได้ดังนี้

แก้ไขเรื่องการ inject “ ” หรือการขึ้นบรรทัดใหม่แปลกๆเพื่อป้องกันการโจมตี HTTP Response Splitting
การ limit 2 connection ต่อ server ได้ถูกเอาออกไป
HTTP/0.9 ได้ถูกยกเลิก
Charset ISO-8859-1 ได้ถูกยกเลิก
Server ไม่จำเป็นต้องจัดการทุกๆ Header ที่ขึ้นต้นด้วย Content-* อีกต่อไป
ไม่มีการอนุญาตใช้งาน Content-Range ร่วมกับ PUT Method
เสนอการกำหนดค่า Referrer เป็น about:blank เมื่อไม่มี Referrer Header ปรากฎ เพื่อให้เห็นความแตกต่างระหว่างการที่ “ไม่มี Referrer” และ “เราไม่ต้องการส่ง Referrer ไปให้”
เราสามารถ cache การ Response ที่มี Response Code จำพวก 204,404,405,414 และ 501ได้
Status Code 301, 302 เปลี่ยนไป กลายเป็นอนุญาตให้ user agent เปลี่ยน Method จาก POST ไปเป็น GET ได้
Location Header สามารถเก็บค่า URI ที่เกี่ยวข้องได้เหมือนกับตัวบอกลักษณะที่แยกออกมาได้(Fragment Identifiers)
ยกเลิกการใช้งาน Content-MD5 Header

บทสรุป

เนื่องด้วยรายละเอียดของ RFC ใหม่แต่ละ RFC มีเนื้อหาค่อนข้างเยอะ จึงแนะนำให้ผู้ที่ต้องการเนื้อหาอย่างละเอียดและครบถ้วนควรเข้าไปดูรายละเอียดของ RFC แต่ละ RFC ได้เลยครับ โดยในบทความนี้จะสรุปความแตกต่างระหว่าง HTTP/1.1 ของเก่ากับ HTTP/1.1 ของใหม่ที่ถูกปรับปรุงเท่านั้น และสำหรับ HTTP/2.0 ก็ยังคงต้องรอต่อไป เพราะตอนนี้ยังอยู่ในขั้นตอนการพัฒนาต่อไปครับ

For more information, please contact: +662-615-7005 or contact@i-secure.

Tor สวรรค์ของเหล่าอาชญากรรมออนไลน์

สงคราม Cyber นับวันยิ่งทวีความรุนแรง ประโยชน์ของอินเทอร์เน็ตก็ยังคงเป็นสิ่งที่แฮ็คเกอร์พยายามขวนขวายหาผลประโยชน์อยู่เสมอ แต่นับวันระบบตรวจจับการโจมตีและการพยายามจับตัวผู้กระทำผิดนั้นก็ก้าวหน้าขึ้นทุกวัน อีกทั้งการวิเคราะห์มัลแวร์ (Malware) ต่างๆก็สามารถทำได้ง่ายขึ้น แฮ็คเกอร์จึงหาวิธีหลบเลี่ยงการตรวจจับหรือการตามตัวแฮ็คเกอร์ด้วยการเข้ารหัสข้อมูล (encryption) ซึ่งนั่นก็คือการนำไปสู่โลกแห่งเครือข่ายเข้ารหัสที่ชื่อว่า Tor Network นั่นเอง

Tor คืออะไร

แรกเริ่ม Tor ถูกออกแบบ, ใช้งานเป็น Onion Routing Project รุ่นที่ 3 ของกองทัพเรือสหรัฐ โดย Onion Routing Program เป็นโปรเจคที่ค้นคว้าวิจัย, ออกแบบ, วิเคราะห์เครือข่ายแบบไร้ตัวตน(Anonymous Communication Systems) เจาะจงไปยังการใช้งานอินเตอร์เน็ตโดยมีคุณสมบัติสามารถป้องกันการวิเคราะห์ traffic และการดักฟังข้อมูล รวมถึงการโจมตีใดๆจากบุคคลภายนอก(เช่น internet router เป็นต้น)และบุคคลภายในด้วย(เช่น Onion Routing Server เป็นต้น) โดยการพัฒนางานวิจัยนี้ทำเพื่อป้องกันเครือข่ายการสื่อสารของรัฐบาลนั่นเอง แต่ในปัจจุบัน Tor ถูกใช้กันอย่างแพร่หลายทั้งจากคนทั่วไป นักข่าว ผู้ประท้วงและอื่นๆอีกมากมาย

Tor เป็นเครือข่ายสำหรับการทำ virtual tunnel ที่ทำให้คนทั่วไปมีความปลอดภัยและความเป็นส่วนตัวในการใช้งานอินเตอร์เน็ต นักพัฒนาโปรแกรมที่จะพัฒนาโปแกรมสำหรับการสื่อสารใดๆ (Network Communication) ไม่จำเป็นต้องเขียนโค้ดแต่อย่างใดก็สามารถเพิ่มความปลอดภัยในการสื่อสารให้กับโปรแกรมได้ เพียงแค่โปรแกรมนั้นสื่อสารผ่าน Tor Network เท่านั้น จริงๆแล้ว เครือข่ายแบบไร้ตัวตนนั้นถูกเรียกว่าเป็น Darknet ซึ่งมีหลายเครือข่ายด้วยกัน แต่นิยมใช้มากที่สุดคือ Tor Network ที่ใช้งานง่ายและสามารถทำงานได้อย่างหลากหลายนั่นเอง

รูปภาพตัวอย่าง Tor Client Program

Tor ทำงานอย่างไร

การทำงานของ Tor มีลักษณะการทำงานดังนี้

เครื่องของผู้ใช้งานติดต่อไปยัง Directory Server ด้วย program Tor client ของ Tor เพื่อร้องขอ list ของ Tor node ที่มีอยู่ใน network ปัจจุบัน ซึ่ง node และเส้นทาง(path) ที่ได้มานั้นจะเป็นการ random มาทั้งหมด ไม่มี pattern ใดๆทั้งสิ้น จึงไม่สามารถคาดเดา path ของการส่งรับข้อมูลระหว่างต้นทางและปลายทางได้รูปภาพการทำงานของ Tor #1
ผู้ใช้งานสร้างข้อความที่ถูกเข้ารหัสแล้วส่งไปยัง Tor node แรกของ path Onion Router ของ Tor node แรกจะทำการถอด layer ที่เข้ารหัสออก เพื่อดูว่า Tor node ที่ 2 คือที่ไหนจากนั้นจึงส่ง packet ต่อไปยัง Tor node ที่ 2 โดยใน Tor node ลำดับต่อๆไป ก็จะทำเหมือนกันไปเรื่อยๆจนกระทั่งถึงปลายทาง ทำให้ node ระหว่างกลางไม่สามารถทราบได้ว่าข้อความจริงๆที่ถูกส่งมาคืออะไรรูปภาพการทำงานของ Tor #2
สุดท้ายเมื่อเครื่องผู้ใช้งานต้องการเข้าเว็บไซด์อื่นๆ ก็จะต้องติดต่อผ่าน Tor Node และ path ใหม่ทั้งหมดอีกด้วย จึงไม่สามารถที่จะ track ค้นหากลับไปยังต้นทางได้เลยรูปภาพการทำงานของ Tor #3

Tor client มีทั้งบน Windows, Linux, Unix, Android, iOS เรียกได้ว่าสามารถทำงานได้ทุก platform เลย เพราะ Tor Client เป็น open source นี่เอง ทำให้มีการนำไปต่อยอดในหลายๆทาง ทั้งการนำไปใช้งานปกติ หรือนำ module ไปพัฒนาเป็นส่วนหนึ่งของเครื่องมือตนเองก็ตาม รวมถึงเราสามารถสร้าง server ที่สามารถเข้าได้เฉพาะผู้ใช้งาน Tor Network ได้อีกด้วย โดย Server เหล่านั้นจะมี domain name ลงท้ายด้วย .onion นั่นเอง

เว็บไซด์ภายใน Tor Network

เว็บไซด์ที่อยู่ภายใน Tor Network นั้นถูกเรียกว่า “Deep Web” โดยจากที่กล่าวไปแล้วว่าเว็บไซด์เหล่านั้นจำเป็นต้องเข้าจาก Tor Network เท่านั้น โดยจากงานวิจัยพบว่า Deep Web นั้นมีจำนวนมากกว่าเว็บไซด์ต่างๆที่สามารถเข้าถึงได้จากอินเตอร์เน็ตหรือ search engine อย่าง Google ถึง 500เท่าเลยทีเดียว

รูปภาพแสดงถึงจำนวนของเว็บไซด์เปรียบเทียบระหว่าง Surface Web และ Deep Web

รูปภาพวิธีการเข้าถึงเว็บไซด์แบบ Surface Web และ Deep Web

เว็บไซด์ที่ให้บริการใน Deep Web นั้นมักจะเป็นเว็บไซด์จำพวก การทหาร, ตำรวจ, หน่วยงานราชการลับต่างๆ เป็นต้น แต่ก็ยังคงมีเว็บไซด์ที่เกี่ยวกับการกระทำผิดกฎหมายมากมายเช่นกัน เช่น ค้าขายอาวุธ , ค้าขายไวรัส, ค้าขายประเวณี, ค้าขายข้อมูลลับ เป็นต้น โดยที่มาของการเกิด Deep Web อย่างต่อเนื่องในช่วง 2-3 ปีหลัง เกิดจากการเปิดเผยของนาย Edward Snowden และ Julian Assange ในเรื่องการดักฟังข้อมูลและการเข้าถึงข้อมูลลับในรูปแบบต่างๆของ NSA (National Security Agency) ส่งผลให้ผู้คนเริ่มตื่นตัวในการรักษาความเป็นส่วนตัวของแต่ละบุคคลมากขึ้นนั่นเอง

ทำไมแฮ็คเกอร์หรือผู้กระทำผิดกฎหมายต่างๆถึงใช้ Tor แต่ยังถูกจับ

ในช่วงปี 2010 เป็นต้นมา เราจะเห็นกลุ่มคนมากมายที่มีการประท้วงรัฐบาลหรือหน่วยงานต่างๆด้วยการแก้ไขหน้าเว็บเพจ (defacement) ของเว็บไซด์ต่างๆ เช่น กลุ่ม Anonymous, LuszSec เป็นต้น โดยกลุ่มเหล่านั้นมักจะคุยและสื่อสารกันระหว่าง IRC Channel ซึ่งเป็นช่องทางสื่อสารเฉพาะก่อนที่จะนำไปสู่การพยายามโจมตีเว็บไซด์ต่างๆ การจะใช้งานช่องทางนั้นแบบที่ไม่สามารถค้นหาต้นทางได้ จำเป็นต้องมีการใช้งาน Proxy ที่รองรับการทำงานแบบ SOCKS5 ซึ่งแต่ก่อนมีตัวเลือกไม่มากนัก โดยหนึ่งในตัวที่รองรับการทำงานความสามารถทั้งหมดที่กลุ่มประท้วงต้องการก็คือ Tor Network นั่นเอง จากที่กล่าวมาทั้งหมดทำให้ Tor Network จึงเป็นตัวเลือกอันดับต้นๆที่กลุ่มประท้วงหรือแฮ็คเกอร์เลือกใช้

แต่ Tor Network ก็ใช่ว่าจะไม่สามารถค้นหา IP จริงๆ ได้เสมอไป FBI ทราบดีว่าแฮ็คเกอร์ส่วนใหญ่นั้นใช้งาน Tor Network จึงได้ค้นหาวิธีต่างๆในการหาผู้กระทำผิดเหล่านั้นจากการเข้าไปสืบหาข้อมูลจากภายใน server ต่างๆที่อยู่ใน Tor Network ไม่ว่าจะเป็นการสร้าง Virus ที่แพร่กระจายผ่าน Tormail ซึ่งเป็นบริการเมล์ภายใน Tor Network รวมถึงการหลอกให้แฮ็คเกอร์เข้าถึงเว็บไซด์ภายใน Tor Network ที่ฝัง exploit ไว้ เพื่อจะนำไปสู่การค้นหา IP จริงของแฮ็คเกอร์ที่เป็นเป้าหมายเหล่านั้นได้ด้วยเช่นกัน

รูปภาพข่าวการจับตัว Web Hosting ที่ผิดกฎหมายด้วยการยึด TorMail โดย FBI

รูปภาพข่าวการฝัง exploit ไว้ใน Tor Web Server เพื่อจับเจ้าของเว็บไซด์ภายใน Tor Network ที่ชื่อว่า Silk Rose ที่มีการขายยาเสพติดต่างๆโดย FBI

Malware ที่ใช้ Tor Network

อย่างที่กล่าวไปข้างต้นว่า Tor Client นั้นเป็น Open Source ที่เปิดเผย source code ของโปรแกรม ทำให้มีนักพัฒนาโปรแกรมมากมายนำ source code เหล่านั้นมาใส่ในเครื่องมือของตน ไม่เว้นแม้กระทั่งผู้พัฒนา Malware โดยในปัจจุบันมี Malware จำนวนมากที่ทำงานผ่าน Tor Network เช่น Zeus, ChewBacca , Cythosia เป็นต้น

รูปภาพ source code ของ Botnet ที่มีการเชื่อมต่อกับเครื่อง Command & Control(C&C) Server ที่ตั้งอยู่ใน Tor Network

รูปภาพตัวอย่าง traffic ของ Sefnit Botnet ทิ่ติดต่อกับ C&C server ที่อยู่ใน Tor Network

การใช้งาน Tor Network ของ Malware เหล่านั้นทำให้ได้ความสามารถการไร้ตัวตนของ Tor Network ไปด้วย ส่งผลให้ระบบตรวจจับต่างๆสามารถทำงานได้ยากยิ่งขึ้น Malware ที่มีความสามารถนั้นจึงได้รับความนิยมมากขึ้นเรื่อยๆ โดยผู้พัฒนา Malware เหล่านั้นมักจะนำ Malware ไปขายในเว็บไซด์ที่เข้าถึงได้ยากอย่างตลาด malware และ forum ใต้ดินต่างๆ โดยเว็บไซด์เหล่านี้จำเป็นต้องมีการเชิญหรือผ่านการตรวจสอบข้อมูลก่อนเท่านั้นจึงจะสามารถเข้าถึงได้ อีกทั้งในเว็บไซด์เหล่านั้นมีการทำการตลาดแบบครบวงจร ทั้งขายเป็นแบบ service, การให้คะแนนผู้ขายผู้ซื้อ, การใช้งานที่ง่าย, การการันตีการให้บริการของ service, การวางเงินมัดจำก่อนซื้อขาย เป็นต้น ซึ่งสิ่งเหล่านั้นทำให้แหล่งซื้อขาย malware เหล่านั้นเปรียบเสมือนเป็น ebay ขนาดเล็กสำหรับการขาย malware โดยเฉพาะก็ไม่ปราณ นั่นคือเหตุผลว่าทำไมการพัฒนา Malware ต่างๆจึงมีการพัฒนาอย่างต่อเนื่องตลอด 10 ปีที่ผ่านมา

รูปภาพตัวอย่างการขาย SpyEye toolkit

ในเว็บไซด์เหล่านั้นทำให้ไม่เพียงแต่มีการขาย malware เท่านั้น ยังมีการนำหมายเลขบัตรเครดิตมาขายอีกด้วย

รูปภาพการขายหมายเลขบัตรเครดิต

ไม่เพียงแต่จะนำหมายเลขบัตรเครดิตมาขายเท่านั้น ยังมีการนำเครื่องมือสำหรับทำการโจมกรรมข้อมูลต่างๆเช่น เครื่องมือการติดตั้ง Skimmer ตามตู้ ATM ต่างๆ, เครื่องมืออานข้อมูลจากบัตรเครดิต เป็นต้น มาขายด้วยเช่นกัน

รูปภาพการขายเครื่องมือโจรกรรมข้อมูลบัตรเครดิตต่างๆ

ระวัง Tor Malware

ด้วยความนิยมของ Tor Network ทำให้มีการสร้าง Malware ที่ปลอมเป็น Tor Client ขึ้นมามากมาย ไม่ว่าจะเป็น Platform Windows, Linux หรือแม้กระทั่ง Mobile OS อย่าง Android, iOS ก็ตาม โดยตัวอย่างของ iOS จะใช้ชื่อป็น Fake Tor Network Application เคยถูกค้นพบภายใน Apple Store เลยทีเดียว แต่เมื่อมีผู้เชี่ยวชาญตรวจพบก็ได้แจ้งไปทาง Apple และได้นำ Application ดังกล่าวออกจากระบบทันที โดยจริงๆแล้วเราสามารถ download Tor Client ที่เป็นแบบ Official release ได้จากเว็บไซด์ Tor (www.