ThaiCERT: Thai Computer Emergency Response Team
ศูนย์ประสานงานการรักษาความปลอดภัยคอมพิวเตอร์ ประเทศไทย 
 
 
 

ชื่อเรื่อง : วิธีการตรวจสอบความสมบูรณ์ของไฟล์
เรียบเรียงโดย : ชวลิต ทินกรสูติบุตร
เรียบเรียงเมื่อ : 9 กันยายน 2546

กล่าวนำ

โดยทั่วไปผู้ดูแลระบบ หรือผู้ใช้งานคอมพิวเตอร์มักจะละเลยขั้นตอนการตรวจสอบความสมบูรณ์ของซอร์ดโค้ด หรือโปรแกรมที่ดาวน์โหลดจากเว็บไซต์ ก่อนการติดตั้งเสมอ การตรวจสอบความสมบูรณ์ของไฟล์เป็นวิธีการหนึ่งในการยืนยันว่าไฟล์ที่ดาวน์โหลดมานั้นเป็นไฟล์ที่สร้าง หรือรวบรวมจากเจ้าของผลิตภัณฑ์นั้นจริง หากผลของการตรวจสอบความสมบูรณ์ไม่ถูกต้องอาจมีความเป็นไปได้ที่ไฟล์ดังกล่าวถูกแก้ไขจากผู้ไม่ประสงค์ดี โดยการแทรกโปรแกรมม้าโทรจัน (Trojan Horse Code) หรือ โปรแกรม Back door ซึ่งส่งผลกระทบต่อความปลอดภัยของระบบหลังจากการติดตั้งโปรแกรมดังกล่าว ในบทความนี้จะกล่าวถึงวิธีการตรวจสอบความสมบูรณ์ของไฟล์ในระบบปฏิบัติการตระกูลยูนิกซ์

Verify Software

การตรวจสอบความคงอยู่ หรือความสมบูรณ์ของไฟล์นั้นสามารถทำได้โดยอาศัยหลักการสองประเภท ได้แก่ การตรวจสอบค่า Checksum (เช่น การใช้ฟังก์ชั่น md5 hash) และการตรวจสอบจากการเข้ารหัสลายมือชื่ออิเล็กทรอนิกส์ (Cryptographic Signature เช่น PGP) ในบทความนี้จะกล่าวถึงการตรวจสอบความสมบูรณ์ของไฟล์ 3 วิธีดังต่อไปนี้

1. การตรวจสอบความสมบูรณ์ของไฟล์ด้วยวิธี Checksum ด้วยโปรแกรม md5

2. การตรวจสอบความสมบูรณ์ของไฟล์ด้วยวิธี Cryptographic Signature ด้วยโปรแกรม gnupg

3. การตรวจสอบความสมบูรณ์ของเพ็กเกจโปรแกรมชนิด rpm ของระบบปฎิบัติการ Red Hat

สำหรับผู้ใช้งานระบบปฏิบัติการ Red Hat ต้องการตรวจสอบความสมบูรณ์ของเพ็กเกจ rpm ที่ดาวน์โหลดจากเว็บไซต์ของ Red Hat สามารถทำได้ดังนี้

บทส่งท้าย

การตรวจสอบความถูกต้อง และสมบูรณ์ของไฟล์โปรแกรมที่ดาวน์โหลดจากเว็บไซต์ก่อนการติดตั้งนั้นเป็นสิ่งสำคัญที่จำเป็นต้องทำทุกครั้ง เพราะไม่เช่นนั้นท่านจะเสี่ยงต่อความเสียหายที่จะเกิดขึ้นกับโปรแกรมม้าโทรจัน หรือโปรแกรม Back door ที่แทรกมากับไฟล์ดังกล่าว การตรวจสอบความสมบูรณ์ด้วยวิธีการตรวจสอบการเข้ารหัสลายมือชื่ออิเล็กทรอนิกส์นั้นเป็นวิธีที่ดีกว่า การตรวจสอบด้วยวิธี Checksum เพราะหากเว็บไซต์ หรือเอฟทีพีไซต์ (FTP Site) ถูกผู้ประสงค์ร้ายบุกรุกเพื่อเข้าไปแทรกไฟล์ด้วยโปรแกรมม้าโทรจัน หรือโปรแกรม Back door และเปลี่ยนแปลงไฟล์ผลของค่า Checksum ให้ตรงกับไฟล์ที่ถูกแก้ไข ดังนั้นเมื่อผู้ใช้งานไม่สามารถรู้ได้ว่าไฟล์ที่จะดาวน์โหลดนั้นเป็นไฟล์ของผู้บุกรุกหรือไม่ ฉะนั้นควรเลือกดาวน์โหลดไฟล์จากเว็บไซต์ที่สนับสนุนการตรวจสอบความสมบูรณ์ด้วยวิธีการตรวจสอบการเข้ารหัสลายมือชื่ออิเล็กทรอนิกส์เป็นหลัก

นอกจากนี้ควรตรวจสอบข่าวสารว่าเว็บไซต์ที่ท่านจะดาวน์โหลดไฟล์โปรแกรมเคยถูกบุกรุก หรือไม่ ตัวอย่างเช่นในกรณีของ โปรแกรม sendmail โปรแกรม tcpdump หรือ GNU ftp site (จากเอกสารอ้างอิง[2] ถึง [4]) เป็นต้น เพราะอาจจะมีผลกระทบต่อขั้นตอนของการตรวจสอบความถูกต้องสมบูรณ์ของไฟล์ได้เช่นกัน

เอกสารอ้างอิง

[1] The GNU Privacy Guard

http://www.gnupg.org

[2] CERT Advisory CA-2003-21 GNU Project FTP Server Compromise

http://www.cert.org/advisories/CA-2003-21.html

[3]CERT Advisory CA-2002-28: Trojan Horse Sendmail Distribution
http://www.cert.org/advisories/CA-2002-28.html

[4] CERT Advisory CA-2002-30: Trojan Horse tcpdump and libpcap Distributions
http://www.cert.org/advisories/CA-2002-30.html




Home || เอกสารเผยแพร่ || Encryption

ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved.