ژوئن 14, 2019 توسط sobhan 0

امنیت زبان برنامه نویسی پایتون Payton

تمام زبان های برنامه نویسی دارای ریسک ها و ضعف های امنیتی هستند که اکثراً از موارد زیر ناشی می شوند:

  • اشکال در فرآیند طراحی و توسعه نرم افزار/برنامه
  • ضعف یا باگ در الگوریتم یا بستر برنامه
  • ضعف یا تروجان در ابزارهای توسعه
  • عدم رعایت الزامات حفاظتی پیرامونی
  • تروجان های نرم افزاری

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

تهدیدات امنیتی با ریسک بالا در زبان برنامه نویسی پایتون:

علاوه بر تهدیدات امنیتی SQL Injections ، XSS و Cross Site Request Forgery که اکثر زبان های برنامه نویسی را تهدید می کنند، برنامه های کاربردی مبتنی بر پایتون با تهدیدات زیر نیز مواجه هستند:

  • LDAP Injections: پروتکل دستیابی آسان فهرست دیتابیس LDAP یک پروتکل خدمات دایرکتوری فروشندگی باز است که در لایه بالای TCP/IP اجرا می شود. این پروتکل مکانیزم مناسبی برای دسترسی و تغییر دایرکتوری اطلاعات فراهم می سازد (مانند اپلیکیشن هایی که از اینترانت و اینترنت استفاده می کنند). تزریق LDAP  برای بهره برداری از برنامه های کاربردی آسیب پذیر وب که در مقابل ورودی های مخرب مقاوم نیستند مورد سوء استفاده قرار می گیرد.
  • Command Injections: حملات تزریق دستورات S  هنگامی رخ می دهد که هکر تلاش می کند دستورات در سطح سیستم را از طریق یک برنامه وب آسیب پذیر اجرا کند. این تزریقات به سرور/نرم افزار بسیار مؤثر بوده و  به هکرها کمک می کند تا از دسترسی مدیر ها بدور بوده و بتوانند دستورات OS مخرب را اجرا نمایند. درست مانند تزریقات SQL، تزریق دستورات سیستم عامل می تواند کور یا مبتنی بر خطا باشد. متا-کاراکترها (&، |، /؛) معمولا برای ادغام فرمان ها و ایجاد تزریقات فرامین OS مخرب استفاده می شوند که می توانند برای سوء استفاده از برنامه های آسیب پذیر استفاده شوند. به منظور جلوگیری از این نوع حملات، در حالت ایده آل، توسعه دهنده باید از API های موجود در زبان های برنامه نویسی مربوطه استفاده کند. اما اگر از لحاظ فنی حذف فرمان های مخرب امکان پذیر نباشد، بهترین راه برای محافظت در برابر این حمله این است که فقط رشته های استاتیک از پیش تعیین شده ای قابل انتخاب باشند.
  • XPath Injections: یکی از تکنولوژی‌های مهم در XML، تکنولوژی XPATH  است که به‌عنوان زبانی برای آدرس‌دهی به بخش‌های مختلف یک سند XML استفاده می‌شود. یکی از شناخته‌شده‌ترین نوع حملات به داده‌های ذخیره‌شده در قالب XML تزریق XPATH است. در این نوع حملات اگر داده‌های ذخیره‌شده در قالب XML به‌درستی در مقابل ورودی اطلاعات کاربران فیلتر نشده باشد، این حملات امکان پذیر می شود. حملات تزریق XPATH به دو روش انجام می شود:1- حملات تزریقXPATH، در این نوع حملات، هکر در وب‌سایت‌هایی که کاربر می تواند داده‌های خود را در برنامه‌های کاربردی وب به‌منظور اجرای کوئری های XPATH وارد نماید، سوءاستفاده مب کند. در این نوع حمله، مهاجم ممکن است قادر به دور زدن احراز هویت بوده و به اطلاعات بدون نیاز به مجوزهای لازم دسترسی یابد.2- حملات تزریق XPATH کور، در این نوع حملات، به هکری که ساختار XML یک سند را نمی‌داند، اجازه داده می‌شود که با استفاده از متدها و روش‌های مختلف ساختار سند را بیابد.

ابزارها و اسکنرهای ارزیابی امنیت پایتون:

