3 पॉइंट द्वारा GN⁺ 2024-06-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • इस सप्ताह की शुरुआत में Spaces प्लेटफ़ॉर्म पर secrets से जुड़ी अनधिकृत पहुंच का पता चला, और कुछ secrets तक बाहरी पहुंच हुई हो सकती है
  • शुरुआती प्रतिक्रिया के तौर पर secrets में शामिल कई HF tokens निरस्त कर दिए गए, और प्रभावित उपयोगकर्ताओं को ईमेल के जरिए सूचना भेजी गई
  • उपयोगकर्ताओं को संबंधित key और token फिर से जारी करने, और नए default बने fine-grained access tokens पर स्विच करने की सिफारिश की गई है
  • Hugging Face बाहरी साइबर सुरक्षा फॉरेंसिक विशेषज्ञों के साथ जांच कर रहा है, और साथ ही सुरक्षा नीतियों और प्रक्रियाओं की भी समीक्षा कर रहा है
  • Spaces इन्फ्रास्ट्रक्चर में org tokens हटाना, KMS लागू करना, और लीक हुए tokens की पहचान व उन्हें अमान्य करने की क्षमता को मजबूत करना शामिल किया गया है; साथ ही घटना की सूचना संबंधित प्राधिकरणों को भी दी गई है

Spaces secrets पर अनधिकृत पहुंच और उपयोगकर्ता कार्रवाई

  • Hugging Face ने Spaces प्लेटफ़ॉर्म में Spaces secrets से संबंधित अनधिकृत पहुंच का पता लगाया
  • कुछ Spaces secrets तक अनधिकृत पहुंच हुई हो सकती है
  • शुरुआती रिकवरी प्रक्रिया में secrets में शामिल कई HF tokens निरस्त किए गए
    • जिन उपयोगकर्ताओं के tokens निरस्त किए गए, उन्हें पहले ही ईमेल से सूचित किया जा चुका है
  • उपयोगकर्ताओं को key या token नए सिरे से जारी करने की सिफारिश की जाती है
  • HF tokens के लिए नए default fine-grained access tokens पर स्विच करने की सिफारिश की जाती है

Spaces इन्फ्रास्ट्रक्चर सुरक्षा सुदृढ़ीकरण और आगे की कार्रवाई

  • Hugging Face बाहरी साइबर सुरक्षा फॉरेंसिक विशेषज्ञों के साथ इस घटना की जांच कर रहा है और सुरक्षा नीतियों व प्रक्रियाओं की समीक्षा कर रहा है
  • पिछले कुछ दिनों में Spaces इन्फ्रास्ट्रक्चर की सुरक्षा मजबूत की गई है
    • org tokens को पूरी तरह हटाकर traceability और audit क्षमता बढ़ाई गई है
    • Spaces secrets के लिए कुंजी प्रबंधन सेवा (KMS) को लागू किया गया है
    • लीक हुए tokens की पहचान कर उन्हें पहले से अमान्य करने की सिस्टम क्षमता को मजबूत और विस्तारित किया गया है
    • समग्र सुरक्षा में सुधार किया गया है
  • जब fine-grained access tokens कार्यात्मक समानता तक पहुंच जाएंगे, तब निकट भविष्य में “classic” read/write tokens को पूरी तरह समाप्त करने की योजना है
  • संभावित संबंधित घटनाओं की जांच जारी है
  • Hugging Face ने इस घटना की सूचना कानून प्रवर्तन एजेंसियों और डेटा संरक्षण प्राधिकरणों को भी दी है
  • पूछताछ security@huggingface.co पर भेजी जा सकती है

