ไลบรารี SSL กลายเป็นจุดโจมตีสำคัญนับแต่ช่องโหว่ Heartbleed เป็นต้นมา ก็มีความพยายามแยกสายการพัฒนาออกมาเป็น LibreSSL โดยทีมงาน OpenBSD หรือ BoringSSL ของกูเกิล ตอนนี้มีโครงการใหม่ในชื่อ BearSSL
BearSSL มีนักพัฒนาหลักคือ Thomas Pornin โปรแกรมเมอร์ด้านวิทยาการเข้ารหัสลับ (เขาเป็นผู้ใช้ระดับ top 0.03% ของ Security StackExchange) โดยมีแนวทางคือการรักษาความเรียบง่ายเพื่อให้มีความปลอดภัยสูงสุด ฟีเจอร์หลักๆ เช่น
- ไม่มีการจัดการหน่วยความจำแบบ dynamic: ตัวไลบรารีไม่มีการใช้ฟังก์ชั่น
mallocแม้แต่ครั้งเดียว ฟังก์ชั่นสำหรับการทำงานกับหน่วยความจำมีเพียงmemcpy,memmove, และmemcmpรวมถึงstrlen - ฟังก์ชั่นเข้ารหัสใช้เวลาคงที่: ป้องกันการโจมตีแบบ side-channel ด้วยการกำหนดให้ฟังก์ชั่นเข้ารหัสต้องใช้เวลาคงที่เสมอ ไม่ว่าจะเป็นกระบวนการแลกกุญแจ RSA, ECDH, ECDHE หรือการเข้ารหัส AES และ 3DES
- รองรับการเชื่อมต่อแบบฝังกุญแจสาธารณะ: สำหรับอุปกรณ์ขนาดเล็ก แทนที่จะใช้กระบวนการเชื่อมต่อที่มีการตรวจสอบจาก CA ฟีเจอร์นี้ทำให้สามารถคอมไพล์ BearSSL โดยไม่มีฟังก์ชั่นการตรวจสอบใบรับรอง X.509 เลยแม้แต่น้อย
ตอนนี้สถานะการพัฒนายังเป็นเวอร์ชั่น 0.1 อยู่ คงต้องดูกันต่อไปว่า BearSSL จะได้รับความนิยมขึ้นมาในอนาคตหรือไม่
ที่มา - The Register, BearSSL
on
จะใช้ array แทน malloc
revensoft Thu, 10/11/2016 - 16:16
จะใช้ array แทน malloc หรือปล่าวนี่ครับแบบนี้ เห็นมี strlen ด้วย
ไม่มี malloc
heart Thu, 10/11/2016 - 16:36
ไม่มี malloc แล้วปลอดภัยขึ้นยังไง ใครช่วยอธิบายที
น่าจะลด dangling pointer
tekkasit Thu, 10/11/2016 - 16:53
In reply to ไม่มี malloc by heart
น่าจะลด dangling pointer ไปเลย ทำให้ผลกระทบจาก buffer overflow ลดลงอย่างมาก เพราะมันจะไม่ไปชี้สุ่มๆ อีกต่อไป
ฟังก์ชันเข้ารหัสที่จะต้องใช้เ
pe3z Mon, 14/11/2016 - 12:10
ฟังก์ชันเข้ารหัสที่จะต้องใช้เวลาคงที่ดูเหมือนเป็นสิ่งที่ must have ของ cryptographic library อยู่แล้วเลยนะครับ :P