برخی از ابزارهای متداول در بررسی امنیتی و کشف آسیب پذیری های برنامه های مبتنی بر زبان پایتون عبارتند از:

  • ابزار تحلیل استاتیک Python Taint: بررسی حملات XSS و SQLI و رفع آسیب پذیری ها
  • ابزار اسکن سایت Tinfoil Security: یافتن حفره های امنیتی موجود در وب سرور و برنامه و ارائه راهکار برای رفع آنها
  • تحلیل استاتیک مبتنی بر AST به نام Bandit: شناسایی ریسک ها
  • ابزار تحلیل کد ایستای Pyntch: تشخیص خطاهای موجود در زمان اجرای برنامه
  • پویشگر امنیتیSpaghetti: اجرای حملات بر روی فریم ورک ها، قابلیت تشخیص فایل‌های پیش‌فرض، پیکربندی‌های اشتباه و فایل‌های ناامن، تشخیص حملاتی همچون پنل ادمین، امنیت کوکی، فاش‌سازی اطلاعات حساس، تزریق SQL و بسیاری از حملات دیگر

ابزار‌های بررسی ناهنجاری‌های امنیتی (RATS):

این ابزار‌ها با اسکن کد برنامه خطاهای مرتبط با امنیت را بررسی می کنند. این ابزار ها برای تشخیص آسیب‌پذیری‌ها و ضعف‌های امنیتی به متخصصین امنیت کمک می کنند.

  • موتور تشخیص باگ ویندوزی پایتون PyDbgEng: انجام دیباگینگ در حالت‌های user-mode و kernel-mode با استفاده از نقاط توقف، انجام عملیاتی نظیر تزریق خطا، فازینگ و باز نمودن خودکار فایل‌های اجرایی
  • ابزار python-ptrace: این ابزار دیباگ متن باز به عنوان یک دنبال کننده عمل کرده و درخواست‌های سیستم را در سیستم‌عامل‌های مختلف در دست می‌گیرد.
  • ابزار دیباگ برای تحلیل بدافزار و اکسپلویت با نام vdb/vtrace: برای تحلیل پویا به کار می‌رود و یک پلت‌فرم برای تحلیل فریم‌ورک‌های پایتون ارایه می‌دهد.
  • ابزار تست نفوذ پایتون Immunity Debuggr: از اسکریپت‌های پایتون استفاده می‌ کند و دارای یک رابط گرافیکی و محیط خط فرمان است.
  • ابزار  CxSAST برای ارزیابی امنیت برنامه های مبتنی بر پایتون:

تحلیلگر CxSAST برنامه های مبتنی بر پایتون را تحت آزمون های مختلف قرار داده و امنیت آنها را ارزیابی می کند و ادعا می شود که در طول زمان باعث بلوغ امنیتی سازمان نیز خواهد شد. CxSAST با اکثر ابزارهایی که توسعه دهندگان استفاده می کنند در هر مرحله از SDLC کار می کند. ویژگی های CxSAST از جمله شناسایی محل وقوع رخداد و اسکن کد افزایشی، آن را به ابزاری ایده آل برای توسعه پیوسته (CICD) تبدیل کرده است. هنگامی که آسیب پذیری در کد پایتون شناسایی شود، CxSAST نه تنها بهترین مکان رخداد و عملیات را شناسایی می کند بلکه با ارائه منابعی به توسعه دهندگان، مدل حمله و راهکارهای مقابله با آن را برای جلوگیری از حملات آتی تفهیم می کند. از جمله مشخصات CxSAST عبارتند از:

  • سهولت در اتوماسیون
  • بینش عملی: اطلاعات را با استفاده از الگوریتم های آموزش انطباقی بصورت هوشمند استخراج کرده و با پردازش همبستگی ها و قوانین کاربری نتایجی سریع، دقیق و قابل بکارگیری ارائه می کند.
  • مدریت ریسک در مقیاس: اجبار تیم به تعریف و بکارگیری سیاست های امنیتی برنامه ها، اجبار این سیاست ها به تبعیت از فرآیند ابزارها و مدیریت اقدامات از طریق پشتیبانی IT
  • مشخص کردن دقیق تحلیل: CxSAST نرم افزارهای شما را درک می کند و ارتباط اطلاعات را در یک اپلیکیشن می داند. الگوریتم “Best Fix Location”  بطور خودکار بهترین مکان کنترل رخداد را نشان داده و برای توسعه دهندگان این امکان را فراهم می کند که به برطرف سازی چندین آسیب پذیری تنها با تمرکز بر روی یک نقطه واحد در کد اقدام نمایند.
  • یافتن سریع آسیب پذیری ها: متفاوت با برخی از ابزارهای تحلیل استاتیک، CxSAST کد کمپایل نشده را اسکن می کند و به یک نسخه راه اندازی شده نیازی ندارد. به پیکره بندی وابسته نبوده و هنگام تغییر زبان برنامه نویسی به اقدام خاصی نیاز نیست. با قابلیت کار در بطن IDE توسعه دهنده ها، به سازمان ها کمک می کند که هنگامی زمان بر بودن و هزینه زیاد رفع خطاهای کد در طول چرخه عمر توسعه نرم افزار از CxSAST استفاده کنند.
  • ریشه یابی: با CxSAST می توان دلیل و اثبات تمام نتایج اسکن را به منظور ریشه یابی آسیب پذیری ها مشاهده کرد.
  • متقابل با سایر تولیدات Checkmarx: ابزار CxSAST در بطن تمام نرم افزارهای checkmarx قرار دارد که باعث جامع بودن خدمات می شود.

