By Arnon Puitrakul - 02 สิงหาคม 2021
ปกติเวลาเราเข้าเว็บ เราก็จะเปิด Web Browser ไม่ว่าจะเป็นพวก Google Chrome หรือ Safari อะไรก็ว่ากันไป เราก็จะพิมพ์ชื่อเว็บ เว็บนั้น ๆ ก็จะถูกโหลด และ แสดงผลมาให้เรา แต่จริง ๆ แล้ว เครื่องคอมพิวเตอร์ไม่เข้าใจชื่อเว็บจริง ๆ มันจะต้องใช้สิ่งที่เรียกว่า DNS (Domain Name Server) ในการแปลง ชื่อเว็บ (Domain Name) ที่เราจำได้ให้เป็น IP Address หรือที่อยู่ที่เครื่องเข้าใจ แน่นอนการทำลักษณะนี้ มีจุดอ่อนในการถูกโจมตีได้แน่นอน วันนี้เราจะพามาแนะนำให้รู้จักกับการโจมตีในการปลอมแปลง DNS กัน ก็คือการทำ DNS Spoofing ว่าเป้าหมายทำเพื่ออะไร ทำอย่างไรได้บ้าง และ เราจะป้องกันได้อย่างไร
DNS หรือ Domain Name Server เป็น Application ตัวหนึ่งที่ทำงานอยู่บน Application Layer ใน OSI Model ทำหน้าที่ง่ายมาก ๆ คือ การแปลง Domain Name ให้กลายเป็น IP Address เพื่อให้เครื่องสามารถเข้าใจ และทำการเชื่อมต่อไปหาได้
หลักการข้างในจริง ๆ ก็คือเป็น Server ตั้งอยู่ตัวนึงเลย ที่ในนั้นมันจะมีตารางเทียบระหว่าง Domain Name และ IP Address ไว้อยู่ แล้วอาจจะมี Web Browser ไปเรียกถามว่า โอเคเว็บ Domain Name นี้ เขามี IP Address อะไร ถ้าเว็บทั้งโลกมีจำนวนไม่เยอะ ทำแบบนี้ตรง ๆ เลยมันก็ง่ายดีนะ เรียกแล้วเราก็ได้ผลลัพธ์มาเลย แต่ปัญหาคือ โหยยยย เว็บมันมีเยอะมาก ๆ เลยนะ ถ้าเราต้องให้เครื่อง ๆ นึงเก็บชื่อทุกเว็บ ไหนจะมีขนาดข้อมูลที่ใหญ่มาก ๆ และ กว่าจะหาเจอมันก็นาน เราทำยังไงได้บ้างนะ
ถ้าเราสังเกตที่ชื่อเว็บดี ๆ ใน Domain Name ของเรามันจะมีการคั่นด้วย จุด เช่น google.com ก็คือมี google และ com หรือ pornhub.com มันก็จะแยกออกมาเป็นคำว่า pornhub และ com อีก ถ้าเราลองเอามันมาวาดเป็น Tree เราก็น่าจะได้ Root ที่เป็นคำว่า com และ Leaf ที่มี 2 Node คือ google และ pornhub ตัวสุดท้ายที่เป็นคำว่า com เราจะเรียกมันว่า Top-Level Domain หรือเป็น Domain ที่อยู่สูงสุด ส่วน google และ pornhub จะเป็น Domain Name เฉย ๆ
เราจะเห็นว่า เว็บเราสามารถทำเป็น Tree ได้ คิดเร็ว ๆ เราอาจจะ Search จาก Tree ได้ง่าย ๆ เลยสิใช่ม่ะ ก็ทำให้เร็วขึ้นจริง ๆ วิธีของ DNS จริง ๆ ก็คือ การค่อย ๆ อ่านไล่ลงจาก Top-Level Domain ลงมา เช่น google.com มันจะอ่าน com ก่อน และเข้าไปหาว่า โอเค DNS Server ที่เก็บ .com มันอยู่ที่ไหน และเข้าไปถามว่าเออ google.com อยู่ที่ไหนอีกทีนึง ด้วยวิธีนี้ทำให้เราไม่จำเป็นที่จะต้องเก็บ ตารางของ Domain Name และ IP Address ทั้งหมดของทั้งโลกไว้หลาย ๆ ที่แล้ว เราก็เก็บเฉพาะพวก Top-Level Domain ยังได้เลย แล้วค่อยไปถามลงไปเรื่อย ๆ เอา
แต่ปัญหามันก็ตามมาอีก เพราะการที่เราเรียกหลาย Server ลงไปเรื่อย ๆ ก็ทำให้เกิดเรื่องของความล่าช้าเกิดขึ้นแน่นอน กว่าเราจะไปเรียก Top-Level Domain Name Server มันก็ต้องไปเรียก Domain ไล่ลงไปเรื่อย ๆ มันก็ย่อมช้ากว่าการที่เราเรียกเครื่องเดียวได้แน่ ๆ ใช่ป่ะ ดังนั้น จริง ๆ แล้วใน Router ที่เราใช้งานกันอยู่ มันจะมีการทำ DNS Cache เอาไว้เลย เช่น เราเข้า google.com ไว้ครั้งนึง Router มันจะจำไว้เลยว่า อ่อ อยู่ที่นี่นะ คราวหน้า ถ้าเข้าอีก มันก็จะเข้ามาหาใน Cache แล้วถ้าเจอ ก็คืนค่ากลับไปเลย จริง ๆ แล้วใน ISP ก็ทำไว้เหมือนกัน ดังนั้น ในความเป็นจริง DNS Server มันก็จะมี Level ไล่ ๆ ขึ้นไปนั่นเอง อาจจะจาก Router ในบ้านเรา ขึ้นไปที่ ISP ขึ้นไปที่พวก Top-Domain Name Server เลยก็ได้
อ่านมาถึงตรงนี้ อยากให้ใช้เวลาเอ๊ะก่อนนิดนึง คิดว่าการทำงานของ DNS ที่เราเล่ามา มันมีช่องโหว่อะไรมั้ย.... โอเค หมดเวลา เฉลยเลยละกัน เวลาเรายิง Request ไปที่ DNS แล้วเราขอ IP Address จาก Query ที่เราส่งไป มันไม่มีกลไกในการเช็คเลยว่า สิ่งที่เราได้กลับมา มันมาจากที่ ๆ ควรอยู่หรือไม่ ทำให้มันมีช่องโหว่ตรงนี้เลย
ถ้าใครที่เคยดูหนังเรื่อง Ted ที่เป็นตุ๊กตาหมีพูดได้ในภาค 2 ที่ Search อะไรใน Search Engine กันทีไร มันก็แสดงผลการค้นหาของ Black Co_k อย่างเดียวอะ จริง ๆ ก็คือตัวอย่างของการทำ DNS Spoofing ได้เหมือนกัน เอาแบบขำ ๆ อะนะ
เพื่อให้เข้าใจความน่ากลัวมากขึ้น เราจำลองสถานการณ์ง่าย ๆ เลยคือ เรายิง DNS Request เพื่อขอ IP Address ของเว็บ abc.com พอได้คำตอบจาก DNS มาอาจจะเป็น 123.541.25.3 แต่จริง ๆ แล้วอาจจะเป็น 112.44.25.113 ตัวคนเรียกไม่รู้เลยนะว่า เราได้ของที่ถูกต้อง หรือไม่ถูกต้องมา เอาให้พีคกว่านั้นอีก ถ้าเกิดว่า มันตั้งใจละ เช่นเป็นเว็บของธนาคาร แล้วมีการปลอมคำตอบไปที่เว็บที่หน้าตาเหมือนกันเลย เป็น Phishing Site คนไม่ได้ดูก็คือแตกเลยนะ (จริง ๆ ดูจาก SSL ได้อยู่ เพราะ Phishing Site จะเชื่อมต่อแบบ SSL กับ Client ไม่ผ่าน เพราะ Key File มันไม่ตรงกัน เว้นแต่ จะมี Private Key ของเว็บนั้น ซึ่ง ฮัลโหลลลล ใครมันจะโง่หลุดออกมา เอ่อ ไม่แน่หว่ะ ฮ่า ๆ) และยิ่งเจอ User ที่สนอะไรบนหน้าจอเลย กด Continues ตลอด ๆ ก็คือจะ Danger !!!! อะไรมาช่างมันหมด เจอแบบนี้เข้าไปก็คือ อ่อ กรอก Username/Password Login เข้าไปหมดแล้วจ๊ะ แตก !!
เอาหล่ะ ถ้าเราจะโจมตีช่องโหว่ เราจะทำยังไงได้บ้างละทีนี้ วิธีแรก เราอาจจะสร้าง DNS Server ขึ้นมา อาจจะทำง่าย ๆ เลย ใช้ Software อย่าง Pi-Hole ก็ได้ แล้ว Custom DNS ไปเลยว่า ถ้ามาด้วย Domain Name ที่เราต้องการให้ยิงไปที่ IP Address ที่เราต้องการได้เลย แต่ปัญหาของวิธีนี้คือ เราจะต้องเข้าถึงเครื่องของเหยื่ออะสิ เราต้องเข้าไปเซ็ต DNS Server ของเครื่องเหยื่อเราให้ชี้ไปที่ Pi-Hole ของเรา ซึ่งอาจจะเป็นการเข้าถึงเครื่องแบบ Physical หรืออาจจะใช้การทำ Social Engineering เพื่อส่ง Malware ต่าง ๆ เข้ามาเพื่อเปลี่ยนการตั้งค่าของ DNS Server
ถ้ามันติดว่า ที่เครื่องของเหยื่อ มีการตั้งค่า DNS Server เอาไว้แล้ว ถ้าเราหลอกละว่า เราเป็น DNS Server ซะเอง จะได้มั้ย ย้อนกลับไปที่ตอนก่อน ที่เราคุยกันเรื่องของ ARP Poisoning มันเป็นการหลอกว่า เราเป็น IP Address นี้จริง ๆ จากช่องโหว่ที่ ARP ไม่ได้เช็คอะไรเลย เราก็สามารถใช้ Trick นี้แหละแก้ปัญหานี้ได้เลย
หลักการในการโจมตีนี้ก็คือ เราจะทำ ARP Poisoning เพื่อหลอกว่า เห้ยชั้นเป็น DNS Server ตัวจริงนะ ทำให้เราสามารถรับ DNS Query จากเครื่องต่าง ๆ ใน Network ได้ จากนั้น เราก็แค่ติดตั้ง DNS Server ลงไปในเครื่องของเรา แล้วทำการกำหนด Domain Name และ IP Address ปลายทางได้เลย เมื่อมี DNS Query เข้ามา ตัว DNS Server ที่เราตั้งไว้มันก็จะตอบกลับไปที่ต้นทาง แต่เป็น IP Address ที่เราตั้งไว้ อาจจะเป็น Phishing Site หรือเว็บต่าง ๆ ที่เราต้องการได้เลย
ก่อนเราจะไปลองเล่นกัน เราบอกก่อนนะว่า การลองทำครั้งนี้ ทำเพื่อการศึกษาเท่านั้นนะ ไม่เอาไปใช้ข้างนอกนะ ทำใน Environment ที่ควบคุมเท่านั้นนะ !!! เป้าหมายของ Lab นี้เราต้องการที่จะปลอมหน้า Facebook ขึ้นมา และชี้ให้เหยื่อเข้ามาที่หน้าปลอมที่เราทำขึ้นมา
ในการเตรียม Environment เราแนะนำให้ใช้ Kali Linux ซึ่งเป็น Distro ของ Linux ตัวนึงที่ออกแบบมาเพื่อการทำ Pentation Testing และการทำ Ethical Hacking โดยเฉพาะ เพราะมันติดตั้ง Tool มาให้เราเรียบร้อยเลย เราไม่ต้องมานั่งลงเองเลย
ก่อนอื่น เราจะต้องเริ่มจากการ Clone หน้าปลายทางที่เราต้องการมาก่อนใน Kali มันจะมี Social Engineering Tools มาให้เราใช้งานได้เลย เข้าไปที่ Terminal และรัน sudo setoolkit ขึ้นมาให้เรา เลือก Social-Engineering Attacks > Website Attack Vectors > Credential Harvester Attack Method > Site Cloner มันจะถาม IP Address ที่เราต้องการให้มันดึง Credential ต่าง ๆ ที่ดักมาได้ กด Enter ผ่านไปได้เลย ค่าเริ่มต้นจะเป็น IP Address ของเครื่อง Kali
จากนั้นมันจะถามว่า เราต้องการที่จะ Clone หน้าเว็บ URL อะไร ในที่นี้ เราต้องการที่จะใช้ Facebook เป็นเหยื่อ เราก็ใส่ไป
ตอนนี้หน้าปลอมของเราก็พร้อมใช้งานแล้ว อยากทดสอบ ให้ลองเข้าไปที่ IP Address ที่เราบอกมันไปเลย ถ้าเรากดผ่านไปอย่างที่บอก ให้ดูที่ IP Address ของเครื่องเราว่าเท่าไหร่ แล้วลอง Access เข้าไปดู
ถ้าเราเข้ามาดู เราจะเห็นเลย มันเหมือนหน้าจริงมาก ๆ แน่ละ เพราะมันเข้าไป Clone มาจากหน้าจริง ๆ เลย ซึ่งจะบอกว่า Form ที่ขึ้นอยู่ตรงนั้น มันกรอกแล้วกด Login ได้จริง ๆ นะ แต่ไม่ได้เข้าหน้า Facebook ไง กลับกัน อย่าลืมว่ามันเป็นหน้าหลอก ดังนั้นพวก Username และ Password มันโยนกลับมาที่หน้า Terminal ของคนทำเลยนะ แตกนะบอกก่อน ถึงตรงนี้ เราอยากให้ดูดี ๆ ว่า หน้าที่เราปลอมขึ้นมา มันทำงานอยู่บน HTTP ดังนั้น เวลาเราใช้งานเว็บไซต์จริง ๆ เรื่องการตรวจสอบว่าเว็บที่เราใช้อยู่มันรันบน HTTPS อยู่หรือไม่ และ รันอย่างถูกต้องหรือไม่อันนี้เช็คดี ๆ ก่อนจะกรอกข้อมูลอะไรลงไปนะ บอกเลยว่า เว็บปลอมแบบนี้โดนออกแบบมาเพื่อดักคนที่ไม่เช็คโดยเฉพาะเลย เอาหละ ตอนนี้หน้าปลอมของเราพร้อมทำหน้าที่ของมันแล้ว ต่อไปเราต้อง Launch ARP Poisoning Attack และ DNS Spoofing Attack กัน
ในการทำ ARP Poisoning และ DNS Spoofing เราจะใช้โปรแกรมอีกตัวที่ชื่อว่า Ettercap ถ้าใครที่อ่าน ARP Poisoning รอบที่แล้วก็คือตัวเดียวกันเลย แต่ใน Kali เรามีเป็น GUI ให้เรากดได้เลย
facebook.com A <Clone-Site-IP>
*.facebook.com A <Clone-Site-IP>
www.facebook.com PTR <Clone-Site-IP>
ขั้นตอนแรกเราจะต้องทำ DNS File เพื่อบอก Ettercap ว่าเราจะให้มันรับกับ Query อะไร และตอบกลับเป็นอะไร ในที่นี้เราต้องการจะหลอก User ที่เข้า Facebook ให้ไปที่หน้าลวงที่เราทำขึ้นมานั่นเอง ให้เราเปิดไฟล์ etter.dns ถ้าหาไม่เจอใช้คำสั่ง locate etter.dns ไปที่บรรทัดสุดท้าย และเพิ่ม 3 บรรทัดด้านบนนี้ลงไป เพื่อเป็นการบอก Ettercap ว่า ถ้า Domain เข้ามาเป็น facebook.com หรือ www.facebook.com หรือ อะไรก็ตามที่เป็น Subdomain ของ Facebook ให้ยิงไปที่ หน้าปลอมที่เราทำขึ้นมา
ตอนนี้ DNS File ของเราพร้อมแล้ว เรามาเริ่มใช้งาน Ettercap เลย เปิดขึ้นมาได้เลย การที่เราจะทำ DNS Spoofing ได้ มันจะต้องทำผ่าน Plugin ให้เราเข้าไปเปิด Plugin ที่ชื่อว่า dns_spoof ก็จะเป็นการเตรียมการโจมตี DNS Spoofing สำเร็จแล้ว
จากนั้น เราจะมาเริ่มการ ARP Poisoning กันต่อ ก่อนอื่น เราจะต้องเข้าไปเพิ่มเหยื่อของเราก่อนว่า เหยื่อจะเป็นใคร ถ้ารู้ IP Address ภายในก็เพิ่มเข้าไปได้เลย ในตัวอย่างจะเป็น 192.168.88.85 ก็คือ เครื่องที่เรากำลังใช้ทดลอง Lab นี้จำลองเป็นเหยื่อ
และเราก็สามารถเริ่มการทำ ARP Poisoning ได้เลย
กลับมาที่เครื่องของเหยื่อ ถ้าเข้ามาที่ Facebook มันจะพาไปหน้า Login เลย เอาจริง ๆ นะ ถ้าไม่ดูดี ๆ มันก็น่ากลัวเหมือนกันนะ แอบตกใจนึกว่าของจริงเหมือนกัน เวลาทำจริง ๆ แนะนำว่า อย่าเอาเครื่องตัวเองจริง ๆ ทำให้ทำใน VM หรือ Environment ที่เราควบคุมได้เยอะ ๆ เลย ไม่งั้น มัน งง ไปหมดแน่นอน
ถ้าเราลองเช็คในเครื่องของเหยื่อดูว่าถ้าเราให้มัน DNS Resolution มันจะไปโผล่ที่ไหน จากรูป เราก็จะเห็นว่า มันไปโผล่ใน 192.168.88.50 หรือก็คือ IP Address ของที่ ๆ เราทำ Credential Harvester มานั่นเอง จะเห็นได้ว่า DNS แอบโดนแก้เรียบร้อยแล้ว โดยที่เราไม่ได้ยุ่งอะไรกับเครื่องของเหยื่อเลย
สิ่งที่เราทำคือ เราทำ ARP Poisoning เพื่อ Relay Traffic ผ่านมาที่เรา และอันไหนที่เป็น DNS Query และมี Domain Name ตรงกับที่เราตั้งไว้ มันก็จะสลับเปลี่ยนมาใช้เป็นของที่เราตั้งไว้นั่นเอง ทำให้เหยื่อของเราเข้าไปที่หน้าปลอมนั่นเอง ส่วนพวกการทำ Credential Harvester เราขอไม่ทำให้ดูนะ แค่นี้ก็เสียวคุกจะแย่ละ
ทริกนี้ จริง ๆ แล้วไม่ได้ถูกใช้แค่ในการโจมตี เหมือนที่เรายกตัวอย่างเท่านั้น แต่ยังถูกใช้ในการ Censor Content บางอย่างใน Internet ได้ด้วย ถ้าเราเข้า Pornhub ดู เราจะเห็นว่า ถ้าเราเข้าผ่าน Google Chrome มันจะแจ้งเตือนเลยว่า มันไม่สามารถที่จะเชื่อมต่อแบบ SSL ได้ ถ้าเราดูข้อมูล เราจะเห็นว่า Google Chrome มันพยายามที่จะเชื่อมต่อไปหา Pornhub แหละ แต่มันต่อแบบ SSL ไปที่ illegal.mdes.go.th ไม่ผ่าน ซึ่งเว็บ mdes.go.th ก็คือเว็บของ กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม นั่นเอง
ถ้าเรากดเข้าไป เราก็จะเจอกับข้อความว่า เนื้อหาถูกระงับ เพราะอะไรก็ว่ากันไป แต่เราสังเกตที่ URL มันก็ยังเป็น Pornhub อยู่นะ แต่หน้าเว็บมันไม่ใช่ เป็นเพราะ เวลาเราเรียก DNS ไป มันตอบกลับมาเป็น URL ที่แสดงหน้า Block ของกระทรวง ทำให้เราเชื่อมต่อไปที่ Pornhub จริง ๆ ไม่ได้นั่นเอง
ซึ่งถามว่า เอ๊ะ แล้วทำไม DNS มันชี้ไปที่นั่นได้ อย่างที่เราเล่าว่า DNS Server มันสามารถทำงานเป็นทอด ๆ ได้ ถ้าเราชี้ไปที่ Router แล้วมันไม่มี มันก็จะไปหาที่พี่ของมันอาจจะเป็น ISP และที่ ISP นั่นเอง ที่มีการ Spoof DNS เอาไว้ให้ชี้ไปที่หน้านั้นนั่นเองงงงง และจะบอกว่า แกร์ ที่เขาทำนี่คือ เขามีอำนาจทางกฏหมายจริง ๆ นะ ที่จะสามารถสั่งให้ผู้ให้บริการปิดการเข้าถึง หรือ ลบ Content ได้น่ะ (อะ สักพักเว็บนี้แหละ โดนก่อนเลย) เราลองไปหามา มีเว็บของ iLaw เขียนเรื่องนี้ไว้ด้วยเด้อ พวกเรื่องขั้นตอนการ Censor หรือ Block เราไม่พูดละกัน เพราะเราไม่ใช่นักกฏหมาย
สุดท้าย เมื่อเรารู้แล้วว่าการโจมตีประเภทนี้ทำงานยังไง เราต้องมาหาวิธีในการป้องกันบ้างดีกว่า ในเมื่อปัญหาคือ DNS รับบทนางเชื่อหนึ่ง แล้วมันไม่ปลอดภัย เราก็ทำให้ DNS มันฉลาดขึ้น ด้วยสิ่งที่เรียกว่า DNSSEC (Domain Name System Security Extension) จากเดิมที่เรารับคำตอบมาเฉย ๆ ซึ่งข้อมูลมันก็โดนเปลี่ยนเมื่อไหร่ก็ได้เหมือนกับตอนที่เรายังใช้ HTTP ปกติอยู่
DNSSEC บอกว่า ไม่เอาแล้ว เราจะทำคล้าย ๆ กับ HTTPS เลยคือ เราจะให้ปลายทางใช้สิ่งที่เรียกว่า Asymmetric Encryption คือ Private Key เข้ารหัสข้อมูลไว้ฝั่ง DNS Server และทำการส่งกลับมาเป็นทอด ๆ เหมือนเดิม ทำให้ระหว่างทางมองไม่เห็นเลยว่า มันตอบ IP Address อะไรกลับมา ทำให้ระหว่างทางไม่สามารถแก้ข้อมูลอะไรได้เลย หรือถ้าแอบแก้ตอนที่ข้อมูลกลับมาที่เรา และเราพยายามที่จะใช้ Public Key ฝั่งเราถอดรหัสกลับมามันจะถอดรหัสกลับออกมาไม่ได้ เพราะ Private Key ที่เข้ารหัสของเรามันไม่เข้าคู่กันกับ Public Key ที่เรามี ระบบก็จะรู้ทันทีว่า มีอะไรบางอย่างเกิดขึ้นแน่นอน
สำหรับเจ้าของ Domain Name เราจะต้องเข้าไปเปิดการใช้งาน DNSSEC ด้วยนะ สำหรับคนที่ใช้ Cloudflare ให้เข้าไปที่ DNS และ Setup DNSSEC มันจะให้พวกข้อมูลต่าง ๆ ที่ต้องใช้มา เราเอาข้อมูลพวกนี้ไปใส่เข้ากับ Control Panel ของ Domain Name Registrar ของเราได้เลย
นอกจากนั้น การที่ Website ต่าง ๆ รองรับการใช้งาน HTTPS แล้ว ก็จะช่วยได้เยอะมาก ๆ อย่างที่เราเห็นกันไปในส่วนของการ Censor ต่าง ๆ เราจะเห็นได้เลยว่า มันจะเชื่อมต่อแบบปลอดภัยไม่ผ่าน เพราะชื่อที่อยู่มันไม่ตรงกับในใบ Certificate ทำให้เรารู้ได้ทันทีว่า หน้าที่เปิดตอนนี้ไม่น่าไว้วางใจ เราก็ควรที่จะหลีกเลี่ยงการใช้งานไปเพื่อความปลอดภัย
และสุดท้าย การใช้ Public DNS ที่น่าเชื่อถือ ก็เป็นตัวเลือกที่ดีในการป้องกันเบื้องต้นด้วย เพราะอย่างของ Google และ Cloudflare เองก็มีการป้องกันในเรื่องพื้นฐานหลาย ๆ เรื่องทำให้เรามั่นใจได้ในเบื้องต้นว่า DNS ที่เราใช้อยู่นั้นมีความปลอดภัย และยังรอ
DNS Spoofing หรือบางคนอาจจะเรียก DNS Poisoning เป็นการโจมตีแบบ Man-in-the-Middle (MITM) แบบหนึ่งที่พุ่งเป้าไปที่การเปลี่ยนแปลงข้อมูลในขั้นตอนของการทำ Domain Name Resolution (การแปลงจาก Domain Name เป็น IP Address) ผ่าน DNS ซึ่งจะปลอมเป็น DNS Server และตอบเป็น IP Address ที่ต้องการ ซึ่งอาจจะปลอมแปลงเพื่อการทำ Phishing Site หรืออื่น ๆ อีกมากมาย สิ่งที่ผู้ใช้อย่างเราจะทำได้เพื่อป้องกันสิ่งเหล่านี้คือการตรวจสอบเว็บไซต์ที่เราเข้าอยู่เสมอว่า มีการเชื่อมต่อผ่าน HTTPS อย่างถูกต้องหรือไม่ ถ้ามันขึ้น Warning หรือ Danger อะไร เราก็ควรจะใช้งานด้วยความระมัดระวังเป็นอย่างมาก
เราเป็นคนที่อ่านกับซื้อหนังสือเยอะมาก ปัญหานึงที่ประสบมาหลายรอบและน่าหงุดหงิดมาก ๆ คือ ซื้อหนังสือซ้ำเจ้าค่ะ ทำให้เราจะต้องมีระบบง่าย ๆ สักตัวในการจัดการ วันนี้เลยจะมาเล่าวิธีการที่เราใช้ Obsidian ในการจัดการหนังสือที่เรามีกัน...
หากเราเรียนลงลึกไปในภาษาใหม่ ๆ อย่าง Python และ Java โดยเฉพาะในเรื่องของการจัดการ Memory ว่าเขาใช้ Garbage Collection นะ ว่าแต่มันทำงานยังไง วันนี้เราจะมาเล่าให้อ่านกันว่า จริง ๆ แล้วมันทำงานอย่างไร และมันมีเคสใดที่อาจจะหลุดจนเราต้องเข้ามาจัดการเองบ้าง...
ก่อนหน้านี้เราเปลี่ยนมาใช้ Zigbee Dongle กับ Home Assistant พบว่าเสถียรขึ้นเยอะมาก อุปกรณ์แทบไม่หลุดออกจากระบบเลย แต่การติดตั้งมันเข้ากับ Synology DSM นั้นมีรายละเอียดมากกว่าอันอื่นนิดหน่อย วันนี้เราจะมาเล่าวิธีการเพื่อใครเอาไปทำกัน...
เมื่อหลายวันก่อนมีพี่ที่รู้จักกันมาถามว่า เราจะโหลด CSV ยังไงให้เร็วที่สุด เป็นคำถามที่ดูเหมือนง่ายนะ แต่พอมานั่งคิด ๆ ต่อ เห้ย มันมีอะไรสนุก ๆ ในนั้นเยอะเลยนี่หว่า วันนี้เราจะมาเล่าให้อ่านกันว่า มันมีวิธีการอย่างไรบ้าง และวิธีไหนเร็วที่สุด เหมาะกับงานแบบไหน...