IT Security 101 ภายในบ้าน สำหรับ IoT

ถือเป็นโน๊ตเล็ก ๆ ในการเริ่มต้นใช้งาน IoT ในบ้านสำหรับใครหลาย ๆ คนที่ห่วงเรื่อง IT Security หลังจากติดตั้ง IoT ในบ้านก็แล้วกัน อาจจะไม่ครอบคลุมทั้งหมด แต่คิดว่าหลัก ๆ น่าจะประมาณนี้ บางอย่างก็อาจจะเวอร์ไป ก็ดู ๆ ตาม ความเหมาะสม

  1. ปรับแต่ง router gateway ของบ้านให้แน่ใจว่าไม่มี port services ที่ไม่ต้องการเปิดรับ traffic จาก internet และถ้าเป็นไปได้ให้ปิดทั้งหมด
  2. ตั้งค่า username และ password ของ router gateway ที่ไม่ใช่ค่าเริ่มต้น และควรตั้งยากๆ หน่อย (แต่ก็อย่าลืมด้วยหล่ะ)
  3. Wi-Fi ในบ้านตั้งรหัสผ่านเข้าเป็น WPA2-AES เป็นอย่างน้อย และรหัสผ่านควรตั้งยาว แต่ยังพอจำได้
  4. เป็นไปได้หา managed switch แบ่ง VLAN ออกเป็นส่วน ๆ เช่น Home, IoT และ Guest เป็นต้น
  5. ทำ monitor traffic ของ IoT ที่ติดต่อกับ internet และ block การส่งข้อมูลออกในอุปกรณ์ที่ไม่ควรจะส่งข้อมูลออก internet ให้มันอยู่ใน VLAN นั้นเท่านั้นพอ หาก allow ให้ติดต่อ internet ก็เช็ค domain หรือ IP Address ก่อนติดต่อออกไป
  6. เป็นไปได้ให้แยก VLAN อุปกรณ์ที่คาดว่าจะมีความเสี่ยงเช่น NAS, NVR หรือ CCTV ไปไว้อีก VLAN ไม่ยุ่งเกี่ยวกับใครเลย เวลาเข้าให้ตั้งค่า policy ของ firewall ให้ allow เฉพาะ mac address หรือ IP Address ที่กำหนดเท่านั้นถึงจะเข้าไปดูได้
  7. ระบบ NAS, NVR หรือ CCTV ไม่ต่อ public internet ตรง ให้ VPN เข้าไปดูผ่าน Desktop หรือ Notebook ที่ทำตัวเป็น terminal เท่านั้น เพราะอุปกรณ์เหล่านี้สุ่มเสี่ยงถูกแฮก รวมไปถึงถูกควบคุมเป็น botnet ได้ง่ายมาก เพราะผู้ใช้งานมักไม่อัพเดทตัวซอฟต์แวร์ล่าสุด หรืออุปกรณ์สิ้นสุดการสนับสนุนจากผู้ผลิตแล้ว ทำให้มีช่องโหว่ใหม่ ๆ ตามมามีความเสี่ยงมากขึ้นไปอีก
  8. เป็นไปได้ ให้แยก Wi-Fi router สำหรับแขกที่มาบ้านอีกตัว ต่อเข้า port อีกช่องบน managed switch ที่กำหนด VLAN อย่างเฉพาะก่อนต่อเข้า router gateway หรือร่วมกับ network ภายในบ้าน และ block ไม่ให้ access ข้าม VLAN แต่เพื่อความสะดวก Guest อาจจะสามารถ Cast ขึ้น Chromecast ได้เมื่อจำเป็น
  9. ถ้าคิดว่าซีเรียสเข้าไปอีก กำหนดให้หากพบ mac address ที่ไม่ได้ลงทะเบียนก่อน จะไม่สามารถต่อ internet หรือเข้าถึง network ได้ด้วย

