أمان منصة برمجيات جافا
توفر منصة برمجيات جافا العديد من الميزات المصممة لتحسين أمان تطبيقات جافا. يشمل ذلك فرض قيود وقت التشغيل باستخدام آلة جافا الافتراضية (JVM)، ومدير أمان يعزل التعليمات البرمجية غير الموثوقة عن باقي نظام التشغيل، ومجموعة من واجهات برمجة التطبيقات الأمنية التي يمكن لمطوري جافا استخدامها. مع ذلك، وُجهت انتقادات للغة البرمجة ولشركة أوراكل، بسبب ازدياد البرامج الخبيثة التي كشفت عن ثغرات أمنية في JVM، والتي لم تعالجها أوراكل بشكل صحيح وفي الوقت المناسب.
ميزات الأمان
JVM
لا يُمثل الشكل الثنائي للبرامج التي تعمل على منصة جافا شفرة الآلة الأصلية ، بل هو شفرة وسيطة (بايت كود ). تقوم آلة جافا الافتراضية (JVM) بالتحقق من هذه الشفرة الوسيطة قبل تشغيلها لمنع البرنامج من تنفيذ عمليات غير آمنة، مثل الانتقال إلى مواقع خاطئة قد تحتوي على بيانات بدلاً من التعليمات. كما يسمح ذلك لآلة جافا الافتراضية بفرض قيود وقت التشغيل، مثل التحقق من حدود المصفوفات . هذا يعني أن برامج جافا أقل عرضةً بشكل ملحوظ لمشاكل أمان الذاكرة ، مثل تجاوز سعة المخزن المؤقت، مقارنةً بالبرامج المكتوبة بلغات مثل C التي لا توفر ضمانات أمان الذاكرة هذه.
لا تسمح المنصة للبرامج بتنفيذ عمليات معينة قد تكون غير آمنة، مثل العمليات الحسابية على المؤشرات أو تحويلات الأنواع غير المُدققة . كما أنها تُدير تخصيص الذاكرة وتهيئتها، وتُوفر خاصية جمع البيانات المهملة تلقائيًا ، مما يُعفي المطور في كثير من الحالات (وليس كلها) من إدارة الذاكرة يدويًا . وهذا يُساهم في سلامة الأنواع وسلامة الذاكرة.
مدير الأمن
توفر المنصة مدير أمان يسمح للمستخدمين بتشغيل التعليمات البرمجية غير الموثوقة في بيئة معزولة مصممة لحمايتهم من البرامج الضارة أو سيئة التصميم، وذلك بمنع هذه التعليمات من الوصول إلى بعض ميزات المنصة وواجهات برمجة التطبيقات (APIs). على سبيل المثال، قد تُمنع هذه التعليمات من قراءة أو كتابة الملفات على نظام الملفات المحلي، أو تشغيل أوامر عشوائية بصلاحيات المستخدم الحالي، أو الوصول إلى شبكات الاتصال، أو الوصول إلى الحالة الخاصة الداخلية للكائنات باستخدام تقنية الانعكاس، أو التسبب في خروج آلة جافا الافتراضية (JVM).
كما يسمح مدير الأمان بتوقيع برامج جافا تشفيرياً ؛ ويمكن للمستخدمين اختيار السماح بتشغيل التعليمات البرمجية التي تحمل توقيعاً رقمياً صالحاً من جهة موثوقة بكامل الامتيازات في الظروف التي قد تكون فيها غير موثوقة.
يمكن للمستخدمين أيضاً تحديد سياسات دقيقة للتحكم في الوصول للبرامج من مصادر مختلفة. على سبيل المثال، قد يقرر المستخدم أن فئات النظام فقط هي التي يجب الوثوق بها بشكل كامل، وأن التعليمات البرمجية من كيانات موثوقة معينة قد يُسمح لها بقراءة ملفات محددة، وأن جميع التعليمات البرمجية الأخرى يجب عزلها تماماً.
واجهات برمجة تطبيقات الأمان
توفر مكتبة فئات جافا عددًا من واجهات برمجة التطبيقات المتعلقة بالأمان، مثل خوارزميات التشفير القياسية والمصادقة وبروتوكولات الاتصال الآمنة.
فئة الشمس.متفرقات.غير آمنة
sun.misc.Unsafeهي فئة أدوات داخلية في لغة برمجة جافا، وهي عبارة عن مجموعة من العمليات غير الآمنة منخفضة المستوى. [ 1 ] على الرغم من أنها ليست جزءًا من مكتبة فئات جافا الرسمية ، إلا أنها تُستدعى داخليًا بواسطة مكتبات جافا. وهي موجودة في وحدة جافا غير رسمية تُسمى jdk.unsupported. بدءًا من جافا 11، تم نقلها جزئيًا إلى jdk.internal.misc.Unsafe(التي توجد في الوحدة java.base). [ 1 ]
تتمثل ميزتها الأساسية في السماح بإدارة الذاكرة المباشرة (على غرار إدارة الذاكرة في لغة C ) ومعالجة عناوين الذاكرة، ومعالجة الكائنات والحقول، ومعالجة الخيوط، وأساسيات التزامن.
تعريفها هو: ، وهي فئة أحادية مع مُنشئ خاص. [ 2 ]publicfinalclassUnsafe;
يحتوي على الطرق التالية، والعديد منها مُعلن native(باستخدام واجهة جافا الأصلية ): [ 2 ] [ 3 ]
staticUnsafegetUnsafe()يسترجع هذاUnsafeالأمر النسخة. ويستخدمهsun.reflect.Reflectionللقيام بذلك.intgetInt(Objecto,longoffset): يجلب قيمة (حقل أو عنصر مصفوفة) في الكائن عند الإزاحة المحددة. (توجد طرق مماثلةgetBoolean()أيضًا ) .getByte()getShort()getChar()getLong()getFloat()getDouble()voidputInt(Objecto,longoffset,intx): يخزن قيمة في كائن عند الإزاحة المحددة. (توجد طرق مماثلة أيضًاputBoolean()، وputByte()،putShort()و،putChar()وputLong()،putFloat()و، و).putDouble()ObjectgetObject(Objecto,longoffset): يجلب قيمة مرجعية من كائن عند الإزاحة المحددة.voidputObject(Objecto,longoffset,Objectx): يخزن قيمة مرجعية في كائن عند الإزاحة المحددة.intgetInt(longaddress): يجلب قيمة من العنوان المحدد. (توجد طرق مماثلة أيضًاgetBoolean()،getByte()و،getShort()وgetChar()، وgetLong()،getFloat()و، و).getDouble()voidputInt(longaddress,intx): يخزن قيمة في العنوان المحدد. (توجد طرق مماثلة أيضًاputBoolean()،putByte()و،putShort()وputChar()،putLong()و،putFloat()و، و).putDouble()longgetAddress(longaddress): يجلب مؤشرًا أصليًا من عنوان معين.voidputAddress(longaddress,longx): يخزن مؤشرًا أصليًا في عنوان معين.longallocateMemory(longbytes): يقوم بتخصيص كتلة من الذاكرة الأصلية بالحجم المحدد (على غرار malloc() ).longreallocateMemory(longaddress,longbytes): يقوم بتغيير حجم كتلة من الذاكرة الأصلية إلى الحجم المحدد (على غرار realloc() ).voidsetMemory(Objecto,longoffset,longbytes,bytevalue)، : يقوم بتعيين جميع البايتات في كتلة من الذاكرة إلى قيمة ثابتة (على غرار memset() ).voidsetMemory(longaddress,longbytes,bytevalue)voidcopyMemory(ObjectsrcBase,longsrcOffset,ObjectdestBase,longdestOffset,longbytes)، : يقوم بتعيين جميع البايتات في كتلة معينة من الذاكرة إلى نسخة من كتلة أخرى (على غرار memcpy() ).voidcopyMemory(longsrcAddress,longdestAddress,longbytes)voidfreeMemory(longaddress): يقوم بتحرير كتلة من الذاكرة الأصلية التي تم الحصول عليها منallocateMemory()أوreallocateMemory()، على غرار free() ).longstaticFieldOffset(Fieldf): يحصل على موقع حقل معين في تخصيص التخزين لفئته.longobjectFieldOffset(Fieldf): يحصل على موقع حقل ثابت معين بالاقتران معstaticFieldBase().ObjectstaticFieldBase(Fieldf): يحصل على موقع حقل ثابت معين بالاقتران معstaticFieldOffset().voidensureClassInitialized(Class<?>c)يضمن هذا الخيار تهيئة الفئة المحددة.intarrayBaseOffset(Class<?>arrayClass): يحصل على إزاحة العنصر الأول في تخصيص مساحة التخزين لفئة مصفوفة معينة.intarrayIndexScale(Class<?>arrayClass): يحصل على عامل المقياس لمعالجة العناصر في تخصيص التخزين لفئة مصفوفة معينة.staticintaddressSize(): يحصل على حجم المؤشر الأصلي (بالبايت).intpageSize(): يحصل على حجم صفحة الذاكرة الأصلية (بالبايت).Class<?>defineClass(Stringname,byte[]b,intoff,intlen,ClassLoaderloader,ProtectionDomainprotectionDomain): إشارات إلى JVM لتعريف فئة بدون فحوصات أمنية.Class<?>defineAnonymousClass(Class<?>hostClass,byte[]data,Object[]cpPatches): تشير إلى JVM لتعريف فئة ولكن لا تجعلها معروفة لمحمل الفئة أو دليل النظام.ObjectallocateInstance(Class<?>cls)throwsInstantiationException: يقوم بتخصيص نسخة من فئة دون تشغيل مُنشئها.voidmonitorEnter(Objecto): يقوم بقفل كائن.voidmonitorExit(Objecto): يفتح عنصرًا.booleantryMonitorEnter(Objecto): يحاول قفل كائن، ويعيد ما إذا كان القفل قد نجح أم لا.voidthrowException(Throwableee): يطرح استثناءً دون إبلاغ المُدقِّق.finalbooleancompareAndSwapInt(Objecto,longoffset,intexpected,intx): يقوم بتحديث قيمة متغيرxإذا كانت قيمته تساوي صفرًاexpected، ويعيد ما إذا كانت العملية قد نجحت أم لا. (توجد أيضًا طرق مماثلةcompareAndSwapLong()و ).compareAndSwapObject()intgetIntVolatile(Objecto,longoffset): نسخة متقلبة منgetInt(). (توجد طرق مماثلة أيضًاgetBooleanVolatile(),getByteVolatile(),getShortVolatile(),getCharVolatile(),getLongVolatile(),getFloatVolatile(), ,getDoubleVolatile(), .)getObjectVolatile()voidputIntVolatile(Objecto,longoffset,intx): نسخة متقلبة منputInt(). (توجد طرق مماثلة أيضًاputBooleanVolatile(),putByteVolatile(),putShortVolatile(),putCharVolatile(),putLongVolatile(),putFloatVolatile(), ,putDoubleVolatile(), .)putObjectVolatile()voidputOrderedInt(Objecto,longoffset,intx): نسخةputIntVolatile()لا تضمن رؤية فورية للتخزين من قبل الخيوط الأخرى. (توجد طرق مماثلةputOrderedLong()أيضًاputOrderedObject().)voidunpark(Objectthread): يفتح سلسلة العمليات.voidpark(booleanisAbsolute,longtime): يحجب الخيط الحالي.intgetLoadAverage(double[]loadavg,intnelems): يحصل على متوسط الحمل في قائمة تشغيل النظام المخصصة للمعالجات المتاحة، محسوبًا على مدى فترات زمنية مختلفة.voidinvokeCleaner(ByteBufferdirectBuffer): يستدعي أداة تنظيف مخزن البايت المباشر المحدد.voidfullFence()يضمن عدم إعادة ترتيب الشحنات والمخازن الموجودة قبل السياج مع الشحنات والمخازن الموجودة بعد السياج.voidloadFence()يضمن عدم إعادة ترتيب الشحنات الموجودة قبل السياج مع الشحنات والمخازن الموجودة بعد السياج.voidstoreFence()يضمن عدم إعادة ترتيب الشحنات والمخازن الموجودة قبل السياج مع المخازن الموجودة بعد السياج.
أمثلة
مثال على الاستخدام التالي:
package org.wikipedia.examples ;استيراد java.lang.reflect.Field ;استيراد sun.misc.Unsafe ;public class Example { public static void main ( String [] args ) throws Exception { // الحصول على نسخة من Unsafe باستخدام الانعكاس Field f = Unsafe . class . getDeclaredField ( "theUnsafe" ); f . setAccessible ( true ); Unsafe unsafe = ( Unsafe ) f . get ( null );// تخصيص كتلة من 8 بايتات memoryAddress = unsafe.allocateMemory ( 8L ) ;try { // أدخل قيمة طويلة في الذاكرة، واقرأ من تلك الكتلة unsafe.putLong ( memoryAddress , 123456789L ); long value = unsafe.getLong ( memoryAddress ) ; System.out.printf ( " القيمة من الذاكرة: %d%n" , value ) ; // الناتج : 123456789 } finally { // حرر الذاكرة المخصصة unsafe.freeMemory ( memoryAddress ) ; } } }يمكن أيضًا تغليف أجزاء الذاكرة الأصلية، مثل java.lang.foreign.MemorySegment:
package org.wikipedia.examples ;استيراد java.lang.reflect.Field ;استيراد sun.misc.Unsafe ;public class NativeMemory implements AutoCloseable { private static final Unsafe unsafe ; private final long address ; private final long size ;static { try { Field theUnsafe = Unsafe.class.getDeclaredField ( " theUnsafe " ) ; theUnsafe.setAccessible ( true ) ; unsafe = ( Unsafe ) theUnsafe.get ( null ); } catch ( Exception e ) { throw new RuntimeException ( " Unable to access Unsafe " , e ) ; } }public NativeMemory ( long size ) { this . size = size ; this . address = unsafe . allocateMemory ( size ); }public void putByte ( long offset , byte value ) { checkBounds ( offset , 1 ); unsafe . putByte ( address + offset , value ); }public byte getByte ( long offset ) { checkBounds ( offset , 1 ); return unsafe . getByte ( address + offset ); }private void checkBounds ( long offset , long bytes ) { if ( offset < 0 || offset + bytes > size ) { throw new IndexOutOfBoundsException ( String . format ( "Offset out of bounds: %d" , offset )); } }@Override public void close () { unsafe . freeMemory ( address ); } }قيد الاستخدام:
package org.wikipedia.examples ;public class Main { public static void main ( String [] args ) { try ( NativeMemory mem = new NativeMemory ( 1024 )) { mem . putByte ( 0 , ( byte ) 42 ); System . out . printf ( "Value: %s%n" , mem . getByte ( 0 )); } } }مصادر محتملة للثغرات الأمنية في تطبيقات جافا
توجد عدة مصادر محتملة للثغرات الأمنية في تطبيقات جافا، بعضها شائع في التطبيقات الأخرى، وبعضها الآخر خاص بمنصة جافا. (تجدر الإشارة إلى أن هذه المصادر تشير إلى ثغرات محتملة يجب على المبرمجين المهتمين بالأمان أخذها في الاعتبار، وليست قائمة بالثغرات الفعلية ).
من أمثلة مصادر الضعف المحتملة الشائعة في تطبيقات جافا والتطبيقات الأخرى:
- نقاط الضعف في آليات الحماية التي توفرها الأجهزة أو نظام التشغيل الذي يعتمد عليه التطبيق من أجل أمنه
- ثغرات أمنية في المكتبات الأصلية، مثل مكتبة C القياسية ، والتي قد تُستخدم لتنفيذ التطبيق و/أو وقت التشغيل
- الثغرات الأمنية الناتجة فقط عن أخطاء في برامج المستخدم (على سبيل المثال، البناء غير السليم لاستعلامات SQL مما يؤدي إلى ثغرات حقن SQL )
مع ذلك، يركز جزء كبير من النقاش حول أمان جافا على مصادر الثغرات الأمنية المحتملة الخاصة بمنصة جافا. وتشمل هذه المصادر ما يلي:
- ثغرات في آلية الحماية (sandboxing) تسمح لبرامج البايت كود غير الموثوقة بتجاوز القيود التي يفرضها مدير الأمان.
- ثغرات أمنية في مكتبة فئات جافا التي يعتمد عليها التطبيق لأمانه
لا يعني وجود ثغرة أمنية في منصة جافا بالضرورة أن جميع تطبيقات جافا معرضة للخطر. فعند الإعلان عن الثغرات الأمنية وتحديثاتها، على سبيل المثال من قبل أوراكل، يتضمن الإعلان عادةً تفصيلاً لأنواع التطبيقات المتأثرة ( مثال ).
على سبيل المثال، ثغرة أمنية افتراضية تؤثر فقط على آلية الحماية المعزولة لمدير الأمان في تطبيق JVM معين، تعني أن تطبيقات جافا التي تُشغّل بايت كود غير موثوق به فقط هي التي ستتعرض للاختراق؛ أما التطبيقات التي يثق المستخدم فيها تمامًا ويتحكم في جميع البايت كود المُنفّذ، فلن تتأثر. هذا يعني، على سبيل المثال، أن إضافة متصفح ويب مبنية على JVM ستكون عرضة لتطبيقات صغيرة خبيثة يتم تنزيلها من مواقع ويب عامة، بينما لن يتأثر تطبيق ويب يعمل على نفس إصدار JVM حيث يمتلك المسؤول تحكمًا كاملًا في مسار الفئات . [ 4 ] كما هو الحال مع التطبيقات غير جافا، يمكن أن تنشأ الثغرات الأمنية من أجزاء في النظام الأساسي قد لا تبدو في البداية ذات صلة بالأمان. على سبيل المثال، في عام 2011، أصدرت أوراكل تحديثًا أمنيًا لإصلاح خطأ في Double.parseDoubleالدالة. [ 5 ] تقوم هذه الدالة بتحويل سلسلة نصية مثل "12.34" إلى ما يعادلها من عدد عشري مزدوج الدقة . تسبب الخطأ في دخول هذه الدالة في حلقة لا نهائية عند استدعائها على مُدخل مُحدد. كان لهذا الخلل عواقب أمنية وخيمة، فعلى سبيل المثال، إذا قام خادم الويب بتحويل سلسلة نصية أدخلها المستخدم إلى نموذج باستخدام هذه الطريقة، فقد يتمكن مستخدم خبيث من إدخال السلسلة النصية التي تُفعّل الخلل. سيؤدي ذلك إلى دخول خيط معالجة الطلب الخبيث في حلقة لا نهائية على خادم الويب، ما يجعله غير قادر على تلبية طلبات المستخدمين الآخرين. تكرار هذا الأمر على خادم ويب مُعرّض للخطر يُشكّل هجومًا سهلًا لحجب الخدمة : إذ ستعلق جميع خيوط خادم الويب المسؤولة عن الاستجابة لطلبات المستخدمين في حلقة لا نهائية، ولن يتمكن خادم الويب من خدمة أي مستخدم شرعي على الإطلاق.
انتقادات لمدير الأمن
تعرض مدير الأمان في منصة جافا (كما ذكر أعلاه، تم تصميمه للسماح للمستخدم بتشغيل التعليمات البرمجية غير الموثوقة بأمان) لانتقادات في السنوات الأخيرة لجعله المستخدمين عرضة للبرامج الضارة ، وخاصة في ملحقات متصفح الويب التي تقوم بتشغيل تطبيقات جافا الصغيرة التي تم تنزيلها من مواقع الويب العامة، والمعروفة بشكل غير رسمي باسم "جافا في المتصفح".
أدت جهود شركة أوراكل لمعالجة هذه الثغرات الأمنية إلى تأخير إصدار جافا 8. [ 6 ]
2012
استغلّ حصان طروادة لنظام التشغيل OS X، يُعرف باسم Flashback، ثغرةً أمنيةً في Java، لم تُصلحها Apple ، على الرغم من أن Oracle كانت قد أصدرت تحديثًا أمنيًا. [ 7 ] وفي أبريل، أصدرت Apple لاحقًا أداة إزالة لمستخدمي Lion الذين لا يملكون Java. [ 8 ] ومع إصدار Java 7 Update 4، بدأت Oracle في إصدار Java مباشرةً لنظام Lion وما بعده . [ 9 ]
في أكتوبر، أصدرت آبل تحديثًا أزال إضافة جافا من جميع المتصفحات . [ 10 ] واعتُبرت هذه الخطوة بمثابة محاولة من آبل لفصل نظام التشغيل ماك أو إس إكس عن جافا. [ 11 ]
2013
في يناير، تم اكتشاف ثغرة أمنية خطيرة في جميع إصدارات جافا 7، بما في ذلك أحدث إصدار (تحديث جافا 7 رقم 10)، والتي تم استغلالها بالفعل. [ 12 ] وقد نتجت هذه الثغرة عن تحديث لإصلاح ثغرة سابقة. [ 13 ] واستجابةً لذلك، قامت آبل بحظر أحدث إصدار من إضافة جافا. [ 14 ] وأصدرت أوراكل تحديثًا (التحديث 11) في غضون ثلاثة أيام. [ 15 ] كما أصدرت مايكروسوفت تحديثًا لمتصفح إنترنت إكسبلورر، الإصدارات 6 و 7 و 8 . [ 16 ]
تم اكتشاف برمجية التجسس الإلكتروني " أكتوبر الأحمر" التي تستغل ثغرة أمنية في جافا تم إصلاحها في أكتوبر 2011. [ 17 ] كما تم اختراق موقع مراسلون بلا حدود الإلكتروني بسبب ثغرة أمنية في جافا في الإصدارات السابقة للتحديث 11. [ 18 ]
بعد إصدار التحديث 11، بدأت ثغرة أمنية أخرى بالانتشار على الإنترنت، [ 19 ] وقد تم تأكيدها لاحقًا. [ 20 ] كما تبين أن وضع الأمان في جافا نفسه كان عرضة للاختراق بسبب خلل برمجي. [ 21 ] واستجابةً لذلك، قامت موزيلا بتعطيل جافا (وكذلك أدوبي ريدر ومايكروسوفت سيلفرلايت ) في فايرفوكس افتراضيًا، [ 22 ] بينما أدرجت آبل أحدث إضافة لجافا في القائمة السوداء مجددًا. [ 23 ]
في فبراير، أعلنت تويتر عن إيقافها لهجوم إلكتروني. ونصحت تويتر مستخدميها بتعطيل جافا، دون توضيح السبب. [ 24 ] وفي وقت لاحق من الشهر نفسه، أعلنت فيسبوك عن تعرضها لهجوم إلكتروني استغل ثغرة أمنية غير معروفة في جافا. [ 25 ] كما أعلنت آبل عن تعرضها لهجوم مماثل. [ 26 ] وتبين أن اختراقًا لمنتدى مطوري آيفون استُخدم لمهاجمة تويتر وفيسبوك وآبل. [ 27 ] ولم يكن المنتدى نفسه على علم بالاختراق. [ 28 ] وبعد تويتر وفيسبوك وآبل، أعلنت مايكروسوفت عن تعرضها لاختراق مماثل أيضًا. [ 29 ]
اكتُشفت ثغرة أمنية أخرى سمحت بتجاوز بيئة الحماية الأمنية لجافا بشكل كامل في الإصدار الأصلي من جافا 7، بالإضافة إلى التحديثين 11 و15. [ 30 ] وفي مارس، تم اكتشاف حصان طروادة يُدعى McRat يستغل ثغرة أمنية غير معروفة في جافا. [ 31 ] ثم أصدرت أوراكل رقعة أمنية أخرى لمعالجة هذه الثغرة. [ 32 ]
انظر أيضاً
مراجع
- 1 2 بن إيفانز (4 مايو 2020). "الفئة غير الآمنة: غير آمنة بأي سرعة" . blogs.oracle.com . شركة أوراكل.
- 1 2 "sun.misc: Unsafe.java" . docjar.com . مؤرشف من الأصل في 30 سبتمبر 2016.
- ↑ "غير آمن (منصة جافا SE 9)" . cr.openjdk.org . OpenJDK . تم الاطلاع عليه في 10 أكتوبر 2025 .
- ↑ تم إصدار تنبيه أمني بشأن الثغرة الأمنية CVE-2013-0422 . شركة أوراكل. تم الاطلاع عليه بتاريخ 24 أبريل 2013.
- ↑ أصدرت أوراكل تحديثًا عاجلًا لإصلاح خطأ Double.parseDouble في وقت قياسي . InfoQ. تم الاطلاع عليه بتاريخ 24 أبريل 2013.
- ↑ تأمين القطار . مدونة مارك راينهولد، كبير مهندسي مجموعة منصة جافا في أوراكل. 18-04-2013.
- ↑ غودين، دان (2 أبريل 2012). "حصان طروادة ماك فلاش باك يستغل ثغرة أمنية غير مُعالجة في جافا، ولا يتطلب كلمة مرور" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غيوس، ميغان (14 أبريل 2012). "أداة إزالة البرامج الضارة Flashback تصل لمستخدمي أجهزة Mac الذين لا يستخدمون Java" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ فورسمان، كريس (27 أبريل 2012). "انسَ أبل: أوراكل ستُقدّم تحديثات أمان جافا مباشرةً لمستخدمي ماك" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (18 أكتوبر 2012). "أبل تزيل جافا من جميع متصفحات الويب لنظام التشغيل OS X" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ تشنغ، جاكي (23 ديسمبر 2012). "أين يقف أمان نظام التشغيل OS X بعد عام 2012 المتقلب؟" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (10 يناير 2013). "ثغرة أمنية خطيرة في جافا يتم استغلالها على نطاق واسع (مُحدَّث)" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (11 يناير 2013). "ثغرة أمنية خطيرة في جافا أصبحت ممكنة بسبب رقعة غير مكتملة سابقة (مُحدَّث)" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ فورسمان، كريس (11 يناير 2013). "أبل تُدرج جافا في القائمة السوداء على نظام التشغيل ماك لمنع أحدث الثغرات الأمنية "الخطيرة"" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ ماتيس، ناثان (14 يناير 2013). "أوراكل تُصلح ثغرة أمنية واسعة الانتشار في جافا خلال ثلاثة أيام (مُحدَّث)" . آرس تكنيكا . تاريخ الاسترجاع: 18 فبراير 2014 .
- ↑ غودين، دان (14 يناير 2013). "مايكروسوفت تُصدر تحديثًا طارئًا لإصلاح ثغرة في متصفح إنترنت إكسبلورر" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (15 يناير 2013). "اعتمدت ثغرة في جافا في برنامج ريد أكتوبر الخبيث على إصابة أجهزة الكمبيوتر" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (22 يناير 2013). "استغلال ثغرات تم إصلاحها حديثًا في جافا وإنترنت إكسبلورر للإيقاع بمواقع حقوق الإنسان" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (16 يناير 2013). "5000 دولار ستمنحك الوصول إلى ثغرة أمنية جديدة وحرجة في جافا (مُحدَّثة)" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (18 يناير 2013). "تأكيد وجود ثغرات أمنية خطيرة في جافا في أحدث إصدار" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (28 يناير 2013). "وضع الأمان "العالي جدًا" الجديد في جافا لا يحميك من البرامج الضارة" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (31 يناير 2013). "فايرفوكس يحجب المحتوى المبني على جافا، وريدر، وسيلفرلايت" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ فورسمان، كريس (31 يناير 2013). "للمرة الثانية خلال شهر، تُدرج آبل إضافة جافا للويب في القائمة السوداء" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (2 فبراير 2013). "تويتر يكتشف ويوقف عملية اختراق بيانات كلمات المرور الجارية" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غالاغر، شون (15 فبراير 2013). "اختراق أجهزة كمبيوتر فيسبوك بسبب ثغرة أمنية في جافا" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ تشنغ، جاكي (19 فبراير 2013). "مقر شركة آبل هدفٌ للاختراق، وستصدر أداة لحماية عملائها" . آرس تكنيكا . تاريخ الاسترجاع: 18 فبراير 2014 .
- ↑ غالاغر، شون (19 فبراير 2013). "اختراق فيسبوك وتويتر وآبل انطلق من منتدى مطوري آيفون" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ تشنغ، جاكي (20 فبراير 2013). "موقع المطورين وراء اختراقات آبل وفيسبوك لم يكونوا على علم بأنه مفخخ" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ برايت، بيتر (22 فبراير 2013). "مايكروسوفت تنضم إلى آبل وفيسبوك وتويتر؛ وتظهر كضحية للاختراق" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ برودكين، جون (25 فبراير 2013). "أحدث مشاكل أمان جافا: اكتشاف ثغرة جديدة، ومهاجمة ثغرة قديمة" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ غودين، دان (1 مارس 2013). "ثغرة أمنية جديدة في جافا من نوع Zero-day منتشرة وتستهدف مواقع أخرى بنشاط" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
- ↑ ماتيس، ناثان (5 مارس 2013). "أوراكل تُصدر تحديثًا جديدًا لجافا لمعالجة مشكلة McRat لهذا الأسبوع" . آرس تكنيكا . تم الاطلاع عليه في 18 فبراير 2014 .
روابط خارجية
- أمان Java SE . شركة أوراكل. تم التنزيل بتاريخ 24-04-2013.
- إرشادات البرمجة الآمنة للغة جافا . شركة أوراكل. تم التنزيل بتاريخ 24-04-2013.
- كيف يساعد مدير الأمان في تطبيق مبدأ التشغيل بأقل قدر من الامتيازات ؟
- جافا (منصة برمجية)
- أمن الحاسوب
- هندسة الأمن السيبراني
