Tag Archives: foss

Graylog Extractor for Fortigate Firewall

I’ve been using Graylog in production for awhile. It’s a great log analysis tool, backed by elasticsearch. Conceptually, graylog is pretty much like splunk. I consolidate approximately 170-200 million log messages to graylog everyday. So, I need to optimize them well enough.

Few days ago, I started to use Fortigate extractors from a git repo. It uses regex, and it is very slow. So I (have to) write my own extractors. I write Grok pattern, and keep rewriting until I could cover all messages I need to extract. Then, I started to optimize the pattern. The result is quite good though. I could reduce extractor time from more than 100,000 usec to about 100 usec.

extractor

Yes, that’s approximately 1000x times faster. It’s definitely not perfect though, but it works for me. If you think it might be good for you, you can download my Fortigate content pack here.

Enjoy :)

Heartbleed bug

อธิบายเรื่อง heartbleed

1. ใน SSL/TLS ใหม่ๆ มีฟีเจอร์ heartbeat สำหรับ maintain session เพื่อลด cost ในการ reestablish secure connection

2. heartbeat ใช้วิธี request / response

3. request ที่ส่งส่วนนึงคือ data, byte length ของ data / response ส่วนนึงคือ data และ byte length ของ data ที่ได้รับ

4. ปัญหาคือ openssl implement heartbeat โดยไม่มีการตรวจสอบ byte length ว่าสัมพันธ์กับ data (/me .. ชิบหายแล้ว !) เวลาสร้าง response openssl จะเอาค่า byte length ที่ได้รับมาใช้ดื้อๆ

5. จาก 4 เราสามารถสร้าง request ขนาด 1 byte โดยระบุ byte length ว่ายาว 64 kB ก็ได้ และ openssl ก็จะเชื่อว่าเป็น 64kB “และ” จะสร้าง response กลับโดยอนุมานว่า data มีขนาด 64kB

6. สมมติว่า openssl ได้ request ตามข้อ 5 openssl จะ buffer data 1 byte ใน request ไว้ใน memory และจำว่ามันยาว 64 kB

7. เมื่อ openssl สร้าง response ก็จะนำข้อมูลใน buffer มาใช้ แต่เนื่องจากมันเชื่อว่าข้อมูลยาว 64 kB มันเลยสำเนาข้อมูลออกมาจาก buffer 64 kB เพื่อสร้าง response .. แปลว่ามันสำเนา (access) ข้อมูลเกินจากที่ควรจะเป็น ทำให้คนที่ request ขโมยข้อมูลจาก memory ของ openssl ได้

8. ข้อมูลใน memory อาจจะมี session key / private keys / sensitive info ที่ buffer ไว้สำหรับ ciphers ที่กำลังทำงานขณะนั้น

9. ถ้าได้ private key ข้อมูลที่วิ่งผ่าน SSL/TLS ก็จะสามารถถอดรหัสได้โดยง่าย รหัสผ่าน / ข้อมูลที่เคยหวังว่า SSL/TLS จะปกป้องได้ก็จะรั่วได้หมด ทุก services ที่พึ่งพา openssl จะเสมือนเป็น plaintext protocol

10. 60-70% ของ SSL/TLS ที่ใช้บนโลกนี้ ใช้ openssl รวมถึง internet banking บางเจ้า / cloud console แทบทุกเจ้า แต่ openssl ที่เป็นปัญหาอยู่ในรุ่น 1.0.1 ถึง 1.0.1f เก่ากว่านี้รอด ใหม่กว่านี้ก็รอด

11. ทางแก้ปัญหา อย่างน้อย ต้อง patch / upgrade เป็น openssl ใหม่ + เปลี่ยน certificate ใหม่ทั้งหมดทุก services ที่พึ่ง openssl เพราะ private keys อาจจะรั่วไปแล้ว / เปลี่ยนรหัสผ่านทุก users ที่ใช้บริการผ่าน services เพราะมันอาจถูกถอดรหัสไปได้หมด

12. provider ที่ users เยอะๆ ถึงเต้นกันใหญ่ ทั้ง facebook, google, amazon, … ถ้าคิดว่ามันเรื่องเล็ก ไม่ใช่เรื่องเร่งด่วน ไม่ควรเป็น admin

งาน OSSFEST2010

