ওএস এক্স-এ সিস্টেম কীচেন কীভাবে সুরক্ষিত হয়?


22

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

গতবার আমি যাচাই করেছিলাম, ওএস এক্স এর অধীনে ব্যবহারকারীর লগইন কীচেনটি পাসওয়ার্ডের মতোই সুরক্ষিত ছিল। আমি কিছু সমস্যা স্মরণ করছি যা 111 বিট (কুয়াশার স্মৃতি, আমাকে সংশোধন করতে নির্দ্বিধায়) যেমন কীভাবে পাসওয়ার্ড কীতে রূপান্তরিত হয় তা নিয়ে কিছু সমস্যা থাকার কারণে কীটির আসল গোপনীয়তা সঙ্কুচিত করে but তবে এটি দীর্ঘদিন আগে এবং আশা করি এটি ঠিক হয়ে গেছে

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

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

  1. কীগুলি কীভাবে এমনভাবে আর্কিটেক্ট করা হয় যে কোনও প্রশাসনিক ব্যবহারকারী সিস্টেম কীচেন আনলক করতে পারে?

  2. এমন কোনও ক্রিপ্টোগ্রাফিক সীমাবদ্ধতা রয়েছে যা কোনও প্রশাসনিক ব্যবহারকারী কোনওভাবে সিস্টেম কীচেনের তথ্য দিয়ে কী করতে পারে তা সীমাবদ্ধ করে?

  3. ছাড়াই একটি এনক্রিপ্ট করা সিস্টেম ব্যাকআপ দেওয়া হয়েছে /Users, কীভাবে আপনি সিস্টেম কীচেইন-এর কীগুলিতে অ্যাক্সেস পাবেন?

আমি ওএস এক্স 10.5 চিতা এবং পরবর্তী সংস্করণগুলিতে আগ্রহী।


আমার কোনও উত্তর নেই, তবে একটি উপাখ্যান: কোনও প্রশাসক সুবিধাসহ স্ট্যান্ডার্ড ব্যবহারকারী হিসাবে আমি একবার আপেক্ষিক স্বাচ্ছন্দ্যে সিস্টেম কীচেন থেকে পাসওয়ার্ড বের করতে সক্ষম হয়েছি। আমি সঠিক পদক্ষেপগুলি মনে করি না তবে এটি অবশ্যই সম্ভব ছিল। একটি পার্শ্ব নোট অন, এই ভালো হতে পারে security.stackexchange.com ?
অ্যালেক্সওয়ালঞ্চন

@ অ্যালেক্স, আমি প্রথমে সিকিউরিটি.এসই চেষ্টা করেছিলাম, কিন্তু সেখানে কোনও উত্তর পাইনি।
ওল্ড প্রো

1
আপনি যা করছেন তার জন্য কেন আলাদাভাবে আলাদা কীচেন ব্যবহার করবেন না? সিস্টেমে কীচেইনে আপনার স্ক্রিপ্টের অ্যাক্সেসের দরকারের কোনও ভাল কারণ আছে?
জে থম্পসন

@ আইমিথ, হ্যাঁ, স্ক্রিপ্টগুলি সিস্টেম দ্বারা চালিত করা দরকার যাতে তারা ব্যবহারকারীর অনুমতি নির্বিশেষে ডিস্কের সমস্ত ফাইল অ্যাক্সেস করতে পারে।
ওল্ড প্রো

উত্তর:


11

সিস্টেম কীচেনটি এতে সঞ্চিত থাকে /Library/Keychains/System.keychainএবং এটি আনলক করার কীটি সংরক্ষণ করা হয় /var/db/SystemKey(এর ডিফল্ট ফাইল অনুমতিগুলি কেবল রুট দ্বারা পঠনযোগ্য)। এই ফাইলগুলির অবস্থানটি সুরক্ষা-চেক সিস্টেম স্ক্রিপ্টে ( সুরক্ষা_সিস্টেমকিচেন উত্স থেকে ) উল্লেখ করা হয়। এমনকি সিস্টেম কীচেইনটি ব্যবহার করে স্বয়ংক্রিয়ভাবে লকিং / আনলক করা পরীক্ষা করা সম্ভব

systemkeychain -vt

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

