ช่องโหว่เปิดใช้งานโพรโทคอลเข้ารหัสไม่แข็งแรง (Weak TLS/SSL)

รายละเอียดประเด็นข้อตรวจพบ

จากการใช้เครื่องมือวิเคราะห์ช่องโหว่อัตโนมัติ ผู้ทดสอบพบว่าเป้าหมายที่กำลังทดสอบมีการอนุญาตให้ผู้ใช้งานเชื่อมต่อผ่านการเข้ารหัส (Weak protocol and Cipher Suite) ที่ไม่มีความแข็งแรง

ผู้ประสงค์ร้ายอาจทำการดักจับข้อมูลระหว่างภายในเครือข่ายเดียวกัน (Sniffing the network traffic) จนมีจำนวนข้อมูลมากเพียงพอ เพื่อใช้ในการวิเคราะห์และถอดรหัสข้อมูลได้ ถ้าเครื่องบริการปลายทางเปิดให้บริการช่องทางเข้ารหัสที่ไม่ปลอดภัย นอกจากนี้การใช้โพรโทคอลการเข้ารหัสที่ไม่ปลอดภัย อาจนำไปแสดงผลต่อบุคคลภายนอก จากเว็บไซต์ที่ให้บริการประเมินผลความแข็งแรงของการเข้ารหัสเว็บไซต์ ซึ่งอาจส่งผลกระทบต่อชื่อเสียงองค์กรถึงแม้บริการดังกล่าวอาจไม่ใช่การบริการต่อผู้ใช้โดยตรงก็ตาม

“Cipher suite” คืออัลกอลึทึมที่มีหน้าที่สำหรับการพิสูจน์ตัวตน (Authentication) การเข้ารหัส (Encryption) และการตรวจสอบความถูกต้องครบถ้วนของข้อมูลไม่ได้ถูกแก้ไขระหว่างทาง (Message authentication code หรือ MAC)

OpenSSLKey ExchangeAuthenticationEncryptionMAC
DES-CBC3-SHARivest Shamir Adleman algorithm (RSA) ไม่แข็งแรงRivest Shamir Adleman algorithm (RSA)Triple-DES (Encrypt Decrypt Encrypt) in Cipher Block Chaining mode (3DES EDE CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
ECDHE-RSA-DES-CBC3-SHAElliptic Curve Diffie-Hellman Ephemeral (ECDHE)Rivest Shamir Adleman algorithm (RSA)Triple-DES (Encrypt Decrypt Encrypt) in Cipher Block Chaining mode (3DES EDE CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
EDH-RSA-DES-CBC3-SHADiffie-Hellman (DH) ไม่สามารถใช้ Perfect Forward Secrecy (PFS)Rivest Shamir Adleman algorithm (RSA)Triple-DES (Encrypt Decrypt Encrypt) in Cipher Block Chaining mode (3DES EDE CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
RC4-MD5Rivest Shamir Adleman algorithm (RSA) ไม่แข็งแรงRivest Shamir Adleman algorithm (RSA)Rivest Cipher 4 with 128bit key (RC4 128) ไม่แข็งแรงMessage Digest 5 (MD5) ไม่แข็งแรง
DES-CBC3-MD5Rivest Shamir Adleman algorithm (RSA) ไม่แข็งแรงRivest Shamir Adleman algorithm (RSA)Triple-DES (Encrypt Decrypt Encrypt) in Cipher Block Chaining mode (3DES EDE CBC) ไม่แข็งแรงMessage Digest 5 (MD5) ไม่แข็งแรง
DHE-RSA-DES-CBC3-SHADiffie-Hellman Ephemeral (DHE)Rivest Shamir Adleman algorithm (RSA)Triple-DES (Encrypt Decrypt Encrypt) in Cipher Block Chaining mode (3DES EDE CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
DHE-RSA-AES128-SHADiffie-Hellman Ephemeral (DHE)Rivest Shamir Adleman algorithm (RSA)Advanced Encryption Standard with 128bit key in Cipher Block Chaining mode (AES 128 CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
DHE-RSA-DES-CBC3-SHADiffie-Hellman Ephemeral (DHE)Rivest Shamir Adleman algorithm (RSA)Advanced Encryption Standard with 128bit key in Cipher Block Chaining mode (AES 128 CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง
DHE-RSA-AES128-SHADiffie-Hellman Ephemeral (DHE)Rivest Shamir Adleman algorithm (RSA)Advanced Encryption Standard with 128bit key in Cipher Block Chaining mode (AES 128 CBC) ไม่แข็งแรงSecure Hash Algorithm 1 (SHA) ไม่แข็งแรง

ข้อแนะนำ

  • ปิดการใช้งานโพรโทคอล (Protocol) เข้ารหัสที่ไม่ปลอดภัย – แนะนำให้ปิดโพรโทคอลเข้ารหัสที่ไม่ปลอดภัย (TLS 1.0 TLS1.1 SSLv2 และ SSLv3) และใช้งาน (TLS 1.2 หรือล่าสุด) อย่างไรก็ตามให้วิเคราะห์ผลกระทบต่อผู้ใช้งานระบบที่มีผลิตภันฑ์หรือหมายเลขรุ่นที่ไม่สนับสนุนการใช้งาน “TLS 1.2” ด้วย
  • ปิดการใช้งานอัลกอลิทึมการเข้ารหัส “Cipher suite” ทีไม่แข็งแรง – ปิดการใช้งานอัลกอลิทึมการเข้ารหัส “Cipher suite” ทีไม่แข็งแรง ตัวอย่างเช่น มีขนาดต่ำกว่า 128 บิต อัลกอลิทึม Null MD5 RC4 DES3 หรือ CBC เป็นต้น

แนะนำให้ใช้ “Cipher suite” ที่ปลอดภัย ดังนี้

ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384

สำหรับ “Windows Server” สามารถใช้โปรแกรม “IIScrypto” หรือแก้ไขที่ “Registry” ดังตัวอย่างต่อไปนี้

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000

Nginx

# Enable TLSv1.2, disable SSLv3.0, TLSv1.0 and TLSv1.1
ssl_protocols TLSv1.2;

# Enable modern TLS cipher suites
ssl_ciphers
'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';

# The order of cipher suites matters
ssl_prefer_server_ciphers on;

Apache HTTP Server

# Enable TLSv1.2, disable SSLv3.0, TLSv1.0 and TLSv1.1
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1

# Enable modern TLS cipher suites
SSLCipherSuite          
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

# The order of cipher suites matters
SSLHonorCipherOrder     on

# Disable TLS compression
SSLCompression          off

# Necessary for Perfect Forward Secrecy (PFS)
SSLSessionTickets       off

อ้างอิงเพิ่มเติม

บทความที่เกี่ยวข้อง IT SELECT LAB