Heim  >  Artikel  >  Rückblick auf Pinduoduos technischen Unfall: Was sollten Programmierer lernen?

Rückblick auf Pinduoduos technischen Unfall: Was sollten Programmierer lernen?

青灯夜游
青灯夜游nach vorne
2019-01-22 13:28:034811Durchsuche

Jeder Unfall zwingt das technische Team dazu, zu wachsen. Niemand kann garantieren, dass keine Fehler geschrieben werden und keine Fehler auftreten. Was wir tun müssen, ist, die Ursache des Problems zu finden und die Lücken zu schließen rechtzeitig, um den Verlust zu stoppen.

Rückblick auf Pinduoduos technischen Unfall: Was sollten Programmierer lernen?

Am frühen Morgen des 20. Januar 2019 behaupteten einige Internetnutzer, dass es einen großen Fehler in Pinduoduo gebe und Benutzer den 100-Yuan-Gutschein ohne Schwellenwert erhalten und ausgeben könnten nach Belieben. Alle beeilten sich, die Nachricht zu verbreiten, und standen mitten in der Nacht auf, um Gutscheine einzusammeln. Einige Benutzer erhielten sogar Tausende von Gutscheinen. Intelligente Benutzer gaben die Gutscheine so schnell wie möglich aus, beispielsweise zum Aufladen von China Mobile.

Empfohlene verwandte Artikel: Programmierer verursachten große Fehler in Pinduoduo und wurden mit einer Geldstrafe in zweistelliger Millionenhöhe belegt

Pinduoduo antwortete früh am Morgen: „Eine schwarz-graue Bande kam an einem vorbei.“ Als Reaktion auf dieses Verhalten hat die Plattform die Lücke schnellstmöglich geschlossen und den Ursprung der betreffenden Bestellung ermittelt Wir werden den Fall aktiv mit den zuständigen Abteilungen zusammenarbeiten, um gegen die beteiligten schwarzen und grauen Industriebanden vorzugehen 10 Millionen Yuan.

Nach diesem Vorfall kam es zu einer Explosion im Technologiekreis. Dies könnte auf das Gerücht zurückzuführen sein, dass „ein Fehler dem Unternehmen einen Verlust von 20 Milliarden verursachen könnte“.

Was mich als Programmierer mehr beschäftigt, ist die Frage, woher dieser Fehler kommt. Den Marktgerüchten zufolge können wir folgende grobe Hinweise erhalten. Die Echtheit dieser Hinweise muss noch überprüft werden. Sie stellen möglicherweise nicht die wahren Umstände dieses Vorfalls dar, aber das hindert uns nicht daran, diese Hinweise zu nutzen, um die Aufklärung zu erforschen, die uns dieser Unfall gebracht hat.

● Viele Leute haben Hunderttausende Dollar verdient

● Dieser Coupon ist ein Testcoupon

● Das System startet automatisch Testcoupons

● Der Betrieb und die Wartung haben festgestellt, dass das System explodiert ist und den Schwellenwert überschritten hat.

● Die betroffene Person hat den Testcoupon manuell offline geschaltet war um 8 Uhr wieder online.

Diese Hinweise scheinen die Entstehung und Funktionsweise eines schwerwiegenden Fehlers vernünftig zu erklären. Anhand dieser Hinweise können wir neben den Designproblemen des Coupons selbst auch das Chaos bei Betrieb und Wartung erkennen. Wie können Testgutscheine online gestellt werden? Das System ist außer Kontrolle, warum gibt es keine Folgemaßnahmen zur Risikoprävention? Wie kann ein Testcoupon, der manuell offline war, wieder online gebracht werden? Warum sind Online- und Offline-Coupon-Abläufe so schlampig? Wird ein Softwaresystem auf diesem Niveau betrieben und gewartet, kommt es früher oder später zu Problemen. Wenn es noch kein Problem gibt, kann man nur sagen, dass man großes Glück hat.

Probleme beim Coupon-Design

Die erste Frage, die uns interessierte, war: „Viele Menschen haben Hunderttausende Dollar mit Wolle verdient.“ Das bedeutet, dass eine Person Tausende von Gutscheinen erhalten kann. Viele Leute tun dies, was zeigt, dass die technische Schwelle für den Erhalt von Gutscheinen ohne Schwellenwert äußerst niedrig ist. Allgemeine Gutscheine haben, ähnlich wie Rabattgutscheine, Nutzungsschwellenwerte, z. B. der Kauf von 100 Yuan und der Erhalt eines Rabatts von 20 Yuan. Gutscheine ohne Schwellenwert sind, wie der Name schon sagt, Gutscheine ohne Nutzungsschwelle. Mit einem 100-Yuan-Gutschein können 100 Yuan Waren gekauft werden, was fast dem Bargeld entspricht. Da Gutscheine ohne Schwellenwert dem Bargeld ähneln, unterscheiden sie sich erheblich von gewöhnlichen Gutscheinen.

