สวัสดีครับ ผมมีข่าวด่วนที่มีเนื้อหาไม่มากมานำเสนอเล็กน้อย ได้ขึ้นหน้า 1 หรือไม่ ไม่สำคัญ แต่ฝาก share ต่อด้วยนะครับ
ช่วงไม่กี่วันนี้ หลายคนคงได้พบว่าตัวเองเข้า website บางเว็บอยู่ดีๆ หน้าเว็บนั้นก็เปลี่ยนเป็นเว็บ forex-prices.com ซะงั้น (ยกตัวอย่างเช่นหน้านี้ครับ http://sourceforge.net/projects/hjt/ ) บางคนคงคิดว่า เครื่องคอมพิวเตอร์ของตัวเองโดน virus/malware เข้าให้ซะแล้ว แต่ความจริงแล้วมันแย่ยิ่งกว่านั้นมาก เราไปดูกันนะครับว่าเกิดอะไรขึ้น
เอาเข้าจริงๆ แล้ว ผมต้องขอสารภาพว่า ผมก็ไม่รู้รายละเอียดอย่างแท้จริงว่ามันเกิดขึ้นได้อย่างไรนะครับ แต่ผมจะเล่าเรื่องและแสดงหลักฐาน ซึ่งนำไปสู่ข้อสันนิษฐานท้ายสุดของผมนะครับ (ซึ่งสิ่งที่ผมรู้ก็ไม่ได้มีรายละเอียดอะไรมากมายนักหรอก)
ตอนนั้นมีคนตามผมไปดูคอมพิวเตอร์ของเธอ บอกว่ามีเว็บบางเว็บเข้าไม่ได้ บอกอาการมาแบบที่ผมใส่ไว้ข้างบนนั่นแหละครับ ผมคิดในใจว่าลงอีหรอบนี้มันต้องเป็น malware แหงแซะ และก็ไปเปิดคอมพิวเตอร์ดูแบบหวานหมู
แต่ช้าก่อน นั่นเป็นคอมพิวเตอร์ที่ผม format harddisk ลง OS ให้เองกับมือไปเมื่อ 5 วันก่อนนี้เอง ไม่มี software ถูก install เพิ่มเติม และจากการสอบถามก็ไม่มีข้อมูลว่ามีการรัน software น่าสงสัยในเครื่องคอมพิวเตอร์ แต่นั่นมันขัดกับข้อสังเกตเบื้องต้นที่ทำให้ผมเชื่อว่ามันเป็น malware คือ
1. web เดียวกัน แต่เข้าด้วย iOS7/Android จะเข้าได้ตามปกติ
2. computer/browser ตัวเดียวกัน แต่ดันเพี้ยนเข้า forex-prices แค่บางเว็บไซท์ (บางหน้า)
ผมตั้ง candidates ไว้ 3 กรณี
1. malware
2. โฆษณาบนเว็บไซท์เล่นตุกติก
3. เว็บไซท์ถูก crack
ไอ้เจ้า malware นี้ ผมตรวจก่อนเพื่อนเลย ผมไปตรวจสอบ plugins ของ browser ว่ามีอะไรผิดปกติรึเปล่า ปรากฎว่าต่อให้ disable เรียบ worm ตัวนี้มันก็ยังทำงานได้ ผมจึงเชคอีกทีให้แน่ใจว่ามันเป็นเฉพาะ browser ตัวนี้รึเปล่า ผมลง browser ใหม่ +ลอง browser หลายๆ ยี่ห้อ ปรากฏว่าไม่หาย และเป็นเหมือนกันหมดทุกยี่ห้อ ผมจึงสรุปว่ามันทำงานแบบ system wide ผมจึงไปดูจุดที่สามารถส่งผลต่อทั้งระบบได้
คือ
1. ตรวจว่าไม่มีการตั้งค่า proxy server
2. ตั้ง DNS server ใหม่เป็น server ที่ผมแน่ใจว่าไม่มีปัญหา
3. ตรวจ hosts file ว่าไม่มีการแก้ไขเพื่อ override DNS record
4. ตรวจ network interface ว่าไม่มีการตั้งตัวใหม่มา tap การทำงาน (แบบ VPN)
ทุกอย่างที่ตรวจสอบไป เป็นปกติทั้งหมด ผมจึงสงสัยว่ามันอาจเป็น virus ที่ทำงาน cross browser ด้วยหลักการ sendkey (จำลองการกด keyboard) ผมตรวจสอบจุดนี้ด้วยและพบว่าไม่ใช่
ผมตรวจทั้งหมด (และยืนยันได้ในภายหลัง) ว่าไม่ใช่ malware (ยืนยันด้วยคอมพิวเตอร์เครื่องอื่นที่ผมแน่ใจว่าไม่มี malware) การตรวจสอบกินเวลานานกว่าที่คุณอ่านสิ่งที่ผมพิมพ์มากนะครับ เพราะผมต้องค่อยๆ นึก ค่อยๆ ลองความเป็นไปได้ต่างๆ ครับ
ผมคิดว่าถึงเวลาตรวจสอบว่าเว็บไซท์ผิดปกติรึเปล่าแล้ว ซึ่งอาจเป็น โฆษณาบนเว็บไซท์เล่นตุกติก หรือ เว็บไซท์ถูก crack ก็ได้ แต่ว่าบังเอิญระหว่างตรวจสอบ malware ผมไปเข้า sourceforge มาน่ะสิ (หน้านี้นี่เอง http://sourceforge.net/projects/hjt/ ) บุคคลเบื้องหลัง sorceforge เป็น hacker กันหลายคนครับ มันไม่ใช่เว็บไซท์ที่ crack กันได้ง่ายๆ เลย ผมเลยตัด choice ไปพุ่งเป้าที่ โฆษณาบนเว็บไซท์เล่นตุกติก
การตรวจสอบก็คือ ผมไป debug code บน website โดยเฉพาะส่วนที่เกี่ยวกับโฆษณา ว่าอะไรมันทำให้เว็บไซท์เปลี่ยนหน้าไปได้ และแล้วผมก็อึ้งเป็นไก่ตาแตก ผมไม่เจอกลไกอะไรที่ทำให้เว็บไซท์เปลี่ยนหน้าไปเลยครับ อยู่ดีๆ มันก็เปลี่ยนหน้าเองเฉยๆ สิ่งที่ผมเห็นอย่างเดียวคือ ก่อนจะเกิดการเปลี่ยนหน้า มี connection error เกิดขึ้นเป็นจำนวนมาก (คือไม่ได้มากขนาดนั้นนะครับ เอาเป็นว่าหลายแล้วกันครับ)
การ debug นี้ทำที่ application layer (layer 7) ล้วนๆ ครับ สรุปว่ามองไม่เห็นอะไรเลย อึ้งนานนะครับไม่ใช่แป๊บๆ อึ้งเป็นวัน รู้สึกเหมือนกำลังดูมายากลอะไรบางอย่างที่ดูกี่ทีเราก็บอกไม่ได้ว่าเขาทำได้ยังไง (ตรงนี้ผมอาจจะสะเพร่ามองข้ามจุดสำคัญไปนะครับ แต่ถ้าเป็นกรณีนี้ code มันต้องซ่อนดีมากๆ เลย)
แน่นอนว่าผมตันทุกอย่างแล้ว ผมหันไปพึ่ง side-channel analysis ผมหาข้อมูลเกี่ยวกับ forex-prices พบว่าเป็นของพวก ทำ SEO ปั่นยอดเพื่อขาย domain ครับ
OK ผมรู้จุดประสงค์ของคนทำแล้ว แต่ผมสงสัยว่าทำไมไม่มี hacker สักคนโผล่มาบอกว่าไอ้ domain นี้มันมีอะไรแปลกๆ เป็นไปได้หรือเปล่าว่ามันจะมีผลแค่ในวงแคบๆ โดยเฉพาะในพื้นที่ที่มี hacker เก่งๆ น้อยคน
มาถึงตรงนี้ผมมีข้อมูลนอกจากที่เขียนไว้ข้างบนคือ combination ที่ผมแน่ใจว่าจะทำให้เห็นผลการทำงานของ worm ตัวดังกล่าว คือ "Windows", "Google Chrome", และ "certain websites" ครับ
และระหว่าง debug code ผมรู้ว่า worm ตัวนี้ใช้ URL Shortener ของ Google พอถึงตรงนี้ระหว่างผมทำ side-channel analysis ข้อมูลนั้นก็มีประโยชน์ขึ้นมา เพราะ Google ไม่ปิดสถิติการใช้งานของ URL Shortener สิ่งที่ผมเห็นคุณก็สามารถมองเห็นได้
โดย คุณ login เข้า gmail แล้วไปดูหน้าสถิตินี้
http://goo.gl/#analytics/goo.gl/voNi7T/all_time
(ต้องเข้าสองครั้งหลังจาก login gmail ครับถึงจะเห็นข้อมูล)
สิ่งที่คุณเห็น มันก็คือสถิติการแพร่ระบาดของ worm ตัวนี้นี่เอง (โอวแม้เจ้า อะไรมันจะเป็น worm ที่ใจดีขนาดนี้ อีนี่แถมสถิติของตัวเองมาให้ hacker ดูด้วย) จริงๆ แล้วเจ้าของ worm ทำเอาไว้ดูเองนะครับ
ข้อมูลที่น่าสนใจคือ worm ตัวนี้เกิดขึ้นอย่างเร็วในวันที่ 20 กันยายน นี่เอง (ซึ่งผมเดาเอาว่ามันคือวันที่ 20 นี่แหละ) อีกประเด็นคือ ประเทศที่เป็นแหล่งระบาดหนักของ worm ตัวนี้คือ ... เดาสิครับ ใช่แล้ว ประเทศไทย แล้วทำไมต้องประเทศไทยล่ะ เค้าตั้งใจจะมาโฆษณาเว็บ forex ในประเทศไทยรึเปล่า ผมว่าไม่ใช่ เพราะ ด้วยเหตุผลนานัปการ เช่นแบงค์ชาติแทรกแซงค่าเงินบาทค่อนข้างมาก ทำให้ forex ผิดกฎหมายประเทศไทยครับ เล่นได้เฉพาะธนาคาร สำหรับคนธรรมดาก็เล่นหุ้นไป อยากขึ้นเร็วลงเร็วก็เล่น margin ได้ไม่มีปัญหา แต่ผมว่าเล่น forex นี่มีแต่ร่วง (อันนี้ความเห็นส่วนตัวนะครับ)
แต่ทำไมต้องประเทศไทยล่ะ? จุดประสงค์เขาคือปั่นยอด domain ครับ ประเทศอะไรก็ได้ ไม่มีปัญหา ประเด็นคือมีช่องว่างอยู่ในประเทศไทย และถ้าช่องว่างที่ว่า อยู่ใน PC หรือ device ของคนทั่วๆ ไป ทำไมมันต้องมาอยู่เฉพาะประเทศไทย มันน่าจะกระจายๆ ไปทั่วโลกสิ (อันนี้แน่ใจได้ครับ สมัยเป็นเด็กหัวเกรียน (ก็คือ ม.ต้น) เพื่อนผมเขียน virus มาตัวหนึ่ง virus สัญชาติไทยแท้แน่นอน แพร่กระจายไปได้ทั่วโลกครับผมยืนยัน) เรื่องคือ Internet ประเทศไทยมีปัญหา (vulnerability) ซึ่งผมได้เคยเขียนถึงมาก่อนหน้านี้แล้ว เขาไม่ได้เลือกประเทศไทยเพราะเขาเจาะจงกลุ่ม เขาเลือกเพราะ worm มันแทรกแซงเข้าระบบประเทศไทยได้ง่ายครับ worm ไม่ได้อยู่ในเครื่องคอมพิวเตอร์ของคุณ มันอยู่ในระบบเครือข่ายที่เราใช้งานอยู่
ผมบอกในข่าวนี้เลยว่าผมใช้ true ครับ ถ้าไม่มีคนมาทักท้วงว่าตัวเองใช้ของเจ้าอื่นก็เจอเหมือนกัน เราสามารถ assume pinpoint ไปได้เลยว่ามีอะไรบางอย่างอยู่ในระบบเครือข่ายของ true (จากประสบการณ์ของผม ISP มักจะเป็นตัวการสุดท้ายที่ end user โทษ ปกติคนนึกไม่ถึงกัน) ในทางกลับกันถ้ามี Internet เจ้าอื่นในไทยเจอแบบนี้ด้วย ผมแทบจะแน่ใจจน assume pinpoint ไปได้เลยว่า ตัวการที่น่าสงสัยอันดับต้นๆ คือ software caching proxy จากกลุ่ม เทมาเซค (ชื่อคุ้นๆ ไหม) ที่มาจับตลาด web caching ประเทศไทยไปได้พักใหญ่
สรุปประเด็นสำหรับคนที่ไม่ได้สนใจรายละเอียดมากมายนักคือ
1. คุณค้นคอมพิวเตอร์คุณให้ตายยังไง ก็ไม่เจออะไรครับ (ถ้าผลการชันสูตรของผมไม่ผิดพลาดนะ) เพราะตัว worm มันไม่ได้อยู่ในเครื่องคอมพิวเตอร์ของคุณครับ (มันอยู่ในระบบ network)
2. สิ่งที่คุณทำได้และควรจะลองทำ คือ update OS ครับ worm ตัวนี้ทำงานต่ำกว่า layer 7 ไม่น่าจะเป็นปัญหาเนื่องมาจาก browser คุณใช้ browser ล่าสุดมันก็ยังทำงานได้ แต่ผมไม่กล้าบอกว่ามันเป็นวิธีที่ถูกต้อง หรือเกี่ยวข้องกับการหายไปของ worm นะ เพราะผมยังไม่เข้าใจการทำงานเต็มๆ ของมัน (ผมแค่ลอง update แล้วมันหายไปครับ บางทีอาจจะไม่เกี่ยวกันเลยก็ได้ มันอาจเป็นที่การเปลี่ยนเส้นทาง route ในระบบเครือข่ายก็ได้)
3. ตอนนี้ผมไม่ค่อยมีเวลาตรวจสอบละเอียดนัก (ซึ่งผมอาจจะไม่เจออะไรอยู่ดี) และตอนนี้คอมพิวเตอร์ส่วนตัวผมส่งซ่อมอยู่ แต่สำหรับ hacker ที่พอมีเวลาว่างๆ อยากลองตรวจสอบกลไกการทำงานของมันอย่างละเอียด ก่อนหน้านี้ที่ผมบอกว่ามันไม่ได้ทำงานใน layer 7 มันก็ไม่ใช่แบบนั้นซะทีเดียว ระหว่าง analysis ผมมีหลักฐานพอให้เชื่อได้ว่า กลไกการเปลี่ยนหน้าของเว็บไซท์ เกิดจาก javascript ครับ แต่กลไกการ inject javascript ขึ้นมา run นี่อยู่ต่ำกว่า layer 7 debug บน browser มองไม่เห็นอะไร ให้ลองตรวจ packet ใน layer ล่างๆ ดูครับว่ามีอะไรแทรกมาปนๆ บ้างรึเปล่า (โดยเฉพาะไอ้ตัวที่หน้าตาดูเหมือน javascript หรือ keyword "goo.gl" ที่เป็น domain ของ URL Shortener ของ Google ครับ) อย่าลืมว่าผมมองเห็น "connection error เกิดขึ้นเป็นจำนวนมาก ก่อนจะเกิดการเปลี่ยนหน้า" นะครับ
4. สำหรับ ISP โดยเฉพาะ true (ถ้าได้อ่านอยู่จริงๆนะครับ) คุณอาจแก้ไขปัญหาเฉพาะหน้าง่ายๆ คือ block url ตัวที่มีปัญหามันซะเลย แต่ผมไม่แนะนำให้ทำงั้นนะครับ ตอนนี้เป็นเรื่องดีที่จะได้รู้ว่าเครือข่ายมีจุดอ่อนตรงไหน และระหว่างที่ worm ยังทำงานอยู่ ถือเป็นโอกาสดีที่คุณจะได้ตรวจสอบว่า มันเข้ามาได้ยังไง มันใส่ข้อมูลมาแทรกมาได้ยังไง เชื่อว่าคงมีวิศวกรที่ตรวจสอบเรื่องพวกนี้ได้ และจะดีมากถ้าหลังจากแก้ปัญหาเสร็จแล้ว ออก press release สรุปว่ามันเกิดอะไรขึ้น เพื่อประโยชน์ของคนทั่วไป, ISP เจ้าอื่นๆ, รวมถึงภาพลักษณ์ของบริษัท true เองครับ
เรื่องที่ผมยกขึ้นมาเป็นข้อสันนิษฐาน อาจจะผิดทั้งหมดก็ได้นะครับ (แต่คิดว่าคงไม่ถึงขนาดนั้น) สำหรับคนที่ไปตรวจสอบดูจริงๆ ได้ความว่าไง มีอะไรน่าสนใจส่งเมลไปเล่าให้ผมฟังด้วยก็ดีครับ (ดูเมลผมจากข่าวอื่นๆ) คือผมไม่ค่อยได้เชค blognone น่ะ
worm มาเร็ว, ข่าวมาเร็ว, คุณภาพงานเขียนก็แบบเร็วๆ นิดนึง ยังไงคงไม่ได้หน้า 1 แน่ๆ ใครคิดว่าเป็นประโยชน์ (อย่างน้อยก็มีวิธีแก้ที่ไม่รับรองผล) ก็ฝาก shareๆ ต่อกันด้วย ก็จะขอบคุณมากเลยครับ สำหรับคนที่รู้ข้อมูลละเอียดกว่านี้ อยากจะบอกว่าผมผิดหรืออะไรยังไง ก็ช่วยบอกไว้ใน comment เผื่อคนอื่นจะได้อ่านครับ แต่ถ้าอยากให้ผมมาแก้ข้อมูลอะไรในนี้ก็ส่งมาเตือนทาง email อีกที (นิดนึง) นะครับ
update: มันไม่หายครับ มันเป็นปัญหาที่แวบไปแวบมาต่างหาก (เดี๋ยวมีเดี๋ยวไม่มี) แต่ข้อสันนิษฐานที่ยืนยันด้วยสถิติ worm ในประเทศไทย ผมก็ยังยืนยันตามคำเดิมนะ มาสังเกตจากสถิติดูอีกที จะเห็นว่ามีหลาย platform (OS) ที่ถูก redirect โดย worm ชนิดนี้ เข้าใจว่าไม่เป็นข้อผิดพลาดของ platform แล้วล่ะครับ ต้องรอ ISP แก้ไขออกไปครับ หวังว่าเราจะได้รับข่าวสารความคืบหน้าจากผู้เกี่ยวข้องเร็วๆ นี้ครับ (เป็นไปได้ว่ามีปัญหาแค่บาง route)