Information

Gibt es eine Liste mit häufigen Fehlern in Datenbankeinträgen?

Gibt es eine Liste mit häufigen Fehlern in Datenbankeinträgen?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Ich bin Student an der Fakultät für Biologie. Im Rahmen meiner Aufgabe für das Fach Bioinformatik wurde ich gebeten, auf häufige Fehler in biologischen Datenbanken (z.B. Uniprot) hinzuweisen. Zum Beispiel "Dehydrofolatreduktase". Gibt es eine Liste mit solchen häufigen Fehlern? Könnten Sie andernfalls aus Ihrer eigenen Erfahrung einige Beispiele für ähnliche Fehler nennen, denen Sie regelmäßig begegnen?


Microsoft Excel hat die unangenehme Angewohnheit zu glauben, dass es Ihre Daten besser kennt als Sie, und wenn es Gennamen wie Mar3 und Sept7 sieht, versucht es, hilfreich zu sein und sie in Daten umzuwandeln.

Jedes Mal, wenn jemand eine lange Genliste in Excel eingibt und sie wieder herausnimmt, werden diese Gene und ihre Verwandten in Daten umgewandelt.

Dies ist seit Jahren bekannt, aber Sie sehen es immer noch in vielen, vielen veröffentlichten Artikeln.

Laut http://dx.doi.org/10.1186/s13059-016-1044-7 enthalten fast 20 % der mit Excel erstellten Artikelergänzungsmaterial-Genlisten solche Fehler.


Sequenzierung von Artefakten in den Typ-A-Influenza-Datenbanken und Versuche, sie zu korrigieren. ist ein Papier, das Fehler in einer biologischen Datenbank beschreibt. Es gibt mehrere andere Veröffentlichungen, die sich auf ähnliche Weise mit Fehlern in Influenza-Genomdatenbanken befassen, aber diese hat mir wegen ihres einzigartigen Ansatzes besonders gefallen:

Im Rahmen eines Schulklassenprojekts wurden in den öffentlichen Datenbanken Influenza-Sequenzen mit möglichen Fehlern identifiziert, da die Größe des Gens länger als erwartet war, mit der Hypothese, dass diese Sequenzen einen Fehler aufweisen würden. Die Schüler kontaktierten Sequenzeinreicher, um sie auf die möglichen Sequenzprobleme aufmerksam zu machen, und forderten sie auf, die verdächtige(n) Sequenz(en) entsprechend zu korrigieren.

Ein großes Lob an den leitenden Ermittler David Suarez für die Kombination eines wirklich nützlichen Projekts mit coolem Outreach.


Streng genommen sollte ich einfach dafür stimmen, diese Frage als Hausaufgabe oder zu weit gefasst zu schließen oder den Kommentar von WYSWYG als Antwort zu wiederholen. Ändert man die Frage jedoch zu wie soll man dieses problem lösen als Bioinformatiker wird es interessanter.

Für einen Biologiestudenten ohne Programmierkenntnisse scheint es eine Verzerrung zu sein, es Bioinformatik zu nennen. Ein Aspekt der Bioinformatik besteht darin, Programmiertechniken zu verwenden, die Wiederholungen und wenn/sonst-Entscheidungen automatisieren, um mühsame manuelle Operationen zu vermeiden. Kann man sich also mögliche nicht-programmierende Ansätze vorstellen? Hier sind ein paar Vorschläge, die andere vielleicht hinzufügen möchten.

  1. Erstellen Sie eine Liste mit Begriffen wie Nitrat, Phosphat, Citrat, Sulfat/Sulfat, die alle auf -ate enden. Im Deutschen sind diese im Allgemeinen ähnlich, enden aber auf -at (ohne e). Auch wenn Sie kein Deutsch haben, können Sie einen Online-Übersetzer verwenden. Meiner Erfahrung nach weisen einige Einträge in der PDB Rechtschreibfehler auf, die sich aus solchen sprachlichen Ähnlichkeiten ergeben, sodass Sie nach den deutschen Schreibweisen suchen könnten. Vielleicht suchen Sie sogar nach deutschen oder französischen Abkürzungen für RNA und DNA (RNS, DNS, ARN, ADN). Immer noch ein manueller Ansatz, aber es würde eine gewisse Logik dahinterstecken.

  2. Wenn es möglich ist, alle relevanten Schlüsselwörter in Ihrer Datenbank zu finden, können Sie herausfinden, wie oft jedes Wort vorkommt. Ich könnte dies mit einem Programm tun, aber vielleicht hat Excel dafür eine Möglichkeit. Sie könnten Google nachsehen. Dann könnte man davon ausgehen, dass Schreibfehler nur relativ selten vorkommen. Sie können dann die Begriffe mit der geringsten Häufigkeit durcharbeiten und nach Rechtschreibfehlern suchen.

Wenn Sie Programmierkenntnisse hätten, könnten Sie Ansatz 2 modifizieren, indem Sie nach Wörtern suchen, die sich durch einen einzelnen Buchstaben unterscheiden, in der Annahme, dass einige dieser Unterschiede Rechtschreibfehler sind. (Vermutlich wäre eine Sprache wie Perl, die für die Verwendung mit regulären Ausdrücken entwickelt wurde, am besten geeignet.)