Ganz zu schweigen von den schwammigen Parteien, Pinduoduo behauptet, 300 Millionen Nutzer zu haben. Wenn jeder Nutzer legal und vernünftigerweise den 100-Yuan-Gutschein ohne Schwellenwert erhalten kann, wären dafür 30 Milliarden Yuan erforderlich. Es gibt fast keine Schwelle für die Kontoregistrierung. Wenn sich die 1 Milliarde Nutzer von WeChat legal und vernünftig registrieren, Gutscheine ohne Schwellenwert erhalten und ihre Mobiltelefone aufladen, werden 100 Milliarden Yuan benötigt.

Stand gestern liegt der Marktwert von Pinduoduo bei nahezu 23 Milliarden US-Dollar, was 160 Milliarden Yuan in RMB entspricht. Der 100-Yuan-Gutschein ohne Schwelle kann nach Belieben eingelöst werden. Dies sieht aus wie eine Geste der Auflösung des Unternehmens und der Gewährung von Prämien an alle. Dies ist sicherlich nicht das, was man von einem Coupon ohne Schwellenwert erwartet.

Die Gutscheine ohne Schwellenwert, die beiläufig erhältlich sind, sind keine qualifizierten kommerziellen Designs, egal wie man sie betrachtet. Legen Sie zumindest eine Obergrenze für die Menge fest. Sobald alle sie haben, ist sie weg. Wenn Sie ein paar Millionen verschenken, wird sie verschenkt. Das Verschenken von zweistelligen Milliardenbeträgen entspricht nicht der normalen Geschäftslogik.

Im Allgemeinen gelten für den Erhalt gewöhnlicher Gutscheine viele zusätzliche Bedingungen. Beispielsweise kann ein Konto es nur einmal erhalten, oder nur neue Konten können es erhalten. Für die Kontoauthentifizierung sind außerdem zahlreiche Sicherheitsmaßnahmen erforderlich, z. B. die Bindung von Mobiltelefonnummern, die Bindung von Geräten und die Verwendung sicherer Verbindungen. Kontoauthentifizierung und -verwaltung sind die grundlegendsten Funktionen einer Service-Website. Wenn eine Person Tausende von Gutscheinen erhalten kann, kann die Grundkompetenz der Kontoführung nicht als bestanden betrachtet werden. Wenn die Kontoverwaltung nicht dem Standard entspricht, ist das Risiko dieser Website größer, als wir es uns vorgestellt haben.

Eine so schlechte Kontoverwaltung und ein so schlechtes Geschäftsdesign sind so unerwartet und widersprechen der normalen Logik. Daher stimme ich zu, dass dies nur ein Testcoupon ist und nicht in einem normalen Betriebssystem erscheinen sollte. Und wenn es sich wirklich um ein Problem mit Testcoupons handelt, ist das Chaos bei der Softwareentwicklung, dem Betrieb und der Wartung offensichtlich.

Chaotische Forschung und Entwicklung sowie Betrieb und Wartung

Ein Testcoupon war automatisch online, nachdem er manuell offline war; Dieser Produkteinführungsprozess ist unglaublich. Die Veröffentlichung einer Funktion muss Design, Implementierung, Überprüfung, Test und Genehmigung durchlaufen, bevor sie in ein formales System implementiert werden kann. Solange einer dieser Links eine Rolle spielt, sind die Testgutscheine nicht online, geschweige denn automatisch.

Nach dem Online-Gehen muss eine kontinuierliche Risikoüberwachung erfolgen. Wenn das System den Schwellenwert überschreitet und explodiert, kann der Betrieb und die Wartung sofort Informationen über die Explosion erhalten, beispielsweise über ungewöhnlich aktive Konten mitten in der Nacht oder über ein beliebtes Coupon-Geschäft, und kann dieses Risiko auch rechtzeitig abschalten.