วันแรก

  • คุณ James Clark บรรยายเปิด โดยสรุปเป็นโอกาสของโอเพนซอร์สใน cloud และ mobile … นั่งข้างหน้ากับพี่เทพ กระซิบกันอยู่ว่าไม่เห็นด้วยที่ JC บอกว่าไม่ต้องแคร์ว่าโอเอสจะเป็นแอนดรอยด์ หรือ แอพพลิเคชันจะโอเพนซอร์สหรือไม่ ใช้อะไรก็ใช้ไปเถอะ .. IMHO mobile platform มันยิ่งควรจะเป็นโอเพนซอร์ส เพื่อให้มั่นใจได้ว่าซอฟต์แวร์ไม่แอบทำอะไรนอกลู่นอกทาง ต้องไม่ลืมว่า 1. ผู้ใช้ mobile device คิดว่ามันเป็นอุปกรณ์ส่วนตัว มันจึงมีข้อมูลส่วนตัวเยอะ 2. มันออนไลน์ตลอดเวลา .. ใช้ closed-source/proprietary มันยากที่จะรู้ได้ว่ามันทำงานนอกลู่นอกทาง เกิดมันแอบดูดคลิปไปโผล่บน youtube หรือถ่ายทอดสด มิบรรลัยกันหรือ ?
  • คุณ @roofimon บรรยาย .. โดนใจหลายดอก ทำเอา UDT ขนลุกซู่ๆ เสียวสันหลังวาบๆ … 555
  • พี่เทพ บรรยายแนวทางที่จะเข้าร่วมทำงาน ทำกิจกรรม กับ Debian ทั้งส่วนของนักพัฒนา และผู้ที่ไม่ได้เป็นนักพัฒนาเลย .. เวลาน้อยไปที่จะขยายความได้ทุกแนวทาง เสียดาย
  • บ่ายๆ มาเข้าห้อง community คุยแนวทางการสร้างชุมชน .. ดูหน้าไพ่กันสักพัก ก็คิดว่าอยู่เงียบๆ ดีกว่า .. IMHO การพัฒนาโอเพนซอร์สเป็นงานอาสา จึงมีลักษณะเหมือนงานอาสาอื่นๆ คือจะรอดได้อย่างน้อยอาสาสมัครต้องมีวินัยและมีความมุ่งมั่น (หรือแรงจูงใจ หรือความอยาก) .. ซึ่ง … ไม่ใช่สิ่งที่ทุกคนจะมี หรือโฟกัสให้มีได้ตลอดเวลา .. เลยคิดว่าตูเหนื่อยจะคิด .. เอาเป็นว่ามีกิจกรรมแนวๆ กระตุ้นแรงจูงใจอย่างสม่ำเสมอหน่อย จัดเล็กๆ โฟกัสเฉพาะกลุ่มก็ได้ .. ส่วนชุมชนมันจะเติบโต อยู่รอดหรือไม่ ปล่อยให้ธรรมชาติคัดสรรไปเถอะ :P
  • ฝึกทักษะภาษาอังกฤษ ด้วย Ubuntu Manual Sprint นำโดยมะระ .. ซึ่งผลคือสปรินท์ไปได้ตั้ง 10 messages .. ไอ้ที่เยอะๆ ก่อนหน้านี้ มะระทำไปได้ไงเนี่ย .. พลังมหาศาลจริงๆ

วันที่สอง

  • ขึ้นเวทีใหญ่ เรื่อง FOSS Security .. รวบรัดใน 20 กว่านาที ..ตัดสไลด์ออกหลายหน้าด้วยเวลาจำกัดและเกรงใจสปอนเซอร์ (i.e. Microsoft) ซึ่งขึ้นเวทีบรรยายก่อน .. ไม่งั้นจะแสบกว่านี้ :P
  • ขึ้นเวทีเล็ก เรื่อง case study ของ มข. รวบรัดใน 20 กว่านาทีเหมือนกัน …
  • เกือบจะมีเวทีที่สาม กับประวัติศาสตร์โอเพนซอร์ส .. แต่นั่งฮาอยู่ข้างล่างก็ดีแล้ว :D
  • อยากอยู่ร่วมงานถึงเย็น แต่วางแผนผิดไปเล็กน้อยเลยได้กลับเย็นวันนี้ .. ไม่ไว้ใจการจราจร เผ่นไปสนามบินอย่างด่วน

