Frage:
Wie kann ich meinen Code bei der Einstellung meines ersten Mitarbeiters vor Insider-Bedrohungen schützen?
arao6
2020-06-29 04:41:27 UTC
view on stackexchange narkive permalink

Ich kündige meinen Job, um mein eigenes SaaS-Produkt zu starten. Ich möchte jetzt meinen ersten Mitarbeiter (einen anderen Entwickler) einstellen.

Ich werde geeignete rechtliche Vorkehrungen treffen, um meine IP zu schützen, aber ich frage mich, welche anderen vernünftigen Maßnahmen ich ergreifen kann, um sie weiter zu schützen mein Code / Daten. Das Letzte, was ich möchte, ist, was mit Tesla passiert ist, wo jemand den Quellcode auf iCloud abgelegt und damit zu einem Konkurrenten ausgeführt hat.

Ich weiß, dass es praktisch unmöglich ist, dies zu 100% zu verhindern und dass ich sicherstellen muss, dass ich hochqualifizierte Mitarbeiter anheuere, eine sinnvolle Bezahlung anbiete und die entsprechenden rechtlichen Dokumente unterschreiben lasse. Was kann ich sonst noch tun, um mich vor inneren Bedrohungen zu schützen? Ich stecke die Ersparnisse meines ganzen Lebens in diese und ich werde am Boden zerstört sein, um zu verlieren, was ich den größten Teil von 2 Jahren Codierung verbracht habe.

Folgendes habe ich bisher gedacht:

  • Kaufen Sie einen Arbeitslaptop für sie
  • Verschlüsseln Sie die Festplatte (wie bei Bitlocker)
  • Deaktivieren Sie alle USB-Anschlüsse
  • Erstellen Sie einen Nicht-Administrator / Eingeschränktes Benutzerkonto ohne Installationsberechtigungen und nur die installierten IDEs (z. B. Visual Studio). Ich verwende Windows 10 für die meisten Entwicklungen mit Ausnahme eines Mac für den iOS-Teil der App-Entwicklung.
  • Installieren Sie eine Art Mitarbeiterprotokollierungssoftware.
  • Deaktivieren Sie den Zugriff auf Datei-Hosting-Websites .
  • Erkennen und stoppen Sie irgendwie, wenn ein bestimmter Ordner hochgeladen oder irgendwo kopiert wird?
  • Machen Sie das Git-Repository irgendwie nur von diesem Computer aus zugänglich.
  • Installieren Sie einige Art von Remote-Admin-Management-System? Azure Active Directory oder so?

Dies muss ein häufiges Problem für Unternehmen sein, aber ich muss nach dem Falschen suchen, da ich zu diesem Thema anscheinend nirgendwo einen Leitfaden finde.

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/110231/discussion-on-question-by-arao6-how-to-protect-my-code-from-insider-threats-wh).
Ich hatte noch nie in meiner Karriere einen Arbeitgeber, der versucht hat, mir Zugang zu seinem Quellcode zu gewähren, aber auch versucht hat, mich daran zu hindern, ihn zu stehlen.Das ist so gut wie unmöglich und kontraproduktiv.
Elf antworten:
#1
+81
Anonymous
2020-06-29 06:50:08 UTC
view on stackexchange narkive permalink

Dies ist größtenteils kein technisches Problem, sondern ein menschliches Problem. Während Technologie eine Rolle spielt, hat sie Grenzen.

Wenn der Mitarbeiter von zu Hause aus arbeiten wird, ist dies schwieriger. Wenn Sie seine / ihre Aktivitäten überwachen, möchten Sie nicht gegen geltende Datenschutzgesetze verstoßen.

Der Computer muss natürlich gesichert sein, aber auch der Rest der Umgebung ist wichtig. Wenn Sie über ein Unternehmens-LAN verfügen, sollte ein angemessener Schutz wie eine IDS / Firewall vorhanden sein. Die Geräte sind jedoch häufig unbrauchbar, ohne dass jemand die Protokolle und Warnungen im Auge behält.

Da Sie Visual Studio erwähnt haben, muss der Entwickler möglicherweise mindestens ein lokaler Administrator sein, um unter optimalen Bedingungen arbeiten zu können. Wenn Sie ihre Umgebung lahm legen, könnten sie versucht und sogar gezwungen sein, Problemumgehungen zu finden und Ihre Sicherheitsmaßnahmen zu umgehen, was Sie vermeiden möchten.

Ich fürchte, wir müssen alle anderen Menschen vertrauen und Risiken eingehen. Je mehr Sie Ihre Mitarbeiter überwachen, desto mehr machen Sie ihnen klar, dass Sie ihnen nicht vertrauen und dass sie sich nicht vertrauenswürdig fühlen. Irgendwann wird der Überwachungsaufwand kontraproduktiv, weil Sie sie frustrieren und demotivieren. Sie werden möglicherweise weniger produktiv und weniger loyal.

Sicherheitstraining kann ebenfalls von Vorteil sein. Der Mitarbeiter könnte ehrlich sein und in gutem Glauben handeln, aber anfällig für Social Engineering sein und das Unternehmen und seine Vermögenswerte unabsichtlich gefährden. Naivität kann genauso gefährlich sein wie böswillige Absichten. Ich würde sagen, dass vielen Entwicklern das Bewusstsein für Cybersicherheit fehlt.

Vielleicht sollten Sie einen Penetrationstest gegen Ihr Unternehmen bestellen und daraus lernen. Dadurch verbessert sich Ihre Sicherheitslage und Sie sind besser in der Lage, Angriffe abzuwehren.

Mitarbeiter sind häufig das schwächste Glied, aber Sie sollten auch die Bedrohung durch Hacker und unethische Konkurrenten berücksichtigen. Mit anderen Worten, konzentrieren Sie sich nicht zu sehr auf Ihre Mitarbeiter, sondern entwickeln Sie einen 360 ° -Sicherheitsansatz für Ihr Unternehmen.

Physische Sicherheit ist ebenfalls wichtig. Ein verlorener Laptop sollte keine große Sache sein, wenn die Festplatte verschlüsselt ist und ein sicheres Passwort hat. Ihre Backups sollten sich jedoch an einem sicheren Ort befinden. Berücksichtigen Sie das Risiko eines Einbruchs.