Es zeigt sich, dass der angemessene Rückhaltemechanismus für Betriebs- und Wartungspersonal ein Thema ist, das gewerbliche Unternehmen mit Vorsicht behandeln müssen. Wie kann ein zufälliger Testcoupon direkt im offiziellen System verwendet werden? Der Betrieb und die Wartung von Software sind ein Zusammenhang, der besondere Aufmerksamkeit für das Risikomanagement und die Risikokontrolle erfordert, insbesondere wenn die Qualität der Software nicht mithalten kann. Unfälle beim Betrieb und bei der Wartung von Software können manchmal sogar eine Branche ruinieren.

Im Jahr 2011 stellte eine Agentur zur Ausstellung digitaler Zertifikate mehrere digitale Zertifikate an Google aus. Google hat bei dieser Organisation noch nie ein digitales Zertifikat beantragt. Mit anderen Worten: Der Inhaber des digitalen Zertifikats ist nicht Google. Dieser Inhaber kann sich als die Website von Google ausgeben und Benutzeranmeldeinformationen, einschließlich Benutzernamen und Passwörter, stehlen. Dies bedeutet, dass entweder ein Problem mit dem technischen Niveau des Unternehmens vorliegt (Hackerangriff) oder ein Problem mit den Betriebs- und Wartungsfähigkeiten des Unternehmens vorliegt (zufällige Ausstellung von Zertifikaten). Dieses Sicherheitsproblem wurde im August 2011 aufgedeckt und fast alle Software-Giganten kündigten sofort an, das digitale Zertifikat dieser Organisation zu blockieren. Im September meldete dieses Institut mit großem Markteinfluss Insolvenz an.

Dies ist jedoch nicht das Ende, der Untergang der Branche für die Ausstellung digitaler Zertifikate hat gerade erst begonnen. Den Menschen scheint plötzlich klar zu werden, dass sich die Informationssicherheit nicht auf Behörden für digitale Zertifikate verlassen kann. Die Sicherheit eines Unternehmens mit einer Marktkapitalisierung von 400 Milliarden US-Dollar kann nicht auf den operativen Fähigkeiten eines Unternehmens mit einer Marktkapitalisierung von 4 Milliarden US-Dollar beruhen. Dadurch entstanden in den folgenden Jahren verschiedene neue Technologien. Wenn diese neuen Technologien weit verbreitet eingesetzt werden, werden sie die gesamte Branche der Ausstellung digitaler Zertifikate vollständig auslöschen. Ein solcher Tag ist nicht mehr weit von uns entfernt. Heutzutage ist das Leben der Ausstellungsagenturen für digitale Zertifikate relativ düster. Einige werden verkauft, andere sind verstreut.

Trampen, das häufig zu Sicherheitsunfällen führt, hat auf lange Sicht ähnliche Eigenschaften. Wenn hingegen bei einem Unfall nur Geld verloren geht, können die Auswirkungen erträglich sein. Hoffentlich geht dabei nur Geld verloren, aber ich bin nicht optimistisch, was diese Erwartung angeht.

Rückblickend auf die Quelle sind Betrieb und Wartung so chaotisch, was im Allgemeinen untrennbar mit der Qualität der Software verbunden ist. Für ein seriöses Softwaresystem, wie man es erstellt, wie man es einsetzt, wie man es betreibt, wie man es autorisiert, wie man mit Krisen umgeht, all diese Fragen müssen entworfen, implementiert und geplant werden. Die betroffene Partei entwarf einen Testcoupon ohne Schwellenwert, der im Betriebssystem ausgeführt und unbegrenzt empfangen werden konnte. Dadurch wurde die schlechte Qualität der dahinter stehenden Software und der lockere und ungeordnete Softwareentwicklungsprozess deutlich. Wir sagen oft, dass exzellente Software aus exzellenten Prozessen entsteht. Ein chaotischer F&E-Prozess erschwert die Herstellung qualitativ hochwertiger Produkte.

Was sollen wir tun?

Ignoranz ist furchtlos. Der Grund, warum Sicherheitsprobleme so besonders sind, liegt darin, dass wir, wenn sie nicht passieren, möglicherweise nie erfahren, dass das Problem existiert, und natürlich werden wir nicht wissen, wie ernst es ist Das Problem ist. Jede Sicherheitskrise sollte nicht verschwendet werden. Mit welchen Methoden können wir, wenn wir die Beteiligten sind, ähnliche Unfälle vermeiden?

Am dringendsten ist es, die Kontosicherheitsschuld so schnell wie möglich zu begleichen. Andernfalls werden nach dieser Ausbreitung viele Blicke auf dieses Stück Fett gelenkt. Die nächste Welle von Hackerangriffen könnte bereits im Anmarsch sein.

