LLM Safety

เรื่องสมมติที่เกิดขึ้นจริง


ในฝั่ง cybersecurity เราเริ่มใช้ AI ในการป้องกันมาพักนึงแล้ว และพบการโจมตีมากขึ้นเรื่อย ๆ รวมถึงเห็นภัยคุกคามใหม่ ๆ ที่เชื่อมโยงกับ AI ด้วยเหมือนกัน
ในทางบวก ฝั่งป้องกัน เราใช้ AI ช่วยในการ summarize logs เชื่อมโยง security events เพื่อ discovery การโจมตี discover สิ่งที่ rule-based ทำไม่ได้ หรือ overload มนุษย์มาก ๆ

ในทางลบ เราเห็น web crawlers / spiders ฝั่ง AI วิ่งเก็บข้อมูลหน้าเว็บหนักกว่าเดิม 5 – 10 เท่าจากปกติ ซึ่งมันกิน resources เด้อจ้า .. ทั้ง CPU, mem, egress ที่ต้องประมวลผลตอบสนอบขึ้นหมดเลย เท่ากับ pay-per-use/on-demand จะมีค่าใข้จ่ายขึ้นโดยไม่ได้ประโยชน์ทางตรงอะไรเลย

ในขณะที่ gen. AI ทุกค่าย พยายามใส่ safety ใน models เพือควบคุม responses ให้อยู่ในกรอบที่ปลอดภัยต่อผู้ใช้ เป็นกลาง มี bias น้อย ลดแรงกระตุ้นเชิงลบ (e.g., violence, extremist, discrimiate, misinform, propaganda,…) .. แต่เราห้ามคนสร้าง models without any safety ไม่ได้หรอกครับ ของพวกจะเอาไปใช้สร้าง response malicious intent ได้ ถ้า gen code ก็จะ gen malicious intent code ได้ obfuscation เก่ง reverse engineer เก่ง ฯลฯ

ในทางกลับกัน ไม่ใช่ว่า การปลด safety มันไม่ดีเสมอไป ในบางสถานการณ์ มันก็มีที่ใช้ มาถึงตรงนี้ คนที่ get ก็จะ get ทันทีว่า model ที่ปลด safety มันคืออาวุธ เป็นศักยภาพการรบและป้องกันประเทศใน 5th domain/cyberwarfare ได้ เป็นของที่จะหวังพึ่งมิตรประเทศอย่างเดียวไม่ได้ และประเทศนั้น ๆ อาจจะต้องสร้างเป็นของตัวเอง

กลับมาอีกฝั่งที่มี safety .. พอมี model safety พวก cybersecurity ก็พยายามทำ offensive bypass model safety ด้วยเหมือนกัน เรียกว่าเป็น LLM jailbreak .. เอาจริง ๆ ก็มีความพยายาม jailbreak กันตั้งแต่กำเนิด ChatGPT โน่นแหละ


ล่าสุด DeepSeek-R1 ก็เพิ่งโดนแหกไปครับ

DeepSeek-R1

ลองเอา deepseek-r1:1.5b ตัวเล็กสุด มารันใน notebook ตัวเอง

มันเก่งจริงอย่างที่หลายคนอวยยศแฮะ response เร็ว กิน resource น้อย (อจก. ตามไปอ่าน architecture ของ deepseek แล้ว ในทางวิศวกรรม #ของแทร่ อยู่เด้อ)

ประเด็นคือออ .. model ขนาด 1-2b parameters หลาย ๆ models นี่ คอมพิวเตอร์ทั่ว ๆ ไป มี memory เหลือสัก 1.5-2 GB ก็รันได้แล้วนะครับ ไม่ต้องมี GPU/NPU ช่วย accelerate ก็รันได้ (เครื่อง อจก. ก็ไม่มี GPU/NPU)

ยิ่งถ้ามี AI-accelerated (e.g., CPU+NPU, Copilot+ PC) ที่กำลังทยอยออกมาวางขายผู้ใช้งานทั่วไป การรัน model เล็ก ๆ แบบนี้จะได้ response เร็วขึ้น ประหยัดพลังงาน และมีรายละเอียดมากขึ้นได้ (i.e., input/output tokens เยอะ ๆ ไม่ต้องกลัวเปลืองตัง)

.. ถ้าห่วงเรื่องข้อมูลส่วนตัว หรือกลัว footprints ปรากฏ online ก็จะมีทางเลือกทำ chat/RAG/agent บน device ของตัวเองเป็น offline ได้เลย 

About TH Sarabun

May be an image of 1 person and text

เรื่องสมมติที่เกิดขึ้นจริง

สิบสองปีก่อนโน้น Google Docs ยังใช้ภาษาไทยไม่ได้ดีเท่าทุกวันนี้ อจก. กับ FOSS dev หยิบมือนึง อยากเอาฟอนต์ TH Sarabun New เข้าไปอยู่ใน Google Docs จะได้สร้างเอกสารภาษาไทยได้สมบูรณ์ขึ้น โดยเฉพาะเอกสารราชการซึ่งมีมติฯ ให้ใช้ TH Sarabun PSK (อ่านต่อไปเรื่อย ๆ จะเข้าใจ PSK กับ New)

และบังเอิญหยิบมือนั้นได้คุยกับ Dave Crossland คนที่ทำโครงการ Google Fonts .. เวลานั้น Dave บอก อจก. ว่ากำลังจะมาเมืองไทยพอดี ถ้าจะให้ workshop เรื่องฟอนต์ สัญญาอนุญาต การออกแบบ โปรแกรม Dave ยินดีมาก ๆ

สำหรับหยิบมือนั้น การคุยกันกับ Dave เป็นการปักหมุด เรื่องฟอนต์ไทยไป Google Docs

Dave แนะนำว่าเอาเข้า Google (Web) Fonts ถึงจะไปปรากฏใน Google Docs ได้ แต่ อจก. ไม่ใช่เจ้าของฟอนต์ TH Sarabun New เลยได้ประสาน คุณศุภกิจ เฉลิมลาภ ผู้ออกแบบฟอนต์ตระกูล TH Sarabun เพื่อขอให้ปรับสัญญาอนุญาตเป็น SIL Open Font License (OFL) ซึ่งเป็น requirement ของ Google Fonts

เวลานั้นคุณศุภกิจมีงานในมือเยอะมาก ๆ ทำไปทำมา เลยอนุญาตให้ อจก. เป็นคนเขียน OFL ประกบ TH Sarabun New และส่งฟอนต์ในชื่อ TH Sarabun OFL ต่อให้ Dave

TH Sarabun OFL เลยเป็นฟอนต์ TH Sarabun แรกที่ไปโผล่ที่ Google เป็นฟอนต์ลับที่ไม่มีใครได้เห็นเลย ยกเว้นหยิบมือใน mail 2-3 loops ที่คุยกัน

หลังจากนั้นก็ไม่ได้อัปเดตอะไรกันอีก จนวันหนึ่งเราได้เห็น TH Sarabun PSK ใน Google Docs พร้อม ๆ กับฟอนต์ไทยตระกูล default TH language pack ของ Windows (Angsana, Cordia, …)

… งงไหม? ทำไมอยู่ ๆ ได้เป็น TH Sarabun PSK?

อจก. ก็งง 555+

แต่คาดว่าคงมีใครผลักดันจนได้แหละ และเราไม่ได้เสียดายว่าไม่ใช่ผลงานทีมหยิบมือของเรา เราดีใจด้วยซ้ำที่ผู้ใช้จะมีฟอนต์ไทยใช้ใน Google Docs เสียที

… แต่คนที่รู้(ซึ่งมีอีกไม่กี่หยิบมือในประเทศ) ก็จะรู้ว่า TH Sarabun PSK เป็นฟอนต์ที่มีปัญหาทางเทคนิคอย่างน้อย 2 เรื่อง เลยไม่ควรถูกเลือกไปใช้งาน

(ปูพื้น สำหรับคนที่ยังไม่รู้เรื่องฟอนต์ – ฟอนต์ ปัจจุบันไม่ใช่ภาพอักขระเฉย ๆ แต่มีโค้ดโปรแกรมผสมอยู่ด้วยครับ ภาพอักขระที่ปรากฏคือผลของการรันโปรแกรมที่ฝังในไฟล์ TTF OTF WOFF ฯลฯ กับจุดควบคุมเส้นและรูปทรงทางเรขาคณิตของภาพอักขระ เพื่อให้แสดงผลบนหน้าจอหรือพิมพ์ออกกระดาษตามที่คนออกแบบฟอนต์ออกแบบมา มันมีเงื่อนไขการแสดงผลยิบย่อยตามภาษาศาสตร์นั้น ๆ อีกเพียบ เช่น กรณีภาษาไทย ญ หญิง สระอู ต้องใส่สระอูเป็นเชิง ได้เป็น ญู แทน, สระอา/ลากข้างที่ตาม ฤ ฦ ต้องประกบติดและลากยาวเสมอกัน นอกจากโค้ดสร้างเรขาคณิต เลยมีโค้ดคำสั่งที่เกี่ยวกับการวางตำแหน่งรูปทรงที่จะประกอบเป็นอักขระ การแทนที่อักขระ การชดเชยช่องไฟให้ดูสวย เอียงยังไงถึงสวย อักขระขนาดเท่าไหร่จะต้องชดเชยยังไง render ลง pixel แล้วชดเชยยังไงถึงดูคม เนียน ฯลฯ)

กลับมาที่ปัญหา …

1. TH Sarabun PSK เป็นฟอนต์ประกวดในโครงการที่รู้จักกันว่า ฟอนต์แห่งชาติ ทุกฟอนต์ในโครงการนี้จะแปะ DIP/SIPA license ที่ไม่ compatible กับสัญญาอนุญาตใด ๆ เลย เป็นอุปสรรคในการแก้ไขปรับปรุงมาก ๆ และเป็นอุปสรรคในการนำไปใช้งานมากกว่าที่คิด (เช่นบันทึกเอกสารโดยฝังฟอนต์ในไฟล์เอกสาร หรือเผยแพร่ไปพร้อมกับซอฟต์แวร์อื่นอย่าง Google Docs อาจตีความเป็นการทำ bundled ซึ่งในสัญญาอนุญาตเขียนไว้ว่าห้ามทำโดยไม่ได้รับอนุญาต)

และ ..

2. TH Sarabun PSK เป็นฟอนต์ที่มี bugs ครับ มันแสดงผลได้ไม่ตรงกับที่ควรจะเป็น

คุณศุภกิจถึงออกฟอนต์ที่แก้ bugs ของ TH Sarabun PSK ในชื่อ TH Sarabun New โดย SIPA กับคุณศุภกิจเปลี่ยนมาใช้สัญญาอนุญาตเป็น GPL Font Exception (GPL+FE) แทน เพื่อจะได้ไม่มีปัญหาในการนำไปใช้งานหรือปรับปรุงแก้ไขในภายหลังอีก

TH Sarabun New จึงเป็นฟอนต์ที่ทุกคนควรใช้แทน TH Sarabun PSK กันมาตั้งนานแล้ว ควรจะเลิกยึดติดกับมติฯ เรื่อง TH Sarabun PSK กันตั้งนานแล้ว

กลับมาที่ Google Fonts .. หลังจากนั้นอีกพักใหญ่ คุณศุภกิจเอาฟอนต์เข้าโครงการ Google Fonts จนได้ ในชื่อสั้น ๆ ว่า “Sarabun”

(เข้าใจว่าที่ใช้ชื่อ Sarabun เพื่อจะได้ไม่เกิดปัญหาขัดกับ TH Sarabun New)

Sarabun เป็นฟอนต์ตระกูล TH Sarabun ที่ code และ design สมบูรณ์สุด ๆ แล้ว ครบถ้วน ดีกว่า TH Sarabun New เสียอีก

หากเข้าใจที่มาทั้งหมดนี่ จะพอสรุปเรื่องฟอนต์เอกสารราชการได้ว่า

“ใช้ฟอนต์ Sarabun กันเถอะครับ”

มันคือตัวที่คุณศุภกิจ – ผู้พัฒนาฟอนต์นี้มาตั้งแต่ TH Sarabun PSK แก้ปัญหาทุกอย่างจนสมบูรณ์ที่สุดแล้ว และเป็นสัญญาอนุญาต OFL ที่เขียนขึ้นสำหรับฟอนต์แบบเสรี (free/libre/open) โดยเฉพาะ ตรงกับเจตนาในการเผยแพร่ให้ใช้งานมากที่สุด ลดปัญหาผู้ใช้ละเมิดสัญญาอนุญาตโดยไม่เจตนาไปเยอะมาก ๆ

ฟอนต์ Sarabun โหลดจากเว็บโครงการ Google Fonts ได้ฟรี ติดตั้งได้ทุก OS ใน Google Docs มีให้ใช้ ส่วนตัว แนะนำน้ำหนัก Thin, Light, ExtraLight เส้นคมกริบ อักขระไทย-อังกฤษสูงเท่ากัน เอกสารอ่านง่าย สะอาดตา

สุดท้าย – คงไม่พูดไม่ได้ – ถ้าใครยังมี TH Sarabun IT๙ รวมถึงตระกูล IT๙ อื่น ๆ อยู่ในเครื่อง / ใครยังเผยแพร่บนเว็บ ..

ลบทิ้งเถอะครับ

IT๙ เป็นฟอนต์ที่ใครสักคน แก้ไข ดัดแปลง ขึ้นจาก TH Sarabun PSK เผยแพร่ในวงกว้าง โดยไม่ได้รับอนุญาต .. การแก้ไขดัดแปลงนั้น ทำให้ข้อมูลในเอกสารผิดเพี้ยนไปจากอักขระที่ปรากฏในเอกสาร IT๙ ก่อโทษเป็น technical debt ด้านไอทีก้อนใหญ่ที่สุดก้อนนึงของประเทศไทย ความเสียหายมันยิ่งกว่าซอฟต์แวร์ไม่พึงประสงค์บางตัวเสียอีก ควรยุติการใช้/เผยแพร่กันนานแล้วครับ

2024 Password Guidelines

รหัสผ่านไม่จำเป็นต้องมีสัญลักษณ์ผสมก็ได้ มันทำให้จำยาก พิมพ์ผิดง่าย และไม่ได้ช่วยให้ปลอดภัยอย่างที่เคยคิด แต่จะต้องตั้งรหัสผ่านให้ยาว ๆ (ต่ำสุด ๆ คือ 12 ตัวอักษร แนะนำว่า 15 ขึ้นไป)

รหัสผ่านตั้งยาว ๆ ได้ ก็จะใช้ยาว ๆ ได้เลย ไม่จำเป็นต้องเปลี่ยนทุก 90 วันเหมือนที่เคยแนะนำกันอีกแล้ว จะใช้นานเท่าไหร่ก็ไม่ว่า จะบังคับเปลี่ยนก็ต่อเมื่อมีหลักฐานเพียงพอว่ารหัสผ่านรั่วไหล

อย่าใช้รหัสผ่านเดียวกันหลายเว็บ/แอป มันมีความเสี่ยงที่เว็บ/แอป ทำรหัสผ่านเรารั่วไหล แล้วเอารหัสผ่านนั้นไป login เว็บอื่น ๆ ต่อ

สำหรับคนที่กลัวจำรหัสผ่านยาว ๆ ไม่ได้ เรามีเทคโนโลยี password manager ช่วยตั้งและจำรหัสผ่านแทนได้นะครับ จะใช้ Google Chrome, Apple Password ไปเลยก็ได้ หรือจะใช้ LastPass, Dashlane, Bitwarden, 1Password ก็ได้

เดี๋ยวนี้ รหัสผ่านอย่างเดียวไม่พอจริง ๆ นะครับ ขนาดบัญชีข้อปปิ้งออนไลน์ยังต้องทำ OTP กันแล้ว เราจำเป็นต้องมีขั้นตอนการ login เพิ่มอีกขั้น ด้วยวิธีการที่ไม่ใช่การจำรหัสผ่าน ของพวกนี้บางทีเรียกว่า Multi-Factor Authentication (MFA) บ้าง Second-Factor Authentication (2FA) บ้าง หรือ Two-Step Verification (2SV) ก็มี แล้วแต่ว่านิยาม factor ไว้ว่ายังไง

ท่า ultimate ของ MFA/2FA/2SV จะใช้ security key + NFC (เช่น Yubikey, Google Titan) จะสะตวกสุด แต่ก็แพงสุดเช่นกัน เพราะต้องซื้อมาใช้ และควรต้องถืออย่างน้อย 2 อัน

หมูแฮม

ออกจากดาวหมา มาอยู่บ้านนี้สิบหกปี
.
.
วันนี้ลุงหมูแฮมได้กลับดาวละน้าาาาา

CVE: rsync

หัวทีม debian mirror แจ้งข่าวเข้า mailling list แต่เช้าว่า

“สูเจ้าจงอัปเกรด rsync ASAP”

ต้นเรื่องคือ 3.3 >= rsync >= 3.2.7 มี heap overflow และอื่น ๆ lot นี้ พบ และ fix ไปแล้ว ~ 6 CVEs ครับ

main distros release fixes แล้วเมื่อไม่กี่ชั่วโมงที่ผ่านมา

  1. https://kb.cert.org/vuls/id/952657
  2. https://ubuntu.com/security/notices/USN-7206-1

2025/1 Information on UTC – TAI

“NO leap second will be introduced at the end of June 2025.
The difference between Coordinated Universal Time UTC and the
International Atomic Time TAI is :

from 2017 January 1, 0h UTC, until further notice : UTC-TAI = -37 s”

— IERS EOP Bulletin C#69

คืนชีพ skuld.kitty.in.th

10:00 31 ธ.ค. 2024

หลังจากที่ได้ instant ใหม่ OS เดิม (Ubuntu 16.04) เป็นเครื่องเปล่า ๆ ที่ไม่มีข้อมูล สิ่งแรกที่พยายามทำคือกู้จาก snapshot เดียวที่มีอยู่ ทำให้ได้ kitty.in.th ที่มีข้อมูลถึงประมาณต้นเดือนมีนาคม 2017

manually install All-in-One WP migration ทำ site backup ได้ไฟล์ขนาด 2 GB ซึ่งใหญ่เกิน จะ recovery ได้ฟรี แต่ก็ยังดีกว่าไม่มีอะไรเลย

หลังจาก มี backup .wpress แล้ว dump mysql, tar gz web root เก็บ ย้ายมาเก็บที่ notebook อีกหนึ่งสำเนา

พร้อมล้างเครื่องแล้ว .. กด reinstall OS บน instance

.. แต่มันทำไม่ได้ เพราะ Vultr ไม่มี Ubuntu ให้ลงกับ instance size นี้อีกแล้ว ต้องสั่ง change OS แทน .. OS ที่มีให้เลือกคือ AlmaLinux, Alpine, Debian, Fedora Core, Flatcar Container, FreeBSD, OpenBSD และ Rocky

ถ้า Ubuntu ไม่ได้ ก็น่าจะ Debian สิ? หรือจะ rpm-based AlmaLinux, Rocky?

.. แทบไม่ต้องใช้เวลาคิดเยอะ กด change OS เป็น Alpine Linux จ้า

เหตุผลหลัก ๆ คือ footprint เล็ก และ อจก. มี Dockerfile ที่ใช้สร้าง Docker images ในมือให้ลอก config ได้ง่าย ๆ .

ลง OS, nginx, php-fpm, mariadb และอื่น ๆ เสร็จ ย้ายข้อมูลกลับ inject mysqldump, extract document root กลับมา

ผลคือ 500 Error …

จริง ๆ ก็น่าจะเป็นแบบนั้นแหละ .. WordPress ปี 2017 กับ PHP 8.3 ไม่น่าจะรอด .. แต่ก็แอบลุ้นว่ามันอาจจะมีปาฏิหารย์ 555+

พอปัญหาน่าจะเกิดที่ code base ของ WordPress เลย กด WordPress ล่าสุด สั่ง tar xzf –strip-components ทับไปดื้อๆ

แถ่น แทน แท้นน .. เว็บ kitty.in.th ทำงานได้แล้ว!!

พอทุกอย่างเข้าที่ ลง Wordfence, clean up ตาม recommendations ก็ dump SQL, compress document root เก็บกลับมาไว้ที่ปลอดภัย

ที่ skuld.kitty.in.th มี OpenVPN Access Server สำหรับ VPN ไปออกญี่ปุ่นด้วย แต่ OpenVPN AS ไม่มี package สำหรับ Alpine .. เลยได้ deploy เป็น docker แทน (ซึ่งต้อง –cap-add หลายตัว เพราะมันต้อง TUN/TAP ได้) .. ผ่านไปได้ด้วยดี

รันทุกอย่างแล้ว (OS, basic services, nginx, PHP, MariaDB, Docker, OpenVPN AS) ใช้ RAM ไป 271 MiB / 461 MiB?!!

.. ใช่ แค่ 2xx MB จริง ๆ .. musl libc มันดีอย่างนี้แหละ base OS image สำหรับ Docker เลยมักจะใช้ Alpine กัน

3:00 1 ม.ค. 2025 พอใจแล้ว … นอน