ওয়াইন প্রোগ্রামগুলির জন্য 'ptrace_scope' কর্মসংস্থান কী এবং কোনও ঝুঁকি আছে?


37

WINE এ কয়েকটি উইন্ডোজ প্রোগ্রাম চালনার জন্য আপনার এই কাজের প্রয়োজন:

echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope

সমর্থন ওয়েবসাইটগুলির মতে, এটি উবুন্টু কার্নেলের একটি বাগের কারণে যা ptrace এবং WINE একসাথে ভাল খেলতে বাধা দেয়।

উপরোক্ত কমান্ডটি ব্যবহার করে আপনি পিট্রেসকে 0 তে সেট করেছেন যা আমার গবেষণা অনুসারে হয়েছে (আমাকে কোন ওয়েবসাইটগুলি জিজ্ঞাসা করবেন না, আমি তাদের বেশিরভাগ বলে মনে করি), প্রোগ্রামগুলির মধ্যে ইন্টারঅ্যাকশনগুলির সাথে ptrace এর কাজ করতে হবে। 0 টির চেয়ে 1 টি সেটিংটি আরও অনুমোদিত।

আমাকে ধরে নিতে হবে যে উবুন্টু পিট্রেস = 1 চেয়েছিলেন এমন একটি ভাল কারণ ছিল তাই এটি আমাকে প্রশ্নের সংক্ষিপ্ত আকারে ফিরিয়ে নিয়ে যায়।

Ptrace = 0 সেট করার সাথে কি কোনও ঝুঁকি রয়েছে? সুরক্ষা কম? ডিবাগিংয়ে সমস্যা? আমি অন্য কোন কথা ভাবিনি যা ???

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


এখানে প্লেঅনলিনাক্স পপ-আপ ত্রুটি বার্তায় লিঙ্কিত একটি বিবরণ দেওয়া হয়েছে যা নেট নেট 4.5.৪ এর ইনস্টলেশন বাতিল করে দেয় যদি না পিট্র্যাস_স্কোপ 0: playonlinux.com/en/…
pabouk

উত্তর:


41

সংক্ষিপ্ত উত্তর: এখনও কোনও ব্যবহারিক বিপদ নেই, তবে আরও ভাল উপায়ে পড়ুন ...


যাইহোক এই ptrace জিনিস কি?

এটি উবুন্টু কার্নেলের একটি বাগের কারণে যা ptrace এবং WINE একসাথে ভাল খেলতে বাধা দেয়।

  • না, পাইট্রেস সুরক্ষা হ'ল ইচ্ছাকৃত কার্নেল সুরক্ষা ব্যবস্থা যা উবুন্টু ১০.১০-এর প্রথম দিকে প্রবর্তিত হয়েছিল। এটি কোনও বাগ নয় , এবং তাই এটি "স্থির" হবে না।

  • সহজ কথায়, দ্বিতীয় প্রক্রিয়া (সন্তানের) প্রথম প্রক্রিয়া (পিতা-মাতা) দ্বারা শুরু না করা হলে একটি প্রক্রিয়া অন্য প্রক্রিয়া পরীক্ষা ও সংশোধন করা থেকে এক প্রক্রিয়ার ডিফল্ট ptrace_scopeমান 1অবরুদ্ধ করে ।

  • এই প্রোগ্রামগুলির wineserverজন্য "উইন্ডোজ পরিষেবাদি" সরবরাহ করার কারণে ওয়াইনের অধীনে কিছু প্রোগ্রামের সাথে সমস্যা হতে পারে ।

সেট ptrace_scopeকরার ক্ষেত্রে কী কী ঝুঁকি রয়েছে 0?

  • এটি পুরানো আচরণ পুনরুদ্ধার করে যেখানে কোনও প্রক্রিয়া অন্য প্রক্রিয়াটিকে "ট্রেস" করতে পারে, এমনকি পিতা-মাতার সন্তানের সম্পর্ক না থাকলেও।

  • তত্ত্ব অনুসারে, ম্যালওয়ারের একটি অংশটি আপনার / আপনার কম্পিউটারের ক্ষতি করার জন্য এটি ব্যবহার করতে পারে; যেমন এটি ফায়ারফক্সের সাথে সংযুক্ত হয়ে আপনার সমস্ত ইউআরএল / পাসওয়ার্ড ইত্যাদিতে লগ করতে পারে ইত্যাদি অনুশীলনে আপনি এলোমেলোভাবে সাইটগুলি থেকে বাইনারি ডিবগুলি ইনস্টল না করা অবধি অসম্ভব সম্ভাবনা is

  • যতদুর ডিবাগিং যায়, 0সেটিংসের জন্য প্রয়োজনীয় আসলে gdb, straceযদি না আপনি তাদের উঁচু বিশেষাধিকার (উবুন্টু) সঙ্গে চালানো, ইত্যাদি অ শিশুদের সংযুক্ত করতে।

