যেহেতু আরও উন্নত ড্রোন সিস্টেম স্থাপন করা হয়েছে এবং বিভিন্ন সেক্টরে একত্রিত করা হয়েছে, তাই তাদের অ্যাপ্লিকেশনগুলির নিরাপত্তা নিশ্চিত করার জন্য তারা যে দুর্বলতাগুলি তৈরি করতে পারে তা বিবেচনা করা আরও গুরুত্বপূর্ণ হয়ে ওঠে।
যখন থেকে আমি মহাকাশ সাইবারসিকিউরিটিতে আগ্রহী হয়ে উঠি, তখন থেকে আমি সবসময় হ্যাক করার উপায় খুঁজতে চেয়েছিলাম UAV. এই নিবন্ধে, আমি Wireshark-এর সাথে প্যাকেট পর্যবেক্ষণ কৌশল ব্যবহার করে ডিজেআই ড্রোনগুলিকে রিভার্স ইঞ্জিনিয়ার করার জন্য যে পদক্ষেপগুলি নিয়েছিলাম তার রূপরেখা দিয়েছি এবং প্যাকেট বিচ্ছেদের বিশদ বিবরণ এবং কীভাবে আপনি Lua প্রোগ্রামিং ভাষা ব্যবহার করে আপনার নিজস্ব প্রোটোকল ডিসেক্টর তৈরি করতে পারেন।
যদিও রিভার্স ইঞ্জিনিয়ারিং ড্রোনগুলি কোনও সহজ কৃতিত্ব নয়, তবুও তারা এখনও বিস্তৃত সাইবার হুমকির জন্য ঝুঁকিপূর্ণ যার ফলে মারাত্মক প্রতিক্রিয়া হতে পারে। প্যাকেট ডেটার মধ্যে সংরক্ষিত সংবেদনশীল তথ্য প্রকাশ করার জন্য ডিজেআই ড্রোনগুলিতে আমার পথের বিপরীতে প্রকৌশলী করার জন্য যে প্রক্রিয়াটি নিয়েছিলাম তার রূপরেখার মাধ্যমে, আমি আশা করি গবেষণাটি বিদ্যমান ড্রোন সিস্টেমগুলিকে সুরক্ষিত করার জন্য আরও ভাল বিকল্পগুলি সন্ধান করার জন্য বিদ্যমান দুর্বলতাগুলিকে হাইলাইট করবে।
একটি মনুষ্যবিহীন এরিয়াল ভেহিকেল (সংক্ষেপে UAV) হল একটি বিমান যা কোনো পাইলট বা যাত্রী বহন করে না। বেশিরভাগ সময় এই শব্দটি ড্রোনগুলিতে প্রয়োগ করা হয়, তবে অন্যান্য ধরণের UAV যান যেমন NASA-এর গ্লোবাল হক যা গবেষণার উদ্দেশ্যে উচ্চ-উচ্চতা, দীর্ঘ-সহনশীল UAV। ইউএভিগুলি বিভিন্ন ধরনের অ্যাপ্লিকেশনের জন্য ব্যবহার করা হয় যেমন অনুসন্ধান এবং উদ্ধার মিশন, তথ্য সংগ্রহ, সামরিক ও আইন প্রয়োগকারী, বায়বীয় ফটোগ্রাফি ইত্যাদি। প্রচলিত বিমানের তুলনায়, ইউএভিগুলি একটি কমপ্যাক্ট ফর্মের অধিকারী, উচ্চতর তত্পরতা, নির্ভুলতা এবং স্পষ্টতা প্রদর্শন করে। কৌশলগুলি, এবং সাশ্রয়ী প্রমাণ করে, এগুলিকে বিতরণ পরিষেবা এবং বায়বীয় সমীক্ষার মতো বিভিন্ন বাণিজ্যিক এবং ভোক্তা অ্যাপ্লিকেশনগুলির জন্য ব্যাপকভাবে পছন্দ করে।
যেহেতু এই নিবন্ধটি ড্রোন ফরেনসিকগুলি নিয়ে আলোচনা করবে, তাই ডিজেআই ফ্যান্টম 4 তৈরির উপাদানগুলির একটি দ্রুত সংক্ষিপ্ত বিবরণ প্রদান করা গুরুত্বপূর্ণ। যদিও এটি লক্ষণীয় যে একটি ড্রোন দ্বারা রাখা উপাদানগুলি ব্র্যান্ড বা সংস্করণের উপর নির্ভর করে পরিবর্তিত হতে পারে, বেশিরভাগ ইউএভি শেয়ার করে উপাদানগুলির একটি উল্লেখযোগ্য সংখ্যাগরিষ্ঠ।
চ্যাসিস: ড্রোনের চ্যাসিস হল শারীরিক ফ্রেম যা সমস্ত উপাদানকে একত্রিত করে। চেসিসটি সাধারণত প্লাস্টিক বা কার্বন ফাইবারের মতো হালকা ওজনের উপকরণ দিয়ে তৈরি করা হয় যাতে ড্র্যাগ এবং ওজন কমিয়ে ড্রোনের সামগ্রিক ফ্লাইট কর্মক্ষমতা কমানো যায়।
ড্রোন মোটর: ড্রোন ফ্লাইটের জন্য প্রয়োজনীয় পরিমাণ লিফট তৈরি করতে মোটর ব্যবহার করে। বেশিরভাগ ড্রোনের সাধারণত একটি কোয়াডকপ্টার কনফিগারেশন থাকে যার মধ্যে চারটি মোটর থাকে: দুটি ঘড়ির কাঁটার দিকে স্পিনিং মোটর এবং দুটি ঘড়ির কাঁটার বিপরীতে স্পিনিং মোটর টার্নিং ফোর্সকে সমান করতে। এই কনফিগারেশনটি বিদ্যমান কারণ নিউটনের তৃতীয় সূত্রে বলা হয়েছে যে প্রতিটি ক্রিয়ার জন্য একটি সমান এবং বিপরীত প্রতিক্রিয়া রয়েছে, তাই একই সংখ্যক পাল্টা এবং ঘড়ির কাঁটার মোটর থাকা ড্রোনকে সমান বাঁক শক্তির মাধ্যমে ফ্লাইটের সমন্বয় প্রদান করে।
ড্রোন ফ্লাইট কন্ট্রোলার: ড্রোনের ফ্লাইট কন্ট্রোলার তার মস্তিষ্কের মতো কাজ করে। ফ্লাইট কন্ট্রোলার মোটর নিয়ন্ত্রণ করার জন্য ইলেকট্রনিক স্পিড কন্ট্রোলার (ESCs) কে নির্দিষ্ট নির্দেশনা দেওয়ার জন্য ড্রোনের মধ্যে থাকা সেন্সর যেমন GPS মডিউল থেকে ইনপুট নেয়
GPS মডিউল: গ্লোবাল পজিশনিং স্যাটেলাইট (GPS) মডিউল ড্রোনের অবস্থান নির্ণয় করতে দুটি ভিন্ন গ্লোবাল পজিশনিং সিস্টেম ব্যবহার করে। জিপিএস মডিউল ব্যবহার করে, ড্রোন বিভিন্ন স্যাটেলাইট থেকে প্রেরিত সংকেত পৌঁছানোর সময়কালের উপর ভিত্তি করে তার ভূ-অবস্থান গণনা করতে পারে।
ইলেক্ট্রনিক স্পিড কন্ট্রোলার (ESC): ESC হল ড্রোন এবং মোটর এর পাওয়ার ডিস্ট্রিবিউশন বোর্ডের মধ্যবর্তী মানুষ। তারা ফ্লাইট কন্ট্রোলার থেকে সংকেত ব্যবহার করে একটি মোটরকে বরাদ্দ করা শক্তির পরিমাণ নিয়ন্ত্রণ করতে
পাওয়ার পোর্ট মডিউল: পাওয়ার পোর্ট হল একটি মডিউল যা প্রদর্শন করে যা ব্যাটারি থেকে আসা শক্তি পরিমাপ করে এবং সেই শক্তিটি ড্রোনের ESC এবং ফ্লাইট কন্ট্রোলারে বিতরণ করে।
বাধা এড়ানোর সেন্সর: কিছু ড্রোন তাদের ফ্রেমে স্টেরিও ভিশন সেন্সর অন্তর্ভুক্ত করে। এই সেন্সরগুলি প্রতিটি সেন্সর দ্বারা ক্যাপচার করা ইমেজ পিক্সেলের মাধ্যমে গভীরতা গণনা করে ড্রোন এবং সেন্সরের সামনে বাধার মধ্যে দূরত্ব গণনা করে
3-অ্যাক্সিস জিম্বাল: ফুটেজ স্থিতিশীল করতে ড্রোনের সাথে সংযুক্ত ক্যামেরাকে স্থির করে। যখন সেন্সর কোন অক্ষের গতিবিধি লক্ষ্য করে, তখন তারা ক্যামেরা ফুটেজকে মসৃণ করার জন্য যথাযথ সমন্বয় করতে জিম্বালকে সংকেত দেয়
ড্রোন ব্যাটারি: ব্যাটারি ড্রোনকে শক্তি সরবরাহ করে। কিছু ব্যাটারিতে অতিরিক্ত চার্জ সুরক্ষা, পাওয়ার আউটপুট কমিউনিকেশন ইত্যাদি বৈশিষ্ট্যও অন্তর্ভুক্ত থাকে
ড্রোন ক্যামেরা: ড্রোনের ক্যামেরা ফুটেজ ফিল্ম করতে এবং ছবি তুলতে ব্যবহৃত হয়। ক্যামেরার ইমেজ সেন্সর আলোর আগত রশ্মি ক্যাপচার করে এবং সেগুলোকে ডিজিটাল ইমেজে প্রসেস করে
ড্রোন অ্যান্টেনা: ড্রোন অ্যান্টেনাগুলি নিয়ামক এবং ড্রোনের মধ্যে তথ্য রিলে করার জন্য একটি ট্রান্সমিশন সিস্টেম হিসাবে কাজ করে
ডাউনওয়ার্ড আল্ট্রাসনিক অবস্ট্যাকল এভয়েডেন্স সেন্সর: এই সেন্সরগুলি মাটির উপরে ড্রোনের উচ্চতা গণনা করতে ব্যবহৃত হয়। একটি সেন্সর থেকে উচ্চ-ফ্রিকোয়েন্সি সাউন্ড পালস পাঠিয়ে এবং অন্য সেন্সরটি এটি গ্রহণ করতে কতটা সময় নেয় তা পরিমাপ করে উচ্চতা গণনা করা যেতে পারে।
ফ্লাইট এলইডি: ফ্লাইট এলইডি সাধারণত ড্রোনটি যে দিকটি উড়ছে তা নির্দেশ করতে ব্যবহৃত হয়। দুটি ঝলকানি লাল আলো ড্রোনের সামনে নির্দেশ করে এবং ফ্ল্যাশিং সবুজ আলো পিছনে নির্দেশ করে
জয়স্টিকস: জয়স্টিকগুলি লাঠির শারীরিক গতিবিধিকে তথ্যে অনুবাদ করে ড্রোন নিয়ন্ত্রণ করতে ব্যবহৃত হয় যা নিয়ামক নড়াচড়ার দিকনির্দেশ হিসাবে ড্রোনের সাথে যোগাযোগ করতে পারে
প্রধান রিমোট কন্ট্রোলার বোর্ড: রিমোট কন্ট্রোলার বোর্ড ড্রোন সম্পর্কে দরকারী টেলিমেট্রি পুনরুদ্ধার করে যেমন এর উচ্চতা, অবস্থান এবং ক্যামেরা চিত্র
প্রধান ক্যামেরা বোর্ড: ক্যামেরা বোর্ড স্থিতিশীল ফুটেজ সংশ্লেষ করতে ইমেজিং সেন্সর এবং জিম্বাল মোটর থেকে ডেটা প্রক্রিয়া করে
যদিও ইউএভিগুলি একটি অনবোর্ড কম্পিউটার সিস্টেম সহ অন্যান্য ডিভাইসের মতো বিস্তৃত অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়, তবে তারা সাইবার নিরাপত্তা হুমকির একটি পরিসরের জন্য ঝুঁকিপূর্ণ। UAV-এর সাথে কিছু সাধারণ সাইবার নিরাপত্তা হুমকির মধ্যে রয়েছে:
অননুমোদিত অ্যাক্সেস: UAV গুলি খারাপ অভিনেতাদের দ্বারা অননুমোদিত হওয়ার জন্য ঝুঁকিপূর্ণ যারা ড্রোন নিয়ন্ত্রণ করতে ব্যবহৃত বেতার সংকেতগুলিকে আটকাতে বা ফাঁকি দিতে পারে। এটি হ্যাকারকে ড্রোন নিয়ন্ত্রণ করতে বা নিষ্ক্রিয়ভাবে তাদের কাছ থেকে তথ্য চুরি করতে দেয়।
ডেটা চুরি: UAV গুলি বিভিন্ন ধরণের সেন্সর দিয়ে সজ্জিত থাকে যারা সক্রিয়ভাবে তাদের পরিবেশ যেমন ফটো, ভিডিও এবং টেলিমেট্রি রিডিং সম্পর্কে তথ্য সংগ্রহ করে। এই ডেটা হ্যাকারদের কাছ থেকে বাধার জন্য ঝুঁকিপূর্ণ হতে পারে যারা এটি খারাপ উদ্দেশ্যে ব্যবহার করতে পারে
পরিষেবা অস্বীকার: একটি আরও নির্দিষ্ট আক্রমণ যা হ্যাকাররা ড্রোন হ্যাক করার জন্য নিয়োগ করতে পারে তা হল পরিষেবা অস্বীকার করা। এটি ঘটে যখন একটি হ্যাকার ড্রোনের একই বেতার যোগাযোগ ব্যবস্থায় একটি DOS চালু করে, ডেটা গ্রহণ বা প্রেরণ করার ক্ষমতাকে ব্যাহত করে।
UAV-এর ক্রমবর্ধমান জনপ্রিয়তার সাথে আরও নিরাপত্তা দুর্বলতা আবিষ্কৃত হওয়ায়, নিরাপত্তা গবেষকদের জন্য দূষিত উদ্দেশ্যে ডিভাইসগুলিকে ফরেনসিকভাবে বিশ্লেষণ করা প্রয়োজন। সাইবারসিকিউরিটির মধ্যে একটি সাবফিল্ড যাকে বলা হয় ফরেনসিক বিশ্লেষণ যা তদন্তের উদ্দেশ্যে আক্রমণ থেকে তথ্য সংগ্রহ ও বিশ্লেষণের উপর দৃষ্টি নিবদ্ধ করে ।
এই প্রক্রিয়াটি বাস্তব জীবনের অপরাধের পরিস্থিতিতে কাজে আসে যখন একটি কম্পিউটার সিস্টেমের ডিজিটাল তথ্য জব্দ করা হয় এবং তদন্ত করা প্রয়োজন। প্রায়শই, মেশিনের বিস্তৃত সংখ্যাগরিষ্ঠ তথ্য অপরাধের সাথে সম্পর্কিত নয় এবং অপরাধের পরিস্থিতি ভেঙে ফেলার জন্য ফিল্টার ডাউন করা আবশ্যক।
ড্রোনের বিস্তৃত অবৈধ প্রয়োগ রয়েছে যেমন অননুমোদিত এলাকায় নিষিদ্ধ ড্রপ, বিদেশী সীমান্তে মাদকের ড্রপ এবং অযাচিত নজরদারি। এই ধরনের অনেক পরিস্থিতির পরে, ডিজিটাল ফরেনসিকগুলিকে ডিভাইসের মালিকানা এবং অপরাধের সাথে যুক্ত যেকোনো ডেটার মতো তথ্য নির্ধারণ করতে ব্যবহার করা হয়।
বিভিন্ন অপরাধের দৃশ্যে সাধারণ ড্রোন মডেলের উপর পরিচালিত একটি সমীক্ষা প্রমাণ করেছে যে ফটো বা ভিডিও ফর্ম্যাটে মিডিয়া ফাইল, ফ্লাইট প্যাটার্ন, অবস্থান এবং মালিকের তথ্যের মতো তথ্য আইন প্রয়োগকারী তদন্তকারীদের দ্বারা পরিচালিত ডিজিটাল ফরেনসিক মামলাগুলির সাফল্যের জন্য সবচেয়ে সহায়ক। যদিও অধ্যয়নের তদন্তকারীরা ডিজিটাল ফরেনসিক কৌশলগুলি ব্যবহার করে অপরাধ সম্পর্কে তথ্য ফিল্টার করতে সক্ষম হয়েছিল, গবেষণায় বলা হয়েছে যে রাজ্য এবং ফেডারেল আইন ড্রোন প্রযুক্তির পিছনের প্রবিধানগুলিকে সঠিকভাবে পরিচালনা করেনি এবং ফলস্বরূপ অনেক স্টেকহোল্ডারকে ঝুঁকির মধ্যে ফেলেছে। সামগ্রিকভাবে, তারা উপসংহারে পৌঁছেছে যে ফরেনসিক সরঞ্জাম এবং সার্বজনীন ড্রোন কাঠামোর অভাব আরও ডেটা নিষ্কাশন পদ্ধতি বিকাশের জন্য প্রয়োজনীয় করে তুলেছে।
UAV ফরেনসিক সরঞ্জামের অভাব মোকাবেলায় একটি ভূমিকা পালন করার জন্য, আমি প্রদর্শন করব কিভাবে আমি ডিজিটাল ফরেনসিক পরিস্থিতিতে দরকারী নেটওয়ার্ক তথ্য খুঁজে পেতে প্রোগ্রামিং ভাষা Lua ব্যবহার করে Wireshark-এর জন্য একটি প্যাকেট বিচ্ছেদ স্ক্রিপ্ট তৈরি করেছি। এই টুলটি UAVs সম্পর্কে দরকারী তথ্য সংগ্রহ করার জন্য ডিজিটাল ফরেনসিক দক্ষতার একটি প্রথম হাতের অ্যাপ্লিকেশন যা সংঘটিত অপরাধের সাথে সম্পর্কিত আরও তথ্য সংগ্রহ করতে তদন্তমূলক পরিস্থিতিতে ব্যবহার করা যেতে পারে।
প্যাকেট স্নিফিং হল ডেটার প্যাকেটগুলিকে আটকানো এবং পরীক্ষা করার কাজ কারণ সেগুলি একটি নির্দিষ্ট নেটওয়ার্কের মাধ্যমে প্রেরণ করা হয়। এই কৌশলটি সাইবারসিকিউরিটি পেশাদারদের দ্বারা দুর্বলতাগুলি ট্র্যাক করতে, তাদের নেটওয়ার্কের ত্রুটিগুলি এবং কর্মক্ষমতা নির্ণয় করতে বা হুমকিগুলি আবিষ্কার করতে ব্যবহার করা হয়।
একটি কম্পিউটারে, নেটওয়ার্ক ইন্টারফেস কার্ড (এনআইসি নামেও পরিচিত) হল একটি হার্ডওয়্যার উপাদান যাতে একটি এমবেডেড সার্কিট বোর্ড থাকে যা কম্পিউটারকে নেটওয়ার্কের সাথে ইন্টারফেস করতে এবং প্যাকেট স্নিফিং করতে দেয়। সাইবার সিকিউরিটি বা হ্যাকিংয়ের উদ্দেশ্যে আরও বিস্তৃত স্নিফিংয়ের জন্য প্রায়শই NIC-কে প্রমিসকিউস মোডে রাখতে হয় যা কম্পিউটারকে আশেপাশের নেটওয়ার্ক ট্র্যাফিক পুনরুদ্ধার করতে দেয়। একটি ডিকোডিং প্রক্রিয়া ব্যবহার করে, স্নিফাররা ডেটা প্যাকেটে সংরক্ষিত এনকোড করা তথ্য অ্যাক্সেস পেতে পারে কারণ সেগুলি একটি নেটওয়ার্কের মাধ্যমে পরিবহন করা হয়। স্নিফিংকে দুটি সাধারণ বিভাগে বিভক্ত করা যেতে পারে: সক্রিয় এবং প্যাসিভ স্নিফিং।
প্যাসিভ স্নিফিং
প্যাসিভ স্নিফিং-এর মধ্যে কেবলমাত্র সেই প্যাকেটগুলি শোনার অন্তর্ভুক্ত যা নেটওয়ার্ক ট্রাফিক হিসাবে পাঠানো হচ্ছে। এটি প্রায়শই ট্র্যাফিক সম্পর্কে প্রাসঙ্গিক তথ্য এবং একটি নেটওয়ার্কের মাধ্যমে পাস করা ডেটার ধরণ নির্ধারণের জন্য একটি পুনঃসূচনা কৌশল হিসাবে ব্যবহৃত হয়। এটি নিরাপত্তা পেশাদারদের নেটওয়ার্ক সমস্যা সমাধান (নেটওয়ার্ক সমস্যাগুলির জন্য একটি মেট্রিক হিসাবে নেটওয়ার্ক ট্র্যাফিক ব্যবহার করা) এবং যানজটের ক্ষেত্রগুলি চিহ্নিত করে পারফরম্যান্স অপ্টিমাইজেশনের মতো কোনও অসঙ্গতি বা সন্দেহজনক কার্যকলাপের জন্য নেটওয়ার্ক বিশ্লেষণ করতে দেয়।
সক্রিয় স্নিফিং
অ্যাক্টিভ স্নিফিং হল প্যাকেট ইনজেকশন/স্পুফিং অ্যাপ্লিকেশানগুলিতে ব্যবহৃত একটি কৌশল যা নেটওয়ার্ক ডিভাইসগুলি থেকে প্রতিক্রিয়া অর্জনের উদ্দেশ্যে করা হয়। উদাহরণস্বরূপ, সংবেদনশীল তথ্যের সাথে সাড়া দেওয়ার জন্য একটি নির্দিষ্ট ডিভাইস বা অ্যাপ্লিকেশনকে প্রতারণা করার জন্য একটি আক্রমণকারী একটি নির্দিষ্ট প্যাকেট পাঠাতে পারে। এটি ম্যান-ইন-দ্য-মিডল (MiTM) আক্রমণ এবং নেটওয়ার্ক সেশন হাইজ্যাক করার মতো একাধিক দুষ্টু কার্যকলাপ পরিচালনা করতে ব্যবহার করা যেতে পারে। অ্যাক্টিভ স্নিফিং প্যাসিভ স্নিফিংয়ের চেয়ে শনাক্ত করা একটু কৌশলী কারণ এটি আশেপাশের নেটওয়ার্ক ট্র্যাফিক হিসাবে মাস্করেড করার জন্য তৈরি করা হয়েছিল। স্যুইচ কন্টেন্ট অ্যাড্রেস মেমরি (সিএএম) টেবিলটি ওভারলোড করার জন্য ইচ্ছাকৃতভাবে অ্যাড্রেস রেজোলিউশন প্রোটোকল (এআরপি) প্যাকেট ইনপুট করে সক্রিয় স্নিফিং পরিচালিত হয়। এটি বৈধ নেটওয়ার্ক ট্র্যাফিককে বিভিন্ন পোর্টে পরিবহনের দিকে নিয়ে যায় যা এআরপি স্পুফিং, ডায়নামিক হোস্ট কনফিগারেশন প্রোটোকল (ডিএইচসিপি) আক্রমণ এবং ডিএনএস (ডোমেন নাম সিস্টেম) বিষক্রিয়ার মতো স্পুফিং আক্রমণের ভিত্তি হিসাবে কাজ করে।
ওএসআই মডেল
OSI (ওপেন সিস্টেম ইন্টারকানেকশন নামে পরিচিত) মডেলটি একটি নেটওয়ার্কের অসম উপাদানগুলি একে অপরের সাথে কীভাবে যোগাযোগ করে তা ধারণা করতে ব্যবহৃত হয়। মডেলটিকে একটি সাত-স্তর মডেল হিসাবে উপস্থাপন করা হয়েছে যাতে বিভিন্ন ডিভাইস এবং প্রোগ্রামগুলি কীভাবে নেটওয়ার্কের মাধ্যমে আন্তঃযোগাযোগ করতে পারে তার একটি প্রমিত নিয়ম সেট অন্তর্ভুক্ত করে।
OSI মডেলকে কয়েকটি স্তরে ভাগ করা যেতে পারে: অ্যাপ্লিকেশন, উপস্থাপনা, সেশন, পরিবহন, নেটওয়ার্ক, ডেটালিংক এবং শারীরিক।
পদার্থের স্তর
এটি নেটওয়ার্কের শারীরিক বৈশিষ্ট্যগুলিকে বর্ণনা করে যা কেবলিং, সংযোগকারী এবং সংকেতগুলির মতো ডিভাইসগুলির মধ্যে শারীরিক সংযোগের জন্য দায়ী৷ এই স্তরে, বিটগুলির মাধ্যমে ডেটা স্থানান্তরিত হয়।
ডেটা লিঙ্ক স্তর
এই স্তরে, ডেটা প্যাকেটে ফর্ম্যাট করা হয় এবং নেটওয়ার্কের মাধ্যমে প্রেরণ করা হয়। ডেটা লিঙ্ক স্তরটি নিশ্চিত করে যে আপনার ডেটাতে কোনও অভ্যন্তরীণ ত্রুটি নেই। ফ্রেম ব্যবহার করে ডেটা স্থানান্তর করা হয়।
নেটওয়ার্ক স্তর
নেটওয়ার্ক স্তর প্যাকেট পাঠানোর সর্বোত্তম উপায় খুঁজে বের করে কীভাবে প্যাকেটগুলিকে সম্বোধন করা হয় এবং নেটওয়ার্কে পাঠানো হয় তা পরিচালনা করে। এই পর্যায়ে, আইপি ঠিকানাগুলি প্যাকেটের হেডারের সাথে সংযুক্ত করা হয়।
পরিবহন স্তর
ট্রান্সপোর্ট লেয়ার হল নেটওয়ার্ক এবং সেশন লেয়ারের মধ্যে পরিবর্তন। অ্যাপ্লিকেশনগুলির মধ্যে কীভাবে ডেটা প্রেরণ করা যায় তা নির্ধারণ করতে এই স্তরটি ইউডিপি এবং টিসিপির মতো নেটওয়ার্ক প্রোটোকল ব্যবহার করে। এই স্তরে পরিবাহিত ডেটাকে একটি সেগমেন্ট বলা হয়।
সেশন লেয়ার
এই স্তরটি সংজ্ঞায়িত করে কিভাবে অ্যাপ্লিকেশনগুলি একে অপরের সাথে সংযোগ স্থাপন এবং বজায় রাখে।
উপস্থাপনা স্তর
প্রেজেন্টেশন লেয়ার সেগমেন্ট থেকে ডেটাকে আরও মানব-পাঠযোগ্য বিন্যাসে রূপান্তর করে। এই স্তরটি প্যাকেটগুলির এনক্রিপশন এবং ডিক্রিপশনকেও কভার করে।
আবেদন স্তর
অ্যাপ্লিকেশন স্তরটি ব্যবহারকারীদের সাথে ইন্টারফেস করতে ব্যবহৃত হয়। এটি প্রোটোকল এবং ইন্টারফেসগুলিকে সংজ্ঞায়িত করে যা অ্যাপ্লিকেশনগুলি নেটওয়ার্কের সাথে যোগাযোগ করতে ব্যবহার করতে পারে৷
প্যাকেট তথ্য ভাঙ্গন
নেটওয়ার্কিং-এ, একটি প্যাকেট হল একটি বড় বার্তার একটি ছোট অংশ। একটি নেটওয়ার্কের মাধ্যমে পাস করা ডেটার যে কোনও ফর্ম প্যাকেটে বিভক্ত হয়। একবার তারা নেটওয়ার্কের মাধ্যমে পাস করা হলে, সেই প্যাকেটগুলি তাদের গ্রহণকারী ডিভাইস দ্বারা পুনর্গঠন করা হয়।
একটি নেটওয়ার্কের মাধ্যমে প্রেরিত প্যাকেটগুলির কাঠামোতে হেডার, পেলোড এবং ট্রেলার অন্তর্ভুক্ত থাকে। আমি একটি প্যাকেটের মধ্যে থাকা তথ্যের ধরন প্রদর্শনের জন্য একটি উদাহরণ হিসাবে IPv4 প্যাকেট ব্যবহার করব।
1. প্যাকেট হেডার
প্যাকেট হেডার হল একটি প্যাকেটের প্রাথমিক অংশ। এতে অ্যাড্রেসিং এবং অন্যান্য ডেটা রয়েছে যা প্যাকেটের গন্তব্যে পৌঁছানোর জন্য প্রয়োজনীয়। IPv4 হেডারে 13টি ক্ষেত্র রয়েছে...
- সংস্করণ: ব্যবহৃত ইন্টারনেট প্রোটোকলের সংস্করণ নম্বর (যেমন IPv4)
- ইন্টারনেট হেডার দৈর্ঘ্য (IHL): সমগ্র আইপি হেডারের দৈর্ঘ্য
- সুস্পষ্ট যানজট বিজ্ঞপ্তি: রাস্তায় দেখা যানজটের তথ্যের তথ্য
- মোট দৈর্ঘ্য: সমগ্র আইপি প্যাকেটের দৈর্ঘ্য (হেডার এবং বডি সহ)
- শনাক্তকরণ: যদি আইপি প্যাকেটটি খণ্ডিত হয়, তবে প্রতিটি প্যাকেটে একটি সংশ্লিষ্ট সনাক্তকরণ নম্বর থাকবে যা তাদের অন্তর্গত আসল আইপি প্যাকেট সনাক্ত করতে পারে।
- পতাকা: প্যাকেটটি খণ্ডিত হওয়ার মতো যথেষ্ট বড় কিনা তার ইঙ্গিত
- ফ্র্যাগমেন্ট অফসেট: আইপি প্যাকেটে খণ্ডটির অবস্থান
- টাইম টু লাইভ (টিটিএল): নেটওয়ার্কের লুপিং এড়াতে প্যাকেটটি যে রাউটারগুলি অতিক্রম করতে ছেড়েছে
- প্রোটোকল: প্যাকেটের গন্তব্য হোস্টের নেটওয়ার্ক স্তর (যেমন TCP = 6, UDP = 17, এবং ICMP = 1)
- হেডার চেকসাম: প্যাকেটে কোনো ত্রুটি নেই তা নিশ্চিত করতে ব্যবহৃত পুরো হেডারের চেকসাম মান
- উৎসের ঠিকানা: প্যাকেটের প্রেরকের (উৎস) 32-বিট ঠিকানা
- গন্তব্য ঠিকানা: প্যাকেটের রিসিভার (গন্তব্য) এর 32-বিট ঠিকানা
- বিকল্প: ঐচ্ছিক ক্ষেত্র যাতে তথ্য থাকতে পারে যেমন রেকর্ড রুট, টাইমস্ট্যাম্প ইত্যাদি
2. পেলোড
একটি প্যাকেটের পেলোডের মধ্যে প্যাকেটটি তার গন্তব্যে বহন করতে চায় এমন প্রকৃত ডেটা অন্তর্ভুক্ত করে। IPV4 প্যাকেটের ক্ষেত্রে, পেলোডকে 0 বিটের একটি প্যাডিং দেওয়া হয় যাতে প্যাকেটটি 32-বিট সীমাবদ্ধতার মধ্যে শেষ হয়।
3. ট্রেলার
কখনও কখনও প্যাকেটে তাদের প্যাকেটের একটি শেষ থাকতে পারে যাকে ট্রেলার বলা হয়। যদিও IPV4 প্যাকেট কাঠামোতে একটি ট্রেলার থাকে না, ইথারনেট ফ্রেমে একটি ট্রেলার থাকে যা তথ্য অন্তর্ভুক্ত করার জন্য ইথারনেটের নেটওয়ার্ক অ্যাডাপ্টারগুলিকে ফ্রেমটি প্রক্রিয়া করতে হবে।
Wireshark একটি বহুল ব্যবহৃত এবং ওপেন সোর্স নেটওয়ার্ক প্রোটোকল এবং প্যাকেট বিশ্লেষণ টুল। এটি আপনাকে ওয়্যারলেস (IEEE.802.11), ব্লুটুথ, ইথারনেট, টোকেন রিং, ইত্যাদির মতো উত্স থেকে নেটওয়ার্ক প্যাকেটগুলি ক্যাপচার করতে দেয়৷ Wireshark-এ একটি প্যাকেট ফিল্টারিং ক্ষমতাও রয়েছে যা আপনাকে প্যাকেটগুলির লগ স্ট্রীম ফিল্টার করতে দেয় কারণ সেগুলি আপনার স্ক্রিনে প্রদর্শিত হয়৷ .
প্যাকেট বিশ্লেষণের জন্য Wireshark ব্যবহার করা
Wireshark ইন্টারফেসে প্যাকেট তথ্য প্রদর্শনের জন্য বিভিন্ন প্যান রয়েছে। প্রধান প্যানেল নেটওয়ার্কের মাধ্যমে প্রবাহিত সমস্ত প্যাকেটের তালিকা প্রদর্শন করে। আপনি যদি একটি পৃথক প্যাকেট নির্বাচন করেন, তাহলে আরও নির্দিষ্ট প্যাকেট ডেটা সহ স্ক্রিনের নীচের দিকে দুটি প্যানে পপ আপ করা উচিত। প্রধান প্যানেলে কলাম বিভাগের প্রতিটির বিবরণ নিম্নরূপ:
নং: ক্যাপচার ফাইলে প্যাকেট নম্বর
সময়: প্যাকেট স্নিফিং শুরু করার পরে এই প্যাকেটটি ধরা হয়েছিল
উত্স: পাঠানো ডিভাইসের আইপি ঠিকানা এবং পোর্ট নম্বর
গন্তব্য: IP ঠিকানা এবং গ্রহনকারী ডিভাইসের পোর্ট নম্বর
প্রোটোকল: প্যাকেটের ধরন (যেমন TCP, UDP, HTTP, ইত্যাদি)
তথ্য: প্যাকেট সম্পর্কে আরও তথ্যমূলক সামগ্রী যা কি ধরনের প্যাকেট ক্যাপচার করা হয়েছে তার উপর পরিবর্তিত হবে
এইগুলি হল Wireshark-এ প্রি-কনফিগার করা তথ্যগত কলাম, কিন্তু টুলটিতে দেখানোর জন্য আরও অনেক কলাম উপলব্ধ রয়েছে যেমন TTL, checksum, ইত্যাদি "কলাম" সেটিংস নির্বাচন করে।
টুলের প্যাকেট বিশদ বিভাগ আপনাকে প্যাকেট সম্পর্কে আরও ব্যাখ্যাযোগ্য তথ্য দেখায় যা প্যাকেটের প্রকারের উপর নির্ভর করে পরিবর্তিত হয়। নীচের ফলক, প্যাকেট বাইট , বিশুদ্ধ হেক্সাডেসিমেল বিন্যাসে প্যাকেটের বিষয়বস্তু দেখায়।
ওয়্যারশার্ক ক্যাপচার ফিল্টার
ওয়্যারশার্কের ক্যাপচার ফিল্টারগুলি সন্নিবেশিত ফিল্টার দ্বারা ক্যাপচার করা প্যাকেটগুলিকে সীমাবদ্ধ করে। আপনি যদি লক্ষ্য করে থাকেন, Wireshark ক্যাপচার ফিল্টারগুলি tcpdump-এর মতো একই ফর্ম্যাট অনুসরণ করে যা আরেকটি জনপ্রিয় নেটওয়ার্ক প্যাকেট ক্যাপচার টুল। প্যাকেট ক্যাপচারের সিনট্যাক্স বার্কলে প্যাকেট ফিল্টার (BPF) সিনট্যাক্স এক্সপ্রেশন মেনে চলে। Wireshark-এর জন্য কিছু সাধারণ ক্যাপচার ফিল্টারগুলির মধ্যে রয়েছে...
শুধুমাত্র আইপি ঠিকানা 172.18.5.4 থেকে ট্র্যাফিক ক্যাপচার করুন:
host 172.18.5.4
আইপি ঠিকানাগুলির একটি পরিসরে বা সেখান থেকে ট্র্যাফিক ক্যাপচার করুন:
net 192.168.0.0/24
বা
net 192.168.0.0 mask 255.255.255.0
আইপি ঠিকানাগুলির একটি পরিসর থেকে ট্র্যাফিক ক্যাপচার করুন:
src net 192.168.0.0/24
বা
src net 192.168.0.0 mask 255.255.255.0
DNS ট্রাফিক ক্যাপচার (পোর্ট 53):
port 53
সমস্ত ARP এবং DNS ট্র্যাফিক ছাড়া ক্যাপচার করুন:
port not 53 and not arp
শুধুমাত্র IPv4 প্যাকেট ক্যাপচার করুন:
ip
ক্যাপচার শুধুমাত্র ইথারনেট প্যাকেট (EAPOL):
ether proto 0x888e
ওয়্যারশার্কের ডিসপ্লে ফিল্টার বৈশিষ্ট্য আপনাকে ক্যাপচার করা প্যাকেট তালিকায় দেখানো প্যাকেটের ধরনকে সংকুচিত করতে দেয়। প্রদর্শন ফিল্টারগুলির সাধারণ উদাহরণগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:
প্রোটোকল-ভিত্তিক ফিল্টার:
আপনি নেটওয়ার্ক প্রোটোকলের উপর ভিত্তি করে প্যাকেট ট্র্যাফিক ফিল্টার করতে পারেন
http
উপরের উদাহরণটি শুধুমাত্র HTTP প্রোটোকল সহ প্যাকেট দেখায়
ঠিকানা অনুসারে প্যাকেটগুলি ফিল্টার করুন (যেমন আইপি ঠিকানা ফিল্টারিং):
আপনি প্রেরক বা প্রাপকের ঠিকানার মাধ্যমে প্যাকেটগুলি ফিল্টার করতে পারেন
ip.src == xxxx
উপরের একটি নির্দিষ্ট আইপি ঠিকানা থেকে আসা ট্রাফিক দেখায়
পোর্ট-ভিত্তিক ফিল্টার:
আপনি ব্যবহৃত পোর্ট নম্বরের উপর ভিত্তি করে প্যাকেট ট্র্যাফিক ফিল্টার করতে পারেন
http
উপরের উদাহরণটি শুধুমাত্র পোর্ট 80 সহ TCP প্যাকেট দেখায়
সময়-ভিত্তিক ফিল্টার:
আপনি প্যাকেট ফিল্টার করতে পারেন যে সময় তারা ক্যাপচার করা হয়েছে
frame.time >= "YYYY-MM-DD HH:MM:SS" && frame.time <= "YYYY-MM-DD HH:MM:SS
উপরের উদাহরণটি শুধুমাত্র একটি নির্বাচিত সময়সীমার মধ্যে প্যাকেটগুলি দেখায়৷
বিষয়বস্তু ভিত্তিক ফিল্টার:
আপনি প্যাকেটের বিষয়বস্তুর উপর ভিত্তি করে প্যাকেট ফিল্টার করতে পারেন
frame contains google
উপরের উদাহরণটি এমন প্যাকেটগুলি দেখায় যার বিষয়বস্তুতে "গুগল" কীওয়ার্ড রয়েছে
যদিও প্যাকেট বিশ্লেষণের প্রক্রিয়াটি নেটওয়ার্ক ট্র্যাফিক প্যাটার্নগুলির একটি সাধারণ ওভারভিউ পেতে ব্যবহৃত হয়, প্যাকেট ব্যবচ্ছেদ অনেক বেশি সংকীর্ণ পদ্ধতির সাথে জড়িত। প্যাকেট ব্যবচ্ছেদ বলতে পৃথক প্যাকেটকে তাদের স্বতন্ত্র উপাদানে (যেমন শিরোনাম, পেলোড বিষয়বস্তু ইত্যাদি) ব্যবচ্ছেদ করার প্রক্রিয়াকে বোঝায় যাতে নেটওয়ার্ক প্রক্রিয়া বা ডিভাইসটি নিরীক্ষণ করা হয় সে সম্পর্কে মূল্যবান জ্ঞান অর্জন করা যায়। কিছু অ্যাপ্লিকেশন যা প্যাকেট বিচ্ছেদের জন্য ব্যবহার করা যেতে পারে প্রোটোকল বিশ্লেষণ এবং ফরেনসিক অন্তর্ভুক্ত।
আমাদের জন্য ভাগ্যবান, Wireshark একটি নেটওয়ার্ক জুড়ে পরিবহণ করা প্রতিটি প্যাকেটের পুঙ্খানুপুঙ্খভাবে প্যাকেট বিচ্ছেদ করার জন্য একটি সমন্বিত টুলসেট রয়েছে। প্যাকেট ব্যবচ্ছেদ করার কিছু কৌশল অন্তর্ভুক্ত…
প্রোটোকল ডিকোডিং: আপনি প্যাকেটের বিবরণ ফলকে স্তরের বিবরণ প্রসারিত করে প্রতিটি প্যাকেটের জন্য প্রোটোকলের বিবরণ দেখতে পারেন। এটি বিভিন্ন প্রোটোকল যেমন TCP, UDP, DNS ইত্যাদি ডিকোড করার জন্য দরকারী
TCP স্ট্রীম: Wireshark এ একটি বৈশিষ্ট্যও রয়েছে যা একটি TCP সংযোগের মাধ্যমে প্রবাহিত সমস্ত প্যাকেটের TCP স্ট্রীম প্রদর্শন করে। এই বৈশিষ্ট্যটি ব্যবহার করতে, একটি টিসিপি সংযোগের অন্তর্গত একটি প্যাকেট নির্বাচন করুন, প্যাকেটটিতে ডান-ক্লিক করুন এবং "অনুসরণ করুন > টিসিপি স্ট্রিম" নির্বাচন করুন।
কালার কোডিং: আপনি প্যাকেটের দৈর্ঘ্য বা প্রোটোকল প্রকারের মতো নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে প্যাকেটগুলিও কল্পনা করতে পারেন। এই বৈশিষ্ট্যটি দেখতে, "দেখুন" এ যান এবং "রঙের নিয়ম" এ ক্লিক করুন
ফ্লো গ্রাফ: ওয়্যারশার্কের একটি বৈশিষ্ট্য রয়েছে যা দুটি মেশিনের মধ্যে একটি প্যাকেটের সময় এবং ক্রম বিশদ দেখানো একটি ফ্লো গ্রাফ প্রদর্শন করে। একটি ফ্লো গ্রাফ কনফিগার করতে, "সংরক্ষণ ফিল্টার" এ যান এবং "TCP" বিকল্পটি নির্বাচন করুন। এটি একটি ফিল্টার তৈরি করে যা দেখায় যে সমস্ত প্যাকেট দুটি মেশিনের মধ্যে পাস হচ্ছে। তারপরে, ফ্লো গ্রাফ তৈরি করতে "পরিসংখ্যান" এবং "TCP স্ট্রিম গ্রাফ" নির্বাচন করুন
কোন ধরণের নেটওয়ার্ক প্রোটোকল ব্যবহার করা হচ্ছে এবং কীভাবে সেগুলি ব্যবহার করা হচ্ছে তা বিশ্লেষণ করার জন্য প্যাকেট বিচ্ছেদ প্রয়োগ করা যেতে পারে। Wireshark এর সাথে প্রোটোকল বিশ্লেষণ চেষ্টা করতে, আপনার নির্বাচিত নেটওয়ার্ক ইন্টারফেসের সাথে প্যাকেটগুলি ক্যাপচার করে শুরু করুন। তারপর, প্যাকেটগুলি যেমন ক্যাপচার করা হয়, সেগুলিকে বিভিন্ন ধরনের প্রোটোকল প্রেরণ করা উচিত যেমন HTTP (পোর্ট 80), HTTPS (পোর্ট 443), SSH (পোর্ট 22), এবং SNTMP ইত্যাদি। আসুন আমাদের প্যাকেট বিচ্ছেদের উদাহরণের জন্য HTTP ব্যবহার করি। HTTP কীওয়ার্ড দিয়ে ফিল্টার করে নীচের মত HTTP প্রোটোকলের সাথে একটি প্যাকেট নির্বাচন করে শুরু করুন...
একবার প্যাকেট নির্বাচন করা হলে, প্যাকেটের প্রাসঙ্গিক তথ্য দেখতে ট্রান্সমিশন কন্ট্রোল প্রোটোকল (TCP) মেনুটি প্রসারিত করুন।
প্যাকেটের বিবরণ প্রসারিত হয়ে গেলে, আপনি প্রোটোকলের বিভিন্ন ক্ষেত্র যেমন উৎস এবং গন্তব্য IP ঠিকানা, উৎস এবং গন্তব্য পোর্ট, ব্যবহৃত HTTP পদ্ধতি (GET, POST, DELETE, ইত্যাদি) এবং HTTP প্রতিক্রিয়া কোড বিশ্লেষণ করতে পারেন।
প্যাকেট ব্যবচ্ছেদ ডিজিটাল ফরেনসিকের জন্যও ব্যবহার করা যেতে পারে নির্দিষ্ট নেটওয়ার্ক ঘটনার পিছনে তথ্য বের করার জন্য। উদাহরণস্বরূপ, এমন একটি পরিস্থিতি কল্পনা করুন যেখানে একজন হ্যাকার আপনার নেটওয়ার্কের মাধ্যমে একটি দূরবর্তী সার্ভারে সংবেদনশীল তথ্য পাঠায়। হ্যাকারের ডিভাইসের আইপি অ্যাড্রেস এবং রিমোট সার্ভারের আইপি অ্যাড্রেস ব্যবহার করে হ্যাকারের মেশিনের জন্য আসা ট্র্যাফিককে আলাদা করতে আমরা Wireshark-এ ডিসপ্লে ফিল্টার ব্যবহার করতে পারি। তারপর, হ্যাকার এবং রিমোট সার্ভারের মধ্যে TCP ডেটা স্ট্রীম পুনর্গঠনের জন্য আমরা Wireshark দ্বারা প্রস্তাবিত প্যাকেট ব্যবচ্ছেদ সরঞ্জামগুলি ব্যবহার করতে পারি যেমন "ফলো TCP স্ট্রীম" বৈশিষ্ট্য। এই তথ্য ব্যবহার করে, আপনি হ্যাকারের রিমোট সার্ভারে পাঠানো লুকানো তথ্য যেমন কোনো ক্ষতিকারক ফাইল বা ছবি স্থানান্তর করতে পারেন। প্যাকেট ব্যবচ্ছেদের এই অ্যাপ্লিকেশনটি নেটওয়ার্ক ট্র্যাফিক বিশ্লেষণ করতে এবং কোনও অপরাধমূলক কার্যকলাপ সনাক্ত করতেও প্রয়োগ করা যেতে পারে।
বিপরীত প্রকৌশল হল একটি সিস্টেমকে বিনির্মাণ এবং বিশ্লেষণ করার প্রক্রিয়া যাতে এটি "হুডের নীচে" কীভাবে কাজ করে এবং এটি থেকে প্রাসঙ্গিক তথ্য বের করে। এই প্রক্রিয়াটি প্রায়শই একটি পুনরাবৃত্ত প্রক্রিয়ার মাধ্যমে একটি সিস্টেমের নির্দিষ্ট দিকগুলিকে বিনির্মাণ করে, এর প্রযুক্তিগত বৈশিষ্ট্য এবং কোড বিশ্লেষণ করে এবং এর ফলাফলগুলি পরীক্ষা করার জন্য নির্দিষ্ট পরীক্ষা চালানো হয়। UAV হ্যাকিংয়ের ক্ষেত্রে, আমরা একটি ড্রোনের সফ্টওয়্যার এবং ফার্মওয়্যার বিশ্লেষণ করতে, টেলিমেট্রি তথ্য বের করতে এবং শোষণের জন্য দুর্বলতাগুলি সনাক্ত করতে বিপরীত প্রকৌশল নীতিগুলি প্রয়োগ করতে পারি। এই গবেষণা পরীক্ষার জন্য, আমি ডিজেআই মিনি 2-কে রিভার্স ইঞ্জিনিয়ার করার সিদ্ধান্ত নিয়েছি — একটি ছোট, কমপ্যাক্ট ড্রোন যা বিনোদনমূলক ব্যবহারের জন্য ডিজাইন করা হয়েছে যা DJI নামক একটি জনপ্রিয় ড্রোন কোম্পানি দ্বারা তৈরি করা হয়েছে।
যেহেতু প্যাসিভ ইভড্রপিং কোনো বিপরীত-ইঞ্জিনিয়ারযোগ্য ফলাফল দেয় না, আমি পরিবর্তে একটি কৃত্রিম এবং ইভড্রপ-বান্ধব নেটওয়ার্ক কনফিগারেশন ব্যবহার করেছি যাতে ড্রোন এবং অপারেটরের মধ্যে বেতার যোগাযোগের জন্য নীচের কনফিগারেশন অনুসরণ করে পরিদর্শনযোগ্য এবং বাধা দেওয়া যায়:
ক) ড্রোন: সম্পন্ন করা তার নেটওয়ার্ক সহকর্মীদের সাথে সরাসরি যোগাযোগের জন্য ব্যবহৃত একটি অ্যাক্সেস পয়েন্ট শুরু করে প্রক্রিয়াটি শুরু করে
খ) MITM AP: আমরা মোবাইল ক্লায়েন্টের জন্য AP হিসাবে আমাদের মেশিন মাস্করেডিং সহ একটি দ্বিতীয় ভার্চুয়াল নেটওয়ার্ক স্থাপন করি
গ) MITM ক্লায়েন্ট: MITM ক্লায়েন্ট সরাসরি ড্রোনের সাথে সংযুক্ত করে MITM AP-এর নেটওয়ার্কগুলিকে ড্রোনের সাথে ফরোয়ার্ড করে এবং এর বিপরীতে
d) MITM মেশিন: MITM মেশিন হল MITM ক্লায়েন্টের অভ্যন্তরীণ NIC এর সাথে NAT (নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন) ভার্চুয়াল MITM AP-এর মাধ্যমে কানেক্ট করার মাধ্যমে গোপন কথা বলার জন্য ব্যবহৃত ডিভাইস।
ই) অপারেটর: অপারেটর হল মোবাইল ডিভাইস যা DJI অ্যাপ্লিকেশন চালায় যা ড্রোন প্রতিনিধি (MITM-AP) Wi-Fi এর মাধ্যমে সংযোগ করে।
অ্যাক্সেস পয়েন্ট কনফিগারেশন
MITM AP কনফিগার করার জন্য, আমি create_ap ব্যবহার করেছি আমার মেশিনে কমান্ড লাইনের উপর একটি ভার্চুয়াল এপি তৈরি করতে কমান্ড।
sudo create_ap wlan0 wlan0 Operator 12345678 -w 2 -c 2 -m nat --freq-band 2.4 --country US
এই কমান্ডটি 2.4GHz ফ্রিকোয়েন্সির উপর ফোকাস করে এবং নিম্নলিখিত পরামিতিগুলি স্থাপন করে সংযোগের মধ্যে ঝামেলা দূর করার জন্য ডিজাইন করা হয়েছিল:
-w 2
CCMP সাইফার মোডে WPA2-PSK -c 2
স্বেচ্ছাচারী এবং স্থির অব্যক্ত চ্যানেলের ব্যবহার -m nat
ভার্চুয়াল AP এবং শারীরিক NIC-এর মধ্যে সংযোগ করতে NAT --freq-band 2.4
শুধুমাত্র 2.4GHz ব্যান্ড নির্বাচন করা হচ্ছে --country US
স্থানীয় প্রবিধান মেনে চলার জন্য সঠিক দেশের কোড রাখাআন্তঃযোগাযোগ ইভসড্রপিং
eavesdropping জন্য, আমি MITM নেটওয়ার্কের জন্য কর্মক্ষমতা অপ্টিমাইজ করার জন্য কমান্ড লাইন টুল ব্যবহার করেছি। tcpdump ক্যাপচার করা নেটওয়ার্ক প্যাকেটগুলি একটি সংশ্লিষ্ট PCAP ফাইলের মধ্যে সংরক্ষণ করা হবে যা পরে নেটওয়ার্ক বিশ্লেষণ প্রোগ্রামগুলির একটি অ্যারে দ্বারা বিশ্লেষণ করা যেতে পারে। আমি ড্রোন এবং মেশিনের মধ্যে প্রাসঙ্গিক নেটওয়ার্ক প্যাকেটগুলি নিয়ে ক্যাপচার করা আউটপুটের পরিসর কমাতে অতিরিক্ত ফিল্টারগুলিও প্রয়োগ করেছি।
sudo tcpdump --interface=ap0 -n udp host 192.168.2.1 -w /tmp/dumps/capture.pcap
-n
DNS রেজোলিউশন এড়িয়ে যায় udp
কোনো TCP প্যাকেট উপেক্ষা করে host 192.168.2.1
প্রদর্শিত প্যাকেটগুলি ড্রোন সম্পর্কিত কিনা তা নিশ্চিত করেDJI Mini 2-এ ডিজিটাল ফরেনসিক গবেষণা পরিচালনা করার জন্য, আমি Wireshark ব্যবহার করে ড্রোন দ্বারা প্রেরিত নেটওয়ার্ক প্যাকেটগুলি বিশ্লেষণ করে DJI Wi-Fi প্রোটোকলটিকে বিপরীত প্রকৌশলী করার চেষ্টা করেছি। ড্রোন দ্বারা প্রেরিত প্যাকেটগুলির সঠিক প্রোটোকল কাঠামো নির্ধারণ করতে, আমি প্রতিটি পৃথক বিটকে ক্লাসিক্যাল করার জন্য বিট-নির্ভুল যুক্তি ব্যবহার করেছি। পুরো প্রক্রিয়া জুড়ে, আমি Wireshark-এ নিম্নলিখিত ফিল্টার পূর্বাভাসগুলিকে সবচেয়ে দরকারী বলে খুঁজে পেয়েছি:
!dns && !mdns && !icmp
যেহেতু শুধুমাত্র অ্যাপ্লিকেশন-স্তরের নেটওয়ার্ক প্যাকেটগুলি এই প্রক্রিয়ার জন্য প্রাসঙ্গিক, তাই আমরা আমাদের অনুসন্ধান থেকে DNS, ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (ICMP), এবং মাল্টিকাস্ট DNS (MDNS) প্রোটোকলগুলিকে বাদ দিতে পারি। ip.src == 192.168.2.1
আইপি অ্যাড্রেস 192.168.2.1 ড্রোনের আইপি অ্যাড্রেস উপস্থাপন করে। এখানে, আমরা সেই আইপি দ্বারা ফিল্টার করার জন্য উৎস এবং গন্তব্য নির্দিষ্ট করি। data.len == 1472
এই উদাহরণে, শুধুমাত্র 1472 বাইটের দৈর্ঘ্যের প্যাকেটগুলি সেই সঠিক পেলোড আকারের সাথে ড্রোন প্যাকেটগুলি প্রদর্শন করে ফলাফলের দৃশ্যে অন্তর্ভুক্ত করা হয়েছে data.data[0] == 0x00
এটি প্রাথমিক সূচকের পেলোড সামগ্রীর সাথে স্ট্যাটিক হেক্স মান তুলনা করে। এটি দরকারী কারণ মাঝামাঝি ফ্লাইট প্যাকেট পরিদর্শন প্রোটোকল এবং অপারেটরের ড্রোন নিয়ন্ত্রণ নির্দেশাবলীর মধ্যে সহ-সম্পর্কিত পরিবর্তনগুলিতে ফোকাস করে।Wireshark ব্যবহার করে প্রাপ্ত প্যাকেটগুলির সাথে, আমি সূচক 0x2A থেকে ইথারনেট ফ্রেমের দৈর্ঘ্যের পেলোডের উপর ফোকাস করেছি। যদিও পুরো প্যাকেটে তথ্য অন্তর্ভুক্ত থাকে, তবে 0x2A থেকে শেষ পর্যন্ত ডেটার বাইটগুলি বিপরীত প্রকৌশলের উদ্দেশ্যে যথেষ্ট। আমি রেফারেন্সের জন্য নীচে ইথারনেট OSI মডেল স্তর টেবিল অন্তর্ভুক্ত করেছি:
পেলোড এনক্রিপশন
যদিও সমগ্র যোগাযোগ স্ট্রীমটি এনক্রিপ্ট করা হয়েছে, তবুও ডেটার ডিক্রিপ্ট করা স্ট্রীম এখনও এনক্রিপশনের অখণ্ডতার সাথে আপস করতে পারে। UAV সিস্টেমের সাথে তথ্য ডিক্রিপ্ট করার একটি পদ্ধতি হল প্যাটার্ন শনাক্ত করতে একাধিক পেলোডের মধ্যে পাশাপাশি তুলনা করা। ইলেকট্রনিক কোডবুক মোড (ECB) রিপিটার সাইফারটেক্সট ব্লক তৈরি করতে প্রতিটি প্লেইনটেক্সট ব্লকে একই সিউডোর্যান্ডম পারমুটেশন প্রয়োগ করে নির্ধারক ডেটার একটি ক্রম তৈরি করে। UDP প্যাকেটের মধ্যে একটি ছদ্ম-র্যান্ডম পেলোড বা দুটি অভিন্ন পেলোডের সম্মুখীন হতে আমরা আমাদের বিপরীত প্রকৌশল প্রক্রিয়ায় এটি প্রয়োগ করতে পারি। যদিও আমি কোনো অভিন্ন পেলোড খুঁজে পাইনি, সেখানে অনেকগুলি ছিল যা একে অপরের সাথে খুব মিল ছিল। উদাহরণস্বরূপ, নীচের চিত্রগুলি দুটি প্যাকেট দেখায় যেখানে শুধুমাত্র 5 বাইটের পার্থক্য রয়েছে। দুটি পেলোড খুব একই রকম এবং এমনকি একটির বৃদ্ধি নির্দেশ করে যা ডেটার একটি এনক্রিপ্ট করা স্ট্রিমের স্পষ্ট।
ন্যায়িক যুক্তি
ডিজেআই মিনি 2-এর বিপরীত প্রকৌশলের জন্য আমি যে প্রধান পদ্ধতিটি ব্যবহার করেছি তা হল অপারেটর ইনপুটগুলির সাথে সম্পর্কযুক্ত পেলোডগুলির তুলনা করার জন্য ডিডাক্টিভ যুক্তি প্রয়োগ করা। সরাসরি ড্রোন নিয়ন্ত্রণ নির্দেশাবলী ব্যবহার করে (যেমন অবতরণ, চলাচল, টেক অফ, ইত্যাদি), আমি অপারেটরকে প্রতিনিধি নেটওয়ার্ক প্যাকেটের সংকেত দিতে বাধ্য করেছি। নিয়ন্ত্রণ নির্দেশাবলী কমান্ড প্রকার এবং পেলোড বিষয়বস্তু সংকেত দিতে সক্ষম ছিল। তারপর প্যাকেটগুলিকে পূর্বোক্ত বাইনারি তুলনা কৌশল ব্যবহার করে একে অপরের সাথে তুলনা করা হয়েছিল যা কমান্ড গঠন এবং পরামিতি মানগুলি প্রকাশ করে। প্যাকেট বিশ্লেষণে একটি উচ্চ-ট্র্যাফিক প্রোটোকল প্রকাশ করা হয়েছে যার মধ্যে বেশিরভাগ ড্রোন-টু-অপারেটর প্যাকেট রয়েছে যা সর্বাধিক ট্রান্সমিশন ইউনিট (MTU) এর উপর নির্ভর করে।
বিট-প্রিসিস রিজনিং
প্রেরিত প্যাকেটের মধ্যে সংরক্ষিত ডেটা সম্পর্কে আরও তথ্য সংগ্রহ করার জন্য, প্রতিটি প্যাকেটের সম্পত্তি সম্পর্কে নির্দিষ্ট বিচার করতে 56-বাইট পেলোডের মধ্যে বিটগুলির বিশ্লেষণের জন্য বিট-নির্ভুল যুক্তি নামক একটি কৌশল ব্যবহার করা হয়েছিল। প্রক্রিয়াটিকে সহজ করার জন্য, ক্লাস্টারগুলিকে প্রতিটিতে একই দৈর্ঘ্যের পেলোডগুলিকে একত্রিত করতে ব্যবহার করা হয়েছিল৷ আমি এই কৌশলটি সম্পর্কে আরও জানতে রিভার্স ইঞ্জিনিয়ারিং ড্রোনগুলির বিট-নির্ভুলতা পদ্ধতিতে গভীরভাবে ডুব দেওয়ার জন্য এই গবেষণাপত্রটি পড়ার সুপারিশ করছি। নীচের সারণীটি তথ্যের একটি সাধারণ ওভারভিউ প্রদর্শন করে যা বিট-সুনির্দিষ্ট যুক্তি ব্যবহার করে বের করা যেতে পারে।
এই গবেষণা প্রক্রিয়া জুড়ে আমি শিখেছি যে প্যাকেট ব্যবচ্ছেদ রিকনেসান্স এবং ডিজিটাল ফরেনসিক/রিভার্স ইঞ্জিনিয়ারিং কলের জন্য সম্পূর্ণ ভিন্ন পদ্ধতির জন্য। সৌভাগ্যবশত, প্যাসিভ রিকনেসান্স এবং একটি নেটওয়ার্ক কমিউনিকেশন ডিসেক্টর ব্যবহার করে প্যাকেট ডিসেকশন ডিজেআই মিনি 2-এর কমিউনিকেশন ইন্টারফেস বিশ্লেষণের জন্য সত্যিই কাজে এসেছে।
প্যাকেট বিচ্ছেদ প্রক্রিয়া শুরু করার জন্য, আমি ডিজেআই কমিউনিকেশন প্যাকেট ডাম্পের এই সংগ্রহস্থলের মধ্যে তালিকাভুক্ত PCAP ফাইলগুলি ডাউনলোড করেছি যার মধ্যে Wireshark ব্যবহার করে সব ধরণের DJI ড্রোনগুলির জন্য যোগাযোগের ডেটার একটি বিস্তৃত লগ অন্তর্ভুক্ত রয়েছে। একবার PCAP ফাইলগুলি ডাউনলোড হয়ে গেলে, আমি বিভিন্ন ডিসেক্টর ব্যবহার করে Wireshark ব্যবহার করে বিশ্লেষণ করেছি।
তথ্য বিন্যাস বিশ্লেষণ
ডিজেআই প্যাকেট ডাম্পের নির্দিষ্ট প্যাকেট ব্যবচ্ছেদ প্রক্রিয়ার গভীরে যাওয়ার আগে, এটি উল্লেখ করার মতো
UART কমিউনিকেশন: UART হল ইউনিভার্সাল অ্যাসিঙ্ক্রোনাস রিসিভার-ট্রান্সমিটার একটি সাধারণভাবে ব্যবহৃত সিরিয়াল প্রোটোকল যা ইলেকট্রনিক ডিভাইসগুলির মধ্যে তথ্য প্রেরণ করার জন্য যা ডেটা বিটের অ্যাসিঙ্ক্রোনাস প্রবাহকে একটি একক যোগাযোগ লাইনের উপর ক্রমিকভাবে ব্যবহার করে।
DUML স্ট্রিম: DUML হল DJI ইউনিভার্সাল মার্কআপ ল্যাঙ্গুয়েজ যা DJI যোগাযোগের জন্য ক্লোজ-সোর্স প্রোটোকল বর্ণনা করে। এটি ডিভাইসের অভ্যন্তরীণ সেটিংস নিয়ন্ত্রণ করতে বা ফার্মওয়্যার আপডেট শুরু করতে ব্যবহৃত হয়
KML ফাইল: কীহোল মার্কআপ ল্যাঙ্গুয়েজ নামেও পরিচিত, এগুলি হ'ল হৃদয় দ্বারা XML ফাইল যা ম্যাপিং সফ্টওয়্যারে ভৌগলিক ডেটা বিশেষভাবে প্রদর্শনের জন্য ব্যবহৃত হয়। KML ফাইলগুলিতে নির্দিষ্ট অবস্থান, আকার, পথ এবং অন্যান্য ভৌগলিক বৈশিষ্ট্য সম্পর্কে ডেটা থাকে
DAT ফ্লাইট লগস: DAT মানে ডিজিটাল অডিও টেপ। তারা ডিজিটাল অডিও টেপে সংরক্ষিত রেকর্ড করা ফ্লাইট ডেটা উল্লেখ করে। DAT ফাইল বিশ্লেষণের জন্য প্রাসঙ্গিক ফ্লাইট তথ্য অন্তর্ভুক্ত
DJI প্যাকেট ডাম্প রিপোজিটরির মধ্যে PCAP ফাইলে বিভিন্ন DJI হার্ডওয়্যার থেকে যোগাযোগ লগের বিশাল ডাম্প রয়েছে। যোগাযোগ লগের এই সঞ্চয়স্থানটি আমাদের হার্ডওয়্যারের মধ্যে হার্ডওয়্যারের সমস্যাগুলির জন্য অনুসন্ধানের জন্য একটি সূক্ষ্ম রেফারেন্স পয়েন্টের পাশাপাশি প্রোটোকলগুলির অভ্যন্তরীণ যোগাযোগগুলিকে বোঝার অনুমতি দেয়। উদাহরণস্বরূপ, প্রথম লগ ফাইল p3x_ofdm_to_center_run1-এ DJI P3X রিসিভার বোর্ড UART ডাম্প থেকে একটি যোগাযোগ ডাম্প রয়েছে। ডেটা ডাম্পটিতে একটি OFDM (অর্থোগোনাল ফ্রিকোয়েন্সি ডিভিশন মাল্টিপ্লেক্সিং) এমসিইউ (মাইক্রোকন্ট্রোলার ইউনিট) এবং এফসি (ফ্লাইট কন্ট্রোলার) এর মধ্যে একটি ফিতা তার এবং প্রোগ্রাম comm_serial2pcap.py ব্যবহার করে একটি দ্বিপাক্ষিক যোগাযোগ রয়েছে ।
Wireshark সেট আপ করা হচ্ছে
একটি ভিত্তিগত DJI যোগাযোগ বিচ্ছেদ সেট আপ করার জন্য, আমি DJI ফার্মওয়্যার সরঞ্জামগুলির মধ্যে তালিকাভুক্ত যোগাযোগ বিচ্ছেদ ফাইলগুলি ব্যবহার করেছি। যোগাযোগ ব্যবচ্ছেদ সরঞ্জাম, নিম্নলিখিত কার্যকারিতা প্রদান করে:
- একটি ড্রোন উত্স থেকে ক্যাপচার করা DUML প্যাকেটের মধ্যে ক্ষেত্রগুলি প্রদর্শন করুন৷
- বাইনারি ফ্লাইটে সংরক্ষিত প্যাকেটের মধ্যে ক্ষেত্রগুলি দেখান
- DAT ফাইল রেকর্ড করুন
- KML এক্সপোর্ট বৈশিষ্ট্যের মাধ্যমে ফ্লাইটগুলিকে কল্পনা করুন৷
সরঞ্জামগুলি আপনাকে নিম্নলিখিত বিকল্পগুলির মাধ্যমে প্রোটোকল কমান্ডগুলি বিশ্লেষণ করতে দেয়:
- DUML স্ট্রিম-ভিত্তিক PCAP ফাইল
- এম্বেড করা DUML পেলোডের মধ্যে USB/ইথারনেট যোগাযোগের ডাম্প ধারণকারী PCAP ফাইল
- DAT ফ্লাইট লগ-ভিত্তিক PCAP ফাইল
আপনার পরিবেশ সেট আপ করা শুরু করতে, এই লিঙ্কের নীচে তালিকাভুক্ত সমস্ত .lua ফাইল ডাউনলোড করুন৷ তারপর, Wireshark-এর মধ্যে Wireshark সম্পর্কে মেনু খুলুন এবং ফোল্ডার ট্যাবে যান।
তারপরে, ব্যক্তিগত লুয়া প্লাগইন- এর ফাইল পাথ রেফারেন্সে ক্লিক করুন এবং সমস্ত ফাইল সামগ্রীতে পেস্ট করুন ।
এটি সেট আপ হয়ে গেলে, সমস্ত যোগাযোগ বিচ্ছেদ সরঞ্জাম লোড করতে Ctrl+Shift+L কমান্ড ব্যবহার করে Wireshark রিফ্রেশ করুন। একবার যে লোড হয়, খুলুন
Preferences -> Protocols -> DLT_USER -> Edit
এবং নীচের চিত্র অনুসারে অ্যাসাইনমেন্টগুলি তৈরি করুন: DLT টেবিল শুরু হওয়ার পরে, যান
Preferences -> Appearance -> Columns
এবং আপনি যে প্রোটোকল তথ্য চান তা প্রদর্শন করতে সেটিংস সামঞ্জস্য করুন। নিম্নলিখিত একটি উপায় এটি কনফিগার করা যেতে পারে একটি উদাহরণ: কমিউনিকেশন ডিসেকশন
যোগাযোগ বিচ্ছেদ সরঞ্জাম থেকে, আমরা DJI যোগাযোগ প্রোটোকল থেকে নিম্নলিখিত তথ্য বের করতে পারি:
ফার্মওয়্যার ফাইল স্ট্রাকচার: ডিসেক্টর ফার্মওয়্যার ফাইলের গঠন সম্পর্কে তথ্য বর্ণনা করতে পারে যেমন হেডার, বিভাগ এবং ডেটা বিভাগ
ফার্মওয়্যার উপাদান: সরঞ্জামগুলি বুটলোডার, ফ্লাইট কন্ট্রোল ফার্মওয়্যার, ক্যামেরা ফার্মওয়্যার, জিম্বাল ফার্মওয়্যার ইত্যাদির মতো পৃথক ফার্মওয়্যার উপাদানগুলিও বের করতে পারে
কনফিগারেশন প্যারামিটার: কনফিগারেশন প্যারামিটারগুলিও দেখা যেতে পারে যা ক্যামেরা, ফ্লাইট নিয়ন্ত্রণ এবং সেন্সরগুলির মতো উপাদানগুলির জন্য সেটিংস তথ্য প্রদান করে
স্ক্রিপ্ট: কোড স্নিপেট এবং এক্সিকিউটেবল বাইনারি ফার্মওয়্যার ফাইলের মধ্যেও উন্মোচিত হতে পারে
এনক্রিপশন: পরিস্থিতির উপর নির্ভর করে, ডিসেক্টর ফার্মওয়্যার এনক্রিপশন প্রক্রিয়া সম্পর্কে তথ্য প্রকাশ করে ফার্মওয়্যার ফাইলগুলির অংশগুলি ডিক্রিপ্ট এবং এনক্রিপ্ট করতে সক্ষম হতে পারে
ফাইল সিস্টেমের বিষয়বস্তু: যদি একটি ফার্মওয়্যার ফাইলে একটি ফাইল সিস্টেম অন্তর্ভুক্ত থাকে, তাহলে টুলগুলি সেই ফাইল সিস্টেমের মধ্যে বিষয়বস্তু বের করতে এবং বিশ্লেষণ করতে পারে
Wireshark-এ, নেটওয়ার্ক প্রোটোকল ব্যাখ্যা এবং ডিকোড করার জন্য একটি ডিসেক্টর দায়ী। ডিসেক্টরগুলি দরকারী কারণ তারা ক্যাপচার করা নেটওয়ার্ক প্যাকেটগুলি বিশ্লেষণ করে এবং সেগুলি থেকে প্রোটোকলের কাঠামো, ক্ষেত্র এবং এনকোডিং নিয়মগুলির মতো দরকারী তথ্য বের করে এবং মানব-পাঠযোগ্য বিন্যাসে সেগুলি প্রদর্শন করে।
Wireshark আপনাকে Lua নামক একটি প্রোগ্রামিং ভাষা ব্যবহার করে আপনার নিজস্ব কাস্টম ডিসেক্টর তৈরি করতে দেয়। যদিও ওয়্যারশার্ক সি-তে লেখা হয়েছিল এবং প্রোগ্রামের ডিসেক্টরগুলি সাধারণত সি-তে লেখা হয়, তবে, ওয়্যারশার্ক ডিসেক্টরগুলিকে লুয়া প্রোগ্রামিং ভাষায় লেখার অনুমতি দেয় যাতে বিকাশে নতুন ব্যক্তিদের শেখার বক্ররেখা কম খাড়া হয়। Lua হল একটি বহু-দৃষ্টান্তমূলক, পদ্ধতিগত এবং কার্যকরী প্রোগ্রামিং ভাষা যাতে সমন্বিত অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্য রয়েছে। যদিও ডিসেক্টর ডেভেলপমেন্টের জন্য লুয়াকে ভাষা হিসেবে বেছে নেওয়ার ফলে গতির সাথে আপস করা হয়, তবে এটির হালকা ওজন এবং সহজে শেখার কারণে এটি বেশিরভাগ পরিস্থিতিতেই অনুকূল।
লুয়ার প্রাথমিক পরিচিতি
যেমনটি আমি আগে উল্লেখ করেছি, Lua একটি স্বজ্ঞাত এবং সহজ কোড সিনট্যাক্সের বৈশিষ্ট্য রয়েছে যখন গতি, বহনযোগ্যতা এবং অন্যান্য প্রোগ্রামগুলির সাথে একীকরণের কথা মাথায় রেখে অনেক কার্যকারিতা এবং কার্যকারিতা ত্যাগ না করেই এটি সহজে তোলা যায়। এখানে কিছু মৌলিক কোড স্নিপেট রয়েছে যা ভাষার মৌলিক বৈশিষ্ট্যগুলিকে রূপরেখা দেয়:
ভেরিয়েবল এবং অপারেশন
local a = 25
local b = 5
local result = a + b print (result) -- Output: 30
শর্তসাপেক্ষ বিবৃতি
local temperature = 15
local heatSetting = 0
if temperature < 0 then heatSetting = 3
elseif temperature <= 20 then heatSetting = 2
else heatSetting = 1 end
print (heatSetting) -- Output: 2
লুপস
-- While Loops
local i = 0
while i < 10 do
i = i + 1
end
print (i) -- Output: 10
-- For Loops
local i = 0
-- i = first, last, delta
for i = 0 , 10 , 1 do
print (i) end
print (i) -- Output: 10
টেবিল
local new_table = {} -- Table value assignment
new_table[ 20 ] = 10
new_table[ "x" ] = "test"
ax = 10
ফাংশন
function add (arg1, arg2)
return arg1 + arg2 end
local added_number = add( 2 , 3 ) print (added_number) -- Output: 5
Lua সম্পর্কে সারাংশ নোট
Lua গতিশীল-টাইপ করা হয়
সুযোগ স্থানীয় বা বিশ্ব হিসাবে নির্দিষ্ট করা হয়। গ্লোবাল ডিফল্ট
সেমিকোলনগুলি হোয়াইটস্পেসকে আরও মান ধরে রাখতে প্রয়োজনীয় নয়
-- একটি মন্তব্য বোঝায়
i = i + 1 পরিবর্তনশীল বৃদ্ধির জন্য ব্যবহৃত হয়
~= != এর জায়গায় ব্যবহৃত হয়
প্রকারগুলি হল: স্ট্রিং, সংখ্যা, বুলিয়ান, শূন্য, ফাংশন, ব্যবহারকারীর ডেটা, থ্রেড এবং টেবিল
Nil একটি অ-মূল্যের জন্য ব্যবহৃত হয়
শর্তসাপেক্ষে: শূন্য এবং মিথ্যা মিথ্যা, বাকিগুলি থ্রুথি।
লুয়ার একমাত্র ডেটা স্ট্রাকচার হল টেবিল। সারণি অ্যাসোসিয়েটিভ অ্যারে প্রয়োগ করে। অ্যাসোসিয়েটিভ অ্যারেগুলি উভয় সংখ্যা এবং স্ট্রিংগুলির মতো অন্যান্য ধরণের দ্বারা সূচিত করা যেতে পারে। তারা গতিশীল এবং প্রায়ই বস্তু বলা হয়.
Wireshark-এ লুয়া স্ক্রিপ্টের সাথে ডিসেক্টর ডেভেলপমেন্ট সেটআপ করতে, ক্লিক করুন
Help -> About Wireshark -> Folders
. সেখান থেকে ব্যক্তিগত Lua Plugins অথবা Global Lua Plugins ফোল্ডারের রেফারেন্সে ক্লিক করুন। পাথটি উইন্ডোজে C:\Program Files\Wireshark\plugins\2.4.2 এর মতো দেখতে হবে । একটি ডিসেক্টর তৈরি করতে, সেই ডিরেক্টরির মধ্যে একটি ফাইল শুরু করুন example.lua
. Wireshark পুনরায় লোড হয়ে গেলে স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে প্রয়োগ করা হবে। আপনি অ্যাপ্লিকেশনটি পুনরায় চালু করে বা Ctrl+Shift+L ব্যবহার করে সমস্ত Lua স্ক্রিপ্ট পুনরায় লোড করে Wireshark পুনরায় লোড করতে পারেন । এখন যেহেতু আপনার সবকিছু সেটআপ আছে, আমি আপনাকে একটি প্রাথমিক ডিসেক্টর স্ক্রিপ্টের মাধ্যমে নিয়ে যাব যা একটি কাস্টম প্রোটোকল সম্পর্কে তথ্য বের করে এবং প্রদর্শন করে।
-- Create a new protocol for our custom protocol
local custom_protocol = Proto( "CustomProtocol" , "Custom Protocol" ) -- Define the fields of our custom protocol
local field1 = ProtoField.uint8( "custom_protocol.field1" , "Field 1" , base.DEC) local field2 = ProtoField. string ( "custom_protocol.field2" , "Field 2" ) -- Register the fields to the custom protocol
custom_protocol.fields = { field1, field2 } -- Create a function to dissect the packets of our custom protocol
function custom_protocol.dissector (buffer, pinfo, tree)
-- Create a subtree for our custom protocol in the Wireshark GUI
local subtree = tree:add(custom_protocol, buffer(), "Custom Protocol Data" ) -- Extract and display the values of Field 1 and Field 2
local field1_value = buffer( 0 , 1 ):uint() subtree:add(field1, buffer( 0 , 1 )):append_text( " (Value: " .. field1_value .. ")" ) local field2_value = buffer( 1 , 5 ): string () subtree:add(field2, buffer( 1 , 5 )):append_text( " (Value: " .. field2_value .. ")" ) end
-- Register our custom protocol as a dissector in Wireshark
local udp_port = DissectorTable.get( "udp.port" ) udp_port:add( 12345 , custom_protocol)
- কোডটি প্রোটো অবজেক্ট ব্যবহার করে একটি কাস্টম প্রোটোকল শুরু করার মাধ্যমে শুরু হয়
CustomProtocol
field1
এবং field2
buffer
, pinfo
, এবং tree
. বাফার প্যাকেটের বাফার এবং Tvb অবজেক্ট অন্তর্ভুক্ত করে, পিনফোতে প্যাকেট তালিকার কলাম থাকে এবং ট্রি হল ট্রি রুট - ডিসেক্টর ফাংশনের ভিতরে, আমরা ওয়্যারশার্ক প্যাকেট বিশদ বিভাগের মধ্যে একটি সাবট্রি তৈরি করি যা আমাদের কাস্টম প্রোটোকলকে একটি ক্ষেত্র হিসাবে দেখায়
- ট্রি ভিউ বিভাগের মধ্যে, আমরা কাস্টম প্রোটোকলের মধ্যে সংশ্লিষ্ট প্রতিটি ক্ষেত্রের জন্য প্যাকেট তথ্য প্রদর্শন করি
- অবশেষে, আমরা একটি পোর্টে একটি প্রোটোকল বরাদ্দ করি। এই ক্ষেত্রে, পোর্ট ব্যবহার করা হয়
12345
UDP এর জন্যসামগ্রিকভাবে, কয়েকটি DJI-ভিত্তিক যোগাযোগ বিচ্ছিন্নকারীর সাথে একত্রে Wireshark ব্যবহার করে, আমরা তাদের যোগাযোগ প্রোটোকলের মাধ্যমে DJI ড্রোন দ্বারা প্রেরিত সংবেদনশীল তথ্য প্রকাশ করতে সক্ষম হয়েছি। আমি আশা করি এই রূপরেখাযুক্ত বিস্তৃত গবেষণা প্রক্রিয়াটি কয়েকটি বিপরীত প্রকৌশল কৌশল ব্যাখ্যা করেছে যা আপনি আপনার সাইবার নিরাপত্তা প্রক্রিয়া চলাকালীন বিদ্যমান সিস্টেমের মধ্যে দুর্বলতা খুঁজে পেতে প্রয়োগ করতে পারেন। তদুপরি, আমি আশা করি এই প্রতিবেদনটি প্রমাণ করেছে যে যদিও ড্রোন হ্যাকিং কিছুটা ক্লান্তিকর হতে পারে তবে এটি অসম্ভব নয়। খারাপ অভিনেতাদের নজরে পড়ার আগে বিদ্যমান ত্রুটিগুলি হাইলাইট করার জন্য একটি সিস্টেম সম্পর্কে বর্তমানে যা জানা যায় তার সীমানা ঠেলে রাখা গুরুত্বপূর্ণ। এই ক্ষেত্রে, আমরা প্রকাশ করেছি যে ডিজেআই-এর মতো বড়, বিশ্বস্ত ব্র্যান্ড নির্মাতাদের জন্যও ড্রোন প্রোটোকল এখনও ডেটা বাধা এবং বিপরীত প্রকৌশলের জন্য ঝুঁকিপূর্ণ। এটি বিবেচনায় নিয়ে, এই বিদ্যমান দুর্বলতাগুলি প্রশমিত করতে এবং ড্রোন যোগাযোগের চ্যানেলগুলির সুরক্ষা দৃঢ় করার জন্য গঠনমূলক পদক্ষেপ নেওয়া যেতে পারে।
এছাড়াও এখানে প্রকাশিত.