Ja, Backups sind äußerst wichtig . Stellen Sie sicher, dass Sie einen soliden Sicherungsplan haben, und testen Sie ihn von Zeit zu Zeit. Bereiten Sie einen Notfallwiederherstellungsplan vor. Was würde passieren, wenn Ihr Büro mit all Ihren Computergeräten brennt? Sie müssen Ihren Quellcode schützen, aber auch die Geschäftskontinuität planen. Hinweis: Versicherung.

Wenn Sie über eine wertvolle IP verfügen, können Sie Patente beantragen. Auch hier ist dies die Aufgabe eines Anwalts.

Wahrscheinlich finden Sie eine Versicherung , um das Risiko abzudecken. Die Frage ist, ob es sich lohnt, für ein geringes Risiko zu zahlen.

Ich würde auch Aktien oder etwas Eigenkapital des Unternehmens anbieten. Dann haben Ihre Mitarbeiter weniger Anreiz, Ihr Unternehmen zu betrügen und zu sabotieren.

Zusammenfassend: Es gibt so viele mögliche Risiken, dass Sie meiner Meinung nach zu viel Wert auf die Insider-Bedrohung legen. Es ist wahrscheinlicher, dass Sie gehackt werden, als jemanden wegen Fehlverhaltens zu entlassen. Ihre Mitarbeiter müssen Ihre Verbündeten sein und als solche betrachtet werden - nicht als potenzielle Feinde.

"Ich würde auch Aktien oder Aktien des Unternehmens anbieten. Dann haben Ihre Mitarbeiter weniger Anreiz, Ihr Unternehmen zu betrügen und zu sabotieren."Geben Sie dem Mitarbeiter etwas Haut im Spiel, und das ist besser als jede technologische Lösung, um zu verhindern, dass er Schurke wird.
#2
+66
Douwe
2020-06-29 13:10:00 UTC
view on stackexchange narkive permalink

Tun Sie dies nicht:

Erstellen Sie ein Nicht-Administrator- / eingeschränktes Benutzerkonto ohne Installationsberechtigungen und nur mit den installierten IDEs (z. B. Visual Studio).

Deaktivieren Sie den Zugriff auf Datei-Hosting-Websites.

Installieren Sie eine Art Remote-Verwaltungssystem? Azure Active Directory oder so?

Viele Entwickler, auch ich, werden auf diesem Computer nicht für Sie arbeiten, es sei denn, Sie sind bereit, dafür zu sorgen, dass es sich wirklich lohnt. Es bietet wenig Sicherheit, ist aber unglaublich frustrierend zu bearbeiten.

Hier ist eine einfache Faustregel:

Ein bösartiger Entwickler kann sich hineinhacken auf alles (Daten, Quellcode, Netzwerk), das von dem Produkt verwendet wird, an dem sie arbeiten. Sie werden auch den Laptop hacken, den Sie ihnen gegeben haben. Daher ist der Schutz und die Sicherung Ihrer IP in diesem Kontext keine technische Angelegenheit, sondern eine organisatorische Angelegenheit.

Ich muss sicherstellen, dass ich hochqualifizierte Mitarbeiter anheuere, eine sinnvolle Bezahlung anbiete und die entsprechenden rechtlichen Dokumente unterschrieben habe.

Dies ist Ihre Antwort.

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/110060/discussion-on-answer-by-douwe-how-to-protect-my-code-from-insider-threats-wann).
Ziemlich ähnlich wie bei Spielen mit abscheulichem DRM: Sie verletzen legitime Verbraucher, aber diejenigen, die es nur knacken und kostenlos herunterladen möchten, werden es trotzdem schaffen.
Wenn ein Unternehmen mir keinen lokalen Administratorzugriff auf meine Entwicklungsbox gewährt, stehen die Chancen gut, dass ich nach einem anderen Job suche.Es ist nicht sicher, da das Unternehmen in seltenen Fällen weiß, was es tut, und es einfach ist, einen IT-Mitarbeiter zu finden, der mir in seltenen Fällen hilft, in denen er noch nichts eingerichtet hat, was ich brauche.Aber die meiste Zeit sehe ich nur eingeschränkten lokalen Zugriff in Unternehmen, in denen die IT-Mitarbeiter nicht wissen, was ich brauche, und jedes Mal, wenn ich erhöhte Berechtigungen benötige, muss ich meine Zeit, die Zeit der IT und wahrscheinlich die Zeit von zwei Managern verschwenden, um die Genehmigung zu erhaltenund dann erledigen.Es lohnt sich nicht.
#3
+18
pjc50
2020-06-30 13:10:50 UTC
view on stackexchange narkive permalink

Das Letzte, was ich möchte, ist, was mit Tesla passiert ist, wo jemand den Quellcode auf iCloud abgelegt und damit zu einem Konkurrenten ausgeführt hat.

Und danach Tesla gescheitert und nie wieder gehört? Oder Ventil nach dem Leck der Halbwertszeit?

Oder in Wirklichkeit ist bloßer Quellcode nicht allzu wertvoll. Die Integration in andere Projekte ist im Allgemeinen schwierig. Wenn also nicht jemand das Unternehmen vollständig klonen wird (was sehr offensichtlich ist und durch rechtliche Schritte behoben werden kann), ist es viel weniger hilfreich, eine Kopie Ihrer Quelle zu haben, als Sie denken.

Wichtig für die Sicherung sind Anmeldeinformationen und Kundendaten . Sichern Sie die Live-Server, den Zugriff darauf und alle AWS- oder ähnlichen Konten. Wenn Sie in AWS gehackt werden, ist die Wahrscheinlichkeit, dass das Unternehmen zerstört wird, weitaus höher als bei einem Quellcode-Leck. Selbst wenn Sie die Kosten in AWS versehentlich nicht kontrollieren, können Sie zerstört werden. Durch das Auslaufen von Kundendaten können Sie GDPR-Verbindlichkeiten ausgesetzt werden.

Die Zwei-Faktor-Authentifizierung ist wahrscheinlich eine sinnvolle Grundlage. Dies kann in Active Directory integriert werden, wenn Sie dies erhalten (ich empfehle es nicht unter 10 Mitarbeitern).

Für besonders sensible Systeme mit getrennten Bereichen "Test", "Staging" und "Produktion", in denen Nur Sie (oder freigegebene Mitarbeiter) haben Zugriff auf "Produktion", und nur die Produktion verfügt über die tatsächlichen Kundendaten. Dies ist eine gute Idee.