(আমি আসলে আসল প্রশ্নের উত্তর দিইনি তাই আসুন এটিকে আবার যেতে দিন)

কীগুলি কীভাবে এমনভাবে আর্কিটেক্ট করা হয় যে কোনও প্রশাসনিক ব্যবহারকারী সিস্টেম কীচেন আনলক করতে পারে?

Libsecurity Keychain ফ্রেমওয়ার্ক নিয়মিত প্রক্রিয়া সিস্টেম অ্যাপলের XPC interprocess যোগাযোগ ফ্রেমওয়ার্ক (আইপিসি) ব্যবহার করে একটি প্রামাণ পদ্ধতিতে Keychain সাথে ইন্টারঅ্যাক্ট করতে পারবেন।

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

এমন কোনও ক্রিপ্টোগ্রাফিক সীমাবদ্ধতা রয়েছে যা কোনও প্রশাসনিক ব্যবহারকারী কোনওভাবে সিস্টেম কীচেনের তথ্য দিয়ে কী করতে পারে তা সীমাবদ্ধ করে?

না - কোনও প্রশাসনিক ব্যবহারকারীকে সিস্টেম কীচেইনে কোনও কিছু অ্যাক্সেস / পরিবর্তন করার অনুমতি দেওয়া হয়। এমনকি যদি তারা না পারত তবে তারা অন্তর্নিহিত ফাইলগুলি অন্য কোনও মেশিনে অনুলিপি করতে পারে যার উপর তাদের সম্পূর্ণ নিয়ন্ত্রণ রয়েছে এবং কেবল সেখানে আনলক / অ্যাক্সেস করতে পারে।

/ ব্যবহারকারীরা ছাড়াই একটি এনক্রিপ্ট করা সিস্টেম ব্যাকআপ দেওয়া হয়েছে, কীভাবে আপনি সিস্টেম কীচেনের কীগুলিতে অ্যাক্সেস পাবেন?

ব্যাকআপটিতে যদি এর অনুলিপি থাকে /Library/Keychains/System.keychainএবং /var/db/SystemKeyতারপরে আমি এগুলিকে একটি নতুন ওএস এক্স সিস্টেমে তাদের নিজ নিজ অবস্থানগুলিতে অনুলিপি করতাম systemkeychainএবং পরেটিকে পূর্ববর্তীটিকে আনলক করতে এবং কীচেন ডেটাবেস ব্যবহার করে ডাম্প করতে পারি security dump-keychain


1
গাইডেন্সসফটওয়্যার / এনকেস থেকে ডাম্পক্যাচেইন নামে একটি ইউটিলিটি রয়েছে যা উইন্ডোজে একটি সিস্টেম কীচেনের (ডাইর জন্য একটি নতুন ওএস এক্স ইনস্টল স্থাপনের চেয়ে সহজ হতে পারে) সরাসরি সিস্টেমে চেইনচেনের অনুমতি দেয় allows
ড্রফ্রোগস্প্লাট

1
@ অ্যান, অন্য কম্পিউটারের টাইম মেশিন ব্যাকআপ থেকে কোনও সিস্টেম.কিচেইন অ্যাক্সেস / আনলক / ডাম্প করতে আমি উপরের তথ্যটি কীভাবে ব্যবহার করতে পারি? এটি হ'ল আমার কাছে সিস্টেম.কিচেইন এবং সিস্টেমকি কোনও বাহ্যিক ডিস্কে সঞ্চিত আছে তাই আমি অনুমান করি যে এটি দুটি ডিফল্ট ডিফল্ট জায়গাতেই ফাইলগুলি ব্যবহার করে তা এড়াতে আমাকে অবশ্যই যথাক্রমে দুটি ফাইলের পাথ নির্দিষ্ট করতে হবে।
db

এই পোস্টটি সম্পর্কিত (একটি পুরানো সিস্টেম থেকে System.keychain ডিক্রিপ্ট করতে সিস্টেমকি কীভাবে ব্যবহার করবেন) is আপেল.স্ট্যাকেক্সেঞ্জঞ্জ / প্রশ্নগুলি / 7০7১18৯৯ / that একই ইনস্টল থেকে সংশ্লিষ্ট সিস্টেমকি-র সাথে পুনরুদ্ধার হওয়া সিস্টেম.কিচেন (যেমন একটি পুরানো ক্র্যাশড এইচডিডি থেকে) আনলক করার জন্য কীচেইন অ্যাক্সেস বা সিস্টেমকিচেন ক্লাইটের কোনও উপায় থাকলে আমি আগ্রহী। আমার লক্ষ্যটি হ'ল নতুন ইনস্টলটিতে নতুন সিস্টেম কীচেইনে লগইনগুলি আনলক করা এবং মাইগ্রেট করা।
ম্যাটপ্রিপ

