แสดงบทความที่มีป้ายกำกับ Malware แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Malware แสดงบทความทั้งหมด

13 พฤษภาคม 2561

ครบรอบ 1 ปี WannaCry ความตระหนักที่กำลังเลือนหายไปตามกาลเวลา

13 พฤษภาคม 2017 เป็นวันที่เกิดการระบาดของ WannCry Ransomware แม้ว่าบางรายงานบอกว่าเป็นวันที่ 12 แต่เนื่องจากประเทศไทยตื่นมารับรู้ในวันที่ 13 เพราะ Time Zone ที่เร็วกว่ายุโรปที่ได้รับรายงานการระบาดเป็นจุดแรก ผมขอใช้วันนี้ก็แล้วกัน

อันที่จริงมัลแวร์ลูกผสมไม่ได้เป็นเรื่องที่น่าแปลกใจนักสำหรับผู้เชี่ยวชาญด้าน Information Security จำได้ว่าตอนที่เดินทางขึ้นไปขอนแก่นเพื่อร่วมงานแต่งงานของเจ้าของบริษัททำ Penetration Testing ท่านหนึ่ง บรรดาผู้เชี่ยวชาญหลายคนที่นั่งรถไปคันเดียวกับผมก็ได้วิเคราะห์เรื่องมัลแวร์ต่างๆ และหนึ่งในการทำนายถึงมัลแวร์ที่จะเกิดขึ้นก็คือลูกผสมของ Ransomware กับ Worm เพียงแค่ปีเดียวสิ่งที่ทำนายก็เกิดขึ้น

สำหรับผม มันเป็นความทรงจำที่ออกจะแปลกประหลาดไม่น้อย เพราะเป็นช่วงที่บินไปยังบาหลีเพื่อร่วมสัมมนา Cyber Security Exchange for FSI ซึ่งผมบินไปก่อน 2 วัน (วันเสาร์) เพื่อพักผ่อน ปกติแล้วผมจะอ่าน News Feed ทุกเช้าและเริ่มสัมผัสได้ว่าการระบาดของ WannaCry น่าจะสาหัส จึงได้ส่งข้อความลงไปใน Line กลุ่มของหัวหน้าทีม IT ของธนาคารก่อนขึ้นเครื่องบิน พร้อมบอกวิธีเตรียมการคร่าวๆ เพื่อรับมือวันจันทร์ที่เปิดงาน จากข้อมูลเท่าที่มีอยู่ตอนนั้น พอลงเครื่องมาก็เริ่มมีการคุยกันต่อเนื่องใน Line ตั้งแต่ยังไม่ออกจาก ตม. จนนั่งรถไปถึงโรงแรม ขอเล่าเพื่อไม่เสียเวลาสรุปว่าทีม Infrastructure และ IT Service เตรียมการทุกอย่างพร้อมในวันอาทิตย์ เพื่อรอการเปิดทำงานวันจันทร์ เป็นการคุยงานไป เดินชายหาดไป ว่ายน้ำไป ประมาณนี้

นอกจากงานของธนาคารตัวเองแล้ว ก็ยังต้องมาช่วยเกลาและเรียบเรียงเอกสารเผยแพร่ในนาม Information Sharing Group (ISG ซึ่งต่อมาเป็น TB-CERT) ร่วมกับเพื่อนๆ ตัวแทนของธนาคารต่างๆ ด้วย และน่าจะเป็นเอกสารเผยแพร่ฉบับแรกๆ ของทีม

เป็นการพักผ่อนที่ประหลาดดี