Um die Wahrheit dieser Antwort wirklich zu würdigen, versuchen Sie zu bewerten, was erforderlich ist, um eine Branche zu gründen, nachdem Sie das IP eines Unternehmens von dessen Bank / Gläubigern / etc. Gekauft haben.Wenn Sie nur den Code haben und nicht die Leute, die ihn verstehen, ist das ein großes Unterfangen.Und wenn Sie eine Gruppe von Leuten einstellen, um etwas offenkundig Illegales zu tun, sind die Chancen, dass Sie sich irgendwann gegen Sie wenden, ... nicht gering.Das Risiko / die Belohnung ist einfach nicht da.
Eigentlich habe ich einige Unternehmen gesehen, bei denen der beste Weg, einen Konkurrenten auszuschalten, darin besteht, sie davon zu überzeugen, Ihren Quellcode zu verwenden.
@cjs Das macht so viel Sinn ... Sie haben vielleicht nicht an angle.js gedacht, als Sie dies geschrieben haben, aber trotzdem: Wenn Sie jemals einen Google Mail-Killer schreiben möchten, denken Sie darüber nach, warum Google vorschlägt, dafür Angular zu verwenden :)
@Douwe Ich habe sicherlich nicht an angle.js gedacht, weil ich sehr versucht habe, nicht darüber nachzudenken.:-)
#4
+17
mentallurg
2020-06-29 06:08:42 UTC
view on stackexchange narkive permalink

Zuerst würde ich Ihnen vorschlagen, den tatsächlichen Wert der Software zu schätzen, die Sie entwickeln werden. Ist es wirklich das wertvollste Gut, das Sie haben werden? Was würde es Sie kosten, wenn jemand den Quellcode erhält?

Denken Sie an Facebook oder Linkedin. Sie waren nicht die ersten auf ihrem Gebiet. Und ihre Software war nicht das wertvollste Kapital (ja, sie entwickelten und später Open Source Bootstrap, React, Kafka, Samza, um nur einige zu nennen).

Nach Abschätzung der Risiken und Kosten für den Fall, dass jemand Holen Sie sich den Code und schätzen Sie, wie viel Geld Sie in die Sicherung investieren können.

Hier sind nur einige Punkte, die Sie berücksichtigen sollten:

  1. Eine Aufgabe wäre es, zu wissen, was genau ist vom Computer ins Internet gesendet. Die meisten Websites verwenden HTTPS. Sie können es nicht entschlüsseln. Eine Möglichkeit könnte darin bestehen, alle Verbindungen zur Verwendung Ihres VPN zu zwingen, die Installation Ihrer CA-Zertifikate zu erzwingen und Man-in-the-Middle zu implementieren. Eine andere Option könnte die Verwendung einer Spionagesoftware auf dem Computer sein.
  2. Eine andere Aufgabe wäre die Klassifizierung der an das Internet gesendeten Daten. Wenn eine Verschlüsselung oder Verschleierung verwendet wird, kann es sehr schwierig sein, dies zu verhindern.
  3. Die technische Implementierung kann sehr kompliziert sein. Ein Entwickler benötigt für seine tägliche Arbeit möglicherweise mehrere Messenger, mehrere Browser und E-Mail. Sie müssten alles steuern.
  4. Selbst wenn Sie solche Tools hätten, ist es dennoch möglich, Bilder des Bildschirms mit dem Inhalt der wichtigsten Klassen, Konfigurationsdateien usw. Zu erstellen.
  5. ol>

    Das Verhindern von Leckagen über eine Internetverbindung kann ziemlich teuer sein und nur wenige Unternehmen können es sich leisten.

    In Anbetracht dessen hilft das Deaktivieren von USB nicht viel. Der Hauptvorteil der Deaktivierung von USB besteht möglicherweise darin, zu verhindern, dass der Laptop über USB mit schädlichem Code infiziert wird.

    Die Verschlüsselung kostet nichts und ist sinnvoll. Wenn der Entwickler loyal ist und Ihren Code nicht verteilt, kann die Verschlüsselung hilfreich sein, wenn der Laptop gestohlen wird oder verloren geht.

Der erste Absatz ist der wichtigste (und derzeit sehe ich nicht den gleichen Gedanken in anderen Antworten).Es ist unwahrscheinlich, dass Ihr Quellcode, der direkt von github heruntergeladen wurde, der Wert Ihres Unternehmens ist.Höchstwahrscheinlich liegt der Wert Ihres Unternehmens darin, Kunden zufrieden zu stellen, indem Sie ihre Bedürfnisse verstehen und erfüllen, einschließlich Handholding und anderer Services, betriebliche SLAs hinsichtlich Verfügbarkeit und Leistung einhalten und ihre Daten sicher verwalten.Höchstwahrscheinlich gibt Ihr Code, der aus einem öffentlichen Github-Repository heruntergeladen wurde, Ihrem Konkurrenten überhaupt nichts dazu.
@davidak Ich stimme in gewissem Sinne zu, außer dass eine gut geschriebene, sichere Codebasis nicht die Mehrheit der betrieblichen SLAs und der Aufrechterhaltung der Datensicherheit ausmacht.Und macht es einfacher, andere Dienste bereitzustellen, Handhaltung anzubieten und / oder mit den Anforderungen eines Unternehmens in Einklang zu sein.Nur weil ein Unternehmen nicht erwarten sollte, dass die Codebasis seinen Kunden einen Mehrwert bietet, bedeutet dies nicht, dass es für einen Wettbewerber nicht wesentlich einfacher wäre, denselben Wert beim Zugriff auf seinen Quellcode anzubieten.
@TCooper Dies setzt voraus, dass der einzige Weg (oder der einfachste Weg mit deutlichem Abstand) für die Wettbewerber von OP, eine gut geschriebene, sichere Codebasis zu erhalten, darin besteht, sie von OP zu stehlen.Dies setzt wiederum voraus, dass die Konkurrenten von OP wissen, wer er ist, und dass seine Codebasis gut genug geschrieben ist, um einen Diebstahl wert zu sein.Ich könnte rausgehen und ein süßes Auto stehlen, wenn ich wollte, aber da ich das Geld habe, scheint es viel einfacher, eines legal zu kaufen.Wenn der Konkurrent wüsste, dass er den Code von OP so dringend haben wollte, konnte er ihn einfach auskaufen.Ich bezweifle irgendwie, dass sein Preis im Unternehmensmaßstab so hoch sein würde.
@Steve-O Wenn es sich um ein einzigartiges SaaS-Startup handelt, könnte es sehr gut sein.Dabei geht es eher um die Sorge eines internen Mitarbeiters, der den Code stiehlt und einen Konkurrenten schafft, nicht um eine externe Einheit.Ich sehe Ihren Standpunkt / die Beziehung Ihrer Autoanalogie auch wirklich nicht.Ich spreche wieder von einem Mitarbeiter, der vom Start-up eingestellt wurde, nicht von einem großen Unternehmen.
Was ist "jdm" in diesem Zusammenhang?Wenn es "jemand" ist, schreiben Sie das einfach.
#5
+12
mjt
2020-06-30 00:10:54 UTC
view on stackexchange narkive permalink