5

সিস্টেম কীচেন

সিস্টেম কীচেইনের কিছু অনন্য ক্ষমতা রয়েছে। এগুলি সিস্টেমকিচেইন ম্যানুয়াল পৃষ্ঠা দ্বারা নথিভুক্ত করা হয় । মাস্টার পাসওয়ার্ডের উল্লেখ সম্ভবত আপনার ফোকাস হতে পারে। সিস্টেম Keychain নির্দিষ্ট সোর্স কোড ক্ষুদ্র ও পাওয়া যায়।

সিস্টেম কীচেন, /System/Library/Keychains/System.keychainঅ্যাপল এবং ডেমন ব্যবহারের জন্য একটি বিশেষ কীচেন। আপনার এটি ব্যবহারকারীর স্তরের স্ক্রিপ্টগুলির জন্য সাধারণত এড়ানো উচিত।

কোড পর্যালোচনা: কীচেন

অ্যাপল ম্যাক ওএস এক্স 10.5 এর জন্য কীচেইন এবং সুরক্ষা কাঠামোর উত্স কোড প্রকাশ করেছে ; এটি কীভাবে কাজ করে তা আবিষ্কার করতে আপনি এই কোডটি পর্যালোচনা করতে পারেন।

বিকল্প পদ্ধতি: আলাদা কীচেন

আপনার স্ক্রিপ্টের শংসাপত্রগুলি সংরক্ষণ করতে আপনি একটি আলাদা কীচেন তৈরি করতে পারেন। আমরা আমাদের গ্রাহকদের এই অনুশীলন সুপারিশ। গ্রাফিকাল ইন্টারফেসের অবলম্বন না করে আপনি আপনার কীচেইনগুলি অ্যাক্সেস করতে, নিষ্কাশন করতে এবং পরিচালনা করতে কমান্ড লাইন সরঞ্জাম সুরক্ষা ব্যবহার করতে পারেন ।

পৃথক কীচেইনে আপনার স্বয়ংক্রিয় স্ক্রিপ্টগুলির জন্য পাসওয়ার্ডগুলি সংরক্ষণ করার কথা বিবেচনা করুন - এবং এই কীচেইনটিকে আপনার অফ-সাইট ব্যাক-আপ থেকে বাদ দিন।

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

আপনি সিস্টেম কীচেইনে সর্বদা পৃথক কীচেনের পাসওয়ার্ড সংরক্ষণ করতে পারেন। এরপরে আপনি কোনও স্ক্রিপ্ট থেকে পৃথক কীচেন আনলক করতে পারেন। যদি ব্যাক-আপ আক্রমণ করা হয়, আপনি কেবল আলাদা কীচেইনে পাসওয়ার্ডটি প্রকাশ করবেন এবং নিজেই কীচেইন নয় কারণ এই ফাইলটি অফ-সাইট ব্যাক-আপের সাথে নয়।


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

1
আমি অ্যাপল সিডিএসএ মেইলিং লিস্টে ( list.apple.com/mailman/listinfo/apple-cdsa ) জিজ্ঞাসা করার বা একটি অ্যাপল প্রযুক্তিগত সহায়তা ঘটনা ব্যবহার করার পরামর্শ দিচ্ছি । কেবলমাত্র এই মাধ্যমে আপনি নিশ্চিত করতে পারবেন যে আপনি উপযুক্ত অ্যাপল ইঞ্জিনিয়ারদের কাছে পৌঁছে যাবেন।
গ্রাহাম মিলন

মূল হিসাবে চালু হওয়ার সাথে সাথে স্ক্রিপ্টগুলি পটভূমিতে চালানো হয়। আপনি ঠিক কি করতে চেষ্টা করছেন?
জে থম্পসন

