pust-puff و pentest



النهج الحديث لأمن



المعلومات أحب أمن المعلومات. من ناحية ، غالبًا ما يتطلب العمل التجاري طرح نماذج أولية نصف مخبوزة ، يتم نشرها مرة واحدة في الساعة. من ناحية أخرى ، فهي المعقل القاسي وغير القابل للاقتراب لضباط أمن المعلومات. كل شيء يعتمد عليهم. وحتى التطورات في مجال إنترنت الأشياء ، حيث يعتبر S هو الأمان ، أصبحت أكثر موثوقية تحت إشرافهم.



القضية الرئيسية في تقدير حفرة قطرها منثقب عملية في المنتج الخاص بك هو الوقت. أريد أن أتحدث مرة أخرى قليلاً عن هرم الاختبار الكلاسيكي ، ولكن في سياق أمن المعلومات. وسأحاول أيضًا مشاركة تجربتي في تنظيم بناء عملية مريحة ، عندما لا ينتظر المطورون أسابيع للحصول على الموافقة من أمن المعلومات ، ولا يتألق البرنامج مع جميع نقاط الضعف المحتملة للعالم الخارجي.المفسد: يمكن طرحه بدون موافقة.



وقائمة. الجميع يحب القوائم. سأقدم مجموعتي الصغيرة من البرامج الضرورية ، والتي تضيء حياتي اليومية بشكل كبير.



إذا كان هناك شيء ممل ، فأنت بحاجة إلى الأتمتة





هرم الاختبار الكلاسيكي. في الجزء السفلي ، هناك العديد من اختبارات الوحدة التي تغطي جميع أنواع الأشياء الصغيرة ، مثل التأكد من عدم تعطل التطبيق إذا قام المستخدم بإدخال كلمة المرور الهندية. أو أرسل شيئًا آخر غريبًا. ثم كانت هناك سوابق مع "لُلُصّبُلُلصّبُررً ॣ ॣ h ॣ ॣ 冗" على iPhone ، إذا كنت تتذكر. يعد هذا النوع من الاختبارات أمرًا رائعًا لأتمتته ، ولكنه يغطي فقط الحالات الضيقة ، والتي غالبًا ما تفشل في إعطاء صورة كاملة والثقة بأن التطبيق لن يتدفق في مكان غير متوقع.



في الجزء العلوي ، إنه بالفعل اختبار يدوي تمامًا. بالإضافة إلى فحص الحالات القياسية ، يمكن أن يوفر "إبداعًا مجانيًا" ، عندما يتم تكليف أحد المتخصصين بمهمة كسر شيء ما بأي طريقة غريبة ترضيه. كما هو الحال دائمًا ، يؤدي هذا النوع من النهج الإبداعي إلى حقيقة أن هذا النوع من الاختبارات هو أيضًا الأكثر تكلفة. ليس فقط فيما يتعلق بالمال ، ولكن أيضًا من حيث وقت الوصول إلى السوق سيئ السمعة ، عندما تحتاج إلى طرح ميزات جديدة تمامًا - بالأمس - في - الاجتماع - التي وعدت بها بالفعل.



من المشاكل التقليدية التي تواجهها العديد من الشركات التنسيق الطويل والمحزن مع أمن المعلومات على كل بند. ليس لأنهم غاضبون للغاية وغير ودودين. إنها فقط أن مهمتهم هي تقليل المخاطر. لذا فهم يقللون قدر المستطاع ، ويوقفون في نفس الوقت نصف العمليات في عنق الزجاجة لعمليات التحقق الخاصة بهم. في الواقع في أوقات ما قبل السجن ، عندما كان بإمكانك تلميع الكود ببطء ، نجح هذا. والآن سيتم بالفعل إطلاق 47 نموذجًا أوليًا نصف مخبوز من المنافسين الذين لديهم مبرمجون قرد إلى الحل المصقول للإصدار الأول. و هذا كل شيء. لقد فقدت السوق بالفعل ، كل المستخدمين عالقون في Tick-Tock آخر.



خط أنابيب لكل شيء على التوالي



في الواقع ، غالبًا ما تكمن المشكلة في ضعف دمج عمليات أمن المعلومات في خطوط الأنابيب المألوفة بالفعل للمطورين. لسبب ما ، تكون كل دفعة مصحوبة بالعديد من الفحوصات من نفس القشرة 8 و mypy ، ويتم تجميعها في حزمة نفسها ، وتحميلها إلى حاوية GitLab runner وتطير بعيدًا اختبارًا في Artifactory. أو يفشل مرحلة ويعود للمراجعة.



وغالبًا ما يكون أمان المعلومات فقط تحت عدسة مكبرة بيديه في كل إصدار ، حيث يقلب الشفرة ويضع عصا في المنافذ المفتوحة للتطبيق. يبدو لي أن أحد أفضل الحلول هو نقل الجزء الرئيسي من الفحوصات الأمنية إلى عملية تلقائية ، والحد من الاختبار اليدوي في الوقت المناسب. يحتفظ IB بحق النقض إذا اكتشفوا ثغرة خطيرة ، ولكن بشكل افتراضي ينتقل التطبيق إلى الإنتاج إذا لم تكن هناك اعتراضات من جانبهم. يبدو الأمر مخيفًا للوهلة الأولى ، لكن مثل هذه البنية العملية تحفز على أتمتة جميع الإجراءات الروتينية قدر الإمكان وقضاء الوقت فقط في الأشياء المعقدة حقًا.



هذه الاختصارات مثل DevSecOps و TriCeraTops الأخرى تخيفني قليلاً ، لكن هذا هو بالضبط ما يحتاج في أغلب الأحيان إلى التنظيم لتقليل تكاليف الوقت. دعنا نلقي نظرة على مثال بيثون. من الجدير أن نبدأ بالنكام. أعتقد أن كل شخص تقريبًا قد ثمل في بعض المتغيرات من linters الأساسية مثل flake8 و mypy. ما زلت أوصي بالنسخة الموسعة من flake8 - wemake-python-styleguide.



يتم تثبيته وبدء تشغيله بشكل تقليدي:



pip install wemake-python-styleguide
flake8 your_module.py


المشكلة الرئيسية في هذا linter هو أنه يمكن أن يجعلك ترغب في كسر الشاشة بلوحة المفاتيح في البداية. خاصة في المشاريع القديمة القديمة ، من الأسهل الحرق بدلاً من الإصلاح. ومع ذلك ، إذا استبعدت عمليات التحقق غير الضرورية ، فستحصل على رقابة صارمة إلى حد ما على جودة الشفرة الأساسية.



بعد أن قمنا بفحص الكود نفسه بحثًا عن الإنشاءات الملتوية ، وقابلية القراءة الضعيفة ، والتعقيد السيكلومي العالي ، يجب علينا تشغيل لينتر الأمان الثابت. نعم ، في اللغات المكتوبة بشكل غير دقيق ، فإن هذه الحروف ليست جيدة ، لكنها تسمح لك بتحديد المشاكل النموذجية مثل كلمة المرور = 'qwerty123' في الكود. يمكنك استخدام نفس الماكينة هنا .



كل هذا يعمل بشكل رائع ، ولكن غالبًا ما تكون مشكلة الحلول المجانية في قواعد بيانات الثغرات الأمنية الأقل تحديثًا. في كثير من الأحيان يكون من المنطقي إضافة شيء آخر مثلالأمان .



صورة






عادةً ما تتكامل خيارات الخروج المماثلة للمصدر بشكل مثالي مع نفس GitLab للشركة.

ومع ذلك ، هناك عادةً مخرجات إعلامية لطيفة لوحدة التحكم:



safety check --full-report





من الناحية المثالية ، بعد كل عمليات التلاعب ، يجب أن يكون لديك خط أنابيب كامل ، حيث تتحقق خطوة بخطوة من جميع متطلبات الأمان لتطبيقك.



صورة






عمليات التحقق النموذجية من المصدر :