امنیت سایبری با پایتون: زبان برنامه نویسی payton یکی از زبان های پر استفاده در حوزه امنیت سایبری است. در برخی مراجع گفته میشود از جمله زبان های برنامه نویسی مهم در حوزه امنیت سایبری به ترتیب عبارتند از:

  • C و ++C
  • Payton
  • JavaScript
  • PHP
  • SQL

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

C و ++C زبان های برنامه نویسی سطح پایین هستند که حرفه ای های امنیت بایستی آن را بدانند. این دو زبان دسترسی به زیرساخت های فناوری اطلاعات مانند رم و مجموعه پردازش سیستم را فراهم می کنند، که اگر به خوبی از این زیرساخت ها محافظت نشود به راحتی مورد سوء استفاده هکرها قرار خواهند گرفت. میتوان گفت زبان برنامه نویسی C ستون فقرات اکثر سیستم عامل است. این زبان جمع و جور، انعطاف پذیر و کارآمد است که می تواند برای طیف وسیعی از کارها مانند رمزنگاری، پردازش تصویر و شبکه مورد استفاده قرار گیرد. اساسا ++C به عنوان برادر بزرگتر C شناخته می شود! که با crack، meth و استروئیدها ترکیب شده است. ++C یک زبان خارق العاده است که عمدتا مبتنی بر منبع کدنویسی C است. برنامه های امنیتی سایبری مبتنی بر ++C گوناگونی وجود دارد. به عنوان مثال Nmap، ابزار نقشه برداری شبکه، با استفاده از ++C ایجاد می شوند.
PHP به عنوان زبان برنامه نویسی سمت سرور برای توسعه وب سایت ها شناخته می شود. از آنجا که بسیاری از وب سایت ها با استفاده از پی اچ پی ایجاد می شوند، یادگیری این زبان برای مقابله با هکر ها توصیه می شود. بعنوان مثال، حملات DDoS وب سایت را از دسترس کاربران خارج می کند. لذا با داشتن مهارت برنامه نویسی به همراه استفاده از مثلاً جاوا اسکریپت، میتوان راه حل های قوی برای محافظت از وب داشت.

SQL بیشتر به منظور مدیریت اطلاعات ذخیره شده در پایگاه داده ها بکار می رود. با توجه به گسترش بسیار زیاد سیستم های ذخیره سازی داده ها، SQL به طور گسترده ای برای نگهداری و بازیابی داده ها مورد استفاده قرار می گیرد. در سمت مقابل، هکرها به طور فزاینده ای برای آسیب زدن یا به سرقت بردن اطلاعات ذخیره شده از این زبان و زبان های دیگر سوء استفاده می کنند. به عنوان مثال، حملات تزریق SQL استفاده از آسیب پذیری های SQL برای سرقت و یا تغییر داده های پایگاه داده می باشد. بنابراین، داشتن یک درک خوب از زبان SQL در حرفه امنیت سایبری ضروری خواهد بود.

اگر تحقیق فوق برایتان مفید بود از سکیوریتی هلپر حمایت کنید:

از ما حمایت کنید