Wenn Sie solche Fehler in kuratierten Datenbanken wie UniProt finden, teilen Sie dies bitte den Datenbankkuratoren mit.

In der von Experten kuratierten, überprüften Rubrik UniProtKB/Swiss-Prot korrigieren wir gerne Tippfehler und andere Fehler. Was die ungeprüften UniProtKB/TrEMBL-Einträge betrifft, ist dies etwas komplexer, wie Michael_A oben feststellt. In vielen Fällen können jedoch die Nukleotidsequenzdatenbanken (EMBL-Bank/GenBank/DDBJ) aufgefordert werden, die zugrunde liegende Quelle zu korrigieren, und die korrigierten Namen können dann in UniProtKB/TrEMBL aktualisiert/reimportiert werden.


Durchsuchen Sie verwandte Fragen

Über uns

Wir sind das Consumer Financial Protection Bureau (CFPB), eine US-Regierungsbehörde, die dafür sorgt, dass Banken, Kreditgeber und andere Finanzunternehmen Sie fair behandeln.

Haftungsausschluss

Der Inhalt dieser Seite enthält allgemeine Verbraucherinformationen. Es handelt sich nicht um Rechtsberatung oder behördliche Anleitung. Die CFPB aktualisiert diese Informationen regelmäßig. Diese Informationen können Links oder Verweise auf Ressourcen oder Inhalte Dritter enthalten. Wir unterstützen keine Drittanbieter oder garantieren die Richtigkeit dieser Informationen von Drittanbietern. Möglicherweise gibt es auch andere Ressourcen, die Ihren Anforderungen entsprechen.


(1) Gemeinsame Nachschlagetabellen

Vor einigen Jahren schrieb Don Peterson einen Artikel für SQL Server Central, in dem eine gängige Vorgehensweise zum Erstellen einer einzelnen Lookup-Tabelle für verschiedene Datentypen beschrieben wurde, die normalerweise als Codetabelle oder “allowed value table” (AVT) bezeichnet werden. Diese Tabellen sind in der Regel massiv und enthalten einen Haufen nicht zusammenhängender Daten. Passenderweise nannte Don diese Tabellen Massively Unified Code-Key (MUCK)-Tabellen (Peterson, 2006). Obwohl viele andere im Laufe der Jahre darüber geschrieben haben, scheint dieser Name die Ungeschicklichkeit, die mit einer solchen Struktur verbunden ist, am effektivsten zu erfassen.

In vielen Fällen sind die Daten in diesen Tabellen VARCHAR(n), obwohl der tatsächliche Datentyp dieser Werte alles sein kann von GANZE ZAHL zu TERMINZEIT. Sie werden meist in drei Spalten dargestellt, die eine Form der Beispieltabelle haben können (Abbildung 1):

Die Begründung hier ist, dass jede Entität im Beispiel hier einen ähnlichen Satz von Attributen hat und es daher in Ordnung ist, sie in eine einzelne Tabelle zu packen. Immerhin führt dies zu weniger Tabellen, halten Sie die Datenbank einfacher, oder?

Während des Entwurfsprozesses kann der Datenbankdesigner auf mehrere kleine Tabellen stoßen (im Beispiel sind dies Tabellen, die verschiedene Arten von Entitäten darstellen, wie z Codes’, ‘Lagertyp’ usw.).