ปิดท้าย งานขลุกขลักนิดหน่อย แต่สนุก และเป็นช่วงเวลาที่แฮปปี้มาก ขอบคุณผู้จัดงาน ได้เจอหลายคนทั้งเพื่อนใหม่และเพื่อนเก่า และยังอยากเจออีกหลายคนตามรายชื่อบุคคลที่ถูกถามหาในงาน OSSFEST2010 ต่อไปนี้ : Noi SNC, @densin, @untsamphan, @vuthi, @donga_n, @rawitat, @pruet, @markpeak, @veer66 และ ]d .. (คนสุดท้าย หากมาปรากฎตัวจริง พรุ่งนี้ประเทศไทยต้องใช้ 3G ได้ทั่วประเทศแน่ :P)

Security in FOSS

อ่านที่ พี่เทพ blog เรื่องการจัดการ security ในเดเบียนแล้ว ระลึกได้ว่าเคยหลุดเข้าไปในขั้นตอนการจัดการ security ของ FreeBSD เมื่อหลายปีก่อน พบว่ามีลักษณะใกล้เคียงกัน .. จะว่าไปแล้วมันก็เป็น practice อย่างนึงที่วัฒนธรรม FOSS นำมาปรับใช้ในการจัดการเรื่อง security เกือบทุกชุมชน

บ่อยครั้งที่ผู้สนับสนุน FOSS นำเอาเรื่อง security มานำเสนอว่าปลอดภัยกว่า proprietary/commercial software ในขณะที่กลุ่ม proprietary/commercial software ก็แย้งว่าการเผยซอร์สเป็นการเผยไต๋ทำให้โดนโจมตีได้ง่าย

ว่ากันตามตรง ช่องโจมตีมักจะพบโดย black hat มากกว่าพบโดยการรีวิวซอร์สโดย hackers (จริงๆ) หรือ maintainers และในปัจจุบันช่องโจมตีไม่ได้หากันที่ซอร์ส แต่หาจากไบนารีตรงๆ โดยเครื่องมือจำพวกดีบักเกอร์เนื่องจากผู้โจมตีจำเป็นต้องได้ข้อมูลขณะที่ไบนารีนั้นกำลัง execute จึงจะทำ bypass, overflow, หรือ กำหนด condition ได้ถูก ดังนั้นในแง่การหาช่องโจมตีจะเห็นหรือไม่เห็นซอร์สจึงไม่ใช่ประเด็นเท่าไหร่นัก และกลายเป็นว่าใช้ซอฟต์แวร์เผยหรือปกปิดซอร์สมันก็แย่พอๆ กัน แต่ในแง่การพัฒนา ปรับปรุง แก้ไข หลักการของ FOSS ที่เผยซอร์สมีศักยภาพที่ดีกว่า หากผู้ใช้หรือชุมชนมาช่วยรีวิวได้มากพอ มัน ‘ควรจะ’ พบจุดบกพร่องได้เร็ว และได้รับการแก้ไขได้ไวกว่า .. Elias Levy (Aleph One / Bugtraq) เคยพูดเรื่องนี้ไว้ว่า

“Open Source Software certainly does have the potential to be more secure than its closed source counterpart. But make no mistake, simply being open source is no guarantee of security.”

FOSS ไม่ได้ปลอดภัยกว่า แต่มีศักยภาพที่จะปลอดภัยกว่า

นึกถึง

  • security mindsets ในขั้นตอน design
  • secure programming ในขั้นตอน coding
  • security tools (e.g. valgrind, flawfinder, … ) ในการตรวจสอบ code / binary
  • ฯลฯ

ทำได้ก็ลด security bugs/vulnerabilities ไปได้เพียบแล้ว :)

Zotero

นั่งลอง reference management สำหรับจัดระเบียบ reference / bibliography / citation ในเอกสาร รายงาน thesis ฯลฯ .. กะจะหาตัวที่ใช้แทน EndNote (ซึ่งจริงๆ ก็ไม่เคยใช้เหมือนกัน)

ใช้ Zotero แล้วไม่เลวนะ .. Multi-platform (Firefox on Lin/Win/Mac) มี plugin/extension ใช้กับ MS Word / OO.o Writer ลงง่าย ใช้ง่าย ได้ผล เชื่อมกับ ref db. / amazon / ห้องสมุด ได้ด้วย .. จะซื้อ EndNote มาใช้ทำไมล่ะนี่ !

http://www.zotero.org/

OSSFest 2009

