กูเกิลประกาศความร่วมมือกับ ISRG องค์กรแม่ของ Let's Encrypt เตรียมช่วยเหลือโครงการโอเพนซอร์สสำคัญให้อิมพลีเมนต์ใหม่ด้วยภาษา Rust เพื่อแก้ปัญหาช่องโหว่หน่วยความจำ
เมื่อต้นเดือนที่ผ่านมากูเกิลประกาศความร่วมมือรูปแบบนี้โดยเข้าไป สนับสนุนโครงการ mod_tls ของ Apache การประกาศขยายความร่วมมือครั้งนี้ทาง ISRG จะเข้าไปสนับสนุนให้โครงการต่างๆ ให้ค่อยๆ อิมพลีเมนต์เครื่องมือและไลบรารีส่วนต่างๆ เสียใหม่
กูเกิลมีประวัติช่วยเหลือโครงการโอเพนซอร์สแก้ปัญหาช่องโหว่จากบั๊กหน่วยความจำมานาน เช่น โครงการ OSS-Fuzz ชุดทดสอบหน่วยความจำอัตโนมัติ ที่เปิดตัวตั้งแต่ปี 2016 และจนตอนนี้พบช่องโหว่ไปแล้ว 5,500 รายการจาก 375 โครงการ หากดูเฉพาะช่องโหว่ความปลอดภัยของโครงการ curl จำนวน 95 รายการ จะพบว่าช่องโหว่กว่าครึ่งจะหายไปหากอิมพลีเมนต์ด้วยภาษาที่ปลอดภัยจากช่องโหว่หน่วยความจำ
ที่มา - Google Security Blog






