HTTPS هميشه طور تي محفوظ نه آهي جيئن اهو لڳي ٿو. 5,5٪ HTTPS سائيٽن ۾ مليا نقصان

HTTPS هميشه طور تي محفوظ نه آهي جيئن اهو لڳي ٿو. 5,5٪ HTTPS سائيٽن ۾ مليا نقصان
مٿين Alexa سائيٽن مان هڪ (مرڪزي دائرو)، HTTPS پاران محفوظ ڪيل، ذيلي ڊومينز (گرين) ۽ انحصار (سفيد) سان، جن ۾ ڪمزور آهن (ڇڏيل)

اڄڪلهه، HTTPS محفوظ ڪنيڪشن آئڪن بڻجي چڪو آهي معياري ۽ ڪنهن به سنجيده ويب سائيٽ جي لازمي وصف. جيڪڏهن ڏنل سند غائب، لڳ ڀڳ سڀ تازو برائوزر هڪ ڊيڄاريندڙ ڏيکاري ٿو سائيٽ سان ڪنيڪشن ”محفوظ ناهي“ ۽ ان کي ڳجهي معلومات منتقل ڪرڻ جي سفارش نه ڪريو.

پر اهو ظاهر ٿئي ٿو ته ايڊريس بار ۾ "تالا" جي موجودگي هميشه تحفظ جي ضمانت نه آهي. 10 معروف سائيٽن جي چڪاس Alexa جي درجه بندي مان ظاهر ڪيو ويو آهي: انهن مان ڪيترائي نازڪ SSL/TLS پروٽوڪول جي ڪمزورين جي سامهون آهن، عام طور تي ذيلي ڊومينز يا انحصار ذريعي. مطالعي جي ليکڪن جي مطابق، جديد ويب ايپليڪيشنن جي پيچيدگي کي تمام گهڻو وڌائي ٿو حملي جي سطح.

تحقيق جا نتيجا

مطالعي جي ماهرن طرفان ڪيو ويو Ca' Foscari يونيورسٽي آف وينس (اٽلي) ۽ ويانا ٽيڪنيڪل يونيورسٽي. اهي سيڪيورٽي ۽ رازداري تي 40هين IEEE سمپوزيم ۾ هڪ تفصيلي رپورٽ پيش ڪندا، جيڪو 20-22 مئي 2019 تي سان فرانسسڪو ۾ منعقد ٿيندو.

Alexa جي لسٽ تي مٿين 10 HTTPS سائيٽون ۽ 000 لاڳاپيل ميزبان چيڪ ڪيا ويا. 90 ميزبانن تي ڪمزور ڪرپٽوگرافڪ ترتيبن جي نشاندهي ڪئي وئي، يعني ڪل جو لڳ ڀڳ 816٪:

  • 4818 MITM لاءِ خطرناڪ
  • 733 مڪمل TLS ڊسڪشن لاءِ خطرناڪ
  • 912 جزوي TLS ڊسڪشن لاءِ خطرناڪ

898 سائيٽون مڪمل طور تي هيڪنگ لاءِ کليل آهن، يعني اهي ٽئين پارٽي اسڪرپٽ جي انجڻ جي اجازت ڏين ٿيون، ۽ 977 سائيٽون ڪمزور محفوظ ڪيل صفحن مان مواد ڊائون لوڊ ڪن ٿيون جن سان حملو ڪندڙ رابطو ڪري سگهي ٿو.

محقق زور ڏئي ٿو ته 898 "مڪمل طور تي سمجھوتا" وسيلن مان آن لائن اسٽور، مالي خدمتون ۽ ٻيون وڏيون سائيٽون آهن. 660 مان 898 سائيٽون خارجي اسڪرپٽ ڊائون لوڊ ڪن ٿيون خطرناڪ ميزبانن کان: هي خطري جو مکيه ذريعو آهي. ليکڪن جي مطابق، جديد ويب ايپليڪيشنن جي پيچيدگي کي تمام گهڻو وڌائي ٿو حملي جي سطح.

ٻيا مسئلا پڻ دريافت ڪيا ويا: 10٪ اختياري فارمن ۾ معلومات جي محفوظ منتقلي سان مسئلا آهن، جيڪي پاسورڊ ليڪ ٿيڻ کي خطرو ڪن ٿا، 412 سائيٽون ڪوڪيز جي مداخلت جي اجازت ڏين ٿيون ۽ "سيشن هائيجيڪنگ"، ۽ 543 سائيٽون ڪوڪيز جي سالميت تي حملن لاء حساس آهن (ذيلي ڊومينز ذريعي. ).

مسئلو اهو آهي ته تازو سالن ۾، SSL/TLS پروٽوڪول ۽ سافٽ ويئر ڪيترن ئي ڪمزورين جي نشاندهي ڪئي وئي آهي: POODLE (CVE-2014-3566)، BEAST (CVE-2011-3389)، CRIME (CVE-2012-4929)، BREACH (CVE-2013-3587) ۽ Heartbleed (CVE-2014-0160). انهن جي خلاف بچائڻ لاء، سرور ۽ ڪلائنٽ جي طرفن تي ڪجهه سيٽنگون گهربل آهن پراڻن ڪمزور ورزن جي استعمال کان بچڻ لاء. پر اھو ھڪڙو غير معمولي طريقو آھي، ڇاڪاڻ⁠تہ اھڙيون سيٽنگون ھڪڙي وسيع سيٽنگن ۽ پروٽوڪول مان چونڊڻ ۾ شامل آھن، جن کي سمجھڻ ڏاڍو ڏکيو آھي. اهو هميشه واضح ناهي ته ڪهڙن سائفر سوٽ ۽ پروٽوڪول سمجهيا وڃن ٿا ”ڪافي محفوظ“.

تجويز ڪيل سيٽنگون

ڪو به سرڪاري طور تي منظور ٿيل نه آهي ۽ سفارش ڪيل HTTPS سيٽنگن جي فهرست تي اتفاق ڪيو ويو آهي. سو، Mozilla SSL ڪنفيگريشن جنريٽر ڪيترن ئي ترتيبن جا اختيار پيش ڪري ٿو، تحفظ جي گهربل سطح تي منحصر ڪري ٿو. مثال طور، هتي nginx 1.14.0 سرور لاءِ تجويز ڪيل سيٽنگون آهن:

جديد موڊ

پراڻا سپورٽ ڪيل گراهڪ: فائر فاکس 27، ڪروم 30، IE 11 ونڊوز 7 تي، ايج، اوپيرا 17، سفاري 9، Android 5.0، ۽ جاوا 8

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;


# modern configuration. tweak to your needs.
ssl_protocols TLSv1.2;
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';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

سراسري حمايت

پراڻا سپورٽ ڪيل گراهڪ: فائر فاکس 1، ڪروم 1، IE 7، اوپيرا 5، سفاري 1، ونڊوز XP IE8، Android 2.3، جاوا 7

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

پراڻي حمايت

پراڻا سپورٽ ڪيل گراهڪ: ونڊوز XP IE6، جاوا 6

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# old configuration. tweak to your needs.
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

اها صلاح ڏني وئي آهي ته هميشه مڪمل سائفر سوٽ استعمال ڪريو ۽ OpenSSL جو جديد نسخو. سرور جي سيٽنگن ۾ سيفرن جو سيٽ ترجيح ڏي ٿو جنھن ۾ اھي استعمال ڪيا ويندا، ڪلائنٽ سيٽنگن تي منحصر آھي.

تحقيق ڏيکاري ٿو ته صرف هڪ HTTPS سرٽيفڪيٽ کي نصب ڪرڻ ڪافي ناهي. "جڏهن ته اسان ڪوڪيز کي سنڀالي نه ٿا سگهون جيئن اسان 2005 ۾ ڪيو هو، ۽ 'مهذب TLS' عام ٿي چڪو آهي، اهو ظاهر ٿئي ٿو ته اهي بنيادي شيون ڪافي نه آهن حيرت انگيز طور تي تمام مشهور سائيٽن جي وڏي تعداد کي محفوظ ڪرڻ لاء،" اهي چون ٿا ڪم جا ليکڪ. سرور ۽ ڪلائنٽ جي وچ ۾ چينل کي معتبر طور تي محفوظ ڪرڻ لاءِ، توهان کي پنهنجي ذيلي ڊومينز ۽ ٽئين پارٽي جي ميزبانن جي انفراسٽرڪچر کي احتياط سان مانيٽر ڪرڻ جي ضرورت آهي جنهن مان سائيٽ لاءِ مواد فراهم ڪيو ويو آهي. اهو سمجھ ۾ اچي سگھي ٿو ته ڪجھ ٽئين پارٽي جي ڪمپني کان آڊٽ جو حڪم ڏيو جيڪو معلومات جي حفاظت ۾ ماهر آھي.

HTTPS هميشه طور تي محفوظ نه آهي جيئن اهو لڳي ٿو. 5,5٪ HTTPS سائيٽن ۾ مليا نقصان

جو ذريعو: www.habr.com