23-24 ก.ย. 52 ไปงาน OSSFest 2009 ที่ สวทช. ด้วย 3 เหตุ คือ

  1. อยากฟังบรรยาย – ที่ตั้งใจฟังมีทั้งหมด 4 หัวข้อ ฟังแล้วไม่ได้อะไรใหม่เลย 2 หัวข้อ ฟังแล้วพอจะได้อะไรบ้าง 1 หัวข้อ .. ไม่ได้เข้าฟัง 1 หัวข้อเนื่องจากมันอยู่ในวันที่สาม ซึ่งเป็นวันที่เดินทางไปต่างประเทศ .. สรุปแล้ว ก็ fail หน่อยๆ นะ
  2. อยากเจอเพื่อนสมาชิก – ก็ได้
  3. ปฏิบัติภารกิจอีกสามเรื่อง – ซึ่งไม่เกี่ยวกับ OSSFest 2009 แต่เกี่ยวกับคนที่คาดว่าจะมาในงานนี้ .. ก็ถือว่าสำเร็จลุล่วง/มีความคืบหน้าไปเยอะ

เวลาที่เหลือ(ส่วนใหญ่) เลยหมดไปกับการ นั่งเล่น/ทำงาน/ทดสอบ/ทดลอง/ฯลฯ ที่บูธ UbuntuClub ซึ่งกลายเป็นที่สิงสถิตของเทพและมาร รวมถึงนั่งดูการถีบ (push) GNOME2.28 release note ภาคภาษาไทย ขึ้นไปที่ GNOME อย่างทุลักทุเล .. 555

หนังสือ โชคดี

พี่หน่อย @ SNC ส่งหนังสือ โชคดี ของ พระอาจารย์มิตซูโอะ คเวสโก มาให้อ่าน ขอบคุณอีกครั้ง ประจวบเหมาะกับ lulu ไถ่ถามถึงหนังสือนี้ที่ห้อง #tlwg เลยคัดลอกหนังสือทั้งเล่ม ทำเป็น PDF อย่างง่ายๆ กะจะเผยแพร่เป็น e-book พร้อมๆ กับที่ lulu ทำไว้ก่อนหน้านี้

ผมติดต่อไปที่ มูลนิธิมายา โคตมี แล้วได้ความว่าให้ทำหนังสือแจ้งความจำนงในการเผยแพร่ส่งไปยังมูลนิธิฯ .. lulu เลยร่างหนังสือส่งมูลนิธิฯ ซะวันนั้น ผมเลยแจมขอเผยแพร่ด้วยในคราวเดียว

หลัง fax ไปที่มูลนิธิ lulu รออยู่หลายวัน ทางมูลนิธิไม่ได้แจ้งอะไรตอบกลับมาเลย .. ช่วงวันแม่ ฤกษ์ดี เลยพากัน release ซะเลย (ถือคติ ไม่ค้าน ไม่ตอบกลับ ถือว่ายอมรับ ..:P)

รายงานข่าวเสียหน่อย

Heads Up .. End-of-Life is coming !

สุดอายุขัยกันอีกแล้ว

  • Debian 3.1 Sarge End-of-Life วันที่ 31 มี.ค. 2551
  • Ubuntu 6.10 EoL วันที่ 24 เม.ย. 2551
  • Fedora 7 EoL = วันที่รีลีส Fedora 9 + 1 เดือน .. ถ้าเป็นตามตารางก็ 29 พ.ค. 2551
  • SUSE 10.1 EoL วันที่ 30 พ.ค. 2551
  • FreeBSD 5.5 จะถึง EoL วันที่ 31 พ.ค. 2551 เนื่องจาก RELENG_5_5 เป็น branch สุดท้ายของ RELENG_5 ก็จะถือว่าวันเดียวกันนี้เป็นการสิ้นสุด branch RELENG_5 ด้วย
  • FreeBSD 6.1 และ 6.2 ก็จะ EoL วันที่ 31 พ.ค. 2551 เหมือนกัน แต่ RELENG_6 ยังอยู่ต่อไปอีกอย่างน้อยเท่ากับ branch สุดท้ายของ RELENG_6 + 2 ปี

ใครใช้ Ubuntu 6.10 ก็มีคำแนะนำให้รออัปเกรดเป็นเวอร์ชัน 8.04 LTS ไปเลยก็ได้ (ตามแผน 8.04 LTS ก็จะ รีลีสวันที่ 24 เม.ย. 51 เหมือนกัน) .. Ubuntu 8.04 LTS จะเป็นรีลีส Long Term Support ต่อจาก Ubuntu 6.06 LTS แต่ถ้าไม่ได้ต้องการฟีเจอร์ในซอฟต์แวร์เวอร์ชันใหม่ๆ ก็ไม่จำเป็นต้องอัปเกรดในทันทีก็ได้ เพราะ LTS ยังไงก็ยังมี support ยาวๆ 3 ปี (desktop) หรือ 5 ปี (server) อยู่แล้ว กว่า 6.06 LTS จะ EoL ก็ปี 2009/2011 โน่น

