গ্রাহকদের একটি API অফার করা আপনার আয় বৃদ্ধি করে, কিন্তু এটি আপনার আক্রমণের পৃষ্ঠকেও প্রসারিত করে। ব্যবসাগুলি একটি API অফার করতে পারে যা বিকাশকে সহজ করার জন্য তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলিতে এম্বেড করা যেতে পারে। উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশনে সোশ্যাল মিডিয়া এম্বেড করা গ্রাহকদের আপনার ডেভেলপমেন্ট টিমে ব্যাপক ওভারহেড যোগ না করে একটি পণ্য নিয়ে আলোচনা করতে দেয়। সোশ্যাল মিডিয়া কোম্পানি ট্র্যাফিক এবং দৃশ্যমানতা লাভ করে এবং গ্রাহকরা তাদের অ্যাপ্লিকেশনে বৈশিষ্ট্য যুক্ত করার সময় বিকাশের সহজতা অর্জন করে।
যদিও একটি API বিপণন এবং রাজস্বের জন্য ভাল, API এবং এন্ডপয়েন্ট যোগ করা আপনার আক্রমণের পৃষ্ঠকে প্রসারিত করে। একটি API থাকা একটি অতিরিক্ত ঝুঁকি যা পরিচালনা করা যেতে পারে, তবে সমস্ত শেষ পয়েন্ট কঠোরভাবে নিরীক্ষণ এবং সুরক্ষিত করা উচিত। বেশিরভাগ প্রশাসক সম্মত হন যে APIগুলিকে অবশ্যই নজরদারি করা উচিত, তবে অসংখ্য আপডেট এবং স্থাপনার সাথে একটি দ্রুত-গতির ব্যবসায়িক পরিবেশ হয়তো APIগুলির ট্র্যাক হারিয়ে ফেলতে পারে এবং অজান্তে "জম্বি APIs" নামে একটি সাইবার নিরাপত্তা ঝুঁকি যুক্ত করতে পারে।
একটি zombie API হল (মূল পরিভাষায়) একটি ভুলে যাওয়া এবং উপেক্ষিত অবকাঠামো যা ব্যবহারের জন্য উপলব্ধ, কিন্তু সংস্থাগুলি এর অস্তিত্ব সম্পর্কে অবগত নয়৷ Zombie APIগুলি ছোট বা বড় পরিবেশে তৈরি করা যেতে পারে, তবে এগুলি প্রায়শই এমন পরিবেশে তৈরি করা হয় যেখানে আইটি সংস্থানগুলি কঠোর বিধান এবং ডকুমেন্টেশন পদ্ধতি ছাড়াই তৈরি করা হয়। পরিবর্তন নিয়ন্ত্রণ জম্বি এপিআই পরিস্থিতি এড়াতে সহায়তা করে, তবে একটি নির্দিষ্ট জটিল ত্রুটি ঠিক করার জন্য সঞ্চালিত জরুরি স্থাপনা বা কনফিগারেশনগুলিও ঘটতে পারে।
একটি স্বয়ংক্রিয় পরিবেশে, ক্লাউড সংস্থানগুলি প্রায়শই অ্যাপ্লিকেশন কোডের সাথে স্থাপন করা হয়। সুবিধা হল যে ডেভেলপার এবং অপারেশন লোকেদের আর হার্ডওয়্যার স্থাপন এবং ম্যানুয়ালি কনফিগার করার কথা মনে রাখতে হবে না। সফ্টওয়্যার স্থাপনায় স্বয়ংক্রিয়তা ভুল কনফিগারেশনের উপর ভিত্তি করে ঘটনাগুলিকে কম করে বা এমন কোনও সমস্যা এড়িয়ে যায় যেখানে বিকাশকারীরা তাদের অ্যাপ্লিকেশনগুলিকে সমর্থন করার জন্য সংস্থানগুলি সরবরাহ করার অনুরোধগুলি অন্তর্ভুক্ত করতে ভুলে যান।
কিছু পরিবেশে, ডেভেলপারদের তাদের নিজস্ব পরীক্ষা সার্ভারে অ্যাক্সেস দেওয়া হয়। এই সার্ভারগুলি পাবলিক ইন্টারনেটে অ্যাক্সেসযোগ্য হতে পারে যাতে বিকাশকারীরা নতুন কোড পরীক্ষা করতে পারে। একটি API পরীক্ষা সার্ভার সর্বজনীন ইন্টারনেটে উপলব্ধ হতে পারে এবং বিকাশকারীরা ভাবতে পারে যে এটি প্রকাশ না করে সনাক্ত করা হবে না।
Zombie API গুলি তাদের নিজস্ব এজ কেস সহ অনেক উপায়ে তৈরি করা যেতে পারে, এমনকি সবচেয়ে কঠোর পরিবর্তন নিয়ন্ত্রণ পদ্ধতির সাথেও। সেগুলি ভুল বা বিভ্রান্তি থেকে ঘটুক না কেন, জম্বি এপিআই হল একটি ফর্ম
পরিস্থিতির উপর ভিত্তি করে যেমন অনেক উপায়ে একটি জম্বি API তৈরি করা যেতে পারে, তেমনই একটি জম্বি API খুঁজে বের করার জন্যও বলা যেতে পারে। হ্যাকাররা রিভার্স ইঞ্জিনিয়ারিং কোড, ওপেন সোর্স রিপোজিটরি পর্যালোচনা করে বা "ফজিং" নামে একটি ধারণার মাধ্যমে একটি শেষ পয়েন্ট খুঁজে পেতে পারে। ফাজিং হল এমন এক ধরনের আবিষ্কার যেখানে সাধারণ API এন্ডপয়েন্ট নামের বিরুদ্ধে অনুরোধ করার জন্য স্ক্রিপ্ট লেখা হয়। উদাহরণস্বরূপ, প্রমাণীকরণের জন্য ব্যবহৃত একটি API এন্ডপয়েন্টের জন্য "/ লগইন" বা "/ প্রমাণীকরণ" বা অনুরূপ কিছু নামে একটি এন্ডপয়েন্ট থাকা সাধারণ। আপনার পরিকাঠামোর বিপরীতে বিভিন্ন সাধারণ প্রান্তবিন্দুর নামের কাছে অনুরোধ করা হয়েছে শেষ পয়েন্টগুলি আবিষ্কার করার জন্য।
ওপেন সোর্স রিপোজিটরি থেকে আবিষ্কার সাধারণ। ওপেন-সোর্স সংগ্রহস্থলগুলি গোপনীয়তা প্রকাশের জন্যও ঝুঁকিপূর্ণ, যার অর্থ বিকাশকারীরা ব্যক্তিগত কী, প্রমাণীকরণ শংসাপত্র এবং অন্যান্য ব্যক্তিগত ডেটার রেফারেন্সগুলি সরাতে ভুলে যেতে পারে। এপিআই এন্ডপয়েন্টের রেফারেন্সগুলিও আবিষ্কারের জন্য উপলব্ধ এবং যেকোনো দুর্বলতার জন্য অনুসন্ধান করা হবে। যদি আপনার সংস্থা কোডে উল্লেখ করা শেষবিন্দু সম্পর্কে অবগত না থাকে, তাহলে সেগুলিকে কোনো প্রশমন বা হার সীমাবদ্ধ না করেই তদন্ত করা যেতে পারে।
একটি zombie API সবসময় বাগ শোষণের জন্য ঝুঁকিপূর্ণ নয়। উদাহরণস্বরূপ, এসকিউএল ইনজেকশন দুর্বলতাগুলিকে কাজে লাগানোর ফলে সংবেদনশীল তথ্যের ডেটা প্রকাশ হতে পারে, তবে কিছু শেষ পয়েন্টগুলি হুমকির বিরুদ্ধে স্থিতিস্থাপকতার সাথে সঠিকভাবে কোড করা হয়েছে। একটি জম্বি এপিআই পরিস্থিতিতে, এপিআই সাধারণত কাজ করতে পারে, তবে এটি কোনও সীমাবদ্ধতা ছাড়াই ডেটা সংগ্রহ করতে ব্যবহার করা যেতে পারে। এটা সম্ভব যে এন্ডপয়েন্টে ব্যবসায়িক লজিক ত্রুটি থাকতে পারে যা কাজে লাগানো যেতে পারে, কিন্তু মনিটরিং ছাড়াই, কোনো সন্দেহজনক কার্যকলাপ সনাক্ত করা যাবে না।
একটি এপিআই সাধারণভাবে কাজ করে কিন্তু চুপচাপ ডেটা গণনা করতে ব্যবহৃত হওয়ার একটি ভাল উদাহরণ হল
একজন নিরাপত্তা গবেষক zombie API সনাক্ত করার পরে, JustDial দাবি করেছে যে তিনি ঘটনার প্রতিকার করেছেন, কিন্তু 2020 সালে একই সমস্যা আবার সনাক্ত করা হয়েছিল। নিরাপত্তা গবেষক বাদ দিয়ে কোন তৃতীয় পক্ষ আছে কিনা তা স্পষ্ট নয়, কিন্তু কারণ শেষ পয়েন্টটি সর্বজনীন ইন্টারনেটের জন্য উন্মুক্ত ছিল জায়গায় কোন মনিটরিং নেই, JustDial ডেটা এক্সফিল্ট্রেশনের পরিমাণ মূল্যায়ন করতে পারে না।
আরেকটি উদাহরণ হল সান ফ্রান্সিসকোর একটি বড় প্রযুক্তি কোম্পানি যা বাজারে সেরা ডেভেলপারদের জন্য পরিচিত, Facebook। ফেসবুকে জম্বি এপিআই-এর বেশ কয়েকটি উদাহরণ রয়েছে। 2016 সালে, বিকাশকারীরা তাদের পাসওয়ার্ড রিসেট কার্যকারিতা পরীক্ষা করার জন্য একটি সাবডোমেন (mbasic.beta.facebook.com) স্থাপন করেছিল। এপিআই-এর উৎপাদন সংস্করণে হারের সীমাবদ্ধতা ছিল, তাই আক্রমণকারীরা তাদের পাসওয়ার্ড রিসেট করার জন্য ব্যবহারকারীদের পাঠানো ছয়-সংখ্যার পাসকোডকে জোর করে চাপিয়ে দিতে পারেনি। বিটা সংস্করণে এই সীমাবদ্ধতা ছিল না, তাই একটি ছয়-সংখ্যার পাসকোড সেকেন্ডের মধ্যে জোর করে প্রয়োগ করা যেতে পারে, শুধুমাত্র একটি ইন্টারনেট সংযোগ, ব্যান্ডউইথ এবং API এন্ডপয়েন্টের ব্যাকএন্ড প্রক্রিয়াকরণ গতি দ্বারা সীমাবদ্ধ।
2018 সালে, ফেসবুক অন্য একটি দ্বারা ক্ষতিগ্রস্ত হয়েছিল
একটি ছোট কোম্পানী--তবুও একটি জম্বি API থেকে উল্লেখযোগ্য ডেটা লঙ্ঘন-- 2022 সালে Travis CI-এর একটি এন্ডপয়েন্ট সহ ঘটেছিল। ট্র্যাভিস সিআই একটি অটোমেশন বিক্রেতা যা অবকাঠামো এবং কোড স্থাপন করতে ব্যবহৃত হয়। Travis CI এর API শেষ পয়েন্টগুলির মধ্যে একটির জন্য কোনো প্রমাণীকরণের প্রয়োজন নেই এবং গ্রাহক লগ ইভেন্টগুলি পাওয়ার জন্য অনুরোধের জন্য অনুমতি দেওয়া হয়েছে। বিষয়গুলিকে আরও খারাপ করার জন্য, লগগুলি প্লেইনটেক্সটে সংরক্ষণ করা হয়েছিল, তাই অ্যাক্সেস কী সহ ব্যবহারকারীর লগ ডেটা কোনও সীমাবদ্ধতা ছাড়াই পুনরুদ্ধার করা যেতে পারে। যখন সমস্যাটি রিপোর্ট করা হয়েছিল, ট্র্যাভিস সিআই অনুমান করেছে যে অ্যাক্সেস টোকেন, কী এবং ক্লাউড শংসাপত্র সহ 770 মিলিয়ন ব্যবহারকারীর লগ রেকর্ড চুরি হয়েছে।
আদর্শভাবে, সফ্টওয়্যার বিকাশকারীরা পরিকাঠামোতে পরিবর্তনগুলি নথিভুক্ত করে যাতে পরিবর্তন নিয়ন্ত্রণে নতুন API শেষ পয়েন্ট অন্তর্ভুক্ত থাকে। অপারেশনের লোকেরা তারপরে মনিটরিং এজেন্টদের এন্ডপয়েন্ট যোগ করতে পারে এবং এই এজেন্টরা ডেটা সংগ্রহ করে যাতে সাইবার নিরাপত্তা এবং বিশ্লেষণ মনিটররা সন্দেহজনক কার্যকলাপ সনাক্ত হলে প্রশাসকদের জানাতে পারে। একটি জম্বি এপিআই ঘটে যখন এন্ডপয়েন্টগুলি নথিভুক্ত করা হয় না, তাই পর্যবেক্ষণ এজেন্টরা এন্ডপয়েন্ট সম্পর্কে অবগত নয়৷ নিরীক্ষণ ব্যতীত, কোনো বিশ্লেষণ এবং প্রশাসক সতর্কতা ছাড়াই যেকোনো অনুরোধ সার্ভারে পাঠানো যেতে পারে।
সম্ভাব্য জোম্বি এপিআইগুলির সাথে লড়াই করার জন্য, অ্যাডমিনিস্ট্রেটররা প্রায়শই ট্র্যাফিক সনাক্ত করতে নেটওয়ার্কে এজেন্ট ইনস্টল করে। এজেন্টরা ট্র্যাফিক ডেটা সংগ্রহ করে এবং সার্ভার এবং অন্যান্য নেটওয়ার্ক অবকাঠামোতে খোলা সংযোগ সনাক্ত করে। এই কৌশলটির সমস্যা হল যে জম্বি APIগুলি প্রায়শই কোনও ট্র্যাফিক বা অনুরোধ ছাড়াই সুপ্ত থাকে যতক্ষণ না সেগুলি আবিষ্কার হয়। এগুলি বিকাশকারী, অপারেশন বা ইন্টারনেটে তৃতীয় পক্ষের দ্বারা আবিষ্কৃত হতে পারে। তৃতীয় পক্ষের শেষ বিন্দু খুঁজে পাওয়ার পরেই ট্র্যাফিক লগ করা হবে, কিন্তু এর মানে এই নয় যে অনুরোধগুলি সতর্কতা ট্রিগার করবে৷ একটি zombie API কোনো "হ্যাকিং" বা বিকৃত ক্যোয়ারী ছাড়াই স্ট্যান্ডার্ড অনুরোধের জন্য অনুমতি দেবে। এটিই জম্বি API-কে ডেটা প্রকাশের জন্য এত বিপজ্জনক করে তোলে।
জম্বি APIগুলিকে প্রতিক্রিয়াশীলভাবে সনাক্ত করার জন্য এজেন্টদের উপর নির্ভর করার পরিবর্তে, একটি ভাল সমাধান হল কৃত্রিম বুদ্ধিমত্তার সাথে কাজ করা এবং আপনার কোডে স্ক্যান করা। এই কৌশলটির দুটি পর্যায় রয়েছে: অভ্যন্তরীণ API-এর রেফারেন্সের জন্য আপনার সংগ্রহস্থলের কোড স্ক্যান করা এবং API কোনো অনুরোধ গ্রহণ করে কিনা তা নির্ধারণ করতে ইভেন্ট লগ ব্যবহার করে।
প্রথম ধাপ হল API-এর রেফারেন্সের জন্য কোড স্ক্যান করা। এই APIগুলি বাহ্যিক বা অভ্যন্তরীণ হতে পারে, তবে আপনি অভ্যন্তরীণ APIগুলিতে ফোকাস করতে চান যেহেতু এই পরিকাঠামো আপনার নিজস্ব ডেটাকে প্রভাবিত করে৷ রেফারেন্সগুলি সক্রিয় এবং অবমূল্যায়িত উভয়ই অসংখ্য সংগ্রহস্থলে থাকতে পারে। আপনি হয়তো জানেনও না যে রেফারেন্সগুলি আপনার কোডে রয়েছে, তবে এটি স্ক্যান করলে সেগুলি খুঁজে পাওয়া যাবে যাতে একটি তালিকা কৃত্রিম বুদ্ধিমত্তায় (AI) পাঠানো যেতে পারে।
এর পরে একটি বৃহৎ ভাষা মডেল (LLM) ইভেন্ট লগগুলি গ্রহণ এবং বিশ্লেষণ করতে ব্যবহৃত হয়। ইভেন্ট লগগুলি সম্ভাব্য গিগাবাইট বা লাইন-বাই-লাইন ডেটার টেরাবাইট হতে পারে। ইভেন্ট লগগুলি সাইবার সিকিউরিটি এবং অবকাঠামোতে ব্যবহার পর্যবেক্ষণের জন্য গুরুত্বপূর্ণ, তাই সেগুলি সার্ভার হোস্টিং API-এর জন্য সেট আপ করা উচিত৷ যদি একটি API এন্ডপয়েন্ট কোডে উল্লেখ করা হয় কিন্তু সামান্য বা কোন ট্র্যাফিক ইভেন্ট না থাকে, তাহলে আপনার একটি zombie API থাকতে পারে। রেফারেন্স এবং অসংখ্য ইভেন্ট লগ সহ APIগুলি ব্যবহার করা হচ্ছে এবং নিরীক্ষণ করা হচ্ছে যাতে তারা একটি জম্বি API হিসাবে বিবেচিত হবে না।
প্রতিটি API এন্ডপয়েন্ট রেফারেন্সে বিশ্লেষণ প্রক্রিয়া করার জন্য LLM ব্যবহার করতে সময় লাগে, কিন্তু ফলাফল প্রশাসকদের তাদের পরিবেশে সক্রিয় API সম্পর্কে অজ্ঞাত বিস্মিত করতে পারে। উদাহরণ হিসেবে, ক
উত্তরটি হল হ্যাঁ!" Zombie APIগুলি আপনার গ্রাহকের ডেটা, অভ্যন্তরীণ ডেটা বা অন্যান্য গুরুত্বপূর্ণ তথ্য প্রকাশের জন্য উন্মুক্ত রাখতে পারে। একটি সঙ্গতিপূর্ণ পরিবেশে, এই তদারকির জন্য লাখ লাখ টাকা জরিমানা হতে পারে। মোকদ্দমা, ব্র্যান্ডের ক্ষতি, রাজস্বের প্রভাব, এবং অন্যান্য নেতিবাচক ফলাফলগুলি অনিয়ন্ত্রিত পরিকাঠামোর সাথে যুক্ত যা ডেটা লঙ্ঘনের দিকে পরিচালিত করে।
একটি প্রতিষ্ঠানের পরিবেশে আরও ভাল দৃশ্যমানতা থাকা সাইবার নিরাপত্তা এবং দ্রুত ঘটনার প্রতিক্রিয়ার জন্য গুরুত্বপূর্ণ। যেহেতু আরও সংস্থাগুলি ক্লাউডে অবকাঠামো স্থাপন করে, তাই জম্বি API সহ আপনার কাছে কোনও আলগা প্রান্ত নেই তা নিশ্চিত করা আগের চেয়ে বেশি গুরুত্বপূর্ণ৷ আপনার অবকাঠামো নথিভুক্ত করা একটি দুর্দান্ত প্রথম পদক্ষেপ, তবে এটি সম্ভব যে কিছু এপিআই ফাটলের মধ্য দিয়ে স্লিপ করে। আপনার কোড ক্রমাগত স্ক্যান করা জম্বি এপিআই সনাক্ত করতে সাহায্য করে, যা পরে অক্ষম করা যেতে পারে বা মনিটরিং এজেন্টগুলিতে যোগ করা যেতে পারে। আপনার অবকাঠামোতে আরও ভাল দৃশ্যমানতা সংবেদনশীল ডেটা প্রকাশের ঝুঁকি কমায় এবং আপনার আক্রমণের পৃষ্ঠকে হ্রাস করে।