ผมขอรวบรวมเรื่องที่ประสบพบเจอในระหว่างการระบาดทั้งบทเรียนที่ผมได้รับ ทั้งเรื่องดีและไม่ดี รวมๆ กันไปนะครับ
  1. ระหว่างช่วงชุลมุนและยังได้ข้อมูลไม่ครบ แต่จำเป็นต้องสั่งการ ผมเองเลือกที่สั่งเกินความจำเป็นไปนิด ในกรณีนี้ตอนที่ยังไม่มีข้อมูลที่ชัดเจนว่าโจมตีผ่านช่องโหว่ Ethernal Blue เท่านั้น (SMBv1) ด้วยความที่เป็น Ransomware ผมเลยสั่งให้ Monitor ช่องทาง Mail และ Web Site ไปด้วย อย่างไรก็ตามหลังจากมานั่งคิดว่าถ้าย้อนกลับไปสั่งการใหม่ จะเป็นแบบเดิมไหม คำตอบก็ยังเป็นแบบเดิมอยู่ดี 
  2. หน่วยงาน Regulator ติดตามอย่างกับโดน Compromised ไปแล้ว เอิ่มสถานการณ์ Malware Outbreak จัดการคนละแบบกับการโดน Targeted Attacks นะขอรับ
  3. บรรดากูรูเกิดขึ้นมาอย่างกับดอกเห็ด มั่วซะเป็นส่วนใหญ่ แถมตอน Spectre/Meltdown ก็ด้วย มีอะไรเกิดอีก ก็เดาได้เลยว่ามีกูรูเกิดขึ้นมาใหม่อย่างแน่นอน มีบางคนมาบอกผมว่ากูรูบางคนพูดออกทีวีอย่างดิบดีว่าทำอย่างนี้ป้องกันได้แน่นอน แต่ว่าเอกสาร WannaCry Analysis ในมือผมบอกว่า ทำอย่างที่กูรูบอกไม่มีประโยชน์อันใด ขอร้องกูรูอ่านเยอะๆ ดีกว่านะครับ
  4. หน่วยงานรัฐออก Infographics ไม่ได้ฟังคำท้วงติงของผู้เชี่ยวชาญด้าน Information Security ที่มีข้อมูลอ้างอิงในมือว่าควรสื่อสารอย่างไร ผมก็ไม่แน่ใจว่าการสอบทานเป็นอย่างไร หวังว่าคงไม่ฟังคนที่ไม่มีข้อมูลที่แท้จริงในมือแล้วสื่อสารออกไปผิดๆ หรือตอนนั้นเพียงคิดว่านี่เป็น Ransomware ตัวหนึ่ง
  5. อาจารย์มหาวิทยาลัยแห่งหนึ่งเขียนโปรแกรมเพื่อหลอก WannaCry ว่าเครื่องฉันติดแกแล้ว ไม่ต้อง Load ตัวเองขึ้นมาอีก มีการออกข่าวใหญ่โต สุดท้ายได้ประกาศเป็นผู้ทำงานด้าน Security ยอดเยี่ยมประจำปีที่แล้ว ในขณะที่ผู้เชี่ยวชาญ Information Security ทั่วโลกบอกว่า ลง Patch เถอะครับ ย้อนแย้งจริงๆ

WannaCry คงจะถูกพูดถึงน้อยลง เลือนหายไปตามกาลและเวลา สิ่งที่น่าคิดคือจากเรื่องนี้เราได้เก็บเกี่ยวประสพการณ์ในการเตรียมรับมือภัยคุกคามแบบอื่นๆ ในอนาคตอย่างมีสติมากน้อยเพียงใด

ไว้นึกอะไรออกอีก จะมาใส่ไว้ก็แล้วกัน

06 กรกฎาคม 2558

มัลแวร์ข้ามการตรวจ Hardware Token OTP ได้อย่างไร

การใช้ Hardware Token OTP (One Time Password) มักนิยมใช้กับการทำธุรกรรมที่มีความสำคัญสูง เพราะเชื่อว่ามีความปลอดภัยสูงกว่า SMS OTP แต่มีต้นทุนที่สูงกว่า อย่างไรก็ตามก็ไม่ได้หมายความว่าจะ Bypass การใช้ Token OTP ไม่ได้ แม้ว่าระหว่าง Web Browser กับ Server จะใช้ TLS (Transport Layer Security ที่มาแทน SSL เดิม) ทั้งนี้หากเครื่องที่ใช้งานด้านผู้ใช้ ติดมัลแวร์ที่เจาะจงโจมตีบริการของเราที่ป้องกันด้วย Token OTP

เราต้องเข้าใจก่อนว่ามัลแวร์เมื่อติดอยู่บนเครื่องที่เราใช้ทำธุรกรรม สามารถตรวจจับการเปิดโปรแกรมใดๆ บนเครื่องเราและเปลี่ยนคำสั่งการส่งข้อมูล Keyboard และ Mouse ที่ส่งไปยัง Window ของโปรแกรมต่างๆ ด้วย Windows API โดยการจัดการกับคำสั่งที่ส่งระหว่างแต่ละโปรแกรมกับ Operating System ด้วยวิธีที่เรียกว่า Hook ซึ่งรายละเอียดของ Windows API นี้สามารถดูได้ที่นี่

