تبليغاتX
Softwaring

Softwaring

Software Engineering, Process and Management

25 خطای خطرناک در نرم افزار

در وبلاگ آقای مهندس مهرداد مطلب جالبی درج شده بود در مورد تحقیقی صورت گرفته در رابطه با ۲۵ خطای خطرناک و شایع در نرم افزارها که بسیاری از تیم های برنامه سازی مرتکب آن می شوند. خواندن آنرا به همه دوستان نرم افزارچی(!) توصیه می کنم:

The Top 25 Errors are listed below in three categories:
Category: Insecure Interaction Between Components (9 errors)
Category: Risky Resource Management (9 errors)
Category: Porous Defenses (7 errors)

CATEGORY: Insecure Interaction Between Components
CWE-20: Improper Input Validation
CWE-116: Improper Encoding or Escaping of Output
CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')
CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site Scripting')
CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command Injection')
CWE-319: Cleartext Transmission of Sensitive Information
CWE-352: Cross-Site Request Forgery (CSRF)
CWE-362: Race Condition
CWE-209: Error Message Information Leak
CATEGORY: Risky Resource Management
CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer
CWE-642: External Control of Critical State Data
CWE-73: External Control of File Name or Path
CWE-426: Untrusted Search Path
CWE-94: Failure to Control Generation of Code (aka 'Code Injection')
CWE-494: Download of Code Without Integrity Check
CWE-404: Improper Resource Shutdown or Release
CWE-665: Improper Initialization
CWE-682: Incorrect Calculation
CATEGORY: Porous Defenses
CWE-285: Improper Access Control (Authorization)
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
CWE-259: Hard-Coded Password
CWE-732: Insecure Permission Assignment for Critical Resource
CWE-330: Use of Insufficiently Random Values
CWE-250: Execution with Unnecessary Privileges
CWE-602: Client-Side Enforcement of Server-Side Security

برای مشاهده اصل گزارش اینجا را کلیک کنید.

+ نوشته شده در  پنجشنبه 26 دی1387ساعت 8:27  توسط علی نوبر  | 

مهندسی اجتماعی

در باب رعایت امنیت سیستم های نرم افزاری جنبه های مختلفی وجود دارد که شاید یکی از جالبترین آنها که کمتر نیز به آن پرداخته میشود مبحث "مهندسی اجتماعی" یا Social Engineering باشد. طبق تعریف Wikipedia از Social Engineering: مهندسی اجتماعی، فن به کار گیری مردم برای افشای اطلاعات محرمانه است.

کلیه تکنیکهای مهندسی اجتماعی مبتنی بر ویژگیهای تصمیم گیری انسان است که تحت عنوان Cognitive Biasesبه معنی الگویی از انحراف در قضاوت که در موقعیتهای خاصی بروز میکند شناخته میشود. این تصمیم گیریهای غلط را گاهی "اشکال در سخت افزار انسان" گویند. جالب اینجاست که به قول Kevin Mitnick که یکی از مشهورترین متقلبین در این زمینه است: "این روش بسیار ساده تر از نفوذ به سیستم کاربران از راه روشهای متداول Hacking است".

برخی از این تکنیکها به شرح زیر است:

Pretexting: روشی است برای دریافت اطلاعات بر اساس سناریوی از پیش طرح شده ای که معمولا با مطالعه قبلی در مورد قربانی همراه است که این روش عموما از راه تلفن انجام میشود. امروزه به دلیل عدم توانایی ردیابی آسان سیستمهای VOIP، استفاده از این تکنیک آسانتر شده است.

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

Road Apple: تکنیکی که با سواستفاده از کنجکاوی افراد آنها را قربانی مقاصد خود میسازند. در این روش معمولا یک مدیوم فیزیکی مانند یک CD یا Cool Disk با عنوانی اغوا کننده درج شده روی آن مانند "لیست حقوق مدیر عامل" را در سر راه افراد – مثلا در آسانسور یا راه پله – قرار میدهند. این مدیوم حاوی برنامه ای برای ارسال اطلاعات از روی دستگاه میزبان به هکر بوده که به راحتی توسط قربانی در سیستم شخصی خود قرار داده میشود.

این روزها با گسترش روشهای تراکنش الکترونیکی مالی نظیر Internet Payment، Mobile Payment و ... و عدم گسترش فرهنگ رعایت ملاحظات امنیتی آن انتظار میرود این روشهای سرقت اطلاعات بیش از پیش گسترش پیدا کند (به خاطر بیاوریم که هنگام دریافت پول از خودپردازها همیشه چندین جفت چشم مراقب هستند که خدای ناکرده در  فرآیند دریافت پول از دستگاه دچار اشتباه نشویم!)

+ نوشته شده در  شنبه 25 خرداد1387ساعت 17:12  توسط علی نوبر  |