จากคำแนะนำเบื้องต้นข้างต้น ผมจะโฟกัสที่การเข้าถึงอุปกรณ์ทีอ่อนไหว และสุ่มเสี่ยงต่อความเป็นส่วนตัวอย่าง NAS, NVR หรือ CCTV เพราะหากถูกเข้าถึงโดยผู้ไม่หวังดี ย่อมให้เกิดความเสียหายได้อย่างมาก เรื่องนี้จึงเป็นสิ่งที่ต้องเริ่มใส่ใจให้มากขึ้น

เพราะใครจะไปคิดว่าแค่หลอดไฟมันจะต่อ WiFi และเชื่อมเข้า internet ได้มากขึ้น ฉะนั้นเรื่อง IT Security ภายในบ้านก็สำคัญ และควรเริ่มใส่ใจ

เมื่อข้อมูลบัตรเครดิตถูกขโมยไปใช้ทำอย่างไร

เมื่อหลายวันก่อน ถูกนำข้อมูลบัตรเครดิตไปซื้อสินค้า-บริการแปลก ๆ บน APPLE.COM จำนวน 2 ยอดในเวลา 2 นาที จำนวนเงิน 3,000 บาท แต่ยังโชคดีที่บัตรเครดิตดังกล่าว มีบริการแจ้งเตือนผ่านแอปว่ามีการซื้อสินค้า-บริการแทบจะทันที ทำให้เราทราบยอดหลังจากถูกใช้งานไปแล้วไม่นาน (หลักนาที)

พอผมเห็นยอดที่ไม่ได้ใช้งานโผล่มา ก็หงุดหงิดปนงง ๆ เพราะเป็นคนใช้งานบัตรเครดิตอย่างระมัดระวังอย่างมาก ทั้งปิดบัตรเลข CVV ด้วยการติดสติ๊กเกอร์ void หรือปิดบังเดือน-ปี หมดอายุของบัตรอย่างดี แต่เอาหล่ะ โดนเข้าให้แล้วก็ต้องแก้ปัญหา

เริ่มด้วยโทรหา Call Center ของบัตรเครดิตยี่ห้อนั้น เพื่อทำแจ้งอายัดบัตร ออกบัตรใหม่ เจ้าหน้าที่แจ้งขั้นตอน และส่งเอกสารเพื่อยกเลิกยอดการใช้งานดังกล่าวทันที คือวางสายแล้วไม่เกิน 5 นาที เอกสาร PDF มาถึงอีเมลที่แจ้งกับธนาคารผู้ออกบัตรไว้ พอได้เอกสารดังกล่าว พิมพ์ และกรอกข้อมูลตามเอกสาร แสกนส่งอีเมลที่ระบุในเอกสาร ซึ่งรอ 3 วันทำการ

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

หลังจากทำเรื่องทั้งต้นทาง และปลายทางแล้วสัก 2 วันทำการ ทางผมก็ได้ SMS แจ้งจากธนาคารผู้ออกบัตรว่าเอกสารเข้าสู่ขั้นตอนตรวจสอบเอกสารแล้ว

หลังจากวันที่โดนขโมยข้อมูลบัตรไปใช้งาน 4 วัน ทางธนาคารโทรมาแจ้งว่าทาง Apple คืนยอดเงินกลับมา และทางธนาคารยืนยันยอด เราสามารถตรวจสอบผ่านแอปของธนาคารได้ว่ายอดเงินกลับเข้าบัตรแล้ว พร้อมทั้งแจ้งบัตรใหม่ได้ถูกส่งออกมาแล้วและให้รอรับบัตรใหม่

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

โดยจากทั้งหมดที่กล่าวมา ผมค่อนข้างโชคดีที่โดนกับบัตรเครดิตที่มีแอปแจ้งเตือนแทบจะทันทีที่มีการตัดเงินเข้ามาในบัตร ทำให้แก้ไขปํญหาได้เร็ว ถ้าไปเจอบัตรบางใบที่กว่าจะรู้ตัวยอดก็เรียกเก็บเข้าบัตรแล้ว 3-4 วันหลังจากโดน หรือซวยหนักกว่านั้นคือจัดยอดเงินระหว่างเดือนไปแล้ว ไม่รู้จะเรื่องยาวกว่านี้ไหม