Ich hatte einmal ein Vorstellungsgespräch bei einem Requisitenhandelsunternehmen, das sich Sorgen über Insiderrisiken machte. Die von ihnen verwendeten Abhilfemaßnahmen waren:

  • Alle Arbeiten vor Ort
  • Keine Taschen, Telefone oder Kameras in die Büros erlaubt
  • Keine E-Mail
  • Unternehmensnetzwerk nicht mit dem Internet verbunden
  • Keine Laptops, nur Thin Clients
  • Alle Thin Clients in verschlossenen Schränken, nur Bildschirmtastatur und Maus zugänglich
  • Kein lokaler Administratorzugriff
  • Nur für genehmigte Software geltende Regel strikt durchgesetzt.
  • Metalldetektor und Schutz an jedem Eingang
  • Kein Out-of - Arbeitsstunden erlaubt

Ich habe den Job nicht angenommen, weil ich dachte, ich würde durch all diese Einschränkungen einen großen Produktivitätsverlust erleiden. Aber sie haben es geschafft, einige Leute einzustellen, weil sie außergewöhnlich hohe Löhne angeboten haben.

Diese Abschwächungen sind in Verteidigungsverträgen und anderen hochkarätigen Umgebungen mit hohem Risiko zu erwarten.Für OP die Einstellung seines ersten Mitarbeiters, obwohl es übertrieben sein könnte.
Klingt für mich eher nach einem Gefängnis, nicht einmal das höchste Gehalt würde mich unter solch verrückten Arbeitsbedingungen einstellen, scheiß drauf.
Haben sie jemals die Nachricht erhalten, dass sie einen Verstoß erlitten haben?Nein?Dann, während es sich wie ein Overkill anfühlt, hat es wahrscheinlich das Ziel erreicht.
@Criggie Eigentlich haben sie es getan - oder zumindest ihre Antwort machte die Nachricht.Es war, bevor ich dort interviewt habe, und könnte erklären, warum sie so viele Einschränkungen hatten.Ich muss jedoch vorsichtig mit dem Firmennamen sein, da ich mich nicht an das Ablaufdatum für das Interview mit der NDA erinnern kann.
#6
+10
John Zhau
2020-06-29 12:38:45 UTC
view on stackexchange narkive permalink

Lassen Sie uns dies in drei Abschnitte unterteilen: Digital, Physisch und Mensch

Digital

Ich würde empfehlen, ihnen einen Firmencomputer zu geben, unabhängig davon, ob sie arbeiten oder außerhalb des Standorts. Auf diese Weise können Sie einige ihrer Aktivitäten einschränken und überwachen. Gehen Sie jedoch nicht so weit, einen Keylogger zu installieren. Niemand möchte einen Keylogger auf seinem System haben, selbst wenn es sich um einen Firmen-PC handelt. Sie müssen Anmeldungen mit Kennwörtern verwenden, die für Keylogger nicht gut geeignet sind.

Der größte Teil Ihrer Überwachung sollte auf der Serverseite erfolgen. Überwachen Sie den Datenverkehr vom und zum Server. Aktivitäten sollten protokolliert werden, unabhängig davon, ob sie Mitarbeiter sind oder nicht, wenn versucht wird, mit Ihrem Server zu interagieren. Sie können so weit gehen, dass Sie jede einzelne Anforderung protokollieren (was meiner Meinung nach nicht ungewöhnlich ist) oder nur Dinge protokollieren, die mit wichtigen Teilen Ihres Systems interagieren, z. B. den direkten Zugriff auf die Datenbank.

Üblicher Datenverkehr auf böswillige Aktivitäten hinweisen. Wenn Sie beispielsweise 1 GB ausgehende Daten sehen, möchten Sie möglicherweise überprüfen, ob nur Ihr Mitarbeiter Daten für die Arbeit abruft oder jemand versucht, Ihre Daten zu exportieren. 500 GB Datenfluss von / zu einer einzelnen IP zu sehen, sollte eine sofortige rote Fahne sein.

Alle administrativen Arbeiten sollten von Ihrem internen Netzwerk aus ausgeführt werden. Dies bedeutet, dass sie von innen kommen müssen, um Ihr Admin-Portal überhaupt zu sehen. Wenn Sie möchten, dass sie remote arbeiten, empfehlen wir Ihnen, ein VPN einzurichten, damit Ihre Mitarbeiter remote eine Verbindung zu Ihrem internen Netzwerk herstellen können.

Physisch

Dort sind zwei wichtige Dinge, auf die Sie achten müssen: Zugriff auf das physische Büro und den Arbeitscomputer. Ich werde nur den Firmencomputer besprechen.

Nun, eigentlich können Sie nicht viel tun, wenn sie den physischen Computer in ihren Händen haben. Das Beste, was Sie tun können, wäre wahrscheinlich, den Computer mit Siegeln zu versehen, sodass jeder Versuch, die Computerhardware zu öffnen, für Sie sichtbar ist oder zumindest von einem Forensiker erkannt wird.

Dies ist Gesetz 3 der Sicherheit:

Wenn ein Bösewicht uneingeschränkten physischen Zugriff auf Ihren Computer hat, ist dies nicht mehr Ihr Computer.

Mensch

Dies ist hier der Hauptfaktor. Wie von @Anonymous erwähnt, handelt es sich meistens um ein menschliches Problem.

Stellen Sie zunächst jemanden ein, dem Sie vertrauen können . Wir haben Penetrationstester, die absichtlich versuchen, ständig in Systeme einzudringen. Einer der Hauptgründe, warum sie dies tun dürfen, ist, dass sie wenig Grund haben, Ihrem System schlechte Dinge anzutun. Um uns zu qualifizieren, müssen wir von der Vermietungsfirma gründlich überprüft werden. Vertrauen und Interesse sind die wichtigsten Faktoren, die verhindern, dass Personen mit Zugriff auf Ihr System absichtlich Schaden anrichten.

Beachten Sie, dass ich absichtlich gesagt habe. Insider-Bedrohungen sind nicht immer absichtlich böswillig. Die TSA-Schlüssel wurden nicht durchgesickert, weil jemand Schaden anrichten wollte, sondern wegen Fehlern von internen und Dritten. Ein nicht geschulter Mitarbeiter kann Ihre gesamte Datenbank versehentlich mit einem einzigen Befehl löschen. Nicht geschulte Mitarbeiter sind häufig anfällig für Social-Engineering-Angriffe und können einen Außenstehenden hereinlassen, wenn dies nicht der Fall sein sollte.

Um solche Probleme zu vermeiden, müssen Sie Ihre Mitarbeiter sowohl in der Systemadministration als auch in der Sicherheit schulen. Schulungen helfen bei kleinen Unfällen, aber nur eine gründliche Überprüfung kann verhindern, dass böswillige Akteure Teil Ihres Unternehmens werden.

Gehen Sie jetzt auf Ihre vorgeschlagenen Ideen ein.

Kaufen Sie einen Arbeits-Laptop für sie

Gute Idee

Verschlüsseln Sie die Festplatte (wie bei Bitlocker)

Dies schützt Daten in Ruhe . Tolle Idee, aber nicht viel gegen einen Mitarbeiter mit Zugriff auf den Computer und die Kennwörter.

Deaktivieren Sie alle USB-Anschlüsse

Wir verwenden ständig USB-Anschlüsse . USB-Maus, Tastaturen, Webcams usw. Dies ist für die meisten Menschen auch das wichtigste Mittel, um Daten bequem zu transportieren. Anstatt sie alle zu deaktivieren, verwenden Sie Software, um den Benutzer jedes Mal aufzufordern, wenn ein USB-Gerät angeschlossen ist. Außerdem müssen Sie Ihre Mitarbeiter darin schulen, keine zufälligen USB-Geräte, die sie auf der Straße gefunden haben, an den Arbeitscomputer anzuschließen. Das Beste, was Sie realistisch tun können, ist, ihre USB-Geräte so zu trainieren und auf die Whitelist zu setzen, dass nur registrierte Geräte eine Verbindung zum Computer herstellen können.

Erstellen Sie ein Nicht-Administrator- / eingeschränktes Benutzerkonto ohne Installationsberechtigungen und nur das IDEs (zB Visual Studio) installiert. Ich verwende Windows 10 für die meisten Entwicklungen mit Ausnahme eines Mac für den iOS-Teil der App-Entwicklung.

Auch hier ist die Softwarepräferenz persönlich. Dies liegt ganz bei Ihnen, um die Arbeitsleistung einzuschränken, falls Sie nicht zulassen, dass sie ihre bevorzugten Tools verwenden. Eingeschränkte nicht administrative Konten sind ratsam, obwohl Sie die Installationstools für sie selbst verwalten müssen.

Installieren Sie eine Art Mitarbeiterprotokollierungssoftware.

Das meiste davon sollte auf der Serverseite und nicht auf dem Computer des Mitarbeiters sein. Durch die Protokollierung ihrer lokalen Aktivitäten wird es einfacher, sie zu überwachen und auf böswillige Aktivitäten zu verklagen. Achten Sie jedoch darauf, nicht zu weit zu gehen. Kinder mögen es nicht, wenn ihre Eltern alles sehen, was sie tun, und Ihre Mitarbeiter auch nicht. Die serverseitige Protokollierung sollte sie nicht unangenehm machen, daher ist dies eine hervorragende Möglichkeit zur Überwachung.

Deaktivieren Sie den Zugriff auf Datei-Hosting-Websites.

Dies kann sein Es ist schwierig, dies zu tun, aber ich bin mir nicht sicher, wie Sie dies selbst tun können.

Selbst wenn Sie dies tun können, müssen sie möglicherweise für einige Arbeiten auf ihre persönlichen Laufwerke zugreifen, aber Sie haben die Wahl, restriktiv zu sein .

Erkennen und stoppen Sie irgendwie, wenn ein bestimmter Ordner hochgeladen oder irgendwo kopiert wird?

Überwachen Sie den Datenverkehr zu und von Ihrem Server. Sie haben die Wahl, Ihre Dateien auf einen USB-Stick zu kopieren und an eine andere Stelle hochzuladen. Sie können nur überwachen, um ungewöhnlichen / verdächtigen Datenverkehr von / zu Ihrem Server zu erkennen.

Machen Sie das Git-Repository irgendwie nur von diesem Computer aus zugänglich.

Verwenden Sie a VPN dafür sowie alle Ihre Verwaltungsportale.

Installieren Sie eine Art Remote-Verwaltungssystem? Azure Active Directory oder so?

Ich verwende hauptsächlich Linux, daher bin ich mit Windows nicht vertraut, aber auf Active Directory sollte nur über das interne Netzwerk zugegriffen werden können. Verwenden Sie erneut ein VPN für den Remotezugriff.

_Dies liegt ganz bei Ihnen, um die Arbeitsleistung einzuschränken, wenn Sie ihnen nicht erlauben, ihre bevorzugten Tools zu verwenden. _ Beachten Sie, dass das Erzwingen der Verwendung von Tools, die sie nicht mögen, nicht nur die Produktivität beeinträchtigt und ansonsten kostenlos ist.Es kann sie auch (abhängig vom Entwickler) frustrieren, was paradoxerweise den direkten Effekt haben kann, Mitarbeiter zu ermutigen, Ihre Sicherheitsrichtlinien zu umgehen.
"* Verwenden Sie Software, um den Benutzer jedes Mal aufzufordern, wenn ein USB-Gerät angeschlossen ist. *" Bestätigungsdialoge, in denen die Antwort fast 100% der Zeit gleich ist, schulen Sie den Benutzer einfach, auf "OK" zu klicken, ohne darüber nachzudenken.Sie verschlechtern wahrscheinlich die Sicherheit, weil der Benutzer nicht an Sicherheit denkt, sondern daran, wie ärgerlich das Bestätigungs-Popup ist.Eine Eingabeaufforderung, wenn ein * nicht erkanntes * USB-Gerät angeschlossen ist, ist mit den Optionen Einmal zulassen, Immer zulassen, Nicht zulassen und Immer zulassen nützlicher.
@Schwern Du hast recht.Normalerweise ist es besser, eine Liste der zulässigen Geräte zu haben, als jedes Mal dazu aufzufordern.
#7
+6
cjs
2020-06-30 04:39:34 UTC
view on stackexchange narkive permalink