Er beschließt dann, sie alle wegen der Ähnlichkeit ihrer Spalten zu kombinieren. Er geht davon aus, dass er redundante Tabellen eliminiert und die Datenbank vereinfacht, er wird weniger Tabellen haben, er spart Platz, verbessert die Effizienz usw. Die Leute gehen auch davon aus, dass dies die Komplexität des erforderlichen SQL reduziert, da eine einzige Routine/gespeicherte Prozedur sein kann geschrieben, um auf jede Art von Daten zuzugreifen.

  • Erstens verlieren Sie die Mittel, um genaue Datenbeschränkungen sicherzustellen. Durch das Kombinieren verschiedener Entitäten in einer einzigen Tabelle haben Sie keine deklarativen Mittel, um Werte einer bestimmten Kategorie einzuschränken. Es gibt keine einfache Möglichkeit, einfache Fremdschlüsseleinschränkungen zu erzwingen, ohne die Kategorie ID in allen Referenzschlüsseln.
  • Zweitens sind Sie bei dieser Art von generischen Lookup-Tabellen gezwungen, jeden Datentyp als String darzustellen. Eine solche Vermischung verschiedener Typen kann ein Problem sein, da Prüfbeschränkungen nicht ohne größere Code-Hacking auferlegt werden können. In dem Beispiel, das wir angegeben haben, ist der Rabattcode CHAR(3) und location_nbr ist INT(4), wie sollte der Datentyp der Spalte ‘code’ in der Common Lookup-Tabelle sein?
  • Drittens verpflichten Sie sich zu Starrheit und daraus resultierender Komplexität. Sie könnten versucht sein zu fragen, wie kann ein so scheinbar einfaches und flexibles Design starr sein? Nun, in Anbetracht unseres Beispiels für ein allgemeines Nachschlagetabellenschema stellen Sie sich vor, dass die Tabelle ‘LocationCode’ eine weitere Spalte enthält, die möglicherweise ‘region’ lautet. Welche Folgen hat das Hinzufügen eines Status zur Tabelle ‘DiscountType’? Nur um eine einzelne Kategorie zu ändern, müssen Sie in Betracht ziehen, für alle Zeilen in der Tabelle Platz zu machen, unabhängig davon, ob die neue Spalte für sie gilt oder nicht. Wie steht es um die Komplexität? Die Idee, gemeinsame Lookup-Tabellen zu verwenden, entspringt oft der Idee, Entitäten zu verallgemeinern, wobei eine einzelne Tabelle ein “Ding” – ziemlich alles darstellt.
    Vergleichen Sie dies mit der Grundregel, dass eine gut gestaltete Tabelle eine Reihe von Fakten über Entitäten oder Beziehungen derselben Art darstellt. Das Problem bei der Verallgemeinerung von Entitäten besteht darin, dass eine Tabelle zu einem Haufen nicht zusammenhängender Zeilen wird: Folglich verlieren Sie dann die Genauigkeit der Bedeutung, gefolgt von Verwirrung und oft unerwünschter Komplexität.
    Das Hauptziel eines DBMS besteht darin, die Regeln durchzusetzen, die bestimmen, wie die Daten dargestellt und manipuliert werden. Stellen Sie sicher, dass Sie die Begriffe “generalisieren”, “wiederverwenden” usw. im Kontext des Datenbankdesigns nicht so verwechseln, dass Sie keine Kontrolle darüber haben, was entworfen wird.
  • Viertens und schließlich sind Sie mit den Problemen der physischen Implementierung konfrontiert. Während das logische Design als vollständig von der physischen Implementierung getrennt betrachtet wird, können physische Implementierungen in kommerziellen DBMS-Produkten wie SQL Server durch das logische Design beeinflusst werden und umgekehrt. In großen Unternehmen können solche allgemeinen Nachschlagetabellen auf Hunderttausende von Zeilen anwachsen und erfordern eine umfangreiche physische Datenbankoptimierung. Sperr- und Parallelitätsprobleme bei solch großen Tabellen müssen ebenfalls kontrolliert werden. Die interne Darstellung eines bestimmten Satzes von Zeilen im physischen Speicher kann ein entscheidender Faktor dafür sein, wie effizient auf die Werte durch SQL-Abfragen zugegriffen und diese bearbeitet werden können.

Als allgemeine Empfehlung sollten Sie immer separate Tabellen für jede logische Entität verwenden und die entsprechenden Spalten mit den richtigen Typen, Einschränkungen und Referenzen identifizieren. Es ist besser, einfache Routinen und Prozeduren zu schreiben, um auf die Daten in den Tabellen zuzugreifen und sie zu bearbeiten, ohne auf “dynamischen Code” zu zielen.

Gewöhnliche Lookup-Tabellen haben keinen Platz in einem sinnvollen Datenbankdesign, sei es als kurzfristige Behelfslösung oder als langfristig praktikable Lösung. Obwohl anwendungserzwungene Integrität manchmal von Entwicklern bevorzugt wird, bleibt es wahr, dass das DBMS immer noch der zentralisierte Erzwinger aller Integrität sein muss. Da das oberste Ziel eines bestimmten Datenbankentwurfs darin besteht, die Datenintegrität und logische Korrektheit zu bewahren, sind gängige Nachschlagetabellen einer der schlimmsten Fehler, die man machen kann.


Häufiger Fehler Nr. 3: Verwirrung über die Rückgabe nach Referenz vs. nach Wert

Betrachten Sie dieses Code-Snippet:

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendes:

Das Problem besteht darin, dass der obige Code die Rückgabe von Arrays nach Verweis mit der Rückgabe von Arrays nach Wert verwechselt. Sofern Sie PHP nicht explizit anweisen, ein Array als Referenz zurückzugeben (d. h. durch Verwendung von & ), gibt PHP das Array standardmäßig „nach Wert“ zurück. Dies bedeutet, dass a Kopieren des Arrays zurückgegeben und daher greifen die aufgerufene Funktion und der Aufrufer nicht auf dieselbe Instanz des Arrays zu.

Der obige Aufruf von getValues() gibt also a . zurück Kopieren des Arrays $values ​​statt einer Referenz darauf. Sehen wir uns in diesem Sinne die beiden Schlüsselzeilen aus dem obigen Beispiel noch einmal an:

Eine mögliche Lösung wäre, die erste Kopie des von getValues() zurückgegebenen $values-Arrays zu speichern und diese Kopie anschließend zu bearbeiten, z.