แนะนำการใช้ HTTP Strict Transport Security (HSTS) เพื่อให้เว็บเบราว์เซอร์ติดต่อผ่านช่องทางเข้ารหัสเท่านั้น

ไม่ได้เขียนเรื่องเทคโนโลยีมานาน รอบนี้เป็นบทความที่ดองมานานมาก รอบนี้เป็นบทความที่ต่อจากเรื่อง HTTP Public Key Pinning (HPKP) เพื่อป้องกัน Certification Authority ออก TLS Certificate ซ้ำซ้อน ที่เขียนไปก่อนหน้านี้

โดย HTTP Strict Transport Security (ต่อไปจะเรียกว่า HSTS) เป็นการเพิ่มประสิทธิภาพในรักษาความปลอดภัย เพื่อบอกให้เว็บเบราว์เซอร์ที่กำลังเข้ามาใช้บริการเว็บไซต์ ต้องทำงานผ่านช่องทางเข้ารหัส Hypertext Transfer Protocol Secure เท่านั้น (ต่อไปจะเรียกว่า HTTPS)

โดยจะเพิ่มชุดคำสั่งด้านล่างลงใน HTTP Header เพื่อส่งไปบอกเว็บเบราว์เซอร์

Strict-Transport-Security: max-age=expireTime [; includeSubDomains][; preload]

อธิบายโค้ดแต่ละส่วน

  • max-age required
    ระยะเวลาที่บอก client ว่าจะให้จำว่าควรเข้าเว็บผ่านช่องทางเข้ารหัส HTTPS นานเท่าใด โดยหน่วยเป็นวินาที
  • includeSubDomains Optional
    ระบุว่าการใช้งาน HSTS ดังกล่าวรวมถึง subdomain ด้วย
  • preload Optional
    หากในตัว domain ข้างต้น มีการเรียกใช้ข้อมูลใด ๆ ที่โหลดมาจาก domain ที่อยู่ในรายการ HSTS preload service บน browser ให้ใช้การเชื่อมต่อผ่านช่องทางเข้ารหัส HTTPS เช่นกัน โดย HSTS preload service นี้ Google เป็นคนดูแลรายชื่อ domain ดังกล่าวผ่าน https://hstspreload.org ซึ่งตอนนี้มี Browser อย่าง Chrome, Firefox, Opera, Safari, IE 11 และ Edge ที่ใช้รายการ domain ดังกล่าวใส่ลงใน browser ตัวเอง ซึ่งมักถูกแนะนำให้ใช้เสมอหากเราใช้ 3rd party อย่าง Javascript หรือ CSS ที่โหลดผ่าน CDN ต่าง ๆ

การใช้งาน HSTS ในเว็บเซิร์ฟเวอร์

พอได้ข้อมูลครบตามนี้ ก็เอาไปใส่ในเว็บเซิร์ฟเวอร์ โดยบทความจะยกตัวอย่าง 4 ตัว คือ Apache, Nginx, IIS และ .NET Core

Apache – (ต้องเปิด mod_headers ด้วย) เพิ่มในส่วนของ Web Server config อาจจะใส่ในส่วนของ vhost ก็ได้

Header always set Strict-Transport-Security: max-age=31536000

หรือหากมีเพิ่มพารามิเตอร์

Header always set Strict-Transport-Security: max-age=31536000; includeSubDomains

Nginx – (ต้องเปิด ngx_http_headers_module ด้วย) เพิ่มในส่วนของ Web Server config อาจจะใส่ในส่วนของ vhost ก็ได้

add_header Strict-Transport-Security: max-age=31536000

หรือหากมีเพิ่มพารามิเตอร์

add_header Strict-Transport-Security: max-age=31536000; includeSubDomains

IIS – แก้ไขที่ Web.config

<httpProtocol>
 <customHeaders>
 <add name="Strict-Transport-Security" value="max-age=31536000" />
 </customHeaders>
</httpProtocol>

หรือหากมีเพิ่มพารามิเตอร์

<httpProtocol>
 <customHeaders>
 <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
 </customHeaders>
</httpProtocol>

ASP.NET Core 2.1 หรือมากกว่า เพิ่มเติมดังนี้

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    ...
    app.UseHsts();
    ...
}

การแก้ไขพารามิเตอร์ทำผ่าน method ชื่อ ConfigureServices ได้ตามด้านล่าง

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddHsts(options =>
    {
        options.Preload = true;
        options.IncludeSubDomains = true;
        options.MaxAge = TimeSpan.FromDays(365);
    });
    ...
}

จากข้อมูลการใช้งาน และตัวอย่างทั้งหมด การเพิ่มเติมดังกล่าวมีประโยชน์ในการช่วยให้ผู้ใช้งาน เข้าเว็บผ่าน HTTPS ได้ปลอดภัยขึ้น หากในครั้งแรกที่เข้าเว็บได้รับ HTTP Header ข้างต้นอย่างถูกต้อง ในครั้งต่อไปตัวเว็บเบราว์เซอร์จะเข้าผ่าน URL protocal “https://” ทันที โดยไม่ต้องผ่าน “http://” อีก ทำให้ลดการถูก man-in-the-middle attacker เพื่อดังฟังข้อมูลอื่น ๆ ระหว่างการเปลี่ยนผ่านจาก URL protocal “http://” ไปยัง “https://” ได้ รวมไปถึงการโดน intercept traffic เพื่อให้เรารับ Certificate ที่ไม่ถูกต้องระหว่างการเข้าถึงหน้า HTTPS ได้

multi-factor authentication (MFA) ของ Google account และ Microsoft account ไม่บังคับใช้หมายเลขโทรศัพท์มือถือเพื่อรับ OTP ผ่าน SMS

การเปิดใช้ multi-factor authentication (MFA) ของ Google account และ Microsoft account ตอนนี้ไม่บังคับว่าจะต้องใช้หมายเลขโทรศัพท์มือถือในการรับ OTP ผ่าน SMS แล้ว

โดยแนวทางอื่นๆ ในการทำ MFA คือ

  1. ใช้ TOTP ผ่าน Authenticator app
  2. ใช้การยืนยัน push notification ผ่าน Authenticator app (Google เรียก Google prompt)
  3. ใช้ backup code หรือ recovery code ผ่านการจดหรือบันทึกไว้ในที่ที่ปลอดภัย

ส่วนที่ต่างของ Microsoft account มีเพิ่มเติมให้คือ
– ใช้ alternative E-mail ในการรับ OTP ได้ด้วย (ของ Google ไม่มี)

ส่วนที่ต่างของ Google account มีเพิ่มเติมให้คือ
– ใช้ USB FIDO Universal 2nd Factor (U2F) มาใช้ร่วมกับการเข้าระบบ

สำหรับความสามารถ Sign in Without Password ผ่าน Authenticator ที่เป็นการกดยืนยันเข้าระบบโดยไม่ต้องใช้ password ใดๆ ผ่านตัวแอป Authenticator ของทั้งสองค่ายนั้น มีจุดที่แตกต่างคือ Microsoft account ยินยอมให้เปิด MFA ไปพร้อมๆ กันได้ แต่ถ้าเป็น Google จะไม่ยอม จะต้องเลือกอย่างใดอย่างหนึ่ง

สำหรับผู้ให้บริการค่ายอื่นๆ ก็มีแนวทางประมาณนี้เยอะขึ้น ซึ่งส่วนใหญ่จะใช้ backup code เป็นตัวทดแทนการรับรหัส OTP ผ่าน SMS

เหตุผลที่ถอด SMS ออกจากการรับ OTP เพราะช่องโหว่บนระบบ Signalling System No. 7 (SS7) ในระบบสื่อสารผ่านโทรศัพท์ที่สามารถถูกดังฟังได้ อ้างอิง (1), (2) และ (3)

สรุป WannaCry สิ่งที่ควรรู้ และแนวทางแก้ไขปัญหา