Berücksichtigen Sie als Nächstes schnellstmöglich die folgenden Dinge.

Das erste, was zu tun ist, ist die Standardisierung des Forschungs- und Entwicklungsprozesses. Die im Rahmen des erstklassigen Softwareentwicklungsprozesses hergestellten Produkte werden nicht schlechter sein, egal wie schlecht sie sind. In diesem Forschungs- und Entwicklungsprozess können Programmierer nicht alleine agieren. Anforderungen müssen besprochen werden, Designs müssen in der Vorschau angezeigt werden, Funktionen müssen überprüft werden, Codes müssen überprüft werden, Software muss getestet werden und das System muss in den Probebetrieb gebracht werden. Jeder wird Fehler machen, wenn ein paar weitere Augenpaare jeden Schritt beobachten. Außerdem können sich Programmierer durch den Forschungs- und Entwicklungsprozess schnell weiterentwickeln, was die Fehlerwahrscheinlichkeit weiter verringert. Ein gutes System kann Menschen erfolgreich machen; ein schlechtes System kann Menschen zerstören.

Das zweite, was Sie tun müssen, ist, auf die Sicherheit des Codes zu achten. Codesicherheit bezieht sich nicht immer auf das Eindringen von Hackern. Die Verwendung dieses Gutscheins ohne Schwellenwert stellt einen schwerwiegenden Sicherheitsvorfall dar. Auf der Codeebene kann es sein, dass die Kontoverwaltung unsicher ist, die Geschäftslogik nicht überprüft wird, die Betriebs- und Wartungsberechtigungsverwaltung lax ist und ungewöhnliche Risiken nicht rechtzeitig gewarnt werden.

Der dritte Schritt besteht darin, das Geschäftsdesign im Voraus abzuleiten. Selbst wenn es keine Hacker gäbe, sind 100 Milliarden RMB in Gutscheinen ohne Schwellenwert kein Kostenfaktor, den eine kommerzielle Organisation zu zahlen bereit wäre. Das ist ein Fehler auf Kindergartenebene. Wenn die Geschäftslogik nicht zutrifft, bedeutet dies fehlerhafte Softwareanforderungen. Software, die auf fehlerhaften Anforderungen basiert, wird auch fehlerhaft sein.

Der vierte Schritt besteht darin, den Mechanismus für die Produkteinführung zu verbessern. Festlegen von Prüfpunkten und Pipelines für die Produkteinführung. Wenn ein Prüfpunkt fehlschlägt, wird die Pipeline unterbrochen und das Produkt wird nicht gestartet. Zu diesen Kontrollpunkten gehören der Testbetrieb des Produkts, die Funktionsfreigabe, unterstützende Überwachungsmaßnahmen usw.

Der fünfte Schritt besteht darin, die Risikopräventionsfähigkeiten von Betrieb und Wartung zu verbessern. Ein Unternehmen mit 300 Millionen Nutzern, einem Marktwert von 23 Milliarden US-Dollar und einem E-Commerce-Unternehmen ist ein Ziel für Hacker. Insbesondere die Privatsphäre der Benutzer und der Cashflow hängen vom Leben und Tod des Unternehmens ab. Für ein Unternehmen dieser Größe sind hervorragende Fähigkeiten zur Risikoprävention die Grundvoraussetzung und kein Sahnehäubchen. Aktive Risikoerkennung, rechtzeitige Warnung und schnelle Reaktion sind alles Maßnahmen, die Schritt halten müssen.

Wenn das Geschäftsdesign des schwellenfreien Coupons abgeleitet, die Softwarefunktionen besprochen, der Implementierungscode überprüft und die Einführung geprobt wurde, kann der Unfall rechtzeitig gewarnt werden Solange einer der Links eine Rolle spielt, wird dieser Unfall nicht passieren. Es wäre so tragisch!

Ich verstehe den Wettbewerbsdruck und die Motivation eines Unternehmens, unabhängig von allem mit Vollgas voranzukommen und Qualität gegen Geschwindigkeit einzutauschen. Wenn wir jedoch die aktuelle Geschwindigkeit verfolgen, müssen wir auch die Zukunft in drei Fuß Entfernung berücksichtigen. Andernfalls werden die Schulden, die sich hinter diesem Hintern angesammelt haben, wirklich zu einem großen Schwanz, der nicht abgeschüttelt werden kann.

Stellungnahme:
Dieser Artikel ist reproduziert unter:微信公众号 InfoQ. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen