gpg2: সতর্কতা: নিরাপত্তাহীন মেমরি ব্যবহার করে!


11

আজকের হিসাবে, যখনই আমি gpg2আমার ম্যাক (10.12.1) এ (হোমব্রিউয়ের মাধ্যমে ইনস্টল করা) ব্যবহার করি, আমি এখন নিম্নলিখিত সতর্কতাটি দেখতে পাচ্ছি:

Warning: using insecure memory!

এটির মূল্যের জন্য, আমি দুটি ভিন্ন মেশিনে একই আচরণটি দেখছি: একটি ম্যাক মিনি (দেরি 2012) এবং একটি ম্যাকবুক প্রো (দেরী 2012), উভয়ই চলছে 10.12.1।

GnuPG এফএকিউ যেমন বলেছে:

GnuPG মেমোরিটিকে লক করার চেষ্টা করে যাতে অন্য কোনও প্রক্রিয়া এটি দেখতে না পায় এবং যাতে মেমরিটি অদলবলে লেখা না হয়। যদি কোনও কারণে এটি এটি করতে সক্ষম না হয় (উদাহরণস্বরূপ, নির্দিষ্ট প্ল্যাটফর্মগুলি এই ধরণের মেমরি লকিং সমর্থন করে না), GnuPG আপনাকে সতর্ক করবে যে এটি নিরাপত্তাহীন মেমরি ব্যবহার করছে।

সুরক্ষিত মেমরিটি ব্যবহার করা প্রায় সর্বদা উন্নত হলেও সুরক্ষিত মেমরিটি ব্যবহার করা কোনও খারাপ জিনিস নয়। যদি আপনি মেশিনটির মালিক হন এবং আপনি আত্মবিশ্বাসী হন যে এটি ম্যালওয়্যারকে আশ্রয় দিচ্ছে না, তবে সম্ভবত এই সতর্কতা উপেক্ষা করা যেতে পারে।

আমাকে যে বিষয়টি অবাক করে তোলে gpg2তা হচ্ছে সেপ্টেম্বর 12, 2016 থেকে পরিবর্তন হয়নি । আমার তখন থেকে 2.0.30 সংস্করণ কমবেশি ইনস্টল হয়েছে তবে আমি কেবল আজই নিরাপত্তাহীন স্মৃতি সম্পর্কে এই সতর্কতাটি দেখতে শুরু করেছি। যদিও gpg2সূত্র সেপ্টেম্বর 12, 2016 সাল থেকে পরিবর্তন হয়নি, এক জিনিস আমি নিশ্চিত যে আমি এই সতর্কবার্তা এইজন্য একটি হল সূত্রপাত করার পূর্বে উভয় মেশিনে করেনি হয়ে বলতে পারে brew update && brew upgrade। তবে কীভাবে এটি এর প্রভাব ফেলতে পারে তা আমি নিশ্চিত নই; জিএনপিপিজি এফএকিউ যা বলেছে তা প্রদত্ত বলে মনে হচ্ছে এটির ওএস এবং মেমরি লকিংয়ের সাথে আরও কিছু করার রয়েছে।

... এবং এর চেয়েও gpg1মজাদার বিষয় হ'ল আমি হোমব্রুও (সংস্করণ 1.4.21) থেকেও ইনস্টল করেছি , যা আমি যখন এটি ব্যবহার করি তখন নিরাপত্তাহীন স্মৃতি সম্পর্কে সতর্ক করে না :

$ gpg1 --require-secmem
gpg: Go ahead and type your message ...
^C
gpg: Interrupt caught ... exiting

$ gpg2 --require-secmem
Warning: using insecure memory!
gpg: will not run with insecure memory due to --require-secmem

উভয় বাইনারি একই মালিক এবং গোষ্ঠীর অন্তর্ভুক্ত এবং একই অনুমতি রয়েছে:

-r-xr-xr-x  1 adamliter  admin  681932 Dec 10 18:06 /usr/local/Cellar/gnupg2/2.0.30_2/bin/gpg2
-r-xr-xr-x  1 adamliter  admin  929352 Aug 17 09:21 /usr/local/Cellar/gnupg/1.4.21/bin/gpg1