Ihr Fokus scheint darauf zu liegen, sich vor gegnerischen Insidern zu schützen, dh vor solchen, die bewusst und absichtlich versuchen, Ihre Sicherheit zu verletzen.

Wie andere betont haben, ist es wahrscheinlich unpraktisch, einen erheblichen Schutz vor absichtlichen Angriffen zu haben über technische Mittel. mjts exzellente Antwort enthält eine Reihe typischer Einschränkungen, aber selbst diese können nicht verhindern, dass Menschen Informationen in ihren Köpfen herausnehmen. Und wie andere bereits betont haben, wirken sich diese stark negativ auf die Produktivität aus. Insbesondere das völlige Verbot des Internetzugangs von Entwicklungsmaschinen ist heutzutage wahrscheinlich problematisch. (Sie möchten wahrscheinlich zumindest eine zweite Maschine mit "Luftspalt" bereitstellen, die mit dem Internet verbunden ist, damit Benutzer nach Dokumentationen und Ähnlichem suchen können, obwohl Sie jetzt jemandem ausgesetzt sind, der Code aus dem sicheren System liest und ihn in das unsichere System eingibt .)

Wenn Sie sich jedoch mit internen technischen Sicherheitsmaßnahmen befassen, sollten Sie sich darauf konzentrieren, das Risiko versehentlicher Sicherheitsverletzungen zu verringern . Diese sind weitaus häufiger als absichtliche Angriffe und viel einfacher zu verhindern.

Der wichtigste Teil des Ansatzes, und der, den viele Unternehmen völlig falsch verstehen, besteht darin, es den Unternehmen leicht zu machen Entwickler tun sicher, was sie wollen . Technisch gesehen ist dies oft nicht schwierig und der größte Teil der Arbeit erfolgt in Support und Schulung.

Wichtige Aspekte dieses Ansatzes sind:

  1. Seien Sie bereit, sich zu verkürzen -term Produktivitätseinbußen, um Schulungen und Sicherheitskorrekturen durchzuführen. Wenn Sie beispielsweise die Richtlinie haben, dass die SH-Schlüssel von Entwicklern nur auf dem System verbleiben dürfen, auf dem sie sich anmelden, und der Entwickler Probleme mit ssh-agent hat, stellen Sie sicher, dass Sie sowohl Ihre Wörter als auch Ihre Aktionen dass es eine höhere Priorität hat, sie reibungslos und korrekt mit ssh-agent arbeiten zu lassen als Feature Xdone.

  2. Wenn ein Entwickler sagt, dass er X machen möchte, arbeiten Sie sofort mit ihr zusammen, um herauszufinden, was er erreichen möchte und wie dies sowohl sicher als auch einfach möglich ist. Sie möchten, dass die Entwicklerin froh darüber ist, dass sie eine gute Lösung für dieses Problem gefunden hat, anstatt nach Umgehungsmöglichkeiten zu suchen, weil sie die von Ihnen angebotene Lösung für unbequem hält oder, schlimmer noch, für geringere Produktivität bestraft wird, wenn sie versucht, sicher zu arbeiten.

  3. Stellen Sie sicher, dass Sie Schulungen und sofortige Unterstützung für die Ausführung von Arbeiten innerhalb Ihrer Sicherheitsrichtlinien anbieten können. Wenn ein Entwickler während der Befolgung Ihrer Richtlinien Probleme hat, Datei X mit System Y zu verknüpfen, müssen Sie ihm sofort Ihren einfachen und sicheren Weg zeigen, dies zu tun, anstatt ihn frustriert zu lassen und nach anderen Möglichkeiten zu suchen, dies zu tun. P. >

  4. Befolgen Sie Ihre eigenen Sicherheitsrichtlinien und beheben Sie Probleme, auf die Entwickler hingewiesen haben. Wenn Sie eine Richtlinie haben, nach der Sie niemals sensible Daten über HTTP verschieben sollten, und eine Entwicklerin darauf hinweist, dass sie versucht hat, ein internes System zu verwenden, von dem sie glaubte, dass es HTTPS verwenden sollte, dies jedoch nicht, beheben Sie dies sofort, anstatt ihr zu sagen, dass sie das Problem nur beheben soll. Wenn Sie Letzteres tun, werden sie lernen, dass es richtig ist, Dinge zu ignorieren, die falsch aussehen. Wenn die Unternehmen etwas anderes sagen, werden sie feststellen, dass das Ignorieren von Unternehmensrichtlinien unter bestimmten Umständen das Richtige ist.

  5. ol>

    Kurz gesagt, Sie müssen nicht nur Sicherheit einrichten. bewusste Systeme und Richtlinien, und informieren Sie die Entwickler darüber, aber zeigen Sie , dass dies für Sie wichtig ist, indem Sie a) bereit sind, die Arbeit zu leisten, um die Arbeit sicher zu vereinfachen, und b) ihnen Vorrang vor der Ausführung von Funktionen einräumen Wenn Sie dies gut machen, wird es Sie auf lange Sicht nicht verlangsamen, aber wenn Ihre Aktionen nicht Ihren Worten in diesem Bereich entsprechen, sind Ihre Sicherheitssysteme und -richtlinien Kosten mit geringem Nutzen.

#8
+4
Zsolt Szilagy
2020-06-30 13:49:46 UTC
view on stackexchange narkive permalink

Ok, lass uns das durchspielen: Ich möchte deinen Code stehlen.

Ich schließe Geräte an, nichts funktioniert. Ich mache dann ein paar Zip-Dateien und schicke sie nach Hause. Nein, Sie haben alle Mail-Webclients blockiert? Ok, also gehe ich ftp / ssh / was auch immer. Sie haben diese auch blockiert? Also lade ich sie auf eine Website hoch. Sie haben Tausende von ihnen blockiert? Als Entwickler besitze ich sowieso einige Domains, also lade ich sie einfach auf eine davon hoch. Sie können damit aufhören, dass Sie keine Mitarbeiter einstellen möchten.

Hier ist eine Lösung: Geben Sie ihnen Zugriff auf Eine Basis, die Sie kennen müssen. Lassen Sie nur jeden Entwickler an einem Teil Ihres Projekts arbeiten, und niemand hat den vollständigen Code. Erstellen Sie mehrere Repositorys, und Teile mit hohem Wert und geringen Änderungen werden eingeschränkt. Sie können weiterhin Dokumentation für die API freigeben.

Ich kenne Ihren Arbeitsbereich nicht, aber in den meisten SaaS-Projekten ist das Geheimnis nicht, wie Sie etwas tun - das ist meistens geradeaus. Was Sie schützen möchten, ist Ihr Vorteil gegenüber der Konkurrenz, da diese die bereits geleistete Arbeit leisten müsste. Selbst wenn sie wissen, wie Ihre Inhalte funktionieren (oder wie sie sie sowieso zum Laufen bringen könnten), ist es alles, was Sie brauchen, um sie zu entwickeln, anstatt sie zu kopieren.

"Lassen Sie jeden Entwickler nur an einem Teil Ihres Projekts arbeiten, und niemand hat den vollständigen Code."Hierbei handelt es sich um Sicherheitsstufen des Manhattan-Projekts, für die Ressourcen des Manhattan-Projekts erforderlich sind.OP stellt ihren ersten Mitarbeiter ein. Es ist ein bisschen viel, finden Sie nicht?
"Die, die du aufhalten kannst, willst du nicht einstellen."=> Ich mag das und es ist wahr, ein kompetenter Entwickler würde einen Weg finden.
@Douwe, das davon abhängt, wie das System aufgebaut ist.Viele moderne Systeme sind ohnehin in verschiedene Repositorys aufgeteilt, daher müssen nur die weniger sensiblen Systeme zugewiesen und in einem solchen Fall kein Zugriff auf die anderen Repos gewährt werden.Ich mag diese Idee, da sie dem Entwickler die Freiheit gibt, an den Dingen zu arbeiten, an denen er arbeiten muss, ohne sich um die anderen Teile kümmern zu müssen, für die er nicht verantwortlich ist.Es ist eine Win-Win-Situation in meinem Buch, wenn es richtig gemacht wird.Es erfordert viel weniger Aufwand, als den Computer des Entwicklers herunterzufahren und alle Verwaltungsaufgaben zu erledigen.Skaliert auch besser.
@FrankHopkins Ich bin alles für (Mikro-) Service-Architekturen, aber wenn nur zwei Entwickler in einem Team sind, sehe ich diese Arbeit in der Praxis nicht wirklich.Das Single-Point-of-Failure-Problem, den anderen Entwicklern keinen Zugriff zu gewähren, ist imho schlimmer.Und seien wir ehrlich, in der Praxis ähneln diese kleinen Teams eher einer Ehe als einer großen Firma mit einer komplexen Sicherheitsstrategie.Ihr Hauptvorteil als kleiner Laden ist, dass Ihnen der Aufwand und die Bürokratie fehlen, die die großen Jungen behindern.Startups (sollten) anders arbeiten.
@Douwe Ich habe verschiedene Repositories für verschiedene Stücke, auch für meine privaten Projekte, an denen ich alleine arbeite.Ich sage nicht, dass sie eine Microservice-Architektur benötigen - und sicher, dass sie für einige Projekte nicht passt, aber es ist nicht so schwer, einige wichtige Elemente in eine separate Bibliothek zu verschieben, wenn Sie dies wünschen, und ich sehe keinen großen Administrator oderBequemlichkeitseffekt - außer dass OP keine Codierungshilfe für die Repos erhält, die er beiseite legt.
#9
+2
nbroeking
2020-07-02 08:55:40 UTC
view on stackexchange narkive permalink

Ich bin überrascht, dass ich die Antwort, die die meisten Start-ups verwenden, nicht gesehen habe.

Geben Sie den Mitarbeitern Eigenkapital. Machen Sie sie zu einem Miteigentümer, müssen nicht 50-50 sein, sondern geben Sie ihnen einen Anreiz, um das Geschäft zum Erfolg zu führen. Viele Start-ups tun dies mit Eigenkapital- oder Gewinnbeteiligung usw.

Anstatt zu versuchen, sie einzuschränken. Ich garantiere, wenn Sie Ihrem Mitarbeiter das Versprechen von 10% Gewinn geben (vorausgesetzt, dies ist erheblich) und ihm einen offenen, nicht eingeschränkten Laptop geben, dass er wirklich hart arbeiten wird, um sicherzustellen, dass das Geschäft erfolgreich ist.

Quelle: I. haben bei kleinen Start-ups und großen Technologieunternehmen gearbeitet. Ich kann Ihnen garantieren, dass keiner von ihnen die von Ihnen erwähnten Laptops und diejenigen, die keine hochkarätigen Ingenieurtalente eingestellt haben, eingeschränkt hat.

#10
+1
John Lally
2020-07-02 20:48:09 UTC
view on stackexchange narkive permalink

Hier gibt es zwei Möglichkeiten: Sie stellen jemanden ein, der vertrauenswürdig ist, oder Sie stellen jemanden ein, der nicht vertrauenswürdig ist. Wenn Sie jemanden als vertrauenswürdig ansehen möchten, muss der Job für jemanden vertrauenswürdig attraktiv sein, und die Arbeitsbedingungen des Jobs müssen so sein, dass Sie den vertrauenswürdigen Mitarbeiter behalten.

Wenn Sie jemanden einstellen, der nicht vertrauenswürdig ist, wird er eingestellt Mach was sie wollen, unabhängig davon, welche Schritte du unternimmst. Sie werden immer an den Meistbietenden verkauft.

