اخبار داخلی آرمان داده پویان

مقالات

تفاوت میان آسیب‌‌پذیری‌های منطقی و فنی

تفاوت میان آسیب‌‌پذیری‌های منطقی و فنی

در برنامه‌های کاربردی وب‌بنیان

آسیبپذیری برنامههای کاربردی را میتوان به دو دستهی کلی تقسیم نمود: آسیبپذیریهای منطقی و آسیبپذیریهای فنی. در آسیبپذیریهای فنی، مهاجم از اشتباهاتی که در کدهای برنامه پیدا مینماید، استفاده میکند. به طور مثال اشتباهاتی که به او اجازه میدهد تا کدهای مخربی که مد نظرش است را تزریق نماید. در آسیبپذیریهای منطقی، مهاجم خطاهایی که در نحوهی تصمیمگیری برنامهی کاربردی قرار دارد را مورد استفاده قرار میدهد. به عنوان مثال، برنامهی کاربردی که مجوز(permission)  کاربران را به درستی بررسی نمینماید دارای خطای منطقی است که میتواند توسط یک مهاجم مورد سوءاستفاده قرار گیرد.

اکسپلویت کیت Hunter

بنابراین، آسیبپذیریهای فنی به راحتی میتوانند توسط ابزار مربوطه بررسی شوند. دو آسیبپذیری برنامههای کاربردی تحت وب که به صورت گستردهای توسط مهاجمان مورد سو استفاده قرار میگیرد عبارت است از: تزریق SQL و Cross-Site scripting. این آسیبپذیریها در دستهی فنی طبقهبندی میگردند چون نتیجهی بهره برداری از آنها همیشه یکسان است.

خروجی بهرهبرداری از آسیبپذیریهای فنی همیشه قابل پیشبینی است. با اینکه از تزریق SQL و یا XSS در مدلهای مختلفی می‌توان بهرهبرداری کرد، اما نتیجهی نهایی آنها یکسان میباشد. مهاجم سعی مینماید کدهای مخربی را به پارامترهای سایت تزریق نماید و با مشاهدهی نتیجه تعیین نماید آیا آسیبپذیری وجود دارد یا خیر. در نتیجه تشخیص خودکار این آسیبپذیریها کار مشکلی برای پویشگرهای آسیب‌پذیری نمی‌باشد.

مانند آسیبپذیریهای فنی، آسیبپذیریهای منطقی هم مدلهای مختلفی دارند. مثالهایی از این آسیبپذیریها را در زیر مشاهده مینمایید.

 کنترل دسترسی

کنترل دسترسی یکی از آسیبپذیریهای منطقی متداول میباشد. در یک برنامهی کاربردی تحت وب حسابداری کاربران متفاوتی داریم. به عنوان مثال کاربرانی که مدیر مالی بوده و بایستی دسترسی به تمامی موارد داشته باشند در حالی که برخی تنها کارمند حسابداری هستند و به سطح دسترسی کامل نیازی ندارند. حال اگر در طراحی این برنامه خطایی وجود داشته باشد که به موجب آن کارمند حسابداری بتواند رکوردهای مالی دپارتمانهای دیگر را مشاهد کند، چه؟ یک ابزار خودکار نمیتواند این خطاها را تشخیص دهد چون اهمیت این اطلاعات را درک نمیکند.

در تئوری، شما میتوانید یک پویشگر آسیبپذیری را به گونهای پیکرهبندی نمایید که خطاهایی که شما مد نظرتان است را بیابد. اما در عمل این کار چندان جالب نیست چون بعد از ساعتها پویشگر فهرست محدودی از آسیبپذیریها به شما ارائه میدهد که ممکن است برای شما چندان پرارزش هم نباشند.

تشخیص آسیبپذیریهای منطقی

برعکس مسائل امنیتی مربوط به کنترل دسترسی، گونههای متفاوت دیگری در ارتباط با آسیبپذیریهای منطقی وجود دارد که آنها را نمیتوان در یک دستهبندی قرار داد. به عنوان مثال، شما میخواهید یک جفت کفش بخرید و متوجه میشوید در این برنامه مقادیری در URL برگردانده میشود

http://www.example.com/store/order.asp?itemid=4&price=50

چه اتفاقی خواهد افتاد اگر بتوانید قیمتها را تغییر دهید؟ آیا باز هم وبسایب این درخواست را قبول مینماید؟ اگر یک چنین اتفاقی بیفتد یعنی منطق سایت دچار مشکل است و یک مهاجم با تشخیص این مطلب میتواند سواستفاده نماید. اما این موضوع تغییر قیمت را یک انسان تشخیص میدهد نه یک پویشگر.

در تست نفوذ هم آسیب‌پذیری منطقی و هم فنی را ببینید

در بسیاری از موارد، آسیبپذیریهای منطقی تنها توسط متخصصان امنیتی که هم آشنا به برنامههای کاربردی تحت وب هستند و هم آشنا به نحوهی عملکرد تجاری برنامهی مورد نظر میباشند میتوانند تشخیص داده شوند.

پس آشنایی هر چه بیشتر با برنامهی کاربردی مورد نظر یکی از الزامات است زیرا هر چقدر هم که یک نفر به لحاظ فنی متخصص باشد در صورتی که با نحوهی عملکرد برنامهی کاربردی آشنا نباشد نمیتواند خطاهای منطقی برنامه رابیابد.

پس نتیجه میگیریم در بررسی یک برنامهی کاربردی وببنیان، بررسی انواع آسیبپذیریها اهمیت دارد. هم آسیبپذیریهای فنی که عمدتا توسط پویشگرها و به صورت خودکار یافت میشوند و هم آسیبپذیریهای منطقی که در واقع یافتن آنها هنر فرد نفوذگر به حساب میآید. در نتیجه به عنوان یک متخصص تست نفوذ سعی نمایید از ابزارهای پویش آسیبپذیری خودکاری استفاده نمایید که سریع هستند در نتیجه وقت کافی برای یافتن آسیبپذیریهای منطقی نیز خواهید داشت.  

شرکت آرمان داده پویان با تکیه بر کارشناسان کارآزموده و متخصص در زمینه‌های سنجش آسیب‌پذیری (تست نفوذ) و ارزیابی امنیتی، امنیت، برنامه‌نویسی و شبکه و همچنین با پیروی از متدولوژی‌ها و استانداردهای مطرح این زمینه، می‌تواند خدمات ارزشمندی را به سازمان شما ارائه دهد.

تعداد بازدید: 111


تازه ترین ها