আমি কেবল gpg2হোমব্রিউ দিয়ে পুনরায় ইনস্টল করার চেষ্টা করেছি : উভয়ই প্রম্পম্পাইল্ড বাইনারি ব্যবহার করে এবং ফর্ম উত্স তৈরি করে, তবে এটি কিছুই পরিবর্তন করে না। আমি এখনও নিরাপত্তাহীন মেমরি ব্যবহার সম্পর্কে সতর্কতা পেয়েছি।

অধিকন্তু, এমনকি জিপিজি 2 বাইনারি তৈরি করার ফলে সেটআপড রুট বিটটি উল্টে যায় (যেমন প্রস্তাবিত, যেমন , এখানে ) বার্তাটি অদৃশ্য হয়ে যায় না; এটি এখনও নিরাপত্তাহীন মেমরি ব্যবহার সম্পর্কে সতর্ক করে।

কেউ কি জানেন যে এর এমন কী পরিবর্তন হতে পারে যে আমি আজ হঠাৎ এই সতর্কতাটি দেখা শুরু করব? এবং gpg2বাইনারি না বাইনারি ব্যবহার করার সময় আমি কেন এটি দেখব gpg1?

অন্যান্য সম্ভবত সম্পর্কিত তথ্য:

$ which gpg1
/usr/local/bin/gpg1
$ ls -al /usr/local/bin/gpg1
lrwxr-xr-x  1 adamliter  admin  31 Aug 17 17:42 /usr/local/bin/gpg1 -> ../Cellar/gnupg/1.4.21/bin/gpg1
$ which gpg2
/usr/local/bin/gpg2
$ ls -al /usr/local/bin/gpg2
lrwxr-xr-x  1 adamliter  admin  34 Dec 10 18:06 /usr/local/bin/gpg2 -> ../Cellar/gnupg2/2.0.30_2/bin/gpg2

হালনাগাদ

আমি মনে করি এটির কারণটি এর নতুন সংস্করণের কারণে libgcryptকেন এটি হচ্ছে তা আমি এখনও জানি না তবে আমি নিশ্চিত যে এটি কমপক্ষে সমস্যাটির মূল কারণ is সূত্রটি আজই 1.7.4 দ্বিধায় আপডেট করাlibgcrypt হয়েছিল ; এটি ব্যাখ্যা করবে কেন আমি এটির পরে দুটি ভিন্ন কম্পিউটারে এটি দেখছি । এটি কেন তা ঘটছে না তাও ব্যাখ্যা করবে , কারণ নিজস্ব ইন্টিগ্রেটেড ক্রিপ্টোগ্রাফিক লাইব্রেরি ব্যবহার করে বাহ্যিক ক্রিপ্টোগ্রাফিক লাইব্রেরি নির্ভর করে নি ।brew update && brew upgradegpg1gpg1libgcrypt

তদুপরি, আমি gpg2ম্যাকজিপিজি স্যুট থেকেও ইনস্টল করেছি, যা এই সমস্যাটি প্রদর্শন করছে না এবং এর ভিন্ন সংস্করণের সাথে লিঙ্কযুক্ত libgcrypt:

$ /usr/local/MacGPG2/bin/gpg2 --version
gpg (GnuPG/MacGPG2) 2.0.30
libgcrypt 1.6.6
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ gpg2 --version
gpg (GnuPG) 2.0.30
libgcrypt 1.7.4
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

সুতরাং আমি অনুমান করছি যে এটি সম্ভবত রক্ষণাবেক্ষণকারীদের জন্য একটি বাগ রিপোর্ট libgcrypt। আমি তাদের মেইলিং লিস্টে পোস্ট করব, তবে একই সমস্যাটি এবং / অথবা ক্ষেত্রে অন্য কেউ ঠিক কীভাবে ঘটছে তা যদি কেউ জানতে পারে তবে আপাতত আমি এখানে এটি ছেড়ে দেব will যদি আমি তাদের মেইলিং তালিকায় এই বার্তা পাঠানোর পরে নিশ্চিত হয়ে যাই যে এটি একটি বাগ, তবে আমি এই প্রশ্নটি বন্ধ করার পক্ষে ভোট দেব।


