OWASP Mobile Top 10 হল মোবাইল অ্যাপ্লিকেশনের দশটি সবচেয়ে গুরুতর দুর্বলতার একটি তালিকা, যা অলাভজনক সংস্থা Open Web Application Security Project দ্বারা প্রকাশিত। এই নথিটি নিরাপত্তা সম্প্রদায় এবং বাস্তব ঘটনার তথ্যের ভিত্তিতে প্রতি কয়েক বছর অন্তর আপডেট করা হয়। OWASP Foundation (2024) অনুসারে, 75% এর বেশি বাণিজ্যিক মোবাইল অ্যাপ্লিকেশনে এই তালিকা থেকে অন্তত একটি দুর্বলতা রয়েছে। Mobile Top 10 অধ্যয়ন ডেভেলপার এবং পরীক্ষকদের আর্কিটেকচার ডিজাইন পর্যায়ে সুরক্ষা তৈরি করতে সহায়তা করে। OWASP, 2024
মূল বিষয়
OWASP Mobile Top 10 হল মোবাইল অ্যাপ্লিকেশনের জন্য নির্দিষ্ট সবচেয়ে গুরুতর নিরাপত্তা ঝুঁকির একটি প্রমিত তালিকা। ওয়েব অ্যাপ্লিকেশনের জন্য সাধারণ OWASP Top 10 থেকে ভিন্ন, মোবাইল সংস্করণ প্ল্যাটফর্মের বিশেষত্ব বিবেচনা করে: ডিভাইসে স্থানীয় স্টোরেজ, সেন্সরের সাথে মিথস্ক্রিয়া, অফলাইন মোড এবং অ্যাপ স্টোরের বৈশিষ্ট্য। নথিটি 2010 সাল থেকে প্রকাশিত হচ্ছে এবং প্রতি 2–4 বছরে সংশোধিত হয়: 2024-এর বর্তমান সংস্করণে M1 — Improper Credential Usage এবং M8 — Security Misconfiguration-এর মতো বিভাগ অন্তর্ভুক্ত রয়েছে। প্রকল্পটি সারা বিশ্বের 500 টিরও বেশি স্বেচ্ছাসেবকের একটি সম্প্রদায় দ্বারা সমর্থিত।
মূলত, OWASP Top 10 শুধুমাত্র ওয়েব অ্যাপ্লিকেশন কভার করত, কিন্তু 2010-এর দশকে মোবাইল ডেভেলপমেন্টের বৃদ্ধির জন্য একটি পৃথক নথির প্রয়োজন হয়েছিল। Mobile Top 10-এর প্রথম সংস্করণ 2011 সালে প্রকাশিত হয়েছিল এবং এতে মাত্র 7টি আইটেম ছিল। 2024 সালের মধ্যে, তালিকাটি 10টি বিভাগে প্রসারিত হয়েছে, প্রতিটিতে বেশ কয়েকটি নির্দিষ্ট আক্রমণের পরিস্থিতি অন্তর্ভুক্ত রয়েছে। নথির মূল উদ্দেশ্য হল ডেভেলপার এবং নিরাপত্তা দলকে ঝুঁকি নিয়ে আলোচনা এবং সংশোধন অগ্রাধিকার দেওয়ার জন্য একটি সাধারণ ভাষা প্রদান করা। তালিকার নিয়মিত আপডেট হুমকির ল্যান্ডস্কেপের পরিবর্তনগুলি প্রতিফলিত করে: নতুন API-র আবির্ভাব, অপারেটিং সিস্টেমের (Android, iOS) বিবর্তন এবং Positive Technologies এবং অন্যান্য গবেষণা কেন্দ্রের প্রতিবেদনে বর্ণিত নতুন আক্রমণ কৌশল।
Mobile Top 10 সংকলনের পদ্ধতি বাস্তব প্রকল্পের তথ্যের উপর ভিত্তি করে: মোবাইল অ্যাপ্লিকেশন পেন্টেস্টের ফলাফল, ঘটনা প্রতিবেদন এবং দুর্বলতা গবেষণা বিশ্লেষণ করা হয়। প্রতিটি বিভাগ দুটি প্যারামিটারের ভিত্তিতে মূল্যায়ন করা হয়: ঘটনার হার (Incidence Rate) এবং প্রযুক্তিগত প্রভাব (Technical Impact)। এই মেট্রিক্সের সংমিশ্রণ চূড়ান্ত র্যাঙ্কিং গঠন করে। বিষয়গত তালিকার বিপরীতে, OWASP উন্মুক্ত তথ্য ব্যবহার করে: সম্প্রদায়ের যে কোনো সদস্য প্রকল্পের GitHub রিপোজিটরির মাধ্যমে একটি নতুন বিভাগ অন্তর্ভুক্ত করার অনুরোধ জানাতে পারেন। 2024-এর বর্তমান সংস্করণের জন্য, 25টি দেশ থেকে 300,000-এর বেশি নিরাপত্তা পরীক্ষা প্রক্রিয়া করা হয়েছিল, যা পরিসংখ্যানকে বিশ্বব্যাপী মোবাইল ডেভেলপমেন্ট ইকোসিস্টেমের প্রতিনিধিত্ব করে। অতিরিক্তভাবে, OWASP MASVS (Mobile Application Security Verification Standard) প্রকাশ করে — বিস্তারিত নিরাপত্তা প্রয়োজনীয়তার একটি সেট যা 8টি বিভাগে বিতরণ করা 80টির বেশি নির্দিষ্ট পরীক্ষা অন্তর্ভুক্ত করে। MASVS অ্যাপ্লিকেশন সার্টিফিকেশনের ভিত্তি এবং পেন্টেস্টের জন্য চেকলিস্ট হিসেবে ব্যবহৃত হয়: প্রতিটি প্রয়োজনীয়তার Mobile Top 10 বিভাগের একটি রেফারেন্স রয়েছে, যা মান এবং ঝুঁকি তালিকার মধ্যে ট্রেসেবিলিটি নিশ্চিত করে।
আসুন OWASP Mobile Top 10 2024-এর তিনটি সবচেয়ে গুরুতর বিভাগ পরীক্ষা করি, যা মোবাইল প্রকল্পে সমস্ত নিরাপত্তা ঘটনার 70% এর বেশি কভার করে। প্রতিটি বিভাগে নির্দিষ্ট শোষণের পরিস্থিতি এবং সুরক্ষা সুপারিশ অন্তর্ভুক্ত রয়েছে।
এই বিভাগ (M1) এমন পরিস্থিতি কভার করে যেখানে ডেভেলপাররা API এবং প্ল্যাটফর্ম প্রক্রিয়া অনুপযুক্তভাবে ব্যবহার করে। সাধারণ উদাহরণ: Android-এ Intent Injection, iOS-এ খোলা Deep Link হ্যান্ডলার, Keychain এবং SharedPreferences-এর ভুল পরিচালনা। একজন আক্রমণকারী বিশেষভাবে তৈরি একটি Intent পাঠাতে পারে এবং অন্য অ্যাপ্লিকেশন বা কম্পোনেন্টের ডেটা অ্যাক্সেস পেতে পারে। NowSecure রিপোর্ট (2023) অনুসারে, পরীক্ষিত Android অ্যাপ্লিকেশনের 22% এ Intent Redirection ধরণের দুর্বলতা ছিল। সুরক্ষার মধ্যে রয়েছে: ইনপুট ডেটার কঠোর বৈধতা, Intent উৎস যাচাইকরণ এবং রপ্তানি করা কম্পোনেন্টের জন্য অনুমতি ব্যবহার।
অনিরাপদ ডেটা স্টোরেজ (M2) মোবাইল অ্যাপ্লিকেশনের সবচেয়ে সাধারণ সমস্যা। এটি ঘটে যখন সংবেদনশীল ডেটা (অ্যাক্সেস টোকেন, পাসওয়ার্ড, ব্যক্তিগত ডেটা) সাধারণ পাঠ্যে বা অপর্যাপ্ত সুরক্ষার সাথে সংরক্ষণ করা হয়। দুর্বলতার সাধারণ উৎস: এনক্রিপশন ছাড়া SQLite ডেটাবেস, EncryptedSharedPreferences ছাড়া SharedPreferences, ডিবাগ মোডে ডেটা লগিং। OWASP Foundation (2024) অনুসারে, Google Play-তে 60% এর বেশি বিনামূল্যের অ্যাপ্লিকেশন অন্তত এক প্রকার সংবেদনশীল ডেটা আনএনক্রিপ্টেড আকারে সংরক্ষণ করে। সমাধান হল Android EncryptedSharedPreferences, iOS Keychain ব্যবহার করা এবং স্থানীয় স্টোরেজে লেখার আগে ডেটা এনক্রিপ্ট করা।
বিভাগ M3 — অনিরাপদ যোগাযোগ — অ্যাপ এবং সার্ভারের মধ্যে ডেটা ট্রান্সমিশন চ্যানেলে দুর্বলতা অন্তর্ভুক্ত করে। HTTPS-এর অভাব, SSL সার্টিফিকেটের অনুপযুক্ত বৈধতা, পুরানো TLS 1.0/1.1 প্রোটোকল ব্যবহার — এই সমস্ত সমস্যা আক্রমণকারীকে Man-in-the-Middle আক্রমণের মাধ্যমে ট্র্যাফিক আটকাতে অনুমতি দেয়। পরিস্থিতি বিশেষত বিপজ্জনক যখন অ্যাপ্লিকেশনটি একটি অরক্ষিত চ্যানেলের মাধ্যমে সংবেদনশীল ডেটা (ব্যাংকিং লেনদেন, চিকিৎসা তথ্য) নিয়ে কাজ করে। 2023 সালে, NCC গ্রুপের গবেষকরা দেখেছেন যে 12% জনপ্রিয় আর্থিক অ্যাপ্লিকেশন ভুল TLS কনফিগারেশন ব্যবহার করে। সুপারিশ: Certificate Pinning সহ HTTPS-এর বাধ্যতামূলক ব্যবহার এবং প্রোডাকশন বিল্ডে HTTP প্রত্যাখ্যান।
OWASP পদ্ধতি ব্যবহার করে মোবাইল অ্যাপ্লিকেশনের নিরাপত্তা পরীক্ষায় বেশ কয়েকটি ধাপ অন্তর্ভুক্ত রয়েছে: স্ট্যাটিক কোড বিশ্লেষণ (SAST), ডায়নামিক বিশ্লেষণ (DAST) এবং ম্যানুয়াল পরীক্ষা (পেন্টেস্ট)। প্রতিটি ধাপ Mobile Top 10 থেকে নির্দিষ্ট দুর্বলতা বিভাগ সনাক্তকরণের লক্ষ্যে কাজ করে।
স্বয়ংক্রিয় বিশ্লেষণের জন্য, OWASP MobSF (Mobile Security Framework) — একটি ওপেন-সোর্স টুল — ব্যবহারের সুপারিশ করে। MobSF সোর্স কোড এবং বাইনারি ফাইলের স্ট্যাটিক বিশ্লেষণ করে, ম্যানিফেস্ট কনফিগারেশন পরীক্ষা করে, অনুমতি বিশ্লেষণ করে এবং Mobile Top 10 থেকে দুর্বলতা সনাক্ত করে। ডায়নামিক বিশ্লেষণের জন্য Burp Suite (ট্র্যাফিক ইন্টারসেপশনের জন্য প্রক্সি) এবং Frida (রানটাইম বিশ্লেষণ টুল) ব্যবহার করা হয়। এই সরঞ্জামগুলির সংমিশ্রণ তালিকার 80% এর বেশি বিভাগ কভার করে। MobSF-এর সাথে CI/CD পাইপলাইনে নিয়মিত পরীক্ষা প্রাথমিক উন্নয়ন পর্যায়ে দুর্বলতা সনাক্ত করতে দেয় এবং সেগুলি ঠিক করার খরচ 60–70% কমায়। পাইপলাইনে SAST এবং DAST সরঞ্জামগুলির একীকরণ Gradle/Maven প্লাগইন বা iOS বিল্ডে Fastlane ধাপের মাধ্যমে স্বয়ংক্রিয় হওয়া উচিত।
MobSF চালানোর পরে, ডেভেলপার রঙ নির্দেশক সহ একটি রিপোর্ট পায়: লাল — গুরুতর দুর্বলতা, কমলা — মাঝারি ঝুঁকি, হলুদ — কম ঝুঁকি। প্রতিটি সতর্কতায় সংশ্লিষ্ট OWASP Mobile Top 10 বিভাগ, সমস্যার বিবরণ এবং সংশোধনের সুপারিশের একটি রেফারেন্স থাকে। শুধুমাত্র লাল সতর্কতা দূর করাই নয়, কমলাগুলি বিশ্লেষণ করাও গুরুত্বপূর্ণ: তাদের অনেকগুলি (উদাহরণস্বরূপ, সুরক্ষা ছাড়া রপ্তানি করা Activities) একত্রিত হয়ে আক্রমণকারীকে একটি আক্রমণ ভেক্টর দিতে পারে। প্রতিটি রিলিজের আগে শূন্য লাল সতর্কতা এবং 2–3টির বেশি কমলা সতর্কতা না থাকার সুপারিশ করা হয়। MobSF রিপোর্টে অ্যাপ্লিকেশন অনুমতির বিশ্লেষণও অন্তর্ভুক্ত রয়েছে: কোনো অত্যধিক অনুমতি (উদাহরণস্বরূপ, ক্যালকুলেটরে ক্যামেরা অ্যাক্সেস) ন্যূনতম বিশেষাধিকারের নীতি লঙ্ঘন হিসেবে চিহ্নিত করা হয় এবং ম্যানিফেস্ট থেকে সরানো উচিত। iOS অ্যাপ্লিকেশনের জন্য, MobSF .ipa ফাইলগুলির অনুরূপ বিশ্লেষণ করে, যার মধ্যে ATS ব্যতিক্রমগুলির জন্য Info.plist পরীক্ষা এবং NSAllowsArbitraryLoads-এর মতো অনিরাপদ API-র জন্য Mach-O বাইনারি বিশ্লেষণ অন্তর্ভুক্ত রয়েছে।
OWASP Mobile Top 10 থেকে দুর্বলতা সনাক্ত করতে MobSF ব্যবহার করে একটি Android অ্যাপ্লিকেশনের স্ট্যাটিক বিশ্লেষণের একটি উদাহরণ বিবেচনা করা যাক। কোডটি একটি সাধারণ ভুল দেখায় — SharedPreferences-এ টোকেনের অনিরাপদ স্টোরেজ।
class InsecureStorage {
private val prefs = context.getSharedPreferences("my_app", Context.MODE_PRIVATE)
fun saveToken(token: String) {
prefs.edit().putString("auth_token", token).apply()
}
fun getToken(): String? {
return prefs.getString("auth_token", null)
}
}
MobSF এই ধরনের কোড বিশ্লেষণ করার সময় অনিরাপদ ডেটা স্টোরেজ (বিভাগ M2 — Insecure Data Storage) সম্পর্কে একটি সতর্কতা জারি করবে। সংশোধিত সংস্করণ AndroidX Security লাইব্রেরি থেকে EncryptedSharedPreferences ব্যবহার করে। স্টোরেজ স্তরে ডেটা এনক্রিপশনের সঠিক বাস্তবায়ন OWASP সুপারিশ মেনে চলে এবং ডিভাইসে শারীরিক অ্যাক্সেসের সময় টোকেন ফাঁস প্রতিরোধ করে। EncryptedSharedPreferences বাস্তবায়নের পরে, দুর্বলতা সমাধান হয়ে যায়, যেমনটি MobSF রিপোর্টে সংশ্লিষ্ট সতর্কতার অনুপস্থিতি দ্বারা প্রমাণিত হয়।
class SecureStorage(context: Context) {
private val masterKey = MasterKey.Builder(context)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
private val securePrefs = EncryptedSharedPreferences.create(
context,
"secure_prefs",
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
fun saveToken(token: String) {
securePrefs.edit().putString("auth_token", token).apply()
}
}
সচরাচর জিজ্ঞাসিত প্রশ্ন
OWASP Mobile Top 10 হল দশটি সবচেয়ে বিপজ্জনক দুর্বলতার একটি তালিকা যা মোবাইল অ্যাপ্লিকেশনে সবচেয়ে বেশি পাওয়া যায়। নথিটি ডেভেলপারদের বুঝতে সাহায্য করে যে নিরাপদ অ্যাপ্লিকেশন তৈরি করার সময় কী মনোযোগ দিতে হবে।
তালিকাটি প্রায় প্রতি 2–4 বছরে আপডেট হয়। সর্বশেষ সংস্করণ 2024 সালে প্রকাশিত হয়েছিল। আপডেটগুলি মোবাইল প্ল্যাটফর্মের পরিবর্তন, নতুন API-র আবির্ভাব এবং আক্রমণের পদ্ধতির বিবর্তন বিবেচনা করে।
Mobile Top 10 মোবাইল প্ল্যাটফর্মের বিশেষত্ব বিবেচনা করে: স্থানীয় ডেটা স্টোরেজ, সেন্সরের সাথে কাজ, Android Intent সিস্টেম, অফলাইন মোড এবং অ্যাপ স্টোর প্রকাশনার বৈশিষ্ট্য, যা ওয়েব সংস্করণে অনুপস্থিত।
OWASP Foundation পরিসংখ্যান অনুসারে, সবচেয়ে সাধারণ হল M2 — Insecure Data Storage। এটি সব বিভাগের 60% এর বেশি পরীক্ষিত মোবাইল অ্যাপ্লিকেশনে পাওয়া যায়।
MobSF — একটি বিনামূল্যের স্ট্যাটিক বিশ্লেষণ টool — ইনস্টল করে শুরু করুন। অ্যাপ্লিকেশনের APK বা সোর্স কোড আপলোড করুন, এবং MobSF স্বয়ংক্রিয়ভাবে দেখাবে প্রকল্পে Mobile Top 10-এর কোন বিভাগগুলি উপস্থিত রয়েছে।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন