Welches System ruft block / allow / inspect auf, um einen Programm-Supervisor zu erstellen

8

nach Mit ptrace schreiben Sie einen Programm-Supervisor in den Benutzerbereich , versuche ich die Programmüberwachungskomponente eines Online-Richters zu erstellen.

Welche Systemaufrufe müsste ich vollständig blockieren, erlauben oder überprüfen Sie immer die Attribute von:

  • Verhindern, dass andere Befehle gespalten oder ausgeführt werden
  • Beschränke dich auf standardmäßige "sichere" C- und C ++ - Bibliotheken
  • Netzzugang verhindern
  • Beschränken Sie den Zugriff auf alle außer 2 Dateien 'in.txt' und 'out.txt'
  • Verhindern Sie den Zugriff auf Systemfunktionen oder -details.
  • Verhindern Sie, dass die Anwendung ihren Supervisor verlässt
  • Verhindere etwas Unangenehmes.

Danke für jede Hilfe / Beratung / Links sehr geschätzt.

    
thomasfedb 05.09.2010, 11:21
quelle

3 Antworten

3

Aus Sicherheitsgründen ist der beste Ansatz, herauszufinden, was Sie zulassen müssen und nicht, was Sie ablehnen müssen. Ich würde empfehlen, mit einem Supervisor zu beginnen, der einfach alles protokolliert, was ein bekanntermaßen gutartiger Satz von Programmen tut, und dann diese Syscalls und Dateizugriffe auf die weiße Liste setzt. Wenn neue Programme mit dieser sehr restriktiven Sandbox in Konflikt geraten, können Sie die Locking-Einschränkungen von Fall zu Fall auswerten, bis Sie das richtige Profil gefunden haben.

Im Wesentlichen werden Anwendungssandbox-Profile unter Mac OS X entwickelt.

    
Kaelin Colclasure 21.09.2010, 11:08
quelle
1

Vielleicht können Sie AppArmor konfigurieren, um das zu tun, was Sie möchten. Aus den FAQ:

  

AppArmor ist das effektivste und benutzerfreundlichste Linux-Anwendungssicherheitssystem, das heute auf dem Markt verfügbar ist. AppArmor ist ein Sicherheitsrahmenwerk, das proaktiv das Betriebssystem und die Anwendungen vor externen oder internen Bedrohungen, sogar Zero-Day-Angriffen schützt, indem es ein gutes Programmverhalten durchsetzt und verhindert, dass auch unbekannte Softwarefehler ausgenutzt werden. AppArmor-Sicherheitsprofile definieren vollständig, auf welche Systemressourcen einzelne Programme zugreifen können und mit welchen Berechtigungen. Im Lieferumfang von AppArmor sind eine Reihe von Standardrichtlinien enthalten. Mit einer Kombination aus erweiterten statischen Analysen und lernbasierten Tools können AppArmor-Richtlinien selbst für sehr komplexe Anwendungen innerhalb weniger Stunden erfolgreich bereitgestellt werden.

    
Emil Sit 21.09.2010 19:47
quelle
0

Wenn Sie möchten, dass Systemaufrufe einen anderen Prozess untersuchen, können Sie ptrace () verwenden, aber Sie haben keine Garantien, wie in Verwenden von ptrace, um einen Programm-Supervisor in Benutzerbereich zu schreiben .

Sie können valgrind verwenden, um Funktionsaufrufe und Bibliotheken zu inspizieren und zu haken, aber es wird mühsam und vielleicht ist Blacklisting nicht der richtige Weg, dies zu tun.

Sie können auch systrace ( Ссылка ) verwenden, um Regeln zu schreiben, um verschiedene Dinge zu erlauben / zu blockieren, wie zum Beispiel "Öffnen" nur einige Dateien, etc ... Es ist einfach, es zu verwenden, um einen Prozessus sandboxieren.

    
Gabriel 21.09.2010 11:45
quelle

Tags und Links