ดังนั้นมัลแวร์สามารถติดตามการเปิด Web Browser ความเคลื่อนไหวของ URL โดยการตรวจสอบ Address Bar รวมทั้งดักหรือยกเลิกข้อมูลจากการกด Keyboard หรือ Mouse Click ได้ แม้กระทั่งส่งข้อความแจ้งเตือนปลอม แก้ไขการวาดเว็บเพจเพื่อแทรกข้อความหรือรูปภาพอื่นเพื่อหลอกผู้ใช้ ตลอดจนส่ง HTTP Request โดยใช้ Session ขณะนั้นของ Browser ที่เชื่อมกับ Server เป้าหมายได้

การ Bypass Token OTP

แล้วมัลแวร์ Bypass Token OTP ได้อย่างไร ขอให้ดู Misuse Case Diagram ตามรูป

เริ่มจากการที่ผู้ใช้ Logon ไปยังเว็บไซต์เป้าหมาย ซึ่งมัลแวร์ก็จะปล่อยให้ผู้ใช้งานทำงานต่างๆไปจนกระทั่งผู้ใช้ทำธุรกรรมซึ่งจะต้องใช้ Token OTP ก็จะทำการดักข้อมูล OTP ที่ผู้ใช้ป้อนแต่ไม่ยอมให้กด Enter หรือ Submit ข้อมูล ซึ่งผู้ใช้ก็จะแปลกใจว่าทำไมส่งไม่ไป ในจังหวะนั้นมัลแวร์ก็จะลอบทำธุรกรรมใน Session เดียวกับที่ผู้ใช้กำลัง Logon อยู่ โดยใช้ OTP ที่ดักมาได้นั้น หากเป็น OTP ที่เปลี่ยนตามเวลา ก็จะหน่วงเวลาให้ผู้ใช้ส่ง OTP ไม่ได้จน Token เปลี่ยนค่า OTP ไป แต่หากเป็น OTP ที่เปลี่ยนตามการกด ก็จะแจ้งผู้ใช้ว่าเกิดข้อผิดพลาดในการส่งให้ส่ง OTP ค่าใหม่ไป แล้วการทำธุรกรรมนั้นของผู้ใช้จึงจะสมบูรณ์

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

สิ่งผิดปกติที่จะสังเกตได้

ความผิดปกติฝั่งผู้ให้บริการก็คือจะเกิดการทำธุรกรรมที่ต้องใช้ Token OTP ติดกันในระยะเวลา 1-2 นาที ซึ่งไม่สามารถกระทำได้โดยการกระทำของมนุษย์ หากมีการใส่กฏเกณฑ์ตรวจจับการกระทำลักษณะนี้ในระบบตรวจจับการโกง (Fraud Detection) ก็จะพบได้โดยง่าย

อย่างไรก็ตามดร.ภูมิ ภูมิรัตน ได้ให้ความเห็นว่าหากมัลแวร์แจ้งเตือนในลักษณะ Server Error และบังคับไปเริ่มทำธุรกรรมใหม่ ระบบตรวจจับการโกงก็จะไม่สามารถตรวจจับได้เพราะเป็นพฤติกรรมปกติของการทำงานบนอินเทอร์เน็ต

ความผิดปกติฝั่งผู้ใช้ก็คือจะมีการแจ้งเตือนการทำธุรกรรมซ้ำสองครั้งในระยะเวลา 1-2 นาที ซึ่งหากตั้งค่าการแจ้งเตือนด้วย email ผู้ใช้ก็อาจมองข้ามไปโดยง่ายหากมีการทำธุรกรรมหลายครั้งต่อวัน แต่หากเป็นการแจ้งเตือนผ่าน SMS ก็จะเป็นแบบเดียวกัน ผู้ใช้อาจไม่อ่านและคิดว่าเป็นการส่งซ้ำโดยผู้ให้บริการ ตังนั้นในฐานะผู้ใช้บริการต้องระมัดระวังตัวตรวจสอบการแจ้งเตือนทุกครั้ง ไม่ปล่อยผ่านโดยคิดว่าเป็นข้อผิดพลาดของผู้ให้บริการ