ซอฟต์แวร์ที่แก้ไขตัวเอง
Martin Rinard ศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์ที่ MIT รู้สึกไม่สะทกสะท้านกับเป้าหมายสูงสุดของการวิจัยในกลุ่มของเขา นั่นคือ การนำเสนอโปรแกรมอมตะและคงกระพัน ในงานที่นำเสนอในเดือนนี้ที่ ACM Symposium on Operating Systems Principles in Big Sky, MT ซึ่งเป็นกลุ่มนักวิจัยของ MIT นำโดย Rinard และ Michael Ernst ซึ่งปัจจุบันเป็นรองศาสตราจารย์ที่ University of Washington ได้พัฒนาซอฟต์แวร์ที่สามารถค้นหาและ แก้ไขข้อบกพร่องของซอฟต์แวร์บางประเภทภายในไม่กี่นาที

เมื่อมีการค้นพบช่องโหว่ที่อาจเป็นอันตรายในชิ้นส่วนของซอฟต์แวร์ วิศวกรมนุษย์จะใช้เวลาโดยเฉลี่ยเกือบหนึ่งเดือนในการแก้ไขและผลักดันการแก้ไขไปยังระบบที่ได้รับผลกระทบ ตามรายงานของบริษัทรักษาความปลอดภัย Symantec ในปี 2549 นักวิจัยที่ร่วมมือกับสตาร์ทอัพชื่อ Determina ในการทำงาน หวังว่าซอฟต์แวร์ใหม่ที่เรียกว่า ClearView จะช่วยเร่งกระบวนการนี้ให้เร็วขึ้น ทำให้ซอฟต์แวร์มีความยืดหยุ่นมากขึ้นอย่างมากต่อความล้มเหลวหรือการโจมตี
ClearView ทำงานโดยไม่ได้รับความช่วยเหลือจากมนุษย์และไม่สามารถเข้าถึงซอร์สโค้ดพื้นฐานของโปรแกรมได้ (ชุดคำสั่งที่เป็นกรรมสิทธิ์ซึ่งมักกำหนดลักษณะการทำงานของซอฟต์แวร์) แต่ระบบจะตรวจสอบพฤติกรรมของไบนารีแทน: รูปแบบที่โปรแกรมใช้เพื่อดำเนินการคำสั่งบนฮาร์ดแวร์ของคอมพิวเตอร์
ด้วยการสังเกตพฤติกรรมปกติของโปรแกรมและกำหนดชุดของกฎ ClearView จะตรวจจับข้อผิดพลาดบางประเภท โดยเฉพาะอย่างยิ่งข้อผิดพลาดที่เกิดขึ้นเมื่อผู้โจมตีใส่ข้อมูลที่เป็นอันตรายลงในโปรแกรม เมื่อมีสิ่งผิดปกติเกิดขึ้น ClearView จะตรวจจับความผิดปกติและระบุกฎที่ละเมิด จากนั้นจะมีโปรแกรมแก้ไขที่เป็นไปได้หลายอย่างที่ออกแบบมาเพื่อบังคับให้ซอฟต์แวร์ปฏิบัติตามกฎที่ละเมิด (แพตช์จะถูกนำไปใช้กับไบนารีโดยตรง โดยไม่ผ่านซอร์สโค้ด) ClearView วิเคราะห์ความเป็นไปได้เหล่านี้เพื่อตัดสินใจว่าอันไหนน่าจะใช้งานได้มากที่สุด จากนั้นติดตั้งตัวเลือกอันดับต้นๆ และทดสอบประสิทธิภาพ หากมีการละเมิดกฎเพิ่มเติม หรือหากโปรแกรมแก้ไขทำให้ระบบหยุดทำงาน ClearView จะปฏิเสธและลองใช้วิธีอื่น
ClearView จะมีประสิทธิภาพเป็นพิเศษเมื่อติดตั้งบนกลุ่มเครื่องที่ใช้ซอฟต์แวร์เดียวกัน ในกรณีนั้น สิ่งที่ ClearView เรียนรู้จากข้อผิดพลาดในเครื่องหนึ่งจะถูกใช้เพื่อแก้ไขปัญหาอื่นๆ ทั้งหมด เนื่องจากไม่ต้องการการเข้าถึงซอร์สโค้ด Rinard กล่าวว่า ClearView สามารถใช้เพื่อแก้ไขโปรแกรมโดยไม่ต้องอาศัยความร่วมมือจากบริษัทที่ผลิตซอฟต์แวร์ หรือซ่อมแซมโปรแกรมที่ไม่ได้รับการดูแลอีกต่อไป เขาหวังว่าระบบจะสามารถยืดอายุของซอฟต์แวร์เวอร์ชันเก่า ซึ่งสร้างโดยบริษัทที่เลิกกิจการไปแล้ว นอกเหนือจากการปกป้องซอฟต์แวร์ปัจจุบัน
เพื่อทดสอบระบบ นักวิจัยได้ติดตั้ง ClearView ในกลุ่มคอมพิวเตอร์ที่ใช้ Firefox และจ้างทีมอิสระเพื่อโจมตีเว็บเบราว์เซอร์ ทีมที่เป็นศัตรูใช้วิธีการโจมตี 10 วิธี ซึ่งแต่ละวิธีเกี่ยวข้องกับการแทรกโค้ดที่เป็นอันตรายลงใน Firefox ClearView ประสบความสำเร็จในการบล็อกการโจมตีที่จะเกิดขึ้นทั้งหมดโดยการตรวจจับพฤติกรรมที่ไม่เหมาะสมและยุติแอปพลิเคชันก่อนที่การโจมตีจะมีผลตามที่ตั้งใจไว้ ครั้งแรกที่ ClearView พบช่องโหว่ โปรแกรมจะปิดโปรแกรมและเริ่มวิเคราะห์ไบนารี ค้นหาแพตช์ที่สามารถหยุดข้อผิดพลาดได้
สำหรับแนวทางของทีมโจมตีเจ็ดวิธี ClearView ได้สร้างแพตช์ที่แก้ไขข้อผิดพลาดพื้นฐาน ในทุกกรณี จะละทิ้งการแก้ไขที่มีผลข้างเคียงด้านลบ โดยเฉลี่ยแล้ว ClearView มาพร้อมกับแพตช์ที่ประสบความสำเร็จภายในเวลาประมาณห้านาทีของการโจมตีครั้งแรก
งานวิจัยนี้ทำให้เราเชื่อได้ว่าซอฟต์แวร์ไม่ได้เปราะบางและเปราะบางเพราะข้อผิดพลาดในตัวเอง Rinard กล่าว มันเปราะบางและเปราะบางเพราะผู้คนกลัวที่จะปล่อยให้ซอฟต์แวร์ทำงานต่อไปหากพวกเขาคิดว่ามีบางอย่างผิดปกติ แนวทางวิศวกรรมซอฟต์แวร์บางอย่าง เช่น การคำนวณที่มองไม่เห็นความล้มเหลวหรือการคำนวณที่ยอมรับได้ แบ่งปันปรัชญานี้
ClearView เป็นจุดเริ่มต้นที่ดีจริงๆ หยวนหยวนโจว ศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์แห่งมหาวิทยาลัยแคลิฟอร์เนีย ซานดิเอโก ซึ่งทำการวิจัยเกี่ยวกับความเชื่อถือได้ของซอฟต์แวร์ด้วย Zhou ชื่นชมกระบวนการประเมินผลที่นักวิจัยใช้สำหรับโครงการนี้ แต่บอกว่าเธอต้องการเห็นการทดสอบ ClearView ในแอปพลิเคชันที่หลากหลายมากขึ้น
การรักษาระบบให้ทำงานต่อไปดูเหมือนว่าจะมีบุญเพิ่ม เดวิด เพียร์ซ อาจารย์อาวุโสด้านวิทยาการคอมพิวเตอร์ที่ Victoria University ในเมืองเวลลิงตัน ประเทศนิวซีแลนด์ เขาชี้ให้เห็นว่า ClearView ออกแบบมาเพื่อใช้แพตช์เมื่อใดก็ตามที่ตรวจพบว่ามีบางอย่างผิดพลาด ระบบบางระบบได้รับการออกแบบให้ปิดตัวลงเมื่อตรวจพบข้อผิดพลาด แต่ถ้าเป้าหมายของผู้โจมตีคือการก่อวินาศกรรม Pearce กล่าว แนวทางนี้จะอยู่ในมือของพวกเขา
แต่แนวทางของ ClearView อาจส่งผลให้เกิดอาการสะอึกสำหรับผู้ใช้ Pearce กล่าวเสริม ตัวอย่างเช่น หากเว็บเบราว์เซอร์มีจุดบกพร่องที่ทำให้ไม่สามารถจัดการ URL ที่มีความยาวเกินที่กำหนด โปรแกรมแก้ไขของ ClearView อาจปกป้องระบบโดยการตัดส่วนท้ายของ URL ที่ยาวเกินไป ป้องกันไม่ให้โปรแกรมทำงานล้มเหลว แต่ยังป้องกันได้ จากการทำงานอย่างเต็มที่ อย่างไรก็ตาม ปัญหาดังกล่าวอาจไม่เป็นอันตรายโดยสิ้นเชิง โดยทั่วไปแล้วจะเป็นเพียงแฮ็กเกอร์ที่พยายามใช้ประโยชน์จากช่องโหว่ดังกล่าว Pearce กล่าว และพวกเขาจะเป็นคนที่ได้รับความเดือดร้อน