ส่วนใครที่ใช้ FreeBSD รุ่นที่จะ EoL อยู่แนะนำให้อัปเกรดเป็น FreeBSD 6.3 หรือ 7.0 .. ข่าวของ FreeBSD ส่งผ่าน mailing list วันที่ 1 เม.ย. 51 พอดี .. เลยต้องลงปัจฉิมลิขิตไว้หน่อย ..

P.S. For clarity, this is NOT an April Fool’s joke.

กร๊าก .. :D

OOXML approved

ในที่สุด ISO ก็ประกาศรับรอง OOXML เป็นมาตรฐาน ISO/IEC DIS 29500 ข่าวนี้ลือกันตั้งแต่ 31 มี.ค. และเริ่มมีการหาข่าวยืนยันตั้งแต่นั้น เพราะดันคาบเกี่ยวกับ April Fool’s .. ณ เวลานี้ น่าจะยืนยันได้แล้วจาก press release ของไมโครซอฟต์ และ ECMA รวมถึงเอกสารผลโหวตที่เริ่มมีให้เห็นบนเว็บ

Office Open XML ร่างและผลักดันให้เป็นมาตรฐานโดยไมโครซอฟต์ ซึ่งมาชนกับ Open Document Format (ODF) ที่ผ่านการรองรับเป็นมาตรฐานไปก่อนหน้านี้ มีเหตุผลหลายประการที่ OOXML ไม่ควรเป็นมาตรฐานนานาชาติ ทั้งความซ้ำซ้อนกับมาตรฐาน ODF ที่มีอยู่แล้ว และความไม่โปร่งใสในเชิงเทคนิคของตัว OOXML เอง .. แต่ที่สุดแล้วผลโหวตก็เป็นอย่างที่เห็น ..

  • ประเทศ principal (P-Member) โหวตสนับสนุน 24 จาก 32 ประเทศ = 75% (เกณฑ์กำหนดไว้ว่าต้องมากกว่า 2 ใน 3)
  • ประเทศสมาชิกทั้งหมด โหวตค้าน 10 จาก 71 ประเทศ = 14% (เกณฑ์กำหนดไว้ว่าต้องน้อยกว่า 1 ใน 4)

ทั้งนี้ประเทศที่งดออกเสียงจะไม่นำมาคิดรวม แต่สรุปได้ว่าผ่านเกณฑ์ทั้งสนับสนุนและค้าน ถือว่าผ่านการรับรอง

และที่ควรทราบไว้คือ ประเทศไทย (โดยสำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม: TISI) เป็นหนึ่งในประเทศที่มีการเปลี่ยนมติจาก ‘Disapproval’ ในรอบ fast track เป็น ‘Approval’ ในรอบ BRM

ใน /. มี comment ที่มุมมองน่าสนใจอยู่เหมือนกัน ขออนุญาต quote (+ แก้ข้อความให้ถูกต้องขึ้น)

  1. if they lost the ISO process then they lost
  2. they won the ISO process then they lost as it forced a deep examination of the standard, and raised critical questions and caused them more problems then it solved.
  3. if nobody else implements this flawed standard then they lose as some governments are now also specifying cross platform implementation as well as open standard (perhaps in response to this mess)
  4. if (and this is real unlikely) there are other implementations of this standard (e.g. OO.o) then they lose as MS Office is no longer required to be ubiquitous on the desktop

… สงครามนี้ยังไม่จบ อย่าเพิ่งรีบนับศพทหาร …

Today is Document Freedom Day

ตกข่าวไปหน่อย .. http://documentfreedom.org

ทำไมต้อง Document Freedom ? .. ขอ quote มาละกัน

"Who controls your valuable information? This question has become central for the distribution of power and wealth in the networked society. Document Freedom is about giving you control of your information, it is about giving governments control of their public records, and it is about freedom of choice. You can give yourself that freedom today by switching to one of the many Free Software applications that support the Open Document Format and that run on many different platforms!"

Georg Greve, president of FSFE.