معلومة

هل توجد قائمة بالأخطاء الشائعة في إدخالات قاعدة البيانات؟


انا طالبة جامعية في قسم الاحياء. كجزء من مهمتي لموضوع المعلوماتية الحيوية ، طُلب مني الإشارة إلى الأخطاء الشائعة في قاعدة البيانات البيولوجية (مثل Uniprot). على سبيل المثال ، "اختزال ديهيدروفولات". هل هناك أي قائمة بهذه الأخطاء الشائعة؟ خلاف ذلك ، في تجربتك الخاصة ، هل يمكنك أن تذكر بعض الأمثلة على الأخطاء المماثلة التي تقابلها بانتظام؟


لدى Microsoft Excel عادة سيئة تتمثل في التفكير في أنه يعرف بياناتك بشكل أفضل منك ، وعندما يرى أسماء الجينات مثل Mar3 و Sept7 ، فإنه يحاول أن يكون مفيدًا ويحولها إلى تواريخ.

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

كان هذا معروفًا منذ سنوات ، لكنك ما زلت تراه في الكثير والكثير من الأوراق البحثية المنشورة.

وفقًا لـ http://dx.doi.org/10.1186/s13059-016-1044-7 ، تحتوي ما يقرب من 20٪ من قوائم جينات المواد التكميلية التي تم إعدادها باستخدام Excel على مثل هذه الأخطاء.


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

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

مجد للمحقق الرئيسي ، ديفيد سواريز ، للجمع بين مشروع مفيد حقًا والتواصل الرائع.


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

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

  1. قم بإعداد قائمة بالمصطلحات مثل النترات ، الفوسفات ، السترات ، الكبريتات / الكبريتات ، وكلها تنتهي بـ -ate. في الألمانية ، هذه متشابهة بشكل عام ولكنها تنتهي بـ -at (بدون e). حتى إذا لم تكن لديك لغة ألمانية ، يمكنك استخدام مترجم على الإنترنت. من واقع خبرتي ، فإن بعض الإدخالات في PDB بها أخطاء إملائية ناتجة عن مثل هذه التشابهات اللغوية ، لذا يمكنك البحث عن التهجئات الألمانية. يمكنك أيضًا البحث عن الاختصارات الألمانية أو الفرنسية لـ RNA و DNA (RNS ، DNS ، ARN ، ADN). لا يزال نهجًا يدويًا ، ولكن سيكون له بعض المنطق وراءه.

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

إذا كان لديك بعض القدرة على البرمجة ، يمكنك تعديل الطريقة 2 من خلال البحث عن الكلمات التي تختلف بحرف واحد ، على افتراض أن بعض هذه الاختلافات ستكون أخطاء إملائية. (من المفترض أن تكون لغة مثل Perl المصممة للاستخدام مع التعبيرات العادية هي الأنسب.)


إذا وجدت أيًا من هذه الأخطاء في قواعد البيانات المنسقة مثل UniProt ، فيرجى إخبار القيمين على قاعدة البيانات.

في القسم الذي تمت مراجعته برعاية الخبراء ، UniProtKB / Swiss-Prot ، سنكون سعداء لإصلاح الأخطاء الإملائية والأخطاء الأخرى. بقدر ما يتعلق الأمر بسجلات UniProtKB / TrEMBL التي لم تتم مراجعتها ، فإن هذا الأمر أكثر تعقيدًا بعض الشيء كما ذكر Michael_A أعلاه. ومع ذلك ، في كثير من الحالات ، يمكن أن يُطلب من قواعد بيانات تسلسل النوكليوتيدات (EMBL-Bank / GenBank / DDBJ) تصحيح المصدر الأساسي ، ويمكن بعد ذلك تحديث الأسماء المصححة في / إعادة استيرادها إلى UniProtKB / TrEMBL.


تصفح الأسئلة ذات الصلة

معلومات عنا

نحن مكتب حماية المستهلك المالي (CFPB) ، وهي وكالة حكومية أمريكية تتأكد من أن البنوك والمقرضين والشركات المالية الأخرى تعاملك بإنصاف.

إخلاء المسؤولية القانونية

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


(1) جداول البحث الشائعة