1 टिप्पणियां

 
GN⁺ 2024-06-03
Hacker News की राय
  • दो दिन पहले मैंने एक security conference की slides देखीं, जिनमें Jossef Harush Kadouri ने दिखाया कि Hugging Face जैसी जगहों के models इस्तेमाल करने पर model author मेरी machine पर arbitrary code execution कर सकता है
    पता नहीं slides कहीं और upload हुई हैं या नहीं; मुझे जो file मिली थी वह यहाँ है: https://dro.pm/c.pdf (45MB) slide 188
    उस समय मुझे यह समझ नहीं आया कि इसका मतलब यह भी है कि अगर Hugging Face को court order मिले या वह hack हो जाए, तो वही काम संभव है। खासकर अगर breach का कुछ समय तक पता न चले¹
    मैं AI industry के बाहर हूँ, इसलिए ऐसे models खुद कभी run नहीं किए, लेकिन यह देखकर हैरानी हुई कि industry ने format को इतनी जल्दी standardize कर लिया। मुझे लगा था model file बस बड़े numeric matrices और थोड़े metadata जैसी होगी, लेकिन slides 186 और 195 देखकर लगा कि model असल में लगभग मनमानी कर सकने वाली Python script है, इसलिए standardization आसान रहा होगा। सबको अपनी मर्जी करने देना समस्या को bypass कर देता है, लेकिन उसकी कीमत होती है
    ¹ https://www.verizon.com/business/resources/articles/s/how-to... के अनुसार 20% breaches का कई महीनों तक पता नहीं चलता। बेशक यह स्थिति और attacker के व्यवहार पर निर्भर करता है
    • “मुझे लगा था model file बस बड़े numeric matrices और थोड़े metadata जैसी होगी” वाले हिस्से पर, ONNX[1] मोटे तौर पर इसी रूप के करीब है
      लेकिन तुरंत सामने आने वाली समस्या custom layers/operators और उनकी inference logic है। आपको supported operations से ही implement करना पड़ता है, जो practical तौर पर मुश्किल या असंभव हो सकता है, या फिर runtime में operator implementation देना पड़ता है, जिससे बात फिर वहीं आ जाती है
      [1] https://onnx.ai/
    • इसलिए तो .safetensors format है, जो host पर code execute नहीं कर सकता, है न?
    • जैसा दूसरों ने बताया, यह format पर निर्भर करता है। इस thread में जिन formats को अभी safe विकल्प के रूप में mention नहीं किया गया है, उनमें llama.cpp और उसके derived projects द्वारा इस्तेमाल किया जाने वाला GGUF है
      यह लगभग “बड़े numeric matrices और थोड़ा metadata” जैसा format है, और इसमें कुछ vulnerabilities मिली थीं जिन्हें patch कर दिया गया
      [1] https://www.databricks.com/blog/ggml-gguf-file-format-vulner...
    • मेरी जानकारी में यह समस्या सिर्फ तब आती है जब model को pickle से serialize/deserialize किया जाता है[0]
      [0]: https://huggingface.co/docs/hub/en/security-pickle
    • dro.pm link जल्द expire होने वाला है। यह temporary link है इसलिए छोटा है, और शायद मुझे कोई ज्यादा permanent service इस्तेमाल करनी चाहिए थी
      बाद में पढ़ने वालों के लिए presentation video ढूंढ लिया: https://m.youtube.com/watch?v=8XysLIq-e3s
  • “वे संदेह कर रहे हैं” से शुरू करना बहुत बच निकलने की गुंजाइश रखने वाली wording है। इस तरह के communication में जाने वाला वाक्य यह ठीक नहीं लगता
    • मुझे तो उल्टा यह काफी ठीक लगा। आम तौर पर इस तरह की leak notices में, क्योंकि hacker के अंदर आने के बाद उसने क्या किया यह “पता नहीं” होता, वे “secrets access किए जाने का कोई evidence नहीं है” जैसी बात कहते हैं
      Hugging Face ने कम से कम यह कहा कि “शायद secrets access किए गए हों, लेकिन हम confirm नहीं कर सकते”, इसलिए यह ज्यादा ईमानदार लगता है
  • वे कहते हैं कि “पिछले कुछ दिनों में Spaces infrastructure security को काफी improve किया” और इसमें organization tokens को पूरी तरह हटाना, traceability और audit capabilities को मजबूत करना, Spaces secrets के लिए KMS लाना, leaked tokens की पहचान और proactive invalidation को मजबूत करना, और overall security improvements शामिल हैं; लेकिन “कुछ दिनों” में खत्म करने के लिए यह काम काफी बड़ा है
    क्या ऐसे कामों से production में डालने से पहले security audit या penetration testing जैसी ज्यादा समय लेने वाली प्रक्रियाएं trigger नहीं होनी चाहिए?
    • उम्मीद है कि यह काम पहले से कुछ समय से चल रहा था, और चूंकि नुकसान हो चुका था इसलिए उन्होंने इसे अभी deploy कर दिया होगा
    • किसी बड़े organization में, जहाँ dedicated security team वाला SRE department हो, यह बात सही है; लेकिन मेरी impression में Hugging Face अभी उस scale का organization नहीं है
  • मेरा Anthropic key leak हो गया और किसी ने 10,000 डॉलर का bill बना दिया। क्या Hugging Face इसकी भरपाई करेगा?
    • मेरा OpenAI key भी leak हुआ और मैंने देखा कि कोई उसे इस्तेमाल कर रहा था। सौभाग्य से नुकसान बहुत छोटा था—कुछ डॉलर के GPT-4 जितना—और उस समय मेरे apps वह model इस्तेमाल भी नहीं कर रहे थे
      लगभग पक्का मानता हूँ कि यह HF Space के secrets के जरिए leak हुआ। कुछ दिन पहले मुझे warning message मिला था कि मेरे कुछ Spaces प्रभावित हुए हैं
    • क्या तुम्हें पक्का है कि वह key सच में सिर्फ Space के secret में ही stored था? variables public होते हैं, और .env file में store किया गया भी public होता है
    • मुझे लगा था cloud provider platforms पर आमतौर पर spending maximum limit set की जा सकती है
  • कुछ हफ्ते पहले मुझे पता चला कि मेरे कुछ OpenAI keys चोरी हो गए थे, और वे keys सिर्फ Hugging Face Space के secrets के रूप में active थे
    कुछ दिन पहले मुझे email मिला कि वे Spaces compromised हुए थे, इसलिए लगता है यह issue कम से कम कुछ हफ्तों से चल रहा था
  • गलत तरीके से हुए costs को कैसे handle किया जाएगा, इस पर कोई mention नहीं है। अगर secrets access किए जा सकते थे, तो क्या API call करके costs जमा नहीं किए जा सकते?
    या यह purely data/code theft से जुड़ा मामला है?
    • दोनों संभव हैं। मेरे मामले में key OpenAI calls के लिए इस्तेमाल हुई, और लगभग निश्चित रूप से Spaces secrets से leak हुई
  • ‘Space’ क्या है?
    • Hugging Face के Spaces को छोटा करके कहा गया है
      https://huggingface.co/docs/hub/en/spaces-overview
      यह frontend/portal side जैसा दिखता है, और शायद Python में लिखा होगा। Django जैसा कुछ भी हो सकता है
    • यह एक virtual machine है जो user का code run करती है
  • HF “secrets” क्यों store करता है?
    सिर्फ public key store करके, user को secret key रखने और request sign करने देने से काम नहीं चलेगा?
    • आप HF पर hosted app बना सकते हैं और OpenAI या Anthropic जैसी external APIs access कर सकते हैं। तब API key HF secrets में store होती है
    • आम तौर पर browser session के अंदर सच में काम करने के लिए किसी न किसी रूप का token चाहिए होता है। यह मामला शायद उन tokens से जुड़ा है जिन्हें cancel करना पड़ा, और वे password जैसे हैं लेकिन पूरी तरह वही नहीं