เรื่องราวทั้งหมดที่เขียน รวบรวมมาจาก status ทั้งหมดใน Facebook ตลอด 5 วันที่ผ่านมา เอามาสรุปใหม่ เพื่อให้อ่านได้ง่าย โดยยืนพื้น status แรกไว้ก่อน เพื่อไม่ให้กระจัดกระจายไปมากกว่านี้ แน่นอนว่ามีประเด็นใหม่ ๆ และข้อมูลใหม่ ๆ ออกมาเสมอ ฉะนั้น ข้อมูล status ใน Facebook เลยตกไปค่อนข้างเร็ว และบางครั้งการกลับไปปรับปรุงให้ทันสมัยเลยค่อนข้างยาก

Malware ประเภทเรียกค่าไถ่ (ransomware) ชื่อ WannaCry (WannaCrypt, WCry  หรือ Wana Decrypt0r version 2.0) ระบาดหนักชั่วข้ามคืน (ประเทศไทย) ประมาณ 02:00 น. เป็นต้นมา สร้างความเสียหายทั่วโลก โดยเวลา 12:00 น. วันที่ 13/5/2017 (ผ่านมาแล้ว 10 ชั่วโมง) โดนโจมตีไปกว่า 100,000 เครื่องทั่วโลก จุดเริ่มต้นถูกโจมตีที่แถบยุโรปก่อน

ในเวลาต่อมานักวิจัยด้านความมั่นคงปลอดภัย MalwareTech ได้ตรวจสอบ และพบว่า WannaCry จะตรวจสอบไปยัง domain ที่ชื่อว่า iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com ก่อนเสมอ ว่ามี domain name ดังกล่าว หรือไม่ ถ้ามีจะหยุดการทำงานลง ทำให้นักวิจัยคนดังกล่าวทำการจด domain นั้นเพื่อทดสอบว่ามันคือ kill switch หรือไม่ ซึ่งก็เป็นไปตามคาด kill swtich ทำงาน การแพร่กระจายได้หยุดลง

เมื่อการแพร่กระจายในระลอกแรกสิ้นสุดลงไม่นาน WannaCry รุ่นใหม่ ที่ตัดการทำงาน kill switch ก็เริ่มระบาดอีกครั้ง นั้นหมายความว่า การต่อสู้ยังไม่จบลง และมันคงอยู่ต่อไปใน internet ตราบเท่าที่ยังมีเครื่องคอมพิวเตอร์ที่ยังมีช่องโหว่ที่ WannaCry ใช้ประโยชน์ได้อยู่ต่อไป

พอเราทราบที่มาของมันแล้ว มาดูกันต่อไปว่า ตัว ransomware นี้อาศัยช่องโหว่ของ Server Message Block version 1 (SMBv1) บน Windows ที่มีชื่อเรียกว่า ETERNALBLUE  ในการแพร่กระจายตัวเองผ่านเครือข่าย ทั้งบนอินเตอร์เน็ต และเครือข่ายภายในองค์กร ซึ่งมันสั่งทำงานได้ด้วยตัวเองโดยไม่ต้องมีการสั่งจากผู้ใช้งานบนเครื่องที่ถูกติดตั้ง ransomware แบบตัวอื่น ๆ ก่อนหน้านี้ ทำให้มันทำตัวเหมือน worm ด้วยในตัวเดียวกัน (แพร่กระจาย และทำงานได้เอง)

ว่าง่ายๆ คือ มันไม่ต้องเคาะประตูห้องครับ มันมีกุญแจไขประตูห้องเลย แล้วก็เข้ามาในห้องเอาของทั้งห้องออกไปเรียกค่าไถ่เลย ถ้าเป็นแบบอีเมลที่เคยเจอๆ กันมา คือมันเคาะประตูห้องคุณก่อน ถ้าไม่เปิดโปรแกรมรันมันก็เข้ามาไม่ได้

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