Dieser Code funktioniert einwandfrei (d. h. er gibt einen Test aus, ohne eine Meldung "undefinierter Index" zu generieren), aber je nachdem, was Sie erreichen möchten, kann dieser Ansatz angemessen sein oder nicht. Insbesondere wird der obige Code das ursprüngliche $values-Array nicht ändern. Also wenn du tun Wenn Sie möchten, dass Ihre Änderungen (z. B. das Hinzufügen eines "Test" -Elements) das ursprüngliche Array beeinflussen, müssen Sie stattdessen die Funktion getValues() ändern, um a zurückzugeben Hinweis zum Array $values ​​selbst. Dies geschieht durch Hinzufügen eines & vor dem Funktionsnamen, wodurch angezeigt wird, dass eine Referenz zurückgegeben werden soll, z. B.:

Die Ausgabe davon wird wie erwartet test sein.

Aber um die Sache noch verwirrender zu machen, betrachten Sie stattdessen das folgende Code-Snippet:

Wenn Sie vermutet haben, dass dies zu demselben „undefinierten Index“-Fehler wie in unserem früheren Array-Beispiel führen würde, haben Sie sich geirrt. Eigentlich, Dies Code wird gut funktionieren. Der Grund ist, dass im Gegensatz zu Arrays PHP übergibt Objekte immer als Referenz. ( ArrayObject ist ein SPL-Objekt, das die Verwendung von Arrays vollständig imitiert, aber als Objekt funktioniert.)

Wie diese Beispiele zeigen, ist es in PHP nicht immer ganz klar, ob es sich um eine Kopie oder eine Referenz handelt. Es ist daher wichtig, dieses Standardverhalten zu verstehen (dh Variablen und Arrays werden als Wert übergeben, Objekte werden als Referenz übergeben) und auch die API-Dokumentation für die aufgerufene Funktion sorgfältig zu überprüfen, um zu sehen, ob sie einen Wert zurückgibt, eine Kopie eines Arrays, eine Referenz auf ein Array oder eine Referenz auf ein Objekt.

Trotzdem ist es wichtig zu beachten, dass die Praxis, einen Verweis auf ein Array oder ein ArrayObject zurückzugeben, im Allgemeinen vermieden werden sollte, da der Aufrufer die Möglichkeit bietet, die privaten Daten der Instanz zu ändern. Dies „fliegt ins Gesicht“ der Kapselung. Stattdessen ist es besser, "Getter" und "Setter" im alten Stil zu verwenden, z. B.:

Dieser Ansatz gibt dem Aufrufer die Möglichkeit, einen beliebigen Wert im Array zu setzen oder abzurufen, ohne öffentlichen Zugriff auf das ansonsten private $values-Array selbst zu gewähren.


Die 10 häufigsten Fehler in der EHR-Dokumentation

Medicare hat kürzlich drei Klarstellungen zu den Dokumentationsanforderungen veröffentlicht. Die Dokumentation ist nicht nur für die ordnungsgemäße Erstattung von entscheidender Bedeutung, sondern auch für das Risikomanagement und die Kontinuität der Versorgung erforderlich. Sogar der Kassenpatient muss über eine ordnungsgemäße Dokumentation verfügen, um das Risiko von Vorwürfen von Fahrlässigkeit oder Fehlverhalten zu verringern. Elektronische Patientenakten (EHR) sind ein wirksames Instrument, um auf effiziente Weise genaue Aufzeichnungen bereitzustellen. Obwohl EHR ein wirksames Instrument ist, könnte es bei Missbrauch unser Risiko von Wiedergutmachungen, Geldstrafen oder Gefängnisstrafen bei einer Prüfung erheblich erhöhen. Im Folgenden habe ich die häufigsten Probleme im Zusammenhang mit der elektronischen Dokumentation aufgeführt.

1. Keine Hauptbeschwerden oder Vorgeschichte einer aktuellen Krankheit (HPI)
Richtlinien zur Bewertung und Management-Dokumentation verlangen, dass eine Hauptbeschwerde eindeutig dokumentiert wird, um die medizinische Notwendigkeit festzustellen. Richtlinien verlangen, dass nur der Arzt das HPI dokumentiert.

2. Keine Überprüfung der Systeme
Die Überprüfung von Systemen bietet eine Methode zur Erkennung von Warnsignalen. Dies ist besonders wichtig, um sicherzustellen, dass es keine Kontraindikationen für die Behandlung gibt. Ohne eine Überprüfung der Systeme wird die Prüfung automatisch zu einer Prüfung der Stufe 1 (99201/99211), die als Krankenschwestercode bekannt ist. Eine Untersuchung der Stufe 1 erfordert keine Anwesenheit des Arztes und ist nicht wirklich für den Arzt bestimmt.

3. Informationen werden automatisch von Besuch zu Besuch weitergegeben.
Software kann aktiviert sein, um Informationen von Tag zu Tag weiterzugeben. Untersuchungsergebnisse und andere Informationen wie der Blutdruck würden, wenn sie übertragen werden, darauf hinweisen, dass die Untersuchung an diesem Tag durchgeführt wurde. Dies führt zu Ungenauigkeiten in den Aufzeichnungen und kann als Betrug angesehen werden. Fehler können auch auftreten, wenn ein Arzt ein Ergebnis, das bei einem früheren Besuch möglicherweise positiv war, aber für den aktuellen Besuch negativ ist, nicht ändert.