قبل بضع سنوات ، كتب دون بيترسون مقالًا لـ SQL Server Central يشرح بالتفصيل ممارسة شائعة لإنشاء جدول بحث واحد لأنواع مختلفة من البيانات تسمى عادةً جدول التعليمات البرمجية أو & # 8220 جدول القيمة المسموح بها & # 8221 (AVT). تميل هذه الجداول إلى أن تكون ضخمة وتحتوي على كومة من البيانات غير ذات الصلة. بشكل مناسب بما فيه الكفاية ، أطلق دون على هذه الجداول بشكل كبير جداول رمز المفتاح الموحد (MUCK) (بيترسون ، 2006) على الرغم من أن العديد من الآخرين قد كتبوا عنها على مر السنين ، يبدو أن هذا الاسم يلتقط بشكل أكثر فاعلية الحماقة المرتبطة بمثل هذا الهيكل.

في كثير من الحالات ، تكون البيانات الموجودة في هذه الجداول هي VARCHAR (n) على الرغم من أن نوع البيانات الحقيقي لهذه القيم يمكن أن يتراوح بين عدد صحيح إلى التاريخ. يتم تمثيلهم في الغالب في ثلاثة أعمدة قد تأخذ شكلاً من أشكال الجدول النموذجي (الشكل 1):

التبرير هنا هو أن كل كيان في المثال هنا لديه مجموعة مماثلة من السمات ، وبالتالي لا بأس من حشرها في جدول واحد. بعد كل شيء ، ينتج عنه عدد أقل من الجداول ، اجعل قاعدة البيانات أبسط ، أليس كذلك؟