git secret check - تحقق من عدم وجود أسرار مفتوحة في كود

SCA - تحقق من أن التبعيات والمكتبات الخارجية خالية من الثغرات الأمنية. من المهم إذا كنت تقوم بتجميد الإصدار القديم من مكتبة

SAST - تحليل الكود الثابت للثغرات الأمنية.

تدقيق الحاوية - تدقيق صورة الحاوية التي سيتم استخدامها للنشر. هم أيضًا غالبًا ما يكونون مليئين بالثغرات. خاصة إذا كنت تستخدم شطائر غريبة من العديد من الطبقات المتنوعة.

DAST - نشر التطبيق والتسجيل وتسجيل الدخول كمستخدم شرعي وتنفيذ هجمات نموذجية على الواجهة الأمامية



ما تبقى لأمن المعلومات



الآن بعد أن أفرغنا الكائنات الحية البشرية غير المفيدة من العمل الروتيني ، يمكننا نقل تلك المهام التي تتطلب نهجًا إبداعيًا حقًا.



ستكون هناك ترسانة دائمة من أدوات التحليل واختبار الشبكة وتخمين كلمة المرور. لم يتم إيقاف خدمات Wireshark و hashcat و Hydra وغيرها من المرافق.



ولكن حتى بين الأدوات المألوفة ، يظهر شيء جديد وأحيانًا مفيد جدًا. سأقترح الانتباه إلى بعض منهم.



نيكتو 2



github.com/sullo/nikto

Nikto هو مفتوح المصدر خادم الويب الماسح الضوئي. إنه ليس هادئًا على الإطلاق. على محمل الجد ، إذا قمت بإطلاقه من مكان عملك ولمدة 15 دقيقة ما زلت لا تستلقي على وجهك على الأرض محاطًا بأفراد الأمن ، فأنت تواجه مشاكل في اكتشاف التسلل.



يقوم البرنامج بإجراء اختبارات معقدة على خوادم الويب للعديد من العناصر ، بما في ذلك أكثر من 6700 ملف / برنامج يحتمل أن تكون خطرة. كما يتحقق أيضًا من عناصر تكوين الخادم مثل إعدادات خادم HTTP ويحاول تحديد خوادم وبرامج الويب المثبتة. يتم تحديث عناصر المسح الضوئي والمكونات الإضافية بشكل متكرر وقد يتم تحديثها تلقائيًا.



فوزدب



إنها أيضًا أداة رائعة جدًا للهجوم الآلي على تطبيقات الويب باستخدام أنماط ونقاط ضعف نموذجية. سوف يقصف التطبيق الخاص بك بمجموعة من الهجمات القياسية وفي نفس الوقت يتحقق مما إذا كنت قد نسيت تغطية الوصول إلى لوحة الإدارة وملفات السجل بحقوق منخفضة. يتيح لك تخفيف الكثير من الصداع والفحوصات الروتينية.



Nmap + Vulners





Vulners عبارة عن مجمع لجميع أنواع CVEs ، ونشرات أمان البائعين ، وعمليات الاستغلال في Metasploit ، وببساطة نتيجة اكتشاف الثغرات يدويًا في المنتديات المواضيعية. في الأساس ، يوفرون واجهة برمجة تطبيقات للاستعلام عن قاعدة البيانات الخاصة بهم. لقد كنت ببساطة مفتونًا بالمكون الإضافي الخاص بهم لـ nmap المعروف ، والذي يمنح على الفور معجبًا بنواقل الهجوم الجاهزة لخدمة الويب. أوصي بشدة بإلقاء نظرة فاحصة.



شيء من هذا القبيل الإخراج





الموت للبشر - المجد للروبوتات!



لكن بجدية ، حاول تقليل الروتين إلى الحد الأدنى ونقله إلى الشخص الذي يجب أن يفعل ذلك حقًا - البرامج النصية وخطوط الأنابيب الخالية من الروح. ودع الناس يشاركون في الإبداع. هذا أصح.










All Articles