Reverse Engineering bezeichnet eine Methode, mit der ein fertiges Produkt erfolgreich nachkonstruiert werden kann. Unternehmen führen das Reverse Engineering an nicht mehr produzierten Objekten sowie an Konkurrenzprodukten durch.
Erfahren Sie hier, was die Vorteile von legalem Reverse Engineering sind und wann es für Ihr Unternehmen zur Gefahr werden kann.
Was ist Reverse Engineering?
Unter Reverse Engineering (kurz RE) versteht man die vergleichende Produktanalyse beziehungsweise die Nachkonstruktion eines bestehenden, meistens industriell gefertigten Produktes. Durch seine Zerlegung erhält man zentrale Informationen über das Produkt beziehungsweise bekommt die Möglichkeit, auf seine Wertschöpfungsstruktur schließen zu können.
Beim RE werden Funktionsweisen, Fertigungsprinzipien, Verhaltensweisen, Handlungsmuster und Zustände sowie die Konstruktionselemente eines Produktes extrahiert. Hierbei entsteht im Optimalfall ein Plan des fertigen Objektes (als eine Art Blaupause). Zumeist ist das erst einmal eine 1:1-Kopie des Objekts. Reverse Engineers passen es im Regelfall aber an konkrete Unternehmensvorstellungen an und entwickeln es oft auch weiter.
Mögliche Gründe für das Reverse Engineering sind zum Beispiel die Analyse von Wettbewerbsvorteilen oder die Modellierung von Differenzierungsmöglichkeiten. Das Reverse Engineering kann legal, aber auch illegal sein. Die Ziele von RE können daher äußerst unterschiedlicher Natur sein.
Ursprung und Vorgehen beim Reverse Engineering
Beim Reverse Engineering kann man, vom fertigen Produkt oder auch der Hardware ausgehend, die Ausgangs-Konstruktion herausarbeiten und Software in ihren Quellcode zerlegen.
Gelegentlich lassen sich zwischen dem Originalprodukt und der Nachbildung größere funktionale Unterschiede feststellen. Ist dies der Fall, kann man hinterfragen, inwiefern Qualitätsminderungen gegeben sind. Relevant ist hierbei, ob durch den Mehraufwand von Änderungen eine angemessene Verbesserung erzielt werden kann. Beim Reverse Engineering können Sie Fehlerquellen aufdecken, Qualitätsprüfungen durchführen, Produktionsschritte nachvollziehen oder existierende Produkte weiterentwickeln. Daher spielt es besonders beim Qualitäts- und Konfigurationsmanagement eine zentrale Rolle.
Beim Reverse Engineering von Produkten der Konkurrenz geht es darum, Erkenntnisse zu gewinnen und die neugewonnenen Informationen für weitere Zwecke zu nutzen. Die Methode stammt ursprünglich aus dem Fachbereich Maschinenbau. Ursprünglich vermaß man damit Objekte und erstellte daraus CAD-Modelle. Wie es bei fast allen Entwicklungen der Fall ist, kann man auch RE im Positiven oder Negativen nutzen.
Reverse Thinking
Reverse Thinking ist die zentrale Grundvoraussetzung für Reverse Engineering. Unternehmen aus nahezu allen produzierenden Branchen setzen bei ihrer Produktentwicklung auf Wettbewerbsbeobachtungen. Die Entwicklung eines Produktes geht dabei nicht von der Idee aus, sondern von einer Vision, die an ein Ursprungsmodell beziehungsweise dessen Konstruktionsplan anknüpft. Arbeitsschritte, also Design, Entwicklung und Fertigung, werden dabei stets miteinbezogen.
Erweist sich die Designidee als unpraktikabel, ist es ohne Weiteres möglich, sie zu ändern. Wettbewerbsbeobachter stellen sich mit dem Reverse Thinking zumeist die Frage, auf welchem Stand sich die Technologie zu einem bestimmten Produkt befindet und inwiefern sie noch weiterzuentwickeln ist. Reverse Thinking ist eine Grundvoraussetzung für die Produktforschung und -entwicklung, mit ihr können verschiedene Unternehmen gemeinsame Technologien und Strategien entwickeln.
Open-Source-Denken
Sieht man fremde Produkte als Konkurrenzobjekte und eigene Entwicklungen als Wettbewerbsprodukte an, so ist die kreative Ideenfindung meistens stark eingeschränkt. Auch ist Leistungsdenken in diesem Sinne oft nicht unbedingt effizient, weil Fremdprodukte den eigenen gegenüber nahezu immer auch – zum Teil erhebliche – Vorteile haben können. Durch die legale Kombination der Vorteile von einzelnen Bauteilen oder Bestandteilen verschiedener Produkte kann eine neue Lösung entstehen, die entsprechende Vorteile vereint und Schwachstellen beziehungsweise bestehende Probleme behebt.
RE findet daher gerade im Open-Source-Bereich großen Anklang. Sogar Ghidra, das ursprünglich geheime Reverse-Engineering-Programm der NSA, steht mittlerweile zum freien Download und zur Weiterverarbeitung bereit.
Reverse Engineering von Hardware und Baugruppen
Besonders beliebt sind die Analyse und der Nachbau von Hardware. Beim RE werden alle Bestandteile von Hardware-Lösungen auseinandergebaut und im Einzelnen genau untersucht. Zum einen kann Hardware-Reverse-Engineering das Ziel haben, veraltete oder unbekannte elektronische Systeme auf dem aktuellen Stand der Technik wieder produzierbar zu machen, zum anderen kann mithilfe von Reverse Engineering ein Konfigurierungs-Audit durchgeführt werden.
Eine Sonderform von Hardware-Reverse-Engineering ist die Analyse und Nachproduktion von Baugruppen und entsprechender Peripherie. Beim RE werden ihre Strukturen, Komponenten, Zustände und Verhaltensweisen extrahiert, alle verfügbaren Unterlagen gesammelt und ausgewertet. Die einzelnen Bauelemente beziehungsweise Bausteine werden für sich separat sowie gemeinsam untersucht. Bei der Analyse von ganzen Baugruppen bietet es sich gegebenenfalls an, Original-Stücklisten zu erstellen. Bei nicht vorhandenen Design Files bietet sich ein Re-Design an.
Reverse Engineering von Software
Im Bereich der Softwareentwicklung gibt es einen großen Konkurrenzkampf. Um sich mit eigener Software von den Fremdprodukten abzusetzen, bietet es sich für Unternehmen an, marktführende Softwarelösungen gründlich unter die Lupe zu nehmen. Besonders ausgeklügelte Lösungsansätze, Performance-Optimierungen und leistungsstarke Funktionalitäten werden mithilfe von Software-Reverse-Engineering (SRE) ermittelt.
Hierbei steht normalerweise die Dekompilierung mithilfe eines Decompilers im Vordergrund. Dabei werden Maschinencodes in eine für Menschen lesbare Sprache übersetzt. Ist das automatisierte Übersetzen nicht möglich, kann der ermittelbare Binärcode des Programms auch direkt mit einem Disassembler (gegebenenfalls als Teil eines Debuggers) manuell analysiert werden. Meistens ist es nicht möglich, den gesamten Quellcode zu ermitteln.
Unternehmen nutzen die Dekompilierung im Sinne des SRE vor allem, um einen Fehler im Programmquellcode des Softwaresystems ausfindig zu machen oder eine Verhaltensanalyse durchzuführen. Das SRE wird aber auch von Cyberkriminellen genutzt, um kostenpflichtige Software leicht modifiziert auf den Markt zu bringen oder in Schadsoftware umzuwandeln.
Ziele von Reverse Engineering
Mithilfe von RE können eigene oder fremde Produkte abgeändert oder weiterentwickelt werden. Sie fügen mit dem RE Schnittstellen hinzu und vollziehen an der Entwicklung von neuen Produkten erhebliche Einsparmaßnahmen. Sie können mithilfe von RE Informationen zu Eigen- oder eingekauften oder nicht mehr produzierten Fremdprodukten beschaffen. Hierzu gehören zum Beispiel die Herstellungskosten. Damit erhalten Sie nicht mehr verfügbare Informationen zu bestimmten Produkten und leiten zusätzliche „Software-Artefakte“ ab.
Wenn bei einem Produkt Fehler auftreten sollten, es den Hersteller aber nicht mehr gibt, ist das RE zudem für eine nachträgliche Abänderung beziehungsweise Fehlerbehebung notwendig. Ähnlich verhält es sich, wenn Sie ein Produkt von einem nicht mehr existierenden Hersteller modifizieren oder anpassen möchten.
Sie können vor allem bei der Analyse von Software die Kompatibilität mit bestimmten Systemen herausfinden beziehungsweise bösartigen Programmcode ausfindig machen. Zudem kann mithilfe von RE herausgefunden werden, ob ein Fremdunternehmen ein patentiertes Verfahren gesetzeswidrig kopiert und somit eine Patentverletzung begangen hat.
Re-Engineering
Das Hauptziel von Reverse Engineering ist die Konzipierung eines eigenen, meistens kostengünstigeren und leistungsstärkeren Produktes; das sogenannte Re-Engineering. Oft ist das Reverse Engineering sogar nur der erste Arbeitsschritt von Re-Engineering. Von den erschlossenen Informationen zum neuen Produkt gehen – durch die Analyse aller einzelnen Komponenten – sämtliche zur Produktion verwendeten Verfahren und Rohstoffe sowie Kapazitäten der eingesetzten Maschinen aus. Dieses Teilverfahren nennt man Forward Engineering. Re-Engineering bezeichnet radikales Redesign von Unternehmensprozessen und bezeichnet Änderungen an einer Software.
Sollten Sie beim Re-Engineering oder bei der konkreten Umsetzung vom Reverse Engineering fachkundige Hilfe benötigen, wenden Sie sich an einen IT-Dienstleister aus Ihrer Region. Unsere Partner stehen Ihnen mit einem umfassenden Schnittstellenmanagement bei und helfen Ihnen, bestehende Produkte an die umfangreichen Bedürfnisse Ihres Unternehmens anzupassen.
Schreiben Sie einen Kommentar
* = Pflichtfelder
Bitte beachten Sie unsere Datenschutzerklärung