4. Nur die positiven Befunde erfassen
Positive Befunde und negative Befunde haben erheblichen Einfluss darauf, ob eine Diagnose ausgeschlossen oder ausgeschlossen wurde. Denken Sie an das alte Sprichwort, wenn es nicht aufgeschrieben wird, ist es nie passiert.

5. Nur Auflistung der Diagnose bei jedem Besuch zur Beurteilung
Die Bewertung ist der Teil der täglichen Begegnung, der die Meinung und Beurteilung des Anbieters über das Geschehen im Fall widerspiegelt. Die alleinige Auflistung der Diagnose bei jedem Besuch stellt keine medizinische Notwendigkeit dar.

6. Verwendung der gleichen Diagnoseliste für jeden Patienten
Alle von uns Ärzten sind schuldig, unsere Lieblingsdiagnoseliste zu haben. Die Auswahl aus einer ausgewählten Liste von Diagnosen oder Codes wird unser Denken einschränken. Anamnese und Untersuchung müssen jede Diagnose unterstützen. Darüber hinaus ist die Diagnose einer Lumbalgie oder Zervikalgie nicht spezifisch und sollte vermieden werden.

7. Unterlagen ohne Bewertung oder unvollständige Bewertung
Der Bewertungsteil des Vermerks weist auf die medizinische Notwendigkeit hin. Dies ist ein Bereich, in dem der Arzt aufzeigt, wie sich der Patient verbessert, und die Gründe für die Verfahren. Bei jeder Begegnung müssen zwei Fragen beantwortet werden “Wie geht es dem Patienten?” Und “Warum braucht er noch Pflege?“ Die Nutzung dieser Informationen liefert die Denkprozesse, die bei der Bewertung des Fortschritts des Patienten verwendet wurden.

8. Dokumentation unterstützt nicht den Grad der Manipulation
Häufig untersucht der Arzt Bereiche außerhalb der Beschwerden des Patienten. Vorsorge- oder Wellnesspflege ist keine versicherte Leistung im Rahmen eines Versicherungsprogramms. Wellnesspflege für eine bestimmte Region sollte dem Träger niemals als aktive Behandlung in Rechnung gestellt werden. Wenn Sie 3-4 Regionen manipulieren, sollten Sie für alle 3-4 Regionen Befunde und eine Diagnose haben.

9. Fehlende Audit- und interne Überwachungsrichtlinien
Unabhängige Audits sind für den Compliance-Prozess jedes Unternehmens von enormer Bedeutung. Es ist sehr nützlich und eine kluge Investition, einen zertifizierten, unabhängigen Auditor zu beschäftigen, der sich mit den Dokumentationsanforderungen für jeden Spediteur und dem Standard der Sorgfalt in unserem Beruf auskennt. Ein Audit ist Ihr Beweis dafür, dass Sie sich in gutem Glauben bemühen, die Vorschriften einzuhalten. Durch den Auditprozess können Sie Dokumentationsprobleme mit Ihrer elektronischen Patientenaktensoftware aufdecken und beheben, was bei der Entwicklung von Richtlinien oder Änderungen an Ihrer Computersoftware hilft, um Mängel zu beheben.

10. Fehlende Schulung in Bezug auf die Anforderungen an die elektronische Patientenakte
Alle Ärzte und Mitarbeiter sollten gründlich über die Anforderungen an elektronische Patientenakten geschult werden. Medicare, kommerzielle Träger, unsere Träger für Kunstfehler, der Rechnungshof und Landesverbände geben Hinweise zu den Richtlinien für die sinnvolle Anwendung, den Richtlinien für klinische Parameter und dem Behandlungsstandard für die Dokumentation. Ein Teamansatz bei klinischen Richtlinien und Abrechnungsrichtlinien führt zu einer verbesserten Compliance für das Büro und zu einem Seelenfrieden für alle. Die Kenntnis der Risiken elektronischer Patientenakten ist der erste Schritt zur Verbesserung Ihrer Dokumentation und zur Reduzierung Ihres Auditrisikos.


Die zehn häufigsten Sicherheitslücken in Datenbanken

Was sind die häufigsten und schwerwiegendsten Datenbankschwachstellen, die Unternehmen beachten sollten?

Von Charlie Osborne für Zero Day | 26. Juni 2013 -- 12:38 GMT (05:38 PDT) | Thema: Datenmanagement

Die digitale Kriegsführung und die weltweiten Cyberangriffsraten nehmen zu, und der Schutz in Unternehmensnetzwerken ist noch wichtiger.

Datenbanken sind aufgrund der oft wertvollen Natur vertraulicher Informationen, die darin eingeschlossen sind, ein wichtiges Ziel für Cyberkriminelle. Unabhängig davon, ob die Daten finanzieller Natur sind oder geistiges Eigentum und Unternehmensgeheimnisse enthalten, können Hacker weltweit davon profitieren, die Server eines Unternehmens zu knacken und Datenbanken zu plündern.

