So erstellen Sie sichere Software für Mobilgeräte und Desktops

Veröffentlicht: 2019-03-06

In der modernen Welt ziehen Sicherheitsbedenken mehr Aufmerksamkeit denn je auf sich. Verschiedene Hacker und Betrüger begannen mit dem Aufkommen von Kryptowährungen, die Hunderte und Tausende von Dollar pro Münze wert sind, zu florieren. Sensible Daten von Prominenten, Bankdaten, Informationen über Geldtransfers oder neue Technologien – Online-Schurken profitieren von allem, weil Menschen wichtige Schutzmaßnahmen gerne ignorieren.

Allerdings stinkt ein Fisch vom Kopf abwärts. Ohne geeignete Sicherheitsfunktionen, die von Softwareentwicklern entwickelt wurden, ist es unmöglich, Ihre Daten auf der Clientseite zu schützen. In Anbetracht der Tatsache, dass mobile Geräte aufgrund ständig wachsender Funktionalitäten immer beliebter werden, während Desktop-/Webplattformen nach wie vor erstklassig bewertet werden, möchten wir herausfinden, wie Autoren ihre Produkte kompatibel und sicher machen können. Tipps für Anwender finden Sie im letzten Abschnitt.

Sicherheit auf den Punkt gebracht

Lassen Sie uns zunächst zwischen Anwendungssicherheit und Sicherheitssoftware unterscheiden. Diese Begriffe mögen synonym aussehen, beziehen sich jedoch auf verschiedene Aspekte, wobei die erste Definition für die Gesamtsicherheit des freigegebenen Produkts steht und die zweite sowohl die Phasen nach der Bereitstellung als auch vor der Bereitstellung abdeckt.

Grundsätzlich sind Softwareanwendungen einfache Tools, die Benutzern helfen, mit Daten zu interagieren, entweder über mobile Gadgets oder Desktop-Plattformen. Wenn Sie beispielsweise eine Krankenakte überprüfen oder Informationen über Ihre letzten Transaktionen erhalten möchten, ist es viel bequemer, ein Smartphone oder die Website eines Krankenhauses / einer Bank zu verwenden, anstatt diese Orte anzurufen oder zu besuchen.

Das Problem ist, dass Software die Datentypen nicht erkennt, die nach ihrer Sensibilität klassifiziert sind. Ohne manuell programmierte Kategorien und Zugänge können Apps Ihren Namen nicht von den CVV/CVC-Nummern Ihrer Kreditkarte unterscheiden. Daher ist es wichtig, bereits in den ersten Entwicklungsphasen mit dem Aufbau eines geeigneten Sicherheitssystems zu beginnen. Hier sind einige Tipps zu diesem Vorgang:

  • Führen Sie eine sichere Codierung durch.
  • Daten klassifizieren und Autorisierungsanforderungen festlegen.
  • Finden Sie Fehler und beseitigen Sie sie.
  • Bewerten Sie die Sicherheit in jeder Entwicklungsphase.
  • Überprüfen Sie die Zuverlässigkeit von Inhalten von Drittanbietern.
  • Informieren Sie Entwickler über Betrugstechniken.
  • 2FA von Mitarbeitern verlangen.
  • Aktualisieren Sie die Software regelmäßig nach ihrer Veröffentlichung.

Bekannte Sicherheitsprobleme

Es ist kaum möglich, eine solide geschützte App zu erstellen, ohne zu verstehen, wie anfällig Mobil- und Desktop-Plattformen für Hacker sind. Einfach gesagt, es gibt ein paar traditionelle Ansätze, um in Geräte mit unterschiedlicher Architektur einzudringen, also schlagen wir vor, sie jetzt zu überprüfen. Diese Punkte sollten während der Entwurfsphase hilfreich sein, wenn Sie die besten Sicherheitsmaßnahmen für mobile und Desktop-Produkte planen.

Smartphones und Tablets

On-the-go-Lifestyle-Features Mobilgeräte obligatorisch. Viele Menschen übertragen daher heute ihre Kerndaten von Computern auf Smartphones oder synchronisieren zumindest Informationen zwischen zwei Plattformen. Dadurch erhalten wir einen weiteren Punkt, an dem Betrüger Zugriff auf wertvolle Daten erhalten können. Technisch gesehen gibt es drei anfällige Aspekte:

  • Hardware des Geräts.
  • Software selbst.
  • Öffentliche Netzwerke.

Zum Beispiel können Diebe Ihr Telefon in einer Menschenmenge leicht stehlen, es rooten und Zugriff auf alles im System erhalten. Hardware kann auch manipuliert werden, wenn Sie Geräte von inoffiziellen Händlern kaufen. Abgesehen von dieser Schwachstelle sind Hacker dafür bekannt, über ungeschützte öffentliche Wi-Fi-Netzwerke in Smartphones und Tablets einzudringen. Schließlich ist es nichts wert, Malware über ein gewöhnliches Spiel oder eine Medienanwendung zu installieren, wenn sie aus dem inoffiziellen Store heruntergeladen wurde.

Web und Desktop

Sowohl Browser als auch heruntergeladene Software funktionieren normalerweise ähnlich, wenn sie eine Internetverbindung benötigen. Hier fungiert die Anwendung als Clientseite, die Anforderungen sendet und Ergebnisse erhält, während sich die Hauptdatenbank (und Schnittstellen, wenn Sie einen Browser zum Navigieren durch Websites verwenden) auf dem verbundenen Server befindet. Daher lassen sich Sicherheitsherausforderungen in drei Teile aufteilen:

  • Clientseitig.
  • Serverseitig.
  • Datenaustauschprozess.