แล้วภาษาโกของท่านหละ
A4 Fri, 19/02/2021 - 02:41
แล้วภาษาโกของท่านหละ
เข้าใจว่า go
mr_tawan Fri, 19/02/2021 - 02:47
In reply to แล้วภาษาโกของท่านหละ by A4
เข้าใจว่า go มันเป็นระดับสูงกว่า Rust นะครับ
โกเคยมีบัค memory ที่ตัวภาษา
PH41 Fri, 19/02/2021 - 04:23
In reply to แล้วภาษาโกของท่านหละ by A4
โกเคยมีบัค memory ที่ตัวภาษา
bug นี้หมายถึงว่า ไม่ใช้ user
WattZ Fri, 19/02/2021 - 09:40
In reply to โกเคยมีบัค memory ที่ตัวภาษา by PH41
bug นี้หมายถึงว่า ไม่ใช้ user error ใช่ป่าวครับ เช่นเปิดแล้วลืมปิด เป็นที่ตัวภษาจริงๆ เลย
ภาษา Go เป็นภาษาที่มี garbage
lew Fri, 19/02/2021 - 09:40
In reply to แล้วภาษาโกของท่านหละ by A4
ภาษา Go เป็นภาษาที่มี garbage collector ทำให้ไม่เหมาะกับบางงาน โดยเฉพาะกลุ่มที่ต้องติดต่อกับฮาร์ดแวร์โดยตรง
เอาจริงๆ แม้แต่เว็บเองภาษา Go ก็เคยต้องปรับปรุงการทำงาน garbage collector ไปแล้วหลายรอบเพื่อให้แอปไม่กระตุกในจังหวะที่มันกำลังทำงาน
แต่โดยทั่วไปเราไม่ต้องเลือกภาษาเดียวทุกงานครับ ภาษาหนึ่งก็มีที่มีทาง มีความนิยมในการใช้งานของมัน
เคยไป skim doc ของ GO
rattananen Fri, 19/02/2021 - 12:39
In reply to แล้วภาษาโกของท่านหละ by A4
เคยไป skim doc ของ GO มาเหมือนจะสร้างมาเพื่องาน concurrent/parallel ระดับ CPU ครับ
ส่วน Rust ก็ใช้แทน C ที่เกิดช่องโหว่เรื่องหน่วยความจำได้ง่าย
คนละจุดประสงค์กัน
ถ้าเป็นวิธีคิดของกูเกิลจริงๆ
mk Fri, 19/02/2021 - 15:46
In reply to แล้วภาษาโกของท่านหละ by A4
ถ้าเป็นวิธีคิดของกูเกิลจริงๆ คือไม่แคร์ครับ มีหลายทีมอยากทำอะไรก็ทำไป ลองๆ ดู ซ้อนกันก็ไม่เป็นไร เราถึงมี Angular, Flutter มาชนกัน หรือมีแอพแชท 5 ตัวพร้อมกันอะไรแบบนี้ครับ (ซึ่งก็ไม่ใช้เรื่องดีเสมอไป)
ที่พูดกันว่า C
whitebigbird Fri, 19/02/2021 - 08:52
ที่พูดกันว่า C เป็นภาษาที่ดีที่สุดนี่ยังเป็นจริงมั้ยครับ
ผมเขียน C ไม่เคยได้ยินนะครับ
lew Fri, 19/02/2021 - 09:36
In reply to ที่พูดกันว่า C by whitebigbird
ผมเขียน C ไม่เคยได้ยินนะครับ
น่าจะเป็นความเห็นมากกว่า fact
whitebigbird Fri, 19/02/2021 - 09:53
In reply to ผมเขียน C ไม่เคยได้ยินนะครับ by lew
น่าจะเป็นความเห็นมากกว่า fact ครับ
คิดว่าไม่น่าใช่ครับ
planepisode Fri, 19/02/2021 - 11:57
In reply to ที่พูดกันว่า C by whitebigbird
คิดว่าไม่น่าใช่ครับ เพราะเหมือนเคยได้ยินว่า C++ หรือ C# นี่แหละ ทำมาแก้ pain point บางอย่างของ C เช่น เรื่องการเขียนเป็น OOP
C ที่ผมพูดถึงคงรวม C++
whitebigbird Fri, 19/02/2021 - 12:49
In reply to คิดว่าไม่น่าใช่ครับ by planepisode
C ที่ผมพูดถึงคงรวม C++ ด้วยครับ แต่ไม่ใช่ Visual
ถ้าหมายถึง Linus
mr_tawan Fri, 19/02/2021 - 15:27
In reply to C ที่ผมพูดถึงคงรวม C++ by whitebigbird
ถ้าหมายถึง Linus ล่ะก็ไม่ใช่ครับ หมอนี่ด่า C++ อยู่เนือง ๆ
ทุกภาษา มันมีดี
heart Thu, 08/04/2021 - 10:17
In reply to ที่พูดกันว่า C by whitebigbird
ทุกภาษา มันมีดี มีแย่ในข้อต่างๆ ที่ต่างกันไปถ้าจะบอกว่า C ดีกว่า ก็ต้องมาดู ว่าดีกว่าข้อไหน
บางที C อาจจะมีพลังที่สูงมาก
แต่ด้วยการที่เขียนยากกว่า หรือเปิดโอกาสให้เกิดบั๊กมากกว่า
นั่นก็เป็นข้อเสีย เพราะเราไม่สามารถไปบังคับให้คนทั้งโลกจะต้องเก่งเท่ากันทุกคน
ผมชอบแนวคิดเรื่องที่ไม่มี GC
panther Fri, 19/02/2021 - 10:16
ผมชอบแนวคิดเรื่องที่ไม่มี GC แล้วก็พวก owenership กับ borrowing นะ กำลังศึกษาอยู้เหมือนกัน
ผมเห็นคนที่ใช้ Go บอก rust ช้ามากกกก compile นาน ผมก็สงสัยนะว่ามันเร็วช้า ต่างกันขนาดจะทนไม่ได้เลยรึ
ปล...ผมเคยใช้ EJB กับ GWT ของ google อยู่ อันนั้นก็นานจิงๆ
ถ้าคอมไพล์ช้านี่คือจริงนะครับ
lew Fri, 19/02/2021 - 12:58
In reply to ผมชอบแนวคิดเรื่องที่ไม่มี GC by panther
ถ้าคอมไพล์ช้านี่คือจริงนะครับ แนวคิดเขาต่างออกไป
เดาว่าช้าเพราะทำ static
mr_tawan Fri, 19/02/2021 - 15:29
In reply to ถ้าคอมไพล์ช้านี่คือจริงนะครับ by lew
Rust ทำ static linking หรือเปล่าครับ (ผมยังไม่เคยเขียน Rust เลยไม่ทราบครับ)
ขึ้นอยู่กับ compilation
nuimk Sat, 20/02/2021 - 18:19
In reply to เดาว่าช้าเพราะทำ static by mr_tawan
ขึ้นอยู่กับ compilation target ครับ เลือกได้แต่ default เป็น dynamic linking
Go lang compile
nuimk Sat, 20/02/2021 - 18:17
In reply to ผมชอบแนวคิดเรื่องที่ไม่มี GC by panther
Go lang compile เร็วอยู่แล้วครับจุดขายเค้าเลย ภาษามันไม่ได้ซับซ้อนมาก compiler เลยไม่ต้องทำงานหนักRust ถ้าเคย compile ไปแล้วรอบนึง มันก็จะมี cache เป็น incremental build เหมือน C/C++ แหละครับ ไม่ได้ช้าขนาดนั้น
เป็น Rust ก็ดีนะ
heart Fri, 19/02/2021 - 12:53
เป็น Rust ก็ดีนะบางท่ีก็ปวดหัวกะ C++ มาก จะโหลดมา Build เองก็เจอคอนฟิกยากๆ