1
"/ সিস্টেমে / লাইব্রেরি / কেচাইন্স / সিস্টেমে.কিচেইন" (আপনি "লাইব্রেরি" ভুলে গেছেন) - এ মাইনর টাইপো। প্রকৃতপক্ষে, আপনি "সম্পাদনা> কীচেন তালিকা"
ব্যবহারকারীর নাম

1
@ ওল্ডপ্রো আপনার সুরক্ষা উদ্বেগ বিবেচনা করে, কেন পুরো ডিস্ক এনক্রিপশন ব্যবহার করবেন না?
গ্রাহাম মিলন

2

অ্যাপল সম্প্রতি তার সুরক্ষা অনুশীলনের রূপরেখার একটি দস্তাবেজ প্রকাশ করেছে , আপনি সেখানে কিছু উত্তর পেতে পারেন। দস্তাবেজটি আইওএসের সাথে সুনির্দিষ্ট তবে সুরক্ষা বৈশিষ্ট্যগুলির অনেকগুলি ওএস এক্সের সাথে অনেক মিল রয়েছে


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

এটিকে যদি সঠিক দিক ;-) আপনি পায় আপনার খয়রাত গ্রহণ করতে পেরে আমি আনন্দিত
demianturner

0

আমার কাছে কেচেইন * সম্পর্কে নির্দিষ্ট জ্ঞান নেই তবে এটি একটি দুর্দান্ত মানসম্পন্ন অনুশীলন।

  1. আপনি সরল পাঠ্য ফাইল "foo" রক্ষা করতে চান। ফু নির্বিচারে আকারের হতে পারে।
  2. ফু এনক্রিপ্ট করার জন্য একটি প্রতিসম কী তৈরি করুন।
  3. একটি পাসফ্রেজ থেকে বীজযুক্ত কী দিয়ে প্রতিসম কীটি এনক্রিপ্ট করুন।

এটি হয়ে গেলে আপনি বর্তমান পাসফ্রেজ প্রবেশ করে, প্রতিসাম্য কী ডিক্রিপ্ট করে এবং তারপরে নতুন পাসফ্রেজের সাহায্যে এনক্রিপ্ট করে "পাসওয়ার্ড" পরিবর্তন করতে পারেন। "Foo" খুব বড় ইভেন্টে এটি দীর্ঘ ডিক্রিপশন / এনক্রিপশন প্রক্রিয়াগুলি এড়িয়ে চলে।

সুতরাং foo এর প্লেইন টেক্সট অ্যাক্সেস করা দরকার এমন একাধিক ব্যবহারকারীর পক্ষে এটি কীভাবে কাজ করবে? সত্যিই খুব সহজ, আপনি প্রতিটি ব্যবহারকারীর জন্য একবারেই প্রতিসম কী এর একটি এনক্রিপ্ট করা অনুলিপি তৈরি করেন। অন্য কথায়, প্রতিটি ব্যবহারকারীর জন্য তিন ধাপ করুন।

অনুশীলনে এগুলি সমস্ত দৃশ্য থেকে দূরে থাকে এবং শেষ ব্যবহারকারীর কেবল তাদের নিজস্ব পাসওয়ার্ড নিয়ে কাজ করা দরকার।

আপনার প্রশ্নের অংশ 3 সম্পর্কে, ব্যবহারকারীদের কীগুলি তাদের বাড়িতে সংরক্ষণ করা হয় না। এগুলি সম্ভবত /private/varকোথাও সংরক্ষণ করা হবে । এমনকি /Usersযার আগে অ্যাক্সেস ছিল এমন কাউকে ছাড়াই সিস্টেমটি আনলক করতে সক্ষম হবে।


* এটি সম্ভব যে কেচেইন আলাদাভাবে কাজ করে।


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

আবার, আমি শুধু অনুমান করতে পারি, কিন্তু আইএমও এটা আসলে না যে আলাদা। সিস্টেম নিজেই স্পষ্টতই চাবিটি পেতে পারে, এটি মঞ্জুর। আমি ধরে নেব যে ব্যবহারকারী কীগুলির অনুরূপ একটি সিস্টেম কী রয়েছে key তবে এখন আমরা আপনার প্রশ্নের কেন্দ্রে আছি… প্রথম অ্যাক্সেসটি কী সরবরাহ করে?
বাহামত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.