কাজের সাথে সমস্যাগুলি কি?

  • কর্মক্ষেত্রটি কিছুটা সমস্যাযুক্ত কারণ ptrace_scopeবৈশ্বিক মান, এবং এটি সেট করার সময় 0, আপনার সিস্টেমে সমস্ত প্রক্রিয়া শিশুহীন বিধিনিষেধ থেকে অব্যাহতিপ্রাপ্ত।
  • আপনি যদি কাজের দিকটি ব্যবহার করেন, এটি একটি সাধারণ বাশ স্ক্রিপ্টে রাখুন যা এটি সক্ষম করে, আপনার উইন্ডোজ প্রোগ্রামটি চালায় এবং তারপরে প্রস্থান করার সময় (সেট করতে 1) সক্ষম করে।
    • ptrace_scopeফোরাম পোস্টের পরামর্শ অনুসারে বিশ্ব-লিখনযোগ্য (6 666) তৈরি করবেন না - এটি একটি বিশাল সুরক্ষা ঝুঁকি কারণ এখন যে কোনও প্রক্রিয়া ইচ্ছামত পরিবর্তন করতে পারে!

এর চেয়ে ভাল সমাধান আর কি আছে?

  • একটি ভাল সমাধান যা অধিক নিরাপদ এবং বারেবারে মনোসংযোগের পরিবর্তন প্রয়োজন হয় না ptrace_scope হয় Wineserver ptrace ক্ষমতা দান

    • টার্মিনালে:

      sudo apt-get libcap2-bin ইনস্টল করুন 
      sudo setcap cap_sys_ptrace = আইপ / ইউএসআর / বিন / ওয়াইনসার্ভার
      sudo setcap ক্যাপ_সিস_প্রেস = ইপ / ইউএসআর / বিন / ওয়াইন-প্রিলোডার
      
    • এটি ওয়াইনসারবার এবং ওয়াইন- প্রিলোডার বাইনারিগুলিকে শিশুহীন পিট্রেস সীমাবদ্ধতা থেকে ছাড় দেয় এবং তাদের যে কোনও প্রক্রিয়া ptrace করতে দেয়।

    • এটি কেবল একবার করা দরকার এবং এটি নিরাপদ কারণ এই বাইনারিগুলি সাধারণত কোনও বিশ্বস্ত উত্স থেকে থাকে - অফিসিয়াল সংগ্রহস্থল বা অফিসিয়াল ওয়াইন পিপিএ, তাই তারা ম্যালওয়্যার হতে চলেছে না।

আপনি যদি ক্রসওভার ব্যবহার করছেন

Libcap2 ইনস্টল করুন:

sudo apt-get libcap2-bin ইনস্টল করুন;

তারপরে, ক্রসওভারের জন্য একটি ব্যতিক্রম যুক্ত করুন:

sudo setcap cap_sys_ptrace = eip / opt / cxoffice / bin / wineserver;
sudo setcap cap_sys_ptrace = eip / opt / cxoffice / বিন / ওয়াইন-প্রিলোডার;

অবশেষে, এর লাইব্রেরিগুলিকে ld.so.conf এ যুক্ত করুন (অথবা আপনি "ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটি পাবেন: libwine.so.1: শেয়ার্ড অবজেক্ট ফাইলটি খুলতে পারবেন না: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই"):

প্রতিধ্বনি / opt / cxoffice / lib / | sudo tee /etc/ld.so.conf.d/crossover.conf
sudo / sbin / ldconfig

আমি মনে করি এটি একটি বাগ নামে ডাকা হবে কারণ ওয়াইন এটি সমর্থন করার জন্য প্যাচ করার পরে 10.10 সালে পিট্রেস ঠিকঠাক কাজ করছিল। এটি 10.10-11.10 এর সাথে কাজ করছে তবে 12.04-এ ফিরে গেছে।
ট্রেলাইডার

@ ট্রেলরাইডার গ্রহণের জন্য ধন্যবাদ; আমি আপনার বক্তব্যটি উল্লেখ করছিলাম যে "এটি কার্নেলের মধ্যে একটি বাগ " (যা এটি নয়); এটি অবশ্যই ওয়াইনগুলির জন্য একটি বাগ-প্রকারের, এবং ঘাম হওয়া উচিত :) সাধারণত কার্নেলের মধ্যে কিছুটা অবশ্যই পরিবর্তিত হয়, সাধারণত উন্নতির জন্য, এবং এটি লিনাসকে "ইয়ো ম্যানকে বলার পরিবর্তে নিজেকে ঠিক করতে ক্ষতিগ্রস্থ সফ্টওয়্যারটিতে ছেড়ে যায়" নিজেকে ফিরে যান ": পি
ইশ

আমি এখানে আপনি কী বলছেন এবং সম্মত তা আমি বুঝতে পেরেছি, আমি কেবল বলেছিলাম যে এটি বেশ কয়েকটি সমর্থন ওয়েবসাইট এবং কোডউইভাররা এটিকে কর্নেল বাগ বলেছিল বলে এটি কার্নেলের মধ্যে একটি বাগ ছিল। এটিতে কোডউইভার পৃষ্ঠাটি এখানে রয়েছে। কোডউইভারস
সাউপপোর্ট /