أثناء عملية التصميم ، قد يصادف مصمم قاعدة البيانات عدة جداول صغيرة (في المثال ، هذه جداول تمثل أنواعًا مميزة من الكيانات مثل & # 8216 حالة الطلبات & # 8217 ، & # 8216 أولوية الأصول المالية & # 8217 ، & # 8216location الرموز & # 8217 ، & # 8216 نوع المستودعات & # 8217 وما إلى ذلك).

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

  • أولاً ، تفقد الوسائل اللازمة لضمان دقة قيود البيانات. من خلال دمج كيانات مختلفة في جدول واحد ، لا توجد لديك وسائل تعريفية لتقييد قيم فئة معينة. لا توجد طريقة سهلة لفرض قيود بسيطة على المفتاح الخارجي دون إضافة امتداد معرف الفئة في جميع المفاتيح المرجعية.
  • ثانيًا ، أنت مجبر على تمثيل كل نوع بيانات كسلسلة مع هذا النوع من جدول البحث العام. يمكن أن يكون مثل هذا الاختلاط بين الأنواع المختلفة مشكلة ، لأنه لا يمكن فرض قيود الفحص دون قرصنة التعليمات البرمجية الرئيسية. في المثال المقدم & # 8217 ، إذا كان رمز الخصم هو CHAR (3) و location_nbr هو INT (4) ، ما نوع بيانات العمود & # 8216code & # 8217 في جدول البحث المشترك؟
  • ثالثًا ، تلتزم بالصلابة والتعقيد اللاحق. قد تميل إلى التساؤل ، كيف يمكن لمثل هذا التصميم البسيط والمرن أن يكون جامدًا؟ حسنًا ، بالنظر إلى مثالنا على مخطط جدول بحث شائع ، تخيل فقط أن جدول & # 8216LocationCode & # 8217 يتضمن عمودًا آخر قد يكون & # 8216region & # 8217. ماذا عن عواقب إضافة حالة إلى الجدول & # 8216DiscountType & # 8217؟ فقط لتغيير فئة واحدة ، عليك & # 8217 التفكير في إفساح المجال لجميع الصفوف في الجدول بغض النظر عما إذا كان العمود الجديد ينطبق عليها أم لا. ماذا عن التعقيد؟ غالبًا ما تأتي فكرة استخدام جداول البحث الشائعة من فكرة تعميم الكيانات حيث يمثل الجدول الفردي & # 8220thing & # 8221 & # 8211 إلى حد كبير أي شيء.
    قارن هذا بالقاعدة الأساسية التي تنص على أن الجدول المصمم جيدًا يمثل مجموعة من الحقائق حول الكيانات أو العلاقات من نفس النوع. تكمن مشكلة تعميم الكيانات في أن الجدول يصبح كومة من الصفوف غير المترابطة: وبالتالي ، تفقد دقة المعنى ، يليها ارتباك ، وفي كثير من الأحيان ، تعقيد غير مرغوب فيه.
    الهدف الرئيسي لنظام DBMS هو فرض القواعد التي تحكم كيفية تمثيل البيانات ومعالجتها. تأكد من عدم الخلط بين المصطلحات & # 8220generalize & # 8221، & # 8220reuse & # 8221 وما إلى ذلك في سياق تصميم قاعدة البيانات إلى الحد الذي لا يمكنك فيه التحكم في ما يتم تصميمه.
  • رابعًا وأخيرًا ، تواجه مشكلات في التنفيذ المادي. بينما يعتبر التصميم المنطقي منفصلاً تمامًا عن التنفيذ المادي ، في منتجات DBMS التجارية مثل SQL Server ، يمكن أن تتأثر عمليات التنفيذ المادية بالتصميم المنطقي والعكس صحيح. في المؤسسات الكبيرة ، يمكن أن تنمو جداول البحث الشائعة هذه إلى مئات الآلاف من الصفوف وتتطلب ضبطًا ثقيلًا لقاعدة البيانات الفعلية. سيتعين أيضًا التحكم في مشكلات القفل والتزامن مع هذه الجداول الكبيرة. يمكن أن يكون التمثيل الداخلي لمجموعة معينة من الصفوف في التخزين المادي عاملاً محددًا في مدى كفاءة الوصول إلى القيم ومعالجتها بواسطة استعلامات SQL.

كتوصية عامة ، استخدم دائمًا جداول منفصلة لكل كيان منطقي ، مع تحديد الأعمدة المناسبة مع الأنواع والقيود والمراجع الصحيحة. من الأفضل كتابة إجراءات وإجراءات بسيطة للوصول إلى البيانات ومعالجتها في الجداول دون استهداف & # 8220 رمز ديناميكي & # 8221.

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


الخطأ الشائع الثالث: الارتباك حول الرجوع بالمرجع مقابل القيمة

ضع في اعتبارك مقتطف الشفرة هذا:

إذا قمت بتشغيل الكود أعلاه ، فستحصل على ما يلي:

المشكلة هي أن الكود أعلاه يخلط بين المصفوفات المرتجعة بالرجوع إلى المصفوفات المرتجعة حسب القيمة. ما لم تخبر PHP صراحةً بإرجاع مصفوفة بالمرجع (أي باستخدام & amp) ، فإن PHP ستعيد المصفوفة افتراضيًا "حسب القيمة". هذا يعني أن أ ينسخ من المصفوفة سيتم إرجاعها ، وبالتالي فإن الوظيفة التي تم استدعاؤها والمستدعي لن يصلوا إلى نفس مثيل المصفوفة.

لذا فإن الاستدعاء أعلاه لـ getValues ​​() يعيد ملف ينسخ من مصفوفة قيم $ بدلاً من مرجع لها. مع وضع ذلك في الاعتبار ، دعنا نعيد النظر في السطرين الرئيسيين من المثال أعلاه:

قد يكون أحد الحلول الممكنة هو حفظ النسخة الأولى من مصفوفة قيم $ التي تم إرجاعها بواسطة getValues ​​() ثم العمل على تلك النسخة لاحقًا ، على سبيل المثال:

ستعمل هذه الشفرة بشكل جيد (على سبيل المثال ، ستخرج الاختبار دون إنشاء أي رسالة "فهرس غير محدد") ، ولكن اعتمادًا على ما تحاول تحقيقه ، قد يكون هذا الأسلوب مناسبًا وقد لا يكون كذلك. على وجه الخصوص ، لن يقوم الكود أعلاه بتعديل مصفوفة قيم $ الأصلية. حتى لو كنت فعل تريد تعديلاتك (مثل إضافة عنصر "اختبار") للتأثير على المصفوفة الأصلية ، فستحتاج بدلاً من ذلك إلى تعديل وظيفة getValues ​​() لإرجاع المرجعي إلى مصفوفة قيم $ نفسها. يتم ذلك عن طريق إضافة & amp قبل اسم الوظيفة ، مما يشير إلى أنه يجب إرجاع مرجع ، أي:

سيتم اختبار ناتج هذا ، كما هو متوقع.

ولكن لجعل الأمور أكثر إرباكًا ، ضع في اعتبارك بدلاً من ذلك مقتطف الشفرة التالي:

إذا كنت تعتقد أن هذا سيؤدي إلى نفس خطأ "الفهرس غير المحدد" مثل مثال المصفوفة السابق ، فأنت مخطئ. حقيقة، هذه سوف تعمل التعليمات البرمجية بشكل جيد. والسبب هو أنه ، على عكس المصفوفات ، تقوم PHP دائمًا بتمرير الكائنات حسب المرجع. (ArrayObject هو كائن SPL ، والذي يحاكي استخدام المصفوفات بشكل كامل ، ولكنه يعمل ككائن.)

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

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

يمنح هذا الأسلوب المتصل القدرة على تعيين أو الحصول على أي قيمة في المصفوفة دون توفير وصول عام إلى مصفوفة قيم $ الخاصة بخلاف ذلك.


أكثر 10 أخطاء شائعة في توثيق السجلات الصحية الإلكترونية

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

1. لا توجد شكوى رئيسية أو تاريخ مرضي حالي (HPI)
تتطلب إرشادات توثيق التقييم والإدارة أن يتم توثيق الشكوى الرئيسية بوضوح من أجل إثبات الضرورة الطبية. تتطلب الإرشادات أن يقوم الطبيب فقط بتوثيق HPI.

2. عدم مراجعة الأنظمة
توفر مراجعة الأنظمة طريقة لاكتشاف العلامات الحمراء. هذا مهم بشكل خاص للتأكد من عدم وجود موانع للعلاج. بدون مراجعة الأنظمة ، يصبح الاختبار تلقائيًا امتحان المستوى الأول (99201/99211) ، والذي يُعرف باسم رمز الممرضة. لا يتطلب فحص المستوى الأول حضور الطبيب ولا يُقصد به حقًا استخدام الطبيب.

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

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

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

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

7. التوثيق الذي يفتقر إلى التقييم أو التقييم غير الكامل
يشير جزء التقييم من الملاحظة إلى الضرورة الطبية. هذا هو المجال الذي يشير فيه الطبيب إلى كيفية تحسن المريض والأسباب المنطقية للإجراءات. يجب الإجابة على سؤالين في كل لقاء & # 8220 كيف يتحسن المريض؟ & # 8221 و & # 8220 لماذا لا يزالون بحاجة إلى الرعاية؟ " سيوفر استخدام هذه المعلومات عمليات التفكير التي تم استخدامها في تقييم تقدم المريض.

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

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

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


العشرة الأوائل الأكثر شيوعًا للثغرات الأمنية لقواعد البيانات

ما هي نقاط الضعف في قواعد البيانات الأكثر شيوعًا وخطورة التي يجب أن تكون الشركات على دراية بها؟

بقلم تشارلي أوزبورن لـ Zero Day | 26 يونيو 2013 - 12:38 بتوقيت جرينتش (05:38 بتوقيت المحيط الهادئ) | الموضوع: إدارة البيانات

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

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

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

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

1. عمليات النشر الفاشلة

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

2. قواعد البيانات معطلة

تمكنت دودة SQL Slammer لعام 2003 من إصابة أكثر من 90 في المائة من أجهزة الكمبيوتر المعرضة للخطر في غضون 10 دقائق من النشر ، مما أدى إلى إزالة الآلاف من قواعد البيانات في دقائق. استفادت هذه الدودة من الخطأ الذي تم اكتشافه في برنامج قاعدة بيانات Microsoft SQL Server في العام السابق ، لكن القليل من مسؤولي النظام قاموا بتثبيت إصلاح ، مما ترك أجهزة الكمبيوتر عرضة للخطر.

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

3. تسرب البيانات

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

4. نسخ احتياطي لقاعدة البيانات المسروقة

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

5. إساءة استخدام ميزات قاعدة البيانات

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

6. عدم وجود الفصل

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

7. الحجلة

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

8. حقن SQL

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

9. إدارة المفتاح دون المستوى

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

10. عدم اتساق قاعدة البيانات

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


محتويات

مجلة النشر منذ ذلك الحين عامل التأثير (2019) الوصول المفتوح
طبيعة سجية 1869 42.779 لا
اتصالات الطبيعة 2010 12.121 نعم
المعاملات الفلسفية للمجتمع الملكي أ 1905 (1665 قبل الانقسام) 3.275 جزئي بعد سنتين
بلوس واحد 2006 2.740 نعم
وقائع الأكاديمية الوطنية للعلوم 1914 9.412 جزئي بعد 6 أشهر
وقائع الجمعية الملكية أ 1905 (1800 قبل التقسيم) 2.741 جزئيًا عند الطلب أو بعد عامين
علم 1880 41.846 لا
تقدم العلم 2015 13.117 نعم ذهب
التقارير العلمية 2011 3.998 نعم

تحرير علم الفلك والفيزياء الفلكية

تحرير الكيمياء

المجلات المدرجة أدناه هي أعلى 10 مجلات في الكيمياء تنشر أبحاثًا في جميع مجالات الكيمياء ، مرتبة وفقًا للعدد الإجمالي للمراجع. [1] ينبغي الرجوع إلى القائمة الشاملة المشار إليها أعلاه للمجلات رفيعة المستوى في مجالات محددة من الكيمياء.


الثقة في تحليل IDS للمحللين غير الخبراء

قد يبدو هذا وكأنه مجرد مسألة منطقية ، لكنه موقف نراه كثيرًا. في هذا السيناريو ، أنفقت الشركة بالفعل قدرًا كبيرًا من المال على NIDS أو HIDS أو كليهما ، ويتوقعون أن يكون الموظفون الحاليون قادرين على تنفيذ وإدارة وتفسير تنبيهات IDS والتوصل إلى الاستجابات المناسبة لهذه التنبيهات . في كثير من الأحيان ، يعتمد هذا الاعتقاد على ما قاله لهم بائع IDS في دفع طبيعة "مفتاح التشغيل" لمنتجه.

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

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

يجب أن يكون محلل IDS خبيرًا في شبكات TCP / IP ، وتحليل سجلات الشبكات وتتبع الحزم ، وأيضًا على دراية جيدة بخدمات الشبكة والتطبيقات التي تعمل على الأجهزة الممكّنة لـ HIDS. هذا المستوى من المعرفة مطلوب لتفسير تنبيهات نظام كشف التسلل بشكل صحيح للتأكد من صحتها ثم تنفيذ استجابة التطفل الصحيحة.


الخطأ الشائع السادس: الخلط بين كيفية ربط بايثون للمتغيرات في الإغلاق

بالنظر إلى المثال التالي:

قد تتوقع النتيجة التالية:

يحدث هذا بسبب لغة بايثون الربط المتأخر السلوك الذي يشير إلى أن قيم المتغيرات المستخدمة في عمليات الإغلاق يتم البحث عنها في وقت استدعاء الوظيفة الداخلية. لذلك في الكود أعلاه ، كلما تم استدعاء أي من الوظائف التي تم إرجاعها ، يتم البحث عن قيمة i في النطاق المحيط وقت استدعائه (وبحلول ذلك الوقت ، تكون الحلقة قد اكتملت ، لذلك تم بالفعل تعيين قيمتها النهائية البالغة 4).

الحل لمشكلة بايثون الشائعة قليل من الاختراق:

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


متنوع

ApprovalConnectionOwnerNotEnabledInGraph

تم العثور على مالك اتصال الموافقات في الرسم البياني ، ولكن لم يتم تمكين الحساب. معرف الكائن: ''. "

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

ApprovalConnectionOwnerNotFoundInGraph

لم يتم العثور على مالك اتصال الموافقات في الرسم البياني. معرف الكائن: '. ".

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

الموافقةالاشتراك غير مسموح به

"لا يمكن انتظار هذه الموافقة في حالتها الحالية.".

بحلول الوقت الذي تم فيه تنفيذ إجراء "انتظار الموافقة" ، تكون الموافقة قد اكتملت بالفعل. يمكن انتظار الموافقات النشطة فقط من خلال هذا الإجراء.

InvalidApprovalCustomOptions

خيارات الاستجابة المتوفرة لهذه الموافقة غير صالحة. يجب أن تكون الخيارات أقل من 100 حرف ولا يمكن أن تكون فارغة.

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

InvalidApprovalCreateRequestTitle مفقود

الحقل المطلوب "العنوان" مفقود أو فارغ

كان عنوان الموافقة فارغًا أو فارغًا ، وهذا غير معتمد.

XrmApplyUserNotMemberOfSecurityGroup

تعذر إنشاء سجل نظام CDS يمثل المستخدم '447d6a60-1794-4f74-9ddb-397e41d86ba7'. الرجاء مطالبة مسؤول قاعدة البيانات بإضافة المستخدم إلى مجموعة الأمان المصرح بها. '.

قاعدة بيانات CDS لهذه البيئة محمية بواسطة مجموعة أمان. سيحتاج مالك مجموعة الأمان إلى إضافة جميع منشئي الموافقة ومقدمي الطلبات والمستلمين إلى مجموعة الأمان. يمكن تكوين مجموعة الأمان من مركز إدارة Power Platform.

XrmApprovalsGeneralPermissionsError

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


شاهد الفيديو: أخطاء شائعة تقع بين الزوجين اجتنب 10محرمات تقع بين الزوجين!!إياك أن تقع بها #shorts (كانون الثاني 2022).