Das gefährlichste Problem betrifft veraltete Software, da Online-Schurken leicht in alte Schnittstellen eindringen können, die nicht mehr durch aktualisierte Systeme geschützt sind. Auch Seiten-Caching, schlechte Verschlüsselungsdienste und Adressen/sensible Informationen, die durch Cookies offengelegt werden, sind potenzielle Schwachstellen, die von Hackern ausgenutzt werden können.

Sichere Software entwickeln

Nun stellt sich die Frage: Wie schafft man ein zuverlässiges System für beide Plattformen, wenn sie so unterschiedliche Schwächen aufweisen? Generell gibt es drei Ansätze. Sie können das am besten geeignete auswählen, aber achten Sie darauf, die Vor- und Nachteile jedes Beispiels zu berücksichtigen.

Mobil UND Desktop

In diesem Fall sollten Entwickler zwei Produkte (für mobile Plattformen und für Browser/Desktops) getrennt voneinander erstellen. Apps sind nicht miteinander verbunden oder synchronisiert, seien Sie also auf hohe finanzielle und zeitliche Ausgaben gefasst, da Ihr Team doppelt so viele Ressourcen investieren muss. Als Ergebnis werden zwei separate Apps veröffentlicht, jede mit eigenem Schutz, der speziell für Zielplattformen entwickelt wurde.

Mobil MIT Desktop

Diese Option sorgt für den Start einer hochgradig anpassungsfähigen Website, sodass alle Elemente für Web- und Mobilbenutzer richtig angezeigt werden. Als Ergebnis erhalten Sie eine einzige Plattform mit nur einer Schwachstelle basierend auf den oben beschriebenen Web-Schwachstellen. Nichtsdestotrotz wird das Endprodukt weniger funktional sein als native mobile Plattformen, Inhalte werden langsamer geladen und die Gesamtfunktionen werden eingeschränkt sein.

Mobile PLUS Desktop

Anstatt separate Projekte zu erstellen oder eine Website mit mobiler Kompatibilität zu entwerfen, gibt es die effizienteste und sicherste Option. Verschiedene Teams, darunter Entwickler von Diceus.com, verwenden diesen Ansatz. Es ist erforderlich, eine einzige Back-End-Plattform zu erstellen, aber zwei verschiedene Front-End-Systeme darüber zu installieren.

Basissoftware kann beispielsweise mit der RESTful-API realisiert werden, die eine skalierbare Architektur sowohl für Mobilgeräte als auch für Desktops unterstützt. Darüber hinaus ist React.js eine gute Wahl für Web-Frontends, während Xamarin- oder Cordova-Frameworks den Anforderungen von plattformübergreifenden Entwicklern für Mobilgeräte entsprechen.

Was die Sicherheitsmaßnahmen betrifft, so gibt es einige bewährte Methoden für den Mobile-Desktop-Ansatz:

  • Liefern Sie erstklassige Verschlüsselung. Für Webversionen ist eine aktuelle Verschlüsselungstechnologie erforderlich, die Hacks verhindert.
  • Erkennungen einschließen. Sie können Malware jederzeit erkennen, wenn Front-End-Systeme eine starke Verbindung mit der Back-End-Plattform haben.
  • Selbstschutz einbeziehen. Anwendungen können Laufzeitfunktionen wie das Verlassen inaktiver Sitzungen oder Fehlerbenachrichtigungen nutzen.
  • Software regelmäßig testen. Verwenden Sie SAST für Codetests, DAST für Apps und Infrastrukturen und IAST für Datenprüfungen.
  • Aktualisieren und unterstützen Sie Produkte. Wenn Schurken neue Angriffe erfinden, ist es besser, schnell mit neuen Verteidigungsmaßnahmen zu reagieren.

Das beschriebene Entwicklungsmodell ist in Bezug auf Ressourcen, Funktionen und Sicherheit am ausgewogensten. Sie müssen drei Punkte (ein Backend und zwei Frontends) anstelle von vier Elementen separater Produkte erstellen und schützen, erhalten aber nahezu die gleiche Funktionalität.

Benutzergesteuerter Schutz

Vergessen Sie am Ende des Tages nicht die clientseitige Sicherheit. Entwickler können das bestmögliche System erstellen, aber die Nachlässigkeit der Benutzer ruiniert alles. Denken Sie bei der Verwendung bestimmter Software unabhängig von ihrem Typ an die Internethygiene: Vertrauen Sie verdächtigen E-Mails nicht, überprüfen Sie die Verschlüsselungszertifikate von Websites doppelt, verwenden Sie Antivirenprogramme usw. Aktivieren Sie immer 2FA, um zusätzliche Bestätigungscodes per SMS oder Authentifizierungs-Apps zu erhalten. Nutzen Sie biometrische Identifikationstools wie Fingerabdrücke oder Gesichtserkennung für Smartphones und Tablets.

Insgesamt ist es nicht schwierig, Daten zu schützen, wenn sowohl Entwickler als auch Benutzer wissen, wie es geht. Hacker würden ihren Job verlieren, wenn wir uns alle streng an die Sicherheitsregeln halten würden.

Haben Sie irgendwelche Gedanken dazu? Lassen Sie es uns unten in den Kommentaren wissen oder übertragen Sie die Diskussion auf unseren Twitter oder Facebook.

Empfehlungen der Redaktion:

  • Interview mit Stu Grubbs, CEO des Streaming-Softwareunternehmens Lightstream
  • 10 Softwareentwickler, denen Sie 2019 folgen sollten
  • 5 der beliebtesten Gaming-Softwareanbieter
  • Hier sind die größten und erfolgreichsten Anbieter von iGaming-Software
  • Kann Ihre Antivirensoftware Ihre Internetgeschwindigkeit verlangsamen?