আমি নিশ্চিত যদি এই প্রশ্নের সবচেয়ে উপযুক্ত এখানে Apple.SE চালু থাকে, তখন বা সততার আছি যদি এটা আরো সঠিক Unix.SE । আমি প্রথমে এখানে জিজ্ঞাসা করেছি কারণ জ্ঞানপিজি এফএকিউ পরামর্শ দেয় এটি ওএস এবং মেমরি লকিং সম্পর্কে কিছু হতে পারে তবে আপনি অন্যথায় মনে করেন তবে মাইগ্রেশনটি নির্দ্বিধায় অনুভব করুন।
অ্যাডাম লিটার

techrepublic.com/blog/it-security/the-insecure-memory-faq এর কারণ হিসাবে মনে হতে পারে কারণ আপনার পরিবেশটি র‍্যামের পরিমাণ কম হয়েছে এবং তাই স্থানের অদলবদলে ডেটা লেখার প্রয়োজন রয়েছে।
sideshowbarker

@ সিডিশোবার্কার এটি আমার প্রাথমিক চিন্তাও ছিল, তবে (i) যা gpg1এবং এর সাথে আচরণের মধ্যে পার্থক্যের ব্যাখ্যা দেয় না gpg2এবং (ii) এটি পরীক্ষা করার সময় আমি আমার কম্পিউটারে মেমরি পর্যবেক্ষণ করেছি এবং প্রচুর অব্যবহৃত স্মৃতি রয়েছে আমি যখন সতর্কতা বার্তাটি দেখি। আমি মনে করি আমি সমস্যার মূলটিকে স্থানীয়করণ করেছি, তবে কেন এটি হচ্ছে তা এখনও নিশ্চিত not প্রশ্নটি এক সেকেন্ডে আপডেট করবে।
অ্যাডাম লিটার

টুইটারে
অ্যাডাম লিটার

উত্তর:


9

মধ্যে পার্থক্য gpg1এবং gpg2আমি ঠাহর হয় সত্য যে দেখা দিলে gpg2একটি বহিস্থিত ক্রিপ্টোগ্রাফিক গ্রন্থাগার, ব্যবহার libgcrypt, যেহেতু gpg1ব্যবহার একটি সমন্বিত ক্রিপ্টোগ্রাফিক লাইব্রেরি।

এবং বিশেষত, হোমব্রু libgcrypt10 ডিসেম্বর তারিখে 1.7.4 সংস্করণে আপডেট হয়েছে , যা কোডটিতে একটি রিগ্রেশন প্রবর্তন করেছিল, যা libgcryptঅনিরাপদ স্মৃতির সতর্কতার দিকে পরিচালিত করে।

পুল অনুরোধেlibgcrypt প্রাথমিকভাবে এই সম্পর্কে কিছুটা আলোচনা হয়েছিল যেটি 1.7.4 এর সূত্রটি হোমব্রিউতে প্রবর্তন করেছিল , এটি প্রস্তাব দিয়েছিল যে এটি নকশার দ্বারা হতে পারে:

তবুও, দেখা যাচ্ছে যে এটি সত্যই একটি বাগ ছিল। নির্দিষ্ট বাগ রিপোর্ট এখানে দায়ের করা হয়েছিল:

এই প্রতিশ্রুতিতে বাগটি স্থির করা হয়েছিল এবং এইlibgcrypt ফিক্সটি 1.7.5-এ প্রকাশিত হয়েছিল , যা লেখার সময়, হোমেনব্রু এখন ডোমিনিক টিলারকে ধন্যবাদ জানায় এমন সংস্করণ । এই সমস্যাটি সমাধান করার জন্য, আপনি কেবল একটি করতে পারেন brew update && brew upgrade