2
আমি বিশ্বব্যাপী ptrace 0 তে সেট করেছিলাম এবং অ্যাপ্লিকেশন শুরু হওয়ার কয়েক সেকেন্ড পরে 1 এ ফিরে আসছি; সেটক্যাপ অনেক বেশি সুরক্ষিত এবং বিরক্তিকর নয় কারণ সারাক্ষণ সুডো করতে হয় .. thx ভিএম!
অ্যাকোরিয়াস পাওয়ার

@ আইজএক্স: এই উত্তরের জন্য ধন্যবাদ। "ইআইপি" কী বোঝায় সে সম্পর্কে তথ্য যুক্ত করা আকর্ষণীয় হবে (এখানে ব্যাখ্যা করা হয়েছে: andy-pearce.com/blog/posts/2013/Mar/file-capables-in-linux )। অতিরিক্ত হিসাবে, আমি reptyr ডক্সে এই পদ্ধতিটি সুপারিশ করার পরামর্শ দিয়েছি, যেখানে লেখক জবাব দিয়েছিলেন যে এটি কোনও সুরক্ষা সমস্যা হতে পারে: github.com/nelhage/reptyr/pull/27#issuecomment-29486673 - এটি দুর্দান্ত হবে, যদি আপনি বিশদভাবে বর্ণনা করতে পারেন ওই ক্ষেত্র.
নীল বর্ণিত

4

ইন ubuntuforums.org আমি নিম্নলিখিত লিঙ্ক সহ একটি উত্তর পেয়েছিলাম

https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection

এখানে লিঙ্কটি থেকে পেস্টটি দেওয়া হয়েছে (আমার জোর যুক্ত করার সাথে)

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

এটি কোনও তাত্ত্বিক সমস্যা নয়। পিটিসেসকে সাধারণত অনুমতি দেওয়া থাকলে এসএসএইচ সেশন হাইজ্যাকিং এমনকি স্বেচ্ছাসেবক কোড ইঞ্জেকশনও সম্পূর্ণভাবে সম্ভব

একটি সমাধানের জন্য, কিছু অ্যাপ্লিকেশনগুলি prctl () ব্যবহার করে বিশেষত এ জাতীয় ptrace সংযুক্তি (উদাহরণস্বরূপ ssh- এজেন্ট) অস্বীকার করার জন্য। আরও সাধারণ সমাধান হ'ল কেবলমাত্র পিতামাতার কাছ থেকে সরাসরি কোনও শিশু প্রক্রিয়াতে (যেমন ডাইরেক্ট জিডিবি এবং স্ট্রেস এখনও কাজ করে), বা রুট ব্যবহারকারী হিসাবে (যেমন জিডিবি বিন পিআইডি, এবং স্ট্রেস-পি পিআইডি এখনও মূল হিসাবে কাজ করে) প্যাট্রেসকে অনুমতি দেয়।

এই আচরণটি / proc / sys / kernel / yama / ptrace_scope sysctl মানের মাধ্যমে নিয়ন্ত্রণ করা হয়। ডি-ডিফল্ট হ'ল নন-চাইল্ড ট্রেস ব্লক করতে "1"। "0" এর মান পূর্বের আরও অনুমতিমূলক আচরণটি পুনরুদ্ধার করে, যা কেবলমাত্র অ্যাডমিন অ্যাকাউন্টগুলির সাথে কিছু বিকাশ সিস্টেম এবং সার্ভারের জন্য আরও উপযুক্ত হতে পারে। "Sudo" ব্যবহার করা CAP_SYS_PTRACE সামর্থ্যের মাধ্যমে অস্থায়ীভাবে ptrace অনুমতিও দিতে পারে, যদিও এই পদ্ধতিটি কোনও প্রক্রিয়াটির ptrace অনুমতি দেয়।

সুতরাং আমি অনুমান করি যে সংক্ষিপ্ত উত্তরটি হ'ল এটি কম সুরক্ষিত তবে এই ধরণের আক্রমণগুলির আওতায় আসা একটি ব্যক্তিগত কম্পিউটারের সম্ভবত সম্ভবত পাতলা হবে be


1

উপরোক্ত নির্দেশাবলী আপডেট করুন :

sudo setcap cap_sys_ptrace=eip /opt/cxoffice/bin/wineserver;
sudo setcap cap_sys_ptrace=eip /opt/cxoffice/bin/wine-preloader;

উবুন্টু 18.04.1 তে 9/15/2018 এবং প্লেঅনলিনাক্স v.4.2.12 তে কাজ করে না সর্বশেষ স্থিতিশীল সংস্করণ ওয়াইন যা v.3.0.1 লাইবকা্যাপ 2 ইতিমধ্যে ইনস্টল করা হয়েছিল using

জিনোম টার্মিনালে ত্রুটি বার্তাটি নিম্নরূপ:

Failed to set capabilities on file `/usr/bin/wineserver' (Invalid argument)
The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file

এর অর্থ কী তা নিশ্চিত নয় ..... তবে আমি ভেবেছিলাম যে এটির ব্যাখ্যা দেওয়ার জন্য এবং এটির একটি নতুন, কার্যকর সমাধান হতে পারে there

ধন্যবাদ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.