Laut einem neuen Bericht von Dark Reading gibt es eine Reihe wichtiger Sicherheitsmängel, die Cyberkriminelle ausnutzen. Häufig sind es jedoch die Mitarbeiter eines Unternehmens – Datenbankentwickler, Administratoren und dergleichen –, die die notwendige Umgebung für Angriffe schaffen, um Zugriff auf Daten zu erhalten.

Die Top-Ten-Schwachstellen, die häufig in datenbankgestützten Systemen gefunden werden, sei es während der Erstellungsphase, durch die Integration von Anwendungen oder beim Update und Patchen, lauten die Forscher:

1. Bereitstellungsfehler

Die häufigste Ursache für Datenbankschwachstellen ist mangelnde Sorgfalt zum Zeitpunkt der Bereitstellung. Obwohl jede gegebene Datenbank auf Funktionalität getestet wird und um sicherzustellen, dass sie das tut, wofür die Datenbanken ausgelegt sind, werden nur sehr wenige Prüfungen durchgeführt, um zu überprüfen, ob die Datenbank nicht Dinge tut, die sie nicht tun sollte.

2. Defekte Datenbanken

Der SQL-Slammer-Wurm von 2003 konnte innerhalb von 10 Minuten nach der Bereitstellung mehr als 90 Prozent der anfälligen Computer infizieren und Tausende von Datenbanken in wenigen Minuten lahmlegen. Dieser Wurm machte sich einen Fehler zunutze, der im Vorjahr in der SQL Server-Datenbanksoftware von Microsoft entdeckt wurde, aber nur wenige Systemadministratoren installierten einen Fix, der Computer anfällig machte.

Durch die Ausnutzung einer Pufferüberlauf-Schwachstelle zeigt der Erfolg des Wurms, wie wichtig die Installation von Sicherheitspatches und -fixes ist. Unabhängig davon, ob es an Zeit oder Ressourcen mangelt, sorgen nicht genügend Unternehmen dafür, dass ihre Systeme regelmäßig gepatcht werden, wodurch Datenbanken anfällig werden.

3. Datenlecks

Datenbanken können als "Back-End"-Teil des Büros betrachtet werden und sind vor Bedrohungen aus dem Internet geschützt (und daher müssen Daten nicht verschlüsselt werden), aber dies ist nicht der Fall. Datenbanken enthalten auch eine Netzwerkschnittstelle, sodass Hacker diese Art von Datenverkehr erfassen und ausnutzen können. Um eine solche Falle zu vermeiden, sollten Administratoren SSL- oder TLS-verschlüsselte Kommunikationsplattformen verwenden.

4. Gestohlene Datenbank-Backups

Externe Angreifer, die Systeme infiltrieren, um Daten zu stehlen, sind eine Bedrohung, aber was ist mit denen innerhalb des Unternehmens? Der Bericht legt nahe, dass Insider wahrscheinlich auch Archive stehlen – einschließlich Datenbank-Backups – sei es für Geld, Profit oder Rache. Dies ist ein häufiges Problem für moderne Unternehmen, und Unternehmen sollten die Verschlüsselung von Archiven in Betracht ziehen, um das Insiderrisiko zu mindern.

5. Der Missbrauch von Datenbankfunktionen

Das Forschungsteam sagt, dass in den letzten drei Jahren jeder Datenbank-Exploit, den sie gesehen haben, auf dem Missbrauch einer Standard-Datenbankfunktion beruhte. Ein Hacker kann sich beispielsweise über legitime Anmeldeinformationen Zugang verschaffen, bevor er den Dienst dazu zwingt, beliebigen Code auszuführen. Obwohl komplex, wurde dieser Zugang in vielen Fällen durch einfache Fehler erreicht, die es ermöglichen, solche Systeme auszunutzen oder vollständig zu umgehen. Künftiger Missbrauch kann durch das Entfernen unnötiger Tools begrenzt werden – nicht indem die Möglichkeit von Zero-Day-Exploits zerstört wird, sondern indem zumindest die Oberfläche verringert wird, die Hacker untersuchen können, um einen Angriff zu starten.

6. Mangelnde Trennung

Die Trennung von Administrator- und Benutzerrechten sowie die Funktionstrennung können Betrug oder Diebstahl durch interne Mitarbeiter erschweren. Darüber hinaus kann die Einschränkung der Macht von Benutzerkonten es einem Hacker erschweren, die vollständige Kontrolle über eine Datenbank zu erlangen.

7. Hopscotch

Anstatt den Pufferüberlauf auszunutzen und in der ersten Phase vollständigen Zugriff auf eine Datenbank zu erhalten, spielen Cyberkriminelle oft ein Spiel Hopscotch: Finden einer Schwachstelle in der Infrastruktur, die als Hebel für schwerwiegendere Angriffe verwendet werden kann, bis sie das Back-End erreichen Datenbanksystem. Zum Beispiel kann sich ein Hacker durch Ihre Buchhaltungsabteilung schleichen, bevor er in die Arena der Kreditkartenverarbeitung eindringt. Sofern nicht jede Abteilung über den gleichen Kontrollstandard verfügt, können die Erstellung separater Administratorkonten und die Trennung von Systemen dazu beitragen, das Risiko zu mindern.

8. SQL-Injektionen

SQL-Injections sind eine beliebte Methode für Hacker und bleiben ein kritisches Problem beim Schutz von Unternehmensdatenbanken. Anwendungen werden durch Injektionen angegriffen, und es bleibt dem Datenbankadministrator überlassen, das Chaos zu beseitigen, das durch unsaubere Variablen und bösartigen Code verursacht wird, der in Strings eingefügt und später zur Analyse und Ausführung an eine Instanz des SQL-Servers übergeben wird. Der beste Schutz vor diesen Bedrohungen besteht darin, webbasierte Datenbanken mit Firewalls zu schützen und während der Entwicklung Eingabevariablen auf SQL-Injection zu testen.

9. Unterdurchschnittliche Schlüsselverwaltung

Schlüsselverwaltungssysteme sollen Schlüssel sicher aufbewahren, aber das Forschungsteam fand häufig Verschlüsselungsschlüssel, die auf den Festplattenlaufwerken des Unternehmens gespeichert waren. Datenbankadministratoren glauben manchmal fälschlicherweise, dass diese Schlüssel aufgrund von Datenbankfehlern auf der Festplatte belassen werden müssen, aber das stimmt nicht – und wenn solche Schlüssel in einen ungeschützten Zustand versetzt werden, können Systeme anfällig für Angriffe werden.

10. Inkonsistenzen in der Datenbank

Schließlich stellten die Forscher fest, dass der gemeinsame Nenner all dieser Schwachstellen ein Mangel an Konsistenz ist, der eher ein administratives als ein datenbanktechnisches Problem ist. Systemadministratoren und Datenbankentwickler müssen eine konsistente Vorgehensweise bei der Pflege ihrer Datenbanken entwickeln, sich über Bedrohungen bewusst sein und sicherstellen, dass Schwachstellen beseitigt werden. Dies ist keine leichte Aufgabe, aber Dokumentation und Automatisierung zum Nachverfolgen und Vornehmen von Änderungen können sicherstellen, dass die in Unternehmensnetzwerken enthaltenen Informationen sicher bleiben.


Inhalt

Tagebuch Veröffentlichung seit Impact-Faktor (2019) Uneingeschränkter Zugang
Natur 1869 42.779 Nein
Naturkommunikation 2010 12.121 Jawohl
Philosophische Transaktionen der Royal Society A 1905 (1665 vor der Aufteilung) 3.275 Teilweise nach 2 Jahren
Plus eins 2006 2.740 Jawohl
Proceedings of the National Academy of Sciences 1914 9.412 Teilweise nach 6 Monaten
Verfahren der Royal Society A 1905 (1800 vor der Aufteilung) 2.741 Teilweise auf Anfrage oder nach 2 Jahren
Wissenschaft 1880 41.846 Nein
Wissenschaftliche Fortschritte 2015 13.117 Ja Gold
Wissenschaftliche Berichte 2011 3.998 Jawohl

Astronomie und Astrophysik Bearbeiten

Chemie Bearbeiten

Die unten aufgeführten Zeitschriften sind die 10 ranghöchsten Chemiezeitschriften, die Aufsätze in allen Bereichen der Chemie veröffentlichen, geordnet nach der Gesamtzahl der Referenzen. [1] Die oben zitierte umfassende Liste sollte für hochrangige Zeitschriften in bestimmten Bereichen der Chemie herangezogen werden.


Vertrauen in die IDS-Analyse nicht erfahrenen Analysten

Dies mag wie eine Frage des gesunden Menschenverstands erscheinen, aber es ist eine Situation, die wir nur allzu häufig sehen. In diesem Szenario hat ein Unternehmen bereits einiges an Geld für NIDS, HIDS oder beides ausgegeben und erwartet, dass die aktuellen Mitarbeiter die IDS-Warnungen implementieren, verwalten und interpretieren können und entsprechende Antworten auf diese Warnungen finden . Diese Überzeugung basiert oft auf dem, was der IDS-Anbieter ihnen gesagt hat, als er die "schlüsselfertige" Natur seines Produkts vorangetrieben hat.

Während das IDS-Gerät in Bezug auf das Abhören des Netzwerkverkehrs, die Analyse von Host-Protokolldateien und den Abgleich der Ergebnisse mit den auf dem IDS-Gerät konfigurierten Regeln die "schwere Arbeit" leisten kann, ist ein erfahrener Intrusion Detection-Spezialist erforderlich, um vielen der Ereignisse, die von der IDS gemeldet wurden.

Denn sobald die potenzielle Bedrohung erkannt wurde, muss ein intelligenter Bediener in der Lage sein, die Warnungen auf ihre Gültigkeit zu überprüfen. Viele Male werden legitime Kommunikationen vom IDS als Angriffe interpretiert, und wenn die IDS-Betreiber diese blindlings als tatsächliche Angriffe akzeptieren, könnten sie unschuldigen Hosts sowohl in internen als auch in externen Netzwerken den Dienst verweigern.