উত্তরসূরির জন্য, এটি একটি বাগ ছিল কিনা তা নিশ্চিত হওয়ার আগে এই উত্তরটির পুরানো সংস্করণ থেকে কিছু তথ্য এখানে দেওয়া হয়েছে libgcrypt:

আপনি যদি সর্বদা অনিরাপদ মেমরির সম্পর্কে সতর্কতা না দেখেন তবে no-secmem-warningআপনি যা করতে পারেন তা হ'ল যুক্ত করা ~/.gnupg/gpg.confGnuPG FAQ এর একটি পুরাতন সংস্করণ নির্দেশ করে:

অদলবদল হওয়ার বিরুদ্ধে পৃষ্ঠাগুলি লক করা প্রয়োজনীয় নয় যদি আপনার সিস্টেমটি একটি এনক্রিপ্টড স্ব্যাপ পার্টিশন ব্যবহার করে। সংবেদনশীল ডেটা কোনও ডিস্কে শেষ না হওয়া থেকে রক্ষা করার পক্ষে এটিই সেরা উপায়। যদি আপনার সিস্টেমটি এনক্রিপ্ট হওয়া অদলবদল পার্টিশনের অনুমতি দেয় তবে দয়া করে এই বৈশিষ্ট্যটি ব্যবহার করুন। নোট করুন জিপিজি এনক্রিপ্ট হওয়া স্বাপ পার্টিশন সম্পর্কে জানেন না এবং সতর্কতাটি মুদ্রণ করতে পারে; আপনার অদলবদলটি এনক্রিপ্ট করা থাকলে আপনার সতর্কতাটি অক্ষম করা উচিত। আপনি যদি GnuPG সেটুইড (রুট) ইনস্টল করতে না পারেন বা না চান তবে আপনি এই সতর্কতাটি অক্ষম করতেও পারেন। সতর্কতাটি অক্ষম করতে আপনি একটি লাইন রেখেছেন

no-secmem-warning

আপনার ~/.gnupg/gpg.confফাইলের মধ্যে

যতদূর আমি জানি, ম্যাকোস এনক্রিপ্টড অদলবদল স্পেস ব্যবহার করে। আমার জন্য, উদাহরণস্বরূপ, sysctl vm.swapusageফেরত:

vm.swapusage: total = 1024.00M  used = 234.75M  free = 789.25M  (encrypted)

তদ্ব্যতীত, @sideshowbarkerমন্তব্যে পয়েন্ট হিসাবে , gnupg- ব্যবহারকারীদের মেলিং তালিকায় একটি পোস্টও রয়েছে , যা বলেছে যে এই সতর্কতাটি উপেক্ষা করা তুলনামূলকভাবে নিরাপদ:

[...] রুট সুবিধাগুলি ব্যতীত নিরাপত্তাহীন মেমরিটি কাজে লাগানো <understatement>বেশ শক্ত </understatement>- এবং যদি আপনার আক্রমণকারীটির যদি আপনার মেশিনে রুট সুবিধাগুলি থাকে তবে তা যাইহোক শেষ।


Github.com/Homebrew/homebrew-core/pull/… এর আলোকে এবং libgcryptরক্ষণাবেক্ষণকারীরা ইচ্ছাকৃতভাবে এটি ভঙ্গ করেছে বলে মনে হয়, এখানে এখানে যুক্ত হওয়া no-secmem-warningউচিত যে ~/.gnupg/gpg.confফাইলটিতে লাইন যুক্ত করে বার্তাটি দমন করা যায় । হিসাবে list.gnupg.org/pipermail/gnupg-users/2015- ডিসেম্বার/054771.html নোট হিসাবে উল্লেখ করা হয়েছে, “মূল অধিকার ছাড়াই নিরাপত্তাহীন মেমরিটি ব্যবহার করা বেশ কঠিন - এবং যদি আপনার আক্রমণকারী আপনার মেশিনে রুট সুবিধাগুলি রাখেন তবে তা সবই শেষ হয়ে যায় over "। সুতরাং সতর্কতাটি শুরু করার জন্য খুব কার্যকর নয়।
sideshowbarker
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.