ด้านล่างคือ วิดีโอตัวอย่าง ว่าถ้ามีเครื่องติด WannaCry อยู่ใน network มันจะ scan หาเครื่องต่อไปแล้ว copy ต่อเองผ่านช่องโหว่ SMBv1 บนระบบ network ภายใน แล้วยึดเครื่องเพื่อเรียกค่าไถ่เครื่องต่อไปได้เลย ฉะนั้น ถ้าเครื่องคอมพิวเตอร์ใดๆ เปิด public internet จะโดนแบบนี้แหละ เพราะบน internet มีเครื่องที่ WannaCry ใช้เป็น botnet ในการยึดเครื่องอยู่แล้วจำนวนมาก (หลายแสนเครื่องแล้ว)

[youtube https://www.youtube.com/watch?v=K8DJCqSPmdI&w=560&h=315]

[youtube https://www.youtube.com/watch?v=96nIZUc7JVE&w=560&h=315]

จากช่องโหว่ที่นำมาสู่การแพร่กระจายดังกล่าวนั้น Microsoft ได้ออก patch MS17-010 ไปแล้วเมื่อเดือนมีนาคมที่ผ่านมา เพื่อปิดช่องโหว่ที่เกิดจากเครื่องมือแฮกของ NSA ที่หลุดออกมาเผยแพร่เมื่อหลายเดือนก่อน โดย patch ดังกล่าวครอบคลุม Windows version ดังต่อไปนี้

  • Windows Vista (Service Pack 2)
  • Windows Server 2008 (Service Pack 2) และ Windows Server 2008 R2 (Service Pack 1)
  • Windows 7 (Service Pack 1)
  • Windows 8.1 และ Windows RT 8.1
  • Windows Server 2012 และ Windows Server 2012 R2
  • Windows 10
  • Windows Server 2016

สำหรับใครที่ใช้ Windows Defender นั้น ทางไมโครซอฟท์อัพเดต Windows Defender ป้องกันภัย WannaCry แล้ว ซึ่งรวมไปถึงผู้ผลิตซอฟต์แวร์ความปลอดภัยแทบทุกรายก็อัพเดตซอฟต์แวร์ของตัวเองแล้วเช่นกัน

และหลังจากการแพร่กระจายของ WannaCry แพร่ออกไปเป็นวงกว้าง Microsoft ในวันที่ 13/5/2017 ได้ปล่อย patch หมายเลข KB4012598 เป็นกรณีพิเศษสำหรับ Windows version ที่หมดการสนับสนุนไปแล้ว ตามรายการด้านล่างนี้

  • Windows XP และ Windows XP Embedded
  • Windows Vista
  • Windows Server 2003 และ Windows Server 2003 Datacenter Edition
  • Windows Server 2008
  • Windows 8

เมื่อเรารู้ปัญหา การแพร่กระจาย และเครื่องมือในการแก้ไขปัญหา สุดท้ายก็มาสู่แนวทางในการแก้ไขปัญหา

การป้องกันหลัก ๆ ณ ตอนนี้ มี 2 ส่วนหลัก ๆ คือ

1. อัพเดท patch ล่าสุดผ่าน Windows update สำหรับ Windows ที่ยังได้รับการสนับสนุนจาก Microsoft อยู่ และหากเป็น Windows ที่ทาง Microsoft ออก patch เป็นกรณีพิเศษ ให้ติดตั้งแก้ไขลงไป ซึ่งเป็นการแก้ไขปัญหาช่องโหว่นี้ที่ง่าย และตรงจุดที่สุด

2. สำหรับองค์กรที่มีจำนวนเครื่องเยอะจนไม่สามารถอัพเดทได้ทันทีทุกเครื่อง ให้ปิดการเข้าถึง internet ของเครื่องคอมพิวเตอร์ที่ยังไม่ได้อัพเดท patch MS17-010 เพื่อป้องกันขั้นแรก แล้วปิดการใช้งาน SMBv1 และ-หรือตั้ง Rule Firewall ไม่รับการเชื่อมต่อ port 139 และ 445 จากอินเทอร์เน็ต แล้วทยอยติดตั้ง patch ตัวดังกล่าวต่อไป เพื่อแก้ไขปัญหาให้ตรงจุดต่อไป

ทั้งนี้ การแก้ไขปัญหาด้วยวิธีที่ 2 เป็นเพียงการประวิงเวลา และช่วยให้เราสามารถจัดการอะไรได้ง่ายขึ้น ซึ่งการปิด SMBv1 จะมีผลกระทบ อาจทำให้การทำงานต่างๆ หยุดชะงักได้ คือ

  1. SMBv1 ทำงานบน Windows XP หรือ Windows Server 2003 การปิดอาจทำให้มีปัญหาในการ shared file และ share printer
  2. ไม่สามารถใช้งานพวก Network Neighborhood สำหรับ Windows รุ่นเก่า ๆ ได้
  3. NAS, network multi-function printers และอุปกรณ์ที่ใช้การแชร์ไฟล์ บางรุ่นที่ใช้ SMBv1 หากปิดไปจะใช้อุปกรณ์พวกนี้ไม่ได้

ฉะนั้นหากอัพเดท patch เรียบร้อย ก็สามารถเปิด SMBv1 กลับมาใช้งานเพื่อทำงานต่อไปได้

แนวทางป้องกันสำหรับอนาคต

  1. ไม่ควรเปิด หรือใช้งานไฟล์ใด ๆ ที่ได้มาทางอีเมล จากบุคคลแปลกหน้า หรือคุ้นเคย โดยไม่มีการตรวจสอบอย่างแน่ชัดว่า ไฟล์ที่ส่งมานั้น เป็นการส่งมาโดยบุคลลนั้นจริง ๆ เพื่อปกป้องกันการแอบอ้าง และหลอกให้เราเปิดไฟล์นั้น ซึ่งนำมาสู่การถูกโจมตีด้วย malware ต่าง ๆ
  2. ใช้ Anti-malware หรือ Internet Security ในการป้องกันตัวเอง และทำการอัพเดทฐานข้อมูลป้องกัน malware อยู่เสมอ
  3. ควรอัพเดท operating system ต่างๆ ไม่ว่าจะ Windows, Linux หรือ Mac เป็นต้น โดยอัพเดทให้เป็นตัวล่าสุดอยู่ตลอดเสมอเท่าที่ทำได้ เพื่อป้องกันช่องโหว่ใหม่ ๆ ที่เราไม่รู้ว่าในอนาคตจะไปหวยออกที่ operating system ตัวไหน
  4. ทำการสำรองข้อมูลอย่างสม่ำเสมอ (backup data)

โดยคำแนะนำในการสำรองข้อมูลที่ช่วยลดความสูญเสียของข้อมูลเรา โดยใช้ HDD External 2 ชุด (ใช้คำว่าชุด เพราะอาจจะต่อ RAID หรือใช้แบบเดี่ยวๆ ก็ได้ แล้วแต่กำลังทรัพย์)

HDD External ชุดแรก เก็บแบบ Daily ผมเรียกชุดนี้ว่าแบบ online คือต่อไว้ตลอด โดยใช้โปรแกรม Auto Backup (ส่วนตัวใช้ Acronis True Image) ทำ Daily Backup ข้อมูลเอกสารสำคัญเก็บไว้ทั้งหมด รวมถึงพวกข้อมูลที่ sync บน Cloud อย่าง Dropbox ด้วย ต่อทิ้งไว้ตอนกลางคืนให้มันทำงานทุกวัน

HDD External ชุดสอง เก็บแบบ Weekly และ Monthly ผมเรียกชุดนี้ว่าแบบ offline คือต่อไว้เฉพาะตอนที่เราจะทำการ backup เท่านั้น โดยจะ copy ข้อมูลส่วนของ Daily มาใส่ไว้ที่นี่ ทุกๆ วันเสาร์หรืออาทิตย์เป็นเซ็ตๆ พอครบเดือน จะเก็บ full backup ล่าสุดของเดือนนั้นไว้ 1 เซ็ต สำหรับเดือนนั้นๆ ไว้ เก็บไว้สัก 3 เดือนก็ลบเดือนเก่าทิ้ง พอ backup เสร็จแล้ว ก็ถอดออกจากเครื่องแล้ววางไว้ในที่ปลอดภัย

HDD External จะทำ full encryption (เข้ารหัส) หรือไม่ก็แล้วแต่ถนัด เพราะเป็นการป้องกัน การถูกเอา HDD ไปเปิดเพื่อดูข้อมูลโดยผู้ไม่หวังดีอีกชั้น

ทำแบบนี้เป็นประจำก็แบ่งเบาความเสียหายจาก ransomware ได้เป็นส่วนใหญ่แล้ว

หากคิดว่าการสำรองข้อมูลด้วย HDD จำนวน 2 ชุดอาจจะไม่เพียงพอ สามารถใช้ Cloud Service ช่วยสำรองข้อมูลต่างๆ ได้ อย่างเช่น Dropbox, Onedrive หรือ Google Drive เป็นต้น ก็ช่วยลดความเสี่ยงของข้อมูลลงไปได้อีกมากเลยทีเดียว

โดยงบประมาณก็แล้วแต่ขนาดข้อมูล ซึ่งผมใช้ HDD External 2.5″ ชุดแรกขนาด 500GB ทำ Daily และชุดสองทำ Weekly และ Monthly ขนาด 1TB ก็เพียงพอสำหรับข้อมูลสำคัญ (ค่าใช้จ่ายโดยรวมไม่น่าถึง 5,000 บาท) หรือถ้าใช้ Cloud Service ก็บอกเพิ่มค่าเช่าต่อปีไปตามขนาดข้อมูลสำคัญไปตามแต่กำลังทรัพย์

สุดท้าย ransomware ส่วนใหญ่ หากถูกเรียกค่าไถ่ และต้องการเอาข้อมูลกลับมา มักจะไม่สามารถนำข้อมูลกลับมาได้ในเร็ววัน ซึ่งแน่นอนว่าต้องขอแสดงความเสียใจด้วย สำหรับ WannaCry ณ. วันที่ 17/5/2017 เพราะยังไม่มีตัวถอดรหัสนำข้อมูลกลับได้ ถ้าโดนเข้ากับตัว ก็คงต้องทำใจจ่ายเงินอย่างเดียว

แต่ข่าวร้าย ในขณะนี้ server ของผู้ปล่อย malware ดังกล่าว ก็ไม่สามารถรองรับการส่ง private key เพื่อถอดรหัสกลับมาให้เราได้อย่างมีเสถียรภาพ การจ่ายเงินไปอาจไม่รับประกันว่าจะได้ private key กลับมาเพื่อถอดรหัส

ข้อมูลทั้งหมดนี้รวบรวมมาตามแหล่งที่มีด้านล่างนี้ และหวังว่าจะช่วยให้คนทั่วไปที่อาจจะไม่มีความรู้ความเข้าใจ ได้มีแนวทางที่ช่วยให้รอดพ้นจาก ransomware ในอนาคต

ประวัติการแก้ไข

  • 13/5/2017 03:35 – อัพสถานะแรกบน facebook.com
  • 13/5/2017 12:40 – อัพเดทแนวทางป้องกันอื่นๆ เพิ่มเติม
  • 13/5/2017 15:00 – อัพเดทลำดับการเขียนใหม่เพื่อให้อ่านง่ายขึ้น
  • 13/5/2017 15:30 – อัพเดทเพิ่มเติมส่วน Windows XP, Windows Vista, Windows 8 และ Windows Server 2003
  • 13/5/2017 16:40 – อัพเดทเพิ่มเติมส่วน ไมโครซอฟท์อัพเดต Windows Defender ป้องกันภัย WannaCry
  • 18/5/2017 00:50 – อัพเดทขึ้น blog และรวบรวมข้อมูลอื่น ๆ ประกอบเข้ามาเพื่อความสมบูรณ์ของเนื้อหา