Der IDS-Analyst muss ein Experte für TCP/IP-Netzwerke, die Analyse von Netzwerkprotokollen und Paketverfolgungen sein und auch sehr gut über die Netzwerkdienste und -anwendungen informiert sein, die auf den HIDS-fähigen Geräten ausgeführt werden. Dieser Kenntnisstand ist erforderlich, um die IDS-Warnungen richtig zu interpretieren, ihre Gültigkeit zu bestätigen und dann die richtige Einbruchsreaktion auszuführen.


Häufiger Fehler #6: Verwirrend, wie Python Variablen in Closures bindet

Betrachten wir folgendes Beispiel:

Sie können die folgende Ausgabe erwarten:

Dies geschieht aufgrund von Pythons späte Bindung Verhalten, das besagt, dass die Werte von Variablen, die in Closures verwendet werden, zum Zeitpunkt des Aufrufs der inneren Funktion nachgeschlagen werden. Im obigen Code wird also bei jedem Aufruf einer der zurückgegebenen Funktionen der Wert von i nachgeschlagen im umgebenden Umfang zum Zeitpunkt des Aufrufs (und bis dahin ist die Schleife abgeschlossen, also wurde i bereits der Endwert 4 zugewiesen).

Die Lösung für dieses häufige Python-Problem ist ein kleiner Hack:

Voilà! Wir nutzen hier Standardargumente, um anonyme Funktionen zu generieren, um das gewünschte Verhalten zu erreichen. Manche würden das elegant nennen. Manche würden es subtil nennen. Manche hassen es. Aber wenn Sie ein Python-Entwickler sind, ist es auf jeden Fall wichtig, es zu verstehen.


Sonstig

GenehmigungConnectionOwnerNotEnabledInGraph

"Der Inhaber der Genehmigungen-Verbindung wurde in Graph gefunden, aber das Konto ist nicht aktiviert. Objekt Identifikation: ''. '

Der Benutzer, der ursprünglich die vom Flow verwendete Genehmigungsverbindung erstellt hat, wird in Graph nicht mehr gefunden, wahrscheinlich weil das Benutzerkonto entfernt wurde. Ein Besitzer des Flows sollte die Verbindung durch eine Verbindung ersetzen, die einem Benutzer in der Organisation gehört.

GenehmigungConnectionOwnerNotFoundInGraph

'Der Eigentümer der Genehmigungen-Verbindung wurde in Graph nicht gefunden. Objekt Identifikation: '. ''.

Der Benutzer, der ursprünglich die vom Flow verwendete Genehmigungsverbindung erstellt hat, wird in Graph nicht mehr gefunden, wahrscheinlich weil das Benutzerkonto entfernt wurde. Ein Besitzer des Flows sollte die Verbindung durch eine Verbindung ersetzen, die einem Benutzer in der Organisation gehört.

GenehmigungAbonnementNicht erlaubt

'Kann diese Genehmigung im aktuellen Status nicht abwarten.'.

Als die Aktion "Auf Genehmigung warten" ausgeführt wurde, war die Genehmigung bereits abgeschlossen. Bei dieser Aktion kann nur auf aktive Genehmigungen gewartet werden.

InvalidApprovalCustomOptions

Die für diese Genehmigung vorgesehenen Antwortmöglichkeiten sind ungültig. Optionen müssen weniger als 100 Zeichen lang sein und dürfen nicht leer sein.

Dies tritt auf, wenn die Eingabe in die benutzerdefinierten Antwortoptionen für eine Genehmigung ungültig ist und im Flow-Designer korrigiert werden muss. Die Einschränkungen sind in der Fehlermeldung selbst angegeben.

InvalidApprovalCreateRequestTitleMissing

Pflichtfeld 'Titel' fehlt oder ist leer

Der Genehmigungstitel war null oder leer, was nicht unterstützt wird.

XrmApplyUserNotMemberOfSecurityGroup

Es konnte kein CDS-Systemdatensatz erstellt werden, der den Benutzer '447d6a60-1794-4f74-9ddb-397e41d86ba7' darstellt. Bitten Sie einen Datenbankadministrator, den Benutzer der autorisierten Sicherheitsgruppe hinzuzufügen.'.

Die CDS-Datenbank für diese Umgebung wird durch eine Sicherheitsgruppe geschützt. Ein Besitzer der Sicherheitsgruppe muss alle Genehmigungsersteller, Anforderer und Empfänger zur Sicherheitsgruppe hinzufügen. Die Sicherheitsgruppe kann über das Power Platform Admin Center konfiguriert werden.

XrmApprovalsGeneralPermissionsError

'Bei dem Versuch, auf die CDS-Datenbank zuzugreifen, ist ein allgemeiner Berechtigungsfehler aufgetreten. Dies kann durch eine Änderung des Genehmigungsadministrators oder der Benutzerrollen oder durch ein inkompatibles Plugin verursacht werden.


Schau das Video: Finde die Fehler #2. Live-Korrektur. B2C1 Prüfungsvorbereitung (Kann 2022).