Wenn Sie die Dinge abschließen, um sicherzustellen, dass jeder, den Sie einstellen, auf Schritt und Tritt frustriert ist, machen Sie es dem vertrauenswürdigen Mitarbeiter schwer, seine Arbeit zu erledigen Gleichzeitig senden Sie die Nachricht, der Sie nicht vertrauen. Der vertrauenswürdige Mitarbeiter ist wahrscheinlich weniger geldorientiert und mehr darauf bedacht, einen qualitativ hochwertigen Job zu erledigen, aber er möchte ein qualitativ hochwertiges Arbeitsumfeld. Mangelndes Vertrauen macht weder ein qualitativ hochwertiges Arbeitsumfeld noch das Codieren auf einem sehr blockierten Computer erforderlich.

Geben Sie die technischen Lösungen auf und konzentrieren Sie sich darauf, die Arbeitsbedingungen und das Arbeitsumfeld für den vertrauenswürdigen Mitarbeiter attraktiv zu machen.

#11
+1
The_Moth
2020-07-08 12:21:58 UTC
view on stackexchange narkive permalink

Eine etwas gemeine Antwort, aber denken Sie so darüber nach. Wenn sie Ihren Code wirklich stehlen wollen, können sie einfach Fotos vom Bildschirm machen. Daher würde ich Ihnen raten, die Bildschirmhelligkeit auf 0% zu sperren, damit sie nicht sehen können, woran sie arbeiten.

... Oder Sie möchten möglicherweise sicherstellen, dass sie keine haben ein Anreiz, von Ihnen zu stehlen, wie sich um Ihre Mitarbeiter zu kümmern und sie wie einen Freund zu behandeln. Früher oder später, wenn Ihr Unternehmen groß genug wird, müssen Sie vielen Menschen vertrauen, wie Finanzen, IT-Abteilung. Gewöhnen Sie sich besser daran, Menschen eher früher als später zu vertrauen.

Wenn jemand mit ausreichendem Wissen Ihren Code erhalten möchte, wird er dies tun. Es gibt fast keine Möglichkeit, das zu stoppen. Was viel wahrscheinlicher ist, ist ein Angriff eines Außenstehenden über Social Engineering oder ein direkter Hack. Insider-Angriffe sind (rechtlich und finanziell) viel zu gefährlich und in den meisten Fällen zeitaufwändig. Wenn Sie gerade erst als Unternehmen anfangen, sollte Ihr Rechtsschutz einen solchen Angriff stoppen. Das ist ein anderer Fall, wenn Sie ein Milliarden-Dollar-Unternehmen sind, aber Sie scheinen noch kein Milliarden-Dollar-Unternehmen zu sein, also wahrscheinlich nicht das, worüber Sie sich am meisten Sorgen machen müssen.

Rechtsschutz ist in Unternehmen, die gerade erst anfangen, weniger wirksam.IP-Lecks schließen das Unternehmen auch bei rechtlichem Schutz.Sicher, Sie könnten klagen, aber Sie werden kein Unternehmen mehr haben, wenn jemand anderes mit Ihrem eigenen Produkt vor Ihnen auf den Markt kommt.Finanzen und IT sind nicht die "Kronjuwelen" eines Unternehmens.Ja, Sie müssen darauf vertrauen, dass sich die Leute um diese Dinge kümmern, aber es ist viel schwieriger, ein Unternehmen in diesen Bereichen vollständig zu versenken.In diesen anderen Bereichen ist der rechtliche Schutz einfacher.IP *** ist *** Ihr Unternehmen.Es ist ein Problem, einem Fremden damit zu vertrauen.
@schroeder Ich stimme nicht ganz zu.In finanzieller Hinsicht ist es durchaus üblich, dass kleinere Unternehmen nur eine, vielleicht zwei Personen ohne Aufsicht haben.Dies lässt den besagten Menschen die Möglichkeit offen, ohne Wissen von irgendjemandem Geld abzusaugen.Aber um zum Rechtsschutz zu gelangen.Wenn op wirklich ein Ein-Mann-SaaS-Unternehmen ist, bezweifle ich, dass es eine Vielzahl von Wettbewerben geben wird, die sein Geschäft infiltrieren und seine Daten stehlen (ich denke kurzfristig).Stellen Sie bei der Einstellung eines neuen Mitarbeiters sicher, dass er kein eigenes SaaS-Unternehmen besitzt oder kürzlich für ein anderes wirklich kleines SaaS-Unternehmen gearbeitet hat.
"Siphon Money" wird das Unternehmen nicht "schließen" und eine solche Situation ist wiederherstellbar.Beides sind Punkte, die ich oben erwähnt habe.
Ihre Antwort lautet "Freunde finden und Menschen vertrauen - Rechtsschutz kümmert sich um den Rest".Für ein kleines Unternehmen, das auf den Markt gehen möchte, ist dieser Rat nicht effektiv und naiv.Außerdem sagen Sie nicht mehr als viele andere Antworten, sondern mit viel besseren ergänzenden Ratschlägen.
@schroeder Ich möchte keinesfalls implizieren, dass op nur einem Fremden vertrauen sollte, op braucht definitiv angemessenen Rechtsschutz und dergleichen, aber ich denke nicht, dass dieses Maß an Paranoia in einem neuen Geschäft überhaupt nützlich ist.Ein neues Geschäft ist ein Risiko und sollte als solches behandelt werden, Sie haben niemals Garantien im Leben.Wenn Sie glauben, dass alle um Sie herum darauf aus sind, Sie zu erreichen, werden Sie nirgendwo hinkommen.
Es gibt einen sehr großen Unterschied zwischen "Paranoia" und "Due Diligence" und den grundlegendsten Schutzmaßnahmen.Ein Gleichgewicht zu finden ist der Schlüssel, aber Sie befürworten in Ihrer Antwort, das Gleichgewicht zu ignorieren und die Dinge in eine extreme Richtung zu schwingen.Sie reagieren auf den Vorschlag des OP, berücksichtigen aber die Realitäten.
Ich stimme vollkommen zu, es besteht sehr viel Bedarf an einigen grundlegenden Schutzmaßnahmen, aber was op vorschlägt, ist weit darüber hinaus.Ich habe versucht, den anderen Ansatz hervorzuheben, der möglich und möglicherweise besser ist.Aber ich gebe voll und ganz zu, dass es sich so anhört, als würde ich mich dafür einsetzen, alle grundlegenden Vorsichtsmaßnahmen zu ignorieren.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...